賈鶴鳴,文昌盛,吳 迪,饒洪華,劉慶鑫,力尚龍
1.三明學院 信息工程學院,福建 三明 365004
2.三明學院 教育與音樂學院,福建 三明 365004
3.海南大學 計算機科學與技術學院,???570228
優(yōu)化通常用來在特定問題中找到最佳的解決方案,然而隨著科學技術的持續(xù)發(fā)展,實際問題的復雜性不斷提高,對優(yōu)化技術的需求愈發(fā)明顯。元啟發(fā)式優(yōu)化算法由于其簡單性、靈活性和無推導機制受到了眾多學者的關注。近十年來提出了諸多元啟發(fā)式優(yōu)化算法如灰狼優(yōu)化算法(grey wolf optimizer,GWO)[1]、蛇優(yōu)化算法(snake optimizer,SO)[2]、黏菌優(yōu)化算法(slime mould algorithm,SMA)[3]、正余弦優(yōu)化算法(sine cosine algorithm,SCA)[4]、哈里斯鷹優(yōu)化算法(harris hawks optimization,HHO)[5]、算術優(yōu)化算法(arithmetic optimization algorithm,AOA)[6]等,并利用它們解決了許多復雜的工程問題。但是,根據(jù)無免費午餐(no-free-lunch,NFL)定理[7],如果一個算法對一類問題的平均表現(xiàn)特別好,那么它必須在剩下的問題上的平均表現(xiàn)更差。因此沒有一種優(yōu)化算法可以解決所有問題,對算法的優(yōu)化和進一步改進就顯得十分重要[8-9]。常見的優(yōu)化方法有很多,有對種群初始化的方式進行優(yōu)化,例如混沌精英初始化[10];更為有效的是對算法本身進行優(yōu)化,例如反向學習策略[11]、變異策略[12]、重啟策略[13]和融合算法[14]等,許多算法進行優(yōu)化之后,搜索能力都得到加強,能夠解決更加復雜的實際問題[15-16]。
綜合參考上述關于ROA 的改進,針對ROA 存在的問題,本文提出了一種融合聯(lián)合反向學習與宿主切換機制的?魚優(yōu)化算法(improved remora optimization algorithm,IROA)。在探索階段加入宿主切換機制,隨機選擇旗魚和白鯨作為宿主,提高了ROA的探索能力;同時加入聯(lián)合反向學習策略,有效防止算法陷入局部最優(yōu),更好地平衡了算法的探索與開發(fā)階段。通過以上兩種策略的綜合作用,提高了ROA的尋優(yōu)能力和收斂精度,加強了算法的全局搜索能力。仿真實驗選取CEC2020來測試IROA的性能,同時選取汽車防碰撞設計問題進行測試,實驗結果進一步驗證了IROA的魯棒性與工程適用性。
?魚優(yōu)化算法的靈感來源于海洋中?魚的寄生行為。為了免受敵人的入侵,同時也為了節(jié)省體力,?魚會寄生在宿主身上跟隨宿主移動。魚優(yōu)化算法有兩個階段,即探索階段和開發(fā)階段。探索階段魚會吸附在旗魚身上,旗魚是海洋中速度最快的魚,它們通常會成群捕獵,它們特有的狩獵方法是輪流攻擊精英戰(zhàn)術;開發(fā)階段?魚會吸附在鯨魚身上,鯨魚的體積大,經(jīng)常單獨捕獵。?魚優(yōu)化算法提取了旗魚優(yōu)化算法中旗魚的更新公式和鯨魚優(yōu)化算法中鯨魚氣泡網(wǎng)攻擊法作為?魚的運動公式。此外,當周圍食物變少時,?魚會選擇更換宿主。為了確定是否需要更換宿主,還需要圍繞宿主進行小范圍移動,即經(jīng)驗攻擊。如果不改變宿主,則會通過宿主獲得食物,即宿主覓食模式。
在ROA中,初始化?魚種群位置的計算公式如下:
其中,Ri,j表示?魚i在第j維度的位置,ubj和lbj分別表示搜索空間的上界和下界,r1為0 到1 之間的隨機數(shù)。
1.2.1 旗魚策略
當?魚吸附在旗魚身上時,?魚會跟隨旗魚移動,可以認為?魚的位置更新與旗魚同步。此外,基于旗魚優(yōu)化算法的精英策略,對其位置更新進行了改進,其計算公式如下:
式中,t為當前迭代次數(shù),Rit+1表示更新之后的?魚個體i的位置,RBestt表示更新之前最優(yōu)個體的位置,rand函數(shù)可以產生0 到1 之間的隨機數(shù),Rrandt為更新之前?魚個體的隨機位置。
1.2.2 經(jīng)驗攻擊
?魚吸附在宿主身上時,還會在宿主周圍進行小范圍的試探性移動,判斷是否需要更換宿主。該過程類似經(jīng)驗上的積累。對以上思想建立數(shù)學模型,其計算公式如下:
式中,Rpre表示上一代魚的位置,可以看作一種經(jīng)驗;Ratt是魚基于經(jīng)驗的一次試探性小范圍移動。這種機制通過randn函數(shù)在當前位置和上一代位置之間隨機生成一個新位置Ratt,通過比較Ratt與當前位置的適應度判斷宿主周圍食物是否充足,是否需要更換宿主。
更換宿主的公式如下:
式中,H(i)決定了魚的宿主,初始為0 或者1,若H(i)等于0,則吸附鯨魚,若H(i)等于1,則吸附旗魚,round 為四舍五入的函數(shù),f()和f(Ratt)分別為與Ratt的適應度值。
1.3.1 鯨魚策略
其中,D表示位置更新前的最優(yōu)位置與當前位置之間的距離,k為-1 到1 之間的隨機數(shù),a在迭代中會在[-2,1]之間線性遞減,T為最大迭代次數(shù)。
1.3.2 宿主覓食
宿主覓食是開發(fā)階段的進一步細分,這個階段最佳搜索空間縮減為宿主的位置空間,此時魚在宿主周圍進行小范圍移動,其具體計算公式如下所示:
其中,A代表魚的移動距離,其值和魚與宿主的位置空間有關;為了區(qū)分宿主和魚在搜索空間中的位置,使用魚因子C來縮小魚的位置,本文C的值選取0.1;由于宿主的體積是隨機的,用B模擬宿主的體積;V表示魚的體積。
ROA 的機制簡單,易于實現(xiàn),并被廣泛應用于解決優(yōu)化問題,但面對復雜度較高的問題時,其探索能力較弱,全局搜索能力不足,容易出現(xiàn)陷入局部最優(yōu)和收斂精度差的問題。雖然經(jīng)驗攻擊有一定跳出局部最優(yōu)的能力,但這僅是?魚在宿主周圍的一次試探性移動,搜索范圍小且全局性有限。此外,探索階段時魚吸附在旗魚身上,而旗魚是群體捕食模式,受群體的影響可能性較大,容易陷入局部最優(yōu),致使探索能力不足。因此,本文提出了一種融合聯(lián)合反向學習和宿主切換機制的?魚優(yōu)化算法,通過加入聯(lián)合反向學習策略,提高算法跳出局部最優(yōu)的能力;同時在探索階段引入宿主切換機制,隨機選擇白鯨與旗魚作為宿主,白鯨與旗魚策略相互配合,能更加有效提升算法的搜索能力。
聯(lián)合反向學習在加強了算法全局能力的同時,也能進行局部調整。宿主切換機制引入白鯨作為宿主,克服了原始ROA中旗魚搜索跨度過大的缺點,使算法的全局搜索更加細致。綜合兩種策略,在提高ROA 全局性能的同時,也一定程度上提高了ROA 的開發(fā)能力。
聯(lián)合反向學習結合了選擇性領先反向和動態(tài)反向的優(yōu)勢,有助于平衡算法的探索階段與開發(fā)階段,有效提高了算法的性能。選擇性領先反向會對小于閾值的維度進行反向,個體位置的變化幅度較小,一定程度加強了算法的開發(fā)能力。動態(tài)反向是概率性的,并且會在搜索空間內大范圍移動,有助于提高算法的全局性能,讓算法跳出局部最優(yōu)。兩者結合而提出的聯(lián)合反向相比傳統(tǒng)的反向學習策略,在提高算法的全局性能的同時,也提高了算法的開發(fā)能力。
2.1.1 選擇性領先反向
選擇性領先反向是從選擇性反向[22]思想擴展而來,通過計算當前個體與當前最優(yōu)個體之間每個維度的距離,并與一個閾值做對比,分成近距離維度和遠距離維度兩組,同時通過斯皮爾曼的等級相關系數(shù)比較當前個體與最優(yōu)個體的相關性,若相關性小于0,則對個體的近距離維度進行反向學習。相較于選擇性反向對遠距離維度進行反向學習,選擇性領先反向的跨度較小,不易遠離最優(yōu)位置。
以二維問題為例,如圖1 所示。B為當前最優(yōu)個體,P1、P2、P3為當前個體,假設閾值為2,P1與B第一維度的距離為5,第二維度的距離為1,與閾值相比,第一維度之間的距離大于閾值,第二維度之間的距離小于閾值,因此僅對第二維度進行選擇性領先反向;同理對于P2,僅需要對第一維度進行選擇性領先反向,對于P3,第一維度與第二維度均需要進行選擇性領先反向。
圖1 選擇性領先反向二維示意圖Fig.1 Two dimensional schematic diagram of selective leading opposition
選擇性領先反向的計算公式如下:
式中,Ri,dc為?魚個體的近距離維度,為?魚個體近距離維度的反向位置,src為斯皮爾曼等級相關系數(shù),ddi,j為當前個體i在第j個維度上與當前最優(yōu)個體的距離,size(dc)為個體近距離維度數(shù)量,size(df)為個體遠距離維度數(shù)量。
計算個體的size(dc)和size(df)需要通過式(10)計算最優(yōu)個體與當前個體之間每個維度的距離,并與閾值比較,大于或等于閾值的為遠距離維度,小于閾值的為近距離維度,閾值通過式(9)來計算。
式中,RBest,jt為最優(yōu)個體第j個維度的位置,Ri,jt為當前個體i在第j個維度的位置。
2.1.2 動態(tài)反向
動態(tài)反向是由Xu 等[21]融合準反向[23]與準反射[24]思想提出的,優(yōu)點在于它能夠動態(tài)地搜索空間,且在搜索空間中不對稱地移動,有助于算法接近全局最優(yōu)解,具體計算公式如下:
雖然旗魚的游速快,但對解空間的搜索未必全面,而白鯨也是海洋中的一種生物群體,白鯨搜索時相對緩慢且仔細,與旗魚相互協(xié)調能有效增強算法的全局搜索性能,因此本文在算法探索階段加入宿主切換機制,使魚能夠隨機選擇兩種宿主。魚選擇白鯨作為宿主的概率設為Pr,則選擇旗魚作為宿主的概率為1-Pr。為了更有效率地對搜索空間進行探索,將Pr的值設為0.5,3.8 節(jié)給出了Pr的敏感度分析。
當選擇白鯨作為宿主時,參考了白鯨優(yōu)化算法中探索階段的更新公式。白鯨優(yōu)化算法模擬了白鯨的捕食行為,其探索階段是通過考慮白鯨的游泳行為建立的,通常為兩對白鯨以同步或鏡像的方式游泳。其計算公式如下:
若新位置超出邊界,則通過式(15)將超出邊界的維度拉回邊界。
IROA 的偽代碼如下所示:
IROA 的流程圖如圖2 所示。
圖2 IROA 的流程圖Fig.2 Flow chart of IROA
計算復雜度是評價一個算法的重要的指標,IROA 的復雜度主要來源于初始化、種群的位置更新和評估適應度值。種群初始化的復雜度為O(N×dim)。位置更新的復雜度包括多方面,寄生在旗魚、鯨魚和白鯨身上更新位置的復雜度為O(N×dim×T),其中N為種群大小,dim為維度,T為最大迭代次數(shù);進行經(jīng)驗攻擊的復雜度也為O(N×dim×T);宿主覓食是概率發(fā)生的,假設其復雜度最大,為O(N×dim×T);聯(lián)合反向學習的復雜度根據(jù)文獻[20]可知為O(N×T×(jr×dim+size(dc))),其中jr為跳躍率,size(dc)為個體近距離維度的數(shù)量。進行經(jīng)驗攻擊、聯(lián)合反向與更新最優(yōu)位置都需要評估位置的適應度值,經(jīng)驗攻擊后對新位置評估的復雜度為O(N×C×T),其中C為評價一個位置需要的復雜度;對聯(lián)合反向生產的新位置進行評價的復雜度不確定,最大為O(N×C×T×(jr+1));更新最優(yōu)位置時會對所有位置進行評估,其復雜度為O(N×C×T)。
綜上所述,ROA的計算復雜度最大為O(N×T×(1+3×dim))+O(N×T×C×2),而IROA 的計算復雜度最大為O(N×T×(1+3×dim+jr×dim+size(dc)))+O(N×T×C×(3+jr)),相比于ROA,由于增加了聯(lián)合反向學習策略,IROA 的復雜度雖然有所增加,但從第3 章的實驗結果和第4 章的工程問題中可以看出,IROA 的性能也得到了較大提升。
本文實驗均在主頻為2.50 GHz 的11th Gen Intel?CoreTMi7-11700 處理器,16 GB 內存,操作系統(tǒng)為64 位Windows 11 的電腦上使用MATLAB2021a 完成。為了測試IROA 的性能,本文選取了CEC2020 的10 個測試函數(shù)進行仿真實驗。其中F1 為單峰函數(shù),F(xiàn)2~F3 為多峰函數(shù),F(xiàn)4 為無峰函數(shù),F(xiàn)5~F7 為混合函數(shù),F(xiàn)8~F10 為復合函數(shù)。CEC2020 測試函數(shù)的詳細信息如表1 所示。
表1 CEC2020 測試函數(shù)Table 1 CEC2020 test functions
IROA 與其他對比算法運行30 次得到的最優(yōu)適應度值、平均適應度值和適應度值標準差如表3 和表4 所示,其中min 表示最優(yōu)適應度值,mean 表示平均應度值、平均適應度值和適應度值標準差如表3和表4 所示,其中min 表示最優(yōu)適應度值,mean 表示平均適應度值,std 表示適應度值標準差。在單峰函數(shù)F1中,IROA 相比ROA 尋優(yōu)能力得到了顯著的提升,在10維與100維中,相比其他算法,IROA在最優(yōu)適應度值、平均適應度值和適應度值標準差都取得了最佳。在多峰函數(shù)F2 與F3 中,IROA 取得了最好的最優(yōu)適應度值、平均適應度值,雖然適應度值標準差有所不足,但相較于ROA和BWO算法仍有較大提升。在無峰函數(shù)F4中,除了SCA、BES和WSO算法,其他算法都能穩(wěn)定找到理論最優(yōu)值。F5~F7為混合函數(shù),雖然WSO 算法在10 維的F5 中的最優(yōu)適應度值優(yōu)于IROA,但在100 維的F5 中IROA 得到結果優(yōu)于WSO算法的結果。在F6~F7 中,IROA 表現(xiàn)出的效果最優(yōu)。在復合函數(shù)F8~F10 中,IROA 的整體性能依舊最優(yōu),雖然在部分函數(shù)中的適應度值標準差有所不足,但最優(yōu)適應度值和平均適應度值依舊有較大優(yōu)勢。雖然100 維的CEC2020 測試函數(shù)更加復雜,但是IROA的整體性能依舊優(yōu)于其他對比算法。
表3 各算法在CEC2020(dim=10)中的實驗結果Table 3 Experimental results of each algorithm in CEC2020(dim=10)
表4 各算法在CEC2020(dim=100)中的實驗結果Table 4 Experimental results of each algorithm in CEC2020(dim=100)
為了更加直觀地比較各個算法的尋優(yōu)能力,本文給出了IROA 和對比算法在CEC2020 測試函數(shù)的收斂曲線圖,如圖3和圖4所示。
圖3 各算法在CEC2020(dim=10)的收斂曲線Fig.3 Convergence curves of each algorithm in CEC2020(dim=10)
圖4 各算法在CEC2020(dim=100)的收斂曲線Fig.4 Convergence curves of each algorithm in CEC2020(dim=100)
在10 維的CEC2020 測試函數(shù)中,對于單峰函數(shù)F1,ROA、SCA 和WSO 算法都有一定收斂能力,但與IROA 相比有所不足,IROA 與WSO 算法在后期均能繼續(xù)收斂。在多峰函數(shù)F2 與F3 中,IROA 雖然前期的收斂速度較慢,但在中后期都能跳出局部最優(yōu),快速收斂,其他算法均陷入了局部最優(yōu),無法收斂。在無峰函數(shù)F4 中,由于函數(shù)較為簡單,除了WSO 算法與SCA,其他算法都能很快找到最優(yōu)值。對于混合函數(shù)F5~F7,在F5 中IROA 前期就能快速收斂;在F6和F7 中IROA 前期收斂速度雖然慢,但后期依舊能跳出局部最優(yōu)。對于復合函數(shù)F8~F10,IROA收斂能力依舊不俗,尤其在F9 中,IROA 展現(xiàn)出了強大的跳出局部最優(yōu)的能力,與WSO 算法在前期就能快速收斂,而ROA和其他算法均陷入了局部最優(yōu)。
在100維的CEC2020測試函數(shù)中,對于單峰函數(shù)F1,可以明顯看出IROA 的收斂能力最強,ROA 次之,其他算法收斂能力接近,中后期無法繼續(xù)收斂。對于多峰函數(shù)F2 和F3,IROA 能持續(xù)跳出局部最優(yōu),擁有較高的收斂精度。在無峰函數(shù)F4 中,只有WSO算法與SCA 無法達到理論最優(yōu)。對于混合函數(shù)F5~F7,明顯看出IROA 的收斂能力更強,比在10 維度中得到優(yōu)勢更加明顯。在復合函數(shù)F8~F10 中,IROA在F8 中可以不斷收斂,而其他算法中期便陷入停滯狀態(tài),對于F9和F10,IROA、ROA和SCA可以持續(xù)收斂,但明顯看出IROA的收斂速度和收斂精度更高。
僅通過最優(yōu)適應度值、平均適應度值、適應度值標準差和收斂曲線圖無法分析算法每次運行的結果,因此本文采用Wilcoxon秩和檢驗來驗證IROA 與對比算法的顯著區(qū)別。其中顯著水平為5%,當p小于5%時,則表示存在顯著區(qū)別,反之則較為相近。本文將8 個算法在CEC2020 中運行30 次,統(tǒng)計結果如表5 和表6 所示,其中符號“+”“-”“=”分別表示IROA 性能優(yōu)于、劣于和等于對比算法,對p大于5%的數(shù)據(jù)進行了加粗處理。在F4 中存在較多為1 的情況,這是由于F4的函數(shù)較為簡單,大多算法都能很快找到理論最優(yōu)解,在不同維度的大部分函數(shù)中p的值均小于5%,可以證明IROA 與對比算法存在顯著差異,且優(yōu)于對比算法。通過Wilcoxon 秩和檢驗,可以看出IROA在大多數(shù)測試函數(shù)中都有更優(yōu)的效果。
表5 各算法的Wilcoxon秩和檢驗結果(dim=10)Table 5 Wilcoxon rank-sum test results of each algorithm(dim=10)
表6 各算法的Wilcoxon秩和檢驗結果(dim=100)Table 6 Wilcoxon rank-sum test results of each algorithm(dim=100)
為了進一步驗證聯(lián)合反向學習策略的優(yōu)越性,表7給出了將IROA中的聯(lián)合反向學習替換成其他反向學習策略在CEC2020(dim=10)運行30 次的統(tǒng)計數(shù)據(jù),對較好的數(shù)據(jù)進行了加粗處理。其中ROBL(random opposition-based learning)為隨機反向學習[14],QOBL(quasi opposition-based learning)為準反向學習[23],QRBL(quasi reflection-based learning)為準反射學習[24],OBL(opposition-based learning)為反向學習[28]、LOBL(lens opposition-based learning)為透鏡反向學習[18]。不難看出,采用聯(lián)合反向學習策略的IROA 在大多數(shù)函數(shù)下的效果都很理想,雖然F6 中的適應度值標準差弱于準反射學習策略,但平均適應度值依舊優(yōu)于其他反向學習策略。在F8 與F9 中平均適應度值沒有取得最優(yōu)效果,但與其他策略并無較大差距。
表7 與其他種類反向學習的對比結果Table 7 Comparison results with other kinds of opposition-based learning
現(xiàn)已有許多學者對ROA 進行了改進,為了體現(xiàn)提出的IROA 的優(yōu)勢,本文選取了融合布朗運動與透鏡反向學習策略的MROA(modified remora optimization algorithm)[18]、基于Levy 飛行與重啟策略的EROA(enhanced remora optimization algorithm)[29]、融合自主覓食機制的IROA(Zheng)[19]和融合互利共生策略的IROA(Wang)[30]與本文的IROA 進行對比,并通過10 維的CEC2020 函數(shù)進行測試,其具體結果如表8 所示,同時對最優(yōu)的數(shù)據(jù)進行加粗。從表8 可以看出,函數(shù)F1、F2 和F3 中,IROA(Wang)的結果略優(yōu)于本文算法,但與本文算法的結果差距不大。在混合函數(shù)F5~F7 中,本文算法得到的最優(yōu)適應度值、平均適應度值和適應度值標準差都有一定優(yōu)勢,雖然F6 的結果略差于IROA(Wang),但本文算法得到結果依舊不俗。在復合函數(shù)F8~F10 中,F(xiàn)8 中,本文算法得到結果與IROA(Wang)相近,F(xiàn)9 中本文算法得到了最好的最優(yōu)適應度值,平均適應度值次之,F(xiàn)10 中本文算法得到結果明顯優(yōu)于其他ROA 的變體。
表8 與其他ROA變體的對比結果Table 8 Comparison results with other ROA variants
IROA采用了兩種策略對ROA進行改進,為了體現(xiàn)兩種策略對ROA 的優(yōu)化作用,本節(jié)給出了僅加入聯(lián)合反向策略的ROAJOS(remora optimization algorithm with joint opposite selection)和僅加入宿主切換機制的ROAHS(remora optimization algorithm with host switching)與基礎ROA 進行對比,在10 維度的CEC2020 測試函數(shù)中運行30 次,表9 給出了統(tǒng)計結果。為了使統(tǒng)計結果更明顯,本文對表中較差的數(shù)據(jù)進行加粗。不難看出,基礎ROA 的大多數(shù)數(shù)據(jù)都被加粗。聯(lián)合反向學習與宿主切換機制對ROA均有一定作用。
表9 單一策略對比結果Table 9 Comparison results of single strategy
本節(jié)進一步分析了宿主切換機制中選擇白鯨作為宿主的概率,給出了概率分別為0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8和0.9的敏感度分析。表10為不同值的Pr在CEC2020 測試函數(shù)中的統(tǒng)計結果。從表10中可以看出,在概率為0.5 時,IROA 在函數(shù)F5、F7、F8、F9 和F10 中得到了較好的均值,在其他函數(shù)中得到的結果依舊不俗。不難看出,當概率為0.5 時,IROA能夠取得更好的結果。
研究優(yōu)化算法的目的之一是為了解決實際問題,而測試函數(shù)中的結果并不能體現(xiàn)IROA 在工程問題中的實際性能。因此,本文利用汽車碰撞優(yōu)化問題對算法進行測試,進一步驗證IROA 的工程適用性。
汽車防碰撞設計問題是為了在保持汽車性能的同時,盡可能降低汽車的質量。該問題包含11 個決策變量與10 個約束條件。其中B 柱內板的厚度x1、B柱鋼筋厚度x2、地板內側的厚度x3、橫梁厚度x4、門梁厚度x5、門帶線鋼筋厚度x6、車頂縱梁厚度x7、B 柱內側材料x8、地板內側材料x9、護欄高度x10和碰撞位置x11為決策變量。汽車碰撞優(yōu)化問題設計示意圖如圖5所示。
圖5 汽車側面碰撞模型圖Fig.5 Model diagram of car side crash
汽車防碰撞設計問題的數(shù)學模型如下:
目標函數(shù):
約束條件:
變量范圍:
表11 為IROA 和對比算法在汽車防碰撞設計問題上的運行30 次的實驗結果和單次運行的平均時間。實驗選取了標準ROA、四種ROA 的變體、一種沙貓優(yōu)化算法的變體和一種互利共生算法的變體作為對比,它們分別為ROA、MROA、IROA(Zheng)、EROA、IROA(Wang)、改進的沙貓算法(modified sand cat swarm optimization,MSCSO)[31]和改進的互利共生算法(hybrid particle swarm optimization/genetic algorithm/symbiotic organisms search,HGPSOS)[32]。其中種群規(guī)模N=30,維度大小dim=7,迭代次數(shù)T=500。Best為各算法在汽車防碰撞問題上運行30次得到的最小適應度值,Mean 為平均適應度值,Std為適應度值標準差,time 表示單次運行時間,最優(yōu)的Best、Mean 和Std 值進行了加粗,x1~x11為算法取得最小適應度值時的解 。不難看出,當x=[0.500 000 000,1.226 934 200,0.500 000 000,1.205 565 700,0.500 000 000,1.223 710 100,0.500 000 000,0.345 000 000,0.345 000 000,0.214 107 800,0.007 404 300]時,IROA 取得了最小質量,并且IROA 得到的平均適應度值與適應度值標準差也優(yōu)于對比算法。從單次運行時間中看出,IROA的運行時間雖然高于ROA,但EROA、IROA(Wang)、MSCSO 和HGPSOS 算法的運行時間明顯更高。實驗充分證明了IROA在汽車碰撞問題上的有效性。
表11 各算法在汽車防碰撞設計問題的實驗結果Table 11 Experimental results of each algorithm in car crashworthiness design
通過上述工程問題證明,原始ROA 的探索能力有所不足且易陷入局部最優(yōu)。而IROA 通過加入聯(lián)合反向策略并增加宿主切換機制,增強了算法的全局能力并提高了算法的收斂精度,在實際工程問題中也能找到更優(yōu)的解,充分驗證了IROA 在解決復雜的工程問題中有較高的潛力與實用價值。
針對ROA 的探索能力不足、求解精度較低并易陷入局部最優(yōu)的缺點,IROA 加入了一種聯(lián)合反向學習策略,增強了算法的全局能力;并增加宿主切換機制,彌補了魚寄生在旗魚上探索能力不足的缺點。利用CEC2020測試函數(shù)對IROA進行測試,實驗結果表明IROA 在大多數(shù)函數(shù)中都有不錯的效果。同時,通過對汽車防碰撞問題的求解,進一步驗證了IROA在實際問題中的適用性。在未來的工作中,計劃將改進的魚優(yōu)化算法應用到更多實際問題中,如多閾值圖像分割領域,并進一步提高和提升算法的優(yōu)化性能。