馬良玉,於世磊,趙尚羽,孫佳明
(華北電力大學 控制與計算機工程學院,河北 保定 071003)
燃煤發(fā)電機組運行中,維持過熱汽溫恒定在目標值附近,對于最大限度地提高發(fā)電效率及鍋爐汽輪機組的壽命至關重要[1]?;痣娭髁C型向高參數(shù)、大容量超臨界、超超臨界機組發(fā)展,使得過熱汽溫系統(tǒng)的大慣性、大時延特性更加明顯,加大了過熱汽溫控制難度[2]。隨著區(qū)域電網(wǎng)風能、太陽能等可再生能源電源的比例不斷增加,為消納清潔能源并保證電網(wǎng)供電品質,火電機組參與AGC深度調峰頻繁大幅變負荷靈活運行已成常態(tài),這更加增加了汽溫調控的難度。因此采用先進的汽溫控制策略改善過熱汽溫控制效果一直是現(xiàn)場重要的研究課題。
隨著智能控制技術的發(fā)展,模型預測控制受到越來越多學者的關注。而建立過熱汽溫對象的高精度預測模型,是實現(xiàn)過熱汽溫智能優(yōu)化控制的基礎,對此很多學者進行了研究。文獻[3]采用具有外部時延的極限學習機建立過熱汽溫模型,并用改進煙花算法對模型進行優(yōu)化,模型具有較好的預測精度和泛化能力。文獻[4]分別采用BP神經(jīng)網(wǎng)絡和Elman模型對過熱汽溫進行建模,表明兩種模型都可以較好地逼近實際輸出,但模型的訓練時間較長。文獻[5]采用粒子群優(yōu)化算法對支持向量機的參數(shù)進行優(yōu)化,建立了基于PSO-SVM的過熱汽溫模型,但建模和測試樣本集較少。
本文以某600 MW超臨界機組為對象,基于仿真機獲取機組大范圍變負荷工況過熱汽溫系統(tǒng)的運行數(shù)據(jù),嘗試用機器學習領域的XGBoost(eXtreme Gradient Boosting)算法對過熱汽溫特性進行建模,并利用隨機搜索算法尋找模型的最優(yōu)參數(shù),確立精度較高的過熱汽溫特性模型,為過熱汽溫智能預測控制奠定基礎。
XGBoost算法集成思想為基礎[6]。集成學習方法將多個學習模型組合,使組合后的模型具有更強的泛化能力,以獲得更好的建模效果。XGBoost是在梯度下降樹(Gradient Boosting Decision Tree,GBDT)的基礎上對boosting算法進行的改進,由多棵決策樹迭代組成[7]。其基本思想是:首先構建多個CART(Classification and Regression Trees)模型對數(shù)據(jù)集進行預測,隨后將這些樹集成為一個新的樹模型。模型會不斷地迭代提升,每次迭代生成的新樹模型都會擬合前一棵樹的殘差。隨著樹的增多,集成模型的復雜度會逐漸變高,直到接近數(shù)據(jù)本身的復雜度,訓練也達到最佳效果。
XGBoost算法模型如下所示:
(1)
式中:ft(xi)=ωq(x)為CART的空間;ωq(x)為對樣本x的打分,累加得到模型預測值;q代表每個樹的結構;T為樹的數(shù)目;每個ft對應于一個獨立的樹結構q和葉子權重ω。
XGBoost內(nèi)部決策樹使用的是回歸樹,回歸樹的分裂結點對于平方損失函數(shù),擬合的就是殘差;而對于一般損失函數(shù)(梯度下降),擬合的就是殘差的近似值,所以XGBoost的精度會更高。殘差擬合的迭代過程如下:
(2)
(3)
(4)
……
(5)
根據(jù)殘差的迭代過程,可以得到算法的目標優(yōu)化函數(shù),即損失函數(shù):
(6)
對于一般損失函數(shù),XGBoost會做二階泰勒展開是為了挖掘更多關于梯度的信息,同時移除常數(shù)項[8],使得梯度下降方法可以更好地訓練。第t步的損失函數(shù)為
(7)
(8)
式中:gi和hi分別為一階和二階導數(shù)。
與其它算法不同的是XGBoost算法中加入了正則化項Ω(f),以防止過擬合,更好地提高模型精度[9]。正則化項為
(9)
式中:Ω(f)是表示樹的復雜度的函數(shù),函數(shù)值越小則樹的泛化能力越強[10]。其中ωj為樹f中第j個葉子節(jié)點上的權重,T為樹的葉子節(jié)點總數(shù),γ為L1正則的懲罰項,λ為L2正則的懲罰項,是算法的自定義參數(shù)。因此得到目標函數(shù):
(10)
(11)
(12)
式中:Ij={i|q(xi)=j}代表第j個葉子節(jié)點上的樣本集合。
XGBoost模型會采用交叉驗證的方式來提高預測精度,本文中采用K折交叉驗證(K-fold Cross Validation,K-CV)對模型進行調優(yōu)[11]。K-CV就是將數(shù)據(jù)集等比例分成K份,其中的一份作為測試數(shù)據(jù),其它的K-1份數(shù)據(jù)作為訓練數(shù)據(jù)。重復進行K次實驗,得到K個模型,用這個模型最終的驗證集的回歸準確率的平均數(shù)作為此K-CV下回歸器的性能指標,其原理如圖1所示。K-CV可以有效地避免過擬合與欠擬合的發(fā)生,一定程度上提高模型精度,在本文中選取K=5。
圖1 K-CV方法示意圖Fig.1 Schematic diagram of K-CV method
網(wǎng)格搜索算法(Grid Search Method,GSM)是一種尋找最優(yōu)參數(shù)組合的方法,將搜索區(qū)域劃分成網(wǎng)格狀,依次對交叉點進行驗證,選出最優(yōu)參數(shù)組合[12]。GSM會提前對搜索區(qū)域進行劃分,缺點是劃分的網(wǎng)格越多等同于參數(shù)組合得越多,計算機的計算量越大,尋優(yōu)時間就會越長。如果網(wǎng)格劃分的不夠細,很可能會搜不到最佳的參數(shù)組合,如圖2(a)所示。
隨機搜索算法(RandomizedSearch Method,RSM)與網(wǎng)格搜索類似,但不會遍歷所有的參數(shù)組合,而是通過選擇每個超參數(shù)的一個隨機值進行隨機組合,從而大大減少超參數(shù)搜索的計算量,縮短尋優(yōu)時間,如圖2(b)所示??梢?,RSM以在參數(shù)空間中隨機采樣的方式代替了GSM的網(wǎng)格搜索,對于連續(xù)變化的參數(shù),RSM將其當作一個分布進行采樣,這是GSM做不到的。因此,GSM適用于三四個(或者更少)的超參數(shù),當超參數(shù)個數(shù)不斷增多時,其尋優(yōu)所需時間將會呈指數(shù)級上升。相比之下,RSM更加高效。
圖2 兩種算法示意圖Fig.2 Schematic diagram of the two algorithms
本文研究對象為某600 MW超臨界機組,型號為DG-1900/25.4-Ⅱ,單爐膛、一次再熱、平衡通風、固態(tài)排渣和全懸吊結構Π型鍋爐。
該鍋爐過熱汽溫采用兩級噴水減溫控制,各級噴水均分為左、右兩側,可以分別調節(jié)。第一級噴水減溫器在低溫過熱器出口集箱與屏式過熱器入口集箱之間,用于控制屏式過熱器出口汽溫。第二級噴水減溫器在屏式過熱器出口集箱與末級過熱器入口集箱之間的連接管道上,用于精確控制末級過熱器出口汽溫,使之穩(wěn)定在額定值。鍋爐噴水減溫系統(tǒng)如圖3所示。
圖3 噴水減溫系統(tǒng)布置圖Fig.3 Layout of water-spray desuperheating system
火電廠鍋爐機組變負荷運行過程中,煤量、風量、給水流量、給水溫度及噴水減溫等因素的變化對過熱汽溫均有影響[13]。綜合考慮過熱汽溫的主要影響因素,最終選取表1所示參數(shù)建立過熱汽溫特性預測模型[14](以一級、二級單側為例)。
表1 過熱汽溫系統(tǒng)模型變量Tab.1 Variables for superheater system models
由于過熱汽溫具有大慣性和大遲延特性,且在不同負荷下具有較強的非線性,為提高模型的精度,選取具有輸入時延和輸出時延的XGBoost模型結構,將各輸入變量的當前時刻值及其二階時延值、以及輸出變量的二階時延反饋值作為模型的輸入,將輸出變量當前時刻的值作為模型輸出[15]。這樣,針對各級左、右兩個過熱器,每個模型均有26個輸入變量、1個輸出變量。模型結構如圖4所示。
圖4 XGBoost模型結構Fig.4 XGBoost model structure
借助上述超臨界機組的全范圍仿真機,以5 MW/min的變負荷率,自600 MW分段降負荷至420 MW,再逐漸升負荷至600 MW,以1 s采樣周期共獲取12 000組數(shù)據(jù)用于模型訓練。根據(jù)經(jīng)驗將所有數(shù)據(jù)歸一化至[0,1]范圍。本文建模采用Python語言編程實現(xiàn),仿真平臺為Pycharm。
根據(jù)表1、圖4所示模型變量和結構,用XGBoost建立過熱汽溫性預測模型,并分別用GSM和RSM對模型參數(shù)進行優(yōu)化,比較兩種模型的優(yōu)化效果。
由于XGBoost模型參數(shù)較多,全部進行優(yōu)化會給計算機的內(nèi)存增加挑戰(zhàn),大大增加尋優(yōu)時間,最終選取如下4個主要參數(shù)進行優(yōu)化:(1)樹的數(shù)目n_estimators,此參數(shù)越大越好,但占用的內(nèi)存與訓練時間也會相應增長,本文尋優(yōu)范圍80~200;(2)樹的最大深度max_depth,該參數(shù)用于避免過擬合,取值范圍為5~10;(3)學習率learning_rate,取值范圍為 0.05~0.3;(4)最小葉子節(jié)點樣本權重min_child_weight,與max_depth的作用相似,用于避免過擬合,取值范圍為1~9。
XGB的模型4個初始參數(shù)分別設置為100、5、0.1、1。此外GSM在尋優(yōu)過程中需要設置各參數(shù)尋優(yōu)步距(本文依次取5,1,0.01,1),RSM則需設置隨機搜索的種子數(shù)(本文取10)。采用上述參數(shù)對一級、二級汽溫模型尋優(yōu)后,最終確定的GS-XGB和RS-XGB模型的參數(shù)見表2。
表2 兩級過熱汽溫系統(tǒng)模型參數(shù)Tab.2 Model parameters of two level superheater system models
其中優(yōu)化后的一、二級汽溫系統(tǒng)RS-XGB模型對訓練集的擬合結果見圖5。可見,經(jīng)RSM優(yōu)化后的一、二級過熱汽溫XGBoost預測模型,針對訓練樣本集模型擬合值與真實值變化曲線基本重合,2個模型輸出的最大誤差均小于±0.2 ℃。
圖5 一、二級過熱汽溫系統(tǒng)RS-XGB模型訓練結果Fig.5 Training results of two RS-XGB models for the first and second stages of superheater system
為測試訓練好的RS-XGB模型的預測能力,仿真系統(tǒng)以12 MW/min的變負荷率,自600 MW依次變負荷至500 MW、420 MW、550 MW、600 MW及540 MW,以1 s采樣周期獲取6 000組與訓練樣本不同的數(shù)據(jù)對模型進行驗證。2個模型的預測結果及誤差曲線如圖6所示。可見,優(yōu)化后的一、二級過熱汽溫XGBoost預測模型,汽溫預測值與真實值變化曲線仍十分接近,2個模型輸出的最大誤差均小于±0.1 ℃。表明針對與訓練樣本不同的數(shù)據(jù)集,模型依舊具有較高的預測精度和很好的泛化能力。
圖6 一、二級過熱汽溫系統(tǒng)RS-XGB模型測試結果Fig.6 Testing results of two RS-XGB models for the first and second stages of superheater system
采用均方誤差(MSE)、平均絕對誤差(MAE)及尋優(yōu)時間對兩級過熱汽溫系統(tǒng)GS-XGB和RS-XGB模型的尋優(yōu)效果進行評估,結果如表3所示??梢姡琑S-XGB模型針對訓練集和預測集的預測精度均比GS-XGB更好,且尋優(yōu)時間也大大縮短。
表3 過熱汽溫系統(tǒng)模型尋優(yōu)結果評價Tab.3 Evaluation of superheater system models
考慮到本文只是對4個參數(shù)進行了尋優(yōu),隨機搜索算法已體現(xiàn)出較大優(yōu)勢,當參數(shù)進一步增多時,網(wǎng)格搜索所需時間會呈指數(shù)增長,RSM尋優(yōu)效率比GSM會更具優(yōu)勢。
通過多次試驗發(fā)現(xiàn)尋優(yōu)算法的種子數(shù)和步距對模型精度及尋優(yōu)時間都有影響。對于GSM,本文要尋優(yōu)的參數(shù)有4個,讓其中的3個參數(shù)值保持不變,改變另一個參數(shù)尋優(yōu)的步距。經(jīng)對比發(fā)現(xiàn),改變各參數(shù)的尋優(yōu)步距,隨著步距的增大,搜索時間會大大減小,但是模型精度會有下降。對于RSM,模型默認種子數(shù)為10。設置種子數(shù)從5開始增加,以5遞增,隨著種子數(shù)的增加,精度稍有提升,但尋優(yōu)時間會大大增加。
針對600 MW超臨界火電機組各級過熱器系統(tǒng)汽溫對象(含噴水減溫器),建立了基于XGBoost的過熱汽溫預測模型。由于過熱汽溫具有大時延、大慣性的特點,為提高模型預測精度,采用具有二階時延的XGBoost模型結構,并利用網(wǎng)格搜索和隨機搜索兩種算法對模型參數(shù)進行尋優(yōu)。結果表明:RSM優(yōu)化的XGBoost模型預測精度比GSM優(yōu)化的XGBoost模型精度更高,尋優(yōu)時間更短。本文建立的過熱汽溫特性模型,可以為過熱汽溫預測控制的進一步實現(xiàn)奠定基礎。