














摘 要: "針對元啟發算法中麻雀搜索算法(SSA)的早熟收斂、易陷入局部最優、全局搜索性差等問題進行研究,提出一種融合黃金正弦和曲線自適應的多策略麻雀搜索算法。首先,利用Chebyshev混沌映射初始化種群,使初始解位置分布更為均勻,產生優質初始解,增加種群豐富性;其次,引入黃金正弦和曲線自適應權重改進發現者和加入者位置更新方式,有效協調了全局搜索與局部挖掘能力,加快收斂速度;最后,動態選擇隨機游走或柯西- t 擾動策略對最優麻雀位置進行擾動,提高算法跳出局部最優的能力以及收斂精度。選取14個基準函數進行測試,比較改進算法與其他九個元啟發式算法的仿真結果,使用Wilcoxon秩和檢驗以及MAE(mean absolute error)排序來驗證所提改進策略的有效性。結果表明,該算法在全局搜索性、克服局部最優、收斂速度、收斂精度、穩定性都有較大提升。
關鍵詞: "麻雀搜索算法; 黃金正弦算法; 曲線自適應權重; 柯西- t 擾動; 函數優化
中圖分類號: "TP301.6 """文獻標志碼: A
文章編號: "1001-3695(2022)02-028-0491-09
doi:10.19734/j.issn.1001-3695.2021.06.0217
Multi-strategy sparrow search algorithm integrating golden sine and curve adaptive
Gao Chenfeng, Chen Jiaqing, Shi Mohan
(School of Science, Wuhan University of Technology, Wuhan 430070, China)
Abstract: "To solve the shortcoming of the meta-heuristic sparrow search algorithm, such as early convergence, easy to fall into local optimum, poor global searchability, this paper proposed a multi-strategy sparrow search algorithm integrating golden sine and curve adaptative. Firstly, it used Chebyshev chaotic mapping to initialize the population, so that the initial solution position distribution was more homogeneous, produced high-quality initial solutions, and increased the richness of the population. Secondly, it introduced golden sine and curve adaptive weight to improve the location update method of the discoverer and the joiner, which effectively coordinated global search and local mining capabilities and accelerated the convergence speed. Finally, it selected the random walk or Cauchy- t "disturbance strategy disturbed the optimal sparrow position dynamically, which improved the ability of the algorithm to jump out of the local optimum and improved the convergence accuracy. This paper selected 14 benchmark functions for testing, compared the simulation results of the proposed algorithm with other 9 meta-heuristic algorithms, and used Wilcoxon rank-sum test and MAE ranking to verify the effectiveness of the proposed improvement strategy. The results prove that the proposed algorithm has a great improvement in global searchability, overcoming local optima, convergence speed, convergence accuracy, and stability.
Key words: "sparrow search algorithm; golden sine algorithm; curve adaptive weight; Cauchy- t "disturbance; function optimization
0 引言
最優化問題通常是確定目標函數的最小值或最大值,然而大多數實際問題的數學模型往往涉及非線性約束條件、非凸性、極其復雜且龐大的解空間等問題。對于伴隨大量變量或約束條件的問題,常常有許多局部最優解,傳統數值計算的方法不能高效迅速地去找到全局最優解[1],高昂的計算成本也是影響優化過程的重要因素。元啟發式算法因為其方便易操作性、不需要復雜推導、不依賴具體求解問題、能快速找到最優解以及易于應用到實際優化問題等優勢而廣受歡迎。
元啟發式算法大多來自于自然界簡單的概念,通常基于物理現象、動物行為或進化行為[2]。近年來以自然界中各類生物群體行為作為研究對象的元啟發式算法受到廣大研究人員的重視。根據生物種群行為特性能夠對整個搜索空間進行隨機、全面的搜索,且具有更好的穩定性和廣泛性,越來越多的這類元啟發式算法被提出來,較為流行的元啟發式算法有灰狼優化算法(GWO)[2]、螢火蟲優化算法(FA)[3]、人工蜂群算法(ABC)[4]、鯨魚優化算法(WOA)[5]、哈里斯鷹算法(HHO)[6]和蟻獅優化算法(ALO)[7]等。
麻雀搜索算法(sparrow search algorithm,SSA)是2020年Xue等人[8]根據麻雀種群行為活動提出的一種元啟發式算法。相比于其他算法,在解決很多優化問題時,SSA具有收斂速度快、收斂精度高等優點,但仍然具有種群豐富性低、全局搜索能力差、過早收斂陷入局部最優等缺陷[9~11]。主要原因是:麻雀種群初始化過程只是簡單隨機種群初始位置,迭代后期種群多樣性快速下降;麻雀位置更新機理沒能很好地平衡全局搜索與局部挖掘的關系導致算法過早收斂;沒有對最優麻雀位置進行更廣泛的探索,導致結果陷入局部最優。
針對上述問題,眾多學者從不同角度運用不同方法對原始SSA進行了改進。Liu等人[12]使用Tent混沌映射策略改進麻雀初始種群,提高初始解質量,并在警戒者位置引入萊維飛行以克服算法的早熟收斂。Yuan等人[13]使用重心反向學習機制來初始化種群,在發現者的位置更新方式中引入學習系數,提高算法的全局搜索能力。Wang等人[14]在SSA中引入柯西變異策略和反向學習機制對最優位置進行擾動變異,增加算法跳出局部最優的概率。Zhang等人[15]提出了一種混合正弦余弦算法的SSA,并在改進的SSA算法中采用新的勞動協作結構使算法更穩定地收斂到全局最優,平衡了全局搜索與局部開發能力。Liu等人 [16]使用三次方混沌映射初始化種群,運用自適應權重延緩發現者位置更新速度,并對最優麻雀位置進行自適應柯西高斯擾動,從而進一步克服落入局部最優。
上述文獻針對SSA的缺陷進行了不同程度的改進,但是針對某些優化問題仍然存在收斂精度低、全局搜索性差、陷入局部最優等不足。本文提出一種融合黃金正弦和曲線自適應的多策略麻雀搜索算法,擬從三個方面對SSA進行改進。首先,根據 Chebyshev混沌映射優秀的隨機性、遍歷性,選擇Chebyshev 混沌映射初始化種群,從而提高種群多樣性;其次,引入曲線自適應權重平衡后的黃金正弦公式來改變發現者位置更新方式,同時改進加入者更新方式,平衡全局搜索和局部挖掘,提高收斂速度;最后,動態選擇隨機游走或柯西- t 擾動策略對最優麻雀位置進行擾動,進一步增加算法跳出局部最優的可能性。
1 原始麻雀搜索算法(SSA)
麻雀搜索算法[8]是根據麻雀種群覓食和反捕食行為特性而提出并建立相應的數學模型,其中每只麻雀位置都對應一個解。針對不同問題的維數不同,每只麻雀表示為 x i=[x i,1,x i,2,…,x i,d],所有的麻雀表示為 X =[x 1,x 2,…,x N ]T,構成整個麻雀種群用矩陣表示為
X = "x 1,1 … x 1,d
x N,1 … x N,d """""(1)
其中: N表示麻雀的數量,即麻雀種群的大小;d是待優化問題變量的維數。f(x 1)表示每個麻雀個體的適應度值,麻雀種群的適應度值表示 為
F x=[f(x 1),f(x 2),…,f(x N) ]T "(2)
根據麻雀的行為進行數學模型的構建,把麻雀種群分為發現者(PD)、加入者,并從中隨機產生占種群數量一定比例(一般占10%~20%)的警戒者(SD)。其中發現者負責尋找食物(適應度值高的位置),并領導整個種群移動的方向,發現者位置更新方式為
Xt+1 i,j= Xt i,j· exp ""-i α·T max """R 2lt;ST Xt i,j+Q· L "R 2≥ST """"(3)
其中: t表示當前的迭代次數;Xt i,j表示第i只麻雀在第t代時,第j維上的位置;T max表示最大的迭代次數;α是(0,1)的一個隨機數;Q是服從正態分布的隨機數; L 是1×d的矩陣,其中每個元素都是1。R 2∈[0,1]表示預警值,ST∈[0.5,1]表示安全值,若R 2lt;ST, 表示麻雀暫無危險,生產者開始廣泛搜索,反之則需要轉移種群至安全區域。
加入者通過監視并跟隨適應度最高的發現者來調整位置找尋食物,加入者位置更新方式為
Xt+1 i,j= Xt i,j· exp ""X worst-Xt i,j i2 """"""igt;N/2
Xt+1 p+|Xt i,j-Xt+1 p|· A +·L "other """(4)
其中: X worst表示當前全局的最差位置;Xt+1 P表示目前發現者所占據的最優位置; A 為1×d的矩陣,每個元素隨機賦值1或者-1,并且 A += A T( AA T)-1。當 igt;N/2時,表明適應度較低的第i個加入者沒有獲得食物,適應度值較低,處于饑餓狀態 ,需要飛往別的區域,獲得更高適應度值。
警戒者能意識到危險,并提醒其他麻雀盡量避免被捕食的危險,其位置更新方式為
Xt+1 i,j= Xt best+β·|Xt i,j-Xt best| """"if "f igt;f g
Xt i,j+K· "|Xt i,j-Xt worst| (f i-f w)+ε """if "f i=f g
(5)
其中: Xt best是當前的全局最優位置;β是服從均值為0,方差為1的正態分布隨機數;K∈[-1,1]為隨機數;f i表示當前麻雀個體的適應度值;f g與f w分別為全局最優和全局最差適應度值;ε是最小 常數,防止分母出現零。
2 融合黃金正弦和曲線自適應的多策略麻雀搜索算法(GCSSA)
本章針對SSA全局搜索性較差、早熟收斂、陷入局部最優等不足,提出一種融合黃金正弦和曲線自適應的多策略麻雀搜索算法(GCSSA),具體改進策略如下。
2.1 Chebyshev混沌映射策略
在解決復雜的優化問題時,由于SSA簡單隨機生成初始種群,導致SSA在后期迭代中存在種群多樣性快速下降、收斂速度過快的問題。混沌序列因其隨機性、遍歷性等特點,近年來已被應用于元啟發式算法中來提高種群多樣性,基本思路是通過映射將混沌序列轉換到個體搜索空間。混沌序列可以通過不同的混沌模型進行映射,常見的有Tent混沌映射[12]、Logistic混沌映射[16]、Kent混沌映射。受文獻[12]使用Tent混沌映射初始化種群的啟發,本文采用Chebyshev混沌映射[17]來初始化種群。相比于Tent混沌映射對混沌系統初始狀態和系統參數異常敏感,Chebyshev映射數學表達式簡單,沒有系統參數,初值敏感性相對不高,魯棒性強。Tent和Chebyshev混沌映射表達式分別如式(6)(7)所示。
x t+1= "x i a """x ilt;a
1-x i 1-a "x i≥a """"(6)
x t+1= cos( t cos -1(x t)) ""(7)
其中: x的范圍為[0,1];x 1是屬于(0,1)均勻分布的隨機數;a是屬于(0,1)的系統參數。如圖1所示,初始值相同,對比a=0.1、a =0.8的Tent映射和Chebyshev映射迭代500次的分布圖,Chebyshev映射比Tent映射分布更為均勻,使用Chebyshev映射來初始化種群,能夠更穩定地產生分布均勻、優質的初始解,提高初始種群的多樣性。
2.2 位置更新方式改進
元啟發算法的核心組成是算法運行機理,一般通過模擬自然現象或動物行為來構建數學模型作為算法運行機理。位置更新方式是決定一個模型好壞最重要的環節。本節針對SSA中發現者和加入者位置更新方式作出改進來提高算法性能。
2.2.1 黃金正弦策略
黃金正弦算法(golden sine algorithm,golden-SA)[18,19]是Tanyildizi于2017年提出的一種元啟發式算法。根據正弦函數和單位圓的關系, golden-SA可以遍歷正弦函數上所有的點,也就是遍歷整個單位圓。對整個單位圓的掃描類似于優化問題中搜索空間的搜索。同時在其位置更新過程中引入黃金分割系數,使得每次迭代既能縮小搜索范圍又能遍歷優秀解區域,在加快算法收斂速度的同時,提高了局部挖掘能力和求解精度。
golden-SA算法的核心過程是其位置的更新方式,首先隨機產生 n 個個體位置,每個個體都對應一個初始解,通過式(8),對每個個體進行位置更新。
xt+1 i=xt i·| sin (r 1)|-r 2· sin (r 1)·|c 1Pt i-c 2xt i| ""(8)
其中: xt i=[xt i,1,xt i,2,…,xt i,d],((i=1,2,…,n),(t=1,2,…,t max)),xt i,d表示第i個個體在第t次迭代時第d維上的位置;Pt i是第t次迭代全局最優位置;r 1、r 2是分別屬于[0,2 π]和[0,π ]的隨機數,r 1決定下次迭代個體i的移動距離,r 2決定下次迭代個體i的移動方向[18]; c 1、c 2作為黃金分割系數引入位置更新公式,c 1=a(1-g)+bg,c 2=ag+b(1-g),a和b的初始值分別 為-π,π ,黃金分割數g=( 5 -1)/2,c 1、c 2縮小了搜索空間,在迭 代過程中引導當前位置個體向全局最優位置移動。
對于麻雀搜索算法,迭代過程中發現者們占據當前適應度值較高的位置,從而領導整個種群進行覓食,但是這些發現者之間缺乏足夠的交流,黃金正弦可以很好地彌補這一不足,式(7) 中Pt i是當前全 局最優位置,可以引導其他發現者都向最優位置靠攏,使最優位置信息快速地在發現者之間傳遞。式(8)能夠使發現者遍歷自身鄰域,對優質解區域搜索更加全面,縮小整個探索空間,從而提高收斂速度和收斂精度,因此在發現者位置引入黃金正弦策略是可行的。引入黃金正弦后的發現者更新位置方式為
Xt+1 i,j= Xt i,j·| sin (r 1)|-r 2· sin (r 1)·
|c 1Xt P-c 2Xt i,j| "R 2lt;ST
Xt i,j+Q· L "R 2≥ST """"(9)
2.2.2 曲線自適應策略(curve adaptive strategy)
受改進粒子群算法中慣性權重思想的啟發,為了更好地協調全局搜索和局部挖掘能力,改善算法在迭代的中后期快速收斂落入局部最優的問題。參考文獻[20,21],在黃金正弦更新公式中引入曲線自適應權重 w "1,表達式為
w 1=( cos(π ·t/T max)+w max)(w max+w min)/2+a ""(10)
其中: t是當前迭代次數;T max是最大迭代次數;a是調整系數;w max是因子最大值;w min是因子最小值。w 1在迭代前期保持緩慢下降,中期下降速度加快,后期再次減緩下降速度。既保證了前期能夠減緩全局搜索性下降的同時,又改善了后期落 入局部最優的問題。加入曲線自適應權重改進后的發現者位置更新公式為
Xt+1 i,j= (1-w 1)·Xt i,j·| sin (r 1)|-w 1·r 2·
sin (r 1)·|c 1Xt P-c 2Xt i,j| "R 2lt;ST
Xt i,j+Q· L "R 2≥ST """""(11)
其中: w 1可以很好地 平衡黃金正弦策略發現者更新公式全局收斂與局部收斂的關系,從而使得算法在迭代初期具有較強的全局搜索能力,在迭代后期能夠有效地協調局部收斂和陷入局部最優兩者的關系。
加入者的更新方式是以占據最優位置的發現者為目標而進行位置更新,SSA中加入者和發現者通過動態轉換維持固定比例不變。為使加入者更好更快地跟隨發現者進行位置更新,在改進的加入者更新方式中引入曲線自適應權重 w 2=1-w 1,w 2隨迭代動態增加,使加入者后期能夠以較大步長移動,防止因盲目跟隨發現者而錯過更好位置,進而改善算法過快收斂、陷入局部最優的問題。w 2的表達式以及改進后的加入者更新方式 為
w 2=1-(( cos(π ·t/T max)+w max)(w max+w min)/2+a) ""(12)
Xt+1 i,j= Xt i,j· exp ""X worst-Xt i,j i2 """igt;N/2
Xt+1 p+w 2·Xt+1 p "other
(13)
經過多次實驗,當 w max=0.9,w min=0.2,a=0.45時,尋優結果最好。圖2給出了w 1迭代變 化曲線。
2.3 最優位置擾動策略
在SSA的后期迭代中,麻雀逐漸接近最優個體,引起種群多樣性下降,陷入局部最優。為改善這一問題,本文通過動態選擇兩種擾動算子對搜索排序后的最優麻雀個體進行擾動,從而提高算法跳出局部最優的可能性。
2.3.1 隨機游走擾動策略
參考蟻獅優化算法[7,18]在蟻獅捕食螞蟻時,螞蟻通過隨機游走的方式尋找食物更新其位置,螞蟻隨機游走公式為
X(t)=[0, cumsum (2r(t 1)-1),…, cumsum (2r(t n)-1) ""(14)
其中: X(t)為隨機游走步數集合;cumsum為游走步數累加和;n是最大迭代次數;t表示隨機游走的步數(本文的迭代次數),r(t)是一個隨機 函數,定義為
r(t )= "1 ""randgt;0.5
0 rand ≤0.5 """"(15)
隨機游走是基于式(14),螞蟻在所有維度都用隨機行走來更新其位置,每個維度的最優麻雀位置對應螞蟻位置。由于搜索空間對可行域存在邊界,不能直接用式(14)更新螞蟻的位置。為確保螞蟻在可行域范圍內隨機游走,根據式(16)對其進行歸一化處理,處理后的 Xt best即最優麻雀 隨機游走擾動后的位置。
Xt best= (Xt best-a i)·(dt i-ct i) b i-a i +ct i ""(16)
其中: a i和b i分別為第i維變量隨機游走的最小值和最大值;ct i和dt i分別為第i個變量第t次迭代的最小值和最大值。在開始迭代之初,隨機游走邊界較大,有利于提高全局搜索性,在迭代多次后,游走邊界變小,從而提高算法的最優位置局部搜索 性。
2.3.2 柯西- t 擾動策略
受文獻[16,22]啟發,構造柯西- t 擾動算子,表達式為
Xt+1 i,j=Xt best[1+λ 1 Cauchy (0,1)]+λ 2t(T max) ""(17)
其中:Cauchy(0,1)是服從標準柯西分布的隨 機數,t(T max)是以最大迭代次數作為自由度的t分布隨機數。柯西分布算子本身具有很好的擾動能力,可以提高全局搜索能力[16]。t分布算子在自由度較 低時類似柯西分布,擾動能力強,在自由度很高時類似高斯分布,可以增強局部挖掘能力。
通過 λ 1、λ 2將兩者相結合,λ 1=1-t2/T2 max,λ 2=t2/T2 max是隨迭代次數變化的自適應動態參數。在式(17)中,λ 1初期值較大,因此柯西擾動占比較大,這有利于在較大范圍對最優麻雀位置進行擾動,增強全局搜索性。λ 2后期值較大,此時t擾動 占比較大,這有利于在最優麻雀位置附近探索,增強局部挖掘性,提高收斂精度。根據文獻[14]動態選擇概率公式,由動態選擇概率來決定采取何種擾動策略,在一定概率下兩種擾動策略交替執行,進一步增加最優位置擾動的隨機性,提高跳出局部最優的可能性,參考文獻[14]動態選擇概率,表達式為
P s=- exp "1- t T max "20+0.05 """(18)
具體選擇策略的過程可以分成兩種:a) 當 randlt;P s 選擇式(14)~(16)的隨機游走擾動策略來更新最優麻雀位置,反之,選擇式(17)的柯西- t 擾動策略更新最優麻雀位置;b)當 rand≥P s 選擇式(14)~(16)的隨機游走擾動策略來更新最優麻雀位置,反之,選擇式(17)的柯西- t 擾動策略更新最優麻雀位置。經實驗對比,兩種選擇過程的優化效果幾乎相同,本文選擇第一種。
2.4 算法實現流程
GCSSA算法具體實現流程如下:
a)初始化參數。種群數量 N、最大迭代次數T max、發現者比例(PD)、警戒者比例(SD)、曲線自適應權重最小值w min,最大值w max等 。
b)利用式(7)初始化麻雀種群,計算每只麻雀的適應度值并排序,找到當前最優適應度值和最差適應度值,以及所對應的麻雀位置。
c)根據發現者比例,選取適應度值排名靠前的麻雀作為發現者,按照式(11)進行位置更新。
d)剩余麻雀作為加入者,按照式(13)更新位置。
e)從麻雀中按照警戒者比例,隨機選擇警戒者,按照式(5)更新位置。
f)計算 更新每只麻雀的適應度值并排序,判斷擾動條件。根據動態選擇概率P S(式(18))選擇隨機游走擾動(式(14)~(16),或柯西-t擾動(式(17 ))對最優麻雀位置擾動。
g)比較擾動后新的適應度值和原值,若新適應度值小于原值,則更新最優麻雀位置,反之,則保留原值。
h)判斷當前是否到達最大迭代次數,若是,結束循環,輸出最優結果,否則跳轉步驟c)。
3 仿真實驗結果與分析
3.1 基準測試函數
為公平比較不同元啟發式算法的尋優性能,檢測GCSSA改進策略的有效性,本文從文獻[2,23]以及CEC2017的測試 函數集中選擇了14個基準測試函數進行仿真測試。其中, F 1~ F 8是單峰函數,用于測試算法的收斂速度、收斂精度;F 9~F "14是多峰函數,具有多個局部最優點,用于評估算法的全局搜索和挖掘能力。基準測試函數具體的功能名稱、表達式、搜索范圍及理論最優解如表1、2所示。為更直觀判斷這些基準測試函數的功能以及最優值,圖3、4展示部分函數的三維視圖。
3.2 實驗參數設置
選取比較流行的六種基本元啟發式算法與GCSSA進行對比實驗,分別是麻雀搜索算法(SSA)、人工蜂群算法(ABC)、螢火蟲優化算法(FA)、灰狼優化算法(GWO)、鯨魚優化算法(WOA)、哈里斯鷹算法(HHO)。為確保實驗的公平有效,測試在統一環境下進行,基于macOS操作系統,運行仿真軟件MATLAB 2020a完成實驗。各算法的重要參數及設置如表3所示。
3.3 實驗結果對比分析
使用GCSSA與六種基本元啟發式算法對14個測試函數(表1、2)優化并進行對比分析。所有算法種群數量設定為30,最大迭代次數為500,各算法獨立運行30次。維度 D 分別為30、50、100來測試算法對于不同維度的尋優性能以及算法在高維度中的穩定性、魯棒性。為減少仿真中隨機性的影響,分別記錄優化結果的平均值和標準差,這兩項指標可以評估算法的收斂精度和穩定性,30維的實驗結果多一項最優值指標 ""來驗證算法的勘探性能。實驗結果見表4~7,其中粗體結果表示最優結果。
由表4可知,維度為30時,對于單峰函數 f 1~f "8,GCSSA尋優性能均優于其他算法,GCSSA的平均值。標準差均到達最佳。其中, f 1~f 4、f 7、f 8、f "10,GCSSA能100%地收斂到理論最優值;SSA雖能收斂到理論最優值,但其平均值和標準差都不為0,說明其穩定性不如GCSSA。對于 f 5、f "6,所有算法都不能收斂到理論最優值,但GCSSA的收斂精度、穩定性以及勘探性能優于其他算法。證明了對于單峰函數,本文改進策略能夠大幅度提升SSA算法的性能。由表5可知,對于多峰函數 f 9~f "14,GCSSA在除了 f "9以外五個函數的測試中表現都優于其他算法,取得最優平均值和標準差。GCSSA、SSA在 f 10、f "13上都能收斂到理論最優值,其中GCSSA平均值和標準差都為0,優于SSA,說明GCSSA在多峰函數上穩定性也優于SSA。除了ABC、FA、GWO,其他算法在 f "9上都達到了理論最優值且平均值和標準差均為0,說明算法針對 f "9尋優效果一致。綜上所述,不論是單峰函數還是多峰函數,GCSSA都表現最佳,證明了GCSSA在全局探索和局部挖掘上優秀的尋優性能。
通過上述分析可知,GCSSA在30維度表現優秀。一般算法可能在高維度求解復雜函數時魯棒性、穩定性不強,尋優能力驟降。為檢測GCSSA在高維度尋優性能,對比在50、100維,GCSSA與其他算法的尋優結果。由表6可知,對于單峰函數 f 1~f "8,GCSSA在 f 1~f 3、f "7的測試中,在50和100維都收斂到理論最優值,相比于30維中達到理論最優的 f "4,雖然不能收斂到理論最優值,但依然是最接近的理論最優值。對于 f 5、f "6,其他算法在高維度都出現了收斂精度下降,而GCSSA雖然在50維收斂精度有所下降,但100維幾乎沒有變化,說明了GCSSA在更高維度的穩定性。針對 f "8,GCSSA在50維時,比SSA收斂精度高24個數量級,但在100維時原始麻雀收斂精度比GCSSA高出8個數量級,GCSSA在高維度表現略不如SSA。由表7可知,在高維多峰函數 f 9~f "14,GCSSA在除 f "9以外的5個函數和之前30維上表現相當,均取得最 優平均值和標準差,說明GCSSA對高維多峰函數尋優性能的穩定。總體來說,GCSSA面對高維度優化問題時,仍然能表現出很好的尋優性能,證明了GCSSA在高維度也具有較強的穩定性和魯棒性。
3.4 算法收斂曲線對比分析
為了更直觀地觀察對比各個算法的收斂速度、收斂精度、以及算法跳出局部最優的能力,圖5給出了GCSSA和六種基本元啟發算法 f 1~f "14(30維)上的收斂曲線,其中橫軸表示迭代次數,縱軸表示適應度值的數量級,適應度值以10為底取對數,能更好地展示收斂趨勢。
觀察圖5可知,GCSSA在 f 1~f 4、f 7~f 10、f "13上的收斂曲線中收斂速度最快、收斂精度最高,且近似線性遞減到理論最優值,沒有停滯。SSA在這些函數中表現次于GCSSA,優于其他算法。SSA、WOA、HHO在 f "9中幾乎沒有停滯收斂到最優值,但是收斂速度不如GCSSA。而其他算法均在不同程度上出現停滯,陷入局部最優。 在f 5、f 6、f 11、f 12、f "14收斂曲線中,GCSSA收斂速度很快,且迅速出現拐點,迭代后期多次克服局部最優,獲得最優收斂精度。其他算法均陷入局部最優,且最多兩次跳出局部最優便停滯不前。針對 f "10,FA表現最差,ABC最接近理論最優值,其他各算法收斂值與ABC差異不大。總體來說,對比結果證明本文改進策略可以有效提升原始算法的收斂速度、收斂精度及勘探能力,且GCSSA無論對于單峰函數還是多峰函數都具備較強的跳出局部最優的能力。
3.5 與其他改進的麻雀搜索算法對比
僅對比GCSSA和基本元啟發式算法的優劣是不足以證明GCSSA與其他改進麻雀搜索算法的競爭力,本節選取了三個較新的改進麻雀搜索算法ISSA[14]、SCAISSA[15]、SCSSA[24]與GCSSA進行對比實驗,14個測試函數維度為30,改進算法中通用參數設置與3.2節中GCSSA相同,所有算法種群數量設定為30,最大迭代次數為500,各算法獨立運行30次。GCSSA的平均值和標準差數據來自表4、5。實驗結果見表8,其中粗體結果表示最優結果。
由表8可知,GCSSA、CSSSA在 f 1~f 4、f 7~f 10、f "13均能找到 最優值且平均值和標準差為0,GCSSA雖然 在f 5、f 6、f 11、f 12、f "14上沒找到理論最優值,但是其平均值和標準差均為最小,SCSSA """"作為三種改進算法中最新的算法,其結果排名第二。GCSSA在 除f 9、f "13以外的測試函數上都明顯優于另外兩種改進麻雀搜索算法,由此證明,相比于部分較新的改進麻雀搜索算法,GCSSA具有較強的競爭優勢。
3.6 Wilcoxon秩和檢驗
為了進一步評估本文改進策略是否有效,檢驗GCSSA與六種元啟發式算法以及三種改進麻雀搜索算法相比是否具有顯著性差異,采用非參數統計檢驗方法Wilcoxon秩和檢驗[25]。每個測試函數各算法獨立運行30次,對GCSSA與其他算法在14個測試函數(30維)上進行顯著水平為5%的Wilcoxon秩和檢驗,判斷GCSSA與其他算法每次結果在統計上是否存在顯著性差異。表9給出了GCSSA與其他算法秩和檢驗中計算的 p 值。由表4、5、8可知,最佳算法是GCSSA,因此,成對比較時, p 值主要顯示其他算法與GCSSA的差異的顯著性。其中加粗是差異不明顯或者性能相當。
當 p 值小于0.05時,說明存在顯著性差異,反之,說明兩者差異不大,算法整體來說性能近似。其中N/A表示不適用,因為兩者尋優結果都是0,沒有數據可進行比較,說明兩者性能相當。由表9可知,SCSSA在 f 5、f 6、f 11、f 12、f 1 4表現與GCSSA差異不明顯,其他函數上兩者尋優性能相當,與3.5節結果一致。除SCSSA以外,ABC、FA、GWO、WOA、HHO、ISSA在除 f "9以外的13個函數上都與GCSSA有明顯差異。 f 9的p 值結果表明SSA、HHO、ISSA、SCAISSA與GCSSA尋優性能相當,WOA與GCSSA差異性不明顯。SSA、SCAISSA在 f "13上的尋優性能與GCSSA差異不明顯,SSA在 f 3、f "7上與GCSSA沒有顯著性差異。總體來說,除了SCSSA兩者在所有函數上差異性不明顯,GCSSA相比于其他算法,尋優性能有顯著性提升,進一步證明了本文改進策略的有效性。
3.7 MAE排序
為了更好地評估GCSSA與六種元啟發式算法以及三種改進的麻雀搜索算法的勘探能力和收斂精度,采用平均絕對誤差(mean absolute error,MAE)[26]對GCSSA和九個算法進行排序。MAE是一個反映算法最優值和理論最優值差距的有效統計指標,其公式為
MAE= ∑ N i=1 |m i-f i| N """(19)
其中: m i是算法對各測試函數(30維)產生最優解的平均值;f i是對應測試函數的理論最優值;N是測試函數的個數。由表10可知,相比于其 他算法,GCSSA具有最小的MAE,排名第一,從而進一步表明GCSSA算法勘探能力強,收斂精度高。
4 結束語
本文提出了一種融合黃金正弦與曲線自適應的多策略麻雀搜索算法(GCSSA)。通過Chebyshev混沌映射初始化麻雀種群,增加種群豐富性,提高了種群初始解的質量;融合黃金正弦策略和曲線自適應對發現者和加入者更新方式進行改進,提高了全局探索能力的同時加快收斂速度;引入隨機游走和柯西- t 擾動策略,提高跳出局部最優的概率,進一步提高收斂精度,增強了算法后期尋優能力。將GCSSA與包括SSA在內的6個基本元啟發式算法以及3個改進的SSA算法在14個測試函數上進行對比實驗,并使用Wilcoxon秩和檢驗與MAE排序,結果表明GCSSA對于低維度和高維度的單峰、多峰函數均表現出很好的尋優性能,驗證了改進策略的有效性, 與其他元啟發式算法以及改進的麻雀搜索算法相比具有很強的競爭力。下一步考慮繼續改進算法,提高算法在有多約束條件優化問題中的尋優性能,或將重點轉移到本文算法在實際問題中的拓展應用。
參考文獻:
[1] "Dhiman G, Kumar V. Seagull optimization algorithm: theory and its applications for large-scale industrial engineering problems[J]. Knowledge-Based Systems ,2019, 165 :169-196.
[2] Mirjalili S, Mirjalili S M, Lewis A. Grey wolf optimizer[J]. Advances in Engineering Software ,2014, 69 :46-61.
[3] Yang Xinshe. Firefly algorithms for multimodal optimization[C]//Proc of International Symposium on Stochastic Algorithms. Berlin:Springer,2009:169-178.
[4] Karaboga D. Artificial bee colony algorithm[J]. Scholarpedia ,2010, 5 (3):DOI:10.13140/RG.2.2.22854.06720.
[5] Mirjalili S, Lewis A. The whale optimization algorithm[J]. Advances in Engineering Software ,2016, 95 :51-67.
[6] HeidarI A A, Mirjalili S, Faris H, "et al . Harris hawks optimization: algorithm and applications[J]. Future Generation Computer Systems ,2019, 97 :849-872.
[7] Mirjalili S. The ant lion optimizer[J]. Advances in Engineering Software ,2015, 83 :80-98.
[8] Xue Jiankai, Shen Bo. A novel swarm intelligence optimization approach: sparrow search algorithm[J]. Systems Science amp; Control Engineering ,2020, 8 (1):22-34.
[9] Liu Bo, Rodriguez D. Renewable energy systems optimization by a new multi-objective optimization technique: a residential building[J]. Journal of Building Engineering ,2021, 35 :102094.
[10] Kumaravel S, Ponnusamy V. An efficient hybrid technique for power flow management in smart grid with renewable energy resources[J/OL]. Energy Sources Part A: Recovery, Utilization, and Environmental Effects .(2020-08-28).https://doi.org/10.1080/15567036.2020.1855274..
[11] Liu Tingting, Yuan Zhi, Wu Li, "et al . An optimal brain tumor detection by convolutional neural network and enhanced sparrow search algorithm[J]. Proceedings of the Institution of Mechanical Engineers Part H: Journal of Engineering in Medicine ,2021, 235 (4):459-469.
[12] Liu Tingting, Yuan Zhi, Wu Li, "et al . Optimal brain tumor diagnosis based on deep learning and balanced sparrow search algorithm[J/OL]. International Journal of Imaging Systems and Technology .(2021-02-22)[2021-06-15]https://doi.org/10.1002/ima.22559.
[13] Yuan Jianhua, Zhao Ziwei, Liu Yaping, "et al . DMPPT control of photovoltaic microgrid based on improved sparrow search algorithm[J]. IEEE Access ,2021, 9 :16623-16629.
[14] Wang Peng, Zhang Yu, Yang Hongwan. Research on economic optimization of microgrid luster based on chaos sparrow search algorithm[J]. Computational Intelligence and Neuroscience ,2021, 2021 (3):1-18.
[15] Zhang Jiangnan, Xia Kewen, He Ziping, "et al . Semi-supervised ensemble classifier with improved sparrow search algorithm and its application in pulmonary nodule detection[J]. Mathematical Problems in Engineering ,2021, 2021 :article ID 6622935.
[16] Liu Guiyun, Shu Cong, Liang Zhongwei, "et al . A modified sparrow search algorithm with application in 3d route planning for UAV[J]. Sensors ,2021, 21 (4):DOI:10.3390/s21041224.
[17] Chatterjee S, Roy S, Das A K, "et al . Secure biometric-based authentication scheme using Chebyshev chaotic map for multi-server environment[J]. IEEE Trans on Dependable and Secure Computing ,2016, 15 (5):824-839.
[18] 于建芳,劉升,王俊杰,等.融合萊維飛行與黃金正弦的蟻獅優化算法[J].計算機應用研究,2020, 37 (8):2349-2353.(Yu Jianfang, Liu Sheng, Wang Junjie, "et al . Antlion optimization algorithm combining Lévy flight and golden sine[J]. Application Research of Computers ,2020, 37 (8):2349-2353.)
[19] Tanyildizi E, Demir G. Golden sine algorithm: a novel math-inspired algorithm[J]. Advances in Electrical and Computer Engineering ,2017, 17 (2):71-78.
[20] 李洋州,顧磊.基于曲線自適應和模擬退火的蝗蟲優化算法[J].計算機應用研究,2019, 36 (12):3637-3643.(Li Yangzhou, Gu Lei. Locust optimization algorithm based on curve adaptation and si-mulated annealing[J]. Application Research of Computers ,2019, 36 (12):3637-3643.)
[21] Wang Jiesheng. Improved whale optimization algorithm based on nonlinear adaptive weight and golden sine operator[J]. IEEE Access ,2020, 8 :77013-77048.
[22] 韓斐斐,劉升,趙齊輝.基于t分布的自適應花授粉算法[J].數學的實踐與認識,2019, 49 (2):157-165.(Han Feifei, Liu Sheng, Zhao Qihui. Adaptive flower pollination algorithm based on t distribution[J]. Mathematics in Practice and Knowledge ,2019, 49 (2):157-165.)
[23] Song Xiaoyu, Zhao Ming, Yan Qifeng, "et al . A high-efficiency adaptive artificial bee colony algorithm using two strategies for continuous optimization[J]. Swarm and Evolutionary Computation ,2019, 50 :DOI:10.1016/j.swevo.2019.06.006.
[24] 段玉先,劉昌云.基于Sobol序列和縱橫交叉策略的麻雀搜索算法[J/OL].計算機應用.(2021-05-25)[2021-07-18].https://kns.cnki.net/kcms/detail/51.1307.TP20210525.1450.002.html.(Duan Yuxian, Liu Changyun. Sparrow search algorithm based on Sobol sequence and crisscross strategy[J/OL]. Journal of Computer Applications .(2021-05-25)[2021-07-18].https://kns.cnki.net/kcms/detail/51.1307.TP20210525.1450.002.html.)
[25] Derrac J, García S, Molina D, "et al . A practical tutorial on the use of nonparametric statistical tests as a method logy for comparing evolutionary and swarm intelligence algorithms[J]. Swarm and Evolutionary Computation ,2011, 1 (1):3-18.
[26] Nabil E. A modified flower pollination algorithm for global optimization[J]. Expert Systems with Applications ,2016, 57 :192-203.