陳阿慧 李艷娟 郭繼峰
摘 要:人工蜂群算法是Karaboga在2005年提出的一種基于蜜蜂覓食行為的群體智能算法,該算法可以很好的解決連續(xù)函數(shù)的求解問(wèn)題,后因其強(qiáng)大的性能深受研究者的青睞,得以廣泛的研究和應(yīng)用。本文首先簡(jiǎn)要介紹了群體智能和人工蜂群算法的發(fā)展,然后詳細(xì)介紹了人工蜂群算法的原理及實(shí)現(xiàn)步驟,最后綜述近十年來(lái)國(guó)內(nèi)外對(duì)該算法及其應(yīng)用的研究狀況,進(jìn)而總結(jié)出該算法具有控制參數(shù)少、強(qiáng)魯棒性等優(yōu)點(diǎn),并指出該算法時(shí)間復(fù)雜度略高的基本事實(shí),可成為今后改進(jìn)的研究方向。
關(guān)鍵詞:人工蜂群算法;群體智能;覓食行為;連續(xù)函數(shù);強(qiáng)魯棒性
中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)號(hào):A 文章編號(hào):2095-2163(2014)06-
Abstract: Artificial bee colony algorithm is a kind of swarm intelligence algorithm based on bees foraging behavior which is proposed by Karaboga on 2005. The algorithm can solve continuous function very well, then get many researchers favor because of its powerful performance and be researched and used widely. Firstly, this paper introduces the development of swarm intelligence and artificial bee colony algorithm briefly. Secondly, this paper introduces the principle and steps of artificial bee colony algorithm in details, and reviews the decade research situation of domestic and overseas. The conclusion is given that the algorithm has the advantages of less control parameters and strong robustness. However, the algorithm has slightly high time complexity which can be the future research direction.
Key words: Artificial Bee Colony Algorithm; Swarm Intelligence; Foraging Behavior; Continuous Function; Strong Robustness
0 引 言
自然界中的群居性昆蟲(chóng),雖然其中每一個(gè)體均呈現(xiàn)為結(jié)構(gòu)簡(jiǎn)單,以及行為單一,但是群居后的昆蟲(chóng)整體卻構(gòu)建了一種復(fù)雜的行為模式。而且無(wú)論自然環(huán)境如何惡劣,這些群居性昆蟲(chóng)卻都能找到食物和巢穴,同時(shí)獲得良好的生存適應(yīng)性。由此可知,自然界中的群居性生物有相當(dāng)多數(shù)都在某種程度上表現(xiàn)出了宏觀的群體智能行為,而群體智能的概念就提煉于對(duì)自然界中昆蟲(chóng)群的觀察與研究,隨即群居性生物在群體中凸顯出的自組織、自適應(yīng)以及社會(huì)分工和相互協(xié)作的智能行為則稱為群體智能[1]。針對(duì)以上現(xiàn)象與行為,學(xué)者們已提出了許多群體智能優(yōu)化算法。這些算法的基本思想即是將自然界中的生物個(gè)體假定為搜索空間的點(diǎn),由此則將個(gè)體的進(jìn)化或者覓食行為模擬作最優(yōu)解的搜索過(guò)程,通過(guò)將個(gè)體對(duì)環(huán)境的適應(yīng)性定義為需求解問(wèn)題的目標(biāo)函數(shù),再將自然界中“優(yōu)勝劣汰,適者生存”的生存法則視作利用好解取代差解的選擇,整個(gè)群體即逐步收斂、直至向最優(yōu)解的過(guò)程,這一過(guò)程就是迭代的搜索過(guò)程[2]。
蜜蜂是群居性昆蟲(chóng)中的一種,其成為群體智能的兩個(gè)必要條件在此可表述為自組織性和分工協(xié)作性。單一蜜蜂的行為簡(jiǎn)單明確,但是蜜蜂群卻可以在復(fù)雜的環(huán)境下高效率地找到食物源并完成采蜜,同時(shí)也可以隨著環(huán)境的變化而智能性地改變自身的行為。由此,有關(guān)蜜蜂群行為的各種算法于2000年以后則相繼提出,這是一個(gè)全新的群體智能優(yōu)化研究領(lǐng)域,倍受各方學(xué)者的關(guān)注與青睞。眾多研究成果中,頗具里程碑意義的當(dāng)屬土耳其埃爾吉耶斯大學(xué)的Karaboga在2005年提出的人工蜂群算法[3](Artificial Bee Colony Algorithm, ABC)。自此之后,尤其是2010年,涌現(xiàn)了與其相關(guān)的大量學(xué)術(shù)報(bào)告和研究文獻(xiàn)。特別地,2010年于太原召開(kāi)的群體智能會(huì)議上,人工蜂群算法還作為一個(gè)專題,并圍繞其展開(kāi)了高端與廣泛的討論[4]。
人工蜂群算法是基于蜜蜂的覓食行為衍生而來(lái)的,蜜蜂的覓食行為恰是一種典型的群體智能行為。人工蜂群算法即模擬了蜜蜂群尋找食物源的智能行為,算法簡(jiǎn)單,并且具有很好的魯棒性[5]。Karaboga提出的人工蜂群算法可以解決數(shù)值函數(shù)的優(yōu)化問(wèn)題,其后則又用于人工神經(jīng)網(wǎng)絡(luò)的訓(xùn)練、約束化問(wèn)題的解決以及模糊聚類的實(shí)現(xiàn)等[6]。鑒于人工蜂群算法所具有的良好性能,其已進(jìn)入了各種研究領(lǐng)域。具體成果有:Sundar等人將該算法應(yīng)用于求解最小二次生成樹(shù)問(wèn)題[7];劉華等則引入局部搜索和混沌思想,提出了一種改進(jìn)的人工蜂群算法,并將其應(yīng)用于流水線調(diào)度研究[8];付麗和羅鈞又提出了引入跟蹤搜索和免疫選擇的人工蜂群算法[9]等等。
1 人工蜂群算法原理
1.1 自然界中的蜂群
根據(jù)蜂群中蜜蜂的不同分工,可將蜂巢中的蜜蜂分為三類[10],詳細(xì)分析如下:
(1)蜂王:是生殖器官發(fā)育完全的雌蜂,更是蜂巢中唯一產(chǎn)卵的雌蜂,其作用就是繁衍后代。蜂王一生只交配一次,在接下來(lái)的時(shí)間里分批受精產(chǎn)卵,補(bǔ)充新蜜蜂來(lái)維持群體數(shù)量的穩(wěn)定。所有儲(chǔ)存的精子消耗之后,開(kāi)始產(chǎn)下未受精的卵。
(2)雄蜂:是由未受精的卵發(fā)育而來(lái),其作用是與蜂王交配,交配之后,很快就會(huì)死去,壽命不會(huì)超過(guò)六個(gè)月。
(3)工蜂:是蜂巢中數(shù)量最多的蜜蜂,是性器官發(fā)育不成熟的雌蜂。工蜂要承擔(dān)尋找食物源、采集食物、儲(chǔ)存食物、清理垃圾和死蜂的尸體、筑巢并保持蜂巢的良好環(huán)境及保衛(wèi)蜂巢等一系列任務(wù)。因年齡的不同,可將其分為三種不同生理類型的工蜂——保育蜂、筑巢蜂和采蜜蜂。
蜂巢中的三類蜜蜂各司其職,互相合作,創(chuàng)造了神奇的群體智能現(xiàn)象,這就使得在復(fù)雜惡劣的自然條件下,依然能夠生存并保持種群健壯的優(yōu)勢(shì)。蜂群通過(guò)完美的合作組成了有機(jī)的整體,完成了很多智能化的群體活動(dòng)來(lái)維持種群的生生不息。其主要的活動(dòng)有:
(1) 婚飛行為,即蜂王飛到離蜂巢很遠(yuǎn)的地方,飛行過(guò)程中,只有強(qiáng)健的青春期雄蜂才能追趕上蜂王,并在空中與其交配;
(2) 筑巢選擇行為,即蜂群要根據(jù)巢穴尺寸、氣候環(huán)境、筑巢需要的時(shí)間條件等等因素來(lái)全體一致地決定蜂巢位置;
(3)覓食行為,即覓食蜂飛離蜂巢,開(kāi)始搜索花蜜源,找到質(zhì)量上乘的花蜜并采集,儲(chǔ)存花蜜并帶回蜂巢等等[11]。其中最重要的就是覓食行為。
下面對(duì)蜂群的覓食過(guò)程進(jìn)行分析。在覓食過(guò)程中有三個(gè)重要的要素,即花蜜源、被雇傭蜜蜂和未被雇傭蜜蜂[12]。被雇傭蜜蜂又稱為引領(lǐng)蜂,未被雇傭蜜蜂則分為跟隨蜂和偵查蜂。一只蜜蜂由于某種自然的原因飛出巢穴尋找花蜜源,此時(shí)該個(gè)體將成為偵查蜂。當(dāng)找到了花蜜源時(shí)即轉(zhuǎn)換為引領(lǐng)蜂,每一只引領(lǐng)蜂都與找到的花蜜源一一對(duì)應(yīng),然后即利用自己的能力在記住該花蜜源的位置,花蜜的質(zhì)量等等可以評(píng)判該花蜜源的因素候飛回巢穴。接下來(lái),該引領(lǐng)蜂將出現(xiàn)以下幾種可能的行為:
(1)在和其他引領(lǐng)蜂發(fā)現(xiàn)的花蜜源比較之后,放棄自己發(fā)現(xiàn)的質(zhì)量并不高的花蜜源,重新成為偵查蜂;
(2)在蜂巢的舞蹈區(qū)跳舞招募蜜蜂,此時(shí)跟隨引領(lǐng)蜂飛出蜂巢采蜜的蜜蜂即為跟隨蜂;
(3)繼續(xù)在同一花蜜源處采蜜而不進(jìn)行招募。就這樣,蜂群中的工蜂完成覓食行為,由此而保障了蜂群的食物來(lái)源,并使其群體得以維持和繁衍。
1.2 人工蜂群算法的基本模型及原理
時(shí)下,基于蜜蜂覓食過(guò)程的算法主要有兩種,一種是蜂群算法(Bees Algorithm , BA)[13],另一種就是本文即將提到的人工蜂群算法(Artificial Bee Colony Algorithm, ABC),這兩種算法基本相同,其主要區(qū)別就在于引領(lǐng)蜂、跟隨蜂和偵查蜂在蜂群中所占比例的各不相同,另外ABC還引入了參數(shù)limit,具體作用是將限制偵查蜂在一個(gè)食物源附近搜索的次數(shù),而這一參數(shù)BA卻是沒(méi)有的。
人工蜂群算法主要就是模擬自然界中蜂群的覓食過(guò)程[14],其首度提出即是用于解決連續(xù)函數(shù)的求解問(wèn)題,其后更是廣泛應(yīng)用于優(yōu)化問(wèn)題的求解。其中,算法與問(wèn)題的具體對(duì)應(yīng)關(guān)系可做如下描述:蜂群覓食行為即具體的優(yōu)化問(wèn)題;食物源即優(yōu)化問(wèn)題的可行解;食物源的位置即優(yōu)化問(wèn)題解的位置;食物源的質(zhì)量即優(yōu)化問(wèn)題中的適應(yīng)度值;尋找和采集食物源的過(guò)程即優(yōu)化問(wèn)題的求解過(guò)程;另外,食物源的最大質(zhì)量即優(yōu)化問(wèn)題的最優(yōu)解。
因?yàn)槿斯し淙核惴ㄔ雌鹱阅M自然界中的蜂群模擬,具體地該算法也由三個(gè)重要部分組成,分別是:食物源、雇傭蜂、非雇傭蜂。其中,食物源即為花蜜源,雇傭蜂又稱為引領(lǐng)蜂,非雇傭蜂則分為跟隨蜂和偵查蜂。蜜蜂種群的群體智能是依據(jù)蜜蜂之間的信息共享、相互協(xié)作、甚至是在必要的條件下進(jìn)行的相應(yīng)角色轉(zhuǎn)換來(lái)實(shí)現(xiàn)的。在此,將對(duì)人工蜂群算法的搜索過(guò)程做如下實(shí)際描述:最開(kāi)始時(shí)候,所有蜜蜂對(duì)食物源均沒(méi)有認(rèn)識(shí),都是偵查蜂,在整個(gè)解空間隨機(jī)搜索,當(dāng)偵查蜂搜索到食物源后,攜帶能評(píng)判該食物源質(zhì)量的信息回到蜂巢與其他蜜蜂共享,根據(jù)對(duì)這些信息的某種比較,偵查蜂可進(jìn)行角色轉(zhuǎn)變。當(dāng)該食物源的質(zhì)量排名靠前時(shí),該偵查蜂轉(zhuǎn)變?yōu)橐I(lǐng)蜂,與其搜索到的食物源一一對(duì)應(yīng),招募到更多的跟隨蜂到食物源附近搜索新的食物源;當(dāng)該食物源的質(zhì)量排名居中時(shí),該偵查蜂即轉(zhuǎn)變?yōu)楦S蜂,并將按某種選擇機(jī)制選擇引領(lǐng)蜂,跟隨該引領(lǐng)蜂到其對(duì)應(yīng)的食物源附近進(jìn)行搜索;當(dāng)該食物源的質(zhì)量排名靠后時(shí),該偵查蜂將放棄搜索到的食物源,再次成為偵查蜂在解空間開(kāi)展新一輪的隨機(jī)搜索[15]。
綜上可得,與其對(duì)應(yīng)的算法流程簡(jiǎn)要描述如下[16]:算法開(kāi)始時(shí),初始化種群,派出偵查蜂搜索食物源,評(píng)估食物源的質(zhì)量即適應(yīng)度值,滿足條件時(shí)開(kāi)始循環(huán),選擇適應(yīng)度值高的偵查蜂為引領(lǐng)蜂,引領(lǐng)蜂將招募跟隨蜂,并帶隊(duì)到對(duì)應(yīng)的食物源附近搜索新的食物源,令適應(yīng)度值低的偵查蜂則繼續(xù)搜索食物源,而且評(píng)估所有蜜蜂搜索到的食物源的適應(yīng)度值,此時(shí)結(jié)束循環(huán),輸出最優(yōu)解,算法結(jié)束。2 人工蜂群算法的研究現(xiàn)狀
人工蜂群算法在2005年首次提出之后,第一篇介紹人工蜂群算法的會(huì)議論文即于次年正式發(fā)表,而第一篇描述人工蜂群算法并評(píng)估其效能的期刊論文則由Karaboga 和 Basturk在2007年公開(kāi)見(jiàn)刊,這篇論文將人工蜂群算法和遺傳算法以及粒子群優(yōu)化算法進(jìn)行了本質(zhì)上的研究比較。2009年,一個(gè)以人工蜂群算法為主題的網(wǎng)站得以問(wèn)世,其域名是http://mf.erciyes.edu.tr/abc。該網(wǎng)站中包含有幾種用不同程序語(yǔ)言編寫(xiě)的人工蜂群算法源代碼,同時(shí)也集結(jié)了關(guān)于改進(jìn)人工蜂群算法及其應(yīng)用的許多出版刊物[19]。人工蜂群算法和其實(shí)現(xiàn)均相對(duì)簡(jiǎn)單,因此也可以相對(duì)簡(jiǎn)單地解決優(yōu)化問(wèn)題,而綜合以上的研究可知,人工蜂群算法是低耗、且高效的。因此,在這些最初的研究成果涌現(xiàn)后,學(xué)者們即隨之研發(fā)與實(shí)現(xiàn)了更多的關(guān)于人工蜂群算法的研究。其后的研究大體上可以分為三類:比較和修改、混合型及應(yīng)用。
2.1 比較和修改
基于最初的人工蜂群優(yōu)化算法是為了解決數(shù)值問(wèn)題而提出并形成的,這就使得研究目的即設(shè)定為是和其他著名的算法,例如粒子群優(yōu)化算法、差分進(jìn)化算法、蟻群優(yōu)化算法在一個(gè)標(biāo)準(zhǔn)的數(shù)值函數(shù)上進(jìn)行測(cè)試、從而評(píng)估人工蜂群算法的總體表現(xiàn)。2007年,Karaboga 和Basturk即比較了人工蜂群算法、遺傳算法和粒子群優(yōu)化算法在優(yōu)化多變量函數(shù)問(wèn)題中的應(yīng)用效果[20]。2008年,Karaboga 和Basturk又再次比較了人工蜂群算法、差分進(jìn)化算法和粒子群優(yōu)化算法,及進(jìn)化算法在多維函數(shù)問(wèn)題上的應(yīng)用結(jié)果[21]。2009年,Karaboga 和 Akay更進(jìn)一步比較了人工蜂群算法與遺傳算法,粒子群優(yōu)化算法,以及差分進(jìn)化算法在大量數(shù)值函數(shù)問(wèn)題上的應(yīng)用成果[22]。與此類似的研究還有,Mala et al.把人工蜂群算法應(yīng)用到一系列的優(yōu)化問(wèn)題中,并和蟻群算法進(jìn)行了相應(yīng)比較,由此總結(jié)出人工蜂群算法與蟻群算法相比所獨(dú)具的幾種優(yōu)勢(shì)。2010年,Liet al.則在著名的基準(zhǔn)測(cè)試數(shù)據(jù)上給出了人工蜂群算法,差分進(jìn)化算法和蜂群算法的對(duì)比效果呈現(xiàn)[23]。隨著研究的推進(jìn),2011年,Chu 等發(fā)表了重要的包括人工蜂群算法在內(nèi)的的群體智能綜述[24]。并且2012年,Mohammed 和El-Abd在整體上實(shí)現(xiàn)了包括人工蜂群算法和進(jìn)化算法的覓食性能評(píng)估[25]。
人工蜂群算法在處理連續(xù)搜索空間上的成功推動(dòng)著研究者將其應(yīng)用繼續(xù)拓展到其他的領(lǐng)域。例如,2009年,Akay and Karaboga即將人工蜂群算法應(yīng)用到整數(shù)規(guī)劃問(wèn)題中,并總結(jié)出ABC可以有效地處理證書(shū)規(guī)劃問(wèn)題[26]。2010年,Wang 等則將人工蜂群算法應(yīng)用到支持向量機(jī)的自由參數(shù),應(yīng)用實(shí)踐表明二進(jìn)制人工蜂群算法可以獲得入侵檢測(cè)系統(tǒng)的最優(yōu)特征選擇[27]。2011年,Kashan 等介紹了一個(gè)新版本的ABC,叫做DisABC,就是為二進(jìn)制優(yōu)化而特別設(shè)計(jì)的[28]。2013年,任子武等再次提出一種數(shù)值求解并聯(lián)機(jī)器人正運(yùn)動(dòng)學(xué)問(wèn)題的改進(jìn)人工蜂群算法,藉此表明了該方法是求解并聯(lián)機(jī)器人正運(yùn)動(dòng)學(xué)問(wèn)題的一種有效方法[29]。2014年,龐柒、阮平南和關(guān)志強(qiáng)更提出一種改進(jìn)的人工蜂群算法用于解決煤炭物流中生產(chǎn)物資的運(yùn)輸問(wèn)題,該問(wèn)題屬于典型的車輛路徑問(wèn)題[30]。
2.2 混合型
為了使人工蜂群算法的研究更趨深入與完整,研究者們則將一些傳統(tǒng)的和進(jìn)化的優(yōu)化算法與人工蜂群算法進(jìn)行了創(chuàng)新組合,這類人工蜂群算法即稱做混合型人工蜂群算法。2009年,Kang 等提出了組合Nelder-Mead單形法與人工蜂群算法的混合型人工蜂群算法,這一算法的出現(xiàn)提高了人工蜂群算法的計(jì)算效率。接著,Marinakis 等提出了一種新的混合算法,該算法是基于人工蜂群的概念和貪婪隨機(jī)自適應(yīng)搜索算法,可以實(shí)現(xiàn)N個(gè)對(duì)象最佳聚集到K個(gè)集群。Pulikanti 和Singh繼而又提出了混合人工蜂群算法和貪婪啟發(fā)式、局部搜索算法的混合型人工蜂群算法,并用以解決二次背包問(wèn)題[31]。2010年,Duan 等再次提出了一種新算法,混合了人工蜂群算法和量子進(jìn)化算法以用于解決連續(xù)的優(yōu)化問(wèn)題。Zhaoet 等進(jìn)一步提出了基于遺傳算法的并行計(jì)算優(yōu)點(diǎn)和人工蜂群算法的快速自提高優(yōu)點(diǎn)的新的混合型群體智能算法。同時(shí),Banharnsakun 等也提出了新的混合方法解決TSP問(wèn)題,在人工蜂群算法中的開(kāi)采過(guò)程中使用貪婪交叉方法,以此而提高了算法效能[32]。較新的研究成果還有,2011年,Sharma 和 Pant 提出將差分進(jìn)化算法的操作數(shù)組合到基本人工蜂群算法的結(jié)構(gòu)中。Bin and Qian提出了一種新的人工蜂群算法,用來(lái)解決全局?jǐn)?shù)值優(yōu)化問(wèn)題[33]。2012年,Sundar和Singh提出了混合人工蜂群算法和局部搜索方法解決集合覆蓋問(wèn)題[34]。2013年,楊琳和孔峰發(fā)表了嵌入粒子群優(yōu)化算法的混合人工蜂群算法[35]。2014年,更有柳歡和高亞蘭提出了一種結(jié)合Sobel算子和人工蜂群算法的方法用于對(duì)圖像的邊緣檢測(cè)[36]。
2.3 應(yīng)用
雖然最初的人工蜂群算法是用來(lái)解決數(shù)值問(wèn)題的,但其后的豐富成果卻已經(jīng)用來(lái)解決離散和連續(xù)類型問(wèn)題。2009年,Singh就提出了用于左限制條件的最小生成樹(shù)的人工蜂群算法算法[37]。2010年,Hemamalini 和 Simon則通過(guò)運(yùn)用斜坡率限制和禁止操作區(qū)而將人工蜂群算法應(yīng)用到經(jīng)濟(jì)負(fù)荷分配問(wèn)題中,并總結(jié)出這種方法具有強(qiáng)魯棒性和快速收斂性,而且比其他現(xiàn)有的技術(shù)更適用于此類問(wèn)題的成功解決。同年,Sundar 和Singh又將人工蜂群算法應(yīng)用到二次最小生成樹(shù)問(wèn)題中,這個(gè)問(wèn)題即是最小生成樹(shù)的擴(kuò)展。Sundar 等在將人工蜂群算法算法應(yīng)用到0-1背包問(wèn)題后,其計(jì)算結(jié)果清晰表明了,人工蜂群算法不僅比其他群體智能算法收獲了更好的實(shí)踐效果,而且還可以快速收斂。其后,Sundar 和Singh又將人工蜂群算法應(yīng)用到二次多背包問(wèn)題中,這個(gè)問(wèn)題就是著名的背包問(wèn)題、多背包問(wèn)題和二次背包問(wèn)題的擴(kuò)展[38]。更多的研究成果還有,2011年,Szeto等設(shè)計(jì)了加強(qiáng)版的人工蜂群算法提高了原始版本的解的質(zhì)量,并以此解決了車輛路徑問(wèn)題。Ziarati 等深入研究了用于受工程限制的資源排班問(wèn)題的人工蜂群算法的應(yīng)用。Pal 等則提出用人工蜂群算法解決一條供應(yīng)鏈的綜合采購(gòu),產(chǎn)品生產(chǎn)和裝貨卸貨問(wèn)題。Hemamalini 和 Simon又使用人工蜂群算法解決動(dòng)態(tài)經(jīng)濟(jì)調(diào)度問(wèn)題,而在能源操作控制系統(tǒng)中這是一個(gè)重要的動(dòng)態(tài)問(wèn)題[39]。2012年,Singh 和Sundar也對(duì)應(yīng)提出了用于最短路徑花費(fèi)的生成樹(shù)問(wèn)題的人工蜂群算法[40]。2013年,寧愛(ài)平等再次將人工蜂群算法應(yīng)用于語(yǔ)音識(shí)別。劉俊霞等還將人工蜂群算法應(yīng)用于信道分配,具體仿真結(jié)果表明,改進(jìn)后的算法能較好地解決無(wú)線信道分配問(wèn)題[41]。2014年,再有張春琴將人工蜂群算法應(yīng)用于無(wú)線傳感器網(wǎng)絡(luò)分簇規(guī)劃中。此外,王榮杰等進(jìn)一步發(fā)表了人工蜂群算法在復(fù)數(shù)盲源分離中的應(yīng)用[42]。
人工蜂群算法已經(jīng)在不同領(lǐng)域開(kāi)發(fā)了眾多的應(yīng)用。具體來(lái)說(shuō),即包括訓(xùn)練神經(jīng)網(wǎng)絡(luò)、解決電氣工程中的優(yōu)化問(wèn)題、機(jī)械和土木工程領(lǐng)域、數(shù)據(jù)挖掘領(lǐng)域尤其是采集、特征選擇和規(guī)則的發(fā)現(xiàn)上、圖像處理領(lǐng)域等等。
3 結(jié)束語(yǔ)
人工蜂群算法和其他群體智能優(yōu)化算法有著很多相似之處。具體來(lái)說(shuō),就是
(1)都具有系統(tǒng)性,使用群體的概念來(lái)表示解空間中的個(gè)體集合,個(gè)體與個(gè)體之間都是通過(guò)信息共享、相互協(xié)作來(lái)完成迭代繁衍以及最優(yōu)搜索等任務(wù),表現(xiàn)出了很強(qiáng)的自組織性。
(2)大都采用了選擇算子,這就對(duì)應(yīng)了生物界中“優(yōu)勝劣汰,適者生存”的自然法則,而且也是找到最優(yōu)解的關(guān)鍵因素。
和其他群體智能優(yōu)化算法相比,人工蜂群算法也具有一些獨(dú)有特性。較為突出的就是,人工蜂群算法在進(jìn)行全局搜索的同時(shí),也進(jìn)行局部搜索,并且具有跳出局部最優(yōu)的優(yōu)勢(shì)能力。引領(lǐng)蜂引導(dǎo)個(gè)體的搜索方向,跟隨蜂可使算法加速收斂,偵查蜂則能有助于算法在一定程度上有效地跳出局部最優(yōu)。而這也是人工蜂群算法中蜜蜂之間互換角色的關(guān)鍵所在,藉此算法的性能即獲得了顯著提升。
人工蜂群算法以其控制參數(shù)少、簡(jiǎn)單易實(shí)現(xiàn)、強(qiáng)魯棒性和應(yīng)用范圍廣等特點(diǎn),日益受到廣大研究者關(guān)注與重視。本文介紹了人工蜂群算法的基本模型、原理、實(shí)現(xiàn)流程和步驟,以及國(guó)內(nèi)外的研究現(xiàn)狀。據(jù)此可知,人工蜂群算法雖然已經(jīng)取得了豐碩成果,但對(duì)其的探索依然存有廣闊空間,還有很多需要改進(jìn)并深入研究之處。例如,假設(shè)算法中有n個(gè)食物源,問(wèn)題有d維,迭代t次,則其時(shí)間復(fù)雜度大約為nd+t(3nd/2+4n+d),這就略高于粒子群算法的時(shí)間復(fù)雜度,未來(lái)將可從降低復(fù)雜度的角度來(lái)改進(jìn)現(xiàn)有算法。
參考文獻(xiàn):
[1]ABACHIZADEH M, YAZDI M, YOUSEFI-KOMA A .Optimal tuning of pid controllers using artificial bee colony algorithm[C]//2010 IEEE/ASME international conference on advanced intelligent mechatronics(AIM), 2010:379–384.
[2]王榮杰, 詹宜巨, 周海峰, 等. 人工蜂群優(yōu)化算法在復(fù)數(shù)盲源分離中的應(yīng)用[J]. 中國(guó)科學(xué): 信息科學(xué), 2014 (002): 199-220.
[3]寧愛(ài)平.人工蜂群算法及其在語(yǔ)音識(shí)別中的應(yīng)用[D].太原:太原理工大學(xué),2013.
[4]黃秋菀, 王志剛, 夏慧明. 求解旅行商問(wèn)題的人工蜂群算法[J]. 價(jià)值工程, 2013, 32(9): 206-207.
[5]SRIKANTH A, KULKARNI NJ, NAVEEN KV, et al. Test case optimization using artificial bee colony algorithm[C]//ABRAHAM A, MAURI JL, BUFORD JF, et al, eds. Advances in computing and communications, communications in computer and information science, Springer, Berlin, 2011,192:570–579.
[6]AKAY B, KARABOGA D. A modified artificial bee colony algorithm for real-parameter optimization. Inf Sci. doi:10.1016/j.ins.2010.07.015.
[7]SUNDAR S, SINGH A. A swarm intelligence approach to the quadratic minimum spanning tree problem [J]. Information Sciences, 2010, 180(17): 3182-3191.
[8]劉華.基于改進(jìn)人工分群算法的流水線調(diào)度研究[D]. 廣州:華南理工大學(xué),2013.
[9]付麗, 羅鈞. 引入跟蹤搜索和免疫選擇的人工蜂群算法[J]. 模式識(shí)別與人工智能, 2013, 26(007): 688-694.
[10]GAO Wei-feng, LIU San-yang ,HUANG Ling-ling. Enhancing artificial bee colony algorithm using more information-based search equations [J]. Information Sciences, 2014,270:112-133.
[11]王慧穎, 劉建軍, 王全洲. 改進(jìn)的人工蜂群算法在函數(shù)優(yōu)化問(wèn)題中的應(yīng)用[J]. 計(jì)算機(jī)工程與應(yīng)用, 2012, 48(19): 36-39.
[12]魏紅凱.人工蜂群算法及其應(yīng)用研究[D]. 北京:北京工業(yè)大學(xué), 2012-0 6 .
[13]YANG N, LI P, MEI B. An angle-based crossover tabu search for the traveling salesman problem[C]//Proceedings of International Conference on Natural Computation, 2007:512-516.
[14]李峰磊,丁海軍.蜂群算法的研究與應(yīng)用[D]. 南京:河海大學(xué),2008.
[15]Tom M.Mitchell.機(jī)器學(xué)習(xí)[M]. 曾華軍,張銀奎,等譯. 北京:機(jī)械工業(yè)出版社, 2003-01 .
[16]胡中華, 趙敏. 基于人工蜂群算法的機(jī)器人路徑規(guī)劃[J]. 電焊機(jī), 2009, 39(4): 93-96.
[17]劉勇, 馬良. 函數(shù)優(yōu)化的蜂群算法[J]. 控制與決策, 2012, 27(6): 886-890.
[18]ALBAYRAK M, ALLAHVERDI N. Development a new mutation operator to solve the traveling salesman problem by aid of genetic algorithms[J].Expert Systems with Applications, 2011, 38( 3):1313-1320.
[19]李麗, 程玉榮, 牛奔. 離散人工蜂群算法求解旅行商問(wèn)題[C]//第十三屆中國(guó)管理科學(xué)學(xué)術(shù)年會(huì)論文集, 2011.
[20]KARABOGA D, BASTURK B. A powerful and efficient algorithm for numerical function optimization:artificial bee colony (abc) algorithm. J Glob Optim,2007, 39:459–471.
[21]KARABOGA D, BASTURK B. On the performance of artificial bee colony (abc) algorithm. Appl Soft Comput,2008, 8(1):687–697.
[22]KARABOGA D, AKAY B. A comparative study of artificial bee colony algorithm[J]. Appl Math Comput ,2009,214(1):108–132.
[23]LI H, LIU K, LI X. A comparative study of artificial bee colony, bees algorithms and differential evolution on numerical benchmark problems[C]// CAI Z, TONG HJ, KANG Z, et al ,eds. Computational intelligence and intelligent systems, China University of Geosciences; China University of Geosciences,School of Computer Science, Communications in computer and information science, 2010,107:198–207.
[24]CHU SC, HUANG HC, RODDICK J, et al. Overviewof algorithms for swarm intelligence[C]// JEDRZEJOWICZ P, NGUYEN N, HOANG K, eds. Computational collective intelligence. Technologies and applications. Lecture notes in computer science, Springer, Berlin, 2011,6922: 28–41.
[25]MOHAMMED, EL-ABD. Performance assessment of foraging algorithms vs[J]. evolutionary algorithms.Inf Sci,2012, 182(1):243–263.
[26]AKAY B, KARABOGA D. Solving integer programming problems by using artificial bee colony algorithm[C]//SERRA R, CUCCHIARA R ,eds. AI (ASTERISK) IA 2009: emergent perspectives in artificial intelligence. Italian Association ofArtificial Intelligence; University Modena Reggio Emilia, Lecture notes in artificial intelligence, 2009,5883:355–364.
[27]WANG J, LI T, RENen R. A real time idss based on artificial bee colony-support vector machine algorithm[C]//2010 third international workshop on advanced computational intelligence (IWACI), 2010:91–96.
[28]Kashan MH, Nahavandi N, Kashan AH (2011) Disabc: A new artificial bee colony algorithm for binary optimization. Appl Soft Comput doi:10.1016/j.asoc.2011.08.038.
[29]任子武,?王振華,?孫立寧.?基于改進(jìn)人工蜂群算法的并聯(lián)機(jī)器人正運(yùn)動(dòng)學(xué)解[J].?機(jī)械工程學(xué)報(bào),?2013,?49(13):?48-55.
[30]龐柒, 阮平南, 關(guān)志強(qiáng). 混合人工蜂群算法求解煤炭物流中的 CVRP 問(wèn)題[J]. 現(xiàn)代管理科學(xué), 2014 (1): 72-74.
[31]Pulikanti S, Singh A (2009) An artificial bee colony algorithm for the quadratic knapsack problem. In: Leung CS, Lee M, Chan JH (eds) Neural information processing, pt 2, proceedings, Asia Pacific neural network assembly; International Neural Network Society; Japanese Neural Network Society; European Neural Network Society; IEEE Computat Intelligence Society. Lecture notes in computer science, vol 5864, pp 196–205.
[32]BANHARNSAKUN A, ACHALAKUL T, SIRINAOVAKUL B. Abc-gsx: A hybrid method for solving the traveling salesman problem. In: 2010 second world congress on nature and biologically inspired computing (NaBIC), 2010:7–12.
[33]SHARNA TK, PANT M .Differential operators embedded artificial bee colony algorithm[J]. Int J Appl Evol Comput ,2011,2(3):1–14.
[34]SUNDAR S, SINGH A.A hybrid heuristic for the set covering problem. Oper Res. doi:10.1007/ s12351-010-0086-y.
[35]楊琳, 孔峰. 嵌入粒子群優(yōu)化算法的混合人工蜂群算法[J]. 自動(dòng)化儀表, 2012, 34(1): 50-53.
[36]柳歡, 高亞蘭. 結(jié)合 Sobel 和人工蜂群算法的邊緣檢測(cè)方法[J]. 河南科技, 2014 (2):10-11.
[37]SINGH A.An artificial bee colony algorithm for the leaf-constrained minimum spanning tree problem[J]. Appl Soft Comput,2009, 9(2):625–631.
[38]SUNDAR S, SINGH A. A swarm intelligence approach to the quadratic multiple knapsack problem[C]//WONG KW, MENDIS BSU, BOUZERDOUM A, eds. Neural information processing: theory and algorithms, pt I, Asia Pacific Neural Network Assembly. Lecture notes in computer science, 2010, 6443:626–633.
[39]HEMAMALINI S, SIMON SP. Dynamic economic dispatch using artificial bee colony algorithm for units with valve-point effect[J]. Eur Trans Electr Power,2011, 21(1):70–81.
[40]SINGH A, SUNDAR S. An artificial bee colony algorithm for the minimum routing cost spanning tree problem. Soft Comput. doi:10.1007/s00500-011-0711-6,2012.
[41]劉俊霞, 賈振紅, 覃錫忠, 等. 改進(jìn)人工蜂群算法在信道分配上的應(yīng)用[J]. ?計(jì)算機(jī)工程與應(yīng)用, 2013, 49(7): 119-122.
[42]李海生. 一類基于蜜蜂采集模型的智能算法[J]. 計(jì)算機(jī)與現(xiàn)代化, 2010 (1): 7-11.