白英君,張悅,田慶,羅代強(qiáng)
(1.華北電力大學(xué)控制與計(jì)算機(jī)工程學(xué)院,河北 保定 071000;2.華北電力大學(xué)河北省發(fā)電過程仿真與優(yōu)化控制工程技術(shù)研究中心,河北 保定 071000;3.黔西中水發(fā)電有限公司,貴州 畢節(jié) 551700)
根據(jù)機(jī)理模型與數(shù)據(jù)驅(qū)動模型的排列組合的順序不同,混合模型基本形成了串聯(lián)和并聯(lián)兩大結(jié)構(gòu),在并聯(lián)型結(jié)構(gòu)中,兩種模型是可以互換順序的,但是,串聯(lián)型結(jié)構(gòu)中則不然[1-2]。并聯(lián)型結(jié)構(gòu)是以機(jī)理模型為混合結(jié)構(gòu)的核心,用于反映過程內(nèi)部的動態(tài)行為,被控對象的復(fù)雜特性導(dǎo)致模型精度受到限制。數(shù)據(jù)驅(qū)動子模型預(yù)測機(jī)理模型與實(shí)際數(shù)據(jù)之間的殘差[3]。該結(jié)構(gòu)就是將兩個子模型進(jìn)行疊加,以提高混合模型整體的精度。Henricus J.L.van Ca[4]提出了并聯(lián)型混合建模法,對混合模型與數(shù)據(jù)驅(qū)動模型從精度、外推能力等方面進(jìn)行對比,說明了混合模型的優(yōu)勢。李景軒[2]運(yùn)用機(jī)理與反向傳播算法(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)并聯(lián)混合建模方法建立了燃?xì)鈾C(jī)模型。姚源朝[5]采用機(jī)理與廣義回歸神經(jīng)網(wǎng)絡(luò)(General Regression Neural Network,GRNN)并聯(lián)型混合模型建立了氣流床氣化爐模型。陳鴻偉[6]提出了一種結(jié)合機(jī)理建模和支持向量機(jī)的并聯(lián)型混合模型用于蒸汽管道的參數(shù)計(jì)算方法。徐端[7]提出了多元線性回歸和機(jī)理模型并聯(lián)混合的煉鋼連鑄能耗模型?,F(xiàn)在研究較多的以機(jī)理模型為主的串聯(lián)結(jié)構(gòu),這種混合模型適用于底層的詳細(xì)機(jī)制不確定,但是有海量的運(yùn)行數(shù)據(jù)來推斷出未知的參數(shù)。大數(shù)據(jù)集含有豐富的過程狀態(tài)信息,雖然沒有直接的物理解釋,但是,可以利用數(shù)據(jù)驅(qū)動模型進(jìn)行參數(shù)尋優(yōu),改善機(jī)理模型的預(yù)測精度。王廣軍[8]采用神經(jīng)網(wǎng)絡(luò)對難以確定的參數(shù)進(jìn)行辨識,然后用于電廠鍋爐的機(jī)理模型,實(shí)現(xiàn)了對鍋爐系統(tǒng)的串聯(lián)混合建模。羅雷濤等[9]以工業(yè)催化重整裝置為研究對象,對脫氯前氫氣純度建立了最小二乘支持向量機(jī)與機(jī)理串聯(lián)型混合模型。華豐等[10]采用人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)與機(jī)理模型串聯(lián)型混合模型對工業(yè)乙烯裂解爐進(jìn)行了建模。
混合模型只要對數(shù)據(jù)驅(qū)動部分進(jìn)行足夠的訓(xùn)練都能夠有很好的模型精度。李景軒[3]等對各種結(jié)構(gòu)對比得出,不同結(jié)構(gòu)的混合模型精度相差不大,但都優(yōu)于單一模型。因此,對于混合模型而言,單純地從精度角度去評判其合理性有失公允,本文以數(shù)據(jù)驅(qū)動子模型權(quán)值搜索和收斂速度的角度為切入點(diǎn),構(gòu)建了一種新的結(jié)構(gòu),該結(jié)構(gòu)反饋歷史信息參與模型訓(xùn)練,與其他混合模型的對比,權(quán)值收斂速度優(yōu)勢更加明顯。
目前研究最多的并聯(lián)混合結(jié)構(gòu)是圖1(a)中的結(jié)構(gòu)A,圖1(b)中模型是結(jié)構(gòu)A 的最常見的表現(xiàn)形式。應(yīng)用最為廣泛的串聯(lián)結(jié)構(gòu)是圖1(c)中的結(jié)構(gòu)B。圖1(d)中的結(jié)構(gòu)C在某些情況下等同于結(jié)構(gòu)A[1]。
圖1 串、并聯(lián)型混合結(jié)構(gòu)
數(shù)據(jù)驅(qū)動模型是由數(shù)據(jù)確定的,這種特點(diǎn)賦予了混合模型靈活性,可以從數(shù)據(jù)中挖掘出部分未知信息的影響。目前比較常見的數(shù)據(jù)驅(qū)動模型有支持向量機(jī)(Support Vector Machine,SVM)、多層感知機(jī)(Multilayer Perceptron,MLP)、BP 神經(jīng)網(wǎng)絡(luò)、徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)、深度神經(jīng)網(wǎng)絡(luò)等。
深度神經(jīng)網(wǎng)絡(luò)非線性擬合效果會更好,但是網(wǎng)絡(luò)結(jié)構(gòu)過于復(fù)雜,會把機(jī)理模型建立起來的可解釋性全部覆蓋,因此不適合本文的混合模型。SVM、MLP、BP、RBF 的預(yù)測效果都很不錯,但是由于標(biāo)準(zhǔn)的訓(xùn)練方法不同,SVM、MLP 的訓(xùn)練時間比人工神經(jīng)網(wǎng)絡(luò)要長,同時,對于非線性的擬合能力也不如人工神經(jīng)網(wǎng)絡(luò)。BP 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)要比RBF 神經(jīng)網(wǎng)絡(luò)簡單得多,同時,BP 有一個致命的缺陷,就是容易陷入局部極小值,RBF 神經(jīng)網(wǎng)絡(luò)則不然,理論上,RBF神經(jīng)網(wǎng)絡(luò)可以實(shí)現(xiàn)以任意精度的逼近任意的非線性函數(shù),且具有全局的逼近能力[11-12],從根本上解決了BP 神經(jīng)網(wǎng)絡(luò)的局部最優(yōu)問題,而且拓?fù)浣Y(jié)構(gòu)緊湊,收斂速度快,泛化能力好。RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 RBF神經(jīng)網(wǎng)絡(luò)
建立如圖3 所示的新的并聯(lián)結(jié)構(gòu)D。把機(jī)理模型的預(yù)測結(jié)果與RBF 神經(jīng)網(wǎng)絡(luò)的預(yù)測進(jìn)行線性組合,最終得到混合模型的預(yù)測結(jié)果。該結(jié)構(gòu)在訓(xùn)練時神經(jīng)網(wǎng)絡(luò)的權(quán)值與線性組合的系數(shù)同時進(jìn)行調(diào)整。
圖3 并聯(lián)型結(jié)構(gòu)D
結(jié)構(gòu)D 和結(jié)構(gòu)A 在結(jié)構(gòu)方面最大的區(qū)別在于對混合模型中的數(shù)據(jù)驅(qū)動部分的處理,結(jié)構(gòu)A中數(shù)據(jù)驅(qū)動模型相當(dāng)于時間序列滑動平均模型的預(yù)測,誤差的預(yù)測只和過程對象輸入信號有關(guān)?;瑒悠骄P蜑?/p>
式中:yt是模型輸出;xi,t為第i個變量t時刻的模型輸入;βi是系數(shù)。
結(jié)構(gòu)D 中模型相當(dāng)于自回歸滑動平均模型,誤差的預(yù)測不僅僅和過程對象輸入信號有關(guān),還和輸出自身的歷史信息有關(guān)系。所以在D 結(jié)構(gòu)里面,誤差的預(yù)測會被限制在一個相對小的范圍。自回歸滑動平均模型為
式中:yt-i是前i個時刻的輸出;αi是系數(shù)。
凝汽器壓力是模型預(yù)測的目標(biāo)。凝汽器壓力的大小受型式、型號、總有效面積、抽真空區(qū)有效面積、傳熱系數(shù)、循環(huán)水流量、清潔系數(shù)等技術(shù)參數(shù)的影響,其中最主要的因素是汽輪機(jī)排入凝汽器的蒸汽量、冷卻水的進(jìn)口溫度和冷卻水流量。
建模假定如下:采用集總參數(shù)法,認(rèn)為凝汽器殼側(cè)各處的壓力相同。1)進(jìn)入凝汽器的蒸汽全部為飽和蒸汽,且全部冷凝成水;2)忽略管中水的蓄熱導(dǎo)致的傳熱的延遲。
在如上假設(shè)基礎(chǔ)上可以近似認(rèn)為,凝汽器凝結(jié)成水時釋放出的熱量、通過冷卻管的傳熱量、冷卻水帶走的熱量三者是相等的,于是,蒸汽側(cè)在穩(wěn)定工況下熱平衡方程為
式中:Q為凝汽器熱負(fù)荷;Dzp為汽輪機(jī)排汽進(jìn)入凝汽器的蒸汽流量;hs為汽輪機(jī)排汽的焓;hc為凝結(jié)水的焓;K為總傳熱系數(shù);Δtm為對數(shù)平均溫差;A為冷卻面積;Dw為進(jìn)入凝汽器的冷卻水流量;t2為冷卻水出口溫度;t1為冷卻水入口溫度;cp為冷卻水比定壓熱容,cp=4.181 6×103J(∕kg·℃)。
hs可以根據(jù)變工況下抽汽的熱力參數(shù)值來確定,hc可通過查飽和水對應(yīng)的溫度下的焓值或根據(jù)經(jīng)驗(yàn)公式得到。但通過此方法確定汽輪機(jī)低壓缸排汽焓計(jì)算復(fù)雜,且其本身存在一定的誤差,所以在實(shí)際工程計(jì)算中,當(dāng)凝汽式汽輪機(jī)在正常的壓力內(nèi)運(yùn)行時,hs與hc之間的差值變化很小,通常直接取
式中:tc為凝結(jié)水的飽和溫度。
由式(1)可得溫升為
設(shè)δt=ts-t2,δt為傳熱端差,ts為排汽壓力對應(yīng)的飽和蒸汽溫度,可知
凝汽器壓力對應(yīng)的飽和蒸汽溫度
式(3)、式(6)、式(7)代入上式可得
冷卻面積A結(jié)合實(shí)際凝汽器設(shè)計(jì)參數(shù)與其運(yùn)行規(guī)程,此處給出經(jīng)驗(yàn)值。
總傳熱系數(shù)K可以通過美國傳熱學(xué)會公式進(jìn)行求解。
式中:K0為基本傳熱系數(shù),可以通過式(10)求得;ξc為清潔系數(shù);βt為冷卻水入口溫度修正系數(shù);βm為冷卻管材料和壁厚的修正系數(shù);vw為冷卻管內(nèi)流速;C為取決于冷卻管外徑的計(jì)算系數(shù)。
采用Bunk 公式[13]將飽和蒸汽溫度轉(zhuǎn)化為對應(yīng)的凝汽器壓力,當(dāng)t>0℃時
根據(jù)建立的機(jī)理模型,可得預(yù)測值與實(shí)際值之間的誤差,如圖4所示。
圖4 機(jī)理模型預(yù)測
從圖4 可以看出,機(jī)理模型預(yù)測的凝汽器壓力與實(shí)際壓力在趨勢上保持了一致,但是在某些工況下預(yù)測不是十分準(zhǔn)確。這主要是由于采用了集總參數(shù)法進(jìn)行建模,在建模過程中作了較多的假設(shè)、簡化和經(jīng)驗(yàn)公式。這也從另一方面說明了建立凝汽器模型采用機(jī)理和數(shù)據(jù)驅(qū)動相結(jié)合的方式的必要性。
為了能夠表述一些機(jī)理不明或者極其復(fù)雜不可描述的因素對凝汽器實(shí)際壓力的影響,結(jié)構(gòu)D 采用了RBF 神經(jīng)網(wǎng)絡(luò)對凝汽器壓力進(jìn)行了數(shù)據(jù)驅(qū)動建模,根據(jù)2.1 中機(jī)理建??芍绊懩鲏毫Φ囊蛩赜泻芏?,其中最主要的因素是汽輪機(jī)排入凝汽器的蒸汽量、冷卻水的進(jìn)口溫度和冷卻水流量。因此,選擇上述3 個變量為數(shù)據(jù)驅(qū)動模型的輸入變量,凝汽器壓力為輸出變量。結(jié)構(gòu)D 取前3 個時刻的歷史值反饋到RBF 的輸入,因此該結(jié)構(gòu)采用了六輸入單隱層單輸出的網(wǎng)絡(luò)結(jié)構(gòu)。
RBF 神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元個數(shù)的選擇可以根據(jù)過程數(shù)據(jù)中包含的工況個數(shù)來決定。RBF 隱含層神經(jīng)元的中心點(diǎn)的選取,可以通過聚類來實(shí)現(xiàn),把聚類中心作為核函數(shù)的中心點(diǎn)。
訓(xùn)練結(jié)構(gòu)D 中RBF 神經(jīng)網(wǎng)絡(luò)時,首先需要對過程數(shù)據(jù)進(jìn)行濾波,然后把汽輪機(jī)排入凝汽器的蒸汽量、冷卻水的進(jìn)口溫度和冷卻水流量以及誤差的歷史值作為輸入量提供給RBF 神經(jīng)網(wǎng)絡(luò)。然后,RBF的輸出與機(jī)理的輸出線性組合得到結(jié)構(gòu)D 的預(yù)測值。最后,結(jié)構(gòu)D 的預(yù)測值與實(shí)際值之間的誤差來修正RBF 的權(quán)值與線性組合系數(shù)。同時,當(dāng)前誤差作為一個歷史值反饋到RBF 輸入,參與到下一次權(quán)值修正。
結(jié)構(gòu)D 中兩個模型的組合采用的是最簡單的線性組合,建立步驟如下。
高斯核函數(shù)可表示為
式中:X是神經(jīng)網(wǎng)絡(luò)輸入向量,包含輸入X1和前3 時刻E的反饋;C是核函數(shù)的中心;σ是核函數(shù)的寬度。
采用的線性組合為
式中:g為數(shù)據(jù)驅(qū)動模型的預(yù)測值;設(shè)機(jī)理模型為P=f(X),P為機(jī)理模型預(yù)測值。據(jù)結(jié)構(gòu)D 可知,該模型整體輸出表示為
式中:Y為混合模型預(yù)測值;j為第j個隱含層神經(jīng)元;m為隱含層神經(jīng)元個數(shù);ωj為第j個隱含層神經(jīng)元的權(quán)值。
損失函數(shù)為
式中E均方誤差,Ym是實(shí)際數(shù)據(jù)。
設(shè)e=Y-Ym,網(wǎng)絡(luò)權(quán)值更新為
隱含層神經(jīng)元中心點(diǎn)更新:
隱含層神經(jīng)元高斯核寬度更新:
式中:k為迭代次數(shù);η1、η2、η3分別是權(quán)值、核函數(shù)中心點(diǎn)、核函數(shù)寬度的學(xué)習(xí)率。
以某1 000 MW 火電機(jī)組凝汽器壓力為例,并聯(lián)型結(jié)構(gòu)A、結(jié)構(gòu)D 和機(jī)理模型進(jìn)行了對比實(shí)驗(yàn),最后從數(shù)據(jù)驅(qū)動子模型權(quán)值搜索空間及收斂性的角度進(jìn)行了仿真實(shí)驗(yàn)。
結(jié)構(gòu)A 數(shù)據(jù)驅(qū)動網(wǎng)絡(luò)結(jié)構(gòu)和輸入變量同結(jié)構(gòu)D,不同的是結(jié)構(gòu)A網(wǎng)絡(luò)輸出為實(shí)際數(shù)據(jù)與機(jī)理的殘差。因此,并聯(lián)結(jié)構(gòu)A 是以機(jī)理模型為主,機(jī)理模型的預(yù)測值與基于殘差的RBF 神經(jīng)網(wǎng)絡(luò)輸出疊加,得到混合模型輸出,仿真效果如圖5、圖6所示。
圖5 并聯(lián)型結(jié)構(gòu)A與機(jī)理預(yù)測對比
圖6 并聯(lián)型結(jié)構(gòu)A與機(jī)理誤差對比
并聯(lián)結(jié)構(gòu)D 是在數(shù)據(jù)驅(qū)動子模型中引入了機(jī)理模型的預(yù)測以及結(jié)構(gòu)D 輸出的誤差歷史信息,混合模型的整體輸出是機(jī)理子模型預(yù)測與數(shù)據(jù)驅(qū)動子模型預(yù)測的加權(quán)和。仿真效果如圖7、圖8所示。
圖7 并聯(lián)型結(jié)構(gòu)D與機(jī)理預(yù)測對比
圖8 并聯(lián)型結(jié)構(gòu)D與機(jī)理誤差對比
據(jù)圖4、圖5、圖7 可知,并聯(lián)型結(jié)構(gòu)A 與結(jié)構(gòu)D的預(yù)測效果都優(yōu)于單一的機(jī)理模型。混合模型在機(jī)理模型預(yù)測基礎(chǔ)上做了補(bǔ)償和修正,使得混合模型能夠更加真實(shí)的反映系統(tǒng)內(nèi)部的運(yùn)行機(jī)制。表1 從均方誤差的角度證明了,混合模型有較高的精度,但是相差不大。根據(jù)建模對象的不同,不同結(jié)構(gòu)會有不同的精度表現(xiàn),所以單純從精度角度評判混合模型結(jié)構(gòu)沒有找到問題的核心。
表1 機(jī)理與混合結(jié)構(gòu)預(yù)測誤差對比
結(jié)構(gòu)A 和結(jié)構(gòu)D 中數(shù)據(jù)驅(qū)動部分網(wǎng)絡(luò)結(jié)構(gòu)和神經(jīng)元個數(shù)會影響模型的收斂性和準(zhǔn)確性。六輸入單隱層單輸出的網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)確定,本文中隱含層神經(jīng)元數(shù)量是根據(jù)工況決定的,通過觀察功率和凝汽器壓力的數(shù)據(jù),大致可以確定數(shù)據(jù)中包含的工況為7~10 個。經(jīng)過大量試算和比較,確定隱含層神經(jīng)元個數(shù)為8。
從數(shù)據(jù)驅(qū)動子模型權(quán)值搜索空間及收斂性的角度,設(shè)計(jì)了如下仿真實(shí)驗(yàn),并聯(lián)型結(jié)構(gòu)A 與結(jié)構(gòu)D 的RBF 神經(jīng)網(wǎng)絡(luò)權(quán)值搜索空間如圖9、圖10 所示,收斂速度如圖11所示。
圖9 并聯(lián)型結(jié)構(gòu)D權(quán)值搜索空間
圖10 并聯(lián)型結(jié)構(gòu)A權(quán)值搜索空間
圖11 并聯(lián)結(jié)構(gòu)損失函數(shù)對比
據(jù)圖9、圖10、圖11 可知,結(jié)構(gòu)D 的RBF 神經(jīng)網(wǎng)絡(luò)權(quán)值搜索空間比并聯(lián)型結(jié)構(gòu)A 要小,權(quán)值收斂速度更快。并聯(lián)結(jié)構(gòu)A 數(shù)據(jù)驅(qū)動部分在訓(xùn)練殘差網(wǎng)絡(luò)時與機(jī)理的輸出是無關(guān)的,兩者互不影響,因此,RBF 神經(jīng)網(wǎng)絡(luò)權(quán)值搜索范圍大,收斂慢。結(jié)構(gòu)D 的數(shù)據(jù)驅(qū)動部分雖然訓(xùn)練的也是殘差,但是通過與機(jī)理模型輸出加權(quán)求和,對機(jī)理模型進(jìn)行了校正,同時在數(shù)據(jù)驅(qū)動模型部分引入了自回歸信息,這就保證了結(jié)構(gòu)D 的精度不弱于結(jié)構(gòu)A。除此之外,據(jù)式(14)可知,結(jié)構(gòu)D 中機(jī)理模型的輸出通過加權(quán)系數(shù)ωm+1影響RBF神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。當(dāng)機(jī)理模型的輸出與實(shí)際值已經(jīng)比較接近的情況下,其加權(quán)組合的系數(shù)ωm+1會是一個接近于1 的較大數(shù),同時該結(jié)構(gòu)反饋的歷史信息限制了RBF 神經(jīng)網(wǎng)絡(luò)的權(quán)值搜索空間,使得該結(jié)構(gòu)的權(quán)值搜索范圍小,更容易獲取到最優(yōu)值,收斂速度快。
采用基于子模型收斂性評價的并聯(lián)型混合建模方法,以某1 000 MW 火電機(jī)組為例,建立了凝汽器的機(jī)理模型,然后在RBF 神經(jīng)網(wǎng)絡(luò)中引入機(jī)理模型的預(yù)測,得到并聯(lián)型結(jié)構(gòu)D 的整體輸出。通過對比機(jī)理模型、并聯(lián)型結(jié)構(gòu)A 和建立的并聯(lián)型結(jié)構(gòu)D,可以看出,混合模型的精度優(yōu)于單一的機(jī)理模型。但是,不同結(jié)構(gòu)的混合模型精度相差無幾,單純從精度角度評判混合模型結(jié)構(gòu)有失公允。從數(shù)據(jù)驅(qū)動子模型權(quán)值搜索空間和收斂速度進(jìn)行評判,通過仿真得出,并聯(lián)型結(jié)構(gòu)D 中歷史信息的反饋和機(jī)理模型的存在約束了數(shù)據(jù)驅(qū)動子模型的權(quán)值搜索空間,提高了搜索效率,收斂速度更快。因此,仿真使用并聯(lián)型結(jié)構(gòu)D構(gòu)建精準(zhǔn)度高、收斂速度快的模型是可行的。