?

基于混合策略改進的鵜鶘優化算法*

2024-03-15 07:37蘇瑩瑩任曼銅
制造技術與機床 2024年3期
關鍵詞:鵜鶘測試函數余弦

蘇瑩瑩 任曼銅

(沈陽大學機械工程學院,遼寧 沈陽 110044)

鵜鶘優化算法(pelican optimization algorithm,POA)[1]是2022 年由Pavel Trojovsky和Mohammad Dehghani 提出的一種新的自然啟發優化算法。POA設計的主要思想是模擬鵜鶘在狩獵過程中的自然行為。該算法分為兩個階段,第一個階段是向獵物移動(探索階段),種群通過在搜索空間不斷掃描獲取獵物位置并向其移動;第二階段是在水面上展翅(開采階段),鵜鶘種群通過不斷更新迭代獲取最佳捕食位置。與經典的遺傳算法、新興的黑猩猩算法等群智能優化算法相比,POA 具有尋優能力強、參數較少、易于實現等優勢。一些學者將POA 應用于工程領域,例如董青等[2]利用POA 建立橋架結構壽命預測的優化加點代理模型,實現對橋架結構安全性的預測;朱錫山等[3]提出一種新的鵜鶘優化算法-卷積神經網絡-堆疊回歸模型(POA-CNNREGST)對電梯鋼絲繩滑移量進行預測,利用POA 對CNN-REGST 模型進行優化,提高了電梯安全狀態評估的準確性。Al-Wesabi F 等[4]提出了一種在物聯網中采用聯邦學習驅動攻擊檢測和分類技術的鵜鶘優化算法(POAFL-DDC),利用POA 對DBN 超參數進行優化。結果表明,POAFL-DDC 取得了更好的結果。然而,POA 在捕食階段,必須考察鵜鶘鄰域范圍才能收斂到較好解,因此基于鄰域進行搜索時,雖然具有較強的局部搜索能力,但對全局的搜索能力不足。針對這些問題,Song H M等[5]提出了一種基于混沌干擾因子和初等數學函數的改進POA,在探索階段引入了10 種不同的混沌干擾因子。選擇出性能最優的改進POA 后,在POA 的利用階段引入6 種不同的初等數學函數來提高其優化性能,但由于不同的混沌因子在處理不同測試函數時發揮的作用不同,因此整體優化結果有待加強。高猛等[6]利用Circle 映射對鵜鶘種群進行初始化,利用改進鵜鶘優化算法,建立極限梯度提升模型以提高電機故障診斷的準確度,雖然增加了初始種群的多樣性,但仍無法解決鵜鶘算法后期易陷入局部最優的現象。周建新等[7]首先引入自適應權重提高算法尋優精度,然后結合正余弦算法提升算法性能,同時增加擾動因子防止種群陷入局部最優,并將改進鵜鶘優化算法與長短神經以及網絡相結合,最后提升了鋼坯溫度的預測精度,但該算法的測試函數較少且精度有待進一步提升。

這些改進雖然在一定程度上提高了算法的性能,但在后期容易陷入局部最優,改進效果不夠顯著。為了進一步提高POA 的性能并檢驗該算法在實際應用中的效果,本文提出了一種基于混合策略改進鵜鶘優化算法。首先,在種群初始化階段使用折射反向學習策略,擴大搜索空間,增加種群的多樣性;其次,將正余弦優化算法運用到改進算法中,利用正余弦特性增強POA 算法全局與局部的搜索能力;然后,利用Levy 飛行策略,對鵜鶘個體進行變異,提高算法跳出局部最優的能力;最后,使用t分布變異提高后期收斂速度和精度。通過12 個不同的基準函數進行算法性能測試,比較IPOA 與已有的5 種經典算法海鷗優化算法(seagull optimization algorithm,SOA)、黑猩猩優化算法(chimp optimization algorithm,ChOA)、鯨魚優化算法(whale optimization algorithm,WOA)、蛇群優化算法(snake optimizer,SO)和基本鵜鶘優化算法的仿真結果。結果表明,IPOA 算法具有更好的優化精度和更快的收斂速度。

1 改進鵜鶘搜索算法

1.1 鵜鶘優化算法

POA 由勘察階段和開采階段組成,流程如下:

首先鵜鶘種群根據問題的下界和上界利用方程隨機初始化。

式中:xi,j為第i個候選解指定的第j個變量的值;N為種群成員個數;m為求解問題的維度;lj為問題變量的第j個下界,uj為第j個上界,rand為區間[0,1]內的隨機數。

在提出的POA 中,每個種群成員是鵜鶘,是給定問題的一個候選解。完成初始化后,鵜鶘進入勘察階段。在這一階段,在解空間內隨機生成獵物的位置,鵜鶘識別獵物的位置,然后向這個識別的區域移動,其表達式如下:

勘探階段完成后,鵜鶘進入開采階段。鵜鶘到達水面后,在水面上扇動翅膀將魚體向上移動,在其咽喉囊中收集獵物。在這一階段,算法考察鵜鶘位置鄰域內的點,向狩獵區更好的點收斂,其表達式如下:

在第一階段和第二階段更新完所有種群成員后,基于種群的新狀態和目標函數的值,更新到目前為止最好的候選解。算法進入下一次迭代,重復上述提出的POA 步驟,直到完全執行結束。最后,將算法迭代過程中得到的最佳候選解作為給定問題的準最優解。

1.2 改進鵜鶘搜索算法

1.2.1 折射反向學習機制策略

在種群初始化階段,初始種群的質量對算法后期的求解過程及得出的結果均具有一定的影響。采用反向學習機制初始化種群個體的位置,可以使初始解在搜索空間中的分布更均勻。

反向學習(opposition-based learning,OBL)是由Tizhoosh H R[8]提出的一種擴大種群搜索范圍的優化策略,其核心思想是其通過計算當前解的反向解,并選擇較優解進行迭代,來找出給定問題的更優解,有利于提高算法的尋優效果。但在后期容易出現反向解落入局部最優區域的現象。結合光的折射原理而提出的折射反向學習(refracted oppositionbased learning,ROBL)[9]可以在不同程度上改善算法性能,擴大搜索空間。其原理如圖1 所示。

圖1 折射反向學習機制

在圖1 中,以x軸為分界線,x軸上的解的搜索區間為[a,b],y軸表示法線,x軸上方有一光點從一種介質射入另一種介質,l為入射光線,l*為折射光線,α和β分別為入射角和折射角,a、b分布在點O兩端。根據圖中各參數的幾何關系,可得折射率n的表達式為

令k=l/l?,代入式(4)并將其拓展到多維空間可得折射方向解:

式中:xi,j代表該群體中第i只鵜鶘在j維上的位置;為xi,j的折射反向解;aj和bj分別表示搜索空間在j維上的下界和上界;k的大小決定了鵜鶘種群的位置,通過調整可以使種群向全局最優的位置靠近。

1.2.2 融合正弦余弦優化算法策略

正余弦算法(sine cosine algorithm,SCA)是2016 年由澳大利亞學者Mirjalili S[10]提出的基于數學性質的變化的新型元啟發式優化算法。該算法通過迭代利用正弦余弦的變化對算法進行全局搜索和局部搜索,其個體的位置為

式中:t為當前迭代次數;Tmax為最大迭代次數。

正弦余弦優化算法[11]在迭代的過程中,通過不斷更新參數r1,實現個體在參數r4的控制下選擇正弦函數或余弦函數更新位置信息,從而更好地平衡算法的全局搜索能力與局部開發能力,當迭代到最大次數時,保存個體最優位置。

1.2.3 Levy 飛行機制策略

Levy 飛行[12]是一種非常有效地提供隨機因子的數學方法,用來模擬自然界中的動物在不確定的環境中找尋食物的過程,并且服從萊維分布,是一種短距離探索與偶爾長距離行走相間的飛行方式[13]。

在標準的POA 開采階段,在鵜鶘附近進行獵物的局部搜索時,隨著迭代次數的增加,在最優解附近鄰域內的鵜鶘容易陷入局部最優。為此,本文在鵜鶘在開采階段引入Levy 飛行機制,對鵜鶘個體進行變異,擴大搜索半徑,增加種群多樣性,避免陷入局部最優,增強全局探索能力。在開采階段,改進后的鵜鶘位置更新方式如下:

式中:Γ為標準Gamma 函數;β為[0,2]內隨機數;r5為[0,1]內隨機數;參數u、v為服從式(10)所示的正態分布隨機數。

使用Levy 飛行機制的位置更新方程為

1.2.4 基于迭代次數的t分布變異

t分布又稱為學生t分 布(student’st-distribution)[14],其含有的參數自由度n影響著函數曲線的形態,自由度n取值越小,曲線中部越平緩。n=1 時,t(n=1)→C(0,1);n=∞ 時,t(n=∞)→N(0,1)。其中,C(0,1) 為柯西分布,N(0,1)為高斯分布,即柯西分布和高斯分布是t分布自由度取1 和 ∞時的兩個邊界特例,其函數分布如圖2 所示。

圖2 t 分布函數分布圖

為進一步提高算法的尋優性能,防止其在迭代后期陷入局部最優,本文對鵜鶘個體的位置進行自適應t分布變異,定義如下:

自適應t分布變異[15]以算法的迭代次數作為t分布的自由度參數。在算法運行前期,由于迭代次數較小,自由度n取值較小,曲線中部比較平緩,此時算法具有較好的全局探索能力;隨著迭代次數的增加,自由度n逐漸增大,曲線中部凸起,此時算法具有較好的局部開發能力;當自由度無窮大時,t分布變異蛻變為標準正態分布。因此,t分布變異結合了柯西分布和高斯分布的特點和優勢,同時具有全局探索能力和局部開發能力。

1.2.5 混合策略改進鵜鶘優化算法步驟

步驟一:設置算法參數和種群數量。

步驟二:反向折射學習機制初始化種群。

步驟三:計算適應度值,在搜索空間中隨機生成獵物。

步驟四:根據式(6)更新鵜鶘位置。

步驟五:根據式(11)更新鵜鶘位置。

步驟六:對最優個體按照式(12)進行t分布變異。

步驟七:判斷是否達到算法結束條件,若未達到,則跳轉步驟三。

步驟八:記錄最優結果,結束運行。

改進鵜鶘優化算法流程圖如圖3 所示。

圖3 改進鵜鶘優化算法流程圖

2 仿真實驗和結果分析

2.1 不同算法比較

為了測試改進鵜鶘優化算法(IPOA)的整體性能,通過Matlab 對原始POA 和ChOA、WOA、SO、SOA 五種新興的算法與IPOA 進行對比,利用12個基準函數進行測試。

本文實驗均在相同環境下進行:64 位的Windows 11 系統,8G 內存,AMD Ryzen 7 6800H處理器,Matlab R2018b 仿真軟件?;鶞蕼y試函數見表1,其中F1~F6 為單峰函數,F7~F10 為多峰函數,F11 和F12 為固定維多峰函數。為了降低實驗偶然性,仿真程序中設置種群大小為30,最大迭代次數為500。算法其他參數設置見表2。

表1 12 個基準測試函數

表2 算法的參數設置

表3 給出了五種新型算法和IPOA 算法分別在12 個測試函數上運行30 次的結果,其中單峰函數的優化結果表明IPOA 具有較強的開發能力以逼近最優解,而多峰函數的優化結果表明IPOA 具有較強的在搜索空間中搜索最優區域的能力。從表3 可以看出,IPOA 算法在F1、F2、F3、F4、F8、F10、F12 的7 個測試函數上均能收斂到理論最優值,且標準差均為0,在求解質量、精度、穩定性、魯棒性上都優于其他算法;對于F5、F6、F7、F9、F11這5 個函數,雖然沒有收斂到理論最優值,但在穩定性上,IPOA 算法在很大程度上優于其他算法,說明其具有跳出局部最優的能力。相比于POA 算法,IPOA 在除F5 之外的11 個基準函數上的標準差與平均值均獲得了顯著的優勢,進一步證明了改進算法策略的有效性。

表3 測試函數結果

為了更直觀地反映出IPOA 算法的性能,本文給出算法在測試函數上的收斂曲線如圖4 所示,可以看出,對于單峰函數,IPOA 算法在F1~F4 上的收斂速度和精度明顯優于其他算法,在迭代次數不到300 時,IPOA 算法就已經找到理論最優值,這主要是因為IPOA 在種群初始化時利用反向折射學習擴大種群搜索范圍,且在全局搜索階段利用正余弦算法,更好地平衡了算法的全局搜索與局部開發能力,最后使用Levy 飛行機制擺脫局部最優的約束,加快算法的收斂速度與精度。對固定維多峰函數F12,其他算法均陷入了局部最優,而IPOA 的優化效果最好且最優值為0,說明改進策略提高了基本算法跳出局部最優的能力,證明了改進算法的可行性。

圖4 測試函數收斂曲線圖

2.2 不同改進策略性能分析

為對比不同改進策略的有效性以及對POA 性能提升的影響,將POA 與引入反向折射學習機制的鵜鶘優化算法(RPOA)、融合正余弦算法的鵜鶘優化算法(SCPOA)、融合Levy 飛行機制的鵜鶘優化算法(LPOA)、引入t分布變異的鵜鶘優化算法(TPOA)和POA 在12 種基準測試函數上進行對比,驗證各自策略的有效性和混合策略改進POA 的優勢。算法的實驗參數與2.1 節一致,實驗結果見表4。

表4 不同改進策略算法的尋優結果對比

由表4 中數據可知,LPOA 和TPOA 在函數的尋優過程中起決定性作用,RPOA 和SCPOA 對函數的尋優也有一定的作用。對于單峰函數,在對F1~F4 尋優時,LPOA 和TPOA 均能找到理論最優值0;對于多峰函數,LPOA 和TPOA 在F7、F9、F11 未能找到理論最優值,但與POA 相比,尋優精度有一定的提升,從而證明了這兩種策略的有效性。在函數F1~F7 的尋優上,RPOA 的尋優性能不是很明顯,但相比于原始POA 還是有一定程度的提高,比如在對F1 尋優時,比POA 高了60 個數量級。SCPOA 在六個函數上的標準差都為0,且在F5、F11 尋優過程中各種改進策略均未找到最優值,但SCPOA 尋優貢獻比其他策略大,說明其相較于POA 具有較強的穩定性和尋優精度。通過上述數據的比較,四種策略在對基礎函數的求解上,每個改進策略對于算法尋優性能的提升均有一定效果,驗證了各個策略的有效性。而綜合了四種策略的IPOA 相較于結合一種策略的POA 具有更高的收斂性和精度,證明了混合策略的有效性。

3 IPOA 算法求解壓力容器問題

為進一步驗證算法性能,評估IPOA 在實際應用中的有效性,本文將IPOA 算法應用于壓力容器結構設計中。壓力容器是一種用于石油化工、能源工業、科研和軍事工業等領域,承載一定壓力的設備。壓力容器是一個最小化問題,其設計目標是使其在耐壓前提下,設計制作的總成本最小,其結構設計如圖5 所示,容器的兩端有蓋子封頂,L為圓柱體部分的橫截面長度,R為內部半徑,Ts為圓柱體部分壁厚,Th為頭部半圓的壁厚,L、R、Ts和Th為四個設計變量,問題的數學模型表示如下。

圖5 壓力容器問題示意圖

分別用基本POA 算法和IPOA 算法對該問題進行求解,得到的結果見表5,可以看出,IPOA 在穩定性和尋找最優解上都具有顯著優勢。從壓力容器收斂圖6 可以直觀地看出,IPOA 在100 代時已經開始收斂于最優值,但POA 接近250 代時才找到最優值,在收斂速度上IPOA 明顯強于POA,所以IPOA 更能夠有效地求解工程應用問題。

表5 壓力容器設計問題求解結果

圖6 壓力容器設計求解收斂曲線圖

4 結語

本文針對基本POA 算法的不足,通過引入折射反向學習機制、融合正余弦算法、Levy 飛行機制和基于迭代次數的t分布變異,提出了一種改進的IPOA 算法。首先利用反向折射學習得到初始種群,利用正余弦函數的震蕩特性擴大搜索范圍;然后在開采階段引入Levy 飛行機制更新種群位置,避免算法陷入局部最優;最后利用以迭代次數作為自變量的t分布變異加快算法的收斂速度,提高算法尋優精度。將IPOA 與其他五種算法通過12 個經典測試函數進行檢驗比較,并通過壓力容器優化設計問題進一步驗證。結果表明,改進鵜鶘優化算法在全局尋優以及局部開發方面具有更優表現,驗證了改進策略的有效性。

猜你喜歡
鵜鶘測試函數余弦
假如鵜鶘過人的生活
大嘴鵜鶘懟世界
養只鵜鶘當跟班
具有收縮因子的自適應鴿群算法用于函數優化問題
兩個含余弦函數的三角母不等式及其推論
帶勢函數的雙調和不等式組的整體解的不存在性
分數階余弦變換的卷積定理
約束二進制二次規劃測試函數的一個構造方法
圖像壓縮感知在分數階Fourier域、分數階余弦域的性能比較
面向真實世界的測試函數Ⅱ
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合