劉福康 楊光永 吳大飛 徐天奇
(云南民族大學(xué)電氣信息工程學(xué)院 昆明 650000)
粒子群算法(PSO)數(shù)學(xué)模型簡(jiǎn)單、參數(shù)少、易于實(shí)現(xiàn),已經(jīng)被廣泛應(yīng)用于參數(shù)尋優(yōu),路徑規(guī)劃等多方面。但其性能易受參數(shù)影響、極易陷入局部最優(yōu)[1]。為此,諸多學(xué)者對(duì)PSO算法進(jìn)行了改進(jìn),例如:為增強(qiáng)算法擺脫局部極值的能力,高鷹等將模擬退火思想引進(jìn)PSO[2],在一定程度上改善了粒子群優(yōu)化算法擺脫局部極值點(diǎn)的能力。為拓寬粒子的搜索空間,Liang等提出了學(xué)習(xí)粒子群算法[3],提高了算法的收斂速度??祶固m等提出了無(wú)慣性自適應(yīng)精英變異反向粒子群優(yōu)化算法有效增加了種群多樣性[4];胥小波等提出了將混沌思想引入粒子運(yùn)動(dòng)的混沌粒子群優(yōu)化算法,提高了算法計(jì)算精度和全局尋優(yōu)能力[5];趙新超等提出了一種基于非均勻變異和多階段擾動(dòng)的粒子群優(yōu)化算法,兼顧了算法的多樣性和精英學(xué)習(xí)強(qiáng)度間的關(guān)系[6];夏學(xué)文等提出的一種具備反向?qū)W習(xí)能力和局部學(xué)習(xí)能力的粒子群優(yōu)化算法,在高維函數(shù)優(yōu)化中表現(xiàn)較好[7];為避免算法陷入局部最優(yōu),增強(qiáng)算法的局部搜索能力,劉超等將天牛須算法引入PSO[8];郭瑞等將混沌變異引入PSO[9]。為解決PSO易陷入局部最優(yōu)問(wèn)題,劉浩然等提出一種改進(jìn)雁群擴(kuò)展粒子群算法[10];張葉等提出一種將“概率突跳特性”引入PSO,并設(shè)定新的淘汰機(jī)制,提高了算法的全局尋優(yōu)性能[11]。
上述改進(jìn)策略都在一定程度上改善了PSO算法的性能,但同時(shí)大幅增加了算法復(fù)雜度。為此,本文提出一種粒子數(shù)和迭代數(shù)相結(jié)合的動(dòng)態(tài)調(diào)整種群學(xué)習(xí)率的方法。為提高算法的收斂速度的同時(shí)降低算法復(fù)雜度,將該方法與胡旺等不含速度項(xiàng)的簡(jiǎn)化粒子群算法(SPSO)[12]相結(jié)合,提出了改進(jìn)簡(jiǎn)化粒子群算法(ISPSO)。將ISPSO算法與變分模態(tài)分解(VMD)和最大相關(guān)峭度反卷積算法(MCKD)相結(jié)合,提出了一種新的提取亞像元峰值的方法。
PSO通過(guò)式(1)確定k+1次迭代時(shí)粒子i的位置xi(k+1)和速度vi(k+1):
其中:w為慣性因子,c1為個(gè)體學(xué)習(xí)率,c2為種群學(xué)習(xí)率,r1、r2為0~1的隨機(jī)數(shù),Pi為第i個(gè)粒子當(dāng)前尋找到的最好位置,Pg為所有粒子找到的最好位置,Δt為單位時(shí)間,k、k+1分別表示第k次迭代和第k+1次迭代。
而SPSO算法不含速度項(xiàng),降低了PSO算法的復(fù)雜度[12],k+1次迭代時(shí)粒子i的位置xi(k+1)為
PSO和SPSO中第k次迭代時(shí)慣性因子w更新策略為,如:
其中kmax為最大迭代次數(shù),wmin、wmax分別為人工預(yù)設(shè)的慣性因子的最大值和最小值。
為提高PSO的收斂速度,針對(duì)PSO中的固定種群學(xué)習(xí)率c2進(jìn)行改進(jìn)。提出k次迭代時(shí)粒子i的種群學(xué)習(xí)率c2更新公式:
其中:a1、a2為縮放因子,n為粒子群粒子個(gè)數(shù)。
將該更新策略引入PSO,提出IPSO。為使改進(jìn)粒子群算法迭代速度加快,將上述種群學(xué)習(xí)率更新策略引入SPSO,提出改進(jìn)簡(jiǎn)化粒子群算法(ISPSO)。
至此,提出的兩種優(yōu)化算法IPSO與ISPSO,具體步驟如下:
Step1初始化粒子群:給定慣性因子wmin、wmax等參數(shù),初始化粒子位置;
Step2計(jì)算初始粒子適應(yīng)度值;
Step3更新個(gè)體極值:將粒子i的當(dāng)前適應(yīng)度與個(gè)體極值適應(yīng)度比較,若前者更優(yōu),則更新個(gè)體極值;
Step4更新全局極值:將粒子i的當(dāng)前適應(yīng)度與全局適應(yīng)度比較,若前者更優(yōu),則更新全局極值;
Step5更新迭代種群學(xué)習(xí)率c2;
Step6更新慣性因子w;
Step7 IPSO更新粒子位置x和速度v或ISPSO更新粒子位置x;
Step8達(dá)到最大迭代次數(shù)退出算法,否則轉(zhuǎn)至Step2。
為確定種群更新公式中的兩個(gè)參數(shù)取值對(duì)算法的影響和驗(yàn)證算法性能,尋取3個(gè)常用基準(zhǔn)函數(shù)如表1所示。
表1 基準(zhǔn)函數(shù)表
學(xué)習(xí)率更新公式中參數(shù)a1、a2是算法性能的重要影響因素之一,設(shè)當(dāng)a1為自變量時(shí)a2=100,當(dāng)a2為自變量時(shí)a1=0.6,以Drop-Wave函數(shù)在種群數(shù)n=30時(shí),IPSO、ISPSO分別獨(dú)立運(yùn)行1001次,計(jì)算算法收斂所需迭代次數(shù)平均和尋找到的最優(yōu)值平均值。參數(shù)a1、a2的變化對(duì)算法平均收斂速度和準(zhǔn)確度平均值的影響如圖1所示。
圖1 學(xué)習(xí)率參數(shù)變化對(duì)算法影響圖
圖1中四幅圖分別表示IPSO算法、ISPSO算法在不同縮放因子a1、a2下的學(xué)習(xí)曲線(xiàn)。從圖1(a)可以看出IPSO算法種群學(xué)習(xí)率縮放因子a1增加時(shí)收斂精度上升,但同時(shí),收斂速度會(huì)有所降低;圖1(b)可以分析得出IPSO算法縮放因子a2增加時(shí)收斂精度降低,但收斂速度會(huì)上升。同理,圖1(c)、(d)可以得出ISPSO算法縮放因子a1增加時(shí)收斂精度上升,收斂速度降低;縮放因子a2增加時(shí)收斂精度降低,收斂速度會(huì)上升。
在本小節(jié)中,分別將PSO算法、IPSO算法、SPSO算法、ISPSO算法對(duì)三個(gè)常用基準(zhǔn)函數(shù)進(jìn)行1001次獨(dú)立尋優(yōu),設(shè)a1=0.01,a2=9,尋優(yōu)結(jié)果如表2表示。由表2可知,4個(gè)算法中PSO的收斂精度更高,其次為ISPSO,但其他算法收斂精度較之PSO變化不大。各個(gè)算法在不同函數(shù)下收斂曲線(xiàn)變化圖如圖2所示。
表2 算法尋優(yōu)結(jié)果均值和方差表
從圖2(a)、(b)、(c)的三幅收斂曲線(xiàn)圖可得,在四個(gè)算法中,PSO算法雖收斂精度較高,但收斂速度最慢。IPSO算法收斂精度最低,但收斂速度比PSO算法稍快一些。SPSO算法有著較快的收斂精度和收斂速度。收斂速度最快的是ISPSO算法,且其收斂精度僅次于PSO算法。
圖2 drop-wave、griewank、restrigin下不同算法收斂對(duì)比分析
VMD算法和MCKD算法的參數(shù)選擇對(duì)處理信號(hào)的結(jié)果影響較大,因此,合理對(duì)算法參數(shù)進(jìn)行選擇至關(guān)重要。采用IPSO算法對(duì)VMD及MCKD參數(shù)進(jìn)行尋優(yōu)選擇是有效并且可靠的。
亞像元信號(hào)提取的主要任務(wù)是將激光位移測(cè)量系統(tǒng)(LDMS)的模擬前端(AFE)混合信號(hào)中的噪音信號(hào)抑制或消除,提取出激光位移信號(hào)分量或多重反射信號(hào)[13]。
線(xiàn)陣CCD激光位移傳感器測(cè)量物體的位移時(shí),被測(cè)物體的位移、透明度、介質(zhì)吸收系數(shù)、厚度、表面粗糙度、光點(diǎn)直徑和折射系數(shù)等因素均會(huì)對(duì)AFE的信號(hào)造成影響,使得AFE的輸出信號(hào)為包含激光位移信號(hào)、多重反射位移信號(hào)、高斯白噪聲、瑞利散射噪聲等的混合信號(hào)[14]。
變分模態(tài)分解(VMD)可將一個(gè)復(fù)雜信號(hào)分解為有限數(shù)量的IMF之和[15],首先利用VMD對(duì)AFE輸出信號(hào)進(jìn)行信噪分離。由ISPSO尋找VMD的最優(yōu)模態(tài)分解個(gè)數(shù)K和二次懲罰因子α。設(shè)定適應(yīng)度函數(shù):
混合信號(hào)經(jīng)過(guò)VMD分解為K個(gè)IMF分量后,計(jì)算各個(gè)分量的峭度系數(shù),噪聲分量的峭度系數(shù)相對(duì)較小,選取峭度系數(shù)高的IMF分量信號(hào)重構(gòu),再對(duì)重構(gòu)信號(hào)進(jìn)行MCKD分解。
MCKD以最大峭度作為目標(biāo)函數(shù),通過(guò)迭代尋找一系列的FIR濾波器,使得原始周期性沖擊序列的相關(guān)峭度最大[16],其結(jié)果受濾波器長(zhǎng)度L、解卷積周期T、位移數(shù)M等的影響。利用ISPSO對(duì)MCKD尋最優(yōu)濾波器長(zhǎng)度L、解卷積周期T、位移數(shù)M。設(shè)適應(yīng)度函數(shù)為
其中Q為處理后信號(hào)的包絡(luò)譜峰值因子,P為原信號(hào)最高值點(diǎn)經(jīng)MCKD處理后的值。β3、β4為縮放因子。
采用基恩士的LK-081激光位移傳感器,測(cè)量試驗(yàn)臺(tái)與激光位移傳感器之間的距離,實(shí)驗(yàn)平臺(tái)如圖3所示,提取出的激光位移電信號(hào)如圖4所示。
圖3 實(shí)驗(yàn)平臺(tái)圖
圖4 實(shí)驗(yàn)采集激光位移信號(hào)圖
以式(5)中Ad為適應(yīng)度函數(shù),β1=0.5,β2=1,通過(guò)ISPSO算法對(duì)VMD參數(shù)的模態(tài)個(gè)數(shù)K和懲罰系數(shù)α進(jìn)行尋優(yōu),得K=5,α=438激光位移信號(hào)經(jīng)VMD分解得各IMF如圖5所示。
圖5 真實(shí)數(shù)據(jù)經(jīng)VMD分解結(jié)果圖
得到IMF1~I(xiàn)MF5的峭度系數(shù)為IMF1=16.2845;IMF2=14.4154;IMF=33.3531IMF=43.2383;IMF5=3.3277。
判定IMF3~I(xiàn)MF5為無(wú)用噪聲信號(hào),將IMF1和IMF2進(jìn)行信號(hào)重構(gòu),得如圖6所示信號(hào)。
圖6 真實(shí)數(shù)據(jù)經(jīng)VMD分解后重構(gòu)結(jié)果圖
對(duì)重構(gòu)后的信號(hào)進(jìn)行ISPSO_MCKD算法處理,適應(yīng)度函數(shù)式(6),β的取值為β3=0.4,β4=0.6,經(jīng)過(guò)對(duì)MCKD算法參數(shù)進(jìn)行尋優(yōu),得濾波器長(zhǎng)度L=498,解卷積周期T=142,位移數(shù)M=8,處理后圖形如圖7所示。
圖7 預(yù)處理后真實(shí)數(shù)據(jù)經(jīng)MCKD處理結(jié)果圖
可提取采樣序列峰值點(diǎn),其采樣序列坐標(biāo)為1996,將像元離散化后對(duì)應(yīng)亞像元峰值點(diǎn),再通過(guò)亞像元偏移補(bǔ)償,轉(zhuǎn)化為位移量等步驟即可得到位移量。
本文提出了一種粒子種群數(shù)與迭代次數(shù)相結(jié)合得動(dòng)態(tài)更新種群學(xué)習(xí)率的策略,改進(jìn)了粒子群算法和簡(jiǎn)化粒子群算法,提出的ISPSO算法擁有更快的收斂速度,精度較之PSO減小不大。對(duì)于需要快速收斂、參數(shù)要求嚴(yán)格的場(chǎng)合,ISPSO更適用。同時(shí),將算法應(yīng)用于激光位移傳感器信號(hào)亞像元峰值提取相關(guān)算法參數(shù)尋優(yōu),驗(yàn)證了該算法的可行性。
目前,該算法已成功應(yīng)用于基于激光位移傳感器的汽車(chē)前束角的檢測(cè)與調(diào)整相關(guān)算法參數(shù)尋優(yōu),激光測(cè)量汽車(chē)前橋前束角系統(tǒng)構(gòu)架如圖8所示。
圖8 IPSO_VMD_MCKD用于汽車(chē)前束角檢測(cè)圖
系統(tǒng)通過(guò)伺服電機(jī)驅(qū)動(dòng)滑軌,利用激光位移傳感器測(cè)量位移,利用VMD與MCKD處理后,測(cè)得同一輪轂兩點(diǎn)距離,通過(guò)計(jì)算即可得到汽車(chē)前束角。