蘇志鵬,王東風(fēng)
(華北電力大學(xué) 控制科學(xué)與工程學(xué)院,河北 保定 071003)
鍋爐汽輪機(jī)系統(tǒng)是火力發(fā)電中的一個至關(guān)重要的系統(tǒng),而且是一個較為復(fù)雜的被控對象。因此,對其進(jìn)行建模就有較大的實際工程意義。自適應(yīng)神經(jīng)模糊推理系統(tǒng)自1993年Jang 提出至今,受到了廣泛關(guān)注,在建模、參數(shù)優(yōu)化、控制、數(shù)據(jù)分類等領(lǐng)域得到了研究與應(yīng)用,在建模方面有較為突出的表現(xiàn)。
本文旨在利用ANFIS 對鍋爐汽輪機(jī)系統(tǒng)進(jìn)行建模,并對ANFIS 進(jìn)行改進(jìn),得到一個較為準(zhǔn)確的模型。
T-S 型模糊推理系統(tǒng)計算簡單,便于與優(yōu)化和自適應(yīng)的方法結(jié)合。因此,Jang 提出的ANFIS 基于T-S 模型。為簡單起見,假定所考慮的模糊推理系統(tǒng)有2 個輸入x1和x2,單個輸出y。對于一階 Takagi-Sugeno 模糊模型,如果具有以下2 條模糊規(guī)則:
規(guī)則 1:if x1is A1and x2is B1then f1= p1x + q1y + r1;
規(guī)則 2:if x1is A2and x2is B2then f2=p2x + q2y + r1.

圖1 ANFIS結(jié)構(gòu)Fig.1 ANFIS structure
ANFIS 結(jié)構(gòu)如圖1 所示,圖中每一層節(jié)點具有相同的函數(shù),設(shè)層1 的第i 個節(jié)點的輸出為O1,i。
第1 層:模糊化輸入的變量,產(chǎn)生一個對應(yīng)的模糊集隸屬度函數(shù)輸出,該層可以稱為模糊化層。該層的每個節(jié)點i 是一個有節(jié)點函數(shù)的自適應(yīng)結(jié)點。

這里x1和x2是節(jié)點i 的輸入,O1,i是模糊集A(A1,A2,B1或 B2)的隸屬度,A 的隸屬函數(shù)可以是任意合適的參數(shù)化隸屬函數(shù),如一般的鐘型函數(shù)。

式(2)中,{ai,bi,ci}是參數(shù)集,稱為前提參數(shù)。當(dāng)這些參數(shù)的值改變時,鐘型函數(shù)也隨之改變。
第2 層:實現(xiàn)前提部分的模糊集的運(yùn)算。在這一層的每個節(jié)點都是固定節(jié)點,它的輸出是所有輸入信號的代數(shù)積,如式(3)所示:

每個節(jié)點的輸出表示一條規(guī)則的激勵強(qiáng)度,本層的節(jié)點函數(shù)還可以采用取小、有界積或強(qiáng)積的形式。
第3 層:將各條規(guī)則的激勵強(qiáng)度歸一化,該層中的節(jié)點也是固定節(jié)點。

第4 層:這一層的每個節(jié)點i 是一個有節(jié)點函數(shù)的自適應(yīng)節(jié)點,計算出每條規(guī)則的輸出。

式(5)中,ωi是從第3 層傳來的歸一化激勵強(qiáng)度,{pi,qi,ri}是該節(jié)點的參數(shù)集。本層的參數(shù)稱為后件參數(shù)。
第5 層(輸出層):這一層的單節(jié)點是一個標(biāo)以∑的固定節(jié)點,它計算所有傳來信號之和作為總輸出:

ANFIS 的參數(shù)訓(xùn)練是指利用優(yōu)化算法對其前件參數(shù)和后件參數(shù)進(jìn)行確定。為了取得更好的訓(xùn)練效果,需要更加成功的訓(xùn)練算法。自ANFIS 被提出以來,人們提出了各種訓(xùn)練算法,主要包括3 種:基于導(dǎo)數(shù)的方法、基于啟發(fā)式的方法以及基于混合算法。根據(jù)查閱的參考文獻(xiàn),這些算法的使用方式主要有兩種:第一種是ANFIS 的所有參數(shù)均采用同一種算法;第二種是ANFIS 的前后件參數(shù)分別采用不同的算法。本文采用Fletcher-Reeves update 法改進(jìn)的BP算法進(jìn)行ANFIS 的參數(shù)訓(xùn)練。
標(biāo)準(zhǔn)的BP 算法-沿著目標(biāo)函數(shù)下降最快的方向(負(fù)梯度方向)來調(diào)整權(quán)值,單步算法如式(7)所示。其中,Wn為當(dāng)前的權(quán)重矢量;Δf (Wn)為當(dāng)前梯度;αn為學(xué)習(xí)速率。

共軛梯度法第一步也是沿著負(fù)梯度方向搜索,如式(8)所示,接著進(jìn)行線性都以確定沿當(dāng)前搜索方向移動的最優(yōu)距離,如式(9)所示。

下一步的搜索方向結(jié)合最新的負(fù)梯度方向和上一步的搜索方向,如式(10)所示。

其中,Dn為共軛梯度法的搜索方向。不同的共軛梯度法βn的計算方法不同,在Fletcher-Reeves update 法中,按式(11)計算。

在參數(shù)搜索過程中,搜索方向需要進(jìn)行修正,具體操作是當(dāng)訓(xùn)練次數(shù)為權(quán)重數(shù)的整數(shù)倍時,βn取零值。與此同時需要進(jìn)行搜索方向判斷,若Δf (Wn)TDn≥0,則Dn=-Δf(Wn),保證新的搜索方向為負(fù)梯度方向,從而搜索總是沿著誤差下降的方向進(jìn)行搜索。
為了更好地說明對ANFIS 算法的改進(jìn)效果,選取 了Sphere 函 數(shù) 進(jìn) 行 仿 真。Sphere 函 數(shù):(-5.12 ≤x ≤5.12,0 ≤D ≤100)。
Sphere 函數(shù)是一個單峰測試函數(shù),選取D=1,生成101組數(shù)據(jù)進(jìn)行訓(xùn)練,然后再生成1001 組數(shù)據(jù)進(jìn)行檢驗,分別用兩種方法進(jìn)行函數(shù)擬合,計算均方根誤差。f2(x)是一個復(fù)雜非線性函數(shù),同樣使用101 組數(shù)據(jù)進(jìn)行訓(xùn)練,1001 組數(shù)據(jù)進(jìn)行檢驗,比較兩種算法的均方根誤差。經(jīng)過仿真,ANFIS 的均方根誤差是0.0268,改進(jìn)ANFIS 的均方根誤差是0.0096。因此,改進(jìn)ANFIS 的擬合效果得到提高,達(dá)到了改進(jìn)的目的。
Bell-Astr?m 鍋爐汽輪機(jī)的數(shù)學(xué)描述為

式(12)中,t 為時間常數(shù),x1(t),x2(t), x3(t)三個狀態(tài)變量分別是:鍋爐汽包出口壓力(kg/cm2),機(jī)組發(fā)電功率(MW)和汽包內(nèi)汽水液體密度(kg/cm3);u1(t),u2(t),u3(t)為系統(tǒng)的3 個輸入,分別是燃料控制閥開度,主蒸汽流量開度和水流量閥門開度;系統(tǒng)的輸出量y1(t),y2(t),y3(t)分別為鍋爐汽包出口壓力,機(jī)組發(fā)電功率和汽包水位偏離值;ω1(t), ω2(t),ω3(t)為系統(tǒng)的有界不確定干擾;acs為系統(tǒng)蒸汽品質(zhì)系數(shù);qe為蒸發(fā)律。

系統(tǒng)輸入量和幅值應(yīng)滿足以下條件:

文獻(xiàn)[9]提供了Bell-Astr?m 鍋爐汽輪機(jī)模型的7 個穩(wěn)定工況點,如表1 所示。假設(shè)系統(tǒng)初始狀態(tài)是1 號工況點,然后系統(tǒng)根據(jù)輸入量,平穩(wěn)的運(yùn)行到7 號工況點,然后再運(yùn)行至1 號工況點,產(chǎn)生仿真數(shù)據(jù)。

表1 鍋爐汽輪機(jī)系統(tǒng)工況點Table 1 Boiler steam turbine system operating point

表2 仿真數(shù)據(jù)Table 2 Simulation data

圖2 鍋爐汽包出口壓力擬合曲線Fig.2 Boiler drum outlet pressure fitting curve
由Bell-Astr?m 鍋爐汽輪機(jī)模型產(chǎn)生76000 組數(shù)據(jù),前38000 組數(shù)據(jù)用于對ANFIS 模型進(jìn)行訓(xùn)練,后38000 組數(shù)據(jù)用于檢驗?zāi)P偷挠?xùn)練效果。將系統(tǒng)拆分成3 個具有3 輸入1 輸出的系統(tǒng),分別進(jìn)行訓(xùn)練。

圖3 機(jī)組發(fā)電功率擬合曲線Fig.3 Unit power generation curve

圖4 汽包水位偏離值擬合曲線Fig.4 Drum water level deviation value fitting curve
根據(jù)系統(tǒng)階次,設(shè)當(dāng)前時刻為k 時刻,則系統(tǒng)共15 個輸入,3 個輸出分別為y1(k),y2(k),y3(k)。但是如果采用15個輸入,運(yùn)行中會產(chǎn)生維數(shù)爆炸。假設(shè)采用2 個隸屬度函數(shù),則模糊規(guī)則數(shù)會有215個,電腦會沒有足夠的內(nèi)存來運(yùn)行。經(jīng)過實驗,采用u1(k-1),u1(k-2),u2(k-1),u2(k-2),u3(k-1),u3(k-2)這6 個輸入來進(jìn)行建模。
分別對3 個輸出進(jìn)行訓(xùn)練,訓(xùn)練出3 個單獨的ANFIS結(jié)構(gòu),原始ANFIS 和改進(jìn)ANFIS 的均方根誤差(RMSE)和平均百分比誤差(MPAE)如表2 所示,輸出擬合曲線如圖2 到圖4 所示。
由仿真結(jié)果可以發(fā)現(xiàn),Bell-Astr?m 鍋爐汽輪機(jī)模型輸出曲線與ANFIS 建模輸出曲線基本一致,達(dá)到建模要求,并且誤差系數(shù)滿足一般控制算法的要求。改進(jìn)后的ANFIS算法較原始ANFIS 來說,誤差系數(shù)減小,并且訓(xùn)練時的收斂速度也得到提高,總體建模效果優(yōu)于原始ANFIS。
本文采用原始ANFIS 和Fletcher-Reeves update 法改進(jìn)的ANFIS 鍋爐汽輪機(jī)系統(tǒng)進(jìn)行建模,采用認(rèn)可度較高的Bell-Astr?m 鍋爐汽輪機(jī)模型產(chǎn)生運(yùn)行數(shù)據(jù),最后在MATLAB 環(huán)境下進(jìn)行仿真,檢驗仿真效果。仿真結(jié)果表明,ANFIS 對模型的辨識較為成功,并且改進(jìn)的ANFIS 的建模效果明顯優(yōu)于原始ANFIS。