李文霞,劉林忠,代存杰,李玉
(蘭州交通大學(xué)交通運(yùn)輸學(xué)院,蘭州 730070)
近年來(lái),隨著群智能優(yōu)化算法的高效發(fā)展,其在解決復(fù)雜優(yōu)化問題時(shí)體現(xiàn)出良好的求解性能,受到學(xué)者們的廣泛關(guān)注,群智能優(yōu)化算法源于對(duì)自然界中生物群體行為的模擬,主要包括遺傳算法[1]、蟻群算法[2]、粒子群算法[3]、人工蜂群(Artificial Bee Colony,ABC)算法[4]等。遺傳算法對(duì)自然界中生物的自然淘汰進(jìn)化過程進(jìn)行模擬,主要通過交叉、變異、選擇算子來(lái)實(shí)現(xiàn),該算法的改進(jìn)方向包括自適應(yīng)算子的引入[5]、多種群方式的改進(jìn)[6]、編碼技術(shù)的改進(jìn)[7]及混沌理論的加入[8]等角度;蟻群算法模擬螞蟻覓食行為,通過信息素的正反饋機(jī)制尋找自蟻巢到食物源的最短路徑,近年來(lái)蟻群算法的改進(jìn)主要集中在信息素的更新策略[9]及路徑選擇策略[10]兩個(gè)方面;粒子群算法對(duì)生物界鳥類覓食行為進(jìn)行模擬,通過對(duì)全局極值的對(duì)比,及時(shí)調(diào)整粒子的搜索速度與方向,相關(guān)學(xué)者從粒子群多樣性的控制[11]、算法中參數(shù)的改進(jìn)[12]、初始化過程中粒子拓?fù)浣Y(jié)構(gòu)的優(yōu)化[13]等方面出發(fā)對(duì)算法進(jìn)行改進(jìn)。上述群體智能算法的優(yōu)化改進(jìn)逐漸趨于成熟,一些新型群體智能算法的提出受到了國(guó)內(nèi)外學(xué)者的廣泛關(guān)注。
受蜜蜂群體覓食行為啟發(fā),Karaboga[4]于2005 年提出了人工蜂群(ABC)算法。相較于其他群體智能算法,人工蜂群算法中的勞動(dòng)分工和協(xié)作機(jī)制有效提高了算法的全局搜索能力,同時(shí)正反饋的尋優(yōu)策略加快了全局尋優(yōu)過程,求解效率更高,并且在求解連續(xù)優(yōu)化問題和組合優(yōu)化問題時(shí)均表現(xiàn)出優(yōu)越的性能,具有廣泛的適用性,已在神經(jīng)網(wǎng)絡(luò)訓(xùn)練[14]、系統(tǒng)工程設(shè)計(jì)[15]、聚類分析[16]和圖像信號(hào)處理[17]等眾多領(lǐng)域得到了廣泛應(yīng)用。
ABC 性能主要取決于搜索方程和個(gè)體選擇策略,基本ABC 的搜索方程包含隨機(jī)個(gè)體信息較強(qiáng),相較于一般群體智能優(yōu)化算法,表現(xiàn)出良好的全局搜索優(yōu)勢(shì),但同時(shí)存在收斂速度慢、求解精度低、易陷入局部最優(yōu)等問題。算法的全局搜索和局部開發(fā)在求解過程中表現(xiàn)出互補(bǔ)性,但在操作上又具有矛盾性,為更好地平衡二者,同時(shí)滿足求解效率和求解精度要求,相關(guān)學(xué)者從搜索機(jī)制改進(jìn)和融合算法等方面進(jìn)行了有效研究。向萬(wàn)里等[18]將最優(yōu)個(gè)體指導(dǎo)信息引入雇傭蜂階段,利用個(gè)體信息對(duì)跟隨蜂的擾動(dòng),進(jìn)一步平衡探索能力和開發(fā)能力。Kiran等[19]考慮算法的下降梯度,對(duì)較強(qiáng)地位的維度進(jìn)行搜索,以提高算法的搜索深度。孟紅云等[20]利用精英信息、隨機(jī)信息及鄰域信息指導(dǎo)雇傭蜂階段搜索,同時(shí)在觀察蜂階段提出全局精英信息和當(dāng)代最優(yōu)信息指導(dǎo)搜索,使算法的尋優(yōu)能力得到顯著提高。Jadon 等[21]受差分進(jìn)化(Differential Evolution,DE)思想的啟發(fā),提出具有差異進(jìn)化的混合人工蜂群(Hybrid Artificial Bee Colony with Differential Evolution,HABCDE)算法,將DE 和ABC 融合,以提供良好的搜索平臺(tái),在提高搜索的深度的同時(shí)不影響探索的廣度。魏鋒濤等[22]為提高種群多樣性,構(gòu)建了混沌反向解初始化機(jī)制,并構(gòu)建跟隨蜂量子更新搜索策略,進(jìn)一步地提高蜜源鄰域內(nèi)的尋優(yōu)質(zhì)量。
上述算法改進(jìn)在不同程度上提高了ABC 的尋優(yōu)能力,但仍有較大改進(jìn)空間,如何進(jìn)一步提高算法的應(yīng)用范圍、收斂速度及收斂精度,仍需深入研究,因此本文提出了一種基于多種群組合策略的人工蜂群(Artificial Bee Colony based on Multipopulation Combination strategy,MCABC)算法。為提高算法搜索效率,針對(duì)雇傭蜂和跟隨蜂分別設(shè)計(jì)不同的組合策略,在跟隨蜂階段劃分了自由種群和非自由種群,針對(duì)不同屬性的個(gè)體采用對(duì)應(yīng)的子策略;同時(shí)在搜索方程中改進(jìn)了維度信息更新機(jī)制,進(jìn)一步提高了算法在高維復(fù)雜函數(shù)的求解性能。為驗(yàn)證本文提出算法的有效性,采用15 個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù),將MCABC與多個(gè)具有代表性的改進(jìn)ABC算法進(jìn)行對(duì)比,進(jìn)一步驗(yàn)證了算法的尋優(yōu)性能。
人工蜂群算法思想來(lái)源于仿生學(xué)中蜜蜂群體覓食行為,蜂群個(gè)體分為雇傭蜂、跟隨蜂和偵查蜂3 種類型,雇傭蜂和跟隨蜂數(shù)量各占蜂群總數(shù)一半,偵查蜂數(shù)量與雇傭蜂相同,雇傭蜂負(fù)責(zé)勘察并將蜜源信息分享給跟隨蜂,跟隨蜂依據(jù)蜜源質(zhì)量通過輪盤賭方式選擇,并在附近尋找更好的蜜源,當(dāng)某一蜜源被舍棄時(shí),雇傭蜂轉(zhuǎn)化為偵查蜂尋找新蜜源,三種蜂群發(fā)揮各自效用,準(zhǔn)確有效完成蜜源的搜索和采集任務(wù)。
在標(biāo)準(zhǔn)ABC 中,當(dāng)前解空間通過式(1)初始化種群,一個(gè)蜜源位置代表問題的一個(gè)可行解,蜜源的位置用D維向量表示Xi=[xi1,xi2,…,xiD],其中:
其中:i=1,2,…,SN,SN是解(蜜源)的數(shù)量,j=1,2,…,D,D是解的維數(shù);xi,j是第i個(gè)解的第j維;?i,j是[0,1]的隨機(jī)數(shù);、是j維的上、下界。
雇傭蜂通過式(2)在初始解附近搜索新解,進(jìn)行局部搜索,并對(duì)每個(gè)蜜源的適應(yīng)度進(jìn)行計(jì)算,進(jìn)而評(píng)價(jià)食物源的優(yōu)劣,若新解優(yōu)于初始解,則保留新解,迭代重復(fù)值Counter(i)加1;否則保留初始解,迭代重復(fù)值Counter(i)不變,即通過貪婪選擇更新解同時(shí)記錄蜜源開采情況。
其中:vi,j是更新后的解;xk,j是在種群中隨機(jī)選擇與xi,j不相同的解;φi,j是[-1,1]的均勻隨機(jī)數(shù)。
跟隨蜂依據(jù)雇傭蜂傳遞的蜜源信息,通過式(3)輪盤賭概率選擇某一蜜源,蜜源的適應(yīng)度值越高,可行解的質(zhì)量越好,被選擇的概率越大。隨后跟隨蜂采用式(2)進(jìn)行鄰域搜索,并采用貪婪選擇更新解,在保留優(yōu)勢(shì)個(gè)體的同時(shí)兼顧蜜源的探索能力。
其中:pi是解i的選擇概率;fiti是解i的適應(yīng)度值。
其中:fi是目標(biāo)函數(shù)值。
當(dāng)某一蜜源長(zhǎng)期未更新時(shí),當(dāng)前蜜源將被遺棄,雇傭蜂轉(zhuǎn)變?yōu)閭刹榉?,通過式(1)隨機(jī)產(chǎn)生新蜜源,算法進(jìn)入雇傭蜂階段。偵查蜂的操作有效避免了算法過早陷入局部最優(yōu),提高了算法的全局探索能力。
標(biāo)準(zhǔn)ABC 受制于搜索策略的單一和搜索方程的信息匱乏,算法的搜索導(dǎo)向性和多源信息的融合性較弱,表現(xiàn)為一種隨機(jī)的無(wú)向搜索,這種無(wú)向搜索雖然一定程度上增強(qiáng)了全局探索能力,但同時(shí)也降低了收斂速度和求解精度,且迭代過程中只更新D維中隨機(jī)選擇的一個(gè)維度,使其在求解高維函數(shù)時(shí)尋優(yōu)能力下降。鑒于此,本文針對(duì)雇傭蜂和跟隨蜂分別設(shè)計(jì)組合策略CS1和CS2。在雇傭蜂階段采用CS1策略,以提高初始種群的深度與廣度;在跟隨蜂階段,為進(jìn)一步明確跟隨蜂個(gè)體的任務(wù)重點(diǎn),針對(duì)自由子集和非自由子集,采用CS2 策略,其中,自由個(gè)體增強(qiáng)探索能力,非自由個(gè)體側(cè)重開發(fā)能力;最后,在搜索方程中融入異維單點(diǎn)更新和多維匹配更新機(jī)制,以提高算法在高維問題中的優(yōu)化效率。
ABC中固有的同維單點(diǎn)更新機(jī)制能夠有效勝任低維問題的求解,而這種單一的更新模式在面對(duì)高維問題時(shí)求解效率顯著下降,既有研究證明,異維搜索避免了ABC 單一搜索模式的局限性,增強(qiáng)了算法的全局搜索能力,有利于算法擺脫局部最優(yōu)[23-24]。為此,本文將多維匹配更新機(jī)制和異維單點(diǎn)更新機(jī)制引入搜索方程,有效利用多維信息的并行優(yōu)化和異維信息的協(xié)同交互,提高算法在求解高維問題時(shí)的精度。多維匹配更新示意如圖1所示,異維單點(diǎn)更新示意如圖2所示。
圖1 多維匹配更新示意圖Fig.1 Schematic diagram of multi-dimensional matching update
圖2 異維單點(diǎn)更新示意圖Fig.2 Schematic diagram of different-dimensional single point update
對(duì)于標(biāo)準(zhǔn)ABC 算法,雇傭蜂主要借助式(2)在當(dāng)前解i的鄰域內(nèi)進(jìn)行一次擾動(dòng),主要包括三個(gè)隨機(jī)項(xiàng)j、k、φi,j,隨機(jī)項(xiàng)j確定某一具體更新維度,隨機(jī)項(xiàng)k確定用于更新的另一個(gè)解,這種更新模式使初始解僅在對(duì)應(yīng)的同一維度內(nèi)更新鄰域,雖然表現(xiàn)出一定的全局探索性,但局部開發(fā)性較弱。因此,為達(dá)到立體式搜索效果,采用一種組合策略CS1 來(lái)平衡算法的探索和開發(fā)能力。
CS1-1 搜索方程中包含了四個(gè)隨機(jī)項(xiàng)M、k、h、φi,j,加強(qiáng)廣度探索:
其中:M是多維匹配更新的維度數(shù);k≠h≠i且k,h∈{1,2,…,SN} 是隨機(jī)選擇的個(gè)體下標(biāo)。M個(gè)維度的多維匹配更新在最大限度上保留了初始解的有效信息,同時(shí)在一定程度上保證了鄰域搜索的均衡性,而隨機(jī)項(xiàng)k、h提高了解在鄰域內(nèi)的探索能力,擴(kuò)大了搜索空間,即CS1-1策略兼顧了雇傭蜂鄰域搜索的廣度與深度。
CS1-2側(cè)重于深度開發(fā),與文獻(xiàn)[20]中式(3)“vi,j=xbest,j+φi,j(xbest,j-xi,j)”不同,式(5)避免了xbest,j與xi,j差距過大時(shí)導(dǎo)致的擾動(dòng)過大,最大限度保留了精英個(gè)體的有益信息,提高了搜索效率。
其中:xbest是每一代中適應(yīng)值最高的精英個(gè)體。
雇傭蜂隨機(jī)選擇CS1-1 和CS1-2,在全局探索的同時(shí)兼顧對(duì)最優(yōu)個(gè)體的開發(fā)。
在跟隨蜂階段,將種群劃分為自由子集和非自由子集,如圖3 所示。為兩類個(gè)體賦予特定的職能,其中自由個(gè)體適應(yīng)值與精英個(gè)體適應(yīng)值相差較大,潛在的開發(fā)效益較差,可以加強(qiáng)其探索能力來(lái)搜索額外的解空間;非自由個(gè)體的適應(yīng)值與精英個(gè)體的適應(yīng)值的差異較小,有更好的挖掘潛能,可以賦予其在非自由子集范圍內(nèi)的開發(fā)能力,以加強(qiáng)算法在優(yōu)勢(shì)個(gè)體的深度搜索。跟隨蜂中非自由個(gè)體搜索通常情況下比自由個(gè)體搜索跨度要小,兩種策略的結(jié)合在深度和廣度上加強(qiáng)了算法的搜索能力。
圖3 種群劃分Fig.3 Population division
平均差異度dt作為劃分種群的依據(jù):
其中:dt是第t代循環(huán)適應(yīng)值的平均差異度;fitbest和fiti分別是精英個(gè)體和第i個(gè)體的適應(yīng)值。
計(jì)算當(dāng)前個(gè)體適應(yīng)度f(wàn)iti與最佳個(gè)體適應(yīng)度f(wàn)itbest的差值,比較差值與平均差異度dt的大小,若差值大于平均差異度,即超出以平均差異度為半徑的范圍,則當(dāng)前個(gè)體視為自由個(gè)體;反之,當(dāng)前個(gè)體視為非自由個(gè)體,以此來(lái)進(jìn)行種群劃分。
在跟隨蜂階段,經(jīng)過輪盤賭選擇后,當(dāng)跟隨蜂選擇的是自由個(gè)體,通過兩個(gè)隨機(jī)個(gè)體和當(dāng)前個(gè)體構(gòu)建探索的子策略CS2-1,包括M、p、q、φi,j四個(gè)隨機(jī)項(xiàng),使其在整個(gè)解空間內(nèi)進(jìn)行隨機(jī)搜索:
其中:p≠q≠i且p,q∈{1,2,…,SN} 。
非自由個(gè)體具有成為下一精英個(gè)體的潛在優(yōu)勢(shì),而多源信息交互是改善搜索性能的有效手段,因此,當(dāng)跟隨蜂選擇的是非自由個(gè)體,則通過當(dāng)前個(gè)體、精英個(gè)體和非自由子集中的隨機(jī)個(gè)體構(gòu)建CS2-2 子策略,在非自由子集范圍跨越維度深度開發(fā),以期發(fā)現(xiàn)未知的優(yōu)勢(shì)個(gè)體:
其中:xe是非自由子集中的隨機(jī)個(gè)體;r1≠r2≠r3且r1,r2,r3∈{1,2,…,D} 。
式(8)與文獻(xiàn)[20]中式(12)在方程結(jié)構(gòu)上很相似,需要注意的是,在文獻(xiàn)[20]中式(12)是利用精英解的有益信息和同維單點(diǎn)更新機(jī)制,相應(yīng)的,式(8)采用的是非自由子集中隨機(jī)個(gè)體的有益信息和異維單點(diǎn)更新機(jī)制,在擴(kuò)大有益解空間的同時(shí)有效利用了異維信息的協(xié)同優(yōu)化。
算法迭代過程中,雇傭蜂隨機(jī)選擇子策略CS1-1 或CS1-2更新初始化種群個(gè)體,通過與初始化種群貪婪選擇保留當(dāng)前優(yōu)勢(shì)個(gè)體;以個(gè)體適應(yīng)值和最佳適應(yīng)值的平均差異度比較作為種群劃分標(biāo)準(zhǔn)對(duì)當(dāng)前優(yōu)勢(shì)個(gè)體進(jìn)行種群劃分,為跟隨蜂階段作準(zhǔn)備;通過輪盤賭方式對(duì)跟隨蜂進(jìn)行選擇,針對(duì)自由子集跟隨蜂采取CS2-1子策略,非自由子集跟隨蜂采取CS2-2子策略,在進(jìn)行貪婪選擇后更新自由子集和非自由子集;對(duì)于達(dá)到未更新次數(shù)的個(gè)體進(jìn)行初始化。不斷循環(huán)上述過程,直到滿足算法停止條件,算法流程如圖4所示。
圖4 MCABC算法流程Fig.4 Flow chart of MCABC algorithm
MCABC偽代碼如下:
MCABC 算法在雇傭蜂階段和跟隨蜂階段分別引入了兩種不同的種群更新策略。在雇傭蜂階段,種群個(gè)體通過隨機(jī)方式選擇策略CS1-1和策略CS1-2進(jìn)行更新,該過程不增加算法的時(shí)間復(fù)雜度。在跟隨蜂階段,涉及循環(huán)前的種群整體劃分和循環(huán)中的種群動(dòng)態(tài)劃分,在循環(huán)前,需依據(jù)種群個(gè)體適應(yīng)值和精英個(gè)體適應(yīng)值的平均差異度作為種群劃分的標(biāo)準(zhǔn),首先依據(jù)適應(yīng)度值對(duì)整個(gè)種群進(jìn)行排序操作(對(duì)總體排序)選擇出精英個(gè)體,其時(shí)間復(fù)雜度為O(SN·log(SN)),然后通過式(7)計(jì)算種群平均差異度,以此標(biāo)準(zhǔn)對(duì)種群整體進(jìn)行劃分;在循環(huán)過程中,每次循環(huán)后需判斷當(dāng)前更新個(gè)體是否為精英個(gè)體,更新當(dāng)前個(gè)體后通過式(7)計(jì)算種群適應(yīng)值的平均差異度來(lái)動(dòng)態(tài)劃分種群,該過程不涉及排序操作,不額外增加算法的時(shí)間復(fù)雜度。
因此,與ABC 算法相比,MCABC 算法在雇傭蜂階段開始前劃分種群過程時(shí)引入了額外的計(jì)算,由于ABC 算法的時(shí)間復(fù)雜度為O(SN·D),因此,MCABC算法時(shí)間復(fù)雜度為O(SN·D+SN·log(SN)),由于D遠(yuǎn)大于log(SN),MCABC 算法的時(shí)間復(fù)雜度可以簡(jiǎn)化為O(SN·D),可見相較于經(jīng)典ABC 算法,MCABC算法具有相同的計(jì)算時(shí)間復(fù)雜度。
為了測(cè)試本文提出MCABC 算法的性能,采用15 個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù),將MCABC與文獻(xiàn)[4]提出的ABC、文獻(xiàn)[25]提出的GABC(Gbest-guided Artificial Bee Colony)、文獻(xiàn)[26]提出的qABC(quick Artificial Bee Colony)、文獻(xiàn)[27]提出的CABC 四種算法進(jìn)行比較,仿真基于Matlab 2016a 軟件平臺(tái)實(shí)現(xiàn)。測(cè)試函數(shù)信息如表1所示。
表1 標(biāo)準(zhǔn)測(cè)試函數(shù)Tab.1 Benchmark functions
仿真在一臺(tái)搭載1.6 GHz 的Intel Core i5 處理器和4 GB內(nèi)存的PC 平臺(tái)上實(shí)現(xiàn)??紤]對(duì)算法性能進(jìn)行較為全面的測(cè)試,采用的15 個(gè)測(cè)試函數(shù)包括了各種類型的特征函數(shù),f1、f2、f4、f6~f8、f12為連續(xù)單峰函數(shù),在解空間中僅有一個(gè)極值點(diǎn);f3在特定的間隔產(chǎn)生階躍現(xiàn)象,是一種不連續(xù)的階躍函數(shù);f5的特征與問題的維數(shù)有關(guān),當(dāng)D≤3 時(shí),f5為單峰函數(shù),當(dāng)D>3時(shí),f5為多峰函數(shù);f9~f11、f13~f15為連續(xù)多峰函數(shù),在解空間中存在大量的局部極小值點(diǎn),該類函數(shù)在求解時(shí)易陷入局部最優(yōu)。算法實(shí)驗(yàn)參數(shù)設(shè)置如下:蜂群規(guī)模NP=60,算法最大迭代次數(shù)MCF=5000,未更新限制次數(shù)Limit=3000,為了測(cè)試算法在低維和高維條件下求解性能的差異,分別在函數(shù)為50維和100 維時(shí)進(jìn)行測(cè)試。比較算法的特定參數(shù)均參照原文設(shè)定[2-3]:qABC 中r=1.5,GABC 中C=1.5。對(duì)每個(gè)測(cè)試函數(shù)運(yùn)行20次,得到最優(yōu)值(Best)、平均值(Mean)、方差(Std)及達(dá)到可接受值的平均迭代次數(shù)(Minc),50 維和100 維仿真結(jié)果如表2~3所示
表2 低維函數(shù)下5種算法的仿真結(jié)果(D=50)Tab.2 Simulation results of five algorithms under low-dimensional functions(D=50)
本文采用4 個(gè)評(píng)價(jià)指標(biāo)對(duì)各算法的性能進(jìn)行對(duì)比,Best(Mean)表示20 次獨(dú)立測(cè)試中的最佳目標(biāo)值(平均目標(biāo)值),Std(Minc)記錄了20次獨(dú)立實(shí)驗(yàn)測(cè)試結(jié)果的標(biāo)準(zhǔn)差(達(dá)到可接受值的平均迭代次數(shù))。表2 記錄了D=50 的測(cè)試結(jié)果。與標(biāo)準(zhǔn)ABC 相比,對(duì)于除f3、f10以外的所有函數(shù),MCABC 在收斂速度、求解精度、穩(wěn)定性上均優(yōu)于ABC,由于f3全局最優(yōu)是一個(gè)區(qū)域,f10全局最優(yōu)不是一個(gè)點(diǎn),因此這兩個(gè)函數(shù)更容易搜索到最優(yōu)值,所以MCABC 與ABC 都能夠求得最優(yōu)值,但MCABC 在收斂性和穩(wěn)定性上顯著優(yōu)于ABC。此外,在函數(shù)f8、f9、f12、f15的求解中,MCABC的求解性能遠(yuǎn)優(yōu)于ABC。MCABC 與其他改進(jìn)ABC 相比,在求解精度上,對(duì)于函數(shù)f3、f10、f11、f15,MCABC 與其他改進(jìn)ABC 均能達(dá)到最優(yōu)值,在除f3、f10、f11、f15以外的其他函數(shù)上,MCABC 在求解精度上均不同程度優(yōu)于其他改進(jìn)ABC。在算法穩(wěn)定性上,qABC 在f5上優(yōu)于MCABC,特別對(duì)于函數(shù)f10,GABC、CABC 與MCABC 均具有最強(qiáng)的穩(wěn)定性,在函數(shù)f11的求解中,GABC 和MCABC 也具有相同的強(qiáng)穩(wěn)定性,在除f5、f10、f11外的其他函數(shù)上,MCABC 均優(yōu)于其他改進(jìn)ABC。在算法收斂性上,qABC 在f5、f12、f14略優(yōu)于MCABC,CABC 在f9優(yōu)于MCABC,在除f5、f12、f14、f9外的其他函數(shù)上,MCABC 均遠(yuǎn)優(yōu)于其他改進(jìn)ABC。綜上,在50 維函數(shù)測(cè)試條件下,MCABC的綜合尋優(yōu)能力優(yōu)于已有的改進(jìn)ABC。
為進(jìn)一步驗(yàn)證本文改進(jìn)算法在高位函數(shù)中的有效性,選擇文獻(xiàn)中常用的4 個(gè)具有代表性的測(cè)試函數(shù)在100 維條件下進(jìn)行仿真,結(jié)果如表3所示。
表3 高維函數(shù)下5種算法的仿真結(jié)果(D=100)Tab.3 Simulation results of 5 algorithms under high-dimensional functions(D=100)
由于MCABC采用多維匹配和異維協(xié)同的更新機(jī)制,因此MCABC 在收斂精度上均超過其他算法,尤其是對(duì)于函數(shù)f10、f15,MCABC 盡管在穩(wěn)定性上不如低維條件下好,但是依舊能收斂到理論最優(yōu)。100 維測(cè)試下MCABC 相較于ABC 及其他改進(jìn)算法在收斂速度上具有顯著優(yōu)勢(shì),并且在穩(wěn)定性上均優(yōu)于其他算法。為更加可視化展示MCABC的求解性能,選取不同類型的四個(gè)函數(shù)f1、f7、f10、f15,分別在50 維和100 維條件下對(duì)5個(gè)算法進(jìn)行對(duì)比,如圖5~6所示,其中,收斂函數(shù)圖是本次獨(dú)立實(shí)驗(yàn)的收斂函數(shù)曲線。
由圖5~6 可以看出,得益于搜索方程更新模式的多樣性,無(wú)論在低維還是高維測(cè)試中,MCABC 收斂速度均明顯快于其他算法,且收斂精度最高,均保持良好的下降趨勢(shì)。在50 維測(cè)試條件下,改進(jìn)4 種ABC 算法能夠有效發(fā)揮各自不同的優(yōu)勢(shì),下降速度和趨勢(shì)差異較為明顯;在100 維測(cè)試條件下,由于維度的顯著增加,受限于搜索方程更新模式的單一性,削弱了改進(jìn)ABC 算法各自的優(yōu)勢(shì),各改進(jìn)ABC 算法的下降趨勢(shì)和收斂速度相對(duì)接近,收斂曲線差異性減小,但MCABC 仍舊保持相較于其他算法的顯著優(yōu)勢(shì)。
圖5 四個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)的50維收斂圖Fig.5 Fifty-dimensional convergence graph of 4 benchmark functions
圖6 四個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)的100維收斂圖Fig.6 One hundred-dimensional convergence graph of 4 benchmark functions
為了檢驗(yàn)MCABC 的時(shí)間復(fù)雜度,在相同的運(yùn)行環(huán)境下,計(jì)算各算法的運(yùn)行時(shí)間,計(jì)算得到15個(gè)算法在D=50條件下的平均運(yùn)行時(shí)間如表4 所示。由表4 可以看出,由于MCABC與ABC 的時(shí)間復(fù)雜度相差不大,故在運(yùn)行時(shí)間上略有增加,而MCABC相較于其他三種比較算法在運(yùn)行時(shí)間上均有降低。因此,本文提出的尋優(yōu)方法在可接受的計(jì)算時(shí)間內(nèi)能夠有效提高算法的求解質(zhì)量。
表4 不同算法運(yùn)行時(shí)間對(duì)比 單位:sTab.4 Running time comparison of different algorithms unit:s
本文提出了一種基于多種群組合策略的人工蜂群算法,通過將多維匹配和異維協(xié)同兩種更新機(jī)制引入搜索方程,提高了算法更新模式的多樣性;同時(shí),分別針對(duì)雇傭蜂和觀察蜂提出了兩個(gè)組合策略,以平衡算法的廣度探索和深度搜索,并在雇傭蜂階段劃分自由子集和非自由子集,以明確個(gè)體的搜索重點(diǎn)。通過對(duì)標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行仿真實(shí)驗(yàn),進(jìn)一步驗(yàn)證了本文所提出的MCABC算法具有良好的尋優(yōu)性能。