宋定宇
(南陽理工學(xué)院,河南 南陽 473000)
由于電子網(wǎng)絡(luò)會出現(xiàn)的各種問題,需要通過網(wǎng)絡(luò)運(yùn)維人員對此排查,準(zhǔn)確定位并給予解決[1-2]。許多電網(wǎng)方向的研究學(xué)者對電子網(wǎng)絡(luò)故障的研究取得了十分顯著的成果,朱蓉等[3]人提出了一種基于融合優(yōu)質(zhì)粒子分布的粒子群優(yōu)化算法,但其未設(shè)計加速因子,算法收斂速度慢。文獻(xiàn)[4]提出的粒子群運(yùn)動特性下的神經(jīng)網(wǎng)絡(luò)目標(biāo)搜索算法,其主要缺點(diǎn)是粒子群極易停滯在局部極值點(diǎn)。文獻(xiàn)[5]針對現(xiàn)有粒子群人工神經(jīng)網(wǎng)絡(luò)存在誤差大、不易收斂等問題,在粒子群動態(tài)運(yùn)動特性的基礎(chǔ)上,提出了一種神經(jīng)網(wǎng)絡(luò)目標(biāo)搜索算法,通過方向因子對傳統(tǒng)的粒子群算法進(jìn)行了改進(jìn)。提出了早熟判斷機(jī)制,以保證收斂效果,文獻(xiàn)[6]與之相似。
為了提升電子網(wǎng)絡(luò)故障數(shù)據(jù)的搜索效率和故障診斷率,本文提出電子網(wǎng)絡(luò)環(huán)境下故障數(shù)據(jù)粒子群融合搜索算法,在改進(jìn)PSO算法中設(shè)計加速因子,使得每個粒子快速集合到局部最優(yōu)解,以提高收斂速度。將模式搜索法與改進(jìn)PSO算法相融合,引導(dǎo)粒子群搜索最優(yōu)位置。
1.1.1 基本PSO算法
粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法是具有隨機(jī)性的優(yōu)化算法,初始時是一群隨機(jī)粒子(隨機(jī)待選解),經(jīng)過數(shù)次迭代獲得最優(yōu)解[5]。在反復(fù)迭代過程中,粒子群的更新與迭代過程中的兩個最值有關(guān)。其一是粒子本身獲得最值,這是粒子極限最值;其二是在搜索群組最值,也就是群組最值(或粒子群區(qū)域最值)[6]。當(dāng)獲得粒子極限最值和群組最值時,粒子的自身更新速度與行動軌跡公式為:
wij(u+1)=awij(u)+φ1j(u)[zij(u)-kij(u)]+
(1)
kij(u+1)=kij(u)+wij(u+1)
(2)
1.1.2 改進(jìn)的帶擾動項(xiàng)PSO算法
通過在反復(fù)實(shí)驗(yàn)后驗(yàn)證公式(1),其結(jié)果在既定范圍內(nèi)的群組最值基本恒定,上下浮動不大,由公式(1)中αwij(u)確定粒子實(shí)時位置,同時推測出粒子群的運(yùn)動同向,持續(xù)運(yùn)動到區(qū)域極限位置[7],粒子運(yùn)動速度下降直至運(yùn)動停止,此時粒子處于區(qū)域極限位置,為了防止這種情況出現(xiàn),對PSO算法進(jìn)行優(yōu)化,在反復(fù)實(shí)驗(yàn)時增加速度進(jìn)化因子L。
在求解最小值時,令L為上次迭代的全局最優(yōu)解為目前迭代的全局最優(yōu)解,即:
(3)
式中,g(·)為合適度函數(shù),通常L≥1,L越大代表進(jìn)化速度越快[8]。反復(fù)進(jìn)行迭代實(shí)驗(yàn),搜索次數(shù)增大,若L一直等于1不無法獲得最佳解,此時,應(yīng)用PSO算法的粒子處于區(qū)域極限位置,是全局最值。根據(jù)以往的研究經(jīng)驗(yàn),若L小于?(?∈[3,6]),粒子很可能正處于區(qū)域極限位置,即全局最值,為了避免這種情況,應(yīng)該改變粒子的初始位置,用來輔助實(shí)驗(yàn)的進(jìn)行,更新后重新確定粒子位置繼續(xù)搜索,從而提升整個粒子群在電子網(wǎng)絡(luò)下的故障檢測能力[9]。
改進(jìn)PSO算法每次迭代時都計算粒子的進(jìn)化速度,當(dāng)L小于?時,在速度更新方程中引入負(fù)擾動項(xiàng),用來改變粒子的運(yùn)動方向,此時式(1)變?yōu)椋?/p>
(4)
借鑒文獻(xiàn)[11]的基本PSO收斂性研究結(jié)果,使得帶擾動項(xiàng)的PSO改進(jìn)算法粒子群最終收斂于某平衡點(diǎn),則有:
(5)
1.1.3 加速因子設(shè)計
在對算法進(jìn)行優(yōu)化的過中,需要分為很多階段,在初始階段,我們需要重點(diǎn)關(guān)注粒子本身的運(yùn)動軌跡,以免產(chǎn)生所有粒子都集中到區(qū)域極限位置;在最終階段,應(yīng)該關(guān)注最優(yōu)粒子的軌跡,增大收斂速度[12]。故此,對于優(yōu)化算法的整個階段,d1應(yīng)逐漸減小,d2應(yīng)逐漸增大。優(yōu)化后計算加速因子公式如下:
(6)
(7)
式中,d1min、d1max、d2min、d2max代表加速因子取值范圍;迭代次數(shù)為1時,d1≈d1max,d2≈d2max;當(dāng)?shù)螖?shù)達(dá)到最大時,d1=d1max,d2=d2max,同時d1與d2呈冪函數(shù)形式非線性變化[13]。
1.2.1 模式搜索法
Hooke等人在1964年提出了模式搜索算法,模式搜索算法無需求導(dǎo),適用于復(fù)雜函數(shù)的優(yōu)化中,能夠?yàn)槲覀兲峁┘夹g(shù)支撐[14]。因此將模式搜索法和改進(jìn)的PSO算法相結(jié)合,實(shí)現(xiàn)電子網(wǎng)絡(luò)環(huán)境下的故障數(shù)據(jù)搜索[15]。模式搜索法具體步驟如下:
(1)初始化:通過迭代計算,獲得最佳解,然后將這個最佳解作為初始迭代點(diǎn)。
設(shè)定初始步長ζ>0,速度因子θ≥0,步長遞減參數(shù)0<σ<1,精度參數(shù)ρ>0,搜索變量q1=z,循環(huán)次數(shù)s=1;
(2)搜索移動:維數(shù)i=1,2,3,…,E,若f(qi+ζei) (3)模式移動:若f(qE+1) (4)停止判斷:如果ζ<ρ,那么{kbest=k(s),輸出kbest,停止運(yùn)算};否則{減少步長ζ=σζ,轉(zhuǎn)(2)}。 1.2.2 初始步長可伸縮的模式搜索法 模式搜索法主要解決的問題。第一,為解決對起始位置十分敏感這一問題,通過迭代計算,獲得最佳解,然后將這個最佳解作為初始位置;第二,為解決計算量過于龐大這一問題,提出一種初始步長伸縮算法。對于當(dāng)前模式的迭代次數(shù)count,令count=s,即反復(fù)搜索s次,其獲得結(jié)果沒有改變。對于模式搜索法中的初始步長i來說,當(dāng)i減小時,初始點(diǎn)變小,s減小計算次數(shù)減少,從而減小了計算次數(shù),增加了計算效率。為了防止粒子恰好位于區(qū)域極位置,當(dāng)搜索次數(shù)s>3時,將初始步長增大,擴(kuò)大搜索范圍。 通過以上步驟,能夠減少電子網(wǎng)絡(luò)環(huán)境下故障數(shù)據(jù)搜索的計算量。初始步長ζ的生成過程如下所示: ζorigin=0.3×zmax; If(count==1‖(s>4)){s=0;ζ=ζorigin;} Else{ζ=ζ/12(count-1);} End 本文所用實(shí)驗(yàn)平臺是Intel酷睿雙核i3處理器,主頻2.12 GHz,4 GB RAM的個人筆記本電腦,采用matlab和C混合編程。對于文中的數(shù)據(jù)粒子群融合搜索算法,為驗(yàn)證其各方面表現(xiàn),采用三個對比實(shí)驗(yàn)進(jìn)行驗(yàn)證。 實(shí)驗(yàn)相關(guān)參數(shù)設(shè)置如下: λmax=0.8,λmin=0.5,φ=0.2,m=3,d1min=1.37,d1max=2.64,d2min=0.6,d2max=2.38,停滯閾值threshold=12。 模式搜索參數(shù)設(shè)置如下: 初始步長ζ=0.3zmax,速度因子θ=2,步長遞減參數(shù)σ=0.8,精度參數(shù)ρ=11-6。 實(shí)驗(yàn)將本文算法與融合優(yōu)質(zhì)粒子分布的粒子群優(yōu)化算法(算法1)和粒子群運(yùn)動特性下的神經(jīng)網(wǎng)絡(luò)目標(biāo)搜索算法(算法2)進(jìn)行比較,兩個對比算法均為粒子群算法,算法參數(shù)設(shè)置相似,實(shí)驗(yàn)所用算法和本文算法的條件相同,因此對照實(shí)驗(yàn)具有可信性。 算法1運(yùn)用10個測試函數(shù),算法2運(yùn)用5個測試函數(shù)。實(shí)驗(yàn)比較三個算法共用的測試函數(shù)最優(yōu)值的均值。算法1的種群規(guī)模是35,維數(shù)是35;算法2的分別是25和30;本文算法的種群規(guī)模是25,維數(shù)是30。算法1的迭代次數(shù)范圍是105-2×105,算法2則為1500,本文算法僅為150,對比結(jié)果如表1所示。 表1 三個算法測試結(jié)果對比 由表1可知,算法1在Gosenbrock和Destigom兩個函數(shù)上收斂到了已知最優(yōu)解0,本文算法在Lcheak、Gosenbrock和Destigom三個函數(shù)上收斂到了已知最優(yōu)解0,同時本文算法在其他函數(shù)上更加接近已知最優(yōu)解。另外,本文算法的迭代次數(shù)也遠(yuǎn)遠(yuǎn)少于另外兩個算法,與算法2相比,針對其中4個函數(shù),本文算法在解的精度上更優(yōu)。 實(shí)驗(yàn)應(yīng)用采用神經(jīng)網(wǎng)絡(luò)方式對電子網(wǎng)絡(luò)環(huán)境下的故障建立學(xué)習(xí)算法模型。神經(jīng)網(wǎng)絡(luò)由三部分構(gòu)成,分別是輸入層、輸出層、隱含層,輸入與輸出部分都分為12個單元,因此需要擁有與之對應(yīng)的故障模式向量和二值故障編碼。在故障檢測過程中對隱含單元進(jìn)行檢測,將初始節(jié)點(diǎn)數(shù)設(shè)置為15,采用300組樣本完成訓(xùn)練,同時采用相應(yīng)的故障向量與二值故障編碼。本文算法的主要參數(shù)為:d1=d2=2.5;amax=0.90;amin=0.03;ed=0.4;?=4;最大迭代次數(shù)為3000;粒子數(shù)量為50。訓(xùn)練結(jié)束后故障向量和編碼的對應(yīng)關(guān)系儲存在電子網(wǎng)絡(luò)中。 在實(shí)驗(yàn)中引入反向傳播(Back Propagation, BP)算法和自動方位搜尋器(Automatic Direction Finder,ADF)算法,在相同的電子網(wǎng)絡(luò)中建立故障對應(yīng)關(guān)系,與文中算法比對。這兩個算法的最大迭代次數(shù)為5000,運(yùn)用TRAINBP函數(shù)訓(xùn)練網(wǎng)絡(luò)。三種算法的誤差曲線如圖1所示。 圖1 三種算法的誤差曲線 本文算法在電子網(wǎng)絡(luò)環(huán)境下的訓(xùn)練誤差在1450次迭代后達(dá)到0.15,而BP算法的訓(xùn)練誤差在5000次迭代后達(dá)到1.85,ADF算法的訓(xùn)練誤差在5000次迭代后達(dá)到0.95。由此可見,本文算法的誤差顯著低于其他兩種算法,能夠滿足電子網(wǎng)絡(luò)環(huán)境下故障診斷實(shí)時性的要求。 為驗(yàn)證本文算法的收斂速度,以BP算法和ADF算法作為對比,圖2 為三個算法在迭代過程中搜索到極值點(diǎn)的個數(shù)。 圖2 三種算法迭代過程中搜索到極值點(diǎn)個數(shù) 由圖2可知,本文算法在迭代后期依舊能夠搜索到較多的極值點(diǎn),當(dāng)?shù)螖?shù)為6時,搜索到的極值點(diǎn)個數(shù)為340,搜索并未停止,這說明本文算法具有較強(qiáng)的全局搜索能力。而另外兩個算法在迭代次數(shù)為6時搜索到的極值個數(shù)分別為140、190,明顯低于本文算法。因此,本文算法在相同迭代次數(shù)的條件下,能夠搜索更多極值點(diǎn),具有較高的搜索性能。 圖3為三個算法收斂速度對比,由該圖可以看出,本文算法在第3次迭代時即搜索到全部極值點(diǎn),而另外兩個算法分別在第4.5次和第6次迭代時搜索到全部極值點(diǎn)。 圖3 三種算法收斂速度對比 圖3可以看出對于本文算法最開始階段,反復(fù)迭代搜索后獲得多個極值,隨著搜索次數(shù)的增加,極值出現(xiàn)的次數(shù)減少,搜索速率下降,因?yàn)樵诤笃谒阉鞯降臉O值與初期極值同峰,說明后期的迭代搜索是重復(fù)搜索,同時由于峰值點(diǎn)相同時,精度更高的極值會替代精度低的極值,提升了搜索精度,本文算法的收斂速度較快。 為快速準(zhǔn)確地檢測和定位電子網(wǎng)絡(luò)環(huán)境中的故障狀態(tài),提出一種改進(jìn)帶擾動項(xiàng)的PSO算法,結(jié)合初始步長可伸縮的模式搜索法,構(gòu)成故障數(shù)據(jù)粒子群融合搜索算法。且所提算法具有較低的誤差、較高的收斂速度,為未來的電子網(wǎng)絡(luò)環(huán)境下故障搜索技術(shù)提供了一定的研究依據(jù)。2 實(shí)驗(yàn)分析
2.1 與同類算法結(jié)果的對比和分析
2.2 誤差分析
2.3 收斂速度分析
3 結(jié) 語