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