郭松林, 巴艷坤
(黑龍江科技大學(xué) 電氣與控制工程學(xué)院, 哈爾濱 150022)
目前,主流的群智能優(yōu)化算法眾多,如粒子群算法(PSO)[1-3]、蝗蟲算法(GOA)[4-5]、鯨魚優(yōu)化算法(WOA)[6]和蟻群算法[7-9]等。其中,由于粒子群算法的原理比較簡單,適用性強,容易實現(xiàn)等優(yōu)點,已被廣泛應(yīng)用于各行各業(yè),但其全局搜索能力不強,搜索精度不高,學(xué)者們對此提出了諸多改進(jìn)方法。肖云波等[10]改進(jìn)PSO算法中的慣性權(quán)重及學(xué)習(xí)因子,提高了粒子的尋優(yōu)能力,但在收斂速度方面仍有待提高。崔星等[11]利用非線性動態(tài)調(diào)整慣性權(quán)重的方法提高了PSO的全局尋優(yōu)能力。邵良彬等[12]在粒子群算法中引入變異操作,構(gòu)造了一種新的粒子選擇方法,控制違反約束條件的粒子數(shù)量,提高了粒子群算法尋找邊界的能力。馮克濤等[13]對粒子群算法慣性權(quán)重系數(shù)進(jìn)行調(diào)控,使其非線性自適應(yīng)變化。
為解決PSO收斂性能差,全局搜索能力有待提升的問題,筆者將鯨魚優(yōu)化算法的包圍和捕獵策略引入粒子群算法中,改善其收斂性能,通過粒子群算法添加Levy飛行策略,提高其跳出局部最優(yōu)的能力,選取12個基準(zhǔn)函數(shù)進(jìn)行測試,將其應(yīng)用于局部放電信號的降噪問題中。
文中整合鯨魚算法與粒子群算法,將鯨魚優(yōu)化算法的包圍和捕獵策略引入到粒子群算法中,改善粒子群算法的局部搜索能力和收斂性能,給粒子群算法添加Levy飛行策略,提高改進(jìn)后的粒子群算法跳出局部最優(yōu)的能力。
粒子群算法(PSO)是在1995年演化計算技術(shù)的一種,由Kennedy和Eberhart提出的,受Millonas模擬簡化社會模型的啟發(fā)。該算法模擬了鳥類覓食的行為,鳥兒會在覓食區(qū)域內(nèi)隨機進(jìn)行覓食,但在該區(qū)域內(nèi)只有一塊食物,而且它們僅知道自己到食物的距離,卻不知道食物的具體位置。其中,粒子是一個理想化的概念,是指一種沒有質(zhì)量和體積,僅有速度和加速度的個體。
粒子群算法的速度和位置更新公式為
(1)
(2)
w——慣性權(quán)重因子;
c1、c2——學(xué)習(xí)因子;
r1、r2——[0,1]中的隨機數(shù);
WOA算法是源于鯨魚群對獵物的圍捕行為。在鯨魚群捕獵過程中,每只鯨魚有兩種行為:一種是對獵物進(jìn)行包圍,所有鯨魚都向著其他鯨魚前進(jìn);另一種是汽包網(wǎng),鯨魚環(huán)形游動噴出氣泡來驅(qū)趕獵物。在每一代的游動中,鯨魚們會隨機選擇這兩種行為進(jìn)行捕獵,概率分別為1/2。在鯨魚進(jìn)行包圍獵物的行為中,鯨魚將會隨機選擇,向著最優(yōu)位置的鯨魚游去還是隨機選擇一只鯨魚作為自己的目標(biāo),并向其靠近。
1.2.1 包圍獵物
鯨魚在包圍獵物時會隨機選擇向著最優(yōu)位置的鯨魚游動或者向著一只隨機鯨魚游動。
(1)向著最優(yōu)位置的鯨魚游動
(3)
A——每一維為均勻分布在(-a,a)內(nèi)的隨機數(shù),a的初始值為2,隨著迭代次數(shù)線性遞減至0;
C——均勻分布在(0,2)內(nèi)的隨機數(shù)。
(2)向著隨機位置的鯨魚游動
(4)
當(dāng)|A|≤1時,鯨魚選擇向著最優(yōu)個體游動;當(dāng)|A|>1時,鯨魚選擇向著隨機位置的鯨魚游動。
1.2.2 氣泡網(wǎng)捕獵
(5)
式中:b——常數(shù);
l——[-1,1]的均勻隨機數(shù)。
為引入鯨魚優(yōu)化算法,將粒子群算法的速度更新公式更改為
vt+1=ω(Xt-xt)+c1r1(bt-xt)+c2r2(gt-xt)。
(6)
Levy飛行[14]是一種非高斯隨機步態(tài),其步長服從重尾概率分布,Levy飛行特點為長時間進(jìn)行小步長隨機游走,偶爾會出現(xiàn)大步長[15]。而傳統(tǒng)粒子群尋優(yōu)算法可能無法找到全局最優(yōu)解,易陷入局部極值的困境。在尋找最優(yōu)解過程中,Levy飛行不僅可以在短距離中執(zhí)行局部搜索,還可以在長距離中執(zhí)行全局搜索。在搜索到最優(yōu)值附近時,Levy能達(dá)到增強局部搜索能力的作用,有效解決標(biāo)準(zhǔn)PSO陷入局部最優(yōu)的問題。
(7)
(8)
式中:d——維度;
r1、r2——隨機數(shù),取值范圍為(0,1);
β——常數(shù),文中取為3/2;
g()——伽馬函數(shù)。
引入Levy飛行策略后,粒子群算法的速度更新公式為
(9)
對于標(biāo)準(zhǔn)粒子群算法所存在的缺陷,文中提出了相應(yīng)的改進(jìn)方案。引入鯨魚優(yōu)化算法的包圍和捕獵行為應(yīng)用到粒子群算法中,改善粒子群算法的收斂性能和搜索能力,保證了粒子群算法的收斂效率;通過給粒子群算法添加Levy飛行策略,提高粒子群算法的全局尋優(yōu)能力。具體實現(xiàn)步驟如下:
步驟一算法初始化種群規(guī)模N,各粒子初始位置x,各粒子初始速度v,維度d,最大迭代次數(shù)M,速度邊界vl和位置上下界ub、lb。
步驟三引入鯨魚優(yōu)化算法的包圍和捕獵策略,應(yīng)用到各粒子的速度更新公式中,保證算法的收斂效率。
步驟四給粒子群算法添加Levy飛行策略,進(jìn)一步改進(jìn)粒子個體的速度更新公式,提高算法的全局搜索能力。
步驟五根據(jù)步驟三和四更新各粒子的速度和位置,計算各粒子適應(yīng)度。
步驟六判斷算法迭代是否達(dá)到預(yù)定次數(shù)或者找到全局最優(yōu)解,若是,則循環(huán)結(jié)束,輸出結(jié)果;若否,則返回步驟三。
為了驗證改進(jìn)后算法(FPSO)的性能,文中選取基準(zhǔn)函數(shù)對算法性能進(jìn)行測試,將測試結(jié)果與PSO、WOA、GWO和混沌優(yōu)化的粒子群算法(IPSO)的測試結(jié)果作對比,比較其搜索精度和收斂性能。
多峰值測試函數(shù)為
式中,x0——第d維度的x值。
單峰值測試函數(shù)為
固定維多峰值測試函數(shù)為
f1至f4為高維多峰函數(shù),高維多峰函數(shù)的維度均為30,理論最優(yōu)解除f3外均為0;f5至f10均為單峰函數(shù),單峰函數(shù)的維度均為30,理論最優(yōu)解均為0;f11和f12為固定維多峰函數(shù),其維度分別為2和4,理論最優(yōu)解分別為1和-10.536 3。文中將所有測試算法的規(guī)模都設(shè)置為20,迭代次數(shù)設(shè)置為1 000,分別運行30次,取測試結(jié)果的平均值和均方差作為評估指標(biāo)。
5個算法對于12個基準(zhǔn)測試函數(shù)的尋優(yōu)性能結(jié)果如表1~3所示。由表1~3可以看出,在對12種基準(zhǔn)函數(shù)進(jìn)行尋優(yōu)的過程中,對于f5、f9、f10、f1和f2五個基準(zhǔn)函數(shù),改進(jìn)后的粒子群算法均可以找到全局最優(yōu)解,而鯨魚優(yōu)化算法僅可以在對f1和f2進(jìn)行尋優(yōu)測試時找到全局最優(yōu)解,IPSO和PSO對于任意測試函數(shù)均未能找到全局最優(yōu)解。對f6函數(shù)進(jìn)行尋優(yōu)時,IPSO尋優(yōu)性能最好,F(xiàn)PSO位居第二,但均優(yōu)于標(biāo)準(zhǔn)粒子群算法;對f7進(jìn)行尋優(yōu)時,F(xiàn)PSO和WOA以及GWO尋優(yōu)結(jié)果不相上下,遠(yuǎn)優(yōu)于IPSO和PSO;在對f8函數(shù)進(jìn)行尋優(yōu)時,F(xiàn)PSO尋優(yōu)能力在5個測試算法中位列第一,WOA和GWO分別位列第二位和第三位,均優(yōu)于IPSO和PSO;在對f3函數(shù)進(jìn)行尋優(yōu)時,F(xiàn)PSO比其余四種算法均高出至少93個數(shù)量級,遠(yuǎn)優(yōu)于IPSO和PSO;在對f10函數(shù)進(jìn)行尋優(yōu)時,F(xiàn)PSO尋優(yōu)結(jié)果在五個測試算法中仍居第一位,遠(yuǎn)優(yōu)于其他四種算法,在對f11函數(shù)進(jìn)行尋優(yōu)時,F(xiàn)PSO尋優(yōu)結(jié)果僅排在第三位,低于WOA和GWO,但仍優(yōu)于IPSO和PSO;在對f12函數(shù)進(jìn)行尋優(yōu)時,F(xiàn)PSO尋優(yōu)結(jié)果排在第二位,低于GWO,但仍優(yōu)于WOA、IPSO和PSO。因此,從綜合性能上來講,F(xiàn)PSO明顯優(yōu)于其他算法。
表1 不同算法多峰值測試函數(shù)尋優(yōu)結(jié)果
表2 不同算法單峰值測試函數(shù)尋優(yōu)結(jié)果
表3 不同算法固定多峰值測試函數(shù)尋優(yōu)結(jié)果
各算法對12個基準(zhǔn)測試函數(shù)獨立運行30次平均耗時表4所示。FPSO耗時要比標(biāo)準(zhǔn)粒子群算法耗時稍長,在對函數(shù)f1至f10測試時,所耗時間也多于WOA和GWO,但是對于函數(shù)f11和f12,F(xiàn)PSO尋優(yōu)耗時則少于WOA和GWO,與IPSO相比,對于任意函數(shù)進(jìn)行尋優(yōu)所耗時間均少于IPSO。綜上所述,從取得的尋優(yōu)效果來看,所增加的時長是可以接受的。
表4 不同算法尋優(yōu)耗時
對于表1~3中12個基準(zhǔn)測試函數(shù)尋優(yōu)的收斂性能曲線如圖1~5所示。
由圖1~5可以看出,在對單峰函數(shù)和高維多峰函數(shù)進(jìn)行尋優(yōu)測試時,F(xiàn)PSO的收斂性能明顯優(yōu)于其他四種算法,在相同的迭代次數(shù)下,F(xiàn)PSO尋優(yōu)得到的值為各算法尋優(yōu)結(jié)果中的最優(yōu)解。僅有在對固定
維多峰函數(shù)進(jìn)行尋優(yōu)測試時,F(xiàn)PSO尋優(yōu)結(jié)果略遜于WOA,但仍優(yōu)于其他四種算法。
5個算法對12個測試函數(shù)的收斂箱式圖,如圖6~10所示。由圖6~10可以看出,對于函數(shù)f1~f8以及函數(shù)f10進(jìn)行尋優(yōu)測試時,都沒有異常點出現(xiàn),說明FPSO對于這些函數(shù)尋優(yōu)時性能比較穩(wěn)定;在對f11和f12進(jìn)行尋優(yōu)測試時,雖然有異常點出現(xiàn),但是異常點數(shù)目均少于標(biāo)準(zhǔn)粒子群算法。結(jié)果表明,F(xiàn)PSO具備穩(wěn)定的尋優(yōu)能力。
通過對FPSO與其他四種算法分別運行30次的結(jié)果進(jìn)行Wilcoxon秩和檢驗,來進(jìn)一步評估改進(jìn)后的粒子群算法的尋優(yōu)性能。在p=5%顯著水平下與其它算法是否存在顯著差異,當(dāng)p<5%時,說明兩算法之間存在顯著差異,反之,則說明兩算法之間的并沒有明顯的差異,即兩種算法的搜索性能相當(dāng)。
由表5可知,F(xiàn)PSO的尋優(yōu)性能在12個測試函數(shù)中均優(yōu)于PSO,在10個測試函數(shù)中優(yōu)于WOA,在12個測試函數(shù)中優(yōu)于GWO,在11個測試函數(shù)中優(yōu)于IPSO。結(jié)果表明,F(xiàn)PSO具有優(yōu)秀的尋優(yōu)性能。綜上所述,改進(jìn)后的粒子群算法尋優(yōu)性能得到顯著提高,算法的全局搜索能力得到加強,尋優(yōu)效果更加穩(wěn)定,與其他算法相比,具有顯著性差異。
表5 秩和檢驗結(jié)果
改進(jìn)后的算法在基準(zhǔn)測試函數(shù)上具有良好的尋優(yōu)能力,驗證其在工程問題上的可行性。以實際工程中常見的信號降噪問題對FPSO應(yīng)用可行性進(jìn)行分析。信號降噪,常用的方法有小波降噪,利用粒子群算法對小波閾值進(jìn)行優(yōu)化,能夠很大程度降低信號的失真度。對比分析PSO和FPSO優(yōu)化小波降噪效果,所選信號摻雜了噪聲的某地10 kV高壓線局部放電信號。原始含噪信號如圖11所示。信噪比為-3.652 2。PSO優(yōu)化小波閾值的降噪效果和FPSO優(yōu)化小波的降噪效果見圖12和13。
對信號進(jìn)行降噪處理后,PSO優(yōu)化小波閾值進(jìn)行降噪的信噪比達(dá)到了4.042 1,而FPSO優(yōu)化小波閾值進(jìn)行降噪后的信噪比提高到了4.366 0。結(jié)果表明,對粒子群算法進(jìn)行改進(jìn)后,降噪效果提升了7.86%,因此,F(xiàn)PSO應(yīng)用在工程方面是實際可行的。
(1)改進(jìn)后的粒子群算法尋優(yōu)性能明顯提升,在12個基準(zhǔn)測試函數(shù)的性能測試中,F(xiàn)PSO的性能在8個測試函數(shù)上同時優(yōu)于PSO、WOA、GWO和IPSO,在11個測試函數(shù)上優(yōu)于PSO和IPSO。
(2)FPSO尋優(yōu)精度高,引入鯨魚優(yōu)化算法和Levy飛行策略后,算法全局搜索能力得到顯著提高。FPSO穩(wěn)定性較強,通過箱式圖和函數(shù)測試的標(biāo)準(zhǔn)差可知,收斂值的分布與PSO和IPSO相比更加集中,尋優(yōu)結(jié)果更加穩(wěn)定。
(3)FPSO收斂速度更快,從各算法收斂曲線圖可知,F(xiàn)PSO的收斂效果優(yōu)于其它四種算法。FPSO在解決實際工程問題時,與PSO優(yōu)化小波閾值降噪相比,F(xiàn)PSO優(yōu)化小波閾值降噪后的信號的信噪比提升了7.86%。