趙志彪, 李 瑞, 劉 彬, 周武洲
(1. 天津職業(yè)技術師范大學自動化與電氣工程學院,天津300222;2. 燕山大學電氣工程學院,河北秦皇島066004)
粒子群算法是優(yōu)化領域一種典型的群體智能尋優(yōu)算法,受到達爾文進化論和自然現(xiàn)象的啟發(fā),模仿鳥群的群體行為對目標進行優(yōu)化搜索,理論結構簡單且參數(shù)較少,具有魯棒性強、搜索效率高的特點,已經(jīng)廣泛應用于工程實踐和函數(shù)優(yōu)化等領域[1~7]。但是傳統(tǒng)的粒子群算法存在易陷入局部最優(yōu)、求解精度不高等缺陷。因此,近年來不少學者對粒子群算法進行了大量研究。
針對單種群粒子群算法,趙鵬程等提出了一種帶隨機擾動的混沌粒子群算法,算法采用混沌映射保持種群的多樣性,當粒子出現(xiàn)“聚集”現(xiàn)象時加入隨機擾動策略,在求解高維復雜優(yōu)化問題時取得了較好的求解精度[8,9];Liang等提出了采用分維度綜合學習策略的粒子群算法,算法在維持種群多樣性的同時未增加計算復雜度,具有較好的全局搜索能力[10];陶新民等提出了改進的粒子群與K均值算法混合的聚類算法,通過兩種算法的有機結合,有效實現(xiàn)了算法全局搜索能力及收斂速度的平衡[11]。
目前的這些單種群算法雖然一定程度上提高了粒子群算法的性能,但算法執(zhí)行單一種群的操作模式,每個粒子都趨向于同一種群的“社會部分”,導致解的多樣性較低,種群中的粒子聚集到一起很難擺脫局部最優(yōu)狀態(tài),并不能彌補算法的缺陷[12]。因此,多種群的構建逐漸成為提升算法尋優(yōu)效率的研究熱點。Liang等提出了一種動態(tài)的多種群粒子群算法,將整個種群劃分為若干個小種群,并周期性地隨機重組小種群,在多峰問題上表現(xiàn)出良好的搜索能力[12];劉衍民等提出了一種基于K-均值聚類的多種群粒子群算法,根據(jù)聚類中心對小種群進行動態(tài)劃分,提高了種群的多樣性[13];高云龍等提出了一種基于多種群粒子群算法和布谷鳥搜索的聯(lián)合尋優(yōu)算法,算法采用中位數(shù)聚類將整個種群動態(tài)劃分為若干個小種群,并將每個小種群的最優(yōu)粒子作為高層種群的粒子進行深度優(yōu)化,提高了算法的全局搜索能力[14]; Bergh F V D等提出了一種利用多個子種群分別優(yōu)化解向量各維度的多種群粒子群算法,避免了“two steps forward,one step back”的現(xiàn)象[15];Niu B等提出了一種基于互利共生和共棲思想的主從式結構的多群體協(xié)同進化粒子群算法,該結構有效地保證了算法開發(fā)與探測能力的平衡[16]。上述算法的多種群策略都是基于粒子之間的位置信息共享,并沒有考慮粒子的速度信息。 Zhang J等提出了一種自適應多種群協(xié)同粒子群算法,子種群間通過分享速度和位置信息實現(xiàn)算法的全局搜索,具有較好的求解高維優(yōu)化問題的能力[17]。
受上述多種群粒子群算法的啟發(fā),本文提出了一種基于速度交流的共生多種群粒子群算法(symbiosis multi-population particle swarm optimization algorithm based on velocity communication,SMPSO)。SMPSO算法中,構建具有共生關系的主從群結構,在提升算法解集多樣性的同時平衡局部與全局搜索能力。根據(jù)從種群間的速度信息交流機制進行子種群的劃分,即以固定種群動態(tài)交流速度信息的方式對子種群進行規(guī)劃,有效實現(xiàn)子種群搜索領域的分割,從而增強算法的探索與開發(fā)能力。當算法陷入局部最優(yōu)時,引入自適應變異策略對主種群個體進行變異,提升SMPSO算法跳出局部最優(yōu)的能力。在仿真實驗中,對不同函數(shù)尋優(yōu)測試,均顯示出該算法優(yōu)良的搜索能力和尋優(yōu)性能。
傳統(tǒng)粒子群算法采用單一種群的模式,在處理復雜的優(yōu)化問題時,具有易陷入局部最優(yōu)、求解精度不高的缺點;而多種群粒子群算法的運行效率和求解精度往往優(yōu)于單種群粒子群算法[18]。因此,本文構建了基于速度交流的共生多種群粒子群算法(SMPSO),算法的優(yōu)化框架如圖1所示。
圖1 算法優(yōu)化框架Fig.1 Algorithm optimization framework
本文將SMPSO分割為主種群和從種群兩部分。其中,從種群采用速度交流機制,被劃分為4個子種群p1,p2,p3,p4,負責在解空間中全局廣度搜索,主種群根據(jù)自適應變異策略負責在解空間中局部精度搜索。搜索過程中,從種群將獲得的最優(yōu)信息Plocal-best分享給主種群,而主種群根據(jù)共生群體(從種群)的經(jīng)驗以及自身經(jīng)驗獲得整個種群的最優(yōu)狀態(tài)Pglobal-best再反饋給從種群,從而建立主從群間的共生結構。這種結構能夠實現(xiàn)主從種群間的互利共生,在一定程度上避免了個體信息誤判造成的陷入局部最優(yōu)的危險。
從種群中4個子種群p1,p2,p3,p4速度交流機制的思想是:一次迭代過程中,采用不同慣性權值與學習因子參數(shù)組合的子種群p1和p2作為基本子種群,將速度信息分享給子種群p3,從而影響子種群p3的搜索行為;子種群p1,p2,p3再將速度信息分享給子種群p4,用于影響子種群p4的搜索行為。該操作使4個子種群粒子的搜索性能具有差異性,使解空間被劃為4個子種群對應獨立的子空間,實現(xiàn)優(yōu)化問題搜索領域的有效規(guī)劃,既滿足子種群間的自由競爭,又可以實現(xiàn)子種群間的信息交流。本節(jié)將詳細描述從種群中4個子種群p1,p2,p3,p4的更新方式。
(1)
(2)
為了產(chǎn)生不同于p1,p2的粒子搜索軌跡,子種群p3的速度受子種群p1,p2的引導,通過對子種群p1,p2速度信息的記憶,自適應更新其速度,子種群p3的粒子速度迭代如式(3)所示。
(3)
式中:w3表示子種群p3的慣性權重;c31表示子種群p3的自我學習因子;c32表示子種群p3的社會學習因子;s1,s2為子種群p3的影響因子。
利用式(4)和式(5)對s1和s2進行計算。
s1=(V1+V2)/V1
(4)
s2=(V1+V2)/V2
(5)
式中:V1為子種群p1的個體適應度值(本文為目標函數(shù)值);V2為子種群p2的個體適應度值。
s1、s2決定子種群p1、p2對子種群p3的影響程度。sG(G=1,2)越大,子種群pG(G=1,2)對子種群p3的影響程度越大。
綜上,子種群p1,p2,p3在解空間中占有不同的搜索領域。為了使解空間得到更全面的探索,本文建立了相異于子種群p1,p2,p3搜索方向的子種群p4。子種群p4用于搜索被子種群p1,p2,p3忽略的解空間,從而使從種群的全局搜索性能更完善。子種群p4的速度受其它3個子種群的引導,通過對子種群p1,p2,p3速度信息的記憶,自適應更新其自身的速度。子種群p4的更新如式(6)所示。
(6)
在速度迭代更新的基礎上,子種群p1、p2、p3對位置進行相應的更新,子種群p1、p2、p3的粒子位置更新如式(7)所示。
(7)
子種群p4的速度接收子種群p1,p2,p3的速度信息,決定其粒子移動的方向和距離,而全局最優(yōu)狀態(tài)Pglobal-best可以引導種群尋找最優(yōu)解。因此為了增強子種群p4的搜索能力,利用式(8)對p4粒子位置迭代更新。
(8)
式中:α1,α2,α3為影響因子。
α1,α2,α3分別決定式(8)各元素對子種群p4搜索能力的影響程度,且滿足α1+α2+α3=1。αr(r=1,2,3)越大,對子種群p4的影響程度越大,分別設定α1,α2,α3為1/6,1/3,1/2[17]。
從種群每次完成迭代,利用式(9)對子種群p1,p2,p3,p4的最優(yōu)位置Plocal-best-G(G=1,2,3,4)進行篩選,從PLocal-best-G(G=1,2,3,4)中選擇最優(yōu)位置狀態(tài)Plocal-best,將Plocal-best分享給主種群。
Plocal-best=min{Plocal-best-G,G=1,2,3,4}
(9)
主種群綜合自身最好經(jīng)驗和從種群最好經(jīng)驗Plocal-best,進行狀態(tài)的更新,獲得整個種群的最優(yōu)狀態(tài)Pglobal-best,并將Pglobal-best再次反饋給從種群,作為從種群的社會部分,從而實現(xiàn)主種群與從種群的互利共生。
主種群的粒子個數(shù)為M,第i個粒子的位置表示為[xi1,xi2,xi3,…xiD],第i個粒子的速度表示為[vi1,vi2,vi3,…viD],利用式(10)對主種群的粒子速度迭代更新。
vij(t+1)=wvij(t)+c1r1(Pij(t)-xij(t))+
λ1c2r2(Pglobal-best(t)-xij(t))+
λ2c3r3(Plocal-best(t)-xij(t))
(10)
式中:w為主種群的慣性權值;c1為主種群的自我學習因子;c2、c3為主種群社會學習因子;r1、r2、r3為[0,1]間的隨機數(shù);λ1,λ2為主種群的影響因子。
λ1,λ2分別決定Pglobal-best,Plocal-best對主種群搜索行為的影響程度,且滿足λ1+λ2=1。λ1,λ2根據(jù)式(11)和式(12)進行計算。
λ1=1-VG/(VG+VL)
(11)
λ2=1-VL/(VG+VL)
(12)
式中:VG為Pglobal-best對應的個體適應度值;VL為Plocal-best對應的個體適應度值。
公式(13)為主種群的粒子位置更新公式:
xij(t+1)=xij(t)+vij(t+1)
(13)
通過分析上述算法運行結構可知,從種群采用速度交流機制被劃分為4個子種群p1,p2,p3,p4。子種群p1,p2作為從種群的基本子種群,分別傳遞速度信息給子種群p3和p4。不僅實現(xiàn)子種群粒子速度的自適應更新與子區(qū)域的合理規(guī)劃,提高從種群的全局探索與開發(fā)能力;而且將全局搜索的最優(yōu)狀態(tài)Plocal-best發(fā)送給主種群,協(xié)助主種群有效的進行局部搜索。主種群綜合從種群的全局最優(yōu)位置進行局部深度尋優(yōu),獲得整個種群的最優(yōu)位置Pglobal-best反饋給從種群,引導4個子種群向全局最優(yōu)解逼近,從而建立了具有共生關系的主從群結構。多種群策略提升了算法解集多樣性,主從群結構充分利用了粒子群算法的局部搜索能力,實現(xiàn)各種群間的速度與位置信息共享。因此,本文所建立的主從群共生關系為算法的優(yōu)化提供了優(yōu)良的搜索環(huán)境。
在進化策略中引入柯西分布的變異算子可以降低算法陷入局部最優(yōu)的機會[19]。為了進一步提高算法的搜索能力,本文將柯西變異算子引入主種群算法中,從而提高算法跳出局部最優(yōu)的能力。
在算法的初始階段,主要運行多種群的算法結構。當算法連續(xù)2次迭代找到的最優(yōu)值在0.01%內(nèi)變化,則認為算法本次迭代陷入局部最優(yōu)。此時根據(jù)適應度值對主種群的粒子從小到大進行排序,引入柯西變異算子對主種群排名在后50%的粒子進行變異,從而引導算法跳出局部最優(yōu)。自適應變異策略的規(guī)則為:
xij-new=xij+Δxij·φ·rand
(14)
(15)
式中:φ為尺度壓縮因子,取值范圍為[0,0.1];Δxij為變量的柯西算子變異增量;rand表示(0,1)范圍內(nèi)的隨機數(shù)。
經(jīng)過自適應變異的新個體將取代舊個體,繼續(xù)進行算法迭代。
粒子群算法的慣性權值和學習因子的選取對算法的優(yōu)化性能有很大的影響,不同的參數(shù)組合下,粒子的軌跡形式是不同的,參數(shù)組合決定了粒子搜索能力的大小[20]。綜合考慮各種群的搜索性能和影響因素,本文對主從群分別選取了合適的慣性權值與學習因子的參數(shù)組合,提高種群多樣性的同時增強算法的搜索能力。
子種群p1的慣性權值w1=0.4,學習因子c11=2,c12=2; 子種群p2的慣性權值w2=0.75,學習因子如式(16)和式(17)所示[20]。
(16)
(17)
子種群p3的搜索性能受子種群p1,p2的綜合影響。考慮到子種群p1,p2的動態(tài)迭代效應,子種群p3的慣性權值與學習因子采用固定數(shù)值的設置方法,具體設定通過下文實驗獲得,此處不再贅述。子種群p4沒有相應的慣性權值和學習因子參數(shù),搜索行為受到子種群p1,p2,p3的綜合影響。
主種群在整個算法結構中具有深度局部優(yōu)化作用。綜合考慮主種群對算法搜索性能的影響,慣性權值w采用雙指數(shù)函數(shù)的設置形式[21],如式(18)。
w=exp(-exp(-(T-t)/T))
(18)
雙指數(shù)函數(shù)是一個單調遞減的非線性函數(shù),因此慣性權值w隨著迭代次數(shù)t增加而減??;從而在算法迭代初期,主種群具有較大的迭代步長,加快其搜索速度。隨著算法逐漸逼近最優(yōu)解,主種群的慣性權值不斷衰減,主種群粒子的步長也不斷減小,使主種群在最優(yōu)解附近進行有效的小范圍搜索。通過下文實驗對主種群的學習因子進行取值分析。
在粒子群算法中,速度和社會影響因素在算法中的作用是舉足輕重的。在一次飛行中,種群根據(jù)當前種群最優(yōu)點不一定找到最優(yōu)的搜索領域,因此每個種群應該更多的關注其它群體中的個體與社會信息。本文的策略是粒子在飛行過程中綜合其它種群中的粒子速度和位置最優(yōu)信息進行尋優(yōu),建立具有共生關系的主從群結構;采用速度交流機制對從種群進行劃分與聯(lián)系,從全局與局部著手,建立了新穎的多種群粒子群算法;采用自適應變異策略與合適的參數(shù)組合進一步提升算法的搜索特性。SMPSO算法的流程如圖2所示。
通過上述的算法分析與流程圖的建立,所提出的改進算法的步驟總結如下:
Step1:設置算法參數(shù):種群規(guī)模M,最大函數(shù)迭代次數(shù)T,學習因子c1和c2等;
Step2:初始化各種群的速度和位置;
Step3:利用式(1)~式(8)對從種群迭代更新,計算各子種群中粒子的適應度值,得到各子種群局部最優(yōu)位置Plocal-best-G(G=1,2,3,4),從中選擇最優(yōu)的位置Plocal-best;
Step4: 將從種群得到的Plocal-best發(fā)送給主種群,主群綜合自身最好經(jīng)驗和從種群最好經(jīng)驗,利用式(10)~式(13)進行迭代更新,得到Pglobal-best;
Step5: 判斷算法是否滿足結束條件(最大迭代次數(shù)T),如果滿足,跳轉到Step9,如果不滿足,執(zhí)行Step6;
Step6: 根據(jù)Pglobal-best的更新情況,判斷算法是否陷入局部最優(yōu),如果算法陷入局部最優(yōu),執(zhí)行Step7,否則執(zhí)行Step8;
Step7: 利用式(14)和式(15)對主種群排在后50%的個體變異,并執(zhí)行Step8;
Step8: 將主群的Pglobal-best發(fā)送給從種群,接著跳到Step3;
Step9: 輸出Pglobal-best,即優(yōu)化問題的解向量。
為了驗證SMPSO算法的尋優(yōu)性能和求解效率,本文選取5個基準測試函數(shù)進行SMPSO算法的性能測試,分別為: Sphere, Ackley, Griewank, Rastrigin, Schwefel。各測試函數(shù)具體屬性如表1所示。
圖2 SMPSO算法流程圖Fig.2 SMPSO algorithm flowchart
表1 基準測試函數(shù)Tab.1 Benchmark function
本文進行了3組測試實驗:(a)子種群p3的參數(shù)w3、c31和c32的取值分析;(b)主種群參數(shù)c1、c2和c3的取值分析;(c)與其它改進PSO算法的性能對比。為驗證本文算法在不同的變量維度下的適用性,分別在10和30維的變量維數(shù)下進行(a), (b)和(c)的實驗。為了避免算法運行的隨機性,以上所有實驗均獨立運行30次,最大函數(shù)迭代次數(shù)T均為1 000,粒子個數(shù)統(tǒng)一設置為50。算法的評價指標為迭代得到的最優(yōu)解與真實的全局最優(yōu)解的適應度值之差,稱為求解精度(AC),其計算方法如式(19)所示。
AC=|f(Pglobal-best)-f(xopt)|
(19)
式中:Pglobal-best表示算法迭代得到的最優(yōu)解;xopt表示真實的全局最優(yōu)解;f表示目標函數(shù)。
由于在子種群p3中引入了3個需要預先設定的參數(shù),即參數(shù)組合w3、c31和c32; 因此需要對3個參數(shù)進行取值分析。設置子種群p3的自我學習因子c31=2,社會學因子c32=2[22,23],并對慣性權值w3選取了7個不同數(shù)值。
表2給出了在w3取值不同的情況下,算法對10維和30維的5個函數(shù)的30次測試的最優(yōu)結果,其中每個函數(shù)最好的結果用黑體字標出。
表2 子種群p3中w3取值不同的優(yōu)化結果Tab.2 Optimization result along with difference of w3 in subpopulation p3
從優(yōu)化結果來看,對于10維和30維的Griewank,Ackley,Schwefel函數(shù),在w3=0.5時SMPSO算法的最優(yōu)結果均優(yōu)于其它情況,表明w3=0.5為子種群p3慣性權值的最佳選擇。在實際應用中,建議w3在[0,1]取值。本文的實驗中,w3取0.5。
在主種群中引入了3個需要預先設定的參數(shù),即參數(shù)學習因子c1,c2和c3,因此需要對3個參數(shù)進行取值分析。設置主種群的自我學習因子c1=2,社會學因子c2=2[22,23],對學習因子c3選取了10個不同的數(shù)值。
表3給出了在c3不同的情況下,算法對10維和30維的5個函數(shù)的30次測試的最優(yōu)結果,其中每個函數(shù)最好的結果用黑體字標出。
表3 主種群c3取值不同的優(yōu)化結果Tab.3 Optimization result along with difference of c3 in master population
從優(yōu)化結果來看,對10維的基準測試函數(shù),除Sphere函數(shù)外,在c3=1.4時SMPSO算法的最優(yōu)結果均優(yōu)于其它情況;對30維的Sphere,Rastrigin,Schwefel函數(shù),在c3=1.4時SMPSO算法的最優(yōu)結果均優(yōu)于其它情況。上述實驗結果表明c3=1.4為主種群學習因子c3的最佳選擇。在實際應用中,建議c3可在[1,2]取值。本文的實驗中,c3取1.4。
為了測試算法的尋優(yōu)性能與適用性,對5個基準函數(shù)的10維和30維問題進行測試。并與7種其它改進PSO算法進行對比,包括:PSO(原始粒子群算法)[24],WPSO(帶慣性權重的粒子群算法)[24],XPSO(帶有收縮因子的粒子群算法)[24],MiPSO[25],MaPSO[25],CLPSO[10]和RPCPSO[9]。其中,SMPSO算法子種群p3的參數(shù)組合設置為:w3=0.5,c31=2,c32=2;主種群學習因子參數(shù)的設置為:c1=2,c2=2,c3=1.4。本小節(jié)從優(yōu)化結果、排名和收斂特征曲線展開討論和分析。
表4和表5分別為PSO,WPSO,XPSO,MiPSO,MaPSO,CLPSO,RPCPSO以及SMPSO算法對10維和30維的基準測試函數(shù)尋優(yōu)的求解結果。以表格的形式分別記錄了30次實驗的最優(yōu)值(Max)、平均值(Mean)和標準差(SD)。其中最好的運行結果用黑體字標出。
表4 10維函數(shù)的測試結果Tab.4 10 dimension function test result
表5 30維函數(shù)的測試結果Tab.5 30 dimension function test result
綜上分析可知,在優(yōu)化Sphere、Rastrigin、Griewank、Ackley、Schwefel函數(shù)時,SMPSO算法求解結果的最優(yōu)值顯著優(yōu)于其它對比算法。同樣從平均值的統(tǒng)計結果也能觀察到與最優(yōu)值相似的結論,即本文算法大幅度提高了PSO算法的優(yōu)化能力。這得益于SMPSO算法采用的具有共生關系的主從群結構,從全局與局部提升了算法的搜索性能,同時自適應變異策略的引入,增大了算法跳出局部最優(yōu)的能力。此外,本文算法所得結果的標準差在5個函數(shù)的測試中均比其它算法小很多,表明其結果具有更強的魯棒性,說明SMPSO算法具有良好的全局動態(tài)尋優(yōu)效果。無論從種群還是主種群,本文均選用了合適的參數(shù)組合,進一步提高了算法的搜索性能和解集的多樣性。
為了更直接地比較各個算法,依據(jù)10維測試函數(shù)的優(yōu)化結果,對改進的算法進行排名,如表6所示。得出SMPSO算法最優(yōu),CLPSO算法次之,接下來的3個算法依次為RPCPSO,MiPSO,MaPSO。
表6 8種優(yōu)化算法基于優(yōu)化結果的排名Tab.6 8 optimization algorithms based on ranking of optimization result
收斂特征曲線圖反映優(yōu)化結果隨函數(shù)迭代次數(shù)變化的情況。圖3~圖5僅展示10維的Sphere函數(shù)和30維的Griewank,Rastrigin函數(shù)中算法優(yōu)化結果收斂特征曲線,并以求解精度(AC)的對數(shù)形式呈現(xiàn)。觀察圖3~圖5的收斂特征曲線可知,SMPSO算法尋優(yōu)能力優(yōu)于其它算法。在迭代初期,算法具有較大的搜索空間,SMPSO算法與其他算法的求解結果差異較大,SMPSO算法的求解精度明顯較高。這得益于SMPSO算法從種群強大的全局搜索能力,給予了主種群尋找最優(yōu)解的優(yōu)勢搜索領域。在迭代后期,當搜索空間逐漸減小,算法之間的差異減小,但SMPSO算法的求解精度仍具有明顯優(yōu)勢。主要是因為主種群的局部精確搜索能力,使算法在小范圍的搜索空間內(nèi),能夠最快得發(fā)現(xiàn)最優(yōu)解。
觀察圖3中SMPSO算法的收斂特征曲線可知,在400次迭代以后,算法尋優(yōu)趨勢減緩,逐漸陷入局部最優(yōu);但通過觀察之后的收斂趨勢發(fā)現(xiàn),算法在520次以后的迭代中跳出了局部最優(yōu)的狀態(tài)。
同樣在圖4中也觀察到了同樣的結果,在算法600到1 000次迭代的收斂曲線中,算法產(chǎn)生兩次跳出局部最優(yōu)的動作。雖然在部分函數(shù)后期迭代中,SMPSO算法的尋優(yōu)趨勢減緩,但自適應變異策略引導算法不斷跳出局部最優(yōu)狀態(tài),提高了算法的尋優(yōu)性能,從而使SMPSO算法具有優(yōu)于對比算法的尋優(yōu)結果。
相對其它改進的粒子群算法,SMPSO算法的主從群結構從多樣性和搜索性能上使算法性能提升,自適應變異策略的引入提高了算法跳出局部最優(yōu)的能力,實現(xiàn)了全局與局部搜索能力的同時加強,因而算法具有更高的搜索效率。
圖3 10維的Sphere函數(shù)收斂特征曲線Fig.3 Convergence characteristic curves of 10 dimension Sphere function
通過與多種改進PSO算法實驗結果的對比,本文提出的SMPSO算法具有一定的尋優(yōu)優(yōu)勢。在大多數(shù)的測試函數(shù)中,SMPSO算法求解精度均高于對比算法,進一步驗證了SMPSO算法的有效性。
圖4 30維的Ackley函數(shù)收斂特征曲線Fig.4 Convergence characteristic curves of 30 dimension Ackley function
圖5 30維的Griewank函數(shù)收斂特征曲線Fig.5 Convergence characteristic curves of 30 dimension Griewank function
本文從對多種群粒子群算法的研究入手,提出了一種基于速度交流的共生多種群粒子群算法(SMPSO)。在SMPSO算法中,針對算法的搜索性能和求解精度等問題,建立了具有共生關系的主從群結構,平衡了算法的全局與局部搜索能力。利用速度交流機制對從種群進行劃分,該機制有效地提高了從種群的全局搜索性能。通過設定合適的慣性權值與加速因子的參數(shù)組合和引入自適應變異策略,進一步提升了主從群的搜索性能和跳出局部最優(yōu)的能力。仿真實驗表明SMPSO算法比其它改進算法在求解精度、搜索能力、穩(wěn)定性等方面具有一定的優(yōu)勢,是一種高效的PSO改進算法。