王 慧
(河北工程技術(shù)高等專科學(xué)校,河北省滄州市浮陽南大道6號 061001)
人工蜂群算法(artificial bee col ony al gorit h m,ABC)是最近提出的一種用于連續(xù)數(shù)值優(yōu)化問題的新型群集智能方法,該算法結(jié)構(gòu)簡單易于實現(xiàn),其中的差分搜索算子具有自適應(yīng)收斂性質(zhì)。
蜜蜂采蜜群集智能模型包含三個主要部分:蜜源,采蜜蜂和未采蜜蜂[1]。蜜蜂是通過舞蹈語言與種群內(nèi)的同伙進(jìn)行聯(lián)絡(luò)的,并將食物的來源、性質(zhì)、方位(方向)和距離等通知伙伴。蜜蜂關(guān)于食物源信息的交流發(fā)生在舞蹈區(qū),相應(yīng)的舞蹈稱為擺尾舞[2]。觀察蜂可以通過觀察采蜜蜂的舞蹈來了解關(guān)于食物源的信息,并選擇一個蜜源進(jìn)行采蜜活動。由于更好的蜜源有更多的信息傳遞,所以觀察蜂將會以更大的概率選擇更好的蜜源。采蜜蜂按照與蜜源收益率成正比的概率,通過擺尾舞共享它們的信息,并且它們的舞蹈會持續(xù)一段時間。因此,采蜜蜂征募觀察蜂的個數(shù)和食物源的收益率成正比。
在ABC算法中人工蜂群包含三個組成部分:采蜜蜂、觀察蜂和偵察蜂。群體的一半由采蜜蜂構(gòu)成,另一半由觀察蜂構(gòu)成。每一處蜜源僅有一個采蜜蜂,也就是說蜜源數(shù)和采蜜蜂數(shù)目相等,放棄所采蜜源的采蜜蜂成為偵察蜂。人工蜂的搜索活動可以概括如下:采蜜蜂根據(jù)它們記憶中的蜜源位置在其鄰域內(nèi)確定另一個蜜源;采蜜蜂在蜂巢內(nèi)將它們的信息通過舞蹈共享給觀察蜂,觀察蜂選擇一個蜜源;觀察蜂根據(jù)所選擇的蜜源在其鄰域內(nèi)搜索另一個蜜源;放棄所采蜜源的采蜜蜂將成為偵察蜂并搜索一個新的隨機蜜源。
在ABC算法中,每個蜜源的位置代表優(yōu)化問題的一個可能解,蜜源的花蜜量對應(yīng)于相應(yīng)解的質(zhì)量或適應(yīng)度。首先,ABC隨機產(chǎn)生初始群體即ne個初始解,ne為采蜜蜂數(shù),也等于蜜源數(shù)目,每個解xi(i=1,2,…,ne)是一個d維的向量,d為優(yōu)化參數(shù)的個數(shù)。以這些初始解為基礎(chǔ),采蜜蜂、觀察蜂和偵察蜂開始進(jìn)行循環(huán)搜索。采蜜蜂根據(jù)它記憶中的局部信息產(chǎn)生一個變化的位置并評價新位置的花蜜量,如果新位置優(yōu)于原位置,則該蜜蜂記住新位置并忘記原位置。所有的采蜜蜂完成搜索過程后,它們將所知道的蜜源信息通過舞蹈區(qū)與觀察蜂共享。觀察蜂根據(jù)從采蜜蜂處得到的信息,按照與花蜜量相關(guān)的概率選擇一個蜜源位置,并像采蜜蜂那樣對記憶中的位置做一定的改變,并評價新候選位置的花蜜量,若新位置優(yōu)于記憶中的位置,則用新位置替換原來的蜜源位置;否則保留原位置。換句話說,貪婪選擇機制被用于選擇原位置和新的候選位置。
為了使算法適用于最小化問題,采用基于排序的適應(yīng)度分配[3]。排序方法引入種群均勻尺度,提供了控制選擇壓力的簡單有效的方法。一個觀察蜂選擇某個蜜源的概率為
式中:pos為個體在種群中的序位;sp為選擇壓力;fitpos為基于排序的適應(yīng)度。為了根據(jù)記憶位置產(chǎn)生一個新位置,ABC采用下式
式中:k∈{1,2,…,ne}、j∈{1,2,…,d}是隨機選擇的下標(biāo),且滿足k≠i;?為參數(shù),稱為搜索因子,是在[-1,1]范圍內(nèi)的隨機數(shù),它控制了xij鄰域內(nèi)新解的產(chǎn)生并代表蜜蜂對兩個可視范圍內(nèi)蜜源位置的比較。從式(3)可以看出,隨著參數(shù)xij與參數(shù)xkj之間差距的縮小,對位置xij的擾動也越來越小,因此隨著對最優(yōu)解的逼近,步長會自適應(yīng)的縮減,使得算法具有自適應(yīng)收斂特性。
假如蜜源xi經(jīng)過限定的探測次數(shù)lc之后,不能夠被改進(jìn),那么該位置將被放棄,該位置的采蜜蜂成為偵察蜂,偵察蜂在搜索空間內(nèi)隨機選擇一個蜜源位置替換xi,其操作如下
ABC算法流程如圖1所示。
采用如下4個基準(zhǔn)測試函數(shù)對算法進(jìn)行優(yōu)化測試:
式中:d為變量維數(shù),取d=30;函數(shù)f1(x)是單峰函數(shù);函數(shù)f2(x)是很難極小化的病態(tài)函數(shù);函數(shù)f3(x),f4(x)都是具有大量局部最優(yōu)點的多峰函數(shù)。4個基準(zhǔn)測試函數(shù)的全局極小值均為min fi(x)=0,(i=1,2,3,4)。
為驗證ABC算法的優(yōu)化性能,將其與常用的幾種全局優(yōu)化算法RCGA,PSO,DE進(jìn)行了比較。算法的參數(shù)設(shè)置如下:公共參數(shù)為群體規(guī)模N=50,迭代次數(shù)tmax=2000,基于排序的適應(yīng)度變換中選擇壓力sp=1.5;RCGA中采用算術(shù)交叉、非一致變異算子[4]、基于排序的適應(yīng)度變換以及精英保留策略,交叉概率pc=0.8,變異概率pm=0.02,非一致變異算子控制參數(shù)b=5;PSO算法中采用帶有慣性權(quán)重的PSO算法,慣性權(quán)系數(shù)w從0.9線性遞減到0.4,加速常數(shù)c1=c2=2.0,粒子最大速度限定為搜索空間的一半[5];DE算法中采用標(biāo)準(zhǔn)DE算法[6],即DE/rand/1/bin,變異因子F=0.5,交叉因子Cr=0.9[7];ABC算法中采蜜蜂和觀察蜂個數(shù)(n0)均為群體規(guī)模的一半,即ne=n0=N/2,采用基于排序的適應(yīng)度變換,采蜜蜂轉(zhuǎn)變?yōu)閭刹旆涞南拗扑阉鞔螖?shù)取為lc=ne×d[8]??梢钥闯鯝BC除了公共參數(shù),需要調(diào)整的算法參數(shù)較少,僅有一個變化的參數(shù)lc。
將上述4種不同算法對4個基準(zhǔn)測試函數(shù)分別獨立運行50次后將最優(yōu)解取平均值,并計算最優(yōu)化結(jié)果的標(biāo)準(zhǔn)差,結(jié)果如表1所示??梢钥闯鯝BC算法除了f3優(yōu)化結(jié)果比DE算法稍差外,其他函數(shù)優(yōu)化結(jié)果均優(yōu)于其他幾種算法。
表1 四種算法獨立運行50次平均最優(yōu)值比較
圖2為采用RCGA,PSO,DE和ABC對4個基準(zhǔn)測試函數(shù)獨立運行50次,平均最小函數(shù)值隨迭代次數(shù)的變化過程曲線。由圖2可以看出,ABC算法和其他幾種算法相比不但具有很強的全局搜索能力,而且具有較快的收斂速度,其優(yōu)化性能大大優(yōu)于同類的PSO算法。
ABC算法是受蜜蜂采蜜行為啟發(fā)提出的一種新型群集智能優(yōu)化算法,具有結(jié)構(gòu)簡單、控制參數(shù)少、全局搜索能力強、搜索速度快以及具有自適應(yīng)收斂性質(zhì)等優(yōu)點,被廣泛應(yīng)用于圖像處理、數(shù)據(jù)聚類、蛋白質(zhì)檢測、動態(tài)路徑選擇、可靠性冗余分配問題等,均取得了良好的應(yīng)用效果。但人工蜂群算法的研究仍處于初級階段,有很多問題需要進(jìn)一步研究和解決,如理論分析、生物學(xué)基礎(chǔ)、算法的改進(jìn)、與其他算法的融合、算法的工程應(yīng)用等。
[1] Karaboga D,Basturk B.A powerful and efficient algorithm for numerical function optimization:artificial bee colony(ABC)algorithm[J].Journal of Global Optimization,2007,39(3):459-471.
[2] Seeley T D.The Wisdom of the hive[M].Cambridge,MA:Harvard University Press,1995.
[3] 王小平,曹立明.遺傳算法——理論、應(yīng)用與軟件實現(xiàn)[M].西安:西安交通大學(xué)出版社,2002.
[4] Kaelo P,Ali M M.Integrated crossover rules in real coded genetic algorithms[J].European Journal of Operational Research,2007,176(1):60-76.
[5] Niu B,Zhu Y L,He X X.MCPSO:A multi-swarm cooperative particle swarm optimizer[J].Applied Mathematics and Computation,2007,185(2):1050-1062.
[6] Storn R,Price K.Differential evolution-a simple and efficientheuristic for global optimization over continuous spaces[J].Journal of Global Optimization,1997,11(4):341-359.
[7] Rahnamayan S,Tizhoosh H R,Salama M M.Opposition-based differential evolution[J].IEEE Transactions on Evolutionary Computation,2008,12(1):64-79.
[8] Fei K,Li J,Xu,Q.Structural inverse analysis by hybrid simplex artificial bee colony algorithms[J].Computers and Structures,2009,87(13-14):861-870.