陳 皓,張 潔,楊清萍,董婭婭,肖利雪,冀敏杰
(西安郵電大學 計算機學院,西安 710121) (*通信作者電子郵箱chenhao@xupt.edu.cn)
基于混合搜索的多種群人工蜂群算法
陳 皓*,張 潔,楊清萍,董婭婭,肖利雪,冀敏杰
(西安郵電大學 計算機學院,西安 710121) (*通信作者電子郵箱chenhao@xupt.edu.cn)
針對經典人工蜂群(ABC)算法搜索策略存在搜索機制單一、群體全局搜索與局部搜索運算耦合性較高的問題,提出一種基于混合搜索的多種群人工蜂群(MPABC) 算法。首先,將種群按照適應度值進行排序,得到一個有序隊列,進而將其劃分為隨機子群、核心子群和平衡子群三類有序子群;其次,針對不同子群結合相應的個體選擇機制與搜索策略,構建出不同的差異向量;最后,在群體的搜索過程中,通過三類子群實現對具有不同適應度函數值個體的有效控制,來增強群體全局搜索和局部搜索的平衡能力。通過對16個標準測試函數進行仿真實驗并與具有可變搜索策略的人工蜂群(ABCVSS)算法、基于選擇概率的改進人工蜂群(MABC)算法、基于粒子群策略的多精英人工蜂群(PS-MEABC)算法、基于符號函數的多搜索策略人工蜂群(MSSABC)算法和優化高維復雜函數的改進人工蜂群(IABC)算法共五種典型的蜂群算法進行了對比,實驗結果顯示MPABC具有較好的優化效果;與ABC算法相比,MPABC在求解高維(100維)復雜問題上的收斂速度提高了約23%,且求解精度更優。
人工蜂群算法;個體選擇機制;差分搜索;群體分類控制策略
人工蜂群(Artificial Bee Colony, ABC)算法[1]具有結構簡單、控制參數少、性能優良等特點,目前已被應用于解決多種不同的實際優化問題[2-5],并取得了較好的實驗結果。但在ABC中,雇傭蜂和觀察蜂所采取的搜索策略在求解復雜函數時存在著過早收斂、容易陷入局部最優、求解精度不高等缺點。為此,研究者提出了許多不同的搜索策略來改善算法性能,其中的代表性研究工作是關于如何改進解搜索方程或提出新的解搜索方程[6]。Zhu等[7]受粒子群優化(Particle Swarm Optimization, PSO)算法啟發,提出在解搜索方程中加入全局最優解gbest信息引導ABC算法。另一研究趨勢是探索如何與其他搜索算子相結合來提高算法搜索性能。比如,Gao等[8]通過將ABC與局部搜索Powell方法相結合,有效地提高了ABC的性能。
上述通過直接修改進化操作算子的方法雖一定程度上提高了算法性能,但其都是在具體操作層面上的改進,并沒有充分考慮種群全局結構和局部算子的個體能力問題[9],沒有從根本上解決在提高算法收斂性的同時該如何增加種群的多樣性、避免陷入局部最優的問題,其根本原因在于搜索策略的調節仍是被動適應[10]。因而,為有效解決蜂群間通信方式單一、協作不足所引發的種群在全局探索與局部尋優不平衡的問題,本文通過研究個體選擇方式與搜索運算的性能特點間的聯系,提出了一種基于混合搜索的多種群人工蜂群(Multi-Population ABC, MPABC)算法,該算法利用個體選擇機制提升其在進化過程中的自我調節能力,并通過融合多種進化策略改進種群的搜索效率與抗早熟能力。


(1)

2)觀察蜂階段。雇傭蜂完成勘探后,觀察蜂根據雇傭蜂分享的信息,以輪盤賭方式選擇一個食物源進一步開采,則食物源被選中的概率為:
(2)
其中:fiti為第i個食物源的適應度函數值。對于最小化問題,fiti與問題空間S的目標函數值trueFiti對應關系為:
(3)
3)偵察蜂階段。當雇傭蜂對應食物源的適應值連續limit次未更新,表明該食物源已被開采盡,則對應雇傭蜂就放棄該食物源并變成偵察蜂,同時隨機產生一新食物源:
(4)

為進一步研究ABC算法的計算機制,圖1~2給出了單峰函數F06(Step)與多峰函數F09(Rastrigin)利用ABC在搜索最優解過程中函數收斂曲線與群體多樣性曲線。參數設置為:迭代次數Max.FE=1 000次;控制參數limit=10,80次;收斂精度為10-5。其中,收斂精度取對數后,所得函數值為-5,則收斂精度曲線與橫坐標相互重合。
為了便于對ABC性能的分析,首先給出一些基本定義:
定義1 個體xi和xj之間的相似性可通過歐氏距離比Disij來度量:
Disij=Dis(xi,xj)=‖xi-xj‖/‖xub-xlb‖
(5)
其中:‖xi-xj‖表示兩個實數向量的歐幾里得范數。顯然Disij在區間[0,1]內,Disij愈趨近0,個體差異性越小;反之則相反。
定義2 群體的平均間距meanDis為:
(6)


圖1 函數收斂曲線

圖2 函數多樣性曲線
limit作為ABC算法中衡量全局搜索代價的重要參數,直接關系到算法的計算性能與收斂速度。如圖1~2所示,當函數F06與F09的limit值較小時,算法雖然具有較強的隨機性能與全局搜索性能,但其收斂速度非常緩慢且精度遠沒有達到實驗要求;當limit較大時,算法雖然增強了局部搜索能力,提升了收斂速度,但卻因受到局部最優解的束縛而陷入早熟收斂。以上分析說明limit的取值差異使式(1)參數傾向于不同搜索策略,偏向全局搜索的參數使曲線表現出過度的全局搜索趨勢,偏向局部搜索的參數使曲線表現出過度的局部搜索趨勢,其根本原因在于ABC單一搜索模式具有的較高的耦合性,難以實現全局搜索和局部搜索間的有效協調。
針對上述研究中的不足,通過對個體間編碼差異及其問題空間的分布與其所參與搜索運算的性能特點間存在的聯系[11]進行研究,發現其主要表現為個體編碼差異對搜索運算的控制,或是個體空間分布形態所形成的結構對系統整體計算的調節,但這種隱式的結構關系并不利于其對計算過程的主動控制。因此,就需要設計出一種更為明顯的種群關系。
隊列作為實際生活中一種常見的有序群體,其特點是隊頭與隊尾個體差異較大,中間個體差異較小且數目眾多,這說明有序隊列不同位置中的個體之間具有一定間距關系。基于以上分析,本文提出一種新思路,將種群先按適應值大小進行排序,分為三類有序子群;再通過子群控制個體的選擇范圍,以構建出不同的差異向量進行群體搜索。

(7)
其中:Rg、Cg和Bg分別表示隨機子群、核心子群和平衡子群;Nrand表示隨機子群的個體總數;Nother=SN-Nrand表示Cg和Bg的個體總數;μ是群體劃分比例,實驗取值為0.3。
圖3是由式(7)得到的種群類結構圖,子群內個體相似性最大,而子群間差異性最大。因而,本文利用這三類子群實現對具有不同適應度函數值個體的有效控制,以達到調節全局和局部搜索的目的。

圖3 基于適應值排序的種群類結構
2.2.1 利用分類結構調節全局和局部搜索過程
本節從兩方面分析算法是如何利用三類子群實現對群體搜索過程的調節:一是通過對三類子群的平均間距進行分析,說明其可調節全局與局部搜索的原因;二是利用個體選擇機制實現其對搜索過程的調節。圖4和圖5分別表示函數F03(SumPower)運用MPABC算法在搜索最優解過程中子群的平均間距meanDis與個體數目number的變化曲線,實驗結果為20次獨立實驗(參數為D=30,Max.FE=1 000)的平均值。


圖4 三類子群平均間距在進化過程中的變化曲線
另外,根據三類子群間獨立又彼此聯系的結構,可以方便地將具有不同計算結構和運算特性的搜索方法有效結合在一起,通過個體選擇機制實現對群體全局和局部搜索的動態調節。如圖5所示,進化過程分為三個階段,其中,Cg與Bg的個體數目不斷增大,Rg數目卻逐漸減小,這種變化使看起來獨立的各類子群之間又彼此關聯。

圖5 進化過程Cg、Bg和Rg的個體數目變化曲線
基于以上分析,針對不同的搜索水平設計出一種新型的個體選擇機制:
Cg的局部搜索:
{ci|ci∈Cg,i=p1,p2}
(8)
Bg的全局到局部的過渡搜索:
{bi|bi∈Bg,i=p1,p2}
(9)
Rg的全局搜索:
{ri|ri∈Cg∪Bg∪Rg,i=p1,p2,…,p5}
(10)
其中:ci表示在Cg中隨機選出2個個體,記為cp1和cp2;同理bi與ri分別表示在Bg與Rg中選出的個體。
進化搜索中三類子群的搜索頻率由個體數目決定,故其取值大小將直接影響每代進行全局及局部搜索的比例。進化前期,Rg在群體中number值比重最大且Bg與Cg比重較小,形成以“全局搜索方式為主與其他搜索方式為輔”的計算機制,有效地豐富了群體多樣性并降低了算法早熟收斂的可能;進化中期,三類子群number值均處于一種相對穩定的狀態,形成了一種“過渡搜索+全局搜索+局部搜索”的搜索組合;而隨著Cg中number逐漸增大,其他子群值的不斷減小,使得進化后期形成了以“局部搜索和過渡搜索為主與全局搜索方式為輔”的計算機制,從而提高了算法尋找最優解的速度。
2.2.2 基于分類調節的新型差分進化算法計算機制的性能分析
為有效降低ABC算法搜索機制因單一盲目性所帶來的負面影響,在分類調節機制的基礎上通過進一步引入差分進化(Differential Evolution, DE)算法的多種搜索方式,有效地提高了系統的計算效率。為了便于研究,將DE的五種進化模式分為三類[12],其特點是:第一類模式中個體自由探索性突出,全局收斂較強,不易陷入局部最優,但收斂速度較慢;第二類模式的個體在該區域的自由探索性相對較弱,局部收斂性和繼承性較強,收斂速度較快,但易陷入局部最優;第三類模式特點是群體自由探索性和繼承性相對保持均衡,具有良好的適應性。
通過以上分析,為有效提升算法的搜索性能,本文按照子群平均間距值對種群的搜索水平進行類別劃分,則三類子群的搜索機制如下:
Cg搜索策略:
(11)
Bg搜索策略:
(12)
Rg搜索策略:
(13)
根據每個個體在搜索過程中的不同表現,對于不同子群的個體,在尋優過程中它需要加強該子群所需要的能力。即,在Cg中加強局部尋優來搜索極值點,Rg中通過全局搜索來增強算法的勘探能力,而Bg主要是對算法全局搜索能力和局部搜索能力的協調。
在前述基礎上提出了一種新算法MPABC,即在分類調節機制的基礎上進一步引入DE計算機制來改進全局與局部的計算效果。圖6為MPABC的架構。

圖6 MPABC的架構
如圖6所示, MPABC計算模式分為三大模塊:模塊一是系統初始化,包括種群初始化與子群的構建,最后得到三類有序子群體;模塊二針對不同子群設計出一種更具針對性且協調性更佳的搜索機制組合,實現對搜索過程的調節;模塊三是利用觀察蜂進行局部尋優來找出最優解。先通過式(8)~(9)計算出觀察蜂的搜索區間,再利用式(11)進行局部搜索,進一步提升算法的尋優能力。
為驗證MPABC的求解性能,采用16個典型的Benchmark[13]146函數(F01~F16)用于仿真實驗。其中:F01~F08是單峰函數;F06是非連續函數;F07是帶噪聲函數,在維度大于3時為多峰函數;F09~F16是多峰函數。通常單峰函數用于測試算法的尋優精度以及考察算法的執行性能。而多峰函數中的局部最優點會伴隨維數的增加而指數增長,常用于檢驗算法跳出局部最優的能力。
整個實驗分為兩部分:第一部分是對ABC和MPABC的優化性能與測試結果進行比較;第二部分是將其與近年的ABC變種算法進行比較分析,包括具有可變搜索策略的人工蜂群算法(ABC algorithm with Variable Search Strategy, ABCVSS)[13]148-151、基于選擇概率的改進人工蜂群算法(Modified ABC algorithm based on selection probability, MABC)[13]152、基于粒子群策略的多精英人工蜂群(Particle Swarm-inspired Multi-Elitist ABC, PS-MEABC)算法[14]、基于符號函數的多搜索策略人工蜂群(Multi-Search Strategy of the ABC, MSSABC)算法[15]和優化高維復雜函數的改進人工蜂群算法(Improved ABC algorithm for optimizing high-dimensional complex functions, IABC)[16]。
為驗證MPABC的尋優能力在復雜高維函數的有效性。將MPABC與ABC從結果精度、收斂速度和維度擴展性三個方面進行比較分析。實驗參數設置為:NP=40;limit=200;D=30,60,100;Max.FE=5 000;收斂精度為10-5。表1給出了當D=30,60,100時算法的測試結果(每個函數獨立運行20次)。其中:最優值和最差值反映了解的質量,平均值反映了在給定最大評價次數時算法的求解精度,標準差則反映了算法的穩定性和魯棒性。
由表1計算結果可以看出:在30維情況下,MPABC在大部分函數上的性能要顯著優于ABC。對部分函數(如F05、F07、F08、F12和F14),兩者性能相當;尤其是在函數F06、F09~F11上,ABC與MPABC均能取得理論最優值0。而對于其他函數(F01~F04),MPABC的收斂精度比ABC則有了大幅度提升。并且隨著維度的增長,MPABC的求解結果仍要優于或同ABC一樣得到理論最優值0(如函數F06、F11)。
函數無論是在30、60還是100維上,MPABC算法的最優值和最差值的精度與ABC相比得到明顯提高,并且對各測試函數均具有較高的尋優精度,尤其在函數F01~F04、F10、F11上。其次,在相同迭代次數下,針對絕大部分函數(F01、F03、F6~F11、F13~F14),MPABC算法尋優速度更快。其中一部分原因是系統利用種群分類結構直接控制群體的搜索過程,實現對全局和局部搜索過程的調節;另一部分是因為在分類調節機制的基礎上進一步引入DE計算機制來改進全局與局部的計算效果,使MPABC在計算的不同階段形成更具針對性且協調性更佳的搜索機制組合,實現了在不同復雜結構的問題空間中更高效、穩定的搜索。

表1 ABC與MPABC算法的測試結果
為了直觀反映MPABC的收斂性能,圖7~8給出了兩種算法對于部分測試函數在D=30,Max.FE=200時的收斂曲線與群體多樣性圖。從圖7~8可以看出,MPABC雖然在迭代初期的性能略差,但隨著迭代次數的增加,函數收斂曲線和群體多樣性曲線的下降速度明顯高于ABC算法,有利于群體在后期快速收斂到較高精度的解。
由圖7的收斂曲線可以看出:MPABC算法不但在函數F06上找到理論最優值0,而且其收斂速度明顯高于ABC;在復雜非線性函數F08和多模態函數F15上,MPABC的性能僅略優于ABC;而對多模態函數F13和F14,MPABC的收斂精度和速度均顯著高于ABC。由圖8的多樣性曲線可以看出,MPABC的群體多樣性值在前期僅略高于ABC,能夠較好地減緩算法在前期的收斂速度;隨后MPABC算法的群體多樣性迅速降低并逐漸趨于0,其多樣性明顯低于ABC算法。此時群體差異性最小,促使其加速收斂到最優值。綜上,說明改進后的MPABC算法性能優于ABC。

圖7 函數的收斂曲線

圖8 函數的多樣性曲線
將MPABC與近幾年所提出的改進算法ABCVSS、MABC、PS-MEABC、MSSABC、IABC在D=30時進行比較。為了比較的公平性,MPABC參數設置為Max.FE=5 000,limit=200;另外5種算法參數均為Max.FE=5 000×D,limit=SN×D,其余參數保持不變,實驗數據直接取自各文獻。
由表2可以看出,在16個基準測試函數中,6種算法在函數F06、F09~F11上都能求得理論最優值;對于其他函數,MPABC在解的精度和穩定性上明顯優于ABCVSS、MABC、PS-MEABC、MSSABC,在絕大部分函數上則優于IABC。
從上述實驗結果可以看出,MPABC算法可以在較小的評價次數下達到相同甚至更高的精度。不僅具有較強的全局搜索能力,而且具有較強的局部搜索能力,能有效克服ABC算法收斂速度慢和易陷入局部最優的缺陷,并隨著函數維度的增加,仍能保持較好的有效性和魯棒性。
本文提出在種群分類調節機制的基礎上進一步引入DE計算機制來改進種群全局與局部的計算效果,形成了一種新型的進化搜索算法,基于混合搜索的多種群人工蜂群算法。對16個基準測試函數的仿真實驗結果表明,算法有效克服了ABC演化過程中局部停滯的問題,能有效處理高維函數優化問題并獲得較高的尋優精度。但其也存在局限性,例如對Schwefel 2.26(F12)函數的求解效果并不理想。因而,如何使算法能夠在函數上表現出更好的性能以及將本文算法應用到多目標優化、約束優化等領域將是下一步的研究工作。

表2 ABCVSS、MABC、PS-MEABC、MSSABC、IABC和MPABC算法結果對比
References)
[1] KARABOGA D. An idea based on honey bee swarm for numerical optimization: TR06[R]. Kayseri: Erciyes University, Engineering Faculty, 2005: 10.
[2] 冀俊忠, 魏紅凱, 劉椿年, 等. 基于引導素更新和擴散機制的人工蜂群算法[J]. 計算機研究與發展, 2013, 50(9): 2005-2014. (JI J Z, WEI H K, LIU C N, et al. Artificial colony algorithm based on introductory updating and diffusion mechanism[J]. Journal of Computer Research and Development, 2013, 50(9): 2005-2014.)
[3] EBRAHIMNEJAD A, TAVANA M, ALREZAAMIRI H. A novel artificial bee colony algorithm for shortest path problems with fuzzy arc weights[J]. Measurement, 2016, 93: 48-56.
[4] YIN P Y, CHUANG Y L. Adaptive memory artificial bee colony algorithm for green vehicle routing with cross-docking[J]. Applied Mathematical Modelling, 2016, 40(21/22): 9302-9315.
[5] NSEEF S K, ABDULLAH S, TURKY A, et al. An adaptive multi-population artificial bee colony algorithm for dynamic optimization problems[J]. Knowledge-Based Systems, 2016, 104: 14-23.
[6] 周新宇, 吳志健, 王明文. 基于正交實驗設計的人工蜂群算法[J]. 軟件學報, 2015, 26(9): 2167-2190. (ZHOU X Y, WU Z J, WANG M W. Artificial colony algorithm based on orthogonal experiment design [J]. Journal of Software, 2015, 26(9): 2167-2190.)
[7] ZHU G, KWONG S. Gbest-guided artificial bee colony algorithm for numerical function optimization[J]. Applied Mathematics amp; Computation, 2010, 217(7): 3166-3173.
[8] GAO W F, LIU S Y, HUANG L L. A novel artificial bee colony algorithm with Powell’s method[J]. Applied Soft Computing, 2013, 13(9): 3763-3775.
[9] 李文鋒, 梁曉磊, 張煜. 具有異構分簇的粒子群優化算法研究[J]. 電子學報, 2012, 40(11): 2194-2199. (LI W F, LIANG X L, ZHANG Y. Research on particle swarm optimization algorithm with heterogeneous clustering [J]. Acta Electronica Sinica, 2012, 40(11): 2194-2199.)[10] 周傳華, 謝安世. 一種基于動態小生境的自組織學習算法[J]. 軟件學報, 2011, 22(8): 1738-1748. (ZHOU C H, XIE A S. A self-organizing learning algorithm based on dynamic niche [J]. Journal of Software, 2011, 22(8): 1738-1748.)
[11] 陳皓, 潘曉英. 類搜索算法[J]. 軟件學報, 2015, 26(7): 1557-1573. (CHEN H, PAN X Y. Clustering search algorithm[J]. Journal of Software, 2015, 26(7): 1557-1573.)
[12] 賀毅朝, 王熙照, 劉坤起, 等.差分演化的收斂性分析與算法改進[J]. 軟件學報, 2010, 21(5): 875-885. (HE Y Z, WANG X Z, LIU K Q, et al. Convergence analysis and algorithm improvement of differential evolution[J]. Journal of Software, 2010, 21(5): 875-885.)
[13] KIRAN M S, HAKLI H, GUNDUZ M, et al. Artificial bee colony algorithm with variable search strategy for continuous optimization[J]. Information Sciences, 2015, 300(1): 140-157.
[14] MA W, SUN Z, LI J, et al. An improved artificial bee colony algorithm based on the strategy of global reconnaissance[J]. Soft Computing, 2015, 20(12): 4825-4857.
[15] 王志剛, 王明剛. 基于符號函數的多搜索策略人工蜂群算法[J]. 控制與決策, 2016, 31(11): 2038-2044. (WANG Z G, WANG M G. Multi-search strategy based on symbolic function artificial bee colony algorithm [J]. Control and Decision, 2016, 31(11) : 2038-2044.)
[16] 王志剛, 王明剛. 優化高維復雜函數的改進人工蜂群算法[J]. 東北師大學報 (自然科學版), 2016, 48(2): 56-64. (WANG Z G, WANG M G. An improved artificial bee colony algorithm for optimizing high dimensional complex functions[J]. Journal of Northeast Normal University (Natural Science Edition), 2016, 48(2): 56-64.)
Multi-populationartificialbeecolonyalgorithmbasedonhybridsearch
CHEN Hao*, ZHANG Jie, YANG Qingping, DONG Yaya, XIAO Lixue, JI Minjie
(SchoolofComputerScienceandTechnology,Xi’anUniversityofPostsamp;Telecommunications,Xi’anShaanxi710121,China)
Aiming at the problems of Artificial Bee Colony (ABC) algorithm, which are the single search mechanism and the high coupling between global search and local search, a Multi-Population ABC (MPABC) algorithm based on hybrid search was proposed. Firstly, the population was sorted according to the fitness value to get an ordered queue, which was divided into three sorted subgroups including random subgroup, core subgroup and balanced subgroup. Secondly, different difference vectors were constructed according to the corresponding individual selection mechanism and search strategy to different subgroups. Finally, in the process of group search, the effective control of individuals with different fitness functions was realized through three subgroups, thus improving the balance ability of global search and local search. The simulation results based on 16 benchmark functions show that compared with ABC algorithm with Variable Search Strategy (ABCVSS), Modified ABC algorithm based on selection probability (MABC), Particle Swarm-inspired Multi-Elitist ABC (PS-MEABC) algorithm, Multi-Search Strategy of the ABC (MSSABC) and Improved ABC algorithm for optimizing high-dimensional complex functions (IABC), MPABC achieves a better optimization effect; and on the solution of high dimensional (100 dimensions) problems, compared with ABC, MPABC has higher convergence speed which is increased by about 23% and better search accuracy.
Artificial Bee Colony (ABC) algorithm; individual selection mechanism; differential search; group classification control strategy
2017- 05- 02;
2017- 07- 19。
國家自然科學基金資助項目(61203311,61105064);西安郵電大學創新基金資助項目(114- 602080126)。
陳皓(1978—),男,河北安新人,副教授,博士,CCF會員,主要研究方向:進化計算、工程優化; 張潔(1992—),女,陜西咸陽人,碩士研究生,主要研究方向:計算智能、數據挖掘; 楊清萍(1992—),女,湖北襄陽人,碩士研究生,主要研究方向:機器學習; 董婭婭(1991—),女,陜西韓城人,碩士研究生,主要研究方向:自然語言處理、數據挖掘; 肖利雪(1992—),女,內蒙赤峰人,碩士研究生,主要研究方向:計算智能、數據挖掘; 冀敏杰(1990—),男,陜西渭南人,碩士研究生,主要研究方向:計算智能、數據挖掘。
1001- 9081(2017)10- 2773- 07
10.11772/j.issn.1001- 9081.2017.10.2773
TP301.6
A
This work is partially supported by the National Natural Science Foundation of China (61203311, 61105064), the Innovation Foundation of Xi’an University of Posts amp; Telecommunications (114-602080126).
CHENHao, born in 1978, Ph. D., associate professor. His research interests include evolutionary computing, engineering optimization.
ZHANGJie, born in 1992, M. S. candidate. Her research interests include computational intelligence, data mining.
YANGQingping, born in 1992, M. S. candidate. Her research interests include machine learning.
DONGYaya, born in 1991, M. S. candidate. Her research interests include natural language processing, data mining.
XIAOLixue, born in 1992, M. S. candidate. Her research interests include computational intelligence, data mining.
JIMinjie, born in 1990, M. S. candidate. His research interests include computational intelligence, data mining.