李彥蒼,李晶霞+,杜尊峰,朱海濤,韓沐軒
(1.河北工程大學(xué) 土木工程學(xué)院,河北 邯鄲 056038;2.天津大學(xué) 建筑工程學(xué)院,天津 300350)
斑點鬣狗優(yōu)化算法(spotted hyena optimizer,SHO)是Dhiman等受斑點鬣狗捕獵啟發(fā)下提出的一種新智能優(yōu)化算法。針對基本的斑點鬣狗算法易陷入局部最優(yōu)、搜索能力和收斂速度慢等問題,相關(guān)學(xué)者們提出了眾多改進(jìn)策略[1-10]。例如,文獻(xiàn)[11]針對斑點鬣狗優(yōu)化算法易受隨機因子影響的問題,提出了一種結(jié)合模擬退火和斑點鬣狗算法結(jié)合的混合式算法,有效改善局部最優(yōu)解和收斂速度慢的缺點。文獻(xiàn)[12]因斑點鬣狗算法具有魯棒性強和參數(shù)少的優(yōu)點,所以將SHO應(yīng)用于抽水蓄能電站優(yōu)化調(diào)度研究,對抽水蓄能電站帶來更大的收益。文獻(xiàn)[13]提出用萊維飛行和單純形搜索法提高算法的平衡性和搜索能力,將改進(jìn)后的算法應(yīng)用于電力系統(tǒng)的圖像分割中,驗證了改進(jìn)斑點鬣狗優(yōu)化算法分割效果對比其它算法的優(yōu)越性。
以上眾多學(xué)者對SHO算法的改進(jìn)與應(yīng)用為我們提供了一定的借鑒意義,但基本SHO在初始位置不均勻、局部易陷入最優(yōu)等方面還有待提高。針對SHO算法存在的不足,本文提出了基于拉普拉斯交叉的改進(jìn)斑點鬣狗優(yōu)化算法(Laplace crossover spotted hyena optimizer,LPSHO)。在前期采用Fuch混沌策略對斑點鬣狗個體位置初始化,對鬣狗種群的多樣性進(jìn)行改善;通過一種動態(tài)自適應(yīng)的慣性權(quán)重,平衡了SHO的全局探索與局部開發(fā)能力;再引入拉普拉斯算子進(jìn)行動態(tài)交叉操作,使得種群更符合迭代規(guī)律,前期種群精細(xì)搜索范圍,后期更好跳出局部極值;最后將逐維反向?qū)W習(xí)機制融入到小孔成像反向?qū)W習(xí)策略中,提高SHO收斂速度和尋優(yōu)能力。通過LPSHO的仿真實驗及3個工程實例問題,驗證了LPSHO具有更優(yōu)越的優(yōu)化性能。
斑點鬣狗依靠視覺能迅速熟悉和確定獵物的位置并包圍它們。斑點鬣狗個體間依據(jù)社會地位和互相信任的協(xié)作能力,擁有更加敏捷高效的圍捕能力。此時最靠近目標(biāo)獵物的鬣狗個體作為當(dāng)前最優(yōu)解,剩余的斑點鬣狗根據(jù)最優(yōu)解更新調(diào)整自己的位置,然后得到全局最優(yōu)解。數(shù)學(xué)模型如下
Dh=|B·Pp(X)-P(X)|
(1)
P(x+1)=Pp(x)-E·Dh
(2)
式中:Dh為獵物與斑點鬣狗之間的距離;x是迭代次數(shù);P是當(dāng)前斑點鬣狗的位置;Pp是當(dāng)前獵物位置;B是搖擺因子;E是收斂因子,具體公式如下
B=2·rd1
(3)
E=2h·rd2-h
(4)
h=5-(iter*5/Xmax)
(5)
式中:rd1與rd2為[0,1]區(qū)間內(nèi)的隨機數(shù);h是控制因子;h從5到0線性遞減,取值范圍為[0,5];iter=1,2,…,Xmax,Xmax為最大迭代次數(shù)。
斑點鬣狗個體間根據(jù)可信賴的等級制度和精準(zhǔn)判別獵物的能力進(jìn)行分組狩獵,在此過程中種群定義當(dāng)前最優(yōu)搜索個體,剩余的斑點鬣狗搜索個體劃分為一個集群,集體向最優(yōu)搜索個體集合,來更新位置。該行為具體定義如下
Dh=|B·Ph-PK|
(6)
PK=Ph-E·Dh
(7)
Ch=PK+PK+1+…+PK+N
(8)
式中:Ph定義了斑點鬣狗的第一個最佳位置;其它斑點鬣狗的位置為Pk;Ch是N個最優(yōu)解的集群;N為斑點鬣狗數(shù)量,其中N的計算如下
N=countnos(Ph,Ph+1,Ph+2,…,(Ph+M))
(9)
式中:M為一個[0.5,1]的隨機向量,nos定義可行解的數(shù)量并計算所有候選解,該過程與搜索空間的最優(yōu)解相似。
在狩獵的最后時期斑點鬣狗仍不斷更新位置并攻擊獵物,其中控制因子h在迭代過程中從5線性遞減到0,收斂因子E隨著h的變化也逐漸減小。當(dāng)|E|<1時,斑點鬣狗攻擊獵物。該行為定義如下
P(x+1)=Ch/N
(10)
式中:P(x+1) 保持最優(yōu)解,Ch保持最優(yōu)解集群。
在全局探索過程中斑點鬣狗允許更新最佳搜索集群Ch中的個體位置并繼續(xù)攻擊獵物,當(dāng)|E|>1時,鬣狗個體之間會互相分散,從遠(yuǎn)離獵物的地方搜索、繼續(xù)尋找和攻擊更合適的獵物,斑點鬣狗的這種捕獵行為確保了算法的全局搜索能力。
SHO算法通常采用隨機生成的方式來初始化種群,使得種群初始分布不均勻、種群多樣性不穩(wěn)定。而混沌優(yōu)化作為一種隨機的、非收斂的、確定性的非線性系統(tǒng)常用于解決全局最優(yōu)問題,而且混沌優(yōu)化整體搜索速度高于遺傳算法[14]和模擬退火算法[15],因此已經(jīng)廣泛應(yīng)用于不同領(lǐng)域[16]。故本文選擇混沌映射來初始化種群。
Lyapunov指數(shù)(λ)是判斷混沌運動特性的一個重要指標(biāo)。由表1中Lyapunov指數(shù)比較得出,F(xiàn)uch混沌映射具有更強的混沌特性,能更好實現(xiàn)混沌尋優(yōu)。無限折疊Fuch混沌映射與Logistic映射、Tent映射、Chebyshev映射相比在解空間內(nèi)有更優(yōu)良的初值敏感性和更均衡的遍歷性[17]。
表1 4種混沌映射的Lyapunov指數(shù)比較
斑點鬣狗種群的初始值對該算法的影響很大,初始值的大小決定算法的尋優(yōu)速度和陷入局部最優(yōu)的能力。采用無限折疊Fuch混沌映射使得優(yōu)化結(jié)果不依賴于初始值,提高SHO全局尋優(yōu)的效率。Fuch混沌映射數(shù)學(xué)模型為
(11)
其中,Px為Fuch映射的混沌變量,Px≠0;P∈Z+;x=1,2,…xmax;x為迭代次數(shù);xmax為最大迭代次數(shù)。
斑點鬣狗個體在位置更新時只有當(dāng)前最優(yōu)個體和最佳搜索集群,導(dǎo)致基本SHO在全局搜索階段可能會產(chǎn)生鬣狗個體停滯在理論位置附近的情況,降低搜索精度。利用權(quán)重調(diào)整算法,對全局探索和局部開發(fā)能力有一定的平衡作用[18]。本文受文獻(xiàn)[19]中一種動態(tài)調(diào)整慣性權(quán)重的啟發(fā),提出了一種動態(tài)自適應(yīng)的慣性權(quán)重,式子如下
(12)
式中:x為當(dāng)前迭代次數(shù);Xmax為最大迭代次數(shù);ωs代表迭代開始時的初始權(quán)值,當(dāng)x=0時,ωs=0.9;ωe代表迭代終止時的權(quán)值;當(dāng)x=Xmax時,ωe=0.4,l為控制因子。本文中l(wèi)=0.6。改進(jìn)的SHO如下
(13)
權(quán)重隨迭代次數(shù)增加的同時非線性遞減,所以SHO在迭代初期時權(quán)值較大,全局搜索能力較強;隨著迭代次數(shù)的增加,權(quán)值減小,算法的局部開發(fā)能力加強。此時SHO以最小權(quán)重采用螺旋式方式搜索最優(yōu)解,具有更強的搜索能力。
由Kusum Deep和Manoj Thakur提出拉普拉斯交叉算子在尋找最優(yōu)性和可靠性方面有極大的幫助[20]。標(biāo)準(zhǔn)的SHO算法由于缺乏一定的變異機制,導(dǎo)致鬣狗種群易陷入局部極值。然而鬣狗種群在包圍和狩獵前期一直在當(dāng)前最優(yōu)個體附近搜索,此時步長較小。當(dāng)鬣狗種群以小步長模式搜索時,此時最優(yōu)個體接近局部最優(yōu)個體,易使SHO陷入局部最優(yōu)值。為改善此類情況,采用一種動態(tài)拉普拉斯交叉策略對鬣狗種群位置進(jìn)行更新,這種交叉變異操作更符合算法迭代規(guī)律。其分布密度函數(shù)如下
(14)
式中:a∈R是位置參數(shù),b>0是尺度參數(shù),其拉普拉斯分布函數(shù)如下
(15)
式中:x為當(dāng)前迭代次數(shù),Xmax為最大迭代次數(shù),r為[0,1]區(qū)間內(nèi)的隨機數(shù),在包圍和狩獵后期令b=0.5進(jìn)行拉普拉斯交叉,有更大可能性在鬣狗父代個體旁邊產(chǎn)生子代,斑點鬣狗個體在最優(yōu)解附近準(zhǔn)確搜索游走,會更快尋找到全局最優(yōu)解。其數(shù)學(xué)模型描述如下
(16)
在包圍和狩獵階段引入拉普拉斯交叉算子,斑點鬣狗種群按照迭代規(guī)律進(jìn)行自適應(yīng)動態(tài)交叉操作,提高基本SHO算法的求解能力。
SHO算法僅在每次種群迭代時目標(biāo)位置進(jìn)行更新,選擇當(dāng)前最優(yōu)個體代替之前個體,而不考慮種群搜索范圍和收斂速度的情況。故SHO在求解高維復(fù)雜函數(shù)時,常受維度之間互相干擾,導(dǎo)致求解速度和尋優(yōu)精度降低。針對這類問題,逐維反向機制融合小孔成像學(xué)習(xí)策略,對鬣狗個體的目標(biāo)位置進(jìn)行更新,在每個維度迭代時能同時搜索兩個值,進(jìn)而提高SHO算法的全局尋優(yōu)能力和收斂速度。根據(jù)文獻(xiàn)[21]可知,反向?qū)W習(xí)與群智能算法相結(jié)合可以避免算法過早收斂,可以增強算法的尋優(yōu)能力。受小孔成像反向原理的啟發(fā)用于學(xué)習(xí)策略,其基本原理如圖1所示。
圖1 小孔成像反向?qū)W習(xí)的原理圖
由小孔成像原理可以得出
(17)
令調(diào)節(jié)因子n=h/h′,得到X′best的表達(dá)式
(18)
由式(19)可以得出,與一般的反向?qū)W習(xí)策略(n=1時)不同,逐維小孔成像反向?qū)W習(xí)策略可以通過調(diào)整小孔屏和接受屏之間的距離來改變n值的大小,從而跳出局部極值得到最優(yōu)解。
當(dāng)n=1時,可得
X′best=(aj+bj)-Xbest
(19)
斑點鬣狗優(yōu)化算法每迭代一次,式(18)對鬣狗個體進(jìn)行位置篩選,某一維度的值經(jīng)過反向?qū)W習(xí)以后與其它維度的值組成新的解,對各個適應(yīng)度值進(jìn)行比較和篩選,從而確定最優(yōu)解。
輸入:斑點鬣狗種群Pi(i=1,2,…,n)
輸出:Ph
(1)初始化參數(shù)。采用Fuch混沌映射生成鬣狗位置信息Px,更新h、B、E和N
(2)計算個體適應(yīng)度值
(3)Ph記錄當(dāng)前最好個體位置,Ch定義為最佳搜索集群
(4)Whilex (5)FOR i=1 TO N do (6)根據(jù)式(12)計算慣性權(quán)重ω的值 (7)根據(jù)式(13)更新調(diào)整鬣狗種群的位置 (9)采用拉普拉斯交叉策略更新Pi (10)利用式(18)執(zhí)行逐維小孔成像反向?qū)W習(xí)策略 (11)end if (12)計算個體適應(yīng)度值,選擇適應(yīng)度最好的斑點鬣狗個體作為最優(yōu)解,更新Ph (13)x=x+1 (14)end while (15)返回Ph (16)結(jié)束程序 為了全面驗證LPSHO的尋優(yōu)性能效果,我們選取了9個不同特點的標(biāo)準(zhǔn)測試函數(shù)進(jìn)行對比測試,主要分為3類:其中,f1~f4為單峰基準(zhǔn)測試函數(shù),主要用于測試算法的局部開發(fā)能力;f5~f7為多峰測試函數(shù)、f8和f9為固定維度多峰測試函數(shù),該類測試函數(shù)有較多局部極值點,群智能算法尋優(yōu)過程中易于陷入局部最優(yōu),主要用于測試算法的跳出局部極值能力和全局探索能力。其具體信息見表2。 表2 測試函數(shù) 為了驗證改進(jìn)斑點鬣狗算法的優(yōu)化效果,選擇改進(jìn)斑點鬣狗優(yōu)化算法(LPSHO)與基本斑點鬣狗算法(SHO)、灰狼算法(GWO)[22]、海鷗算法(SOA)[23]對9個典型的基準(zhǔn)測試函數(shù)進(jìn)行30次對比實驗,可以客觀地反映算法改進(jìn)的有效性。為保證公平、降低結(jié)果的偶然性,各算法基本參數(shù)與原文獻(xiàn)保持一致。 由于算法維度也會影響算法的尋優(yōu)性能,為更加全面的驗證算法的有效性以及低維高維的求解能力,設(shè)置7個單峰和多峰測試函數(shù) (n=30,50,100維) 和2個固定維度測試函數(shù)(n=2維)進(jìn)行對比仿真。記錄50次實驗中各測試函數(shù)的最優(yōu)值、平均值和標(biāo)準(zhǔn)差,算法的運行結(jié)果見表3、表4、表5,對其最好的結(jié)果加粗顯示。 表3 不同算法對3個多峰測試函數(shù)的尋優(yōu)性能比較 表4 不同算法對4個單峰測試函數(shù)的尋優(yōu)性能比較 表5 不同算法對2個固定維度測試函數(shù)的尋優(yōu)性能比較 從表4可看出,對于單峰測試函數(shù)f1~f4,LPSHO的尋優(yōu)性能不僅比標(biāo)準(zhǔn)的SHO更好,在對比其它智能優(yōu)化算法也能體現(xiàn)出很好的尋優(yōu)性能。雖然其它4種算法均能收斂到最優(yōu)值0,但LPSHO對比中顯示出它更強的尋優(yōu)能力和穩(wěn)定性。在高峰函數(shù)的優(yōu)化問題上,除了GWO外其它3種算法都能收斂到理論最優(yōu)值0,但LPSHO對目標(biāo)函數(shù)的求解精度和成功率比其它算法的測試結(jié)果好。從表3看出,對于測試函數(shù)f5和f7,LPSHO、SHO、SOA在n=30,50,100維時的收斂情況都較好,但對比測試函數(shù)f6時,LPSHO標(biāo)準(zhǔn)差更小,也看出比其它算法更強的尋優(yōu)能力與穩(wěn)定性,這說明LPSHO在求解高維復(fù)雜函數(shù)的有效性。 從表5數(shù)據(jù)得出,LPSHO對于固定維度測試函數(shù)的結(jié)果相對穩(wěn)定。盡管這4種算法在迭代過程中都收斂到理論最優(yōu)值,但只有LPSHO的平均值更小,其求解結(jié)果明顯優(yōu)于其它3種算法,具有更強的穩(wěn)定性。綜上所述,LPSHO是一種穩(wěn)定性更好、尋優(yōu)能力更強、收斂精度更好的算法。 為了更直觀體現(xiàn)LPSHO的優(yōu)越性,確保4種算法的迭代次數(shù)相同、維度為30(固定維度測值函數(shù)維度為2)的情況下得到如圖2所示不同基準(zhǔn)函數(shù)的平均收斂曲線。通過與其它算法的結(jié)果對比,驗證LPSHO不論是在求解單峰還是多峰函數(shù)上,LPSHO表現(xiàn)出更優(yōu)越的求解性能,具有更好的全局收斂性。由函數(shù)f1、f2、f3、f8和f9收斂曲線可以看出,算法迭代初期的適應(yīng)度值更優(yōu)于其它算法,說明用混沌映射對種群初始化,提高了斑點鬣狗種群的質(zhì)量?;維HO算法收斂曲線存在著局部停滯的情況,而LPSHO算法采用慣性權(quán)重調(diào)節(jié)全局搜索和局部開發(fā)能力,相比其它算法有足夠的全局搜索能力。最后采用拉普拉斯交叉和反向?qū)W習(xí)策略,避免算法早熟收斂,使LPSHO算法具有更快的收斂速度和更好的求解精度。 圖2 標(biāo)準(zhǔn)測試函數(shù)的尋優(yōu)收斂曲線 為進(jìn)一步驗證LPSHO算法在實際工程應(yīng)用優(yōu)化問題中的有效性和可行性,選用焊接梁設(shè)計問題和15桿桁架、52桿桁架對工程算例進(jìn)行分析,并與其它3種算法的結(jié)果對比分析。 該問題的主要目標(biāo)是使焊接梁的制造成本最小化,如圖3所示。優(yōu)化約束包括梁中的剪切應(yīng)力(τ)和彎曲應(yīng)力(σ)、桿上的屈曲荷載(Pc)、梁的端部撓度(δ)。該問題有4個優(yōu)化變量為焊縫厚度(h)、鋼筋連接長度(l)、鋼筋高度(t)、鋼筋的厚度(b),如下所示。 圖3 焊接梁模型 其數(shù)學(xué)模型表示如下: Subjectto (20) (21) 將基本SHO、GWO、SOA和LPSHO算法應(yīng)用于焊接梁設(shè)計求解模型中,表6中給出了通過這些算法獲得的最優(yōu)結(jié)果,對比情況如下。 表6 焊接梁設(shè)計的比較結(jié)果 結(jié)果表明,LPSHO收斂到了最佳設(shè)計值,從表7中統(tǒng)計的結(jié)果進(jìn)行比較,可以看出LPSHO在最優(yōu)值和中位數(shù)方面表現(xiàn)得更好,LPSHO對焊接梁設(shè)計問題的優(yōu)化效果更好并且需要更少的分析來找到最佳設(shè)計。由此可證,本文LPSHO在實際工程應(yīng)用中是有效且可行的,與其它求解優(yōu)化問題的方法相比,LPSHO算法的成功率較高。 表7 焊接梁設(shè)計問題統(tǒng)計比較 4.2.1 算例1 15桿平面桁架的結(jié)構(gòu)模型如圖4所示,各桿件的應(yīng)力允許值為±120 MPa;位移約束為16個;壓力約束共15個;應(yīng)力約束值范圍[115.37,120];材料密度為7800 kg/m3;彈性模量為200 GPa;桁架截面面積的設(shè)計變量取值為:[113.2,143.2,145.9,174.9,185.9,235.9,265.9,297.1,308.6,334.3,338.2,497.8,507.6,736.7,791.2,1063.7](mm2),該桁架結(jié)構(gòu)的荷載工況見表8。 圖4 15桿桁架結(jié)構(gòu) 表8 荷載工況/kN LPSHO、標(biāo)準(zhǔn)SHO、GWO和SOA對15桿經(jīng)典桁架模型優(yōu)化對比的收斂曲線如圖5所示。由表9的優(yōu)化結(jié)果可得出改進(jìn)后的算法LPSHO在求解精度和優(yōu)化程度上表現(xiàn)更好,同時達(dá)到了減輕桁架質(zhì)量的目的。 圖5 15桿桁架收斂曲線 表9 15桿桁架結(jié)構(gòu)優(yōu)化結(jié)果對比 4.2.2 算例2 52桿空間桁架有21個節(jié)點和52根桿,其中8個節(jié)點固定,節(jié)點1-13處各有集中質(zhì)量50 kg,如圖6所示。全結(jié)構(gòu)材料密度為7800 kg/m2;彈性模量為210 GPa。節(jié)點1-13處有50 kg質(zhì)量荷載。 圖6 52桿空間桁架結(jié)構(gòu) 該桁架結(jié)構(gòu)的桿件分類見表10,設(shè)計變量共13個,其中有5個形狀變量和8個面積變量。每組各桿件橫截面積均相等,范圍為1~10 cm2,此外,該算例的頻率范圍為:f1≤15.916 Hz、f2≥28.648 Hz。 表10 52桿空間桁架桿件分類 由表11、表12、表13的優(yōu)化結(jié)果可得出改進(jìn)后的算法LPSHO在求解精度和優(yōu)化程度上比基本SHO算法表現(xiàn)更好,同時達(dá)到了減輕桁架質(zhì)量的目的。由圖7的4種算法迭代曲線對比看出,改進(jìn)后的算法LPSHO的收斂速度和尋優(yōu)能力更強。再次驗證了LPSHO具有更好的性能,并達(dá)到了優(yōu)化模型過程中節(jié)省時間和材料的雙重目的。 圖7 52桿桁架收斂曲線 表11 52桿桁架結(jié)構(gòu)優(yōu)化結(jié)果對比 表12 形狀優(yōu)化結(jié)果對比 表13 優(yōu)化結(jié)果的各階頻率 針對基本斑點鬣狗優(yōu)化算法求解精度低、復(fù)雜優(yōu)化效果不良、易陷入局部最優(yōu)的缺點,提出了一種改進(jìn)的斑點鬣狗優(yōu)化算法,通過仿真實驗得到以下結(jié)論。 (1)在前期引入Fuch混沌映射來初始化種群,避免了算法初始狀態(tài)時的取值范圍趨于平衡態(tài);在全局搜索階段,利用一種基于混沌自適應(yīng)的慣性權(quán)重,平衡了LPSHO尋優(yōu)過程中的全局探索和局部開發(fā)能力;再引入基于拉普拉斯交叉策略的改進(jìn)斑點鬣狗算法,一定程度上改進(jìn)了基本斑點鬣狗算法易陷入局部最優(yōu)的缺點,使得種群更符合迭代規(guī)律;最后利用逐維小孔成像反向?qū)W習(xí)機制,進(jìn)一步提高了算法的收斂速度和求解能力。LPSHO在迭代前期種群精細(xì)搜索范圍,后期更好跳出局部極值,從而達(dá)到了改進(jìn)的目的。 (2)通過對9個基準(zhǔn)測試函數(shù)仿真實驗,驗證了改進(jìn)的斑點鬣狗優(yōu)化算法在求解精度和求解速度方面有更大的優(yōu)勢,也驗證了改進(jìn)斑點鬣狗優(yōu)化算法是可行且有效的。通過對機械設(shè)計優(yōu)化和桁架結(jié)構(gòu)優(yōu)化問題的驗證,從而證實該算法在求解組合優(yōu)化上的有效性和正確性,為解決復(fù)雜的工程約束問題提供思路。3 實驗仿真與分析
3.1 基本測試函數(shù)
3.2 仿真實驗環(huán)境和參數(shù)設(shè)置
3.3 實驗結(jié)果及分析
4 工程算例與結(jié)果分析
4.1 焊接梁設(shè)計
4.2 桁架優(yōu)化
5 結(jié)束語