趙 宇,彭珍瑞
(蘭州交通大學 機電工程學院,蘭州 730070)
鯨魚優化算法(whale optimization algorithm,WOA)是近年來提出的基于種群的啟發式優化算法[1].WOA模擬座頭鯨捕食,將其群體狩獵行為轉化為隨機優化過程.目前,WOA已成功應用于優化調度[2-3]、優化設計[4-5]、盲信號提取[6]、圖像分割[7]等領域.但是WOA依然存在全局和局部搜索難以協調、易陷入局部最優等問題.
混沌優化算法因其利用混沌所具備的初值敏感性、偽隨機性、遍歷性等非線性動力學特征而廣泛用于工程全局優化設計中[8].文獻[9]使用分段Logistic映射對WOA的種群初始化,以保持種群多樣性.文獻[10]利用混沌映射調整WOA中的更新概率.文獻[11]采用Tent映射反向學習初始化、最優個體混沌搜索等策略優化鯨魚算法.
本文提出了一種基于混沌映射調整慣性權重的鯨魚優化算法(whale optimization algorithm with chaotic maps,CWOA),分別利用5種混沌映射擾動慣性權重以協調算法全局探索和局部開發能力,并通過6個測試函數進行仿真實驗,將加入混沌映射的CWOA與基本WOA比較,驗證CWOA的有效性.最后利用Gauss映射的CWOA求解有限元模型修正問題,并將結果與遺傳算法(genetic algorithm,GA)、粒子群算法(particle swarm optimization,PSO)進行對比.
在搜索空間,“搜索代理”即每一頭座頭鯨都可以看作是優化問題的候選解.WOA通過獵物包圍、Bubble-net狩獵及獵物搜索等行為更新搜索代理位置捕獲獵物.
1) 獵物包圍
假定當前最優解位置是目標獵物,其他搜索代理通過如下公式更新位置:
X(t+1)=X*(t)-A·D,
(1)
D=|C·X*(t)-X(t)|.
(2)
其中:A=2a·r-a,a=2-2(t/tmax),r是介于0~1之間的隨機向量,t、tmax分別表示當前迭代次數、算法最大迭代次數;C=2·r;D是距離向量;X*(t)、X(t)分別表示目前最優解位置向量、當前位置向量.
2) Bubble-net狩獵
搜索代理會通過更新概率p在收縮包圍機制或螺旋模型中做出選擇來更新位置,公式如下:
(3)
其中:D′=|X*(t)-X(t)|表示搜索代理與目標獵物之間的距離;b是對數螺旋線形狀常數;l是介于-1~1之間的隨機數;p是介于0~1之間的隨機數.
3) 獵物搜索
搜索代理可通過隨機游走更新位置來增強算法全局探索能力,公式如下:
X(t+1)=Xr(t)-A·D,
(4)
D=|C·Xr(t)-X(t)|.
(5)
其中,Xr(t)是從種群中隨機選擇的搜索代理位置向量.
混沌映射產生的混沌序列使搜索代理位置遍歷整個搜索空間,保證種群多樣性,可用于提升基本WOA算法的全局搜索能力,避免其早熟收斂.本文采用Circle、Gauss、Logistic、Sinusoidal及Tent這5種混沌映射產生混沌序列,混沌映射見表1.考慮到混沌初值敏感性,為了便于比較,除Tent映射的初值為0.6外,其余映射初值均為0.7,映射的范圍為(0,1),映射迭代100次.5種混沌映射如圖1所示.

表1 混沌映射
為更好地協調算法的全局和局部的探索開發能力,引入帶混沌擾動的慣性權重位置更新策略.慣性權重公式為
(6)
其中:ωi、ωf分別是慣性權重ω的初值、終值;chaos(t)是混沌序列.則當前位置和螺旋機制位置更新公式可表示為:
X(t+1)=ω·X*(t)-A·D,p<0.5;
(7)
X(t+1)=D′·ebl·cos(2πl)+ω·X*(t),p≥0.5.
(8)
CWOA在更新代理模型位置時,通過參數p和A,根據式(7)、(8)和式(4)選擇不同的位置更新方式,具體CWOA的算法步驟如下:


圖1 混沌映射圖Fig.1 Graphs of chaotic maps
初始化鯨魚種群N,計算得出搜索代理的適應度值,記錄當前最優個體X*;
while(t fori=1∶N 更新參數a,A,C,l,p; if(p<0.5) if(|A|<1) 根據式(7)更新搜索代理位置; elseif(|A|≥1) 隨機選擇搜索代理位置Xr; 根據式(4)更新搜索代理位置; endif elseif(p≥0.5) 根據式(8)更新搜索代理位置; endif endfor 計算得出搜索代理的適應度值; 更新當前最優位置X*; t=t+1 endwhile 返回X*. 本文選用6個典型的基準測試函數將表1中的幾種混沌映射分別代入式(6)中調整慣性權重,更新搜索代理位置,以評價算法的整體性能.測試函數見表2,f1~f3為單峰函數,其余為多峰函數. 對基本WOA算法分別加入Circle、Gauss、Logistic、Sinusoidal及Tent映射,記為CWOA1~CWOA5.算法的基本參數設置:種群大小均設為30;算法最大迭代次數均設為500;測試函數的維度為30;慣性權重初值ωi、終值ωf分別取0.9、0.2.每種混沌算法獨立運行30次,求出運行結果的平均值、標準差以及所需的迭代次數.表3給出了CWOA1~CWOA5和基本WOA對不同測試函數的尋優結果.尋優收斂曲線如圖2所示,為了便于觀察,收斂曲線縱軸取以10為底的指數形式. 表2 基準測試函數 表3 WOA和CWOA的尋優結果比較 分析表3中結果可知:與WOA相比,除了函數f3,CWOA在其他的測試函數上均能獲得較好的尋優效果;在函數f1、f4、f5和f6中CWOA4(Sinusoidal映射)在幾種算法中所需的平均迭代次數最多;對于函數f3,只有CWOA1(Circle映射)和CWOA5(Tent映射)較WOA表現出較好的尋優性能.總體上而言,加入混沌映射慣性權重后提高了算法的尋優速度和精度. 圖2 尋優收斂曲線比較Fig.2 Comparisons of optimization convergence curves 從圖2中可以看出,相較于基本WOA,雖然圖2(c)中加入混沌策略的算法在函數f3的尋優過程中并未表現出優越的尋優性能,但是,CWOA算法在其他5個測試函數上均展現出了較優的收斂速度和尋優精度,尤其是CWOA2(Gauss映射)算法.圖2(d)和(f)中,CWOA2分別在迭代55次和40次后就到達了理論最小值0.因此,將加入Gauss映射的CWOA用于有限元模型修正問題中. 有限元模型修正是通過調整模型中的設計參數使得模型的計算響應與結構實測響應差異最小,最終使得修正后的有限元模型能夠更準確、可靠地反映實際結構特性,還可以為結構的健康監測狀況評估提供依據,這是典型的優化問題[12-14].一般以固有頻率、模態振型或頻響函數等振動信息為目標,構造模型修正目標函數[15].由于頻響函數含有較多的頻率點信息,可以避免因模態識別帶來的不必要的誤差.本文使用加速度頻響函數進行模型修正. 對于多自由度阻尼系統,其加速度頻響函數為 (9) 式中:M、C、K分別為n×n維結構的質量矩陣、剛度矩陣、阻尼矩陣;ω為激勵頻率. 此時,可將有限元模型修正問題轉化為目標函數最小化問題進行求解: (10) 其中:xi是第i個待修正參數;lb和ub分別是修正參數 的上限、下限;m是待修正參數個數;k是頻率點個數;Ht(ωj)、Ha(ωj)分別是在第j個頻率點ωj上的試驗實測加速度頻響函數值、有限元模型所得頻響函數值. 為驗證CWOA針對有限元模型修正問題的有效性,分別采用GA、PSO和加入Gauss映射的CWOA解決一二維桁架的有限元模型修正問題.桁架如圖3所示,該桁架結構包含25個桿單元、14個節點.除節點1和節點13,其他節點有x、y兩個方向的自由度,共25個自由度.桿單元的彈性模量為E=210 GPa,密度為ρ=7 850 kg·m-3. 圖3 二維桁架Fig.3 Two-dimensional truss model 選取x=[E,ρ]即彈性模量和密度為待修正參數.假設上述模型彈性模量和密度為真實值,所對應加速度頻響函數為試驗實測值.并對彈性模量增加10%、密度減少10%得到有限元值.選取節點11的y方向為試驗測試激勵點,節點3的y方向為測試點.對于加速度頻響函數,頻率范圍0~150 Hz.對實測頻響加入5%的噪聲,以模擬試驗過程中噪聲的影響.分別利用GA、PSO和CWOA求解式(10).求解時,所有算法種群大小和算法最大迭代次數取值相同,分別為50、100.其他參數設置見表4.求解過程的迭代收斂曲線如圖4所示.修正結果對比見表5. 從圖4可以明顯看到,迭代求解過程中,與GA、PSO比較,CWOA算法顯示出更好的計算結果,收斂速度快,計算精度高.由表5可以得出,加入Gauss映射的CWOA算法其修正后的誤差更小,修正結果更接近試驗值.CWOA對有限元模型修正問題有較好的求解精度. 圖5給出了修正前后加速度頻響函數對比曲線.由圖5可以看到,修正后的頻響函數與試驗頻響函數曲線有很好的重合,進一步驗證了所提出的CWOA算法的修正效果. 表4 算法參數設置 圖4 迭代收斂曲線對比Fig.4 Comparison of iterative convergence curves 表5 參數修正結果對比 圖5 修正前后頻響函數曲線Fig.5 Curves of frequency response function before and after model updating 對于基本WOA算法仍然存在的收斂精度不高、全局和局部搜索難平衡、易陷入局部最優解的問題,將帶混沌擾動的慣性權重更新策略用于鯨魚位置更新中,基于混沌策略提出了改進鯨魚優化算法CWOA.通過5種混沌映射在基準測試函數中的對比,得出Gauss映射能更好的提高WOA的性能.并將加入Gauss映射的CWOA用于有限元模型修正問題求解中,驗證了CWOA解決這一工程問題的有效性.3 仿真與分析
3.1 基準測試函數
3.2 結果對比分析




4 有限元模型修正問題
4.1 目標函數
4.2 基于CWOA的有限元模型修正





5 結論