耿銘垚, 胡 銳, 李 凌
(1. 上海理工大學(xué) 能源與動力工程學(xué)院,上海 200093;2. 杭州華源前線能源設(shè)備有限公司,杭州 311106)
火電廠經(jīng)濟(jì)運(yùn)行主要是鍋爐經(jīng)濟(jì)運(yùn)行,即提高鍋爐的熱效率。目前,國內(nèi)火電機(jī)組鍋爐熱效率一般可以達(dá)到92%左右,在鍋爐的各項熱損失中排煙損失和未完全燃燒損失是占比最大的兩項,分別在4%和2%左右,而影響這兩項損失的主要因素就是煙氣含氧量。在優(yōu)化鍋爐燃燒系統(tǒng)時,若要更好地了解鍋爐的運(yùn)行狀態(tài),則需要準(zhǔn)確測量鍋爐的重要運(yùn)行參數(shù)。因此,煙氣含氧量是反映鍋爐燃燒狀況的一個重要參數(shù)[1],煙氣含氧量的及時、準(zhǔn)確測量變得非常重要。目前,我國火電廠大多使用氧化鋯傳感器和磁式氧氣傳感器對氧氣進(jìn)行測量,但這些方法普遍存在滯后大、精度低、硬件成本高、穩(wěn)定性差等缺點,難以滿足電廠長期實時監(jiān)控的要求[2]。近年來,隨著機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于工業(yè)過程監(jiān)控。在煙氣含氧量方面,國內(nèi)已有學(xué)者提出將反饋BP(back propagation)神經(jīng)網(wǎng)絡(luò)應(yīng)用到煙氣含氧量預(yù)測中,并取得了理想的結(jié)果[3]。但單一的BP網(wǎng)絡(luò)模型收斂速度慢,容易陷入局部最優(yōu)。而遺傳算法GA(genetic algorithm)能夠求出優(yōu)化問題的全局最優(yōu)解,且算法獨(dú)立于求解域。使用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化,相比于隨機(jī)的初始權(quán)值和閾值將會有效提高BP神經(jīng)網(wǎng)絡(luò)的收斂速度和準(zhǔn)確性。本文以某350 MW超臨界中間再熱間接空冷抽汽凝汽式機(jī)組為例,提出了一種GA-BP模型用于預(yù)測電廠的煙氣含氧量。
BP神經(jīng)網(wǎng)絡(luò)是一種反饋神經(jīng)網(wǎng)絡(luò),它的主要特點是信號向前傳播,而誤差卻是反向傳播,其模型結(jié)構(gòu)如圖1所示。圖中:Xn為BP神經(jīng)網(wǎng)絡(luò)的第n個輸入變量;Oj為BP神經(jīng)網(wǎng)絡(luò)的第j個輸出結(jié)果。BP神經(jīng)網(wǎng)絡(luò)的傳播過程根據(jù)其特點主要分為兩個階段:第一階段是輸入信號向前傳播,從輸入層到隱含層,最后到達(dá)輸出層;第二階段是誤差的反向傳播,根據(jù)誤差首先調(diào)節(jié)輸出層和隱含層間的權(quán)值和閾值,之后調(diào)節(jié)隱含層到輸入層間的權(quán)值和閾值[4]。上述誤差反向傳播算法作為網(wǎng)絡(luò)的基本訓(xùn)練算法,存在著收斂速度慢、容易陷入局部最優(yōu)等問題。為了克服神經(jīng)網(wǎng)絡(luò)的這些缺點,研究人員提出了許多改進(jìn)的算法,例如自適應(yīng)學(xué)習(xí)率算法、粒子群算法[5]、GA算法等[6]。
圖1 BP神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)Fig.1 Structure of BP neural network model
遺傳算法一般從兩個方面對神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化:一方面利用遺傳算法確定BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),包括神經(jīng)網(wǎng)絡(luò)的層數(shù)、每一層的節(jié)點數(shù);另一方面利用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值[7]。本文模型的目的是為了提高神經(jīng)網(wǎng)絡(luò)的收斂速度和預(yù)測結(jié)果的準(zhǔn)確性,所以選擇第二種優(yōu)化方法,即通過遺傳算法優(yōu)化后的權(quán)值和閾值使神經(jīng)網(wǎng)絡(luò)的輸出值與目標(biāo)值間的誤差平方和最小。其優(yōu)化過程如下:a.初始權(quán)值和閾值的編碼,本模型使用二進(jìn)制編碼;b.解碼,求解個體適應(yīng)度;c.判斷是否滿足條件,滿足條件則輸出權(quán)值和閾值,不滿足條件則進(jìn)行下一步;d.對輸出的權(quán)值和閾值編碼進(jìn)行選擇、交叉、變異;e.重復(fù)第二步直到輸出權(quán)值和閾值;f.將輸出的權(quán)值和閾值輸入到神經(jīng)網(wǎng)絡(luò)里;g.計算隱含層、輸出層的輸出值;h.計算輸出層結(jié)果與實際值的誤差;i.判斷誤差是否滿足要求,滿足要求則輸出結(jié)果,否則進(jìn)行下一步;j.計算每個誤差的梯度,更新所有的權(quán)值和閾值,重復(fù)步驟g直到步驟i滿足要求為止。遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的流程如圖2所示。
圖2 遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)流程圖Fig.2 Flow chart of BP neural network optimized by genetic algorithm
在選擇輔助變量時結(jié)合電廠的機(jī)理分析初步選取了排煙溫度、給水流量、機(jī)組負(fù)荷、總風(fēng)量、給煤量、主蒸汽壓力、一抽溫度、再熱壓力作為輔助參數(shù),煙氣含氧量作為主元參數(shù)。
火電廠的生產(chǎn)環(huán)境復(fù)雜,存在各種磁場、電場,使得傳感器測得的原始數(shù)據(jù)容易受到干擾,不可避免產(chǎn)生誤差[8]。沒有經(jīng)過處理的數(shù)據(jù)用來直接建模會影響模型的精度,因此,在建模前必須進(jìn)行數(shù)據(jù)的預(yù)處理。數(shù)據(jù)的誤差類型主要分為粗大誤差和隨機(jī)誤差。本文采用拉依達(dá)法則去除粗大誤差。先假設(shè)一組監(jiān)測數(shù)據(jù)只含有隨機(jī)誤差,對其進(jìn)行計算得到標(biāo)準(zhǔn)偏差,按照一定的概率確定某個區(qū)間,認(rèn)為超出這個區(qū)間的誤差就不屬于隨機(jī)誤差而是粗大誤差。在正態(tài)分布中σ代表標(biāo)準(zhǔn)差,μ代表平均值,可以認(rèn)為變量的取值全部集中在(μ-3σ,μ+3σ)區(qū)間內(nèi),超出這個范圍的應(yīng)予以剔除[9]。消除隨機(jī)誤差通常采用數(shù)字濾波方法,本文采用五點三次平滑濾波對數(shù)據(jù)進(jìn)行平滑處理[10]。以機(jī)組負(fù)荷為例,其原始數(shù)據(jù)如圖3所示,圖4為去除誤差后的數(shù)據(jù)。
圖3 現(xiàn)場運(yùn)行原始數(shù)據(jù)Fig. 3 On-site operation raw data
圖4 去除噪音的數(shù)據(jù)Fig. 4 Noise-removed data
在訓(xùn)練前必須將數(shù)據(jù)進(jìn)行歸一化處理,以減小計算量和避免誤差擴(kuò)大。歸一化數(shù)據(jù)如圖5所示。初步選取的輔助變量可能存在某種相關(guān)性且維度較高,在建模前運(yùn)用偏最小二乘算法對初步選取的輔助變量進(jìn)行主元分析。
圖5 歸一化后的數(shù)據(jù)Fig. 5 Normalized data
偏最小二乘法是基于因子分析的多變量校正方法,其數(shù)學(xué)基礎(chǔ)為主成分分析[11]。它綜合了多元線性回歸和典型相關(guān)分析的基本功能。當(dāng)數(shù)據(jù)量小,甚至比變量維數(shù)還小,而相關(guān)性又比較大時,這個方法要優(yōu)于主成分回歸,它相對于主成分回歸更進(jìn)了一步。輔助變量與主元的關(guān)系通過各自的回歸系數(shù)表達(dá)出來,回歸系數(shù)的絕對值大小代表輔助變量對主元影響的大小。用偏最小二乘算法對初步選取的輔助變量和煙氣含氧量進(jìn)行回歸分析,得到回歸系數(shù)分別為:K1=0.232 1,K2=-0.154 3,K3=0.174 2,K4=0.336 4,K5=-0.442 1,K6=-0.132 1,K7=0.011 6,K8=-0.001 7。
對各系數(shù)進(jìn)行排序,根據(jù)系數(shù)大小確定輸入量對輸出的貢獻(xiàn)率,如表1所示。
表1 輸入量對輸出的貢獻(xiàn)率Tab.1 Contribution rate of input to output
將貢獻(xiàn)率低于1%的變量舍去,得到最終輔助變量分別為排煙溫度、給水流量、機(jī)組負(fù)荷、總風(fēng)量、給煤量、主蒸汽壓力。表2給出了輔助變量的部分運(yùn)行數(shù)據(jù)。得到的煙氣含氧量估計值與實測值的誤差如圖6所示,最大的偏差在-9%~5%之間。
表2 輔助變量部分運(yùn)行數(shù)據(jù)Tab.2 Auxiliary variable part of operating data
圖6 偏最小二次回歸誤差分析Fig.6 Error analysis of partial minimum quadratic regression
建立的神經(jīng)網(wǎng)絡(luò)為含有一個隱含層的反饋神經(jīng)網(wǎng)絡(luò)[12],輸入層有6個輔助變量:排煙溫度、給水流量、機(jī)組負(fù)荷、總風(fēng)量、給煤量、主蒸汽壓力。隱含層節(jié)點個數(shù)為13,此節(jié)點個數(shù)由試湊法得出[13],先設(shè)置較少的隱含層節(jié)點作為初始值,然后逐步增加隱含層節(jié)點數(shù),最后選擇誤差最小時所對應(yīng)的隱含層節(jié)點數(shù)。當(dāng)訓(xùn)練精度達(dá)到0.001時的網(wǎng)絡(luò)迭代次數(shù)和隱含層節(jié)點數(shù)的關(guān)系如表3所示。
表3 迭代次數(shù)和隱含層節(jié)點數(shù)的關(guān)系Tab.3 Relationship between the number of iterations and the number of hidden layer nodes
輸出層為煙氣含氧量。通過訓(xùn)練對比將期望誤差設(shè)置為0.001。隱含層的神經(jīng)元函數(shù)采用Sigmod特征函數(shù)[14],即
輸出層的神經(jīng)元函數(shù)采用Pureline特征函數(shù),即
神經(jīng)網(wǎng)絡(luò)的誤差函數(shù)采用均方誤差MSE[15],即
式中:yk為第k個預(yù)測值;vk為第k個實際值;N為預(yù)測數(shù)據(jù)的數(shù)量。
使用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)的91個權(quán)值14個閾值共105個參數(shù)進(jìn)行尋優(yōu)。遺傳算法的遺傳代數(shù)設(shè)為100,種群個體數(shù)目為20,采用輪盤賭選擇方法確定個體的生存和淘汰。交叉概率pc=0.5,變異概率pm=1/91,取神經(jīng)網(wǎng)絡(luò)誤差平方和作為適應(yīng)度函數(shù),種群最優(yōu)個體目標(biāo)函數(shù)值變化如圖7所示。
圖7 種群迭代過程中的最優(yōu)目標(biāo)函數(shù)值Fig.7 Optimal objective function value during population iteration
最終得到的最優(yōu)個體適應(yīng)度為0.22,對應(yīng)的進(jìn)化代數(shù)為48,且48代之后種群最優(yōu)個體目標(biāo)函數(shù)值將不再發(fā)生變化。由此可判斷此時已達(dá)到最優(yōu)個體目標(biāo)函數(shù)值。取150組預(yù)處理過的數(shù)據(jù)用于訓(xùn)練網(wǎng)絡(luò)模型,當(dāng)達(dá)到期望誤差時結(jié)束訓(xùn)練。圖8為模型訓(xùn)練過程的誤差變化情況。
圖8 GA- BP模型訓(xùn)練圖Fig.8 GA-BP model training diagram
選取50組未經(jīng)訓(xùn)練的數(shù)據(jù)檢驗?zāi)P途?,將預(yù)測結(jié)果與電廠實際數(shù)據(jù)進(jìn)行對比分析,如圖9所示。
圖9 預(yù)測值與真實值對比圖Fig. 9 Comparison of predicted and true values
從圖9可以看出,經(jīng)遺傳算法優(yōu)化初始權(quán)值和閾值的神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果與電廠實際數(shù)據(jù)吻合較好,其相對誤差如圖10所示。
圖10 樣本點相對誤差圖Fig.10 Relative error graph of sample points
從圖10可以看出,GA-BP模型的相對誤差大多集中在[-1%,1.5%],經(jīng)計算GA-BP模型的平均相對誤差為0.5%。該結(jié)論表明,該模型預(yù)測結(jié)果符合精度要求,且相比于偏最小二乘回歸模型,GA-BP模型精度有顯著提高。
鍋爐煙氣含氧量的預(yù)測結(jié)果是由多個輸入?yún)?shù)共同決定的,在電廠的長時間運(yùn)行過程中測量模型輸入變量的傳感器極有可能產(chǎn)生測量誤差,導(dǎo)致測量數(shù)據(jù)偏離電廠實際運(yùn)行值。在對鍋爐的煙氣含氧量進(jìn)行實時預(yù)測時,訓(xùn)練好的模型應(yīng)該能夠保證在輸入?yún)?shù)發(fā)生偏差時,依然可以測出較準(zhǔn)確的結(jié)果。為此對耦合模型進(jìn)行了魯棒性檢驗,在輸入?yún)?shù)上附加了1%~5%的隨機(jī)量。圖11為附加隨機(jī)量的回歸結(jié)果,圖12為附加隨機(jī)量相對誤差曲線。
圖11 附加隨機(jī)量的預(yù)測值與真實值對比圖Fig. 11 Comparison of predicted and true values with additional random amount
從圖12可以看出,在輸入?yún)?shù)上附加了1%~5%隨機(jī)量的模型預(yù)測結(jié)果的相對誤差大多集中在[-2%,3%],經(jīng)計算平均相對誤差為1.48%,依然比較小。由此可見訓(xùn)練好的GA-BP模型受輸入?yún)?shù)的影響較小,表明此模型具有很好的穩(wěn)定性并具有較高的魯棒性。
圖12 附加隨機(jī)量樣本點相對誤差圖Fig. 12 Relative error graph of sample points with additional random amount
基于上述研究,為進(jìn)一步驗證GA-BP模型準(zhǔn)確性,應(yīng)用GA-BP模型研究了總風(fēng)量、給煤量對煙氣含氧量的影響。首先,控制排煙溫度、給水流量、機(jī)組負(fù)荷、給煤量、主蒸汽壓力5個參數(shù)不變,逐步增大總風(fēng)量且在正常范圍內(nèi)取值,總風(fēng)量和煙氣含氧量關(guān)系如圖13所示;其次,控制這5個參數(shù)不變,逐步增大給煤量且在正常范圍內(nèi)取值,給煤量和煙氣含氧量關(guān)系如圖14所示。
圖13 總風(fēng)量對煙氣含氧量的影響Fig. 13 Effect of total air volume on oxygen content in flue gas
從圖13可以看出,隨總風(fēng)量的增加,煙氣含氧量也隨之緩慢增加。這主要是因為此時爐膛內(nèi)的氧氣量充足,隨著總風(fēng)量的增加進(jìn)入到爐膛里的氧氣含量增加,當(dāng)其他工況不變時隨煙氣排出的氧量便有所增加。圖14表示了給煤量對煙氣含氧量的影響情況,由圖可知,在其他條件不變的情況下,隨著給煤量的增加,煙氣含氧量隨之減小。這主要是由于給煤量增加,煤炭燃燒所消耗的氧氣量增加,排出鍋爐的煙氣里的含氧量隨之減小。圖13和圖14的研究結(jié)果表明,GA-BP模型的預(yù)測結(jié)果與鍋爐燃燒機(jī)理完全相符,從而進(jìn)一步驗證了模型的準(zhǔn)確性。
圖14 給煤量對煙氣含氧量的影響Fig. 14 Influence of coal feed rate on flue gas oxygen content
煙氣含氧量不僅是反映風(fēng)煤比投入情況的重要參數(shù),而且是鍋爐熱效率和排污率的重要指標(biāo)。實時準(zhǔn)確的測量煙氣含氧量對鍋爐運(yùn)行優(yōu)化具有重要指導(dǎo)意義。針對火電廠鍋爐煙氣含氧量測量準(zhǔn)確性難以保持等問題,本文用GA-BP模型對電廠的排煙溫度、給水流量、機(jī)組負(fù)荷、總風(fēng)量、給煤量、主汽壓力進(jìn)行了建模用以預(yù)測煙氣含氧量,結(jié)果顯示GA-BP模型模型可以較好地反映電廠的煙氣含氧量變化,并且具有很好的穩(wěn)定性。用GA-BP模型檢驗總風(fēng)量、給煤量對煙氣含氧量的影響,其結(jié)果與鍋爐燃燒機(jī)理完全相符,從而進(jìn)一步驗證了模型的準(zhǔn)確性。GA-BP建模技術(shù)為電廠的煙氣含氧量測量提供了新的技術(shù)手段,同時也為電廠運(yùn)行人員提供一個很好的參考。由于數(shù)據(jù)樣本有限,各個運(yùn)行工況數(shù)據(jù)不足,影響了GA-BP模型的泛化能力,可在得到充足數(shù)據(jù)后重新訓(xùn)練GA-BP模型,從而提高GA-BP模型泛化能力。