





















摘 要:針對麻雀搜索算法收斂精度低、易陷入局部最優等問題,提出了一種融合相對距離和歷史成功率的增強麻雀搜索算法(RHSSA)。首先,RHSSA引入一種融合適應度值與相對距離的發現者選擇方式,使選出的發現者既保持較高質量,又保持在搜索空間的分布廣泛;其次,RHSSA在麻雀發現者搜索過程中,采用融合加權重心的反向學習策略,充分挖掘搜索空間的優質位置信息并減弱發現者向原點聚集的趨勢;最后,RHSSA引入基于歷史成功率的自適應選擇算子動態地選擇柯西變異與高斯變異對最優解做擾動,提高算法跳出局部最優的能力。選用CEC2017測試函數集中的12個函數作為性能基準函數,將RHSSA與其他五種改進的麻雀搜索算法(AMSSA、SCSSA、SHSSA、ISSA、CSSOA)進行性能評測?;趯嶒灁祿腇riedman檢驗表明,RHSSA能獲取最優的結果。為驗證提出的改進策略的有效性,還對改進策略進行了消融實驗。實驗結果表明在綜合改進策略的共同作用下,RHSSA的綜合優化性能排名為第一名。
關鍵詞:麻雀搜索算法;適應度值與相對距離;加權重心;反向學習;自適應選擇算子
中圖分類號:TP306.1 文獻標志碼:A文章編號:1001-3695(2024)06-006-1640-09
doi: 10.19734/j.issn.1001-3695.2023.09.0502
Enhanced sparrow search algorithm by adopting mechanism based on relative distance and historical success rate
Abstract:Aiming to overcome faults of lower convergence accuracy and susceptibility to local optima in sparrow search algorithm (SSA), this paper proposed an enhanced sparrow search algorithm by adopting the mechanism based on relative distance and historical success rate, namely RHSSA. Firstly, RHSSA introduced a discoverer selection method that integrated fitness values and relative distance to make selected discoverers maintaining high quality and wider distribution in search space. Secondly, RHSSA adopted a reverse learning strategy that integrated weighted center of gravity during each search iteration of discovers in order to fully mining the high-quality location information in the search space and weakening discoverers’ trend to gather towards the origin. Finally, RHSSA also used an adaptive selection operator based on historical success rate to dynamically select between Cauchy and Gaussian mutations to disturb the optimal solution to improve the algorithm’s ability to jump out of local optimal. 12 functions were selected from the CEC2017 test function suit as the benchmark to evaluate RHSSA with five other improved sparrow search algorithms(AMSSA, SCSSA, SHSSA, ISSA, and CSSOA). The result of Friedman test based on experimental data shows that RHSSA can achieve the supreme performance among all evaluated algorithms. To futher verify effectiveness of the proposed improvement strategies, ablation experiments were conducted. The result illustrates that under the combination of all proposed improvement strategies, RHSSA ranks first in comprehensive optimization performance.
Key words:sparrow search algorithm; fitness value and relative distance; weighted center of gravity; opposition-based lear-ning; adaptive selection operator
0 引言
現實生活中的工程優化問題可以轉換為最優化問題,一般具有多峰值、非線性、多約束等特點[1],例如車輛側面碰撞設計[2]、發電機優化調度[3]等。其中單目標尋優問題為在搜索空間中尋找給定的單個目標函數的最小值及最小值在搜索空間中的位置。隨著工程問題的規模不斷擴大并且維度越來越高,所對應的最優化問題的目標函數也越來越復雜。傳統的優化算法,如梯度下降法、牛頓迭代法等已經難以解決上述的優化問題。受自然界啟發,學者們提出了多種智能優化算法,如粒子群算法[4]、灰狼優化算法[5]、鯨魚優化算法[6]等,用于解決復雜且高維度的工程問題,并且在無人機路徑規劃[7]、車間調度[8]等實際工程問題中都取得了較好的效果。
麻雀搜索算法(sparrow search algorithm,SSA)[9]是一種新型的高效單目標智能優化算法。SSA通過模擬麻雀覓食行為進行目標尋優,然而伴隨麻雀種群的不斷進化,SSA仍存在收斂精度低、種群多樣性減少、易陷入局部最優[10]等問題。目前,許多學者已經提出了若干種改進的SSA。
唐延強等人[11]提出自適應變異的麻雀搜索算法(AMSSA)。AMSSA通過Cat映射混沌序列對種群初始化,并且采用柯西變異或Tent混沌擾動對個體進行調整,最后引入自適應發現者,跟隨者數量來平衡全局搜索和局部勘探能力。
李愛蓮等人[12]提出融合正余弦和柯西變異的麻雀搜索算法(SCSSA)。SCSSA采用折射反向學習對麻雀種群進行初始化,并且在發現者更新過程中引入含有動態權重的正余弦策略,SCSSA還在跟隨者位置更新公式中對最優解進行差分變異,以增大算法跳出局部最優的概率。
陳功等人[13]提出了螺旋探索與自適應混合變異的麻雀搜索算法(SHSSA)。SHSSA引入ICMIC混沌初始化種群,使初始分布更加均勻,且融入螺旋探索策略以增強發現者探索未知區域的能力。SHSSA還在當前最優解引入融合精英差分與隨機反向的自適應混合變異,提高算法的收斂速度和跳出局部最優的能力。
歐陽城添等人[14]提出了一種折射麻雀搜索算法(RSSA)。RSSA在發現者位置更新階段引入折射反向學習來擴大發現者搜索范圍,并且在跟隨者階段引入瘋狂算子使跟隨者尋優手段多樣化。RSSA還使用模擬退火機制對當前最優解進行精煉,以改善解的質量。
毛清華等人[15]提出融合柯西變異與反向學習的麻雀搜索算法(ISSA)。ISSA引入Sine混沌映射初始化麻雀種群來豐富解的多樣性,同時在發現者更新位置中引入上一代全局最優解,以提升全局搜索的充分性。ISSA還添加自適應慣性權重來動態地選擇對最優解進行柯西變異或者反向學習,以有效地平衡算法的全局探索與局部開發能力。
段玉先等人[16]提出結合Sobol序列和縱橫交叉策略的麻雀搜索算法(SSASC)。SSASC在初始化階段引入Sobol序列使初始麻雀的位置分布更加均勻并使用非線性慣性權重優化發現者位置更新方式。SSASC還引入縱橫交叉策略保持算法在局部搜索能力和全局開發能力上的平衡。
呂鑫等人[17]提出了一種結合Tent映射和高斯變異的改進麻雀搜索算法(CSSOA)。CSSOA將Tent映射用于優化種群初始分布并且在迭代過程中會依據種群個體的分布情況來選擇對麻雀個體進行高斯變異或者Tent映射擾動。
Ma等人[18]提出了一種增強型多策略麻雀搜索算法(EMSSA)。EMSSA使用了三種策略對SSA進行改進:a)使用自適應Tent混沌映射,使初始種群中具有更豐富的多樣性和更大的隨機性;b)在警戒者位置更新處引入加權的正余弦算法,以避免算法陷入局部最優;c)利用三角形相似性原理對當前最優麻雀位置進行擾動,提高了算法的搜索能力。
Liu等人[19]提出一種基于構建相似度的混合麻雀搜索算法 (HSSA)。首先,HSSA在種群初始化位置引入改進的Circle 混沌方法來增強初始種群的質量;其次,HSSA根據各麻雀適應度的大小計算相似度,并根據相似度分別使用 Circle混沌和 T 分布對當前最優進行擾動,以增強跳出局部最優的能力。
上述學者提出的SSA改進算法一般是通過增加初始種群分布的均勻性、改進全局與局部的慣性參數、增加種群跳出局部最優的概率三個方面對SSA進行增強和改進。因為SSA總體上結構簡單,具有較高的搜索性能,且仍具備進一步改進的空間和潛力,所以持續對SSA進行改進仍具有一定的研究價值。本文提出一種融合多策略增強的麻雀搜索算法(enhanced sparrow search algorithm by adopting the mechanism based on relative distance and historical success rate,RHSSA)。RHSSA采用了以下三項改進策略進一步提升SSA的性能:
a)SSA僅以適應度值選擇發現者,容易造成發現者種群內部多樣性較少的現象。本文引入融合適應度值與相對距離的發現者選擇方式,使發現者種群具有較好的適應度值且彼此分散。
b)發現者在進化過程中,存在向原點聚集的現象。本文提出融合加權重心的反向學習策略來減弱發現者向原點聚集的趨勢,并充分挖掘搜索空間的優質信息。
c)SSA易陷入局部最優且大部分文獻的改進方法未考慮其適應度值景觀,本文提出一種基于歷史成功率的自適應選擇算子,動態地選擇柯西變異或高斯變異對最優解做擾動,根據適應度值景觀動態調節算法的全局勘探與局部搜索,提高算法跳出局部最優的能力。
本文選用CEC2017測試函數集中的12個測試函數作為性能基準函數,將RHSSA與五個改進的麻雀搜索算法AMSSA[11]、SCSSA[12]、SHSSA[13]、ISSA[15]和CSSOA[17]進行性能測試評估,并對于RHSSA采用的改進策略進行了消融實驗。實驗結果表明在綜合改進策略的共同作用下,RHSSA能獲得最優的綜合優化性能,且具備較為穩定的全局收斂性能。
1 麻雀搜索算法
SSA是一種模擬麻雀覓食機制的群智能優化算法,該算法的優化模型中存在發現者、跟隨者和警戒者三種角色。發現者負責尋找整個搜索區域中食物較充足的位置,并為所有的跟隨者提供覓食區域或方向。在每輪迭代中,搜尋到更優食物所在位置的麻雀個體都可能成為發現者,但發現者在整個種群中的占比PD是固定的,受捕食者的影響,發現者存在兩種狀態:當周圍不存在捕食者,發現者會進入廣域搜索;否則所有的發現者會向安全區移動。發現者的位置根據式(1)更新。
其中:t表示當前迭代次數;T表示最大迭代次數;ST∈[0.5,1]為預先設置的正常數,表示種群的安全值;R∈[0,1]為均勻分布的隨機數,表示種群的預警值;α是介于(0,1]均勻分布的隨機數;Q是服從標準正態分布的隨機數;L表示一個元素全為1的1×d的矩陣。
跟隨者時刻觀察發現者的行為并伴隨著發現者的行為調整自己的位置,跟隨者的位置更新如式(2)所示。
其中:Xt+1p表示發現者發現的當前最優位置;Xworst表示當前全局最差位置;A+=AT(AAT)-1,A表示一個1×d的矩陣,其中的元素隨機賦值為1或者-1。
警戒者在種群中會意識到危險,從而調整在麻雀種群的整體位置。警戒者個體在整個麻雀種群中隨機產生,占整個種群的10%~20%,其位置更新方式如式(3)所示。
其中:Xbest是當前全局最優的位置;β是服從標準正態分布的步長控制參數;K∈[-1,1]是一個均勻分布的隨機數,表示麻雀移動的方向; fi是當前麻雀個體的適應度; fg和fw分別是當前全局最優個體和全局最差個體的適應度;ε是一個避免分母為零的正常數。
2 改進的麻雀搜索算法
2.1 融合適應度值與相對距離的發現者選擇方式
SSA中,發現者種群占據種群中的優質資源并負責發現搜索空間中有希望的區域,引導跟隨者到有希望的區域進行精細搜索,所以發現者種群應具有分布范圍大且適應度值小的特點[20]。SSA僅以麻雀個體適應度值從小到大排序的結果選擇前PD×N個麻雀個體作為發現者,發現者的若干個體可能是已陷入局部最優或者聚集在局部最優附近的麻雀個體,這可能導致嚴重的種群聚集現象,當跟隨者在發現者附近進行搜索時,種群多樣性迅速減弱。
本文提出一種融合個體適應度值和相對距離的新發現者選擇方式。新方式在選擇發現者時不僅考慮個體的適應度值,也同時考慮麻雀發現者之間的相對距離。設已經將經過第t輪迭代的所有個體按個體適應度值完成從小到大的排序,并以排序序號pti作為個體的編號。即pti=i且對于第pti個個體Xtpti,其適應度值fti不小于標號介于1和pti-1之間的個體的適應值,先計算第pti個個體與前pti-1個個體之間的歐氏距離的最小值Lti,并將Lti作為第pti個個體與前pti-1個個體形成的種群之間的相對距離,如式(4)所示。
為了使最優個體引導算法搜索,Lt1等于其余非最優個體相對距離Lti的最大值。即在每輪迭代中,Xt1都會以適應度最小且相對距離最大的個體為發現者。受文獻[21]啟發,相對距離Lti的公式設計是基于以下原因:歐氏距離的最小值能準確衡量出該個體與前pti-1個個體構成的種群之間的偏離程度。此外,結合圖1(a)可看出,適應度值比其小且歐氏距離最小的個體很有可能比該個體更加靠近附近波谷的位置,兩者之間的距離能有效表示該個體在附近波谷的聚集程度。
依個體的適應度值fti計算個體的pti與依個體的相對距離Lti的從大到小的排序序號qti后,以pti與qti之和divti作為個體進行由小到大排序的統一標準,并選擇排序后的前PD×N 個麻雀個體作為發現者。divti的定義如式(5)所示。
divti=pti+qti(5)
按上述方式對麻雀個體進行排序的原因是:適應度小的個體的pti值也小,相對距離大的個體的qti值偏小,所以當個體滿足適應度值小且相對距離大時,其對應的排序之和選擇divti也會偏小。
取相同的種群分布并分別使用原SSA與融合上述策略的改進SSA分別從麻雀個體中選出發現者的結果如圖1所示,其中藍色圓點代表發現者(參見電子版)。從圖1(a)中可以看出,原麻雀算法僅依麻雀個體適應度值從小到大排序的結果選擇排序靠前的PD×N個麻雀個體作為發現者,可能會導致被選出的發現者聚集在一個或若干個波谷附近的現象。從圖1(b)可以看出,使用融合適應度值與相對距離的發現者選擇方式可以使被選出的發現者,即具有適應值較低的特征又具有位置相對比較分散的特性,可以使距離波谷較遠且適應度值較小的麻雀個體也轉變為發現者,從而有助于提高算法的全局勘探性能。
2.2 融合加權重心的反向學習策略
根據發現者位置更新式(1),標準SSA在R<ST時,對當前位置乘以小于1的指數值,導致發現者位置每一維都在減小,使發現者個體向原點聚集,加大了種群的聚集程度。反向學習策略[22]被證明是一種有效擴大算法搜索空間并避免陷入局部最優的有效改進方法。反向學習策略的基本形式如式(6)所示。
X*ti, j=ubj+lbj-Xti, j(6)
其中:X*ti, j為Xti, j的反向點;ubj、lbj分別為搜索空間的第j維的上下界。從式(6)可以看出,反向學習策略實際上是以(ubj+lbj)/2為對稱中心來求出Xti, j的反向解,然后再保留原解與反向解中具有更小適應度值的個體進入下一代算法迭代。在大多數尋優問題中,種群搜索空間的每一維通常是關于原點對稱的,即該維的上下界互為相反數,當原解向原點聚集時,反向解同樣向原點聚集,難以解決麻雀搜索算法發現者向原點聚集的缺陷。此外,反向學習策略的對稱中心與種群的信息無關,無法根據種群信息自適應地調整對稱中心,使算法的效率變低。
本文提出融合加權重心的反向學習策略,能根據發現者種群信息動態地調整對稱中心,使發現者遠離原點搜索。
標準重心的構成方式中,每一個個體以等比例的方式構成標準重心,難以差異化地利用個體信息,容易造成搜索過程的不平衡。加權重心Gt的構成與發現者個體的適應度值有關,如式(7)(8)所示。其中,Pti是調節Xti構成Gt的比重,ftworst為整個麻雀種群的適應度最大值,所有發現者的Pti的和為1。對每一個發現者而言,適應度值越小的麻雀個體,所得到的Pti越大,對構成Gt的比重越大。對發現者種群而言,每一個發現者構成Gt的比重Pti都受到其他所有發現者個體的分散,即Pti能使算法在多樣性和收斂性之間取得平衡。此外,發現者個體是融合適應度值與相對距離策略選出的未進化的發現者,能避免早熟收斂,因此,加權重心Gt能更準確地表示發現者種群的中心。
設Xt+1i是Xti經發現者位置更新后的麻雀個體,Xt+1i執行以Gt為加權重心的反向學習策略[23],產生反向解X*ti:
X*ti=2×Gt-Xt+1i(9)
當所得的反向解超出搜索區域時,按式(10)重新計算反向解:
取兩者之間適應度值更小的個體進入下一代,如式(11)所示。
取相同發現者信息,分別用反向學習與加權重心的反向學習進行位置更新,結果如圖2所示,其中藍色圓點表示發現者,紅色三角形表示反向學習的對稱中心,紅色五角星表示改進后的反向學習的對稱重心,粉紅色圓點表示經反向學習或改進反向學習的發現者個體。從圖2(a)可看出,一般反向學習無法降低發現者向原點聚集的趨勢;從圖2(b)可看出,使用融合加權重心反向學習策略,使個體能有效利用種群的信息,遠離原點搜索。
2.3 結合歷史成功率的自適應選擇算子的高斯與柯西變異
文獻[24]提出對最優解進行擾動能有效地增強麻雀搜索算法的性能,因此,本文選擇對最優解施加擾動。但大多數文獻[25~27]對最優解擾動的幅度與當前迭代次數與種群的聚集程度有關。當前迭代次數小,擾動幅度大,反之,擾動幅度小。種群聚集程度大,擾動幅度大,反之,擾動幅度小。此種方式的缺陷是沒有考慮到目標函數的適應度景觀,存在擾動幅度與適應度景觀不匹配的問題,造成尋優效率下降[28]。
本文提出一種結合歷史成功率的自適應選擇算子的高斯與柯西變異策略,選擇算子是在文獻[29]基礎上改進而來,高斯變異提供小范圍內的擾動,柯西變異提供大范圍內的擾動,以滿足算法多樣化的尋優需求。結合歷史成功率的自適應選擇算子能夠考慮到歷史迭代次數的適應度景觀,在當前迭代次數中以較大概率選擇對尋優效果促進最有效的變異方式。
定義學習周期LP,LP的目的是提供需要累積的歷史經驗的范圍。pt值指高斯變異發生的概率,其能動態調節算法發生高斯變異與柯西變異的可能性。Wtk是高斯變異或柯西變異生成的解,k代表變異方式的編號,其中,k=1代表高斯變異,k=2代表柯西變異。擾動成功是指選中的變異所生成的Wtk的適應度值f(Wtk)小于當前最優解的適應度值f(Xtbest),反之,則代表擾動失敗。本文用nsk,g、nfk,g分別標志在第g輪迭代中用第k種變異擾動成功與擾動失敗的狀態。擾動成功時,nsk,g=1,nfk,g=0;擾動失敗時,nsk,g=0,nfk,g=1;Sk,t指從t-LP到t-1代中,擾動成功的次數與擾動失敗的次數之差,如式(12)(13)所示。
算法開始尋優時,由于沒有歷史經驗的累積,為了使每種變異的性能都有充分利用的機會,形成LP代的先驗信息,所以在最初的LP代中,pt值設置為1/2。
LP+1代及之后的尋優過程中,當前代選擇概率pt的取值與Sk,t的大小有關,如式(14)所示。
度景觀促進效果小但可能對變化后的適應度景觀促進效果大的變異匹配當前的適應度景觀,如果此時的尋優效果更好,也可能促進pt值趨勢的逆轉,使pt值動態響應適應度景觀變化。
LP大小的設置影響著算法的尋優效率。過大的LP導致當算法已經遠離積累經驗的區域搜索時,選擇概率pt仍然受該區域的適應度景觀的影響,容易出現適應度景觀與搜索方式的不匹配性;過小的LP可能導致沒有足夠經驗的積累,無法有效地指導算法動態搜索,難以找到精度更高的解。因此,應選擇合適的LP以保證算法尋優過程的準確性。為了精確控制LP的大小,選用Rastrigin函數作為對比不同LP的測試函數,實驗中種群數量設置為100,最大迭代次數設置為500,結果如圖3所示,分別為LP取值為30、35、40的算法收斂情況??梢钥闯鋈≈禐?5時效果最好,過大和過小都會影響算法的尋優效率。
保留Wtk與Xtbest中更小的適應度值個體進入下一代。計算學習周期LP內控制發生高斯變異或柯西變異的選擇概率pt,使算法根據適應度景觀動態地勘探與開發,選擇對尋優效果促進最有效的變異方式,增大算法找到更加優質解的可能性。
3 算法偽代碼和時間復雜度
3.1 算法偽代碼
3.2 時間復雜度分析
種群規模為N,待解決的問題維度為D,最大迭代次數為T, 麻雀發現者在種群中的比例為PD,SSA的算法時間復雜度為O(N×D×T),對整個麻雀種群初始化并評估其適應度值,其時間復雜度為O(N×D+N)。采用融合適應度值與相對距離的發現者選擇方式時間復雜度為O(N×D×(N-1)/2×T),發現者采用融合加權重心的反向學習策略的時間復雜度為O(T)+O(PD×N×D×T),在當前最優解施加結合歷史成功率的自適應選擇算子的柯西與高斯變異的復雜度為O(1×D×T)。
4 算法性能測試與分析
4.1 基準函數的選取
為了驗證改進算法的尋優能力,本文選取12個CEC2017函數來評估算法在收斂速度和搜索精度方面的性能。這些基準函數分為三類,包括5個多峰函數(f1~f5)、3個混合函數(f6~f8)和4個復合函數(f9~f12)。本文選取的函數都具有大量的局部最優點。測試函數的名稱與相關參數如表1所示。
4.2 算法與其他改進算法的對比分析
為測試RHSSA的性能,將其與AMSSA[10]、SCSSA[12]、SHSSA[13]、ISSA[15]、CSSOA[17]在上述的12個測試函數上進行實驗評估。本文中的仿真實驗均處于同一實驗環境,使用MATLAB R2021b作為算法仿真軟件,操作系統為Windows 10,硬件配置為AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz,16.0 GB內存。為了保證算法比較的公平,所有改進麻雀搜索算法的參數統一設置為種群數量為 100、運行次數為 30、總迭代次數為 500,搜索空間為[-100,100]D,發現者比例PD為0.2,警戒者比例 ST為0.1,預警值ST為0.6。
性能測試使用平均值mean(均值越小表示算法具有更好的尋優能力)、標準差Std(標準差越小表示算法更具魯棒性)作為評判算法尋優能力優劣的性能指標。同時規定mean值為主要標準,Std次之。先對比mean值,若mean值相等,則對比Std,對比結果采取排名(rank)表示。表中count表示各算法rank排第一的總次數,Ave rank為平均排名情況,total rank為以Ave rank為基準的算法總排名。
4.3 實驗結果
表2~4分別列出了各算法在12個測試函數為30、50、100維情況下的實驗數據。從表2~4可以看出,在不同維度的問題中,RHSSA在50維度的f5的收斂精度略低于AMSSA,其余情況均獲得了第一,同時在total rank總排名中也取得第一名的好成績。算法在Std方差上取得的成績代表了算法在處理復雜問題上的魯棒性,在測試函數為30維時,RHSSA僅在 f2~f5上劣于對比算法,在測試函數為50維時,RHSSA僅在f1、 f3、 f4、 f9上劣于對比算法,在測試函數為100維時,RHSSA僅在f10、 f12上劣于對比算法。其余情況下,RHSSA均比改進的SSA更具優勢,表示在引入策略后,RHSSA在處理復雜問題上具有更好的魯棒性。
4.4 算法收斂曲線對比分析
收斂曲線可以直觀地展現算法的收斂速度和是否陷入局部最優。圖4列出了六種算法對上述12個測試函數在維度為100時的收斂曲線。從圖4可以看出,在12個函數中,RHSSA在全部的測試函數中都有更好的收斂精度,其中在f7中甚至高了一個量級左右。在其他參評算法因為陷入局部最優從而導致種群多樣性下降時,RHSSA仍能保持較高的種群多樣性,擁有較強的跳出局部最優的能力。從函數類別上看,對于簡單多峰函數f1~f5,RHSSA在前期的收斂速度都快于其他參評算法,這很有可能是融合適應度值與相對距離的發現者選擇方式與融合加權重心的反向策略使發現者的分布及搜索范圍都變大的原因造成的。在迭代后期,RHSSA獲取的收斂精度也優于其他參評算法,這有可能是因為融合歷史成功率的自適應高斯與柯西變異利用歷史學習周期的信息加強跳出局部最優的能力造成的。對于混合函數f6~f8, RHSSA在迭代前期的收斂速度略快于其他參評算法,在迭代后期,RHSSA跳出局部最優的能力顯著增強,最終獲取了比其他參評算法更好的收斂精度。對于組合函數f9~f12,當其他參評算法陷入局部最優,從而導致收斂速度減慢,收斂精度減小時,RHSSA仍然繼續向前探索,從而獲取了更優的收斂精度。
同時,圖5包括了RHSSA與各參評算法獨立執行30次條件下獲取最優解的12個CEC2017函數箱線圖。箱體的高度代表了算法最優值的波動情況,箱體底部表示算法的最優值。 f1、f6、f8、f12等函數中RHSSA的箱體較窄,代表它的所有最優值波動情況小,也就是算法收斂速度較快,導致每一代的最優解之間跨度較小。而包括CSSOA、ISSA等在內的參評算法的箱體較寬,代表算法從開始搜索到迭代結束獲取的所有解變化大,魯棒性比RHSSA低。與此同時,也可以明顯看出,RHSSA在f1~f5、f7~f12等函數中箱體的下限比其他算法更低,也就代表它的搜索精度更高。以上表明,由于三種策略的協助有利于RHSSA跳出局部最優解,并能夠指導算法后續的搜索。
綜上所述,RHSSA是一種高效的單目標算法,并且RHSSA的改進措施是有效的。
4.5 完整性消融實驗
為體現本文各自策略的有效性,對RHSSA中策略進行完整性消融實驗。設SSA中,只融入融合適應度值與相對距離的策略的算法為SSA1,只融入融合加權重心的反向學習策略的算法為SSA2,只融入結合歷史成功率的自適應選擇算子的高斯與柯西變異策略的算法為SSA3。本文將標準的SSA與SSA1、SSA2、SSA3和RHSSA一起進行函數測評,函數的信息如表1所示。各算法的參數與4.2節相同,維度為100維且獨立運行10次。表5展現了不同改進策略的收斂精度情況。從表5可以看出,SSA1、SSA2、SSA3在12個函數上都優于SSA,這證明了每個策略在SSA上都是有效的。而對于RHSSA,其收斂精度高于參與測評的能力算法,這表明所有的改進策略都是相輔相成并且穩定有效的,可以共同提高RHSSA求解復雜問題的能力。
4.6 Friedman檢驗
本文還對記錄的六種算法各運行30次后得到的平均值數據進行Friedman檢驗[30],結果如表6所示。表中的P-value表示漸進顯著性,它是判斷算法之間是否存在顯著性差異的重要指標,若該值小于0.01,則表示各項數據之間存在顯著性差異。其他的值為各個算法在不同維度中的秩的平均值。從表6可以看出,30、50、100維中P-value都遠遠小于0.01,且隨著維度的變大而變小。在三種不同維度中,RHSSA的秩的平均值都是最小的,這表明RHSSA和其他對比算法之間存在顯著的性能差異,再次證明RHSSA的性能相比于其他參評算法的優越性。
5 結束語
本文針對SSA易早熟和易陷入局部最優的缺陷,提出一種融合相對距離與歷史成功率的麻雀搜索算法RHSSA。RHSSA首先使用融合適應度與相對距離的新指標選擇發現者,使發現者在搜索空間中占據優質位置且彼此分散。其次,RHSSA在發現者尋優過程中引入融合加權重心的反向學習策略,充分挖掘搜索空間的優質位置信息并減弱發現者向原點聚集的趨勢。最后,RHSSA通過融合歷史成功率的自適應選擇算子的高斯與柯西變異,增強了算法跳出局部最優的能力?;?2個CEC2017測試函數的實驗證明,RHSSA在不同維度的多個測試函數中都可以獲得更好的尋優精度和收斂精度。實驗的測試結果表明,RHSSA是一種高效的單目標優化算法,為求解復雜單目標優化問題提供了新的解決辦法。RHSSA的不足之處在于,其求解種群個體的相對距離時的時間復雜度較高。下一步將對RHSSA進行進一步的改進,以降低其時間復雜度并提升算法的搜索效率,并將RHSSA運用到多目標優化問題上。
參考文獻:
[1]劉小龍,李榮鈞,楊萍. 基于高斯分布估計的細菌覓食優化算法[J]. 控制與決策,2011,26(8): 1233-1238. (Liu Xiaolong,Li Rongjun,Yang Ping. Optimization algorithm for bacterial foraging based on Gaussian distribution estimation[J]. Control and Decision,2011,26(8): 1233-1238.)
[2]Sultan B Y,Nantiwat P,Sujin B,et al. Robust design of a robot gripper mechanism using new hybrid grasshopper optimization algorithm[J]. Expert Systems,2021,38(3): e12666.
[3]Paul K,Dalapati P,Kumar N. Optimal rescheduling of generators to alleviate congestion in transmission system: a novel modified whale optimization approach[J]. Arabian Journal for Science and Engineering,2021,47(3): 3255-3279.
[4]Kennedy J,Eberhart R. Particle swarm optimization[C]// Proc of International Conference on Neural Networks. Piscataway,NJ: IEEE Press,1995: 1942-1948.
[5]Mirjalili S,Mirjalili S M,Lewis A. Grey wolf optimizer[J]. Advances in Engineering Software,2014,69: 46-61.
[6]Mirjalili S,Lewis A. The whale optimization algorithm[J]. Advances in Engineering Software,2016,95: 51-67.
[7]Liu Yang,Zhang Xuejun,Guan Xiangmin,et al. Adaptive sensitivity decision based path planning algorithm for unmanned aerial vehicle with improved particle swarm optimization[J]. Aerospace Science and Technology,2016,58: 92-102.
[8]張宇嘉,宋威. 雙檔案粒子群算法求解柔性作業車間調度問題[J]. 計算機工程與應用,2023,59(11): 294-301. (Zhang Yujia,Song Wei. Dual file particle swarm optimization algorithm for flexible Job Shop scheduling problem[J]. Computer Engineering and Application,2023,59(11): 294-301.)
[9]Xue Jiankai,Shen Bo. A novel swarm intelligence optimization approach: sparrow search algorithm[J]. Systems Science & Control Engineering,2020,8(1): 22-34.
[10]蘇瑩瑩,王升旭. 自適應混合策略麻雀搜索算法[J]. 計算機工程與應用,2023,59(9): 75-85. (Su Yingying,Wang Shengxu. Adaptive hybrid strategy sparrow search algorithm[J]. Computer Engineering and Application,2023,59(9): 75-85.)
[11]唐延強,李成海,宋亞飛,等. 自適應變異麻雀搜索優化算法[J]. 北京航空航天大學學報,2023,49(3): 681-692. (Tang Yanqiang,Li Chenghai,Song Yafei,et al. Adaptive mutation sparrow search optimization algorithm[J]. Journal of Beihang University,2023,49(3): 681-692.)
[12]李愛蓮,全凌翔,崔桂梅,等. 融合正余弦和柯西變異的麻雀搜索算法[J]. 計算機工程與應用,2022,58(3): 91-99. (Li Ailian,Quan Lingxiang,Cui Guimei,et al. Sparrow search algorithm combining sine cosine and Cauchy mutation[J]. Computer Engineering and Application,2022,58(3): 91-99.)
[13]陳功,曾國輝,黃勃,等. 螺旋探索與自適應混合變異的麻雀搜索算法[J]. 小型微型計算機系統,2023,44(4): 779-786. (Chen Gong,Zeng Guohui,Huang Bo,et al. Sparrow search algorithm with spiral exploration and adaptive hybrid mutation[J]. Journal of Chinese Computer System,2023,44(4): 779-786.)
[14]歐陽城添,朱東林,王豐奇,等. 基于折射麻雀搜索算法的無人機路徑規劃[J]. 電光與控制,2022,29(6): 25-31. (Ouyang Chengtian,Zhu Donglin,Wang Fengqi,et al. Path planning for unmanned aerial vehicles based on refractive sparrow search algorithm[J]. Electrooptic and Control,2022,29(6): 25-31.)
[15]毛清華,張強. 融合柯西變異和反向學習的改進麻雀算法[J]. 計算機科學與探索,2021,15(6): 1155-1164. (Mao Qinghua,Zhang Qiang. Improved sparrow algorithm combining Cauchy mutation and reverse learning[J]. Computer Science and Exploration,2021,15(6): 1155-1164.)
[16]段玉先,劉昌云. 基于Sobol序列和縱橫交叉策略的麻雀搜索算法[J]. 計算機應用,2022,42(1): 36-43. (Duan Yuxian,Liu Changyun. Sparrow search algorithm based on Sobol sequence and cross strategy[J]. Journal of Computer Applications,2022,42(1): 36-43.)
[17]呂鑫,慕曉冬,張鈞,等. 混沌麻雀搜索優化算法[J]. 北京航空航天大學學報,2021,47(8): 1712-1720. (Lyu Xin,Mu Xiaodong,Zhang Jun,et al. Chaotic sparrow search optimization algorithm[J]. Journal of Beihang University,2021,47(8): 1712-1720.)
[18]Ma Jie,Hao Zhiyuan,Sun W. Enhancing sparrow search algorithm via multi-strategies for continuous optimization problems[J]. Information Processing & Management,2022,59(2): 102854.
[19]Liu Jianhua,Wang Zhiheng. A hybrid sparrow search algorithm based on constructing similarity[J]. IEEE Access,2021,9: 117581-117595.
[20]徐鵬飛. 基于麻雀搜索算法的改進研究與應用[D]. 重慶: 西南大學,2022. (Xu Pengfei. Improved research and application based on sparrow search algorithm[D]. Chongqing: Southwest University,2022.)
[21]陶新民,郭文杰,李向可,等. 基于密度峰值的依維度重置多種群粒子粒子群算法[J]. 軟件學報,2023,34(4): 1850-1869. (Tao Xinmin,Guo Wenjie,Li Xiangke,et al. Multidimensional reset multi particle swarm optimization algorithm based on density peaks[J]. Journal of Software,2023,34(4): 1850-1869.)
[22]Tizhoosh H R. Opposition-based learning: a new scheme for machine intelligence[C]// Proc of International Conference on Computational Intelligence for Modelling,Control and Automation and International Conference on Intelligent Agents,Web Technologies and Internet Commerce. Piscataway,NJ: IEEE Press,2005: 695-701.
[23]Rahnamayan S,Jesuthasan J,Bourennani F,et al. Computing opposition by involving entire population[C]// Proc of IEEE Congress on Evolutionary Computation. Piscataway,NJ: IEEE Press,2014: 1800-1807.
[24]Gao Bingwei,Shen Wei,Guan Hao,et al. Research on multistrategy improved evolutionary sparrow search algorithm and its application[J]. IEEE Access,2022,10: 62520-62534.
[25]Fan Xin,Wang Junyan,Wang Haifeng,et al. LQR trajectory tracking control of unmanned wheeled tractor based on improved quantum genetic algorithm[J]. Machines,2023,11(1): 62.
[26]Zhou Mu,Long Yuexin,Zhang Weiping,et al. Adaptive genetic algorithm-aided neural network with channel state information tensor decomposition for indoor localization[J]. IEEE Trans on Evolutionary Computation,2021,25(5): 913-927.
[27]李大海,李鑫,王振東. 融合多策略的增強麻雀搜索算法及其應用[J]. 計算機應用研究,2023,40(10): 3032-3039. (Li Dahai,Li Xin,Wang Zhendong. Enhanced sparrow search algorithm with multi strategy fusion and its application[J]. Application Research of Computers,2023,40(10): 3032-3039.)
[28]鄧志誠,孫輝,趙嘉,等. 方波觸發勘探與開發的粒子群優化算法[J]. 自動化學報,2022,48(12): 3042-3061. (Deng Zhicheng,Sun Hui,Zhao Jia,et al. Particle swarm optimization algorithm for square wave triggered exploration and development[J]. Acta Automatica Sinica,2022,48(12): 3042-3061.)
[29]Qin K A,Huang V L,Suganthan P N. Differential evolution algorithm with strategy adaptation for global numerical optimization[J]. IEEE Trans on Evolutionary Computation,2009,13(2): 398-417.
[30]李大海,劉慶騰,艾志剛. YYPO-SA: 一種新的基于YYPO和SA的混合單目標隨機優化算法[J]. 計算機應用研究,2021,38(7): 2018-2024. (Li Dahai,Liu Qingteng,Ai Zhigang. YYPO-SA: a new hybrid single objective random optimization algorithm based on YYPO and SA[J]. Application Research of Computers,2021,38(7): 2018-2024.)