郭書杰+方興+趙鶴群



摘要:作為一種新興的群體智能優化方法,人工蜂群算法在函數優化方面具有較好的優化能力。然而其收斂速度也受到控制參數的影響,為了考察算法各參數對其性能的影響,使用VS2010編寫了一套標準人工蜂群算法,并選取兩個標準函數作為測試對象,對這種影響進行了測試,最后給出了測試結論。
關鍵詞:人工蜂群算法;函數優化;群智能
DOI:10.11907/rjdk.162752中圖分類號:TP312文獻標識碼:A
文章編號:16727800(2017)004006103
0引言 人工蜂群算法[12](Artificial Bee Colony Algorithm,以下簡稱ABC 算法)是Karaboga于2005年提出,旨在解決函數優化問題。作為一種新興的模擬生物群體智能的優化方法,ABC算法具有參數數量較少、結構簡單、易于實現、應用范圍廣等諸多優點。Karaboga和Akay的通過實驗對比了ABC算法與遺傳算法、微粒群算法、差分進化算法等常見智能優化算法的性能。結果表明,就解決函數優化問題而言,ABC算法的性能更具優勢[3]。由于ABC算法具有上述優點,它已經被成功地應用到多種不同類型的實際優化問題中,比如參數優化問題[4]、符號回歸問題[5]、神經網絡[67]以及最短路徑問題[8]等。盡管ABC算法的控制參數相對較少,但它仍然有3個參數需要設置。多數智能優化算法都是參數敏感型的,解決不同的問題時,各參數的敏感度又多不相同。為了研究算法求解函數優化問題時參數對ABC算法的影響,使用Visual Studio2010編寫了經典人工蜂群算法,考察了算法參數對算法性能的影響。
1人工蜂群算法 人工蜂群算法是通過模擬蜂群的采蜜行為來實現對問題的優化求解,它將蜜蜂分為引領蜂、跟隨蜂和偵察蜂3種類型,將整個優化過程分解為引領蜂尋優、跟隨蜂尋優、偵查蜂尋優3個階段。在引領蜂尋優階段,引領蜂通過在自己找到的蜜源附近進行局部探索,來提高蜜源質量;在跟隨蜂尋優階段,跟隨蜂首先根據各引領蜂發現的蜜源質量,擇優選擇一個蜜源,然后在該蜜源的周圍進行局部探索,借以實現尋找更優蜜源;如果對某一蜜源的多次探索都改進了蜜源的質量,則進入偵察蜂尋優階段:與該蜜源對應的引領蜂變成偵察蜂,在問題的解空間內,隨機生產一個新蜜源進行探索。 假令蜜源的數量為NP,蜜源Xi對應的適應度為fiti,蜜源維持代數閾值為limit,待解問題的維數為D,第i維xid的取值范圍為[Ldi,Udi],則人工蜂群算法的搜索步驟如下[1,910]。
(7)判斷算法是否滿足終止條件,若滿足則輸出最優解并終止,否則轉到步驟(2)繼續執行。
2算法參數人工蜂群算法有3個參數:蜜源數量NP、優化代數iterMax和維持代數limit。蜜源數量表示在待解問題的解空間中選取的點數。優化代數用于規定進行多少次的迭代搜索,一般而言,迭代次數越多找到最優解的概率也就越大,然而隨著優化的進行,蜜源的多樣性會逐漸減低,甚至會出現超級蜜源而陷入過早收斂狀態。維持代數是為了增加蜜源的多樣性,提高算法的全局搜索性能。
2.1測試函數為了測試算法的各個參數對算法性能的影響,使用Visual Studio2010編寫了用于解決函數優化的人工蜂群算法,選取維數為10的兩個標準函數作為測試對象,一個是單極值函數、一個是非線性多極值函數。測試函數如表1所示,被測函數的三維映像如圖1、圖2所示。
2.2測試方法 在保持其它參數不變的情況下,按照一定的步長逐漸增大被測參數的取值。對于被測參數的每個取值,運行程序50次,并記錄50次運行得到的最優解的平均值。通過對比算法參數與這一平均值的大小來考察算法參數對算法性能的影響。
2.3測試結果 (1)蜜源數量NP對算法性能的影響。參數NP對算法性能的影響如圖3所示。由圖3不難看出,參數NP對算法性能的影響具有較大的不確定性,沒有明顯的規律可循。對于單極值函數,NP取100時求得的函數值最小;而多極值函數則在NP取140時得到最優解。
(2)優化代數iterMax對算法性能的影響。優化代數iterMax對算法性能的影響如圖4所示。
由圖4可以看出,當優化代數較小時,算法的優化能力較弱;隨著優化代數的增加,其優化能力逐漸加強,但當優化代數大于200代時,這種趨勢趨于平緩。 (3)維持代數limit對算法性能的影響。維持代數limit對算法性能的影響如圖5所示。
由圖5可知,維持代數對算法優化能力的影響與優化代數相似,但只要不設置得過小,limit對算法優化能力的影響較小。
3結語 人工蜂群算法是一種新興的智能優化算法,在解決函數優化問題時具有較好的全局搜索性能,然而與其它智能優化算法一樣,人工蜂群算法的性能也受到控制參數的影響。本文通過實驗考察了各參數對算法性能的影響,能夠為算法的應用提供參考。需要指出的是,本文僅考察了每個參數對算法性能的獨立影響,沒有考慮各參數之間的交叉影響。
參考文獻:[1]KARABOGA D.An idea based on honey bee swarm for numerical optimization[R].Technical Report,Kayseri:Erciyes University,2005.
[2]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):459471.[3]KARABOGA D,AKAY B.A comparative study of artificial bee colony algorithm[J].Applied Mathematics and Computation,2009,214(1):108132.
[4]賈宗圣,司錫才,王桐.基于人工蜂群技術的海雜波參數優化方法[J].中南大學學報:自然科學版,2012,43(9):34853489.[5]KARABOGA D,OZTURK C,KARABOGA N,et al.Artificial bee colony programming for symbolic regression[J].Information Sciences,2012,209(11):115.
[6]GARRO BA,SOSSA H,VZQUEZ RA.Artificial neural network synthesis by means of artificial bee colony (ABC) algorithm[C].New Orleans:Proc.of the IEEE Congress on Evolutionary Computation,2011:331338.[7]YEH W,HSIEH T.Artificial bee colony algorithmneural networks for Ssystem models of biochemical networks approximation[J].Neural Computing and Applications,2012,21(2):365375.
[8]SZETO WY,WU Y,HO SC.An artificial bee colony algorithm for the capacitated vehicle routing problem[J].European Journal of Operational Research,2011,215(1):126135.
[9]周新宇,吳志健,王明文.基于正交實驗設計的人工蜂群算法[J].軟件學報,2015,26(9):21672190.
[10]秦全德,程適,李麗,等.人工蜂群算法研究綜述[J].智能系統學報,2014,9(2):127135.
(責任編輯:孫娟)