李俊昆, 張緒炎, 楊志鵬
(上海發(fā)電設(shè)備成套設(shè)計(jì)研究院有限責(zé)任公司, 上海 200240)
燃?xì)廨啓C(jī)控制系統(tǒng)需要保障燃?xì)廨啓C(jī)長期安全運(yùn)行,并在各類故障情況下保證機(jī)組安全停機(jī),所以在控制系統(tǒng)開發(fā)過程中,需要對(duì)燃?xì)廨啓C(jī)的工作情況進(jìn)行各種試驗(yàn),驗(yàn)證控制系統(tǒng)設(shè)計(jì)的可靠性。若直接在燃?xì)廨啓C(jī)機(jī)組上進(jìn)行控制系統(tǒng)設(shè)計(jì)驗(yàn)證,需要在燃?xì)廨啓C(jī)本體制造完成后,才能進(jìn)行控制系統(tǒng)驗(yàn)證,并且可能會(huì)因?yàn)榭刂葡到y(tǒng)的缺陷造成機(jī)組損傷。而采用仿真的方法對(duì)控制系統(tǒng)進(jìn)行試驗(yàn)驗(yàn)證,不僅可以縮短控制系統(tǒng)研制周期,而且能降低試驗(yàn)風(fēng)險(xiǎn)。仿真驗(yàn)證是控制系統(tǒng)開發(fā)過程中的必要環(huán)節(jié),可以提前發(fā)現(xiàn)控制系統(tǒng)的缺陷并進(jìn)行改進(jìn);而燃?xì)廨啓C(jī)控制系統(tǒng)仿真驗(yàn)證,需要建立燃?xì)廨啓C(jī)數(shù)學(xué)模型。燃?xì)廨啓C(jī)系統(tǒng)屬于高度非線性的復(fù)雜系統(tǒng),其建模方法通??梢苑譃槿悾喊缀薪?、灰盒建模和黑盒建模。
傳統(tǒng)的燃?xì)廨啓C(jī)建模采用白盒建模的方法,以遵守質(zhì)量守恒、能量守恒、動(dòng)量守恒三大定律為前提,分別對(duì)壓氣機(jī)、燃燒室、透平和轉(zhuǎn)子進(jìn)行機(jī)理研究,建立機(jī)理模型,該建模方法需要廠家提供的性能曲線,一般性能曲線難以獲得。文獻(xiàn)[1]~文獻(xiàn)[4]均是采用機(jī)理建模方法,利用部件特性曲線建立燃?xì)廨啓C(jī)模型。
灰盒建模是通過簡化物理特性,建立簡化的燃?xì)廨啓C(jī)數(shù)學(xué)模型,然后利用運(yùn)行數(shù)據(jù),通過參數(shù)辨識(shí)等方法推導(dǎo)出模型中的參數(shù),該方法建立的模型通常動(dòng)態(tài)特性不夠精準(zhǔn)。文獻(xiàn)[5]~文獻(xiàn)[7]介紹了采用傳遞函數(shù)建立燃?xì)廨啓C(jī)模型的方法,該方法的難點(diǎn)是模型參數(shù)的估計(jì),由于燃?xì)廨啓C(jī)的高度非線性特點(diǎn),很難用一個(gè)傳遞函數(shù)模型表示燃?xì)廨啓C(jī)的整個(gè)運(yùn)行工況。
黑盒建模則是完全根據(jù)運(yùn)行數(shù)據(jù)來建立燃?xì)廨啓C(jī)模型,規(guī)避了燃?xì)廨啓C(jī)物理過程的描述,不需要獲得壓氣機(jī)及透平的性能曲線,只需要獲得實(shí)際運(yùn)行數(shù)據(jù)就可以建立燃?xì)廨啓C(jī)模型,且建模速度快、模型精度高。文獻(xiàn)[8]介紹了采用黑盒建模進(jìn)行燃?xì)廨啓C(jī)建模的方法。筆者采用的非線性自回歸神經(jīng)網(wǎng)絡(luò)的燃?xì)廨啓C(jī)建模方法,屬于黑盒建模的一種。
隨著人工智能算法的發(fā)展,神經(jīng)網(wǎng)絡(luò)算法逐漸被應(yīng)用到燃?xì)廨啓C(jī)等熱力系統(tǒng)的建模中。KAIADI M[9]開發(fā)了一種基于人工神經(jīng)網(wǎng)絡(luò)(ANN)的熱電廠模型用于性能檢測與分析,利用商業(yè)軟件對(duì)網(wǎng)絡(luò)進(jìn)行交叉驗(yàn)證訓(xùn)練及測試。BETTOCCHI R等[10]研究了單轉(zhuǎn)子燃?xì)廨啓C(jī)的神經(jīng)網(wǎng)絡(luò)模型,并將其作為物理模型的替代,試圖在準(zhǔn)確性和魯棒性方面探索最合適的神經(jīng)網(wǎng)絡(luò)模型。FAST M等[11]使用滿負(fù)荷運(yùn)行的工業(yè)單轉(zhuǎn)子燃?xì)廨啓C(jī)中獲得的實(shí)際數(shù)據(jù),為系統(tǒng)建立了具有高預(yù)測準(zhǔn)確度的簡單ANN模型,并將ANN方法與預(yù)測技術(shù)相結(jié)合,用于燃?xì)廨啓C(jī)的狀態(tài)監(jiān)測和性能異常監(jiān)測。筆者將探討非線性自回歸神經(jīng)網(wǎng)絡(luò)的基本原理,基于該方法建立燃?xì)廨啓C(jī)數(shù)學(xué)模型,并對(duì)模型進(jìn)行仿真驗(yàn)證。
非線性自回歸神經(jīng)網(wǎng)絡(luò)是一種在靜態(tài)多層感知機(jī)基礎(chǔ)上通過引入延時(shí)單元及其反饋的循環(huán)神經(jīng)網(wǎng)絡(luò),常用于時(shí)間序列模型。燃?xì)廨啓C(jī)熱力系統(tǒng)建模是個(gè)時(shí)序問題,因此采用該方法建立燃?xì)廨啓C(jī)模型。該方法最大的特點(diǎn)是在輸入層引入了延時(shí)單元和輸出反饋,從而記錄了過去的輸入輸出狀態(tài),再結(jié)合多層感知機(jī)的非線性映射特點(diǎn),便可通過過去狀態(tài)預(yù)測下一時(shí)刻狀態(tài)值[8]。非線性自回歸神經(jīng)網(wǎng)絡(luò)模型的定義如下:
y(t)=f(y(t-1),y(t-2), …,y(t-ny),
u(t-1),u(t-2), …,u(t-nu))
(1)
式中:y(t)為t時(shí)刻的待求變量;u(t)為t時(shí)刻外部確定的變量;f(·)是關(guān)于y(t)、u(t)的函數(shù);ny為變量y的延時(shí)單元數(shù)量;nu為變量u的延時(shí)單元數(shù)量。下一時(shí)刻的輸出參數(shù)由上一時(shí)刻的輸出參數(shù)和輸入?yún)?shù)共同回歸得到。
非線性自回歸神經(jīng)網(wǎng)絡(luò)由三層構(gòu)成,分別是輸入層、隱藏層和輸出層,其基本構(gòu)成見圖1。輸入層包含當(dāng)前時(shí)刻的輸入?yún)?shù)、前n個(gè)時(shí)刻的輸入?yún)?shù)、前m個(gè)時(shí)刻的輸出參數(shù)。而隱藏層和輸出層則是由基本的感知機(jī)算法構(gòu)成。

圖1 非線性自回歸神經(jīng)網(wǎng)絡(luò)原理
燃?xì)廨啓C(jī)建模的主要目的是為燃?xì)廨啓C(jī)控制策略的研究提供仿真對(duì)象,便于控制策略的設(shè)計(jì)驗(yàn)證,通過建立燃?xì)廨啓C(jī)回路模型,可以分析小擾動(dòng)對(duì)控制回路的影響及控制回路的穩(wěn)定性。燃?xì)廨啓C(jī)控制系統(tǒng)的主要控制回路有轉(zhuǎn)速/負(fù)荷控制回路、壓比限制回路、排氣溫度控制回路等,主要實(shí)現(xiàn)對(duì)轉(zhuǎn)速、負(fù)荷、壓比和排氣溫度的控制。因此,需要模型能夠提供轉(zhuǎn)速、負(fù)荷、壓氣機(jī)出口壓力和排氣溫度等仿真信號(hào)。
筆者主要建立并網(wǎng)后的數(shù)學(xué)模型,并網(wǎng)后轉(zhuǎn)速為3 000 r/min,其他參數(shù)需要由模型仿真提供?;诤诤薪@碚摲治?,燃?xì)廨啓C(jī)建模所需的輸入?yún)?shù)為壓氣機(jī)進(jìn)口溫度、壓氣機(jī)進(jìn)口壓力、壓氣機(jī)進(jìn)口導(dǎo)葉(IGV)開度、值班閥開度和預(yù)混閥開度,輸出參數(shù)為壓氣機(jī)出口壓力、透平排氣溫度、輸出功率。
燃?xì)廨啓C(jī)控制系統(tǒng)仿真應(yīng)用時(shí),壓氣機(jī)進(jìn)口溫度、壓氣機(jī)進(jìn)口壓力作為外部輸入?yún)?shù),可以直接設(shè)定。IGV開度、值班閥開度和預(yù)混閥開度,可以用燃?xì)廨啓C(jī)控制系統(tǒng)的指令,作為模型的輸入?yún)?shù)。
根據(jù)建模所需要的輸入?yún)?shù)和輸出參數(shù),獲得燃?xì)廨啓C(jī)電廠的運(yùn)行數(shù)據(jù)。選用某430 MW級(jí)單軸聯(lián)合循環(huán)機(jī)組的運(yùn)行數(shù)據(jù),其中燃?xì)廨啓C(jī)型號(hào)為AE94.3A,燃料為天然氣,燃?xì)廨啓C(jī)的單機(jī)功率為310 MW,單機(jī)效率為40%,排煙溫度為566 ℃,采用15級(jí)軸流式壓氣機(jī),壓比為20。
選取燃?xì)廨啓C(jī)0%~38.5%(0~115.5 MW)負(fù)荷點(diǎn)的運(yùn)行數(shù)據(jù),該過程含有燃?xì)廨啓C(jī)升負(fù)荷和降負(fù)荷的運(yùn)行工況(見圖2)。

圖2 燃?xì)廨啓C(jī)運(yùn)行數(shù)據(jù)
該運(yùn)行數(shù)據(jù)是從燃?xì)廨啓C(jī)控制系統(tǒng)的歷史站中獲得,導(dǎo)出后需要進(jìn)行數(shù)據(jù)處理后才能用于建模,主要處理方法如下:
(1) 以額定負(fù)荷點(diǎn)的數(shù)據(jù)進(jìn)行歸一化處理。
(2) 獲得的運(yùn)行數(shù)據(jù)特點(diǎn)為有波動(dòng)的數(shù)值是毫秒級(jí)的變動(dòng),沒波動(dòng)的數(shù)值或波動(dòng)小的數(shù)值存在時(shí)間點(diǎn)缺失。在進(jìn)行處理時(shí)以秒為單位,對(duì)于1 s中多個(gè)采樣點(diǎn)采用平均處理,對(duì)于缺失值,則以前一個(gè)非缺失值進(jìn)行填補(bǔ)。
燃?xì)廨啓C(jī)模型的網(wǎng)絡(luò)結(jié)構(gòu)見圖3。

T1—壓氣機(jī)進(jìn)口溫度;p1—壓氣機(jī)進(jìn)口壓力;θIGV—進(jìn)口導(dǎo)葉開度;θpilot—值班閥開度;θperm—預(yù)混閥開度;P—燃?xì)廨啓C(jī)功率;p2—壓氣機(jī)出口壓力;T4—透平排氣溫度。
上文所介紹的非線性自回歸神經(jīng)網(wǎng)絡(luò)僅是單維度的網(wǎng)絡(luò)結(jié)構(gòu),燃?xì)廨啓C(jī)建模是多維度輸入多維度輸出的問題,以非線性自回歸神經(jīng)網(wǎng)絡(luò)為基本單元,構(gòu)成三維度輸出的燃?xì)廨啓C(jī)神經(jīng)網(wǎng)絡(luò)模型,這三個(gè)參數(shù)是燃?xì)廨啓C(jī)模型的重要參數(shù),其他參數(shù)可以利用這些參數(shù)通過簡單的運(yùn)算得到。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程通常基于迭代逼近,參數(shù)在迭代過程中依次進(jìn)行更新,在每一步中,將期望的結(jié)果與實(shí)際結(jié)果進(jìn)行比較,并且利用與網(wǎng)絡(luò)結(jié)構(gòu)有關(guān)的信息,對(duì)參數(shù)進(jìn)行調(diào)整,以減小該組數(shù)據(jù)的預(yù)測誤差。
模型訓(xùn)練時(shí),網(wǎng)絡(luò)結(jié)構(gòu)先采用開環(huán)結(jié)構(gòu)(見圖4),預(yù)測仿真時(shí)再采用閉環(huán)結(jié)構(gòu)。

圖4 非線性自回歸神經(jīng)網(wǎng)絡(luò)開環(huán)結(jié)構(gòu)
模型中的訓(xùn)練參數(shù)為權(quán)重和偏置,模型中的超參數(shù)為學(xué)習(xí)率、隱藏單元數(shù)和延遲單元數(shù)。訓(xùn)練參數(shù)采用隨機(jī)梯度下降算法進(jìn)行迭代更新。超參數(shù)以網(wǎng)格搜尋的方式選擇確定超參數(shù)。
在使用隨機(jī)梯度下降算法時(shí),采用以下代價(jià)函數(shù):
(2)
參數(shù)更新方法如下:
(3)
(4)
式中:C(w,b)為代價(jià)函數(shù);y(x)為實(shí)際值;y′(x)為模型仿真值;n為樣本總數(shù);wk為第k次的樣本權(quán)重;bk為第k次的樣本偏置;xj為第j個(gè)樣本;m為單位批量采樣數(shù);η為學(xué)習(xí)率。
在網(wǎng)絡(luò)訓(xùn)練過程中,對(duì)更新的參數(shù)采用滑動(dòng)平均處理,使變量的更新與一段時(shí)間內(nèi)的歷史值有關(guān),以增加模型的泛化能力,增強(qiáng)模型的魯棒性。
滑動(dòng)平均的計(jì)算方法如下:
vt=αvt-1+(1-α)εt
(5)
(6)
式中:vt為第t次更新后的最終參數(shù)值;vt-1為第t-1次更新后的最終參數(shù)值;εt為第t次更新時(shí)計(jì)算的參數(shù)值;α為衰減率;α0為衰減率初始值;Z為模型參數(shù)更新次數(shù)。
為解決模型在訓(xùn)練后期振蕩問題,采用指數(shù)衰減學(xué)習(xí)率,使模型在訓(xùn)練后期更加穩(wěn)定,避免參數(shù)在最優(yōu)解兩側(cè)來回振蕩。
η′=η×βN/N0
(7)
式中:η′為衰減學(xué)習(xí)率;β為學(xué)習(xí)率衰減率;N為訓(xùn)練總步數(shù);N0為學(xué)習(xí)率衰減步數(shù)。
在隱藏層中使用的激活函數(shù)是Tan-Sigmoid函數(shù),輸出層采用純線性函數(shù)。Tan-Sigmoid函數(shù)是處理非線性特性的常用方法,其函數(shù)公式如下:
(8)
式中:T為縮放系數(shù);s為位移參數(shù)。
對(duì)于訓(xùn)練完成的燃?xì)廨啓C(jī)模型,需要用另外的燃?xì)廨啓C(jī)運(yùn)行數(shù)據(jù)對(duì)模型進(jìn)行仿真測試,以評(píng)估模型的泛化能力。測試方式為全時(shí)間序列仿真預(yù)測,即在只給出外源輸入u(t)的全時(shí)間序列值和輸出參數(shù)y(t)的初始值的條件下,對(duì)y(t)的完整時(shí)間序列進(jìn)行預(yù)測。
通常采用均方誤差(MSE)作為評(píng)價(jià)指標(biāo),計(jì)算方法如下:
(9)
式中:yi,pred為樣本i的仿真值;yi,actual為樣本i實(shí)際值;nd為樣本數(shù)量。
對(duì)于燃?xì)廨啓C(jī)模型的建模精度,不僅要考慮均方誤差,還要考慮單點(diǎn)最大相對(duì)誤差,這樣才能真實(shí)反映模型的準(zhǔn)確度。單點(diǎn)最大相對(duì)誤差絕對(duì)值e的定義為:
e=max(|ei|)
(10)
(11)
式中:yi,iso為樣本i的額定運(yùn)行工況值。
以均方誤差和單點(diǎn)最大相對(duì)誤差作為模型的評(píng)價(jià)指標(biāo),可以保證模型輸出的整個(gè)時(shí)間序列中沒有單點(diǎn)誤差過大的部分。
基于以上非線性自回歸神經(jīng)網(wǎng)絡(luò)的燃?xì)廨啓C(jī)建模方法,以Matlab/Simulink工具對(duì)燃?xì)廨啓C(jī)進(jìn)行建模仿真研究。
首先基于Matlab軟件建立燃?xì)廨啓C(jī)模型,并進(jìn)行模型訓(xùn)練。訓(xùn)練選用12:54:00—17:27:00的運(yùn)行數(shù)據(jù),該過程燃?xì)廨啓C(jī)負(fù)荷逐漸從0 MW升負(fù)荷至115.5 MW后,又下降至20 MW。訓(xùn)練時(shí),選用訓(xùn)練數(shù)據(jù)集中的80%作為訓(xùn)練數(shù)據(jù),另20%數(shù)據(jù)作為驗(yàn)證數(shù)據(jù)。
以壓氣機(jī)出口壓力仿真模型訓(xùn)練過程示例,訓(xùn)練過程會(huì)隨著訓(xùn)練次數(shù)的增加,均方誤差會(huì)逐漸降低,直至趨于穩(wěn)定(見圖5)。


圖5 壓氣機(jī)出口壓力仿真模型訓(xùn)練結(jié)果
然后基于Simulink平臺(tái),以訓(xùn)練后的模型參數(shù)w和b搭建Simulink模型,該模型可以直接接收外界參數(shù)設(shè)定和燃?xì)廨啓C(jī)控制系統(tǒng)的控制信號(hào)。該模型參數(shù)也可以在燃?xì)廨啓C(jī)控制系統(tǒng)軟件平臺(tái)上搭建燃?xì)廨啓C(jī)模型,如ABB Symphony組態(tài)工具等,在模型運(yùn)算時(shí),不需要迭代計(jì)算,模型具有較好的實(shí)時(shí)性。
搭建的Simulink燃?xì)廨啓C(jī)仿真模型見圖6。

圖6 燃?xì)廨啓C(jī)非線性自回歸神經(jīng)網(wǎng)絡(luò)模型
選取的模型超參數(shù)見表1。

表1 燃?xì)廨啓C(jī)模型超參數(shù)
分別選取20~115.5 MW升負(fù)荷和115.5~20 MW降負(fù)荷的運(yùn)行數(shù)據(jù)作為測試數(shù)據(jù),以驗(yàn)證模型升負(fù)荷和降負(fù)荷的動(dòng)態(tài)性能。
仿真結(jié)果見圖7~圖9。


圖7 壓氣機(jī)出口壓力仿真測試結(jié)果


圖8 透平排氣溫度仿真測試結(jié)果


圖9 功率仿真測試結(jié)果
仿真誤差見表2。

表2 燃?xì)廨啓C(jī)模型仿真誤差
根據(jù)仿真結(jié)果發(fā)現(xiàn),無論模型中的超參數(shù)如何選取,透平排氣溫度和壓氣機(jī)出口壓力的仿真的誤差均無法再降低,因此需要對(duì)以上燃?xì)廨啓C(jī)模型進(jìn)行改進(jìn)。通常情況下燃?xì)廨啓C(jī)的機(jī)理建模是模塊化建模,模塊化建??梢院芮宄胤从掣髂K系統(tǒng)的輸入和輸出信號(hào)(見圖10)。

圖10 燃?xì)廨啓C(jī)模塊化建模思想
根據(jù)模塊化建模的思想,對(duì)燃?xì)廨啓C(jī)非線性自回歸神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)進(jìn)行改進(jìn)。在改進(jìn)的模型中通過先對(duì)功率進(jìn)行仿真計(jì)算,然后將功率用于其他參數(shù)仿真模型的輸入中。改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)見圖11。

圖11 改進(jìn)的燃?xì)廨啓C(jī)非線性自回歸神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
改進(jìn)的燃?xì)廨啓C(jī)模型超參數(shù)見表3。

表3 改進(jìn)的燃?xì)廨啓C(jī)模型超參數(shù)
改進(jìn)后模型的仿真結(jié)果見圖12~14,仿真誤差見表4。由圖12~圖14可以看出:改進(jìn)后的燃?xì)廨啓C(jī)模型對(duì)壓氣機(jī)出口壓力和透平排氣溫度的仿真精度有較大提高。在建立燃?xì)廨啓C(jī)非線性自回歸神經(jīng)網(wǎng)絡(luò)模型時(shí),不能簡單地使用非線性自回歸神經(jīng)網(wǎng)絡(luò)單元,應(yīng)根據(jù)燃?xì)廨啓C(jī)的特點(diǎn)進(jìn)行模型結(jié)構(gòu)的設(shè)計(jì)。


圖12 壓氣機(jī)出口壓力仿真測試結(jié)果


圖13 透平排氣溫度仿真測試結(jié)果


圖14 功率仿真測試結(jié)果

表4 改進(jìn)的燃?xì)廨啓C(jī)模型仿真誤差
通過對(duì)非線性自回歸神經(jīng)網(wǎng)絡(luò)建模的基本原理進(jìn)行闡述,給出了利用非線性自回歸神經(jīng)網(wǎng)絡(luò)進(jìn)行燃?xì)廨啓C(jī)建模的方法,并基于某燃?xì)?蒸汽聯(lián)合循環(huán)機(jī)組的運(yùn)行數(shù)據(jù),分別對(duì)壓氣機(jī)出口壓力、透平排氣溫度和功率進(jìn)行了建模,最后對(duì)模型進(jìn)行了仿真驗(yàn)證。
經(jīng)驗(yàn)證,以實(shí)際電廠的運(yùn)行數(shù)據(jù)為依據(jù),利用該方法所建立的燃?xì)廨啓C(jī)仿真模型,能夠正確反映電廠燃?xì)廨啓C(jī)的外特性,其仿真精度能夠達(dá)到控制策略研究的要求,可以為燃?xì)廨啓C(jī)控制系統(tǒng)的設(shè)計(jì)和控制策略的研究提供快速準(zhǔn)確的模型,解決了常規(guī)燃?xì)廨啓C(jī)機(jī)理建模方法所面臨的設(shè)計(jì)參數(shù)難獲取、迭代計(jì)算時(shí)間長等問題。后續(xù)仍需要獲得燃?xì)廨啓C(jī)全工況運(yùn)行參數(shù),以建立適用于全工況仿真的燃?xì)廨啓C(jī)模型。