李宗正,周愷卿,歐云,丁雷
(吉首大學(xué)信息科學(xué)與工程學(xué)院,湖南吉首 416000)
群智能算法是一種根據(jù)生物的聚群行為,通過(guò)模擬生物活動(dòng)中各種不同行為的求解問(wèn)題的最優(yōu)解而提出的一類算法。人工魚群算法(Artificial Fish Swarm Algorithm,AFSA)[1]作為一類新的啟發(fā)式智能算法,具有并行性強(qiáng)、簡(jiǎn)單化、全局搜索能力強(qiáng)、收斂速度快、對(duì)目標(biāo)函數(shù)的要求不敏感等優(yōu)點(diǎn),受到了學(xué)者們的廣泛關(guān)注,且應(yīng)用到了不同的領(lǐng)域,如冷水機(jī)組的負(fù)荷優(yōu)化[2]、AGV(Automated Guided Vehicle)路徑優(yōu)化[3]、特征選擇[4]、圖像量化[5]、交通控制[6]、智能車輛軌跡規(guī)劃[7]等。
相較于其他算法,AFSA 出現(xiàn)較晚,在部分問(wèn)題的處理中仍未達(dá)到最佳性能。為了不斷提高AFSA 的性能,使其能夠應(yīng)用于更多領(lǐng)域,學(xué)者們對(duì)其進(jìn)行了大量的研究。Zhu 等[8]提出了一種AFSA 在離散環(huán)境中尋優(yōu)的方法,把步長(zhǎng)從固定距離變?yōu)閷⒏怕市宰兓木嚯x,并通過(guò)引入遺傳算法(Genetic Algorithm,GA)中的交叉變異行為,使其能夠?qū)﹄x散環(huán)境進(jìn)行尋優(yōu),增加了遷徙行為和跳躍行為,提高了算法的全局搜索能力;Zhang 等[9]將AFSA 與GA 相結(jié)合對(duì)多目標(biāo)函數(shù)進(jìn)行了求解,并將其應(yīng)用于模糊拆卸線平衡問(wèn)題中。Duan 等[10]利用了個(gè)體的記憶(即過(guò)去搜索過(guò)的位置)與當(dāng)前位置相比較的方法,對(duì)粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法進(jìn)行改進(jìn),將改進(jìn)后的PSO 引入AFSA 的聚群和追尾行為當(dāng)中,該改進(jìn)算法相較于一般的AFSA,增加了慣性機(jī)制和記憶機(jī)制,提高了算法的局部尋優(yōu)能力;文獻(xiàn)[11]通過(guò)引入拓展記憶[12]和規(guī)范知識(shí)[13]增加規(guī)范溝通行為和規(guī)范記憶行為來(lái)指導(dǎo)人工魚步長(zhǎng)和前進(jìn)的方向,使得人工魚在局部的尋優(yōu)能力進(jìn)一步增強(qiáng);文獻(xiàn)[14]中提出了兩種視野和步長(zhǎng)模糊自適應(yīng)變化的改進(jìn)方法,該方法使視野和步長(zhǎng)能夠很好地契合不同的收斂環(huán)境,大幅提高了算法的收斂精度;文獻(xiàn)[15]中利用社會(huì)學(xué)習(xí)機(jī)制對(duì)算法的局部尋優(yōu)與全局尋優(yōu)進(jìn)行了平衡,提高了算法的總體尋優(yōu)能力。總體來(lái)說(shuō),在大部分針對(duì)AFSA 的改進(jìn)中,主要在于提升算法的局部尋優(yōu)能力,具體表現(xiàn)為對(duì)視野步長(zhǎng)的自適應(yīng)改進(jìn),以及增加不同的尋優(yōu)行為;但該類方法雖能有效提高算法的搜索精度,但在跳出局部最優(yōu)方面仍有欠缺。
由于AFSA 的搜索個(gè)體無(wú)法遍歷整個(gè)解空間,AFSA 的視野和步長(zhǎng)決定了算法的尋優(yōu)效率。在不同的環(huán)境中,人工魚尋優(yōu)時(shí)所需要的合適的視野范圍和步長(zhǎng)存在差異。ASFA 在模仿魚群尋找食物時(shí),視野和步長(zhǎng)能否根據(jù)搜索環(huán)境進(jìn)行自適應(yīng)的變化,是算法能否找到極值的關(guān)鍵。在對(duì)高緯度多極值的目標(biāo)進(jìn)行尋優(yōu)時(shí),有限的搜索資源會(huì)使得算法即使在優(yōu)秀的視野值和步長(zhǎng)值下,仍會(huì)出現(xiàn)陷入局部最優(yōu)問(wèn)題。現(xiàn)有相關(guān)改進(jìn)方法雖然增強(qiáng)了算法的局部尋優(yōu)能力,在找到全局最優(yōu)后能夠迅速收斂,但在陷入局部最優(yōu)后,缺乏有效跳出局部極值的方法,導(dǎo)致在部分求解問(wèn)題中的求解精度與全局最優(yōu)的差異過(guò)大,且在收斂過(guò)程中,視野和步長(zhǎng)無(wú)法完美契合環(huán)境,精度仍有進(jìn)一步提高的空間。
針對(duì)以上存在的問(wèn)題,本文借鑒了GA 中的遺傳思想,提出一種基于基因交換的參數(shù)自適應(yīng)人工魚群算法(Adaptive Artificial Fish Swarm Algorithm utilizing Gene Exchange,AAFSA-GE)。AAFSA-GE 的主要改進(jìn)思想包括如下幾點(diǎn):
首先,使當(dāng)前迭代次數(shù)的最優(yōu)人工魚擁有吸收整個(gè)魚群中的優(yōu)秀基因的能力,從而能夠推動(dòng)整個(gè)魚群向更優(yōu)位置前進(jìn)。
其次,種群的多樣性將決定該方法的尋優(yōu)上限。其他人工魚搜索到的局部最優(yōu)值數(shù)目將與算法收斂到的結(jié)果的優(yōu)劣成正比。為了解決陷入局部最優(yōu)的問(wèn)題和種群多樣性缺乏的問(wèn)題,算法中加入了一種混亂行為。在收斂陷入局部最優(yōu)時(shí)能夠打亂魚群,跳出局部最優(yōu)。對(duì)視野和步長(zhǎng)進(jìn)行了自適應(yīng)的改進(jìn),能夠在不同的環(huán)境中進(jìn)行不同幅度的收斂。
為了驗(yàn)證AAFSA-GE 的可行性,實(shí)驗(yàn)部分通過(guò)10 種經(jīng)典函數(shù)測(cè)試了該算法在多峰函數(shù)下的全局尋優(yōu)能力和單峰函數(shù)下的局部尋優(yōu)能力及在維度之間互不影響的分割問(wèn)題和維度之間存在關(guān)聯(lián)的非分割問(wèn)題上的尋優(yōu)能力。將實(shí)驗(yàn)結(jié)果與其他文獻(xiàn)中提出的改進(jìn)方法做了比較,實(shí)驗(yàn)結(jié)果表明AAFSA-GE 具有較高的精確性和魯棒性。
AFSA 是李曉磊[1]通過(guò)模擬魚群在尋找空間中的最大食物密度時(shí)的行為而被提出的一類新型群智能算法。設(shè)魚群的搜索空間為(L,U)[16],每一條人工魚的狀態(tài)可表示為向量X=(X1,X2,…,Xn)[17],其中Xi(i=1,2,…,n)為第i條人工魚的位置,n為人工魚的種群數(shù)目。目標(biāo)函數(shù)Y=f(Xi)用來(lái)代表在位置Xi處的食物濃度,其中Y為函數(shù)的自適應(yīng)值。每條人工魚都會(huì)被賦予一個(gè)視野和步長(zhǎng),視野用來(lái)收集解空間當(dāng)中的信息,步長(zhǎng)決定人工魚向目標(biāo)移動(dòng)的最大的距離[15]。擁擠度因子δ用來(lái)防止人工魚在食物密度小的地方過(guò)多聚集,當(dāng)滿足f(Xi)/nf<δf(X)時(shí),其中f(X)為目標(biāo)位置的適應(yīng)值,nf為當(dāng)前人工魚視野范圍內(nèi)的其他人工魚的數(shù)目。
AFSA 在尋優(yōu)的過(guò)程中包含三類主要行為[1],分別是追尾行為、聚群行為和覓食行為。
人工魚總會(huì)朝著視野范圍內(nèi)發(fā)現(xiàn)食物密度最大的其他個(gè)體移動(dòng)。設(shè)當(dāng)前的人工魚為Xi,當(dāng)nf>0 時(shí),視野范圍內(nèi)的最優(yōu)人工魚為Xlbest(求最小極值時(shí),適應(yīng)值越小,所處位置越優(yōu))[18]。當(dāng)f(Xlbest)/nf<δf(Xi),則表明Xlbest處的食物密度滿足魚群聚集的條件,Xi向Xlbest移動(dòng)一步。在沒有找到比前人工魚更優(yōu)的人工魚或不滿足擁擠因子條件時(shí),執(zhí)行覓食行為。追尾行為描述公式如式(1)所示:

人工魚總會(huì)聚攏到一起進(jìn)行尋優(yōu)。設(shè)當(dāng)前人工魚為Xi,當(dāng)nf>0 時(shí),視野范圍內(nèi)人工魚的中心點(diǎn)為Xc,當(dāng)f(Xc)/nf<δf(Xi),則表明Xc的食物密度滿足魚群聚集的條件,Xi向Xc移動(dòng)一步。在沒有找到比前人工魚更優(yōu)的人工魚或不滿足擁擠因子條件時(shí),執(zhí)行覓食行為。聚群行為描述公式如式(2)~(3)所示:

其中:Xc為當(dāng)前人工魚Xi視野范圍內(nèi)的中心點(diǎn),Xj為Xi視野范圍的第j條人工魚,nf為Xi的總數(shù)。
人工魚在食物缺乏的情況下會(huì)自行尋找食物。設(shè)當(dāng)前魚為Xi,當(dāng)Xi的視野范圍內(nèi)沒有其他的個(gè)體存在時(shí)或食物缺乏時(shí),在視野范圍內(nèi)重復(fù)且隨機(jī)取點(diǎn)Xr,計(jì)算Xr處的適應(yīng)值,直到Xr處的適應(yīng)值優(yōu)于Xi的適應(yīng)值,且最多重復(fù)計(jì)算try_number次。若在try_number次后沒有找到更優(yōu)的位置則隨機(jī)移動(dòng)一步(稱該隨機(jī)移動(dòng)的一步為隨機(jī)行為)。
覓食行為具體描述公式如式(4)所示:

隨機(jī)行為描述公式如式(5)所示:

根據(jù)以上尋優(yōu)過(guò)程中的三大行為,AFSA 的整體執(zhí)行過(guò)程包括以下7 個(gè)步驟。
步驟1 隨機(jī)初始化魚群;設(shè)置搜索空間、總迭代次數(shù)、視野范圍、種群規(guī)模等參數(shù);設(shè)置目標(biāo)函數(shù)。
步驟2 計(jì)算初始魚群的各個(gè)個(gè)體的適應(yīng)值,取最優(yōu)人工魚的狀態(tài)與其值賦給公告牌。
步驟3 若迭代次數(shù)達(dá)到上限,或局部最優(yōu)達(dá)到函數(shù)期望值p,則輸出優(yōu)化值,結(jié)束算法。
步驟4 對(duì)每個(gè)個(gè)體進(jìn)行評(píng)價(jià),對(duì)其要執(zhí)行的行為進(jìn)行選擇,包括覓食行為、聚群行為、追尾行為。
步驟5 人工魚執(zhí)行所選擇行為進(jìn)行更新,產(chǎn)生新的魚群。
步驟6 評(píng)價(jià)所有個(gè)體。若某個(gè)體優(yōu)于公告牌,則將公告牌更新為該個(gè)體。
步驟7 迭代次數(shù)加1,返回步驟3。
針對(duì)現(xiàn)有改進(jìn)AFSA 難以處理好局部尋優(yōu)與全局尋優(yōu)之間的平衡關(guān)系,以及缺乏跳出局部最優(yōu)能力的問(wèn)題,本文提出的AAFSA-GE 的具體改進(jìn)思路如下:首先,通過(guò)借鑒GA 中保留優(yōu)秀基因的方法,增加了基因交換行為和混亂行為,為跳出局部最優(yōu)提供了一種新的方法;然后,對(duì)視野和步長(zhǎng)進(jìn)行改進(jìn),使算法在每個(gè)階段的尋優(yōu)中都能獲取到合適的視野和步長(zhǎng),有效解決了局部尋優(yōu)與全局尋優(yōu)之間的平衡問(wèn)題。
基因交換行為是從遺傳算法中借鑒的一種改進(jìn)方法。每一條人工魚所代表的位置可以稱為一組基因序列,而每一個(gè)維度都是一個(gè)單獨(dú)的基因。基因交換的主要思想是將每一人工魚同一維度下的基因提取出來(lái)放入當(dāng)前最優(yōu)的人工魚中進(jìn)行比較,從而能夠挑選出當(dāng)前維度下的最優(yōu)基因,最優(yōu)基因作為交換因子與當(dāng)前維度下最優(yōu)人工魚中的基因進(jìn)行替換。改進(jìn)了自適應(yīng)視野和步長(zhǎng)后的AFSA 具有較強(qiáng)的局部尋優(yōu)能力,且能快速準(zhǔn)確地找到局部最優(yōu)值。通過(guò)將所有個(gè)體的同一維度進(jìn)行評(píng)價(jià),找出該維度下最優(yōu)的位置。通過(guò)基因交換能夠有效跳出局部最優(yōu),提高算法的收斂速度。
當(dāng)0≤α<β時(shí),算法判定為陷入局部最優(yōu)或視野范圍與當(dāng)前搜索空間不匹配,此時(shí)算法處于非正常的收斂狀態(tài)。可以通過(guò)判斷w1 是否大于W1 來(lái)指導(dǎo)算法是否進(jìn)行基因交換行為:當(dāng)0≤α<β時(shí),對(duì)w1 進(jìn)行加權(quán),直到w1 >W1,執(zhí)行基因交換行為。基因交換行為公式如式(6)~(8)所示:

其中:N為種群總數(shù),n為維度總數(shù),為第t次迭代中的最優(yōu)個(gè)體的第t+1 次迭代的第k維,為第i個(gè)個(gè)體的第k維,為第t次迭代中最優(yōu)個(gè)體的第k維,為第t次迭代中最優(yōu)個(gè)體與第i個(gè)個(gè)體交換完第k維后的位置,為第t次迭代中最優(yōu)個(gè)體與第i-1 個(gè)個(gè)體交換完第k維后的位置;為第t次迭代公告板中的局部最優(yōu)值,為第t-1 次迭代公告板中的全局最優(yōu)值,p為函數(shù)期望值;β為極值判斷參數(shù),β值大小的設(shè)定代表了正常尋優(yōu)的最小變化的容忍值。
基因交換行為能充分利用魚群中的種群多樣性,通過(guò)個(gè)體與個(gè)體之間的交流找到新的局部最優(yōu)值,但在種群數(shù)量不夠或者種群多樣性匱乏時(shí),會(huì)導(dǎo)致基因交換行為的尋優(yōu)效率降低。于是加入一種混亂行為,通過(guò)打亂整個(gè)種群的位置來(lái)增加種群的多樣性與跳出局部最優(yōu)值。
混亂行為是一種跳出局部最優(yōu)的有效方法,即在算法陷入局部最優(yōu)后,通過(guò)重新初始化種群來(lái)跳出局部最優(yōu),以及縮小搜索范圍來(lái)提高收斂速度和精度。混亂行為后,通過(guò)重新尋優(yōu)能夠找到新的局部最優(yōu)值,進(jìn)而通過(guò)將新的局部最優(yōu)值與舊的局部最優(yōu)值進(jìn)行基因交換行為,將兩次尋優(yōu)中的優(yōu)秀的基因保留下來(lái),以期得到更優(yōu)秀的解。混亂行為具體公式如式(9)~(12)所示:

在搜索前期,為了能快速而準(zhǔn)確地靠近全局最優(yōu)解,需要更大的視野和步長(zhǎng)來(lái)盡可能地獲取解空間當(dāng)中的信息。在搜索后期則需要較小的視野和步長(zhǎng)來(lái)逼近全局最優(yōu)解,提升解的精度。在不同的尋優(yōu)環(huán)境中,視野和步長(zhǎng)有時(shí)需要迅速縮小來(lái)提升精度,有時(shí)則需要緩慢縮小來(lái)在當(dāng)前范圍中進(jìn)行全局尋優(yōu),所以根據(jù)視野和步長(zhǎng)縮小需求的不同,設(shè)置了跳躍權(quán)值。當(dāng)α=0 時(shí),對(duì)視野范圍進(jìn)行跳躍式收縮,保證算法能夠適應(yīng)每個(gè)階段的尋優(yōu)。為了全局尋優(yōu)和局部尋優(yōu)之間的平衡,采取一種自適應(yīng)的視野和步長(zhǎng)來(lái)對(duì)AFSA 進(jìn)行優(yōu)化。視野和步長(zhǎng)具體迭代公式如式(13)~(15)所示:

其中:visualt為第t次迭代的視野范圍,visualt-1為第t-1 次迭代的視野范圍,Ψ為視野跳躍權(quán)值;ξ為視野收縮權(quán)值;stept為第t次迭代的步長(zhǎng),v為控制視野緩慢縮小的參數(shù)。
根據(jù)以上改進(jìn)思想得出的AAFSA-GE 的算法流程如圖1所示。

圖1 AAFSA-GE流程Fig.1 Flowchart of AAFSA-GE
在標(biāo)準(zhǔn)AFSA 中,種群初始化與參數(shù)設(shè)置等時(shí)間量級(jí)為常數(shù)C。在迭代過(guò)程中,迭代總次數(shù)為常數(shù),不計(jì)入時(shí)間量級(jí)。在執(zhí)行準(zhǔn)備執(zhí)行各行為時(shí),需要遍歷每一個(gè)體,種群數(shù)n時(shí),時(shí)間量級(jí)為n。
在模擬聚群行為時(shí),確認(rèn)當(dāng)前人工魚視野范圍內(nèi)其他人工魚數(shù)目i,需要計(jì)算i次距離,且i的最大值為n-1,則時(shí)間量級(jí)n-1。確認(rèn)中心并移動(dòng)完成后,對(duì)個(gè)體每個(gè)維度是否超出解空間范圍判斷,若總維度為k維,時(shí)間量級(jí)為k。
在模擬追尾行為時(shí),確認(rèn)視野范圍內(nèi)人工魚數(shù)目j,j的最大值為n-1,時(shí)間量級(jí)為n-1。尋找視野范圍內(nèi)的最優(yōu)人公魚并移動(dòng)當(dāng)前人工魚,時(shí)間量級(jí)為n-1。對(duì)每一個(gè)維度是否超出解空間范圍進(jìn)行判斷,時(shí)間量級(jí)為k。
覓食行為最多需要尋找try_number次位置,時(shí)間量級(jí)為try_number,更新公告板時(shí)間復(fù)雜度為常數(shù)C。
綜上所述,聚群行為時(shí)間量級(jí)為(n-1) +k,追尾行為時(shí)間量級(jí)為(n-1) +(n-1) +k,覓食行為時(shí)間量級(jí)為try_number。魚群算法總的時(shí)間復(fù)雜度為O(n×((n-1) +k)×try_number)。
AAFSA-GE 在標(biāo)準(zhǔn)AFSA 的基礎(chǔ)上增加了混亂行為和基因交換行為。
混亂行為對(duì)每一個(gè)個(gè)體重置搜索邊界時(shí)間量級(jí)為k,計(jì)算適應(yīng)值時(shí)間量級(jí)為n,總時(shí)間量級(jí)n×k。
基因交換行為對(duì)每一個(gè)維度是否交換進(jìn)行判斷,總維度為k,則時(shí)間量級(jí)為k-1,需要對(duì)每一個(gè)個(gè)體進(jìn)行維度判斷,個(gè)體總數(shù)為n,時(shí)間量級(jí)為n-1。基因交換行為時(shí)間復(fù)雜度為(k-1)×(n-1)。
綜上所述,AAFSA-GE 的時(shí)間復(fù)雜度為O(n×((n-1) +k)×try_number) +n×k+((k-1)×(n-1))=O(n×(n-1)×try_number)。
為了驗(yàn)證提出的AAFSA-GE 的可行性,實(shí)驗(yàn)通過(guò)10 個(gè)經(jīng)典測(cè)試函數(shù)對(duì)相關(guān)算法進(jìn)行測(cè)試,10 個(gè)經(jīng)典測(cè)試函數(shù)如表1所示。

表1 測(cè)試函數(shù)Tab.1 Test functions
表1 測(cè)試函數(shù)中,Sphere、Quadric、Sumpower、Elliptic 為單峰函數(shù);函數(shù)Levy、Griewank、Alipine、Rastrigin、Rosenbrock、Ackley 為多峰函數(shù),其中Rosenbrock 函數(shù)與Levy 函數(shù)為非分割函數(shù)。實(shí)驗(yàn)所選函數(shù)能夠驗(yàn)證算法在多局部極值下的全局搜索能力,以及在單局部極值下的局部搜索能力。在不同特點(diǎn)的函數(shù)下尋優(yōu)能夠證明算法的魯棒性。
在單峰函數(shù)中:Sphere 為球形函數(shù),函數(shù)圖像在二維環(huán)境下呈弧面;Quadric 函數(shù)與Sphere 函數(shù)類似,不同維度的值對(duì)函數(shù)值的約束性隨著維度的減小而降低;Sumpower 函數(shù)由前幾個(gè)維度的值控制函數(shù)的精度,其他維度為噪聲,影響函數(shù)的收斂效率;Elliptic 函數(shù)與Quadric 函數(shù)類似,維度對(duì)函數(shù)精度的控制效率,由低維至高維逐漸變大。
多峰函數(shù)中:Levy 函數(shù)在二維圖像中呈谷型,在谷型底部有多個(gè)局部極值分布;Griewank 函數(shù)整體呈單峰下降的弧面,弧面中有非常多的局部極值,且在靠近0 點(diǎn)的整體平滑區(qū)域,局部極值對(duì)于尋優(yōu)有較大影響;Alipine 函數(shù)在解空間中有由正弦函數(shù)而出現(xiàn)的局部極值,整體較為平滑;Rastrigin函數(shù)有多個(gè)局部極值均勻分布在解空間中;Rosenbrock 函數(shù)解空間中有兩個(gè)局部極值分布在0 和1 處,且在找到1 處的局部極值后,向0 處過(guò)渡時(shí),算法的局部搜索能力對(duì)結(jié)果影響較大;Ackley 函數(shù)在遠(yuǎn)離0 點(diǎn)的位置有多個(gè)較為平整的局部極值,在靠近0 點(diǎn)處函數(shù)值呈漏斗狀急劇減小。
AFSA 具有對(duì)參數(shù)不敏感的特點(diǎn),其參數(shù)的設(shè)置可以在較大的范圍內(nèi)波動(dòng)而不影響魚群的尋優(yōu)效率。AAFSA-GE同樣繼承了這一特點(diǎn),在設(shè)置參數(shù)時(shí),須要將它們?cè)O(shè)置在合理的區(qū)間內(nèi)。
visual和step是決定魚群算法搜索效果的關(guān)鍵參數(shù),其合理的初始值能最大限度地發(fā)揮算法的搜索能力。在設(shè)置visual初始值時(shí),應(yīng)盡可能將搜索范圍覆蓋到整個(gè)解空間,因此較大的visual值能夠有效地保證算法在前期的全局搜索能力。雖然在AAFSA-GE 中,visual和step能夠自適應(yīng)進(jìn)行縮小,但過(guò)大視野會(huì)導(dǎo)致收斂速度變慢,從而影響整個(gè)搜索過(guò)程的搜索效率。因此,本文為了保證全局搜索和搜索效率之間的平衡,根據(jù)維度將視野范圍設(shè)定為(U-L)。在step初始值的設(shè)置中,過(guò)大的step初始值會(huì)導(dǎo)致視野對(duì)人工魚的約束降低,過(guò)小的步長(zhǎng)會(huì)導(dǎo)致算法收斂速度過(guò)慢,因此本文將初始步長(zhǎng)設(shè)置為0.5visual。
在維度不同的維度中,算法在搜索局部最優(yōu)值時(shí)會(huì)有不同的速度和精度。執(zhí)行基因交換行為和混亂行為的條件需要根據(jù)維度的不同進(jìn)行變化。基因交換行為判斷參數(shù)M1=n/2,混亂行為判斷參數(shù)M2=5n,其他參數(shù)保持與文獻(xiàn)[8]中的一致,其中維度n=10,最大迭代次數(shù)T=1 000。擁擠度因子δ=0.75。實(shí)驗(yàn)中AAFSA-GE 余下的參數(shù)設(shè)置如表2所示。

表2 AAFSA-GE初始參數(shù)Tab.2 Initial parameters of AAFSA-GE
實(shí)驗(yàn)與近年來(lái)發(fā)表的相關(guān)改進(jìn)AFSA,包括規(guī)范魚群算法(NFSA)[11]、基于擴(kuò)展記憶粒子群優(yōu)化算法的改進(jìn)人工魚群算法(FSA optimized by PSO algorithm with Extended Memory,PSOEM-FSA)[10]、綜合改進(jìn)人工魚群算法(Comprehensive Improvement of Artificial Fish Swarm Algorithm,CIAFSA)[19]進(jìn)行了比較。表3 記錄了10 次運(yùn)行結(jié)果中的平均值Mean、最小值Best 以及標(biāo)準(zhǔn)差SD。

表3 幾種方法的實(shí)驗(yàn)結(jié)果對(duì)比Tab.3 Experimental results comparison of several methods

續(xù)表
由表3 數(shù)據(jù)可以得出如下結(jié)論:
1)在多峰函數(shù)的尋優(yōu)中,AAFSA-GE 均能找到全局最優(yōu)值,且在Griewank 函數(shù)、Rastrigin 函數(shù)和Levy 函數(shù)中的求解精度能夠達(dá)到全局最優(yōu)0值。AAFSA-GE 除了在Rosenbrock函數(shù)的求解精度上劣于NFSA 外,在其他4 種函數(shù)的尋優(yōu)上均優(yōu)于對(duì)比算法,特別是在Griewank 函數(shù)的尋優(yōu)中,其結(jié)果明顯優(yōu)于其他三種改進(jìn)算法。證明了AAFSA-GE 具有優(yōu)秀的全局尋優(yōu)能力和跳出局部最優(yōu)的能力。
2)在單峰函數(shù)的尋優(yōu)中,AAFSA-GE 除了Sumpower 函數(shù)的尋優(yōu)精度上劣于NFSA,在其他四種函數(shù)的尋優(yōu)中精度要遠(yuǎn)遠(yuǎn)高于其他算法。證明了step和visual的收縮策略的有效性,視野和步長(zhǎng)相較于其他算法,能夠更好地契合搜索環(huán)境,提高尋優(yōu)效率。
3)在所有的分割函數(shù)的尋優(yōu)中,AAFSA-GE 的求解精度和效率優(yōu)于其他算法,但在Rosenbrock 函數(shù)和Sumpower 函數(shù)的尋優(yōu)上,其精度要劣于NFSA。由于Rosenbrock 函數(shù)和Sumpower 函數(shù)在所有維度上的最優(yōu)值相同。在迭代后期,NFSA 中的規(guī)范行為能夠?qū)⑺芯S度上的值向同一個(gè)值收斂,避免了維度與維度之間的控制關(guān)系和噪聲的影響。使算法能夠以極快的速度向全局最優(yōu)收斂。非分割函數(shù)維度之間的關(guān)聯(lián)在全局最優(yōu)值下的收斂尤為明顯。在AAFSA-GE的尋優(yōu)中,由于無(wú)法消除這種影響。算法對(duì)Rosenbrock 函數(shù)和Sumpower 函數(shù)尋優(yōu)精度要劣于NFSA。
由實(shí)驗(yàn)結(jié)果可知,本文提出的AAFSA-GE 在大部分函數(shù)的優(yōu)化上要好于其他三種算法。
針對(duì)優(yōu)化問(wèn)題的求解,本文提出了AAFSA-GE,并通過(guò)經(jīng)典測(cè)試函數(shù)將其與其他類似改進(jìn)AFSA 算法,如NFSA、PSOEM-FSA、CIAFSA 進(jìn)行了全面的比較。實(shí)驗(yàn)結(jié)果表明,在全局搜索能力、收斂速度和精度上AAFSA-GE 要優(yōu)于其他三種類似改進(jìn)算法,且具有跳出全局最優(yōu)的能力。至今為止,仍沒有一種算法能夠完美地解決所有的優(yōu)化問(wèn)題,AAFSAGE 的提出為部分優(yōu)化問(wèn)題的解決提供了一種新的思路。雖然AAFSA-GE 能夠通過(guò)強(qiáng)制逼近收斂到部分函數(shù)的全局最優(yōu)解,但在非分割問(wèn)題上仍存在精度不夠的缺陷,其主要和收斂特性有關(guān)。在該類問(wèn)題的尋優(yōu)中,或可采用跳躍式的逼近方法來(lái)達(dá)到快速收斂的目的。