李涵 李文敬
摘要:針對鯨魚優(yōu)化算法(WOA) 后期收斂精度差和高維下容易陷入局部最優(yōu)等不足,提出一種基于迭代自適應的鯨魚優(yōu)化算法(IAWOA) 。首先用Circle混沌映射鯨魚個體位置,使個體鯨魚位置分布得更加均勻;其次隨著迭代自適應改變螺旋氣泡網大小,使螺旋氣泡網前期較大而后期慢慢變??;再者用levy flight更新個體隨機位置,幫助算法跳出局部最優(yōu);最后,通過12個基準測試函數(shù),將IAWOA與其他3種算法進行仿真實驗。實驗結果表明,IAWOA有更好的收斂精度和魯棒性。
關鍵詞:鯨魚優(yōu)化算法;Circle混沌映射;迭代自適應;levy flight;基準測試函數(shù)
中圖分類號:TP301? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2023)13-0001-04
開放科學(資源服務)標識碼(OSID) :
0 引言
群智能優(yōu)化算法是一類受自然界動物覓食方式等群體行為,為解決實際的最優(yōu)化問題而提出來的新的計算方法。像蝴蝶算法[1]、麻雀算法[2]等,鯨魚優(yōu)化算法(Whale Optimization Algorithm,WOA) 是2016年Mirjalili等根據(jù)座頭鯨的捕食行為提出的新的群智能優(yōu)化算法[3]。該算法具有參數(shù)少、易懂易實現(xiàn)等優(yōu)點,目前已被應用到圖像分割、路徑優(yōu)化和數(shù)據(jù)預測等領域[4],并且取得了不錯的優(yōu)化效果。
但是,該算法也還存在后期收斂精度差和高維下容易陷入局部最優(yōu)等不足,為此,孟憲猛等人[5]用精英反向學習優(yōu)化初始化種群,提高算法全局搜索的時間和占比,進而提高算法全局搜索的能力;李安東等人[6]用卡方分布的逆累積分布函數(shù)更新收斂因子以實現(xiàn)全局探索和局部開發(fā)的平衡;Tang等人[7]融合了人工蜂群算法的覓食思想提高了鯨魚算法收斂的精度;Chakraborty等人[8]提出饑餓搜索的鯨魚優(yōu)化算法,將饑餓情況下的群體行為和座頭鯨的狩獵行為相結合,從而避免鯨魚算法過早地陷入局部最優(yōu);Dereli等人[9]提出平均群的鯨魚改進算法,當參數(shù)p值低于一定值時,每個鯨魚個體采用群體平均值移動到新的位置,從而提高了算法后期的收斂精度。
綜上所述,大多數(shù)的改進文獻都是對鯨魚種群的初始化、收斂因子A等進行改進,未對鯨魚優(yōu)化算法螺旋氣泡網的大小進行分析,為此本文提出了一種基于迭代自適應的鯨魚優(yōu)化算法(IAWOA) ,對涉及的螺旋氣泡網覓食方式進行進一步的研究改進。
1 鯨魚優(yōu)化算法(WOA)
1.1 包圍獵物
在包圍獵物階段,種群中其他鯨魚不同程度地跟隨最優(yōu)鯨魚,以便能更快地找到食物,其公式如下:
[X(t+1)=X*(t)-A×D]? (1)
[D=|C×X*(t)-X|] (2)
[A=2a×r1-a] (3)
[C=2×r2] (4)
其中t為迭代次數(shù),X*表示最優(yōu)鯨魚的位置,X表示其他鯨魚的位置。A和C為系數(shù)向量,A的值決定算法是進行全局搜索還是局部開發(fā),C的值表示種群中其他鯨魚跟隨最優(yōu)鯨魚的程度,a為收斂因子,隨著t的迭代,a值由2線性遞減至0,r1和r2為[0,1]之間的隨機數(shù)。
1.2 螺旋氣泡網攻擊獵物
鯨魚覓食的第二種方式為螺旋氣泡網,具體表述如下:
[X(t+1)=D1×ebh×cos(2πh)+X*t] (5)
其中[D1=|X*t-X(t)|]表示第t次迭代中最優(yōu)鯨魚個體與當前鯨魚個體之間的距離,b表示螺旋形方程的常數(shù)值為1。h是[-1,1]之間的一個隨機數(shù)。假設鯨魚在追趕獵物的過程中,分別有50%概率選擇包圍獵物和螺旋氣泡網攻擊獵物,且通過p的值進行選擇,p為[0,1]之間的隨機數(shù),當p<0.5時選擇包圍獵物,否則選擇螺旋氣泡網攻擊獵物。
1.3 搜索獵物
當|A|>1時,鯨魚進入全局搜索階段。此時,鯨魚個體位置的更新改為隨機跟隨種群中其他的鯨魚,其數(shù)學模型描述如下:
[D=|C×Xrand-X|] (7)
[X(t+1)=Xrand-A×D] (8)
其中[Xrand]表示當前鯨魚種群中隨機選取的鯨魚個體位置。
2 鯨魚優(yōu)化算法的改進
2.1 鯨魚算法存在的問題與改進策略
在實驗中,發(fā)現(xiàn)鯨魚優(yōu)化算法在求解的過程中,存在后期收斂精度差和容易陷入局部最優(yōu)等不足等問題,主要原因有:前期在包圍獵物時個體鯨魚位置分布不均勻,不利于算法的快速收斂;在螺旋氣泡網攻擊獵物時,螺旋氣泡網的大小未隨迭代而變化,導致算法后期收斂精度不足;在進行全局搜索時,鯨魚個體的隨機位置容易使其陷入局部最優(yōu)。
為了解決上述問題,本文采用Circle混沌映射鯨魚個體位置,提高算法前期收斂速度;隨著迭代自適應改變螺旋氣泡網大小,用于提高算法后期的收斂精度;levy flight改進個體隨機位置,幫助算法減少陷入局部最優(yōu)的次數(shù)。
2.2 Circle混沌映射
通過分析公式(2) 可知,個體鯨魚的位置X的分布也就直接影響鯨魚包圍獵物的效果,為了使鯨魚更快更有效地捕捉到獵物,當前個體鯨魚的位置分布得越均勻越好。在黑猩猩優(yōu)化算法[10]中,用chaos映射的值作為黑猩猩個體位置的系數(shù),使之分布得更為均勻,有更大的包圍空間,從而提高算法的性能,受該文獻的啟發(fā)。對比了常用的幾種映射方法,tent映射、Logistic映射、Sine映射,最后本文選用了遍歷性較好的Circle混沌映射的值作為個體鯨魚的系數(shù)值,具體公式如下:
[X(t+1)=X*(t)-A×D1] (9)
[D1=|C×X*(t)-ui×X|] (10)
[ui+1=mod(ui+0.2-(0.52π)sin(2π?ui),1)]? (11)
其中mod為求余函數(shù)。
2.3 迭代自適應螺旋網
通過對公式(5) 的分析可以得出,控制螺旋氣泡網的參數(shù)主要是b和h,b為定值1,而h為[-1,1]之間的一個隨機值,即這兩個參數(shù)控制的螺旋氣泡網大小是相對固定的,雖然說有隨機值h,但是h的值在迭代過程中,不管是迭代前期還是后期都未隨著迭代t的增加而發(fā)生規(guī)律性的改變,這樣的螺旋氣泡網不利于后期鯨魚的覓食,也會導致算法后期的收斂精度不足。為了彌補這一不足,采用迭代自適應改變螺旋氣泡網的大小,其中k取0.5,這樣有利于平衡算法全局搜索和局部開發(fā)的能力。隨著迭代次數(shù)的增加k1的值從0.5線性減少到0,k2的值從0.5線性增加到1,具體公式如下:
[X(t+1)=k1×D1×ebh×cos(2πh)+k2×X*t] (12)
[k1=(1-k)-(1-k)×ttmax] (13)
[k2=k+1-k×ttmax] (14)
2.4 levy flight改進策略
通過分析公式(8) 可得,在全局搜索階段時,鯨魚隨機跟隨種群中的其他鯨魚進行位置的更新,這樣的跟隨方式容易使其陷入局部最優(yōu)。為此采用levy flight策略改進全局的搜索方式。levy flight在行走過程中有相對較高的概率出現(xiàn)大跨步,將levy flight在空間中隨機行走的特點和隨機選取的個體鯨魚位置相結合,從而幫助鯨魚優(yōu)化算法減少陷入局部最優(yōu)的次數(shù),具體公式如下:
[X(t+1)=Xrand×levy(d)-A×D2]? (15)
[D2=|C×Xrand×levy(d)-X|]? (16)
[levyx=0.01×uv1λ] ? (17)
[u~N0,σ2u? ? ? v~N0,σ2v]? (18)
[σu=Г1+λsinπλ2λ×Г1+λ2×2λ-121λ? ? ? ? ?σv=1]? (19)
其中[Г=0+∞e-ttx-1dt] (20)
其中d為向量的維數(shù)。λ的取值一般為[1,3],在本文中λ=1.5;u和v分別服從如公(18) 所示的正態(tài)分布,其中[σu]和[σv]分別由公式(19) 求得。
2.5 IAWOA算法步驟
基于上面的分析,IAWOA實現(xiàn)步驟如下:
1) 設置種群大小N,最大迭代次數(shù)[tmax];
2) 初始化種群中個體鯨魚的位置X;
3) 計算每頭鯨魚對應的適應度值,更新參數(shù)A、C、h、p、a、k1、k2;
4) 當p<0.5且[A<1],根據(jù)公式(9) 更新個體位置;
5) 當p<0.5且[|A|≥1]時,根據(jù)公式(15) 更新個體位置;
6) 當[p≥0.5]時,根據(jù)公式(12) 更新個體位置;
7) 計算適應值,并更新當前最優(yōu)解;
8) 若[t 3 實驗與分析 為了驗證本文改進算法的性能,實驗共分為兩個部分:1) 單策略有效性分析,即分析單一改進策略對算法性能的影響;2) 對比分析,將IAWOA與其他3種算法進行尋優(yōu)對比; 本文一共選取了鯨魚優(yōu)化算法文獻[3]中F1至F12,12個基準函數(shù)作為測試函數(shù),其中,F(xiàn)1~F7為單峰測試函數(shù),可用于測試算法的開發(fā)性能,F(xiàn)8~F12為多峰函數(shù),可用于測試算法跳出局部最優(yōu)的能力。為了保證實驗的公平性,實驗環(huán)境統(tǒng)一為:Windows 11,處理器Inter(R) Core(TM) i7-11800H ,運行內存16 GB以及Matlab R2018a。 3.1 單策略有效性分析 為了驗證每一種改進策略對算法性能的影響。將只采用Circle混沌映射改進優(yōu)化鯨魚算法(記為aWOA),只采用迭代自適應螺旋網改進優(yōu)化鯨魚算法(記為bWOA),只采用levy flight改進優(yōu)化鯨魚算法(記為cWOA) 。對比單一改進策略和原算法保持一致,其中種群數(shù)N=30、維數(shù)Dim=30、最大迭代次數(shù)[tmax]=500,為了避免偶然性對實驗造成的影響,4種算法獨立運行30次,取其標準差和平均值。 從表1的數(shù)據(jù)可以看出,3種不同的改進策略使算法的尋優(yōu)精度均有所提高,12個尋優(yōu)函數(shù)中,aWOA在F1、F2、F8和F9尋優(yōu)精度提高較為明顯,bWOA在F1~F4、F7、F9、F11和cWOA在F1、F2、F7、F11尋優(yōu)精度有了較大的提升,綜上可以看出,bWOA對原算法的改進效果較好,aWOA和cWOA對原算法的改進效果不相上下。 3.2 與其他算法對比分析 為了進一步說明迭代自適應改進鯨魚優(yōu)化算法(IAWOA) 的性能如何,選取了近年來性能較好和應用范圍較廣大的黑猩猩算法(CHOA) 和灰狼算法(GWO)[11]進行尋優(yōu)對比。由于實際問題往往很復雜,只測試其在低維下的尋優(yōu)性能是完全不夠的,所以將其分別在維數(shù)Dim=30和Dim=100進行了尋優(yōu)對比(具體見表2),其加粗部分表示30次尋優(yōu)平均值精度最好對應的算法。其對比算法的參數(shù)設置都保持和原文一致。 由表2可以得出,宏觀上,在12個測試函數(shù)尋優(yōu)精度中,IAWOA在30維時有9個函數(shù)尋優(yōu)精度排名第一,在100維時有11個函數(shù)尋優(yōu)精度排名第一,遠遠超過了傳統(tǒng)的WOA??梢姼倪MIAWOA算法在尋優(yōu)精度有了較大的提高。再者,在算法獨立運行30次的過程中,IAWOA算法的標準差在30維和100維分別有10次和8次是最小的,其中有2次為0,標準差明顯小于其他對比算法,可見改進后的算法有更好的魯棒性。微觀上,在單峰函數(shù)F1~F4中,不管是在低維還是在高維,IAWOA都能保持較高的尋優(yōu)精度,而且在高維下,其他對比算法精度下降較快,但是IAWOA在高維和低維下尋優(yōu)精度相差不大,可見IAWOA不管是在低維還是在高維情況下都有更強的開發(fā)性能;對于多峰函數(shù)F8~F12,IAWOA在30維和100維分別有4次和5次尋優(yōu)精度最優(yōu),可見IAWOA比WOA有更強跳出局部最優(yōu)的能力,從而找到全局最優(yōu)。 4 結論 針對鯨魚優(yōu)化算法存在后期收斂精度差和高維下容易陷入局部最優(yōu)等不足,本文提出一種基于迭代自適應的鯨魚優(yōu)化算法(IAWOA) 。首先,用Circle混沌映射鯨魚個體位置,使個體鯨魚分布得更均勻;其次,隨著迭代自適應改變螺旋氣泡網大小,使螺旋氣泡網前期較大而后期慢慢變?。辉僬?,用levy flight改進個體隨機位置,減少算法陷入局部最優(yōu)次數(shù)。最后,仿真實驗結果表明,本文改進的算法有更好的收斂精度和魯棒性。在今后的學習中,計劃將IAWOA應用到物流配送路徑優(yōu)化上,通過實際問題進一步驗證IAWOA的性能。 參考文獻: [1] Arora S,Singh S.Butterfly optimization algorithm:a novel approach for global optimization[J].Soft Computing,2019,23(3):715-734. [2] Xue J K,Shen B.A novel swarm intelligence optimization approach:sparrow search algorithm[J].Systems Science & Control Engineering,2020,8(1):22-34. [3] Seyedali,Mirjalili.The whale optimization algorithm[J].Advances in Engineering Software,2016(95):51-67. [4] 許德剛,王再慶,郭奕欣,等.鯨魚優(yōu)化算法研究綜述[J].計算機應用研究,2023,40(2):328-336. [5] 孟憲猛,蔡翠翠.基于精英反向學習和Lévy飛行的鯨魚優(yōu)化算法[J].電子測量技術,2021,44(20):82-87. [6] 李安東,劉升.混合策略改進鯨魚優(yōu)化算法[J].計算機應用研究,2022,39(5):1415-1421. [7] Tang C J,Sun W,Xue M,et al.A hybrid whale optimization algorithm with artificial bee colony[J].Soft Computing,2022,26(5):2075-2097. [8] Chakraborty S,Saha A K,Chakraborty R,et al.HSWOA:an ensemble of hunger games search and whale optimization algorithm for global optimization[J]. International Journal of Intelligent Systems,2022,37(1):52-104. [9] Dereli S.A novel approach based on average swarm intelligence to improve the whale optimization algorithm[J].Arabian Journal for Science and Engineering,2022,47(2):1763-1776. [10] Khishe M.Chimp optimization algorithm[J].Expert Systems With Applications,2020(149):113338. [11] Mirjalili S,Mirjalili S M,Lewis A.Grey wolf optimizer[J].Advances in Engineering Software,2014(69):46-61. 【通聯(lián)編輯:唐一東】