賈鶴鳴,陳麗珍,力尚龍,劉慶鑫,吳 迪,盧程浩
1.三明學院 信息工程學院,福建 三明 365004
2.海南大學 計算機科學與技術(shù)學院,???570228
3.三明學院 教育與音樂學院,福建 三明 365004
隨著科技的不斷發(fā)展,工程優(yōu)化問題變得越發(fā)復雜,亟需尋找更為有效的求解算法。因此許多學者受自然界中生物的習性和事物的自然規(guī)律啟發(fā)提出了元啟發(fā)式算法,并將其應用于工程優(yōu)化問題求解。近年來提出的元啟發(fā)式算法主要有算術(shù)優(yōu)化算法(arithmetic optimization algorithm,AOA)[1]、正余弦優(yōu)化算法(sine cosine algorithm,SCA)[2]、灰狼優(yōu)化算法(grey wolf optimization,GWO)[3]、樽海鞘群優(yōu)化算法(salp swarm algorithm,SSA)[4]、蛇優(yōu)化算法(snake optimizer,SO)[5]、?魚優(yōu)化算法(remora optimization algorithm,ROA)[6]、黏菌優(yōu)化算法(slime mould algorithm,SMA)[7]和粒子群優(yōu)化算法(particle swarm optimization,PSO)[8]等。元啟發(fā)式算法因具有穩(wěn)定性強且易于實現(xiàn)等優(yōu)點,常被人們應用于工程設計問題求解。
侏儒貓鼬優(yōu)化算法(dwarf mongoose optimization algorithm,DMO)是由Agushaka 等[9]于2022 年提出的一種群體智能優(yōu)化算法。其靈感來源于侏儒貓鼬的群體覓食行為,但DMO 算法依然存在收斂速度慢及易陷入局部最優(yōu)的缺點。透鏡成像反向?qū)W習策略是基于透鏡成像原理提出的一種改進策略[10],能夠增強算法跳出局部最優(yōu)的能力,從而提高算法的尋優(yōu)性能。周鵬等[11]提出一種改進的平衡優(yōu)化器算法,通過透鏡成像反向?qū)W習策略來提高算法的搜索能力,降低算法在迭代后期陷入局部最優(yōu)的概率。劉慶鑫等[12]提出了一種多策略融合的?魚優(yōu)化算法,利用布朗運動提高算法的探索能力,再引入透鏡成像反向?qū)W習策略,進一步提高算法跳出局部最優(yōu)解的能力,使算法的探索能力和開發(fā)能力更加平衡。
為了提高DMO算法的收斂速度,增強其探索能力,本文提出了融合透鏡成像反向?qū)W習的精英池侏儒貓鼬優(yōu)化算法。首先,采用透鏡成像反向?qū)W習策略,降低算法陷入局部最優(yōu)的概率,增強算法全局探索的能力;然后,在阿爾法組成員覓食的時候引入精英池策略,避免了算法迭代后期個體向食物源聚集的問題,進一步降低陷入局部最優(yōu)的概率?;?3個標準測試函數(shù)的實驗結(jié)果表明,IDMO 算法具有更好的尋優(yōu)性能和魯棒性。最后,通過對汽車碰撞優(yōu)化問題的求解,驗證IDMO 算法對工程問題同樣具有較高的適用性。
DMO算法是模擬侏儒貓鼬半游牧式生活的一種元啟發(fā)式算法。侏儒貓鼬通常生活在一個母系社會的家族群體中,主要有覓食、偵察和保姆三種社會職能。侏儒貓鼬以集體覓食和偵察而聞名,由雌性首領(lǐng)引導種群進行食物源的搜尋。一旦滿足保姆交換條件,即當阿爾法組未能尋找到合適的食物時,將交換阿爾法組和保姆組的成員,且阿爾法組同時進行覓食和尋找睡眠丘。
1.1.1 雌性首領(lǐng)的產(chǎn)生
雌性首領(lǐng)在阿爾法組中產(chǎn)生,阿爾法組中每個雌性個體成為首領(lǐng)的概率為α,計算公式如下:
其中,fiti是第i個個體的適應度,N是侏儒貓鼬種群中個體的總數(shù)。阿爾法組的個體數(shù)量為n′,bs為保姆的數(shù)量。
1.1.2 阿爾法組成員覓食
阿爾法組成員將共行并進行覓食,食物源的候選位置由式(2)給出:
其中,Xi+1是找到的食物源新位置,Xi為雌性首領(lǐng)的當前位置,phi是均勻分布在[-1,1]之間的隨機數(shù),本文peep選取為2,Xrand是阿爾法組中的隨機個體。
保姆交換條件是用于重置阿爾法組和保姆組中的貓鼬個體。當阿爾法組成員未能搜尋到合適的食物時,認為阿爾法組成員能力不足,將交換阿爾法組和保姆組的成員。交換條件滿足后,阿爾法組將同時進行覓食和尋找睡眠丘,計算公式如下:
其中,Xb為交換后個體的新位置,ub和lb分別為搜索空間的上界和下界,rand是0到1之間的隨機數(shù)。
保姆交換后的覓食行為由公式(2)實現(xiàn)。睡眠丘是貓鼬休息的場所,而貓鼬不會回到之前的睡眠丘,這種生活模式能夠避免搜索區(qū)域被過度開發(fā)的問題。新搜尋到的睡眠丘的數(shù)學模型如下:
其中,Xsm為新的睡眠丘的位置,M是決定貓鼬移動到新睡眠丘的方向向量,φ是睡眠丘的平均值,計算公式如下:
其中,smi代表睡眠丘值:
CF表示貓鼬種群移動能力的參數(shù),它會隨著迭代次數(shù)線性遞減,計算公式如下:
其中,t為當前迭代次數(shù),T為最大迭代次數(shù)。
反向?qū)W習是通過計算當前位置的反向解,從而擴大搜索范圍的一種改進策略。在群智能優(yōu)化算法中采用反向?qū)W習策略,可以在一定程度上提升算法的尋優(yōu)能力;但通過反向?qū)W習求得的反向解是固定的,若個體已經(jīng)陷入局部最優(yōu),且其反向解劣于當前解,則反向?qū)W習策略無法使該個體跳出局部最優(yōu)。而透鏡成像反向?qū)W習可以有效解決上述問題。
透鏡成像反向?qū)W習策略如圖1所示,以二維空間為例,[a,b]為解的搜索范圍,y軸表示凸透鏡。假設有一物體P,高度為h,在x軸上的投影為x;該物體通過凸透鏡成像在凸透鏡的另一側(cè)呈現(xiàn)出一個倒立的實像P*,高度為h*,在x軸上的投影為x*。由凸透鏡成像原理可得:
圖1 透鏡成像反向?qū)W習策略示意圖Fig.1 Opposition learning strategy based on lens image
令k=h/h*,則式(9)可改寫為:
式(10)為凸透鏡成像反向?qū)W習策略的反向解的求解公式,當k=1 時,式(10)可化簡為:
該式即為反向?qū)W習的求解公式。
由上述可知,反向?qū)W習就是特殊的透鏡成像反向?qū)W習,采用反向?qū)W習得到的是固定的反向解。而通過調(diào)整k的大小,可以在透鏡反向?qū)W習中獲得動態(tài)變化的反向解,進一步提升算法的尋優(yōu)能力。本文中采用的k值計算公式如下:
精英池策略是用于提高算法探索能力的一種選擇策略[13]。其將當前最優(yōu)的三個個體和種群中適應度值前一半個體的加權(quán)平均位置儲存在精英池中,種群中前一半的個體在進行位置更新時都會隨機選擇精英池中的一個個體作為食物源;該策略有效避免了種群因只有一個食物源而陷入局部最優(yōu)的問題,提高了算法的探索能力。
原始DMO 算法具有較強的全局探索能力,但由于僅確定一個食物源會導致貓鼬種群出現(xiàn)向一個食物源聚集的問題,導致算法易陷入局部最優(yōu),所以本文采用上述策略來解決該問題。選擇當前適應度值最優(yōu)的三個個體和阿爾法組全部成員的加權(quán)平均位置存儲在精英池中。三個最優(yōu)個體能夠幫助阿爾法組進行探索,加權(quán)平均位置則代表整個優(yōu)勢種群的進化趨勢,有利于算法進行開發(fā)。隨后將隨機選擇精英池中的一個個體進行覓食,從而增強了原始算法的探索能力。精英池策略如圖2所示。
圖2 精英池策略示意圖Fig.2 Schematic diagram of elite pool strategy
圖2 中,Xbest1、Xbest2和Xbest3分別為當前種群適應度值最優(yōu)的前三個個體,Xmean是阿爾法全部成員的加權(quán)平均位置,其計算公式如下:
調(diào)整后的食物源的更新公式如下:
其中,Xelite是精英池策略選擇的個體位置。
融合透鏡成像反向?qū)W習的精英池侏儒貓鼬優(yōu)化算法的偽代碼如下所示:
融合透鏡成像反向?qū)W習的精英池侏儒貓鼬優(yōu)化算法實現(xiàn)流程如圖3所示。
圖3 IDMO算法流程Fig.3 Flow chart of IDMO
時間復雜度直接反映算法的運算效率,間接反映算法的收斂速度,是體現(xiàn)算法性能的重要因素。
在DMO 算法中,假設種群規(guī)模為N,個體維度為n,初始化算法參數(shù)所需時間為η0,每一維上產(chǎn)生均勻分布隨機數(shù)的時間為η1,則初始化種群階段的時間復雜度為:
進入迭代后,迭代次數(shù)為T,計算每個貓鼬個體適應度值的時間為f(n),根據(jù)公式(1)計算阿爾法組中雌性個體成為首領(lǐng)的概率所需時間為η2,則此階段的時間復雜度為:
在阿爾法組成員覓食階段,阿爾法組的個體數(shù)量為n′,在公式(2)中,phi為均勻分布的隨機數(shù),每個個體的每一維都各不相同,其生成時間均與η1一致,選取peep的時間為η3且由公式(2)進行每一維食物源位置更新的時間為η4。則該階段的時間復雜度為:
滿足保姆交換條件后,在公式(3)中,rand是隨機數(shù)且每個個體的每一維都各不相同,其生成時間均與η1一致。公式(3)初始化所需時間為η5。在公式(4)中,計算M、φ和smi所需時間分別為η6、η7、η8,計算phi和rand所需時間與上述一致。則該階段的時間復雜度為:
綜上所述,DMO的總時間復雜度為:
在改進算法IDMO中,算法的種群規(guī)模、個體維度、初始化參數(shù)時間以及每一維上產(chǎn)生均勻分布隨機數(shù)的時間均與DMO 算法一致,所以初始化種群階段的時間復雜度為:
進入迭代后,迭代次數(shù)為T,計算每個貓鼬個體適應度值的時間和計算阿爾法組中雌性個體成為首領(lǐng)的概率所需的時間均與DMO 算法一致,則此階段的時間復雜度為:
設由公式(12)產(chǎn)生k的時間為t1,由公式(14)產(chǎn)生的阿爾法組中按適應度值降序排列的權(quán)重系數(shù)ωi的時間為t2,由公式(13)產(chǎn)生的Xmean的時間為t3,由公式(15)產(chǎn)生的Xi+1的時間為t4。則該階段的時間復雜度為:
綜上所述,IDMO算法的總時間復雜度為:
由此可知,與DMO算法相比,本文IDMO算法并未增加時間復雜度,執(zhí)行效率沒有下降。
本次實驗的實驗操作系統(tǒng)為Windows11 系統(tǒng),11th Gen Intel?CoreTMi7-11700 2.50 GHz,16.00 GB內(nèi)存,實驗仿真過程在Matlab 2021a 中實現(xiàn)。為了驗證IDMO 算法的性能,本文選取了13 個標準測試函數(shù)對IDMO算法的性能進行測試[14]。表1為13個標準測試函數(shù)的基本信息。其中,F(xiàn)1~F5 是單峰函數(shù),只有一個全局最優(yōu)解,對算法的開發(fā)能力進行檢驗。F6~F10 是多峰函數(shù),有一個全局最優(yōu)解和多個局部最優(yōu)解,可對算法的全局搜索能力進行檢測。F11~F13 是固定維度多峰函數(shù),對算法探索和開發(fā)能力之間的平衡性進行驗證。通過上述三種不同類型的測試函數(shù),充分驗證算法的尋優(yōu)性能。
表1 標準測試函數(shù)Table 1 Benchmark functions
為充分驗證本文提出的IDMO算法的性能,選取了7種算法進行對比,分別是DMO[9]、AOA[1]、SCA[2]、GWO[3]、SSA[4]、SO[5]和ROA[6],這些算法已被證實具有良好的尋優(yōu)性能。為了更準確地驗證IDMO 算法與比對算法的優(yōu)劣性,統(tǒng)一設定種群規(guī)模N=30,維度D=30,最大迭代次數(shù)500 次,各算法獨立運行30 次。選取平均值、標準差與Wilcoxon 秩和檢驗作為評價標準。平均值與標準差越小,算法的性能越好。表2為各對比算法的參數(shù)設置。
表2 算法參數(shù)設置Table 2 Algorithm parameter setting
IDMO算法及其對比算法的最優(yōu)適應度值、平均適應度值和適應度值標準差如表3所示。Best為最優(yōu)適應度值,Mean 為平均適應度值,Std 為適應度值標準差。函數(shù)F1~F5 為單峰函數(shù);在求解函數(shù)F1 時,IDMO 算法得到了理論最優(yōu)值;在求解函數(shù)F2和F4時,IDMO算法均得到了理論最優(yōu)值,明顯優(yōu)于DMO和其他對比算法;在求解函數(shù)F3時,IDMO算法得到了理論最優(yōu)值,ROA雖得到了最優(yōu)適應度值和適應度值標準差的理論最優(yōu)值,但其穩(wěn)定性較差;在求解函數(shù)F5時,IDMO算法得到了最優(yōu)適應度值的理論最優(yōu)值,SSA雖得到了最佳的平均適應度值和適應度值標準差,但其最優(yōu)適應度值明顯較差,表明IDMO 算法跳出局部最優(yōu)的能力較強;由此可知,引入透鏡成像反向?qū)W習和精英池策略使得IDMO算法的局部開發(fā)能力顯著提升,算法收斂精度有所提高。函數(shù)F6~F10 為多峰函數(shù);在求解函數(shù)F6 和F8 時,IDMO 算法和ROA 均得到了理論最優(yōu)值,SO 則得到了最優(yōu)適應度值的理論最優(yōu)值,但其穩(wěn)定性較差;在求解函數(shù)F7、F9和F10時,IDMO算法均得到了最優(yōu)值,明顯優(yōu)于DMO和其余對比算法;由此可知,IDMO算法的探索能力優(yōu)于其他對比算法。函數(shù)F11~F13 為固定維度多峰函數(shù);在求解函數(shù)F11時,IDMO算法雖未取得最優(yōu)的適應度值標準差,但其最優(yōu)適應度值和平均適應度值都是最優(yōu)的;在求解函數(shù)F12和F13時,IDMO算法均得到了最佳的最優(yōu)適應度值、平均適應度值和適應度值標準差,GWO 和ROA 均得到最佳的最優(yōu)適應度值,但平均適應度值和適應度值標準差略差于IDMO算法;這驗證了IDMO算法的收斂精度明顯更高,且搜索能力和開發(fā)能力的平衡明顯更優(yōu)。
表3 各算法標準函數(shù)測試結(jié)果Table 3 Test results of benchmark functions of each algorithm
為了更直觀地反映各算法的收斂速度和跳出局部最優(yōu)的能力,本文給出部分測試函數(shù)的收斂曲線如圖4所示。對于函數(shù)F1、F2、F3和F4,DMO、AOA、SCA、GWO、SSA和SO的收斂精度都較低;ROA在函數(shù)F1和F3中,收斂精度較高,但收斂速度過慢,在函數(shù)F2和F4中,收斂精度較低;IDMO 算法在迭代一開始就快速收斂,且找到了理論最優(yōu)值。對于函數(shù)F5,IDMO算法在迭代初期快速收斂,收斂精度明顯更高。單峰函數(shù)的收斂曲線證明了IDMO 算法引入透鏡成像反向?qū)W習策略和精英池策略有效提高了收斂能力和全局探索能力。對于函數(shù)F7、F8、F9 和F10,IDMO 算法在迭代初期快速收斂,且在函數(shù)F8 中得到理論最優(yōu)值,AOA 在函數(shù)F7、F9 和F10 中長期陷入局部最優(yōu)。多峰函數(shù)F7、F8、F9 和F10體現(xiàn)了IDMO 算法具有卓越的探索能力。對于固定維度多峰函數(shù)F12 和F13,IDMO 算法在迭代前期快速收斂,尋優(yōu)時間均少于其他算法;在函數(shù)F13 中,AOA、SCA、GWO、SSA、SO、RAO均多次陷入局部最優(yōu),DMO算法的收斂速度略遜于IDMO算法;體現(xiàn)了IDMO算法探索和開發(fā)之間平衡性的優(yōu)越。
圖4 部分測試函數(shù)的收斂曲線Fig.4 Convergence curve of partial test function
為了充分驗證算法的魯棒性,本文采用Wilcoxon秩和檢驗來驗證各算法整體結(jié)果的顯著性差別。Wilcoxon秩和檢驗在5%的顯著性水平下進行,當p<5%時,表明兩種對比算法存在顯著差異,反之表明兩種算法的尋優(yōu)性能差異不大。因此,本文將8 種算法作為樣本,各算法獨立求解15 次,設定種群個數(shù)N=30,維度D=30,測試13 個標準測試函數(shù)判斷IDMO 算法所得結(jié)果與7個對比算法所得結(jié)果的顯著性區(qū)別。Wilcoxon 統(tǒng)計檢驗p值結(jié)果如表4所示。由表4可知,大部分p值均小于5%,說明IDMO 算法與其余比對算法之間存在顯著差異。
表4 各算法Wilcoxon秩和檢驗結(jié)果Table 4 Wilcoxon rank sum test results of each algorithm
通過綜合分析各算法標準函數(shù)測試結(jié)果、部分測試函數(shù)的收斂曲線和各算法Wilcoxon秩和檢驗結(jié)果,可得出如下結(jié)論:IDMO 算法的局部和全局能力均顯著提升,且優(yōu)于原始DMO 和SSA 等對比優(yōu)化算法,具有更佳的收斂速度、收斂精度以及穩(wěn)定性。
汽車碰撞優(yōu)化問題的設計目的是實現(xiàn)汽車輕量化,即在保證汽車安全性能的前提下,最大程度地降低汽車的整備質(zhì)量[15]。該問題包含了11個決策變量和10個約束條件,其中決策變量分別是B 柱內(nèi)部厚度、B 柱鋼筋厚度、地板內(nèi)側(cè)厚度、橫梁厚度、門梁厚度、門帶線鋼筋厚度、車頂縱梁厚度、B 柱內(nèi)部材料、地板內(nèi)側(cè)材料、障礙高度、障礙撞擊位置,約束條件分別是腹部負荷、上部粘性標準、中部粘性標準、下部粘性標準、上部肋骨偏轉(zhuǎn)、中部肋骨偏轉(zhuǎn)、下部肋骨偏轉(zhuǎn)、恥骨聯(lián)合力、B 柱中間點速度和B柱前門速度。
其數(shù)學模型如下:目標函數(shù):
約束條件:
變量范圍:
IDMO 算法與對比算法求解汽車碰撞優(yōu)化問題的實驗結(jié)果如表5所示。從表5中可直觀看出,IDMO算法得到的最小質(zhì)量為23.256 9,該結(jié)果不僅優(yōu)于原始DMO算法,且小于其余的對比優(yōu)化算法,說明IDMO 算法在求解該類工程問題時具有良好的工程實用性。
表5 汽車碰撞優(yōu)化問題實驗結(jié)果Table 5 Experimental results of car crashworthiness optimization
本文為提高DMO 算法的收斂速度和尋優(yōu)性能,提出了一種融合透鏡成像反向?qū)W習的精英池侏儒貓鼬優(yōu)化算法(IDMO)。使用13 個標準測試函數(shù)及Wilcoxon秩和檢驗對IDMO 算法進行仿真實驗,實驗結(jié)果表明,IDMO算法具有良好的尋優(yōu)性能和魯棒性,再通過將其應用于汽車碰撞優(yōu)化問題實例,驗證了IDMO算法在工程方面的適用性和可行性。在后續(xù)的研究中,考慮將算法應用在其他工程問題求解中,更深入地驗證改進算法的性能。