王繼選, 胡潤志, 管 一, 張少愷, 曹慶皎, 王利英
(河北工程大學(xué) 水利水電學(xué)院,河北 邯鄲 056038)
作為水電站的核心設(shè)備,水電機組安全穩(wěn)定的運行不僅可以產(chǎn)生巨大經(jīng)濟效益,同時可以確保整個廠區(qū)的安全[1-3]。研究表明,機組振動信號能夠反映機組的故障信息。水電機組在運行過程中受到多種因素共同作用,其中主要影響因素包括水力、機械、電磁等,因此其振動情況十分復(fù)雜,很難準(zhǔn)確確定其振動規(guī)律。隨著機組運行時間不斷地累積,機組各個部位會出現(xiàn)不同程度損耗,隨著損耗程度不斷加劇,機組性能會不斷下降,部分設(shè)備甚至?xí)霈F(xiàn)故障,嚴(yán)重影響水電機組安全穩(wěn)定的運行[4-5]。因此,為了提高水電機組運行效率,保證水電機組的安全可靠運行,需要對水電機組振動趨勢預(yù)測進行相關(guān)研究,為維護人員提前發(fā)現(xiàn)水電機組故障并及時檢修進而保證水電機組運行的綜合效益提供保障。
由于水電機組振動具有非平穩(wěn)、非線性特點,傳統(tǒng)的預(yù)測理論難以實現(xiàn)對水電機組振動趨勢預(yù)測。神經(jīng)網(wǎng)絡(luò)以其強大的自學(xué)習(xí)和自適應(yīng)能力、并行分布處理能力以及對多維復(fù)雜非線性關(guān)系的建模能力而受到研究者的廣泛青睞[6-9]。神經(jīng)網(wǎng)絡(luò)建模在水電機組振動趨勢預(yù)測領(lǐng)域已被廣泛應(yīng)用。Wu等[10]使用將灰色關(guān)聯(lián)分析(GRA)和模糊支持向量回歸(FSVR)相結(jié)合的預(yù)測方法應(yīng)用于水電機組的振動預(yù)測,通過對比實驗,驗證了該方法的準(zhǔn)確性。賈春雷等[11]建立了水電機組 BP 神經(jīng)網(wǎng)絡(luò)預(yù)測模型對水電機組振動趨勢進行了預(yù)測,預(yù)測結(jié)果驗證了該模型的可行性。與BP神經(jīng)網(wǎng)絡(luò)相比,廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)結(jié)構(gòu)簡單,參數(shù)設(shè)置單一。在處理函數(shù)逼近能力和學(xué)習(xí)速度等方面更具優(yōu)勢,在非線性問題處理中被廣泛使用。但其spread(平滑因子)的取值直接影響 GRNN 的預(yù)測結(jié)果。為了提高該模型預(yù)測精度,研究者提出采用優(yōu)化算法對 GRNN 的平滑因子進行優(yōu)化。田源等[12]利用果蠅算法(FOA)對GRNN模型的平滑因子進行優(yōu)化,并將優(yōu)化后的模型用于水電機組振動的趨勢預(yù)測中,通過對比測試結(jié)果,驗證FOA算法可以有效提高算法預(yù)測精度。但是果蠅優(yōu)化算法也存在部分缺陷,具體包括:收斂速度慢、尋優(yōu)精度不高、易得到局部最優(yōu)解等問題。戈濤等[13]提出一種新型改進果蠅算法,通過步長遞減和隨機策略,增強了算法的穩(wěn)定性,提高了算法運算效率。但是該改進果蠅算法的穩(wěn)定性和運算效率沒有達到最佳,可進做一步改進。
針對上述模型結(jié)構(gòu)相對復(fù)雜;預(yù)測精度不夠高;運算速度和效率不能達到最佳等問題,本文提出一種改進的FOA算法優(yōu)化GRNN模型的方法。通過將果蠅算法搜索步長和氣味濃度判定公式進行改進,進一步利用改進后的算法對 GRNN 的平滑因子進行優(yōu)化處理。將優(yōu)化后的平滑因子代入GRNN模型用于水電機組振動趨勢預(yù)測,預(yù)測結(jié)果表明,相較于其他兩種預(yù)測模型,RFOA-GRNN模型在水電機組振動預(yù)測時具有更高的預(yù)測精度和模型穩(wěn)定性,對維護人員提前發(fā)現(xiàn)水電機組故障并及時檢修進而保證水電機組安全穩(wěn)定的運行具有重要意義。
廣義回歸神經(jīng)網(wǎng)絡(luò)模型(generalized regression neural network,GRNN)在1991年提出。GRNN包括輸入層、模式層、求和層和輸出層[14-16]。結(jié)構(gòu)如圖1所示。輸入訓(xùn)練樣本為X=[X1,X2…Xn]T,輸出樣本為Y=[Y1,Y2…Yk]T,n和k均為實數(shù),其中n代表輸入訓(xùn)練樣本向量維度,k代表輸出樣本向量維度。
圖1 廣義回歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
從圖1所示,輸入層將信息傳至模式層,其傳遞函數(shù)如式(1)所示。
(1)
式中:X為GRNN網(wǎng)絡(luò)輸入?yún)?shù);Xi為第i個神經(jīng)元所對應(yīng)訓(xùn)練樣本,(其中i為1,2,…,n);σ為平滑因子。
輸出層Yj由求和層中分子分子層神經(jīng)元SNj與分母層神經(jīng)元SD相除得到,其傳遞函數(shù)如式(2)所示。
(2)
由式(1)可知,當(dāng)平滑因子σ取值較大時,Pi趨于1,輸出的結(jié)果近似等于所有樣本數(shù)據(jù)的平均值,反之,當(dāng)平滑因子取值接近 0 時,Pi會趨于無窮,此時輸出層產(chǎn)生的預(yù)測值則會更加接近訓(xùn)練樣本。如果輸入的數(shù)據(jù)未包含在樣本內(nèi)時,所得到的預(yù)測結(jié)果與實際值誤差可能會很大,可能會出現(xiàn)過擬合現(xiàn)象。由上述結(jié)論,可知使用GRNN模型進行水電機組振動預(yù)測時,為了提高預(yù)測精度,需要尋找一個最佳平滑因子σ。作為一種常用優(yōu)化算法,F(xiàn)OA的優(yōu)點是算法簡單,參數(shù)少,但FOA算法存在收斂所需時間長、尋優(yōu)精度不高、易得到局部最優(yōu)解等問題。因此,本文引入一種改進的FOA算法去確定GRNN模型的最優(yōu)平滑因子。
果蠅優(yōu)化算法是一種模擬果蠅覓食行為,尋求全局優(yōu)化的新算法。果蠅本身在嗅覺和視覺上遠遠優(yōu)于其他物種,因此它能收集漂浮在空氣中的各種氣味[17]。果蠅往食物所在地點飛去時,可以用敏銳的視覺找到食物和同伴聚集的地點,并朝此方向飛行。
FOA算法中,果蠅算法進行迭代尋優(yōu)時,搜索步為固定值。由此會產(chǎn)生兩個問題:①當(dāng)設(shè)置搜索步長太大,算法全局尋優(yōu)能力強,但是會降低收斂精度,導(dǎo)致收斂時錯過最優(yōu)解;當(dāng)設(shè)置搜索步長過小,會增加收斂時間,且算法全局尋優(yōu)能力減弱,易陷入局部最優(yōu)解;②果蠅氣味濃度判定值恒為正值,無法對負值區(qū)域進行搜索,造成果蠅算法全局尋優(yōu)能力降低[18-19]。針對以上所述問題,本文對FOA算法做出如下改進。
改進FOA算法尋優(yōu)過程可分為7個步驟,具體如下:
步驟1初始化參數(shù)
初始化果蠅群體大小Z,設(shè)置最大迭代次數(shù)M,果蠅隨機生成位置(Xaxis,Yaxis)。
Xaxis=10·Rand()
Yaxis=10·Rand()
(3)
式中,Rand()為0~1之間的隨機數(shù)。
步驟2對FOA算法搜索步長進行改進,采用動態(tài)遞減步長的策略。
Xi=Xaxis+L·Rand()
(4)
Yi=Yaxis+L·Rand()
(5)
式中:(Xi,Yi)為果蠅在空間中迭代搜尋軌跡;L·Rand()為果蠅隨機搜索空間距離;Rand()為0~1之間的隨機數(shù)。
(6)
式中:L為搜索半徑;Lmax為最大搜索半徑;Lmin為最小搜索半徑;M為當(dāng)前尋優(yōu)次數(shù);Mmax為最大迭代尋優(yōu)次數(shù);p為步長調(diào)節(jié)因子;c為權(quán)重因子。此方法解決了固定搜索半徑存在的問題,使算法在尋優(yōu)前期有較大的搜索半徑,可加快算法的收斂速度,提高算法全局尋優(yōu)能力,避免算法在早期取得局部最優(yōu)解。隨著迭代次數(shù)的增加,搜索半徑減小,算法局部尋優(yōu)能力增加,算法的收斂精度提高。
步驟3改進果蠅算法氣味濃度判定公式
(7)
Δ=Disti*[0.5+rand()]
(8)
式中:Disti表示果蠅個體迭代尋優(yōu)時與原點之間的距離;Si表示果蠅氣味濃度判定值;Δ表示跳脫因子;sgn()表示一個階躍函數(shù);Rand() 為0~1的隨機數(shù)。給Si增加一個Δ,可使FOA算法迭代尋優(yōu)過程中,能夠成功跳出局部極值的狀態(tài),進而更易取得全局最優(yōu)解。同時使用階躍函數(shù),當(dāng)果蠅個體在二維坐標(biāo)的二、四象限迭代尋優(yōu)時,Si可取負值。通過式(8)可以實現(xiàn)FOA算法對負值空間的全面搜索,增強了果蠅優(yōu)化算法的空間搜索能力,極大降低了算法陷入局部最優(yōu)的幾率。
步驟4將式(8)的Si代入函數(shù)F(Si),計算出果蠅的氣味濃度值。
Smelli=Function(Si)
(9)
式中,Smelli為果蠅群體中各個體的氣味濃度值;Function(Si)為氣味濃度判定函數(shù)。
步驟5尋找最佳氣味濃度值,當(dāng)需要求解最大值時,取群體中最高氣味濃度的果蠅,反之,取最低氣味濃度的果蠅。
[bestSmell bestindex]=min(Smell)
(10)
式中:min(Smell)表示最低氣味濃度果蠅個體;bestSmell表示最低氣味濃度值;bestindex表示該果蠅在二維空間中的位置。
步驟6保留最佳氣味濃度值及該值的坐標(biāo),此時果蠅群體中其他果蠅會向此方向飛行。
Smellbest=bestSmell
Xaxis=X(bestindex)
Yaxis=Y(bestindex)
(11)
式中:Smellbest表示保留最佳氣味濃度值;(Xaxis,Yaxis)表示對應(yīng)果蠅位置坐標(biāo)。
步驟7重復(fù)執(zhí)行步驟2~5,迭代尋優(yōu);判斷當(dāng)前迭代次數(shù)是否達到最大迭代次數(shù);若達到,則輸出最優(yōu)結(jié)果;否則繼續(xù)循環(huán)執(zhí)行步驟2~步驟5,直至達到最大迭代次數(shù)。
為了驗證本文提出的改進果蠅(RFOA)算法的尋優(yōu)性能,本文選取了8個標(biāo)準(zhǔn)基函數(shù)對FOA,遞減步長果蠅優(yōu)化算法(DSFOA)以及RFOA算法進行性能測試,測試函數(shù)如表1所示。測試結(jié)果如表2所示。
由表2的測試結(jié)果可得,無論是求解峰值為單峰還是多峰的函數(shù),本文所提出的RFOA算法迭代尋優(yōu)所得到的測試函數(shù)的平均值和標(biāo)準(zhǔn)偏差均小于其他兩種優(yōu)化算法所得的結(jié)果。由此可得出RFOA算法的穩(wěn)定性及尋優(yōu)精度更佳。驗證了RFOA算法的有效性。
RFOA優(yōu)化GRNN的思路是,將果蠅與初始位置之間的距離倒數(shù)Si作為平滑因子,將樣本數(shù)據(jù)分為兩組[20],即一組數(shù)據(jù)用于預(yù)測模型訓(xùn)練,一組數(shù)據(jù)用于結(jié)果測試,這樣可避免網(wǎng)絡(luò)訓(xùn)練過度。求輸出樣本的均方根誤差(RMSE)作為氣味濃度判定函數(shù),函數(shù)的值為氣味濃度值;然后調(diào)換訓(xùn)練集和測試集,進行交叉訓(xùn)練,進一步提高算法的精度,同樣求其氣味濃度值。通過不斷循環(huán)執(zhí)行,直到得到最小的氣味濃度值或達到最大迭代次數(shù)時,結(jié)束執(zhí)行。此時得到最佳氣味濃度值為最優(yōu)平滑因子。
RFOA優(yōu)化GRNN的預(yù)測流程圖如圖2所示,其詳細步驟如下:
步驟1收集水電機組振動數(shù)據(jù)并提取主要變量,對數(shù)
表1 測試函數(shù)
表2 測試結(jié)果
據(jù)歸一化處理,同時將數(shù)據(jù)分為訓(xùn)練樣本分為測試樣本;
步驟2設(shè)置種群大小Z和最大迭代次數(shù)Mmax,設(shè)置果蠅隨機生成位置(Xaxis,Yaxis);
步驟3計算果蠅到初始位置距離(D),以1/D作為氣味濃度判定值(S),將S作為平滑因子σ;
圖2 RFOA優(yōu)化GRNN的預(yù)測流程圖Fig.2 Prediction flow chart of RFOA optimized GRNN
步驟4將RFOA-GRNN振動測試數(shù)據(jù)的均方根誤差(RMSE)作為氣味濃度判斷函數(shù),將平滑因子代入函數(shù),計算出該果蠅個體的氣味濃度值;
(12)
步驟5通過不斷迭代,找出果蠅群體中氣味濃度值最小的個體(即 RMSE 值最小),記錄此時最優(yōu)氣味濃度值,保留此果蠅位置坐標(biāo);
步驟6判斷當(dāng)前迭代次數(shù)是否達到最大迭代次數(shù);若達到,則輸出最優(yōu)平滑因子;否則繼續(xù)循環(huán)執(zhí)行步驟3~步驟5直至達到最大迭代次數(shù);
步驟7將優(yōu)化得到的最優(yōu)平滑因子輸入GRNN網(wǎng)絡(luò),對水電機組振動數(shù)據(jù)進行預(yù)測,計算相對誤差。
實例水電機組振動信號選自凌津灘水電廠8號水電機組水導(dǎo)振動嚴(yán)重超標(biāo)產(chǎn)生的振動信號,依據(jù)國家標(biāo)準(zhǔn)規(guī)定,燈泡貫流式水電機組水導(dǎo)軸承的振動限定值為120 μm,而本文研究的對象水導(dǎo)軸承振動值超過了300 μm,超過了標(biāo)準(zhǔn)限值2.5倍。為了確保水電機組運行時的安全與穩(wěn)定,防止水導(dǎo)軸承振動嚴(yán)重超標(biāo)對電廠正常運行產(chǎn)生安全隱患。電廠立項對8號機組水導(dǎo)軸承振動超標(biāo)問題進行專題研究項目結(jié)合離線穩(wěn)定性和協(xié)聯(lián)試驗數(shù)據(jù)、在線監(jiān)測系統(tǒng)歷史數(shù)據(jù)和現(xiàn)場檢修測量數(shù)據(jù),分析影響水導(dǎo)軸承振動的機械因素、電氣因素、水力因素,通過振幅計算各因素對其振動的具體貢獻率,確定水力因素是引起水導(dǎo)軸承振動超標(biāo)的主要因素,貢獻率達到68%,水導(dǎo)軸承振動幅值與過機流量、水頭呈正相關(guān)關(guān)系;其次為機械因素,機械因素對水導(dǎo)水平、垂直振動的貢獻率分別為33.25%、59.94%;電氣因素對降低水導(dǎo)軸承振動有利,其對水導(dǎo)軸承水平、垂直振動的貢獻率為-1.88%、-28.34%。
通過具體分析,引起水導(dǎo)軸承振動超標(biāo)的水力因素主要為:協(xié)聯(lián)關(guān)系、槳葉開口不均勻、槳葉與轉(zhuǎn)輪室間隙,機械因素主要為水輪機側(cè)的動不平衡。
本文研究對象為該水電機組水導(dǎo)-X向擺度的歷史振動數(shù)據(jù),選取機組水導(dǎo)軸承振動嚴(yán)重超標(biāo)時段的100組振動數(shù)據(jù)進行預(yù)測分析,選取80組振動數(shù)據(jù)作為訓(xùn)練樣本,剩下為測試樣本。
由于水電機組振動是非線性的,其工作現(xiàn)場環(huán)境相對復(fù)雜,使得從水電站采集的原始振動數(shù)據(jù)會受到不同程度的干擾,所以這些數(shù)據(jù)樣本中不可避免的存在一些誤差樣本。若直接使用這些原始數(shù)據(jù)樣本,會對預(yù)測模型測試精度造成影響,也可能降低預(yù)測模型收斂能力。所以在使用這些原始數(shù)據(jù)樣本進行分析之前,要進行數(shù)據(jù)歸一化處理,如式(13)所示。
(13)
水電機組水導(dǎo)軸承振動嚴(yán)重超標(biāo)時段水導(dǎo)-X向擺度的歷史數(shù)據(jù)圖如圖3所示。
圖3 水導(dǎo)-X向擺度歷史數(shù)據(jù)圖Fig.3 Historical data of water conductivity-X direction swing
圖3中橫坐標(biāo)表示水導(dǎo)振動嚴(yán)重超標(biāo)的某一時間段內(nèi)連續(xù)監(jiān)測的100組振動數(shù)據(jù)。
振動模型參數(shù)設(shè)置如下:種群大小Z=30;迭代次數(shù)Mmax=100;最大搜索半徑Lmax=5;最小搜索半徑Lmin=0.1;步長調(diào)節(jié)因子p=0.5;權(quán)重因子c=0.7。
如圖4所示為三種模型RMSE收斂過程??梢缘玫紽OA算法優(yōu)化GRNN平滑因子,經(jīng)過100次迭代運算,從第3代開始收斂,到第37代結(jié)束收斂,對應(yīng)最小的均方根誤差RMSE的值為0.216 2,此時最優(yōu)平滑因子值為0.099;DSFOA算法優(yōu)化過程從第2代開始收斂到第35代結(jié)束收斂,得到對應(yīng)最小的均方根誤差RMSE的值為0.213 8,此時最優(yōu)平滑因子值為0.045;而本文提出的RFOA算法優(yōu)化過程從第2代開始收斂到第28代結(jié)束收斂,得到對應(yīng)最小的均方根誤差RMSE的值為0.210 2,此時最優(yōu)平滑因子值為0.027。
圖4 三種模型迭代收斂曲線Fig.4 RMSE convergence process of three models
由此可得到RFOA-GRNN相比FOA-GRNN和DSFOA-GRNN,收斂速度更快,且精度更高。穩(wěn)定性更好。此時將測試樣本代入三種振動預(yù)測模型中,將得到的最優(yōu)平滑因子也分別代入各模型,得到的預(yù)測結(jié)果與實際值的相對誤差如表3、圖5所示。
由圖5可以得到,RFOA-GRNN方法的預(yù)測結(jié)果輸出曲線對比其他兩種方法更接近實際預(yù)測結(jié)果輸出曲線??傻帽疚奶岢鯮FOA-GRNN方法的預(yù)測結(jié)果輸出曲線可以很好的擬合水電機組振動數(shù)據(jù)曲線,預(yù)測結(jié)果誤差更小,精度更高。這是由于RFOA-GRNN模型的平滑因子小于其他兩模型平滑因子,從而使得此模型預(yù)測輸出值更接近測試樣本的實際輸出值。
表3 3種模型對振動數(shù)據(jù)預(yù)測結(jié)果及相對誤差
圖5 三種模型預(yù)測數(shù)據(jù)與實際數(shù)據(jù)結(jié)果對比
由表3和圖6可以得到,F(xiàn)OA-GRNN模型預(yù)測的相對誤差保持在[-0.5,0.4]%之內(nèi)。取絕對值后最大相對誤差為0.460 2%。DSFOA-GRNN模型預(yù)測的相對誤差保持在[-0.03,0.03]%之內(nèi)。取絕對值后最大相對誤差為0.027 9%。RFOA-GRNN模型預(yù)測的相對誤差保持在[-0.000 2,0.000 2]%之內(nèi)。取絕對值后最大相對誤差為0.000 2%??梢园l(fā)現(xiàn)RFOA-GRNN方法預(yù)測結(jié)果的最大相對誤差比FOA-GRNN和DSFOA-GRNN方法分別減少了99.96%和99.28%。對比三種模型可以得到,本文提出的RFOA模型預(yù)測精度最高,可以很好地實現(xiàn)水電機組振動趨勢的預(yù)測。
圖6 三種模型預(yù)測振動數(shù)據(jù)相對誤差對比
為了確保水電機組振動預(yù)測結(jié)果更準(zhǔn)確,保障水電機組安全穩(wěn)定的運行,本文提出了一種改進的FOA優(yōu)化GRNN模型的方法,基于工程實例分析得到如下結(jié)論:
(1) 對FOA算法采用動態(tài)遞減步長的策略并優(yōu)化改進氣味濃度判定值,在果蠅優(yōu)化算法基礎(chǔ)上增加了跳脫因子Δ并使用階躍函數(shù),擴大了果蠅尋優(yōu)范圍,解決了算法易陷入局部最優(yōu)解的問題。選取測試函數(shù)對FOA,DSFOA以及RFOA算法進行測試,得出RFOA算法的穩(wěn)定性更強,尋優(yōu)精度更高。驗證了RFOA算法的有效性。
(2) 利用FOA,DSFOA,RFOA三種優(yōu)化算法優(yōu)化GRNN的平滑因子并建立振動預(yù)測模型,將振動預(yù)測模型用于水電機組振動趨勢預(yù)測中,與 FOA-GRNN 和DSFOA-GRNN兩種模型的預(yù)測結(jié)果對比,RFOA-GRNN模型預(yù)測能力更強,預(yù)測精度更高;同時該模型結(jié)構(gòu)簡單、便于操作、運行高效,可以很好的應(yīng)用于水電機組狀態(tài)趨勢預(yù)測研究中,為維護人員提前發(fā)現(xiàn)水電機組故障并及時檢修進而保證水電機組安全穩(wěn)定的運行提供保障。