耿銘垚, 胡 銳, 李 凌
(1. 上海理工大學 能源與動力工程學院,上海 200093;2. 杭州華源前線能源設備有限公司,杭州 311106)
火電廠經濟運行主要是鍋爐經濟運行,即提高鍋爐的熱效率。目前,國內火電機組鍋爐熱效率一般可以達到92%左右,在鍋爐的各項熱損失中排煙損失和未完全燃燒損失是占比最大的兩項,分別在4%和2%左右,而影響這兩項損失的主要因素就是煙氣含氧量。在優化鍋爐燃燒系統時,若要更好地了解鍋爐的運行狀態,則需要準確測量鍋爐的重要運行參數。因此,煙氣含氧量是反映鍋爐燃燒狀況的一個重要參數[1],煙氣含氧量的及時、準確測量變得非常重要。目前,我國火電廠大多使用氧化鋯傳感器和磁式氧氣傳感器對氧氣進行測量,但這些方法普遍存在滯后大、精度低、硬件成本高、穩定性差等缺點,難以滿足電廠長期實時監控的要求[2]。近年來,隨著機器學習和深度學習技術的發展,神經網絡被廣泛應用于工業過程監控。在煙氣含氧量方面,國內已有學者提出將反饋BP(back propagation)神經網絡應用到煙氣含氧量預測中,并取得了理想的結果[3]。但單一的BP網絡模型收斂速度慢,容易陷入局部最優。而遺傳算法GA(genetic algorithm)能夠求出優化問題的全局最優解,且算法獨立于求解域。使用遺傳算法對BP神經網絡的初始權值和閾值進行優化,相比于隨機的初始權值和閾值將會有效提高BP神經網絡的收斂速度和準確性。本文以某350 MW超臨界中間再熱間接空冷抽汽凝汽式機組為例,提出了一種GA-BP模型用于預測電廠的煙氣含氧量。
BP神經網絡是一種反饋神經網絡,它的主要特點是信號向前傳播,而誤差卻是反向傳播,其模型結構如圖1所示。圖中:Xn為BP神經網絡的第n個輸入變量;Oj為BP神經網絡的第j個輸出結果。BP神經網絡的傳播過程根據其特點主要分為兩個階段:第一階段是輸入信號向前傳播,從輸入層到隱含層,最后到達輸出層;第二階段是誤差的反向傳播,根據誤差首先調節輸出層和隱含層間的權值和閾值,之后調節隱含層到輸入層間的權值和閾值[4]。上述誤差反向傳播算法作為網絡的基本訓練算法,存在著收斂速度慢、容易陷入局部最優等問題。為了克服神經網絡的這些缺點,研究人員提出了許多改進的算法,例如自適應學習率算法、粒子群算法[5]、GA算法等[6]。

圖1 BP神經網絡模型的結構Fig.1 Structure of BP neural network model
遺傳算法一般從兩個方面對神經網絡進行優化:一方面利用遺傳算法確定BP神經網絡的結構,包括神經網絡的層數、每一層的節點數;另一方面利用遺傳算法優化神經網絡的初始權值和閾值[7]。本文模型的目的是為了提高神經網絡的收斂速度和預測結果的準確性,所以選擇第二種優化方法,即通過遺傳算法優化后的權值和閾值使神經網絡的輸出值與目標值間的誤差平方和最小。其優化過程如下:a.初始權值和閾值的編碼,本模型使用二進制編碼;b.解碼,求解個體適應度;c.判斷是否滿足條件,滿足條件則輸出權值和閾值,不滿足條件則進行下一步;d.對輸出的權值和閾值編碼進行選擇、交叉、變異;e.重復第二步直到輸出權值和閾值;f.將輸出的權值和閾值輸入到神經網絡里;g.計算隱含層、輸出層的輸出值;h.計算輸出層結果與實際值的誤差;i.判斷誤差是否滿足要求,滿足要求則輸出結果,否則進行下一步;j.計算每個誤差的梯度,更新所有的權值和閾值,重復步驟g直到步驟i滿足要求為止。遺傳算法優化BP神經網絡的流程如圖2所示。

圖2 遺傳算法優化神經網絡流程圖Fig.2 Flow chart of BP neural network optimized by genetic algorithm
在選擇輔助變量時結合電廠的機理分析初步選取了排煙溫度、給水流量、機組負荷、總風量、給煤量、主蒸汽壓力、一抽溫度、再熱壓力作為輔助參數,煙氣含氧量作為主元參數。
火電廠的生產環境復雜,存在各種磁場、電場,使得傳感器測得的原始數據容易受到干擾,不可避免產生誤差[8]。沒有經過處理的數據用來直接建模會影響模型的精度,因此,在建模前必須進行數據的預處理。數據的誤差類型主要分為粗大誤差和隨機誤差。本文采用拉依達法則去除粗大誤差。先假設一組監測數據只含有隨機誤差,對其進行計算得到標準偏差,按照一定的概率確定某個區間,認為超出這個區間的誤差就不屬于隨機誤差而是粗大誤差。在正態分布中σ代表標準差,μ代表平均值,可以認為變量的取值全部集中在(μ-3σ,μ+3σ)區間內,超出這個范圍的應予以剔除[9]。消除隨機誤差通常采用數字濾波方法,本文采用五點三次平滑濾波對數據進行平滑處理[10]。以機組負荷為例,其原始數據如圖3所示,圖4為去除誤差后的數據。

圖3 現場運行原始數據Fig. 3 On-site operation raw data

圖4 去除噪音的數據Fig. 4 Noise-removed data
在訓練前必須將數據進行歸一化處理,以減小計算量和避免誤差擴大。歸一化數據如圖5所示。初步選取的輔助變量可能存在某種相關性且維度較高,在建模前運用偏最小二乘算法對初步選取的輔助變量進行主元分析。

圖5 歸一化后的數據Fig. 5 Normalized data
偏最小二乘法是基于因子分析的多變量校正方法,其數學基礎為主成分分析[11]。它綜合了多元線性回歸和典型相關分析的基本功能。當數據量小,甚至比變量維數還小,而相關性又比較大時,這個方法要優于主成分回歸,它相對于主成分回歸更進了一步。輔助變量與主元的關系通過各自的回歸系數表達出來,回歸系數的絕對值大小代表輔助變量對主元影響的大小。用偏最小二乘算法對初步選取的輔助變量和煙氣含氧量進行回歸分析,得到回歸系數分別為: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。
對各系數進行排序,根據系數大小確定輸入量對輸出的貢獻率,如表1所示。

表1 輸入量對輸出的貢獻率Tab.1 Contribution rate of input to output
將貢獻率低于1%的變量舍去,得到最終輔助變量分別為排煙溫度、給水流量、機組負荷、總風量、給煤量、主蒸汽壓力。表2給出了輔助變量的部分運行數據。得到的煙氣含氧量估計值與實測值的誤差如圖6所示,最大的偏差在-9%~5%之間。

表2 輔助變量部分運行數據Tab.2 Auxiliary variable part of operating data

圖6 偏最小二次回歸誤差分析Fig.6 Error analysis of partial minimum quadratic regression
建立的神經網絡為含有一個隱含層的反饋神經網絡[12],輸入層有6個輔助變量:排煙溫度、給水流量、機組負荷、總風量、給煤量、主蒸汽壓力。隱含層節點個數為13,此節點個數由試湊法得出[13],先設置較少的隱含層節點作為初始值,然后逐步增加隱含層節點數,最后選擇誤差最小時所對應的隱含層節點數。當訓練精度達到0.001時的網絡迭代次數和隱含層節點數的關系如表3所示。

表3 迭代次數和隱含層節點數的關系Tab.3 Relationship between the number of iterations and the number of hidden layer nodes
輸出層為煙氣含氧量。通過訓練對比將期望誤差設置為0.001。隱含層的神經元函數采用Sigmod特征函數[14],即

輸出層的神經元函數采用Pureline特征函數,即

神經網絡的誤差函數采用均方誤差MSE[15],即

式中:yk為第k個預測值;vk為第k個實際值;N為預測數據的數量。
使用遺傳算法對BP神經網絡的91個權值14個閾值共105個參數進行尋優。遺傳算法的遺傳代數設為100,種群個體數目為20,采用輪盤賭選擇方法確定個體的生存和淘汰。交叉概率pc=0.5,變異概率pm=1/91,取神經網絡誤差平方和作為適應度函數,種群最優個體目標函數值變化如圖7所示。

圖7 種群迭代過程中的最優目標函數值Fig.7 Optimal objective function value during population iteration
最終得到的最優個體適應度為0.22,對應的進化代數為48,且48代之后種群最優個體目標函數值將不再發生變化。由此可判斷此時已達到最優個體目標函數值。取150組預處理過的數據用于訓練網絡模型,當達到期望誤差時結束訓練。圖8為模型訓練過程的誤差變化情況。

圖8 GA- BP模型訓練圖Fig.8 GA-BP model training diagram
選取50組未經訓練的數據檢驗模型精度,將預測結果與電廠實際數據進行對比分析,如圖9所示。

圖9 預測值與真實值對比圖Fig. 9 Comparison of predicted and true values
從圖9可以看出,經遺傳算法優化初始權值和閾值的神經網絡預測結果與電廠實際數據吻合較好,其相對誤差如圖10所示。

圖10 樣本點相對誤差圖Fig.10 Relative error graph of sample points
從圖10可以看出,GA-BP模型的相對誤差大多集中在[-1%,1.5%],經計算GA-BP模型的平均相對誤差為0.5%。該結論表明,該模型預測結果符合精度要求,且相比于偏最小二乘回歸模型,GA-BP模型精度有顯著提高。
鍋爐煙氣含氧量的預測結果是由多個輸入參數共同決定的,在電廠的長時間運行過程中測量模型輸入變量的傳感器極有可能產生測量誤差,導致測量數據偏離電廠實際運行值。在對鍋爐的煙氣含氧量進行實時預測時,訓練好的模型應該能夠保證在輸入參數發生偏差時,依然可以測出較準確的結果。為此對耦合模型進行了魯棒性檢驗,在輸入參數上附加了1%~5%的隨機量。圖11為附加隨機量的回歸結果,圖12為附加隨機量相對誤差曲線。

圖11 附加隨機量的預測值與真實值對比圖Fig. 11 Comparison of predicted and true values with additional random amount
從圖12可以看出,在輸入參數上附加了1%~5%隨機量的模型預測結果的相對誤差大多集中在[-2%,3%],經計算平均相對誤差為1.48%,依然比較小。由此可見訓練好的GA-BP模型受輸入參數的影響較小,表明此模型具有很好的穩定性并具有較高的魯棒性。

圖12 附加隨機量樣本點相對誤差圖Fig. 12 Relative error graph of sample points with additional random amount
基于上述研究,為進一步驗證GA-BP模型準確性,應用GA-BP模型研究了總風量、給煤量對煙氣含氧量的影響。首先,控制排煙溫度、給水流量、機組負荷、給煤量、主蒸汽壓力5個參數不變,逐步增大總風量且在正常范圍內取值,總風量和煙氣含氧量關系如圖13所示;其次,控制這5個參數不變,逐步增大給煤量且在正常范圍內取值,給煤量和煙氣含氧量關系如圖14所示。

圖13 總風量對煙氣含氧量的影響Fig. 13 Effect of total air volume on oxygen content in flue gas
從圖13可以看出,隨總風量的增加,煙氣含氧量也隨之緩慢增加。這主要是因為此時爐膛內的氧氣量充足,隨著總風量的增加進入到爐膛里的氧氣含量增加,當其他工況不變時隨煙氣排出的氧量便有所增加。圖14表示了給煤量對煙氣含氧量的影響情況,由圖可知,在其他條件不變的情況下,隨著給煤量的增加,煙氣含氧量隨之減小。這主要是由于給煤量增加,煤炭燃燒所消耗的氧氣量增加,排出鍋爐的煙氣里的含氧量隨之減小。圖13和圖14的研究結果表明,GA-BP模型的預測結果與鍋爐燃燒機理完全相符,從而進一步驗證了模型的準確性。

圖14 給煤量對煙氣含氧量的影響Fig. 14 Influence of coal feed rate on flue gas oxygen content
煙氣含氧量不僅是反映風煤比投入情況的重要參數,而且是鍋爐熱效率和排污率的重要指標。實時準確的測量煙氣含氧量對鍋爐運行優化具有重要指導意義。針對火電廠鍋爐煙氣含氧量測量準確性難以保持等問題,本文用GA-BP模型對電廠的排煙溫度、給水流量、機組負荷、總風量、給煤量、主汽壓力進行了建模用以預測煙氣含氧量,結果顯示GA-BP模型模型可以較好地反映電廠的煙氣含氧量變化,并且具有很好的穩定性。用GA-BP模型檢驗總風量、給煤量對煙氣含氧量的影響,其結果與鍋爐燃燒機理完全相符,從而進一步驗證了模型的準確性。GA-BP建模技術為電廠的煙氣含氧量測量提供了新的技術手段,同時也為電廠運行人員提供一個很好的參考。由于數據樣本有限,各個運行工況數據不足,影響了GA-BP模型的泛化能力,可在得到充足數據后重新訓練GA-BP模型,從而提高GA-BP模型泛化能力。