李彥蒼, 李一凡, 王釗, 王育德
(河北工程大學土木工程學院, 邯鄲 056038)
隨著大數(shù)據(jù)時代的快速發(fā)展,傳統(tǒng)的優(yōu)化算法已經(jīng)不能很好地解決信號處理、人工智能等領(lǐng)域存在的復雜優(yōu)化問題。對此研究人員基于群智能原理[1],提出了群智能優(yōu)化算法(swarm intelligence algorithm,SIA)[2],又稱仿生智能優(yōu)化算法,通常是受自然界中昆蟲、鳥獸等生物的群體行為或活動規(guī)律啟發(fā)所提出的,即在一定范圍的區(qū)域空間內(nèi)尋找最優(yōu)解,具有較好的靈敏性、魯棒性等特點。
經(jīng)典群智能優(yōu)化算法有模擬螞蟻覓食行為的蟻群算法[3]、模擬鳥群覓食的信息傳遞行為的粒子群算法[4]。近年,國內(nèi)外學者提出了一些新型群智能優(yōu)化算法,如麻雀搜索算法[5]、灰狼算法[6]、鯨魚算法等。
改進群智能優(yōu)化算法具有很多優(yōu)勢:①可以進一步增強搜索效率和準確性,提高算法的全局搜索能力,更好地應對復雜問題的優(yōu)化需求;②算法中引入新的策略、機制或調(diào)整參數(shù),增強算法的魯棒性,提高算法對干擾的適應能力,從而提高算法的穩(wěn)定性和可靠性;③通過優(yōu)化群體的更新策略、調(diào)整算法的參數(shù)設(shè)置等方式,加快算法的收斂速度,提高算法的效率,使得算法在實際問題中更具實用性;④通過增加新的操作符、改進搜索策略等方式,可以拓展算法的適用范圍,使得算法適用于更加復雜和多樣化的優(yōu)化問題。
石雅凱等[7]針對灰狼算法(grey wolf optimizer, GWO)易陷入局部最優(yōu)、后期收斂速度慢等問題,通過引入改進Tent混沌映射反向?qū)W習策略和非線性收斂因子,并加入差分進化的變異、交叉、選擇操作,提出一種改進的差分灰狼優(yōu)化算法(improved differential evolution grey wolf optimizer, IDE-GWO)。 并應用于優(yōu)化自動導航小車( automated guided vehicle, AGV) 的比例積分微分( proportion integration differentiation,PID) 控制參數(shù)。與其他幾種算法對比,結(jié)果表明:改進后算法中 PID 參數(shù)的控制效果明顯優(yōu)于其他智能優(yōu)化算法,能夠有效地提升 AGV 軌跡跟蹤性能,使得 AGV 實際軌跡能較好擬合目標軌跡。
張濤等[8]針對無人機在復雜海域地貌中的三維路徑規(guī)劃,在人工魚群算法的基礎(chǔ)上提出了一種改進的適應性人工魚群算法。首先,利用數(shù)學模型建立地貌的三維模型,選取路徑最短為性能評價函數(shù),保證路徑規(guī)劃的合理性;其次,提出自適應步長和自適應視野范圍來更新個體的位置,解決了人工魚群算法前期收斂速度慢的問題;并在追尾行為引入魚群中的社會經(jīng)驗位置進行更新以避免算法陷入局部最優(yōu)。將改進后的人工魚群算法在3個復雜程度不同的地圖中與傳統(tǒng)的人工魚群算法與粒子群算法對比,結(jié)果表明,在三維路徑規(guī)劃問題求解中具有更好的收斂速度和精度。
鵜鶘優(yōu)化算法(pelican optimization algorithm,POA) 是由Trojovsk等[9]提出的一種新的隨機自然優(yōu)化算法,模擬了鵜鶘在狩獵過程中的自然行為,并使用了23種不同單峰態(tài)和多模態(tài)類型目標函數(shù)對鵜鶘優(yōu)化算法的性能進行評價;結(jié)果表示,鵜鶘優(yōu)化算法在求解單峰函數(shù)時具有很強的向最優(yōu)解收斂的能力,求解多峰函數(shù)時具有很強的搜索能力,能夠在搜索空間中找到主要的最優(yōu)區(qū)域;此外,采用四個工程設(shè)計問題來測試鵜鶘優(yōu)化算法在優(yōu)化現(xiàn)實應用中的有效性;鵜鶘優(yōu)化算法與8個著名元啟發(fā)式算法進行了比較用于評估其優(yōu)化能力,仿真結(jié)果及其分析表明該算法具有一定的優(yōu)勢。但由于原始鵜鶘算法初始化的隨機性,降低了種群多樣性,使其收斂效率較低,易陷入局部最優(yōu)解;故融合三維螺旋運動和混合反向?qū)W習策略,擴大在探索階段局部解的搜索范圍,增強全局探測能力;對其初始化階段、探索階段進行改進,使其性能更加優(yōu)越。
POA是一種基于種群的算法,其中鵜鶘是該種群的個體。在基于群體的仿生智能算法中,每個群體成員意味著一個候選解決方案。每個群體成員根據(jù)優(yōu)化問題變量在搜索空間中的位置,提出優(yōu)化問題變量的值。最初,根據(jù)問題的下限和上限隨機初始化種群成員,表達式為
xi,j=lj+rand(uj-lj),
i=1,2,…,N;j=1,2,…,m
(1)
式(1)中:xi,j為第i個候選解的第j個變量的值;N為種群成員的數(shù)量;m為問題變量的維數(shù);rand為區(qū)間[0,1]中的隨機數(shù);lj、uj為第j個問題變量的上、下界。
本文中使用種群矩陣來表示鵜鶘算法中的種群成員。該矩陣中的每一行表示一個候選解決方案,矩陣中的列表示問題變量每一維度上的建議值。具體表達式為
(2)
式(2)中:X為鵜鶘的種群矩陣;Xi為第i只鵜鶘。
在POA算法中,每個種群成員都是鵜鶘,這是給定問題的候選解決方案。因此,可以基于每個候選解來評估給定問題的目標函數(shù)。本文中使用矢量確定目標函數(shù)的值稱為目標函數(shù)向量。表達式為
(3)
式(3)中:F為目標函數(shù)向量;Fi為第i個候選解的目標函數(shù)值。
本文所提出的POA模擬鵜鶘在攻擊和捕獵時的行為和策略,以更新候選解決方案。這種狩獵策略分兩個階段進行模擬:①向獵物移動(探索階段);②水面上飛翔(開發(fā)階段)。
1.1.1 向獵物移動(探索階段)
在第一階段,鵜鶘確定獵物的位置,然后朝著這個確定的區(qū)域移動。對鵜鶘的策略進行建模實現(xiàn)搜索空間的掃描和POA在發(fā)現(xiàn)搜索空間的不同區(qū)域方面的探索能力。
POA中重要一點是,獵物的位置是在搜索空間中隨機生成的。這增加了POA在精確搜索問題解決空間中的探索能力。上述概念和鵜鶘向獵物地點移動的策略進行了數(shù)學模擬,表達式為
(4)
在POA中,如果鵜鶘的目標函數(shù)的值在該位置得到改善,則該位置被接受。在這種被稱為有效更新的更新類型中,防止算法移動到非最佳區(qū)域。使用公式對該過程進行建模為
(5)
1.1.2 水面上飛翔(開發(fā)階段)
在第二階段,鵜鶘到達水面后,它們在水面上展開翅膀,將魚向上移動,然后將獵物收集在喉嚨袋中。這一策略導致受攻擊區(qū)域的更多魚類被鵜鶘捕獲。對鵜鶘的這種行為進行建模可以使POA收斂到狩獵區(qū)域中更好的點。這個過程增加了POA的本地搜索能力和開發(fā)能力。
從數(shù)學角度來看,算法必須檢查鵜鶘現(xiàn)位置附近的點,以收斂到更好的解。鵜鶘在狩獵期間的這種行為在公式中進行了數(shù)學模擬,即
(6)
在初始迭代中,該系數(shù)的值較大,因此,考慮每個構(gòu)件周圍的較大區(qū)域。隨著算法的重復,R(1-t/T)系數(shù)減小,每個成員的鄰域半徑也隨之減小。這使我們能夠以更小、更精確的步長掃描種群中每個成員周圍的區(qū)域,以便POA能夠根據(jù)概念收斂到更接近全局(甚至完全全局)最優(yōu)的解決方案。
在這個階段,有效的更新策略也被用來接受或拒絕新的鵜鶘位置,這一策略建模為
(7)
由無免費午餐理論可知,在有限搜索區(qū)域內(nèi),任意一種算法,如果在一些訓練樣本上表現(xiàn)好,那么必然在另一些訓練樣本上表現(xiàn)不好。因此沒有算法可以在求解所有優(yōu)化問題時都優(yōu)于其他算法的。下列為POA算法尋優(yōu)時存在的問題。
(1) 鵜鶘優(yōu)化算法在全局探索過程中的搜索路徑參數(shù)是隨機數(shù)產(chǎn)生的,從而不能獲得很好全局搜索能力,導致該算法在尋優(yōu)過程中收斂精度低,易重復陷入局部最優(yōu)解中。
(2)由于鵜鶘優(yōu)化算法中探索階段和開發(fā)階段之間的轉(zhuǎn)變是隨機的,在算法迭代后期只進行局部搜索,難以平衡算法的全局探索和局部開發(fā)能力。進而因為種群在探索階段不能聚集到最優(yōu)解附近,造成算法早熟[10]。
在第一和第二階段更新了所有種群成員位置之后,基于種群的新狀態(tài)和目標函數(shù)的值,更新最佳搜索代理位置。轉(zhuǎn)入下一次迭代,并重復式(4)~式(7)提出的POA算法更新步驟,直到達到最大迭代次數(shù)。最后,在算法迭代期間獲得的最佳候選解作為給定問題的準最優(yōu)解。
POA算法偽代碼如下。

開始POA.1.輸入優(yōu)化問題信息.2.確定POA種群大小(N)和迭代次數(shù)(T).3.鵜鶘位置初始化和目標函數(shù)計算.4.For t=1:T.5. 隨機產(chǎn)生獵物位置.6. F=1:N.7. 階段1:向獵物移動(探索階段).8. For j=1:m.9. 使用等式(4)計算個體j維新位置.10. End.11. 使用等式(5)更新第i個種群個體.12. 階段2:水面上飛翔(開發(fā)階段).13. For j=1:m.14. 使用等式(6)計算個體j維新位置.15. End.16. 使用等式(7)更新第i個種群個體.17. End.18. 更新最佳候選解決方案.19.End.20.輸出POA獲得的最佳候選解決方案End POA.
混沌映射[11]是一種非線性的動態(tài)行為。混沌的不可預測性與非周期性,可有效提高算法的尋優(yōu)效率[12]。基本思想是通過混沌映射將優(yōu)化變量線性映射到混沌變量,然后根據(jù)混沌的遍歷性和隨機性進行優(yōu)化搜索,最后將獲得的解線性轉(zhuǎn)換到優(yōu)化變量空間[13]。利用混沌映射這一特點,可以在一定范圍內(nèi)更全面地探索搜索空間[14],更容易跳出局部最優(yōu),通過初始化種群彌補基本鵜鶘優(yōu)化算法存在的不足。
本文中采用Gauss映射初始化種群,使搜索代理均勻分布,從而提升收斂速度,定義為
(8)
式(8)中:mod(1)為余函數(shù);[]表示取整運算;x=(x1,x2,…,xd)為高斯映射產(chǎn)生的混沌序列;d為維度。
在鵜鶘優(yōu)化算法的探索階段,提出三維螺旋飛行[15]策略,即使鵜鶘沿著螺旋運動方式向獵物地點移動,并結(jié)合Levy飛行[16]策略改變飛行的步長。這種螺旋移動方式不斷改變旋轉(zhuǎn)角度,以擴大當前局部解的鄰域。有利于鵜鶘在早期迭代中有較大概率搜索到其他位置,避免了POA的過度局部利用。在這種策略下,可以用數(shù)學方式表示鵜鶘的新位置,即
(9)
式(9)中:M=xyz,表示三維螺旋位置更新系數(shù),x=ρcosθ、y=ρsinθ、z=ρθ分別表示螺旋運動下的坐標(x,y,z)三維分量,用于更新搜索代理位置,其中ρ=ueθv,表示由對數(shù)螺旋常數(shù)u和v定義的螺旋直徑,設(shè)置u=0.05、v=0.05,θ為(0,2π)之間的隨機數(shù)。
Levy表示萊維飛行函數(shù),計算公式為
(10)
式(10)中:λ為[0,2]之間的隨機數(shù),此處設(shè)為λ=1.5;s為固定常數(shù),取0.01;w和k為[0,1]之間的隨機數(shù)。
(11)
式(11)中:Γ為Gamma函數(shù),表示階乘函數(shù)在實數(shù)與復數(shù)上的擴展。
針孔成像是一種光學物理現(xiàn)象,光源通過針孔從板的一側(cè)照射到另一側(cè),并在屏幕上形成其反向圖像。受反向?qū)W習策略[17]和光的透鏡成像原理[18]的啟發(fā),為鵜鶘算法引入了一種新的基于針孔成像的學習策略,并將其應用于在種群初始化后生成全局最優(yōu)解的對向個體,從而產(chǎn)生更多樣的對向點。增強POA探測全局最佳解決方案的能力。


圖1 針孔成像物理原理圖Fig.1 Pinhole imaging physical schematic diagram
(12)

(13)

為了提高搜索代理位置的多樣性,增強算法的全局尋優(yōu)能力,對最差位置的鵜鶘采用反向?qū)W習策略,即最優(yōu)最差反向?qū)W習策略。定義為
Xworst(t+1)=m+rand[n-Xworst(t)]
(14)
式(14)中:t為迭代次數(shù);Xworst為當前最差位置向量;rand為[0,1]上的隨機數(shù)。
算法每一次迭代,通過式(9)與式(11)更新鵜鶘位置,比較反向?qū)W習前后的適應度,對目標函數(shù)的最優(yōu)解位置與適應度值進行更新。與精英反向?qū)W習策略相比,本文中選擇的是對當前種群中最優(yōu)與最差的兩個個體位置進行處理,即把搜索空間的邊界m與n設(shè)置為動態(tài)變化的,使算法具有更加準確有效的搜索范圍,從而提高了算法的搜索精度。
模仿BWO算法中的“鯨魚墜落”[19]這一現(xiàn)象,擬提出“鵜鶘墜落”階段。鵜鶘墜落中的平衡因子和概率是自適應的,對控制勘探和開發(fā)能力起著重要作用。在遷徙和覓食過程中,鵜鶘受到人類的威脅。鵜鶘可以通過相互分享信息來逃避威脅。然而,有一部分鵜鶘沒有幸存下來,脫離了隊伍。這種現(xiàn)象可被稱為“鵜鶘墜落”。
在模型中,平衡因子(Bf)的計算方法為
Bf=Br(1-t/2T)
(15)
式(15)中:t為當前迭代;T為最大迭代次數(shù);Br取[0,1]之間的隨機數(shù)。
為了模擬每次迭代中鵜鶘墜落的行為,從種群中的個體中選擇鵜鶘墜落的概率作為主觀假設(shè),以模擬群體中的微小變化。假設(shè)這些鵜鶘要么移動到其他地方,要么被擊落并退出捕食隊伍。為了確保種群數(shù)量大小恒定,使用鵜鶘的位置和鵜鶘墜落的步長來確定更新的位置。當鵜鶘墜落概率Pf (16) 式(16)中:r1、r2和r3為介于(0,1)之間的隨機數(shù);Xstep為鵜鶘墜落的步長,確定為 Xstep=(ub-lb)exp(-C1T/Tmax) (17) 式(17)中:C1為與鵜鶘墜落概率和種群規(guī)模相關(guān)的階躍因子(C1=2Wfn);ub和lb分別為變量的上下限。可以看出,步長受設(shè)計變量邊界、迭代次數(shù)和最大迭代次數(shù)的影響。 在該模型中,鵜鶘墜落的概率(Pf)被計算為線性函數(shù),即 Pf=0.1-0.05t/Tmax (18) 鵜鶘墜落的概率從最初迭代中的0.1降低到最后迭代中的0.05,表明當鵜鶘在優(yōu)化過程中更接近食物源時,鵜鶘的危險性降低。 這一策略將被作為第三階段,所產(chǎn)生的新的鵜鶘位置是否被接受,判斷式為 (19) 綜上,本文提出的混合策略改進鵜鶘算法(IPOA)步驟如下。 (1)設(shè)置種群大小、最大迭代次數(shù)等參數(shù) (2)在解空間中通過GAUSS映射生成初始種群。 (3)計算種群中個體目標函數(shù)值并記錄最優(yōu)位置X(t)。 (4)根據(jù)式(15)、式(17)更新Bf與Pf。 (5)根據(jù)式(9)、式(6)更新個體位置。若Pf (6)獲取當前種群個體中最優(yōu)位置與最差位置,按式(12)、式(14)更新個體位置,并更新最優(yōu)適應度值和最佳位置X(t)。 (7)判斷是否達到最大迭代次數(shù),若達到則停止迭代,并輸出最優(yōu)結(jié)果; 反之,重復執(zhí)行式(9)、式(5)~式(7)。 為了驗證IPAO算法在求解函數(shù)中的優(yōu)越性,將其與原始鵜鶘算法(POA)、鯨魚優(yōu)化算法(whale optimization algorithm, WOA)、北方蒼鷹算法(northern goshawk optimization, NGO)、灰狼算法(grey wolf optimization, GWO)、斑點狗優(yōu)化算法(spotted hyena optimizer, SHO)、海鷗優(yōu)化算法(seagull optimization algorithm, SOA)、混沌灰狼優(yōu)化算法(chaos grey wolf optimization, CGWO)、基于Levy飛行的飛蛾撲火算法(moth-flame optimization algorithm based on levy flights, LMFO)、基于柯西變異的蟻獅優(yōu)化算法(ant lion optimization algorithm based on cauchy variation, CALO)通過12個基準函數(shù)進行性能測試對比。F1~F7為單峰函數(shù),具有較少的局部極小值,主要測試算法的收斂速度與尋優(yōu)精度,F8~F12為高維多模態(tài)函數(shù),具有較多的局部極小值,主要測試算法跳出局部最優(yōu)的能力[20]。基準函數(shù)信息如表 1所示。本文試驗仿真環(huán)境為:Win10-64為操作系統(tǒng),8 GB內(nèi)存和2.50 GHz CPU,編程語言為MATLAB R2021a。 表1 用于測試的12個基準函數(shù)Table 1 Twelve benchmark functions for testing 為了讓保證試驗結(jié)果的公正性,參數(shù)設(shè)置為:搜索代理設(shè)置為數(shù)量30個,迭代1 000次,各算法獨立運行30次。 首先,由圖2可以看出,改進后的算法對函數(shù)的收斂性能、運行效率有了很大的提升。圖2(a)~圖2(g)為單峰函數(shù)的收斂曲線,主要測試算法的開發(fā)能力[21],由于加入了針孔成像與最優(yōu)最差反向?qū)W習策略,算法的收斂速度得到了極大的提升。圖2(h)~圖2(l)為高維多模態(tài)函數(shù)的收斂曲線,主要測試算法的搜索能力[21],由于加入了三維螺旋運動、GAUSS映射和動態(tài)平衡因子,獲提升了收斂速度,在迭代后期更容易跳出局部最優(yōu),提高收斂精度。 圖2 算法收斂曲線Fig.2 Algorithm convergence curve 其次,表2為8個算法在相同條件運行30次的對比結(jié)果,取最優(yōu)值、最差值、平均值與標準差作為性能評價標準。其中,平均值反映算法的尋優(yōu)精度。在求解單峰函數(shù)F1~F7時,IPAO在求解F1、F2、F3、F4、F6時達到了理論值0,證明了反向?qū)W習策略提高了算法的跳出局部最優(yōu)的能力,求解F6時其他算法也達到了理論值,但由圖2(f)可知IPOA的收斂速度明顯優(yōu)于其他算法,驗證了改進后算法性能的優(yōu)越性。雖然求解函數(shù)F5、F7時,IPOA未達到理論值,但其最優(yōu)值、最差值、均值都好于其他算法。求解高維多模態(tài)函數(shù)F8~F12時,求解函數(shù)F8只有IPOA達到了的理論值;除了LMFO、CALO,其余算法均達到了F9、F11的理論值,但根據(jù)圖2(h)~圖2(j)、圖2(l)可知,IPOA算法的尋優(yōu)速度要遠遠優(yōu)于其他算法。求解函數(shù)F10,IPOA沒達到理論值,但其均值等各項指標都優(yōu)于CGWO、LMFO、CALO等算法,再次證明了IPOA的優(yōu)越性能。進而驗證了改進策略對算法性能的提升。 表2 12個測試函數(shù)結(jié)果對比Table 2 Comparison of 12 test function results 表2中的標準差反映算法的魯棒性[20]。求解F1~F7時,除F5外IPOA均達到理論值;F1、F3求解過程中,除了POA、NGO的標準差與IPOA一致,IPOA好于其他算法。求解F2、F4、F5、F7中,IPOA的標準差比其他算法都要小,說明IPOA具有更好的穩(wěn)定性;在求解多峰函數(shù)F8~F12時,雖然F10未達到標準值,但IPOA的標準差小于其他算法,證明了IPOA的在求解過程中比其他算法更加穩(wěn)定。 最后,對比表2中運行時間,在相同維度下, 由于IPOA融合5種改進策略,其耗時要長于加入1種改進方法的CGWO、LMFO。原因是算法初始化增加了種群多樣性,改變運動路徑、擴大全局搜索范圍等改進策略可以幫助算法找到最優(yōu)解,但同時也會增加尋優(yōu)過程運行的時間,而相比于其他算法,POA等原始算法的運行時間是最短的。 為進一步檢驗IPOA與其他算法的差異,將IPOA算法與其他8種算法在30次獨立運算下的最佳結(jié)果進行Wilcoxon 符號秩和檢驗。兩個算法間的差異程度用p值衡量,p<0.05表明差異性明顯;“+”代表IPOA明顯優(yōu)于對比算法;“-”代表IPOA明顯劣于對比算法;“=”表示相當于對比算法;N/A表示無法進行差異性判斷[22]。如表3所示,在11個測試函數(shù)上,IPOA的性能優(yōu)于POA、WOA、NGO、GWO、SOA、CGWO、LMFO、CALO算法,且p<10-10,表明IPOA具有非常顯著的優(yōu)越性,即具有更好的尋優(yōu)能力。 表3 Wilcoxon 符號秩和檢驗Table 3 Wilcoxon matched-pairs signed-ranks test 三桿平面桁架結(jié)構(gòu)如圖3所示。桿x1、x2的橫截面面積為設(shè)計變量。將結(jié)構(gòu)總體積作為優(yōu)化目標。各構(gòu)件應力約束為σ=2 kN/cm2,外荷載作用為P=2 kN/cm2,l=100 cm。各桿件截面積的取值范圍為(0,1)cm2。該問題可優(yōu)化為一個非線性函數(shù),即 圖3 三桿桁架結(jié)構(gòu)圖Fig.3 Structure drawing of the three-bar truss (20) (21) (22) (23) 采用IPOA算法優(yōu)化的桁架結(jié)構(gòu)體積為263.551 6 cm3,低于其他算法。優(yōu)化結(jié)果對比如表4所示。 表4 三桿桁架優(yōu)化結(jié)果對比Table 4 Comparison of optimization results of three-bar truss 在鵜鶘優(yōu)化算法基礎(chǔ)上引入混合反向?qū)W習、Levy飛行和自適應平衡因子策略,能更好地平衡勘探和開發(fā)能力,避免算法陷入局部最優(yōu);三維螺旋運動與針孔成像反向?qū)W習策略提高了算法的搜索范圍與搜索精度。通過運行12個測試函數(shù),IPOA與5個原始算法、3個改進算法進行對比,并進行了Wilcoxon 符號秩和檢驗;根據(jù)圖2、表3和表4的運行結(jié)果分析,充分證明了IPOA算法改進的可行性與有效性。經(jīng)仿真與案例分析,表明改進后的算法具有較高的可行性和魯棒性。在解決桁架優(yōu)化問題中,IPOA達到了桁架體系體積最小的要求,可用于解決組合優(yōu)化問題。
2.6 IPOA實現(xiàn)步驟
3 仿真試驗與結(jié)果分析
3.1 基準函數(shù)測試



3.2 Wilcoxon 符號秩和檢驗

3.3 桁架優(yōu)化案例


4 結(jié)論