Optimizacija kolonijom pčela

(Bee colony optimizaton, BCO)

Prvi korak BCO metode sastoji se od inicijalizacije kolonije veštačkih pčela u kojoj svaka pčela predstavlja jedno dopustivo rešenje. Nakon inicijalizacije, u glavnoj petlji BCO metode, naizmenično se smenjuju dva osnovna koraka, let unapred i let unazad, kojima se omogućava interakcija čitavog roja. Osnovna varijanta BCO metode je konstruktivnog tipa, tj. podrazumeva da se početno rešenje iterativno izgrađuje u letu unapred. Neka je $B$ broj veštačkih pčela i neka je $NC$ broj međusobnih interakcija svake pčele sa ostatkom roja. Na svakom koraku $u$ $(u = 1,...,NC)$, svaka pčela $b$ $(b = 1,...,B)$ u letu unapred razmatra moguće poteze i pravilom ruletske selekcije odabira sledeći potez. Pritom je verovatnoća odabira onih poteza koji vode do boljih rešenja veća. U letu unazad ocenjuje se kvalitet dobijenog rešenja i donosi se odluka da li pčela ostaje lojalna svom rešenju i time dobija ulogu regrutera ili odbacuje rešenje i postaje neopredeljena. Verovatnoća sa kojom pčela $b$ ostaje lojalna svom rešenju, nakon $u$ koraka, najčešće se računa po formuli:

$$ p_b^{u+1}=e^{-\frac{O_{max}-O_b}{u}} $$

$O_b$ - normalizovana vrednost funkcije cilja rešenja koje je određenom pčelom $b$,

$O_{max}$ - maksimalna normalizovana vrednost funkcije cilja svih rešenja.

Ukoliko se rešava problem tipa minimizacijie, normalizovana vrednost funkcije cilja dobija se formulom:

$$ O_b=\frac{C_{max}- C_b}{C_{max}-C_{min}}, b=1,...,B. $$

Za problem maksimizacije, koristimo formulu:

$$ O_b=\frac{C_{b}- C_{min}}{C_{max}-C_{min}}, b=1,...,B. $$

$C_b$ - vrednost funkcije cilja rešenja koje je određeno pčelom $b$,

$C_{min}/C_{max}$ - minimalna i maksimalna vrednost funkcije cilja u čitavom roju.

Dakle, bolja rešenja će imati veću normalizovanu vrednost funkcije cilja, a samim tim je veća i verovatnoća da će pčela ostati lojalna tom rešenju. Takođe, kako napreduje proces pretrage, verovatnoća odbacivanja rešenja postaje sve menja. Pčele koje su ostale lojalne svom rešenju postaju regruteri. Neka je $R$ pčela dobilo status regrutera, verovatnoća da neopredeljena pčela izabere rešenje $b$ određena je pravilom ruletske selekcije.

$$ p_b=\frac{O_b}{\sum_{k=1}^{R}O_k}, $$

tj. kvalitetnija rešenja imaju veću verovatnoću da budu izabrana.

Nakon napravljenih $NC$ letova unapred i unazad, vrši se ažuriranje najboljeg rešenja i opisani koraci se ponavljaju sve dok se ne ispuni odredeni kriterijum zaustavljanja. Često je u upotrebi i varijanta BCO metode koja u procesu inicijalizacije generiše kompletna rešenja (engl. Improving Bee Colony Optimization, BCOi) koja se u letu unapred poboljšavaju sa ciljem dostizanja optimalnog rešenja.

Pseudokod: