牛培峰, 吳志良, 馬云鵬, 史春見, 李進柏
(燕山大學 工業計算機控制工程河北省重點實驗室, 河北秦皇島 066004)
熱耗率是指發電機組每產生1 kW·h電能所消耗的熱量.現在通常把熱耗率作為研究和衡量電廠熱經濟性的一個重要指標[1],很多電廠都需要對其進行實時監測,精確的汽輪機熱耗率值對電廠安全、穩定、高效運行具有重要意義.
由于汽輪機熱耗率與其影響因素之間存在著復雜的非線性關系,傳統的建模方法無法建立精確的數學模型,導致模型所得的熱耗率值產生偏差.目前一種可行的方法是采用回歸算法計算熱耗率,王雷等[2]提出了基于支持向量回歸算法的汽輪機熱耗率模型;王惠杰等[3]提出基于v類型支持向量機(v-SVM)的汽輪機熱耗率回歸預測模型;張文琴等[4]基于偏最小二乘算法進行熱耗率回歸分析,建立了汽輪機熱耗率預測模型;劉超等[5]提出基于最小二乘支持向量機的熱耗率反向建模方法.基于數據驅動建模的人工神經網絡也是解決這一問題的有效方法,朱譽等[6]提出基于BP神經網絡的汽輪機熱耗率在線計算方法,所建模型具有較高的準確性和穩定性.然而,常規的神經網絡存在迭代訓練時間長、計算量大、訓練速度慢、泛化能力較差且易陷入局部極小點等不足.為克服這些缺點,筆者提出了一種改進的正弦余弦算法(ASCA)和快速學習網(FLN)[7]的綜合建模方法.
正弦余弦算法(SCA)是由Mirjalili[8]于2016年提出的一種基于正弦余弦函數的新型優化算法,該算法通過創建多個隨機候選解,利用正弦余弦數學模型來求解最優化問題,能夠探索不同的搜索空間,有效避免局部最優,具有模型簡單、調整參數少和全局尋優能力強等優點.然而在處理復雜的優化問題上,SCA算法的收斂精度較低且收斂速度較慢,為了克服這些缺陷,筆者提出了ASCA算法,并利用ASCA算法、SCA算法、經典的人工蜂群算法(ABC)[9]和教與學優化算法(TLBO)[10]分別對單峰、多峰等8個基準測試函數進行了測試.由于FLN模型的性能過于依賴隨機初始的輸入權值和隱藏層閾值,故采用ASCA算法對FLN模型的參數進行優化,為驗證該模型的準確性和有效性,將其與SCA算法、ABC算法和TLBO算法的FLN模型進行了對比研究.
FLN是在2013年提出的一種新型雙并聯前饋神經網絡,與極端學習機[11]不同的是,其輸出層不僅可以接收來自隱藏層神經元的信息,而且還可以直接從輸入層接收相關信息[12].因此,FLN模型可以看成是一種隱藏層到輸出層的非線性和輸入層到輸出層的線性組合模型,其結構見圖1.
設有N個觀測樣本{(xi,yi)},i=1,2,…,N,其中xi=[xi1,xi2,…,xin]T∈Rn,表示第i個樣本的n維輸入向量,n為輸入層節點層個數;yi=[yi1,yi2,…,yil]∈Rl,表示第i個樣本的l維輸出向量.令隱藏層神經元個數為m,隱藏層激勵函數為g(x),則FLN的數學模型可表示為:

圖1 快速學習網結構圖
(1)

式(1)用矩陣形式可表示為:
(2)
(3)
(4)
式中:W為輸出權值矩陣;G為隱藏層輸出矩陣;Y為期望輸出.
根據式(6),利用最小二乘范數解求法可得:
(5)
(6)
FLN算法步驟如下:(1) 隨機生成輸入權值矩陣Win和隱藏層閾值b;(2) 通過式(4)計算隱藏層輸出矩陣G;(3) 通過式(5)計算輸出權值矩陣W;(4)通過式(6)將輸出權值矩陣W分為Woi和Woh.
SCA算法是基于正弦余弦數學模型進而提出的一種新型優化算法.一般來說,智能優化算法的初始點往往隨機選取一系列個體,雖然無法保證在一次迭代過程中就能找到最優解,但如果有足夠的個體和迭代次數,并利用目標函數進行反復評價,SCA算法可大大增加獲得最優解的概率.

(7)

SCA算法中的4個主要參數為r1、r2、r3和r4.r1決定了下一個位置空間區域(或移動方向),此區域可以是候選解與目標解之間的任一區域或二者之外的區域.r2定義了靠近或遠離目標位置時應該移動的步長.r3引進了一個隨機權重,可以隨機強調(r3>1)或減弱(r3<1)其對所定義距離的影響.r4表示何時選擇式(7)中正弦或余弦數學模型進行位置更新.
與其他優化算法相比,SCA算法的優勢在于模型簡單、調節的參數少,僅僅利用正弦和余弦函數的性質進行迭代、尋找最優解,比較容易實現.但是SCA算法中的搜索完全依賴隨機性,導致該算法收斂精度低、收斂速度慢.
針對SCA算法存在的上述缺陷,筆者提出了ASCA算法,該算法使得收斂速度和收斂精度得到了較大幅度的提升,改進點具體如下:
(1) 群體初始位置的Bloch坐標編碼方案.
在量子計算中,最小的信息單位用量子位表示,量子位又稱量子比特,一個量子比特的狀態可表示為:
|φ>=cos (θ/2)|0>+eiφsin(θ/2)|1>
(8)
式中:φ和θ均為實數.
φ和θ定義了Bloch球面上一點P,見圖2[13].
由圖2可知,任何量子位都與Bloch球面上一點對應,因此量子位都可以用Bloch坐標表示:

圖2 量子比特的Bloch球面表示
(9)
直接采用量子位的Bloch坐標作為編碼.設pi為群體中第i個候選解,其編碼方案如下:
(10)
式中:φij=2π×r,θij=π×r,r為[0,1]區間的隨機數;i=1,2,…,N;j=1,2,…,n;N為群體規模;n為優化空間的維數.
每個候選解同時占據空間的3個位置,即同時代表以下3個優化解,分別為X解、Y解和Z解.
Pix=(cosφi1sinθi1,…,cosφinsinθin)
(11)
Piy=(sinφi1sinθi1,…,sinφinsinθin)
(12)
Piz=(cosθi1,cosθi2,…,cosθin)
(13)
(14)
(15)
(16)
因此,每個候選解對應優化問題的3個解.在所有的候選解中選擇N個適應度值較小的個體作為初始群體.
此種編碼方式能擴展搜索空間的遍歷性,增加群體的多樣性,進而改善群體的質量,加快算法收斂速度.
(2) 在SCA算法中,為了增強局部開發能力,提高算法的收斂精度和收斂速度,引入慣性權重w對算法進行改進,加入的慣性權重為:
(17)
式中:w′和w″分別為慣性權重的最大值和最小值.
w隨著迭代次數的增加而遞減,使得迭代前期有利于全局探索,迭代后期有利于局部尋優,由于引進的w減小的幅度較大,更有利于算法進行局部開發,提高算法的收斂精度和收斂速度.
改進后的位置更新公式如下:

(18)
ASCA算法流程如下:①初始化算法參數,包括群體規模N、最大迭代次數Tmax、慣性權重的最大值w′和最小值w″;② 初始化群體位置,采用量子位Bloch球面對每個候選解進行編碼,最后映射到優化問題的解空間,然后計算群體中每個個體的適應度值,根據適應度值的大小進行排序,最后選取N個適應度值較小的個體作為初始群體;③ 計算N個個體的適應度值,選擇適應度值最小的個體位置作為最優位置;④根據r4值的大小,選擇式(18)中的正弦或余弦數學模型來更新下一代的位置;⑤若達到最大迭代次數,則算法結束,輸出最優個體,即算法找到的最優解,否則返回③.
為了測試ASCA算法的性能,將其應用到5個基準優化問題(見表1)上,其中f1~f3為高維的單峰基準測試函數,f4和f5為高維的多峰基準測試函數.

表1 5個基準測試函數
為了說明ASCA算法的有效性,將其與SCA算法、ABC算法和TLBO算法進行比較.ABC算法中的參數“limit”設置為200,SCA算法和ASCA算法中的參數a設置為2,經過大量的仿真實驗后,確定ASCA算法中慣性權重的最大值和最小值分別為w′=0.08,w″=0.01.
為了保證公平性,4種算法的相關參數設置相同:初始群體規模為40,迭代次數為1 000,實驗獨立運行次數為20.另外,對表1中的高維單峰和多峰基準測試函數的維數均設置為10、30和50 3種.以表格的形式記錄各算法尋優的平均值(Mean)和均方差(SD),如表2所示.

表2 4種算法對基準測試函數的運行結果
注:1) 表示最好的結果.
由表2可以看出,在設定的參數條件下,ASCA算法較SCA算法在精度上均有極大的提高, ASCA算法能夠找到5種基準測試函數的理論最優值,并且隨著維數的增加,ASCA比其他3種算法更穩定,搜索的精度依然很高;TLBO算法對f1和f32種基準測試函數的搜索精度非常高,但沒有達到理論最優值,而ASCA算法能夠找到理論最優值;另外對于f4來說,SCA算法找到的最優解精度很低,ABC算法只有在10維時才能找到理論最優值,而ASCA算法和TLBO算法在10、30和50維時都能找到理論最優值.由此可見,對于絕大部分的基準測試函數來說,與其他3種算法相比, ASCA算法找到的最優解不僅精度更高,而且其收斂速度也更快.總體來說,ASCA算法是一個非常高效的優化算法,可用于汽輪機熱耗率預測模型的參數優化.
在汽輪機組運行過程中影響熱耗率的因素很多,因此在建模前首先應對汽輪機相關的熱力參數進行詳細的物理分析,根據熱耗率與輸入參數之間的關聯強度決定輸入參數,應盡可能選擇與熱耗率直接發生聯系的強關聯參數,對于間接影響的參數,在可能的情況下應少選或者不選,這樣可以提高熱耗率預測模型的計算精度和建模速度.根據這個原則,并結合文獻[14]和文獻[15],最終選擇發電負荷(Ne)、主蒸汽壓力(p0)、主蒸汽溫度(T0)、再熱器出口蒸汽壓力(pr)、再熱器出口蒸汽溫度(Tr)、再熱器入口蒸汽壓力(ph)、再熱器入口蒸汽溫度(Th)、再熱減溫水質量流量(qm,z)、過熱減溫水質量流量(qm,gl)、汽輪機背壓(pb)、循環水入口溫度(Tc)和給水質量流量(qm,fw)共12個參數作為模型輸入變量,熱耗率(Hr)作為輸出變量,其計算見文獻[16].
以某600 MW超臨界汽輪機組為研究對象,從集散控制系統(DCS)數據庫中隨機采集12 d正常供熱運行數據,其中春、夏、秋、冬四季各采集3 d,每隔2 h采集一次,每天12組,總共采集了144組多工況運行數據,基本覆蓋了機組全天變負荷運行的典型工況,具體數據樣本見表3.

表3 某600 MW超臨界汽輪機組運行數據
對于FLN中隨機初始化的輸入權值和隱藏層閾值,很難確保得到的FLN模型具有較高的預測精度和較好的泛化能力.針對上述不足,利用ASCA算法對FLN模型的輸入權值和隱藏層閾值進行優化,以目標函數適應度值最小為原則,通過判斷是否達到最大迭代次數為循環終止條件,當循環結束后,將最優模型結構參數作為輸入權值和隱藏層閾值代入FLN模型,即完成ASCA-FLN模型的建立.
ASCA算法的參數設置與前面相同,FLN模型的參數設置如下:隱藏層節點為20,隱藏層激勵函數為“sigmoid”,輸入權值和隱藏層閾值的尋優范圍均為[-1,1],最大迭代次數為200.
在ASCA-FLN模型結構參數優化中,目標函數定義為:
(19)
式中:Yi為ASCA-FLN模型的熱耗率預測值;y為熱耗率實際值.
同理,可建立ABC-FLN、TLBO-FLN和SCA-FLN模型.在FLN、ABC-FLN、TLBO-FLN、SCA-FLN和ASCA-FLN 5種預測模型中,隨機選擇120組測試數據作為訓練樣本,剩下的24組測試數據作為預測樣本,用于驗證所建模型的預測精度和泛化能力.5種預測模型參數設置為:群體規模為40,最大迭代次數為200,在ABC算法中參數“limit”設置為50,其他參數與上面仿真實驗保持一致.仿真結果如圖3和圖4所示.
由圖3可以看出,除個別組數據外,ASCA-FLN模型對訓練樣本都能進行很好地擬合,擬合度很高.由圖4可以看出,ASCA-FLN模型能夠對測試樣本進行很好地預測,與FLN、ABC-FLN、TLBO-FLN和SCA-FLN模型相比,其預測精度要高很多,具有較強的泛化能力.

圖3 訓練樣本預測值與實際值的對比

圖4 測試樣本預測值與實際值的對比
為了能更好地體現ASCA-FLN模型的預測效果,采取以下3個性能指標來綜合評價5種預測模型的預測效果.
(1) 均方根誤差(eRMSE).
(20)
(2) 平均相對百分比誤差(eMAPE).
(21)
(3) 平均絕對誤差(eMAE).
(22)
式中:y′為熱耗率預測值.
各模型的輸入變量、輸出變量和樣本數據均與ASCA-FLN模型相同,各算法的參數設置與前面一致,預測結果如表4和表5所示.

表4 訓練樣本準確度對比

表5 測試樣本準確度對比
由表4可知,對于訓練樣本,與其他4種預測模型相比,ASCA-FLN模型的3種誤差性能指標低很多,其中eRMSE為6.134,eMAPE為4.842×10-9,eMAE為4.756,其數值均遠小于其他4種預測模型.因此,對于訓練樣本而言,ASCA-FLN模型具有較高的擬合精度.
由表5可知,對于測試樣本,ASCA-FLN模型的eRMSE為6.745,eMAPE為1.351×10-5,eMAE為5.388,其數值均遠小于其他4種預測模型,與FLN模型相比,效果更加突出.因此,對于測試樣本而言,ASCA-FLN模型具有較強的泛化能力和較高的預測精度.
5種預測模型對測試樣本的預測誤差曲線如圖5所示.由圖5可以看出,ASCA-FLN模型的預測誤差比較平穩,最大誤差為20.206 kJ/(kW·h),與其他4種預測模型相比,ASCA-FLN模型的預測誤差明顯更小,說明該模型能夠更精確地預測汽輪機的熱耗率.

圖5 各預測模型對測試樣本的預測誤差曲線
綜上所述,建立的ASCA-FLN模型具有較強的泛化能力和較高的預測精度,非常適用于工程中汽輪機熱耗率的預測.
以某火電廠600 MW超臨界汽輪機組為研究對象,利用基于量子位Bloch坐標編碼自適應的改進后正弦余弦算法優化快速學習網的模型參數,建立了ASCA-FLN模型.并將該模型對汽輪機熱耗率的預測結果與FLN、ABC-FLN、TLBO-FLN和SCA-FLN模型的預測結果進行對比.結果表明,ASCA-FLN模型的預測精度更高,泛化能力更強,為火電廠汽輪機熱耗率預測提供了一種新的方法.
[1] 鄭體寬. 熱力發電廠[M]. 2版. 北京: 中國電力出版社, 2008.
[2] 王雷, 張欣剛, 王洪躍, 等. 基于支持向量回歸算法的汽輪機熱耗率模型[J].動力工程, 2007, 27(1): 19-23, 49.
WANG Lei, ZHANG Xingang, WANG Hongyue, et al. Model for the turbine heat rate based on the support vector regression[J].JournalofPowerEngineering, 2007, 27(1): 19-23, 49.
[3] 王惠杰, 陳林霄, 李洋, 等. 基于v-SVM的汽輪機熱耗率回歸模型研究[J].動力工程學報, 2014, 34(8): 606-611, 645.
WANG Huijie, CHEN Linxiao, LI Yang, et al. Study on heat rate regression model of steam turbines based on v-SVM[J].JournalofChineseSocietyofPowerEngineering, 2014, 34(8): 606-611, 645.
[4] 張文琴, 付忠廣, 靳濤, 等. 基于偏最小二乘算法的熱耗率回歸分析[J].現代電力, 2009, 26(5): 56-59.
ZHANG Wenqin, FU Zhongguang, JIN Tao, et al. Heat rate regression analysis based on partial least squares algorithm[J].ModernElectricPower, 2009, 26(5): 56-59.
[5] 劉超, 牛培峰, 游霞. 反向建模方法在汽輪機熱耗率建模中的應用[J].動力工程學報, 2014, 34(11): 867-872, 902.
LIU Chao, NIU Peifeng, YOU Xia. Application of reversed modeling method in prediction of steam turbine heat rate[J].JournalofChineseSocietyofPowerEngineering, 2014, 34(11): 867-872, 902.
[6] 朱譽, 馮利法, 徐治皋. 基于BP神經網絡的熱經濟性在線計算模型[J].熱力發電, 2008, 37(12): 17-19, 30.
ZHU Yu, FENG Lifa, XU Zhigao. An on-line calculation model of thermal economic efficiency based BP neural network[J].ThermalPowerGeneration, 2008, 37(12): 17-19, 30.
[7] LI Guoqiang, NIU Peifeng, DUAN Xiaolong, et al. Fast learning network: a novel artificial neural network with a fast learning speed[J].NeuralComputingandApplications, 2014, 24(7/8): 1683-1695.
[8] MIRJALILI S. SCA: a sine cosine algorithm for solving optimization problems[J].Knowledge-BasedSystems, 2016, 96: 120-133.
[9] KARABOGA D. An idea based on honey bee swarm for numerical optimization[R]. [S.l.]:Technical Report-TR06, 2005.
[10] RAO R V, SAVSANI V J, VAKHARIA D P. Teaching-learning-based optimization: a novel method for constrained mechanical design optimization problems[J].Computer-AidedDesign, 2011, 43(3): 303-315.
[11] HUANG Guangbin, ZHU Qinyu, SIEW C K. Extreme learning machine: theory and applications[J].Neurocomputing, 2006, 70(1/3): 489-501.
[12] 李國強. 新型人工智能技術研究及其在鍋爐燃燒優化中的應用[D]. 秦皇島: 燕山大學, 2013.
[13] 李士勇, 李盼池. 量子計算與量子優化算法[M]. 哈爾濱: 哈爾濱工業大學出版社, 2009.
[14] 呂太, 吳海波, 胡喬良. 汽輪機最佳運行工況的經濟性試驗分析[J].東北電力大學學報, 2010, 30(1): 1-4.
Lü Tai, WU Haibo, HU Qiaoliang. Experimental study about optimal operating conditions of the steam turbine[J].JournalofNortheastDianliUniversity, 2010, 30(1): 1-4.
[15] 云曦, 閻維平. 火電廠汽輪機組影響熱耗率計算的因素[J].東北電力技術, 2007, 28(3): 15-18.
YUN Xi, YAN Weiping. Factors effecting heat consumption calculation for steamed turbine of fossil-fired power plant[J].NortheastElectricPowerTechnology, 2007, 28(3): 15-18.
[16] 盛德仁, 李蔚, 陳堅紅, 等. 汽輪機組熱耗率分析及實時計算[J].熱力發電, 2003, 32(5): 16-18.
SHENG Deren, LI Wei, CHEN Jianhong, et al. Analysis and real-time calculation of specific heat consumption for steam turbine unit[J].ThermalPowerGeneration, 2003, 32(5): 16-18.