回立川,陳雪蓮,孟嗣博
遼寧工程技術大學 電氣與控制工程學院,遼寧 葫蘆島 125105
群智能優(yōu)化算法的主要思想是從自然界的生物系統(tǒng)中尋求解決問題的靈感和方法[1]。目前主要的群智能算法有粒子群算法(particle swarm optimization,PSO)[2]、人工螢火蟲群優(yōu)化算法(glowworm swarm optimization,GSO)[3]、遺傳算法(genetic algorithm,GA)[4]、灰狼優(yōu)化算法(grey wolf optimizer,GWO)[5]、磷蝦群算法(krill herd algorithm,KH)[6]等,這些典型的群智能優(yōu)化算法已經被應用于解決許多經典優(yōu)化算法難以解決的大規(guī)模優(yōu)化問題。
薛建凱等[7]于2020年提出一種新型的群智能算法,即麻雀搜索算法(sparrow search algorithm,SSA)。與其他群智能算法相比,SSA 具有較高求解精度和效率,同時擁有魯棒性強、穩(wěn)定性好等優(yōu)點。但在種群迭代后期,同其他群智能算法類似,出現(xiàn)收斂速度慢、易陷入局部最優(yōu)等缺點[8]。
針對這些缺陷,吳丁杰等[9]將Logistic混沌映射和線性遞減權重法引入SSA,使初始解的質量得到改善,降低了算法易早熟的風險。呂鑫等[10]將Tent 混沌高斯變異引入SSA,提高了尋優(yōu)精度,具有優(yōu)良的開拓能力且表現(xiàn)出良好的實時性和穩(wěn)定性。毛清華等[11]將Sin混沌映射、動態(tài)自適應權重、柯西變異以及反向學習策略應用到SSA,有效提高了全局探索性能。張偉康等[12]將Circle 混沌映射、蝴蝶優(yōu)化策略和逐維變異策略引入麻雀搜索算法,增加了搜索空間和種群多樣性,提高了全局探索性能。李愛蓮等[13]將折射反向學習、正余弦算法以及柯西變異引入麻雀搜索算法,解決了種群多樣性不足造成的麻雀在迭代后期出現(xiàn)停滯問題,從而擴大了麻雀覓食范圍。唐延強等[14]將貓映射混沌序列、柯西變異和Tent混沌擾動引入SSA,有效使陷入局部極值點的個體跳出限制。雖然以上學者對基本SSA 的改進在一定程度上豐富了種群多樣性,提升了全局尋優(yōu)能力,但仍存在算法求解精度不足、開發(fā)能力弱等缺陷。
本文提出一種多策略混合的改進麻雀搜索算法(improved sparrow search algorithm based on multistrategy mixing,IMSSA)。首先利用Sine混沌映射初始化麻雀個體位置,豐富種群多樣性,解決種群分布不均勻、搜索空間不足等問題;然后引入帶有慣性權重的多樣性全局最優(yōu)引導策略引領麻雀向最優(yōu)位置遷徙,提升收斂速度,平衡算法的全局堪探與局部開拓能力;最后對跟隨者使用雙樣本學習策略,使其跳出局部最優(yōu),提升麻雀種群的尋優(yōu)性能。通過12個經典測試函數(shù)將6個算法和2個最新改進的SSA與本文所提算法進行對比,并對改進策略進行有效性驗證,充分體現(xiàn)了IMSSA 在函數(shù)優(yōu)化問題上的可行性和優(yōu)越性。最后,選用5個性能優(yōu)越的算法對支持向量機參數(shù)進行優(yōu)化并建立軸承故障診斷模型,對比各模型的分類準確度,證明了IMSSA具有一定的應用價值。
SSA主要模仿麻雀群的覓食過程,麻雀群覓食過程也是一種探索者-跟隨者模型,同時還疊加了偵查預警機制。探索者一般具有較好的適應度值,攜帶更多的優(yōu)勢信息,其附近往往能找到更好的覓食位置,搜索范圍廣。探索者一般占到種群的10%~20%。跟隨者會跟隨具有最佳適應度值的探索者來搜索和尋找食物,并且為了提高自己的捕食率可能會不斷監(jiān)視探索者,爭奪食物源。當麻雀意識到危險時,會即刻表現(xiàn)出反捕食狀態(tài)。
假設在D維解空間內存在N只麻雀,則每只麻雀的位置為X=[x1,x2,…,xN]T,適應度值為Fx=[f(x1),f(x2),…,f(xN)]T。
在SSA中,適應度值較好的探索者在覓食過程中可以優(yōu)先獲得食物,并為所有跟隨者提供搜索方向。探索者的位置更新公式如下:
式中,t為當前迭代次數(shù);itermax為最大迭代次數(shù);Xi,d為第i只麻雀在第d維位置;Q為服從正態(tài)分布的隨機數(shù);隨機數(shù)α∈( ]0,1 ;L為1×d的矩陣,且矩陣內每個元素為1;R2∈[0,1] 表示預警值;ST∈[0.5,1] 表示安全值。當R2<ST時,表示覓食環(huán)境無害,探索者可以進行廣泛搜索。
當R2≥ST時,表示警戒者已發(fā)現(xiàn)捕食者,并發(fā)出警報,此時所有麻雀都需要向安全區(qū)靠攏。
跟隨者的位置更新公式如下:
式中,XW表示當前種群中麻雀最差位置;Xb表示當前種群中麻雀最優(yōu)位置;A為1×d的矩陣且元素隨機賦值為1或-1,A+=AT(AAT)-1。
當i >0.5N時,表示適應度較差的第i個跟隨者沒有取得食物,能量極低,處于十分饑餓狀態(tài),需立即飛往其他區(qū)域覓食;當i≤0.5N時,表示第i個跟隨者將在當前最優(yōu)位置Xb附近尋找食物。
為了覓食過程的安全性,每代種群中會隨機挑選10%~20%的麻雀負責警戒。警戒者位置更新公式如下:
式中,ε為常數(shù);β為步長控制參數(shù);K∈[-1,1] 表示移動方向的隨機數(shù);fi為當前麻雀個體適應度值;fg為當前全局最佳適應度值;fw為當前全局最差適應度值。
當fi≠fg時,表示麻雀在種群邊緣,極易被捕食者襲擊;當fi=fg時,表示麻雀在種群中間,并且已經覺察到危險,為躲避襲擊需及時向其他麻雀靠近。
SSA在搜索空間內隨機建立初始種群,可能導致麻雀種群分布不均勻、搜索空間不足等問題。而混沌具有遍歷性和隨機性,可以很好解決這些問題[15]。
本文采用Sine混沌映射來初始化種群,Sine混沌映射定義如下:
式中,Yi∈[ ]-1,1 為混沌序列;ρ為控制參數(shù);Ud、Ld分別為麻雀個體在第d維的上下限。
Sine 映射具有較好的混沌特性,其混沌性與參數(shù)ρ的取值有著很大的關系。由圖1 所示,ρ∈[ ]0.87,1 且ρ越接近1,混沌性能越好,Yi越均勻地分布在[ ]-1,1 區(qū)域內。當ρ=1 時,系統(tǒng)處于完全混沌狀態(tài),因此之后的實驗都取ρ=1。根據(jù)式(5)將式(4)產生的變量值映射到麻雀個體上,可得到種群的初始解位置。
圖1 Sine混沌序列分岔圖Fig.1 Bifurcation diagram of Sine chaotic sequence
如圖2 所示,搜索空間內種群分布的均勻性較好,因此將Sine混沌映射應用到SSA算法,可使初始解分布更均勻,擴大搜索范圍,既能防止在搜索過程中陷入局部極小值,又可確保種群多樣性,從而提高算法的尋優(yōu)效率,改進基本麻雀算法的不足。
圖2 Sine混沌序列分布圖Fig.2 Distribution diagram of Sine chaotic sequence
2.2.1 多樣性全局最優(yōu)引導
探索是指在搜索空間中尋找未知領域,探索能力愈強,則全局尋優(yōu)結果愈好,但會減緩收斂速度。開發(fā)是指利用前期所得的較好解去搜尋更優(yōu)解的能力。開發(fā)能力愈強,則局部尋優(yōu)效果愈好,收斂速度愈快,但易造成早熟現(xiàn)象,只有平衡好這兩種能力才會使算法性能更優(yōu)[16]。
標準的SSA算法中的發(fā)現(xiàn)者在尋找最優(yōu)位置時,容易偏離方向,錯過最優(yōu)的覓食區(qū)域,導致算法陷入局部最優(yōu)。鴿群優(yōu)化算法[17]中鴿子利用磁接收在大腦中塑造地圖來感知地球磁場,把太陽的高度當作指南針來調整方向,使算法收斂得更快、更穩(wěn)定,改善了算法的局部開發(fā)和全局探索能力,具有魯棒性較強等優(yōu)點,并且使生成的最優(yōu)路徑更平滑、更令人滿意。因此將鴿群優(yōu)化算法中地圖羅盤算子引入麻雀搜索算法中的探索者位置更新過程。
在探索者位置更新過程中增加全局引導項來提高算法的全局空間探測能力。種群中的麻雀個體主要由處于全局最優(yōu)位置的麻雀引導,它引導整個種群去尋找最優(yōu)食物源,因此種群中的麻雀個體可以在不受任何干擾的情況下移動到全局最優(yōu)位置,加快了收斂至當前全局最優(yōu)位置的速度[18]。
改進后的探索者的位置更新公式為:
式中,R為地圖羅盤算子,介于0到1之間;ω為慣性權重;t為當前迭代次數(shù);Xbd是地圖羅盤在第d維指示的位置,即當前全局最優(yōu)位置,它引導著所有麻雀向著最優(yōu)解靠攏,使算法全局探索能力增強。
2.2.2 自適應慣性權重
慣性權重對麻雀搜索算法性能影響巨大,在[0,1]范圍內,慣性權重愈大,則全局探索能力愈強,種群的多樣性愈豐富;慣性權重愈小,則算法的局部開采能力愈強,收斂速度愈快[19]。因此本文提出了一種非線性慣性權重公式如下:
當α=0.7,β=0.3 時,ω的值在[0,1]之間隨著迭代次數(shù)的增加呈現(xiàn)非線性遞減趨勢。如圖3所示,迭代前期,ω的衰減速度隨著迭代次數(shù)的增加由快變慢,有利于全局搜索,以較快的速度向全局最優(yōu)或較優(yōu)的位置靠攏;迭代中后期,慣性權重的衰減速度緩慢下降,利于更精細地進行局部開采,提升算法的整體尋優(yōu)能力,并且在一定程度上加快收斂速度,提高最優(yōu)解的質量。隨著慣性權重不斷變化,全局探索階段的麻雀個體可以更好尋得全局最優(yōu)解或較優(yōu)解的大概位置,因而該算法可以在局部精細搜索過程中更快、更容易地找到最優(yōu)值。因此,加入非線性慣性權重有效增強了種群多樣性,提高了算法的求解精度,平衡了算法在全局探索和局部開發(fā)時期的能力。
圖3 慣性權重迭代過程Fig.3 Iterative process of inertia weight
在基本麻雀搜索算法中,麻雀的學習是盲目的,跟隨者每次只選擇一個比自身覓食位置好的探索者樣本進行學習,但無法判斷此次學習是否有利于找到最好的覓食區(qū)域,這種盲目的學習方法有益于算法對優(yōu)化空間的探索,但也會使得種群的一部分重要位置信息丟失,導致算法開發(fā)能力弱、收斂速度慢以及易陷入局部最優(yōu)。
為了解決這些問題,本文引入雙樣本學習[20]策略,改進SSA中跟隨者的位置更新公式。如圖4所示,解空間中有兩個局部最優(yōu)位置和一個全局最優(yōu)位置,麻雀m和n已經陷入局部最優(yōu)所處的區(qū)域,那么麻雀i無論是向m學習還是向n學習都會陷入局部最優(yōu)解。
圖4 雙樣本學習圖Fig.4 Graph of double-sample learning
為了讓i能探索到全局最優(yōu)所處的區(qū)域k,令i同時向m和n學習,跟隨者以兩個探索者的混合信息為指引,這樣便有更大的概率探索到當前優(yōu)化空間未搜索到的食物源區(qū)域,使算法跳出局部最優(yōu),進一步提高種群對優(yōu)化空間的堪探能力。改進后的跟隨者位置更新公式如下所示:
基于前文所述的改進策略,本文改進麻雀搜索算法的具體流程如圖5所示。
圖5 改進麻雀搜索算法的流程圖Fig.5 Flow chart of improved sparrow search algorithm
本文所提的多策略混合的改進麻雀搜索算法步驟如下:
步驟1 設置種群規(guī)模N,探索者比例PD,警戒者比例SD,定義迭代次數(shù)T,空間維度D,并根據(jù)式(4)和式(5)初始化種群位置。
步驟2 計算麻雀適應度值和平均適應度值并進行排序。
步驟3 以所有麻雀的平均適應度值作為界限,適應度值大于平均適應度值的麻雀劃分為探索者,依據(jù)式(6)和(7)更新探索者位置。
步驟4 適應度值不大于平均適應度值的麻雀劃分為跟隨者,依據(jù)式(8)更新跟隨者位置。
步驟5 根據(jù)式(3)更新警戒者的位置。
步驟6 更新整個種群所經歷的最優(yōu)位置Xb和其適應度值fg,以及最差位置XW和其適應度值fw。
步驟7 是否符合停止條件,符合則退出,輸出結果,否則繼續(xù)執(zhí)行步驟2~步驟7。
為了實驗結果的公平性,所有測試均在同一環(huán)境下進行。實驗環(huán)境為Windows10,64 位操作系統(tǒng),處理器為AMD Ryzen 5 4600U with Radeon Graphics 2.10 GHz,RAM為16.0 GB,編程軟件為MATLAB R2018b。
為了驗證算法的優(yōu)越性和可行性,本文采用SSA、GA、GSO、文獻[21]改進的粒子群算法SCDLPSO(particle swarm optimization with self-correcting and dimension by dimension learning capabilities)、文獻[22]改進的灰狼優(yōu)化算法COGWO(grey wolf optimization based on cubic mapping and opposition-based learning)和文獻[23]改進的磷蝦群算法NLKH(krill herd with nearest neighbor lasso operator)共六種算法,在選取的12 個測試函數(shù)[24]下與本文所提出的IMSSA進行綜合性對比。測試函數(shù)具體信息如表1所示。本文定義的種群規(guī)模N=200,迭代次數(shù)T=100,空間維度D=30,其余各參數(shù)設置如表2所示。
表1 測試函數(shù)Table 1 Test functions
表2 各算法參數(shù)設置Table 2 Parameter setting of each algorithm
為驗證IMSSA 尋優(yōu)結果的準確性和穩(wěn)定性,選取各測試函數(shù)獨立運行50次的實驗結果作為依據(jù)。針對12個測試函數(shù),將各算法的最優(yōu)值、最差值、平均值等作為最終評價指標,如表3所示。
由表3 中IMSSA 與其他六種算法的實驗結果比較可以看出,IMSSA 雖在f2、f8下未達到理論最優(yōu)值,但相比于SSA、SCDLPSO、GA、GSO、COGWO、NLKH 的求解精度仍有明顯提高,并且非常接近理論最優(yōu)解。IMSSA在其余10個測試函數(shù)下均取得理論最優(yōu)值0,體現(xiàn)出了IMSSA 極強的尋優(yōu)能力,說明本文采用的改進策略是可行有效的。在運行時間方面,IMSSA 運行時間最短,說明改進策略的引進沒有提升SSA算法的時間復雜度,反而降低了執(zhí)行時間。從各項指標均可看出,IMSSA 的值更小,表明了IMSSA 的魯棒性和求解精度明顯優(yōu)于其余六種算法。
表3 (續(xù))
表3 測試函數(shù)結果比較Table 3 Comparison of test function results
為了更直觀地顯示算法的收斂速度和尋優(yōu)精度,并展示算法跳出局部空間的能力,本文依據(jù)迭代次數(shù)和適應度值得出了12 個測試函數(shù)的收斂曲線圖。如圖6 所示,IMSSA 在前期收斂速度相較于其他算法有著很大的提升,局部開發(fā)能力遠高于其他算法,能夠迅速地進行搜索空間的尋優(yōu)遍歷,從而大大縮短算法前期的探索周期,同時算法兼顧尋優(yōu)精度,可以更加接近理想最優(yōu)解。因為縱坐標是對數(shù),而最小值0 沒有對數(shù),所以迭代后期沒有出現(xiàn)相應的曲線。對于單峰函數(shù)f1、f3~f7,對比其他算法可以看出IMSSA的收斂速度最快且收斂精度最高,穩(wěn)定性最強。對于單峰函數(shù)f2,雖然沒有找到理論最優(yōu)解,但IMSSA 的各項性能明顯最優(yōu)。對于多峰函數(shù)f9~f11,仍可以看出IMSSA具有較強的尋優(yōu)能力,且抗停滯能力非常強,隨著迭代次數(shù)的增加,其他算法逐漸趨于平緩,表明陷入不同程度的局部最優(yōu),且收斂精度較低,而IMSSA和SSA曲線仍呈下降趨勢,尤其是IMSSA 下降速度最快,穩(wěn)定性最好。對于多峰函數(shù)f8和f12,雖然IMSSA 與SSA 的收斂精度相同,但可以看出IMSSA的收斂速度明顯優(yōu)于SSA且不易陷入局部最優(yōu)范圍。綜上所述,本文提出的IMSSA 不論是在單峰還是多峰測試函數(shù)上,都有較強的尋優(yōu)性能和抗停滯能力,整體性能優(yōu)于SSA和其他對比算法。
圖6 測試函數(shù)收斂曲線圖Fig.6 Convergence curves of test functions
為了進一步體現(xiàn)本文提出的IMSSA 的優(yōu)越性,選取了兩個具有代表性的測試函數(shù)與呂鑫等[10]提出的混沌麻雀搜索算法(chaos sparrow search algorithm,CSSA)和張偉康等[12]提出的混合策略改進的麻雀搜索算法(mixed strategy to improved sparrow search algorithm,MSSSA)在同一條件下(以文獻[12]中的條件為基準)得出的平均值與標準差進行了比較,實驗結果如表4所示。
表4 IMSSA與CSSA、MSSSA算法性能比較Table 4 Performance comparison of IMSSA,CSSA and MSSSA algorithms
由表4 可知,對于單峰測試函數(shù),IMSSA 的尋優(yōu)性能和穩(wěn)定性明顯高于CSSA和MSSSA;相對于多峰測試函數(shù),IMSSA 的優(yōu)化效果與CSSA 和MSSSA 相當。總體而言,IMSSA 無論是在搜索精度還是穩(wěn)定性方面均優(yōu)于其他兩種改進的麻雀搜索算法。
因為IMSSA是在SSA的基礎上使用三種策略改進才使其尋優(yōu)能力變好,但是否會有策略不起作用還尚不知曉,所以需要進行驗證。為比較不同改進策略對算法性能的影響,將SSA、IMSSA、僅采用Sine混沌映射改進的SSA算法(SSA-1)、僅采用帶有慣性權重的多樣性全局引導策略改進的SSA 算法(SSA-2)和僅采用雙樣本學習策略改進的SSA算法(SSA-3)在6個基準測試函數(shù)上做對比實驗,實驗結果如表5所示。
由表5可知,SSA-1、SSA-2、SSA-3和IMSSA在f6、f9~f11這4 個函數(shù)中的4 個評價指標均為0,說明4 個算法尋到理論最優(yōu)值不是偶然性,而是算法的尋優(yōu)能力強,穩(wěn)定性好,說明本文采用的改進策略均提升了算法跳出局部最優(yōu)的能力;在函數(shù)f2上,SSA-1、SSA-2、SSA-3 和IMSSA 雖然沒有尋到最優(yōu),但與基本SSA 算法相比,尋優(yōu)精度得到明顯改善,且尋優(yōu)能力和算法的穩(wěn)定性都比SSA 強。IMSSA 比僅用單一策略改進的SSA算法在4個評價指標的求解上效果更好,說明在不同策略的共同影響下,算法的尋優(yōu)能力和算法的穩(wěn)定性得到最大程度的提升。在函數(shù)f8上,五種算法均未尋得最優(yōu)解,但尋優(yōu)性能相當。在運行時間方面,五種算法中IMSSA所耗時長相對較短。但會出現(xiàn)單一策略改進的SSA 耗時更短,由于在IMSSA 中加入改進策略之后,算法搜索區(qū)域更廣,找到的解更多,導致算法的尋優(yōu)時間變長,但均在合理范圍之內。
表5 不同改進策略實驗測試結果Table 5 Experimental results of different improvement strategies
部分測試函數(shù)中每個策略都具有較強的尋優(yōu)能力,無法清楚地反映出每個策略發(fā)揮的作用,因此需要由圖7進一步地解釋分析。
如圖7所示,SSA-1、SSA-2、SSA-3比基本SSA算法的收斂速度快,而SSA-1、SSA-2、SSA-3 三者結合使IMSSA算法的整體收斂速度得到了有效的提升。在f2和f8測試函數(shù)中,IMSSA雖未達到理論最優(yōu)值,但相較于其他四種對比算法,IMSSA 的尋優(yōu)精度和收斂速度明顯更優(yōu)。在f6、f9~f11這4個測試函數(shù)中,五種算法的尋優(yōu)能力都很強,但還是可以看出在迭代次數(shù)一樣的條件下,IMSSA具有更高的收斂精度,在收斂精度一樣的條件下,IMSSA具有更快的收斂速度。在6個測試函數(shù)中,三種單一策略改進的SSA在收斂速度和尋優(yōu)精度方面較基本SSA 有略微提升,但是次于混合策略改進的IMSSA,說明每個策略都充分發(fā)揮了自己最大的作用,并且每個策略都是有效的。SSA-1 算法引入Sine 混沌映射保證了種群多樣性,使搜索空間分布均勻;SSA-2算法引入帶有慣性權重的多樣性全局最優(yōu)引導策略后,麻雀種群在最優(yōu)個體和地圖羅盤算子的引導下能夠迅速聚集到最優(yōu)食物源處;SSA-3算法引入雙樣本學習策略后,使算法跳出局部最優(yōu)能力增強,進一步驗證了本文采用三種策略混合改進算法的可行性。
圖7 部分測試函數(shù)收斂曲線圖Fig.7 Convergence curves of partial test functions
為了更加全面地檢驗算法性能,本文引入Wilcoxon秩和檢驗[25]對文中50次獨立運算下的IMSSA算法與其他六種算法的最佳結果進行顯著性檢驗,檢驗是否存在顯著性差異,判斷可靠性。原假設H0為:兩種算法數(shù)據(jù)不存在顯著差別;備選假設H1為:兩種算法數(shù)據(jù)總體的差別顯著。利用檢驗結果p值來比較兩種算法是否存在差異,當p <0.05 時,拒絕H0假設接受備選假設H1,說明兩種算法之間存在顯著差別;當p >0.05 時,接受H0假設,說明兩種算法尋優(yōu)性能相當。
由于IMSSA不能與自身進行比較,將IMSSA與SSA、SCDLPSO、GA、GSO、COGWO、NLKH 進行比較,其中N/A表示相應算法在秩和檢驗中性能相當,“+/=/-”表示IMSSA 的性能優(yōu)于、相當于和劣于所對比的算法。通過分析表6中的結果可以發(fā)現(xiàn),在IMSSA與SSA對比的f5、f8~f10函數(shù)中,IMSSA 的性能與SSA 相當,這是因為SSA本身尋優(yōu)性能較好,IMSSA與SSA皆能尋得最優(yōu)解,只是IMSSA尋優(yōu)性能提升不明顯,不過勝在收斂速度較快,穩(wěn)定性好。在測試函數(shù)f5中,IMSSA與COGWO的顯著差異性不明顯,優(yōu)化性能相當。其余的p值基本都小于0.05,表明該算法的性能在統(tǒng)計上是顯著的,從而表明IMSSA比其他算法擁有更好的優(yōu)越性。
表6 Wilcoxon符號秩和檢驗結果Table 6 Wilcoxon signed rank sum test results
設N為種群規(guī)模,D為空間維度,itermax為最大迭代次數(shù),種群參數(shù)初始化時間為t0,每一維生成隨機數(shù)的時間為t1,求解適應度值的時間為f(D),將所有麻雀個體的適應度值進行排序的時間為t2,則基本SSA整體進行初始化的時間復雜度為:
在探索者階段,麻雀種群中探索者的數(shù)量為r1N,r1為探索者比例,探索者適應度值計算時間為f( )
D,根
據(jù)式(1)更新探索者位置的時間為t3,兩個隨機參數(shù)Q和α產生的時間均為t4,則該階段時間復雜度為:
在跟隨者階段,麻雀種群中跟隨者數(shù)量為(1-r1)N,計算跟隨者適應度值的時間為f(D),由式(2)更新跟隨者位置的時間為t5,一個隨機參數(shù)Q產生的時間記作t6,則該階段時間復雜度為:
在警戒者階段,麻雀種群中警戒者的數(shù)量為r2N,r2為警戒者比例,每一維按式(3)進行位置更新的時間為t7,兩個隨機參數(shù)β和K產生的時間均為t8,則該階段時間復雜度為:
綜上,基本SSA算法的時間復雜度為:
在改進算法(IMSSA)中,種群參數(shù)初始化時間為η0,根據(jù)式(4)和式(5)進行初始化種群位置的時間為η1,每一維生成隨機數(shù)的時間為η2,求解適應度值的時間為f(D),將所有麻雀個體的適應度值進行排序的時間為η3,則IMSSA整體進行初始化的時間復雜度為:
在改進后探索者階段,麻雀種群中探索者的數(shù)量為r1N,根據(jù)式(6)產生慣性權重的時間為η4,探索者適應度值計算時間為f(D) ,每一維根據(jù)式(7)更新位置的時間為η5,兩個隨機參數(shù)α和Q產生的時間均為η6,地圖羅盤算子產生的時間為η7,則該階段時間復雜度為:
在改進后跟隨者階段,麻雀種群中跟隨者的數(shù)量為(1-r1)N,探索者適應度值計算時間為f(D),每一維根據(jù)式(8)更新位置的時間為η8,一個隨機數(shù)Q產生的時間為η9,則該階段時間復雜度為:
綜上,IMSSA的時間復雜度為:
可見,IMSSA與SSA的總體時間復雜度相同,說明本文提出的改進策略不會增加SSA的時間復雜度。
支持向量機(support vector machines,SVM)中懲罰參數(shù)和核函數(shù)參數(shù)的取值對SVM的分類準確率有重要影響[26]。因此,利用SSA、IMSSA、SCDLPSO、COGWO和NLKH 這五種性能較好的算法優(yōu)化懲罰因子和核函數(shù)參數(shù),并建立相應的SVM 軸承故障診斷模型對樣本進行分類。通過分類結果的準確程度反映改進算法在實際應用中的效果。本文采用美國凱斯西儲大學滾動軸承數(shù)據(jù)中心提供的型號為SKF6205-2RS 的深溝球軸承驅動端數(shù)據(jù)進行仿真實驗[27]。滾動軸承四種運行狀態(tài)類型的標簽和240個樣本劃分如表7所示。
表7 實驗數(shù)據(jù)說明Table 7 Experimental data description
由分類結果圖8~圖12可以看出,SCDLPSO-SVM、NLKH-SVM、COGWO-SVM、SSA-SVM和IMSSA-SVM模型的軸承故障分類準確度依次為86.667%,90.000%,93.333%,95.000%,98.333%。相較于4 個對比模型,IMSSA-SVM 模型對于軸承故障診斷的準確率更高,更具優(yōu)越性。
圖8 SCDLPSO-SVM分類結果Fig.8 Classification results of SCDLPSO-SVM
圖12 IMSSA-SVM分類結果Fig.12 Classification results of IMSSA-SVM
圖9 NLKH-SVM分類結果Fig.9 Classification results of NLKH-SVM
圖10 COGWO-SVM分類結果Fig.10 Classification results of COGWO-SVM
圖11 SSA-SVM分類結果Fig.11 Classification results of SSA-SVM
本文提出了一種多策略混合的改進麻雀搜索算法(IMSSA)。首先,采用Sine混沌映射初始化麻雀個體位置,豐富種群多樣性,解決種群分布不均勻、搜索空間不足等問題;其次,在探索者階段引入帶有慣性權重的多樣性全局最優(yōu)引導策略來引領種群尋找最好的食物源,平衡算法的全局探索與局部開發(fā)能力,加快收斂速度;最后,在跟隨者階段采用雙樣本學習策略使算法跳出局部最優(yōu),進一步提高麻雀種群的搜索能力。通過12 個測試函數(shù)進行仿真實驗,同時選取了兩個最新改進的麻雀搜索算法進行尋優(yōu)對比,結果證明IMSSA 算法與其他算法相比各項性能均有明顯提高。再通過各策略對比實驗、Wilcoxon 秩和檢驗和時間復雜度分析,進一步證明了本文采用的改進策略是有效可行的。最后,驗證了經IMSSA 優(yōu)化后的SVM 軸承故障診斷模型在實際應用中的效果,實驗表明IMSSA-SVM模型的準確率高達98.333%,具有一定的應用價值和優(yōu)勢。