趙傳武,黃寶柱,閻躍觀,代文晨,張 建
(1.中國礦業(yè)大學(北京) 地球科學與測繪工程學院,北京 100083;2.開灤(集團)有限責任公司,河北 唐山 063018)
近年來,隨著現實生活中優(yōu)化問題的復雜度增加,傳統優(yōu)化算法不能對其進行有效的處理。智能優(yōu)化算法如蟻群算法(ant colony)、蜂群算法(artificial bee colony,ABC)、粒子群算法(particle swarm optimization,PSO)等是一類種群迭代尋優(yōu)算法,具有算法原理簡單、參數少、易于實現等特點,在參數優(yōu)化[1-3]和遙感圖像處理[4-6]等領域得到了成功的應用。
鯨魚優(yōu)化算法(whale optimization algorithm,WOA)是由澳大利亞學者Mirjalili和Lewis[7]于2016年提出的一種啟發(fā)式搜索算法。算法的本質是模仿座頭鯨捕食行為,將包圍捕食、泡網攻擊、搜尋食物等行為數學模型化。鯨魚優(yōu)化算法與其他群智算法一樣,也存在易早熟、易陷入局部最優(yōu)和收斂速度慢等問題?;诖?,許多學者從算法參數、位置公式以及與其他算法結合等不同角度來提高算法性能。龍文等[8]提出收斂因子隨迭代次數非線性變化的鯨魚優(yōu)化算法,平衡算法的全局搜索和局部搜索能力,結果表明該算法具有較高的收斂精度和較快的收斂速度;鐘明輝等[9]提出隨機調控參數的鯨魚優(yōu)化算法(EWOA),利用隨機分布的方式調控參數,并對當前最優(yōu)個體執(zhí)行變異擾動,仿真實驗表明改進方法能有效處理高維優(yōu)化問題;郭振洲等[10]提出基于自適應權重和柯西變異的鯨魚算法(WOAWC),引入自適應權重,并用柯西逆累積分布函數對鯨魚位置進行變異,實驗表明該算法具有較好的收斂精度和穩(wěn)定性;張永等[11]利用分段Logistic混沌映射初始化種群位置,并引入非線性自適應權重策略,仿真測試結果表明該算法具有更快的收斂速度和更優(yōu)的收斂精度。上述不同策略從不同角度提升了鯨魚優(yōu)化算法的性能,但有些改進策略較復雜,且部分改進算法的收斂速度較慢。
為了加快收斂速度、提高求解精度,同時保留鯨魚優(yōu)化算法結構簡單的特點,該文提出一種非線性權重的自適應鯨魚優(yōu)化算法(NWAWOA)。通過非線性權重S1和S2對鯨魚優(yōu)化算法三個階段的位置更新公式采用兩種不同的加權策略,平衡算法全局搜索與局部開發(fā)能力,同時加快收斂速度、提高求解精度。
鯨魚優(yōu)化算法是模仿座頭鯨捕食而實現的智能優(yōu)化算法,即一種獨特的泡泡網捕食行為[12]。算法采取“螺旋氣泡網”策略,逐步縮小捕食范圍、更新捕食位置,具有結構簡單,調節(jié)參數少等優(yōu)勢[13]。該算法主要包括三個階段:包圍捕食、泡網攻擊、搜尋食物。
座頭鯨能夠識別食物的位置并包圍它們,由于無法提前獲知食物的位置,WOA算法假設當前最佳的候選解為目標食物的位置或最接近目標食物的位置,其他鯨魚個體向最優(yōu)位置靠近,其位置更新的數學表達式為:
(1)
(2)
(3)
(4)
為了模仿座頭鯨泡網攻擊行為,通過收縮包圍和螺旋式更新位置來設計鯨魚捕食吐氣泡行為。
(1)收縮包圍:根據式(2)進行收縮包圍,通過減小式(3)中的收斂因子來實現。若A∈[-1,1]時,鯨魚個體向著當前最優(yōu)鯨魚的位置移動,并且|A|越大步長越大,|A|越小步長越小。
(2)螺旋式更新位置:首先計算鯨魚個體與當前最優(yōu)鯨魚的距離,然后以螺旋方式搜索食物,其中螺旋式數學模型表示為:
(5)
(6)
座頭鯨在捕殺獵物時不僅要收縮包圍圈,還以螺旋形式游向獵物。因此,為了實現這種同步模型,以相同概率(閾值為0.5)進行收縮包圍和螺旋式更新位置,其數學模型表示如下:
(7)
其中,p為[0,1]上的隨機數,當p<0.5進行收縮包圍,當p≥0.5進行螺旋式位置更新。
(8)
(9)
鯨魚優(yōu)化算法與其他群體智能算法一樣,平衡全局搜索和局部開發(fā)能力十分重要。權重對鯨魚優(yōu)化算法有重要作用,權重較大時,收斂速度較快,算法搜索的范圍較大;權重較小時,搜索更加細致,不易錯過最優(yōu)解。
在鯨魚優(yōu)化算法中引入非線性權重S1和S2(如圖1所示),分別對當前最優(yōu)位置和包圍步長進行自適應調整,具體計算公式如下:
圖1 自適應權重S1和S2
(10)
(11)
其中,γ為S1和S2的變化范圍取值,取γ=0.5;λ為S1和S2的取值步長,取λ=1。
文獻[14]中,將權重S1和S2引入到式(2)和式(5)中,如下所示:
|A|<1,p<0.5
(12)
|A|≥1,p<0.5
(13)
筆者認為將權重S1引入到位置上,不符合智能優(yōu)化的初衷,改進公式如下:
|A|<1,p<0.5
(14)
|A|≥1,p<0.5
(15)
同時受文獻[15-16]的啟發(fā),對文獻[14]中的螺旋式位置更新公式即:
p≥0.5
(16)
(17)
由圖1可以看出,S1隨迭代次數增加呈非線性遞增,使種群能充分向最優(yōu)位置移動;而S2隨迭代次數增加呈非線性遞減,在后期有較小步長而加快收斂速度。在平衡全局搜索和局部開發(fā)能力的同時,提高求解精度、加快收斂速度。
改進的鯨魚優(yōu)化算法,對三個階段的位置更新公式采取了不同的加權策略:在包圍捕食和搜尋食物階段,即p<0.5,非線性減小的權重S2僅對距離數據加權;在泡網攻擊階段的螺旋式更新位置,即p≥0.5,非線性增加的權重S1不僅對距離數據加權而且對位置加權。鯨魚算法流程如圖2所示。
圖2 NWAWOA算法流程
為了驗證NWAWOA算法的有效性,選取10個基準測試函數[7]進行仿真實驗,并與PSO算法、WOA算法、WOAWC算法[10]、EWOA算法[14]進行對比。選取的10個基準測試函數如表1所示,F1~F6為單模態(tài)函數,F7~F9為多模態(tài)函數,F10為固定維度多模態(tài)函數。
表1 10個基準測試函數
從兩個方面對算法進行函數優(yōu)化測試:(1)將NWAWOA算法與相關算法(PSO算法、WOA算法、WOAWC算法)進行比較,驗證該方法的求解精度和收斂速度;(2)與文獻[14]中的算法進行比較,進一步檢驗NWAWOA算法的尋優(yōu)性能。
算法的實驗平臺基于Windows 10專業(yè)版,64位操作系統,8 GB內存,采用Matlab R2018a進行仿真實驗。5種算法的相關參數設置如表2所示。
表2 算法參數設置
為了驗證改進算法的有效性,對比NWAWOA算法與PSO算法、WOA算法、WOAWC算法的求解精度、收斂速度和穩(wěn)定性。為了反映算法的求解精度和穩(wěn)定性,4種算法分別對選取的10個基準測試函數獨立運行50次,取50次最優(yōu)值的平均值(mean)和標準差(std),實驗結果如表3所示。為了更加直觀地觀察算法優(yōu)化的過程,圖3展示了4種算法的收斂曲線。
表3 4種算法的性能測試結果
續(xù)表3
從表3可以看出,針對選取的10個基準測試函數,NWAWOA算法尋優(yōu)性能遠優(yōu)于粒子群算法。對于函數F1~F4、F7、F9,均取得理論最優(yōu)解;函數F5、F6、F8雖然沒收斂到理論最優(yōu)解,但與其他3種算法相比,該文提出的算法在求解精度、收斂速度和穩(wěn)定性上均有一定的提高。
同時,對于多模態(tài)函數F9,WOA算法取得理論最優(yōu)解,但從圖3(i)可以發(fā)現,WOA算法迭代238次,而NWAWOA算法在第2次迭代便已取得理論最優(yōu)解0,收斂速度遠優(yōu)于WOA算法;對于固定維度多模態(tài)函數F10,從圖3(j)可以發(fā)現,WOA算法迭代46次得-1.031 6,而NWAWOA算法迭代236次,該文提出的算法對固定維度多模態(tài)函數優(yōu)化效果稍差。
從表3可以觀察到,對于函數F1、F3、F7、F9,WOAWC算法取得了理論最優(yōu)解,但由圖3(a)(c)(g)(i)可以看出,WOAWC算法達到理論最優(yōu)解的迭代次數分別為487、491、151、186次,而NWAWOA算法均在第2次迭代取得了理論最優(yōu)解。
(a)函數F1 (b)函數F2 (c)函數F3
由此可得:NWAWOA算法與其他3種算法相比,在求解精度、收斂速度和穩(wěn)定性上都有一定的提升,尤其在單模態(tài)和多模態(tài)函數優(yōu)化問題上,該文提出的算法更優(yōu)。
筆者受文獻[14]中EWOA算法的啟發(fā),進行了算法的改進。為了進一步檢驗該算法的尋優(yōu)性能,將其與EWOA算法進行比較,實驗結果如表4所示。
表4 文中方法與EWOA算法的性能測試對比
從表4可以看出,兩種算法對函數F1、F7、F9均取得理論最優(yōu)解;但EWOA算法求得最優(yōu)解的迭代次數為130、14、9次,而NWAWOA算法僅迭代2、2、2次便求得最優(yōu)解,表明NWAWOA算法有更快的收斂速度;對于其他的函數的優(yōu)化,NWAWOA算法表現了更高的求解精度和穩(wěn)定性??偟膩碚f,提出的算法具有更優(yōu)的尋優(yōu)性能。
針對鯨魚優(yōu)化算法求解精度低、收斂速度慢的問題,提出一種非線性權重的自適應鯨魚優(yōu)化算法(NWAWOA),在優(yōu)化算法性能的基礎上保留鯨魚優(yōu)化算法結構簡單的特點。通過非線性權重S1和S2對鯨魚優(yōu)化算法三個階段的位置更新公式采用兩種不同的加權策略,平衡算法全局搜索與局部開發(fā)能力,同時提高求解精度、加快收斂速度。對10個經典測試函數進行仿真實驗表明,改進的算法與其他4種算法相比,具有較好的收斂速度、求解精度和穩(wěn)定性,并且易于實現,在實際應用中具有一定的潛力。