盧 磊,賀智明,黃志成
(江西理工大學(xué)信息工程學(xué)院,江西 贛州 341000)
隨著時代發(fā)展,工程類優(yōu)化問題日趨復(fù)雜化,傳統(tǒng)優(yōu)化算法算力不足、效率低下等問題逐漸明顯。為了擺脫傳統(tǒng)優(yōu)化算法的局限,研究者們開發(fā)了群智能優(yōu)化方法來解決高度復(fù)雜的工程優(yōu)化問題,如遺傳算法(GA)[1]、蟻群優(yōu)化(ACO)[2]、粒子群優(yōu)化(PSO)[3]、人工蜂群(ABC)[4]和麻雀搜索算法等。這些算法簡單易行,受到越來越多學(xué)者的青睞。其中麻雀搜索算法由Xue等人[5]于2020年提出,該算法通過模擬麻雀種群的捕食與反捕食機(jī)制來建立數(shù)學(xué)優(yōu)化模型。由于其具有算法結(jié)構(gòu)簡單、參數(shù)少和搜索性能出色等特性,已被廣泛應(yīng)用于智能路徑規(guī)劃[6-8]、圖像處理[9-11]、醫(yī)學(xué)分析[12]和電氣工程[13-15]等領(lǐng)域。然而,SSA 算法也存在一些不足,如在迭代末期種群多樣性衰退,易陷入局部最優(yōu)等問題。
針對SSA迭代末期種群多樣性衰退、抗局部極值能力弱等問題,許多學(xué)者提出了可供參考的改進(jìn)方案。Tang 等人[16]提出了一種基于對數(shù)螺旋策略和自適應(yīng)步長策略(CLSSA)的麻雀搜索算法,該算法首先通過對數(shù)螺旋策略對搜索機(jī)制進(jìn)行改進(jìn),增強了種群分布多樣性和搜索空間多樣性;然后引入自適應(yīng)步長策略,增強了麻雀搜索算法的迭代末期開發(fā)與探索能力。仿真結(jié)果表明,CLSSA 在23 個基準(zhǔn)測試函數(shù)的測試上比同類算法更加優(yōu)秀。
馬衛(wèi)等人[17]提出了一種基于萊維飛行機(jī)制的擾動策略來解決SSA 易陷入局部最優(yōu)的問題。該方案首先引入Sin 混沌映射來增加初始種群的豐富度,然后利用萊維飛行擾動機(jī)制增加空間搜索的多樣性,最后利用14 個常用的典型高維測試函數(shù)進(jìn)行模擬仿真。實驗結(jié)果表明該方案不但能保持標(biāo)準(zhǔn)SSA 全局尋優(yōu)能力,而且大幅度提高了算法在初期的收斂速度和末期的求解精度。
李丹丹等人[18]提出了一種結(jié)合多策略改進(jìn)的麻雀搜索算法。首先在種群初始化階段使用Tent映射替換標(biāo)準(zhǔn)麻雀初始化函數(shù)用來增加種群多樣性;然后利用自適應(yīng)交叉變異算子平衡全局與局部搜索資源,最后運用差分變異對迭代后種群進(jìn)行擾動,避免后期種群單一。分析模擬仿真結(jié)果可知,經(jīng)改進(jìn)后的麻雀搜索算法較其他對比算法在尋優(yōu)性能和收斂速度上更具優(yōu)勢。
段玉先等人[19]提出結(jié)合隨機(jī)采樣和縱橫交叉策略來優(yōu)化標(biāo)準(zhǔn)麻雀搜索算法。首先,對原算法初始化階段使用隨機(jī)采樣法來增強種群豐富度,然后在運行階段采用非線性慣性權(quán)重的策略來提高算法效率,最后使用縱橫交叉策略來平衡算法全局與局部的搜索能力。模擬仿真數(shù)據(jù)表明,新算法彌補了原算法求解精度不足和收斂速度過慢的問題。
通過研究上述改進(jìn)方法可知,麻雀搜索算法的改良主要集中在優(yōu)化種群結(jié)構(gòu)、避免局部最優(yōu)、平衡全局與局部等方面。
為進(jìn)一步升級算法性能,本文提出一種結(jié)合多策略改進(jìn)麻雀搜索算法(MUSSA)。首先,將特殊透鏡學(xué)習(xí)策略與Iterative 映射融合改進(jìn)提出基于Iterative映射的混沌透鏡學(xué)習(xí)機(jī)制(ILL),并使用ILL 對麻雀種群進(jìn)行初始化,改善種群邏輯結(jié)構(gòu),豐富種群多樣性;然后,使用遺忘遞減策略減少使用ILL 策略個體數(shù)量,減少計算成本;最后,使用螺旋策略和參考系機(jī)制分別對發(fā)現(xiàn)者和追隨者的搜索策略進(jìn)行更新,增強麻雀種群全局探索及局部開發(fā)能力,提升算法的收斂速度與精確度,減少種群陷入局部極值的頻率。
實驗過程中將MUSSA 與標(biāo)準(zhǔn)SSA 以及另外3 個近年性能較為優(yōu)秀的搜索算法,即哈里斯鷹優(yōu)化算法(Harris Hawks Optimization algorithm,HHO)[20]、WOA[21]和AO[22]作為參評算法,以13 個基本測試函數(shù)對其進(jìn)行測試并進(jìn)行Friedman 檢驗。各種模擬仿真結(jié)果均顯示,MUSSA 相比原算法和其他參評算法具有更優(yōu)秀的性能。
SSA 是近些年較為優(yōu)秀的進(jìn)化算法之一,其核心機(jī)制為模擬麻雀覓食行為。麻雀覓食過程可以抽象為一種“發(fā)現(xiàn)者、追隨者和觀測者”的數(shù)學(xué)模型。其中有較高能量儲備的麻雀通常被劃分為發(fā)現(xiàn)者,而能量較少的個體劃分為追隨者,發(fā)現(xiàn)者與追隨者可以互相轉(zhuǎn)化。此外,在雀群中還會選擇一定比例的個體成為觀測者,為種群進(jìn)行天敵檢測和危險預(yù)警,若發(fā)現(xiàn)危險,這些個體就會飛去尋找新的位置。麻雀搜索算法就是通過公式模擬其種群3 種角色的位置更新來求解問題最優(yōu)解。其中,發(fā)現(xiàn)者的位置更新規(guī)則為:
其中,t表示當(dāng)前迭代輪次表示最大迭代次數(shù),表示迭代到第t次時第i只麻雀的第j維的值。α∈[0,1];R2∈(0,1)表示報警值;ST∈[0.5,1)則表示安全閾值,通常設(shè)置為0.8;Q為服從正態(tài)分布的隨機(jī)數(shù),L表示1×D的矩陣,D表示當(dāng)前問題的維度,其中每個元素的內(nèi)部值為1。公式(1)中的位置更新規(guī)則可表述為:當(dāng)警報值未超過安全閾值時,代表當(dāng)前捕食區(qū)域不存在威脅。當(dāng)警報值超過安全閾值時,代表捕食區(qū)域存在威脅,發(fā)現(xiàn)者需轉(zhuǎn)移到安全區(qū)域覓食。
追隨者位置更新規(guī)則為:
觀測者位置更新規(guī)則為:
其中,表示當(dāng)前全局最佳位置,β表示觀測者位置更新的步長控制參數(shù),是服從高斯分布的隨機(jī)數(shù),其值域為(-1,1)。fi是當(dāng)前個體的適應(yīng)度值,fg表示當(dāng)前全局最優(yōu)個體的適應(yīng)度值,fw表示當(dāng)前最差個體的適應(yīng)度值。K∈[-1,1]是一個隨機(jī)數(shù);ε 是很小的常數(shù),以避免分母為0。觀測者位置更新規(guī)則可表述為:當(dāng)麻雀個體處于不安全位置時,需采取反捕食策略,即通過變換位置來獲取更高的適應(yīng)度;當(dāng)搜索單元處于種群中心位置時,將持續(xù)向同伴位置進(jìn)行收斂以規(guī)避威脅。
通過研究標(biāo)準(zhǔn)麻雀搜索算法的3 類個體更新公式可以看出,其尋優(yōu)方式可分為2種:
1)個體直接跳躍至當(dāng)前最優(yōu)解附近。
2)個體向原點靠近。
麻雀搜索單位采用該途徑進(jìn)行位置更新雖然獲取了強大的開發(fā)能力,卻忽略了向最優(yōu)搜索單位收斂過程中對鄰域空間的探索,降低了搜索空間的多樣性,使其容易錯過全局最優(yōu)而陷入局部最優(yōu)。針對上述問題,本文提出多種改進(jìn)策略用于優(yōu)化標(biāo)準(zhǔn)麻雀搜索算法。
近年來,計算領(lǐng)域出現(xiàn)了一種名為反向?qū)W習(xí)策略(OBL)[23]的優(yōu)秀技術(shù),用于增強機(jī)器學(xué)習(xí)算法性能,其基本思想是在求解一個問題時,同時對其相反問題進(jìn)行建模求解,以提高算法的魯棒性和泛化能力。經(jīng)過Tizhoosh等學(xué)者[23]的深入研究,發(fā)現(xiàn)使用反向?qū)W習(xí)策略能夠顯著增加智能算法找到全局最優(yōu)解的可能性。
通過閱讀文獻(xiàn)[24],可知透鏡學(xué)習(xí)公式在縮放因子取值為1 時可以化簡為式(4)。該式的效果與反向?qū)W習(xí)策略類似,也能增加算法魯棒性。
其中,x'j是xj對應(yīng)的反向解;aj表示搜索空間上邊界,bj表示搜索空間下邊界。
由于透鏡學(xué)習(xí)機(jī)制具有較強的魯棒性,其生成的解有時會比當(dāng)前最優(yōu)解更差。為了進(jìn)一步優(yōu)化種群豐富度,并嘗試克服該缺陷,本節(jié)借鑒文獻(xiàn)[16]將混沌映射替換隨機(jī)參數(shù)的實驗思路,將Iterative 映射同特殊透鏡學(xué)習(xí)機(jī)制結(jié)合,提出一種基于Iterative映射改進(jìn)的透鏡學(xué)習(xí)機(jī)制ILL。具體數(shù)學(xué)模型描述為:
其中,X'i表示種群中第i個搜索單位對應(yīng)的混沌透鏡學(xué)習(xí)機(jī)制生成的改良解,λi是對應(yīng)的混沌值。
Iterative 映射數(shù)學(xué)模型如式(6)所示,Iterative 映射圖如圖1 所示,可以看出Iterative 映射具有良好的隨機(jī)性和遍歷性。
圖1 Iterative映射圖
其中,b∈(0,1),本文取值為b=0.7。
通過使用ILL 策略,算法的搜索單位初始位置分布會變得更加隨機(jī),從而改善種群質(zhì)量,并增強算法全局開發(fā)能力,提升初期收斂速度。然而,隨著迭代輪次的增加,對所有搜索單位使用ILL 策略可能會產(chǎn)生大量的無用搜索,導(dǎo)致算法的運算量增加,進(jìn)而影響算法的效率,由此本節(jié)提出基于遺忘曲線的遞減策略,隨著迭代輪次的增加,逐步減少使用ILL 策略的個體數(shù)量,具體數(shù)學(xué)公式如式(7):
其中,P表示使用ILL 策略的種群數(shù)量,N為種群搜索單位總數(shù),round(·)是四舍五入函數(shù);e-t/s是記憶保持率;t表示當(dāng)前迭代輪次;s表示遺忘速度,取值為200。
在每次迭代的初始階段通常會看到單個發(fā)現(xiàn)者快速地收斂于全局最優(yōu)解決方案,以此獲得強大的開發(fā)能力。然而,以該種方式獲取全局最優(yōu)解往往忽略了對附近搜索空間的探索,導(dǎo)致在全局開拓階段探索空間量嚴(yán)重不足,并傾向于陷入局部最優(yōu)解。為了提高發(fā)現(xiàn)者模型在解空間搜索的充分度和在優(yōu)化問題中的求解性能,本節(jié)在發(fā)現(xiàn)者模型中引入了2種改進(jìn)方法。
第1 種改進(jìn)方案參考文獻(xiàn)[25],采用鯨魚優(yōu)化算法氣泡網(wǎng)攻擊中的螺旋搜索策略,以增強發(fā)現(xiàn)者的更新模型。然而,WOA 中使用的螺旋搜索策略具有固定不變的局限性,可能導(dǎo)致發(fā)現(xiàn)者的搜索方法缺乏多樣性,抗局部極值能力弱,從而削弱算法的搜索能力。于是本節(jié)還參考眾多研究者使用的慣性權(quán)重策略[26-29],在螺旋策略位置更新規(guī)則中寫入非靜態(tài)權(quán)重因子η,動態(tài)調(diào)整發(fā)現(xiàn)者位置更新的螺旋弧度。這種動態(tài)調(diào)整螺旋參數(shù)的模式擴(kuò)展了發(fā)現(xiàn)者探索未知搜索區(qū)域的能力,同時仍保持了其強大的收斂速度。螺旋參數(shù)β模型如式(8)所示,其中,a是用于定義對數(shù)螺旋的常數(shù),l是[-1,1]之間的常數(shù)。
第2 種改進(jìn)方案參考文獻(xiàn)[30],在發(fā)現(xiàn)者位置更新模型中集成參考系,即讓發(fā)現(xiàn)者參考上一輪次的全局最優(yōu)解來進(jìn)行位置更新。通過此模式更新的發(fā)現(xiàn)者可以減少對無意義方位的探尋,從而提高算法中發(fā)現(xiàn)者模型的運行效率。為平衡該策略對算法全局和局部的影響,也在該策略中使用上文提及的慣性權(quán)重思想(在公式中引入非靜態(tài)權(quán)重因子ω),其模型如式(9)。非靜態(tài)權(quán)重因子在迭代初級階段具有相對大的值,提高發(fā)現(xiàn)者模型使用參考系的頻率,提高全局開發(fā)性能,而在迭代末期賦予較小的權(quán)重值,減少發(fā)現(xiàn)者模型使用參考系的頻率,降低策略對算法的影響,從而更好進(jìn)行局部開發(fā)。
相同的算法對于不同的問題不可能一直保持著優(yōu)秀的尋優(yōu)能力。為了提高改進(jìn)后算法的尋優(yōu)性能與泛用性,使用隨機(jī)概率p來隨機(jī)選擇2 種策略。基于上述分析,發(fā)現(xiàn)者位置更新規(guī)則調(diào)整為式(10)。式中為當(dāng)前發(fā)現(xiàn)者在對應(yīng)輪次的最優(yōu)位置,β為基于余弦函數(shù)的動態(tài)螺旋參數(shù),α為隨機(jī)數(shù)且值域在(0,2)之間,rand 是區(qū)間(0,1)內(nèi)均勻分布的隨機(jī)數(shù),R3是一個(0,1)之間的隨機(jī)數(shù),t和M分別為種群當(dāng)前迭代到的輪次和允許種群最多迭代到的輪次。
通過運行算法并進(jìn)行分析發(fā)現(xiàn),帶權(quán)重因子的發(fā)現(xiàn)者在初期的迭代進(jìn)化過程中會以從外而內(nèi)的螺旋逐步開發(fā)解空間,從而獲取更詳細(xì)的空間探索,增加了獲取高質(zhì)量解的概率;而在迭代進(jìn)化的末期,權(quán)重因子η逐漸減小,螺旋幅度也逐步減小,這樣減少了發(fā)現(xiàn)者對相同空間的重復(fù)探索,從而增強了算法末期尋優(yōu)效能。
分析追隨者更新公式可知,其搜索單元收斂于當(dāng)前最優(yōu)解的方法為直接瞬移至當(dāng)前最優(yōu)解鄰域或是快速向原點靠攏。與粒子群算法中粒子逐步向最優(yōu)解靠近的方式不同,該方式缺乏局部搜索能力,這就導(dǎo)致以最優(yōu)個體為中心尋優(yōu)的追隨者極易迷失方向,從而陷入局部極值。為了減少追隨者迷失方向的概率并豐富追隨者個體與個體之間的學(xué)習(xí)與參考,本節(jié)針對追隨者個體尋優(yōu)提出一種參考系機(jī)制,其原理如式(12)所示。與發(fā)現(xiàn)者模型參考當(dāng)前全局最優(yōu)個體不同,追隨者參考的是相對位置位于其前一位的個體。此外,為了避免只有正方向擾動對算法的影響,引入?yún)?shù)μ進(jìn)行改動,μ為Sign函數(shù),表達(dá)式為(13):
在上述改動基礎(chǔ)上,為了進(jìn)一步提高改進(jìn)后算法的尋優(yōu)性能,與發(fā)現(xiàn)者模型一樣,追隨者也使用隨機(jī)概率p來隨機(jī)選擇使用策略?;诖朔治?,追隨者位置更新規(guī)則調(diào)整為式(14)。
綜上所述,改進(jìn)后的麻雀搜索算法流程如圖2 所示。圖中PD 為生產(chǎn)者的數(shù)量,SD 為感知到危險的麻雀數(shù)量。
圖2 改進(jìn)后的麻雀搜索算法的流程圖
全局開發(fā)和局部搜索能力等指標(biāo)通常被研究者用來衡量算法性能的優(yōu)劣。前者決定了算法前中期收斂到全局最優(yōu)位置鄰域的速度,而后者決定了算法收斂精度,即讓算法求出的解向全局最優(yōu)無限靠近。SSA 算法通過對種群對象的職責(zé)劃分來決定全局與局部搜索比重,其中發(fā)現(xiàn)者的位置更新可以視作為全局開發(fā),其收斂方式如圖3 所示,而追隨者與觀測者的位置更新可以視為局部挖掘。在MUSSA 中沿用了原算法的種群對象職責(zé)劃分,且在原算法上進(jìn)行了改進(jìn)。首先,使用ILL 策略對種群進(jìn)行優(yōu)化,提高產(chǎn)生優(yōu)質(zhì)解的概率,豐富種群多樣性,增加算法在全局開發(fā)時的性能,并且對使用該策略的種群進(jìn)行遺忘遞減的數(shù)量控制,減少無用搜索成本,使其逐步適應(yīng)整個算法求解流程,由此保障算法收斂速度。然后,使用動態(tài)權(quán)重的螺旋策略和參考系機(jī)制分別對發(fā)現(xiàn)者與追隨者位置更新策略進(jìn)行改進(jìn)并使用隨機(jī)概率來決定使用何種改進(jìn)策略。對發(fā)現(xiàn)者來說,自適應(yīng)權(quán)重螺旋策略的引入,在保留了原算法優(yōu)越性的同時提高了全局搜索精度;對追隨者而言,動態(tài)選擇的參考系機(jī)制不但保障了其原有優(yōu)勢,還提升了局部拓展能力。由此可知,改進(jìn)后的螺旋策略和參考系機(jī)制提高了麻雀個體對其所在位置鄰域搜索的充分程度,能有效解決麻雀個體陷入局部最優(yōu)的短板,保障了全局與局部的收斂精度。綜上,本文提出的改進(jìn)策略能夠在保障原算法收斂速度優(yōu)勢的同時增強其綜合尋優(yōu)性能。
圖3 發(fā)現(xiàn)者收斂函數(shù)散點圖
時間復(fù)雜度作為衡量算法計算量的重要手段之一,是智能算法必須考慮的重要因素。假設(shè)N為算法的總體數(shù)量級,M為最大迭代頻數(shù),D為待解決問題的維度,那么標(biāo)準(zhǔn)SSA 的時間復(fù)雜度可表述為O(N×M×D)。從宏觀上分析,MUSSA 算法優(yōu)化過程中并沒有在整個算法外增加循環(huán),由此相比原算法并沒有增加時間復(fù)雜度。從微觀角度分析,假設(shè)p為發(fā)現(xiàn)者在種群的比率,t1為改進(jìn)后發(fā)現(xiàn)者位置更新?lián)p耗時間,t2為改進(jìn)后追隨者位置更新?lián)p耗時間,t3為使用ILL 策略更新最優(yōu)解損耗時間。那么發(fā)現(xiàn)者部分的時間復(fù)雜度為O(M×N×p×t1×D),追隨者部分的時間復(fù)雜度為O(M×N×(1-p)×t2×D),使用ILL 策略的時間復(fù)雜度為O(M×t3),總時間復(fù)雜度為O(M×(N×D(p(t1-t2)+t2))+t3),由于p、t1、t2、t3均為較小的數(shù),所以可以近似認(rèn)為MUSSA 的時間復(fù)雜度為O(N×M×D)。綜上所述,盡管MUSSA 相比SSA 求解最優(yōu)解花費的時間稍長,但是并沒有增加時間復(fù)雜度。在權(quán)衡時間、性能和精度的情況下,使用MUSSA 通過犧牲少量時間獲得更好的性能和更高的精度是值得的。
仿真實驗基于Windows10(64 bit)操作系統(tǒng),Intel CoreTM i5-9300H CPU@2.40 GHz、2.40 GHz 主頻及16 GB 內(nèi)存,使用MATLAB R2017B 編程開發(fā)。本文使用了在文獻(xiàn)中常見的13 個基準(zhǔn)測試函數(shù)進(jìn)行模擬仿真,其中前7 個測試函數(shù)為單峰測試函數(shù),有且只有一個理論最優(yōu)解,主要用途為測試算法在局部開發(fā)時的性能;后6 個測試函數(shù)為多峰測試函數(shù),存在多個局部極值,一般用來評價算法的全局探索性能和抗局部極值性能。13個基準(zhǔn)測試函數(shù)如表1所示。
表1 測試函數(shù)
本文采用2 個改進(jìn)策略,分別是:1)采用遺忘遞減的ILL 策略(SSA-A);2)采用動態(tài)權(quán)重的螺旋和參考系策略(SSA-B)。為了分析本文提出策略對標(biāo)準(zhǔn)麻雀搜索算法的影響,取種群大小為50,最大迭代輪次為1000,維度為30,對表1 中的F1 函數(shù)與F2 函數(shù)分別進(jìn)行模擬仿真。從圖4 可以看出,對于單策略改進(jìn)的麻雀搜索算法SSA-A 和SSA-B,在收斂速度及精度上明顯優(yōu)于原算法;對于融合2 種改進(jìn)策略的MUSSA,其性能不但優(yōu)于標(biāo)準(zhǔn)SSA,而且優(yōu)于2 個單策略改進(jìn)的SSA。模擬仿真結(jié)果表明本文提出的2種改進(jìn)方式可行且有效。
圖4 不同策略收斂情況
為了驗證MUSSA 算法的改進(jìn)效果,使用原始SSA、WOA、HHO 和AO 算法作為參評算法進(jìn)行對比實驗。同時,為盡量減少偶然因素的影響,每種參評算法均要單獨運行32 次,然后取這32 次實驗結(jié)果的平均值記錄于表2、表3、表4 中作為該算法的性能指標(biāo),并根據(jù)仿真結(jié)果對參評算法優(yōu)劣性進(jìn)行評價。本次模擬仿真,參數(shù)設(shè)置如下:
表2 MUSSA與其他算法性能對比(Dim=30)
表3 MUSSA與其他算法性能對比(Dim=50)
表4 MUSSA與其他算法性能對比(Dim=100)
極限迭代輪次為300,麻雀種群搜索單元數(shù)量設(shè)置為50,預(yù)警值設(shè)置為0.8。為了確保參評算法性能,所有參評算法的參數(shù)根據(jù)原論文設(shè)置。鑒于本文使用的測試函數(shù)屬于非固定維度函數(shù),因此在維度為30、50和100的條件下分別對這13個函數(shù)進(jìn)行求解。
根據(jù)對3 種不同維度的實驗數(shù)據(jù)的分析,發(fā)現(xiàn)MUSSA 算法在大多數(shù)測試函數(shù)上的尋優(yōu)性能較其他參評算法要優(yōu)秀。此外,改良后的麻雀搜索算法性能不會因為測試函數(shù)維度的上升而產(chǎn)生較大波動。
具體而言,對于單峰測試函數(shù)F1~F7,MUSSA 算法在前6 個測試函數(shù)上總能找到比其他參評算法更好的最優(yōu)值,且只在測試函數(shù)F7 上的表現(xiàn)分別在收斂精準(zhǔn)度和收斂穩(wěn)定性方面稍遜于AO 算法和HHO算法。
對于多峰測試函數(shù)F8~F13,只有HHO 算法在測試函數(shù)F8上的尋優(yōu)能力能穩(wěn)定優(yōu)于MUSSA算法。在測試函數(shù)F9~F11上,除WOA 算法外的所有參評算法均能得到不錯的優(yōu)化效果,即穩(wěn)定收斂到理論最優(yōu)值且不因維度變化而發(fā)生變化。在函數(shù)F12和F13上,只有MUSSA算法找到的最優(yōu)值更接近于理論最優(yōu)值。
值得注意的是,無論使用何種測試函數(shù),MUSSA算法的性能總能在絕大部分情況下優(yōu)于原始SSA 算法且不因維度的變化而發(fā)生改變。這說明MUSSA 算法的開發(fā)能力要明顯優(yōu)于原始SSA算法。
綜上所述,MUSSA算法相比于SSA算法以及其他參評算法具有更優(yōu)秀的性能。本文所提出的改進(jìn)策略較好地提升了種群豐富度,拓展了算法針對理論最優(yōu)解所存在的域的發(fā)掘,從而提高了算法的尋優(yōu)性能。
為了比較MUSSA 和SSA 針對不同測試函數(shù)的優(yōu)化表現(xiàn),根據(jù)維度為30 時的標(biāo)準(zhǔn)差數(shù)據(jù),對各參評算法從小到大進(jìn)行排序,并根據(jù)排序結(jié)果繪制了排名雷達(dá)圖,如圖5 所示。性能雷達(dá)圖中的曲線所圍成的多邊形區(qū)域越廣,表示該算法的標(biāo)準(zhǔn)差數(shù)據(jù)排序越靠后,其穩(wěn)定性就越差。在本文中,使用黑色加粗實線表示MUSSA 算法,黑色虛線表示原始SSA 算法。從雷達(dá)圖中不難發(fā)現(xiàn),SSA 算法排名曲線所圍區(qū)域遠(yuǎn)超MUSSA 算法,這說明MUSSA 算法在各測試函數(shù)上的整體性能優(yōu)勢較原始SSA更顯著。
圖5 維度30測試函數(shù)雷達(dá)圖
為了評估改良后算法的收斂速度和收斂精度,本文給出MUSSA 算法和其他參評算法在解決不同維度測試函數(shù)時的平均收斂曲線,如圖6 和圖7 所示。從圖中可以看出,無論是在30 維還是100 維情況下,MUSSA總能獲得不錯的優(yōu)化效果。
圖7 MUSSA與其他優(yōu)化算法收斂曲線圖(Dim=100)
為了從統(tǒng)計學(xué)角度證明改良后算法的優(yōu)越性,本文還采用Friedman 檢驗[31]對各參評算法進(jìn)行了多維度校驗。表5 為各算法的平均排名結(jié)果,數(shù)據(jù)保留3位小數(shù)。從表5中可以看出,MUSSA算法無論是在各維度的獨立排名還是總排名均為第一。
表5 不同算法的Friedman檢驗
綜合上述實驗結(jié)果可以得出,MUSSA 算法相較其他參評算法在統(tǒng)計學(xué)角度具有更好的尋優(yōu)性能。
本文首先將Iterative映射與透鏡學(xué)習(xí)機(jī)制引入標(biāo)準(zhǔn)麻雀搜索算法中,通過改善種群結(jié)構(gòu),來豐富種群多樣性,從而避免算法陷入局部最優(yōu),并使用遺忘遞減策略,逐步減少使用混沌透鏡學(xué)習(xí)策略的個體數(shù)量,削減計算成本;然后,將動態(tài)權(quán)重的螺旋搜索策略和參考系機(jī)制作用于發(fā)現(xiàn)者,優(yōu)化全局搜索時的搜索范圍,增強其對局部的開發(fā)能力;最后,將動態(tài)選擇策略和基于螺旋的參考系機(jī)制作用于追隨者,平衡全局與局部搜索不均的態(tài)勢,并提高收斂速度。本文選取常用的13 個基準(zhǔn)測試函數(shù),從收斂性、穩(wěn)定性和平衡性3 個角度進(jìn)行模擬仿真,實驗結(jié)果表明MUSSA 在各方面性能均優(yōu)于其他參評算法。