摘? 要:針對粒子群算法易陷入局部最優(yōu)解的問題,提出一種改進慣性權(quán)重的粒子群優(yōu)化算法(CWPSO)。首先引入Sigmoid函數(shù)構(gòu)造自適應(yīng)的慣性權(quán)重策略;然后引入線性遞減的慣性權(quán)重策略;最后通過群體適應(yīng)度方差將自適應(yīng)慣性權(quán)重策略和線性遞減慣性權(quán)重策略動態(tài)結(jié)合,構(gòu)造綜合慣性權(quán)重策略,以提高算法全局搜索和局部搜索的能力。實驗結(jié)果表明,CWPSO算法的尋優(yōu)性能相較于對比算法有明顯提升。
關(guān)鍵詞:粒子群算法;慣性權(quán)重;適應(yīng)值;群體適應(yīng)度方差
中圖分類號:TP18? 文獻標(biāo)識碼:A? 文章編號:2096-4706(2023)20-0088-04
Particle Swarm Optimization Algorithm with Improved Inertia Weight
XUE Wen
(School of Electrical Engineering, Jilin Railway Technology College, Jilin? 132299, China)
Abstract: Aiming at the problem that Particle Swarm Optimization is easy to fall into the local optimal solution, a CWPSO algorithm with improved inertia weight is proposed. Firstly, Sigmoid function is introduced to construct adaptive inertia weight strategy. Then the inertia weight strategy of linear decreasing is introduced. Finally, the adaptive inertia weight strategy and linear decreasing inertia weight strategy are dynamically combined by the variance of group fitness to construct a comprehensive inertia weight strategy, so as to improve the global search and local search ability of the algorithm. The experimental results show that the optimization performance of CWPSO algorithm is obviously improved compared with the comparison algorithm.
Keywords: Particle Swarm Optimization; inertia weight; adaptive value; variance of group fitness
0? 引? 言
粒子群算法(particle swarm optimization, PSO)是一種基于群體智能的隨機全局優(yōu)化算法,其具有實現(xiàn)簡單、控制參數(shù)少等優(yōu)點[1],被廣泛應(yīng)用于工業(yè)工程領(lǐng)域[2-4]。但是,標(biāo)準(zhǔn)粒子群算法存在種群多樣性損失過快導(dǎo)致算法早熟問題。
為了解決上述問題,近年來學(xué)者們對PSO算法提出了許多改進思路,改進思路主要分為以下三種:一是算法本身尋優(yōu)公式的優(yōu)化設(shè)計[5];二是在算法尋優(yōu)過程中加入輔助操作改進算法性能[6];三是與其他算法相融合[7]。
受前人研究的啟發(fā),為了提升PSO算法的尋優(yōu)能力,本文提出一種改進慣性權(quán)重的粒子群優(yōu)化算法(CWPSO)。算法主要對標(biāo)準(zhǔn)PSO算法的慣性權(quán)重做作了3方面改進策略:一是利用S型函數(shù)非線性遞增特性,構(gòu)造基于適應(yīng)值的自適應(yīng)慣性權(quán)重更新公式,動態(tài)調(diào)整搜索位置;二是利用線性遞減慣性權(quán)重策略,提升粒子尋優(yōu)效率;三是引入群體適應(yīng)度方差策略,判斷粒子聚集程度,將兩種慣性權(quán)重策略動態(tài)結(jié)合,動態(tài)提升全局和局部搜索的能力。
1? 粒子群優(yōu)化算法
PSO算法是一種群體智能搜索算法。該算法首先在n維解空間中,初始化由m個粒子構(gòu)成的種群,m表示群體規(guī)模,每一個粒子的位置代表一個可能的解,同時也決定著由目標(biāo)函數(shù)計算的適應(yīng)值,通過適應(yīng)值大小即可判斷解的優(yōu)劣。在每次迭代中,粒子通過適應(yīng)值大小找到自身最優(yōu)解(個體極值pbest)和整個種群的最優(yōu)解(全局極值gbest)來更新速度和位置。PSO算法數(shù)學(xué)描述如下:
第i個粒子的位置表示為n維的向量Xi = (xi1, xi2, …, xin)T,速度表示為n維的向量Vi = (vi1, vi2, …, vin)T。第i個粒子搜索到最優(yōu)位置為Pi = ( pi1, pi2, …, pin)T,整個群體搜索到最優(yōu)位置為Gi = ( gi1,gi2, …, gin)T。粒子按照式(1)和式(2)對自身的速度和位置變量進行更新:
式中,i = 1,2,3,…,n表示粒子數(shù)量;k = 1,2,…,n表示當(dāng)前迭代次數(shù);d表示搜索空間的維分量;ω表示慣性權(quán)重系數(shù);c1,c2表示加速常數(shù);r1,r2表示隨機數(shù),其值是在(0,1)之間; 表示粒子i在第d維的個體極值位置; 表示群體在第d維的全局極值位置。
2? 改進慣性權(quán)重的粒子群優(yōu)化算法
2.1? Sigmoid函數(shù)
Sigmoid的表達式為:
Sigmoid函數(shù)的定義域為(-∞,+∞),值域為(-1,1),在定義域內(nèi)為連續(xù)光滑,且在0.5處為中心對稱,并且越靠近x = 0的取值斜率越大。函數(shù)圖形如圖1所示。
2.2? 群體適應(yīng)度方差策略
設(shè)粒子數(shù)為N,群體適應(yīng)度方差σ2的計算方式如下:
其中,fi表示第i個粒子的當(dāng)前適應(yīng)度值,favg表示當(dāng)前種群的平均適應(yīng)度值,f表示歸一化因子。
群體適應(yīng)度方差反映了種群的收斂程度,σ2越小,種群中粒子的收斂程度越高。本文為σ2設(shè)定一個閾值γ,當(dāng)σ2小于該閾值時,判定粒子高度收斂,此時對粒子進行擾動,驅(qū)動粒子繼續(xù)搜索。為了避免擾動處于全局最優(yōu)狀態(tài)的粒子,對粒子按適應(yīng)值排序匹配擾動強度,適應(yīng)值越好的粒子對應(yīng)的擾動強度就越小,適應(yīng)值越差的粒子對應(yīng)的擾動強度越大。
2.3? 自適應(yīng)慣性權(quán)重策略
為了提高粒子的收斂性能和避免粒子陷入局部最優(yōu),Shi等[8]首次提出了慣性權(quán)重的概念,將慣性權(quán)重引入速度更新公式中,并提出典型的線性遞減策略,其計算式為:
其中,T表示粒子當(dāng)前迭代次數(shù),Tmax表示粒子最大迭代次數(shù)。
算法在搜索初期慣性權(quán)重較大,有利于全局探索,但不易得到精確解,而在搜索后期慣性權(quán)重較小,有利于局部挖掘,但容易陷入局部最優(yōu)。
因此,為了提升算法搜索性能,增強算法跳出局部最優(yōu)的能力,本文在線性遞減策略的基礎(chǔ)上,利用Sigmoid函數(shù)非線性遞增且無限趨近于定值的特點,構(gòu)造一種新的慣性權(quán)重組合更新公式,如式(6)、式(7)所示:
其中,Rmax表示Sigmoid函數(shù)的x軸的界限值,此處取Rmax = 10;δ2表示群體適應(yīng)度方差;γ表示方差閾值,此處取0.1;ωmax和ωmin表示慣性權(quán)重上下限值;T表示當(dāng)前迭代次數(shù),Tmax表示最大迭代次數(shù)。
具體轉(zhuǎn)換過程為:當(dāng)δ2≤γ(γ表示群體適應(yīng)度方差閾值)時,則執(zhí)行慣性權(quán)重更新公式轉(zhuǎn)換操作。
從公式可以看出,在種群進入高度收斂階段之前,粒子初期會大范圍的在解空間搜尋最優(yōu)解,增加找到全局最優(yōu)的可能性。通過δ2判斷種群開始進入高度收斂階段時,此時粒子群已搜尋到較優(yōu)解。慣性權(quán)重將按照粒子適應(yīng)值大小自適應(yīng)調(diào)節(jié),對于適應(yīng)值較差的粒子,慣性權(quán)重匹配為較大值,能驅(qū)使粒子飛向更遠的解空間搜索最優(yōu)解,提升了跳出局部最優(yōu)的能力;而對于適應(yīng)值較優(yōu)的粒子,慣性權(quán)重匹配較小值,驅(qū)使粒子在局部范圍挖掘最優(yōu)解,提升了粒子局部搜索能力。
Sigmoid函數(shù)變化如圖1所示,慣性權(quán)重變化如圖2所示。
從圖中可以看出,粒子慣性權(quán)重先線性遞減更新,在解空間尋優(yōu);當(dāng)粒子收斂程度達到設(shè)定的閾值時,粒子慣性權(quán)重采用非線性遞減策略更新,在解空間搜索和局部精細搜索,增強跳出局部最優(yōu)能力。
2.4? 算法步驟
CWPSO算法的執(zhí)行步驟如下:
1)算法參數(shù)初始化。包括種群規(guī)模N,學(xué)習(xí)因子c,迭代次數(shù)T,最大最小慣性權(quán)重ωmax和ωmin,收斂閾值γ。
2)隨機產(chǎn)生N個粒子的速度和位置作為初始種群。
3)確定初始種群的個體最優(yōu)和全局最優(yōu)。
4)判斷δ2是否達到收斂閾值γ。若δ2>γ,則根據(jù)式(7)調(diào)節(jié)慣性權(quán)重大小;若δ2≤γ,則根據(jù)式(6)調(diào)節(jié)慣性權(quán)重大小。
5)根據(jù)式(1)更新粒子的速度、式(2)更新粒子的位置。
6)計算粒子適應(yīng)值,并進行記錄。
7)更新個體最優(yōu)和全局最優(yōu)。
8)判斷算法是否達到終止條件,達到條件則導(dǎo)出最優(yōu)解;否則,返回繼續(xù)執(zhí)行步驟4。
3? 數(shù)值仿真分析
3.1? 測試函數(shù)
為了驗證本文的算法的有效性,選取常用的2個標(biāo)準(zhǔn)測試函數(shù)進行數(shù)值仿真,其中f1為單峰值函數(shù),f2為多峰值函數(shù)。函數(shù)相關(guān)屬性如表1所示。
3.2 群體適應(yīng)度方差δ2選取試驗
在本文的改進粒子群算法中引入群體適應(yīng)度方差公式,需要給群體適應(yīng)度方差δ2賦予一個參數(shù)值,算法需要根據(jù)給定的群體適應(yīng)度方差δ2的參數(shù)值進行自適應(yīng)地搜索調(diào)整,因為當(dāng)群體適應(yīng)度方差δ2取不同參數(shù)值時,本文改進的優(yōu)化算法會得到不同的尋優(yōu)結(jié)果。為了確定群體適應(yīng)度方差δ2的最優(yōu)取值,本文選取表1中單峰函數(shù)Sphere和多峰函數(shù)Rastigrin兩個標(biāo)準(zhǔn)測試函數(shù)進行測試。為了使測試更為準(zhǔn)確,測試方式選擇本文改進算法重復(fù)運行50次,測試實驗軟件為Matlab 2016a,最終取所有測試結(jié)果中的最優(yōu)值作為比較結(jié)果。群體適應(yīng)度方差δ2參數(shù)最優(yōu)取值的具體測試結(jié)果如表2所示。
由表2的實驗結(jié)果可知,在單峰函數(shù)Sphere的數(shù)值實驗中,群體適應(yīng)度方差δ2分別取0.1、0.2、0.3時,本文算法搜索的到最優(yōu)解不同,且隨著參數(shù)取值變大而變大,此時δ2最優(yōu)參數(shù)取值為0.1;在多峰函數(shù)Rastigrin的數(shù)值實驗中,群體適應(yīng)度方差δ2分別取0.1、0.2、0.3時,本文算法搜索的到最優(yōu)解也不同,雖然最優(yōu)解差別沒有太大,但依然隨著參數(shù)取值變大而變大,此時δ2最優(yōu)參數(shù)取值仍然為0.1。通過以上兩組測試函數(shù)的實驗表明,無論在單峰函數(shù)Sphere還是在多峰函數(shù)Rastigrin中,本文改進算法由于群體適應(yīng)度方差δ2取值不同,在單峰函數(shù)Sphere和多峰函數(shù)Rastigrin上搜索到的最優(yōu)值結(jié)果就會不同,且當(dāng)本文改進算法的群體適應(yīng)度方差δ2 = 0.1時,本文改進算法的整體搜索性能最優(yōu)。
3.3? 對比算法
為了進一步驗證改進算法的有效性,選取基本的粒子群算法(PSO)、線性遞減慣性權(quán)重粒子群算法(LWPSO)與本文算法(CWPSO)作比較。單峰測試函數(shù)Sphere和多峰測試函數(shù)Rastigrin的維數(shù)D = 10,粒子數(shù)N = 40,迭代次數(shù)1 000次,獨立運行50次,仿真實驗軟件為Matlab 2016a。算法參數(shù)的選取如表3所示。
3.4? 算法性能對比分析
由表4可知,在維數(shù)D = 10的情況下,在單峰函數(shù)f1和多峰函數(shù)f2尋優(yōu)中,本文算法(CWPSO)搜索到的最優(yōu)解均優(yōu)于PSO和LWPSO算法,說明CWPSO算法性能得到改善,尋優(yōu)能力增強,證明了本文改進策略的有效性。
由圖3可知,在迭代中期,CWPSO算法通過群體適應(yīng)度方差策略判斷粒子陷入早熟,開始自適應(yīng)調(diào)整慣性權(quán)重,幫助粒子跳出局部最優(yōu),搜尋更優(yōu)解。由圖4可知,多峰函數(shù)下粒子搜索范圍縮小速度要快于圖3,PSO最先陷入局部最優(yōu),LWPSO次之,而CWPSO依然反復(fù)在解空間搜索最優(yōu)解,尋優(yōu)性能提高,尋優(yōu)結(jié)果優(yōu)于PSO和LWPSO。
4? 結(jié)? 論
本文提出了一種改進慣性權(quán)重策略的PSO算法,即CWPSO算法。所提算法采用群體適應(yīng)度方差策略來判斷粒子群體收斂程度,使得粒子能夠自適應(yīng)地調(diào)整搜索方向,同時結(jié)合Sigmoid函數(shù),利用Sigmoid函數(shù)的無限趨近特性進一步來提升粒子自適應(yīng)性能。通過群體適應(yīng)度方差與Sigmoid函數(shù)結(jié)合策略,算法增強了粒子種群的多樣性,提高了粒子群搜索解空間的解搜索能力。通過單峰測試函數(shù)與多峰測試函數(shù)分別進行的數(shù)值實驗表明,本文提出的CWPSO算法提升尋優(yōu)性能有效,提高了算法的求解能力。
參考文獻:
[1] KENNEDY J,EBERHART R C. Particle swarm optimization [C]//Proceedings of IEEE International Conference on Neural Networks.Piscataway:IEEE,1995:1492-1498.
[2] 方春恩,唐小雨,李偉,等.基于多策略粒子群算法的500 kV直流斷路器用快速機械開關(guān)優(yōu)化設(shè)計 [J].高壓電器,2022,58(1):79-88.
[3] 帥茂杭,熊國江,胡曉,等.基于改進多目標(biāo)骨干粒子群算法的電力系統(tǒng)環(huán)境經(jīng)濟調(diào)度 [J].控制與決策,2022,37(4):997-1004.
[4] 林安,張磊,陳國兵,等.基于改進粒子群算法的船用汽輪機DEH智能控制優(yōu)化 [J].艦船科學(xué)技術(shù),2022,44(13):126-131.
[5] 李二超,高振磊.改進粒子速度和位置更新公式的粒子群優(yōu)化算法 [J].南京師大學(xué)報:自然科學(xué)版,2022,45(1):118-126.
[6] 周利軍,彭衛(wèi),鄒芳,等.自適應(yīng)變異粒子群算法 [J].計算機工程與應(yīng)用,2016,52(7):50-55+149.
[7] 閆群民,馬瑞卿,馬永翔,等.一種自適應(yīng)模擬退火粒子群優(yōu)化算法 [J].西安電子科技大學(xué)學(xué)報,2021,48(4):120-127.
[8] SHI Y,EBERHART R. A modified particle swarm optimizer [C]//1998 IEEE international conference on evolutionary computation proceedings.IEEE world congress on computational intelligence (Cat. No. 98TH8360).IEEE,1998:69-73.
[9] 薛文,蘇宏升.基于分群策略的混沌粒子群優(yōu)化算法 [J].計算機工程與設(shè)計,2019,40(2):443-448.
作者簡介:薛文(1989—),男,漢族,黑龍江哈爾濱人,助教,碩士,研究方向:電力系統(tǒng)穩(wěn)定與控制。
收稿日期:2022-11-23