牛培峰, 吳志良, 馬云鵬, 史春見, 李進(jìn)柏
(燕山大學(xué) 工業(yè)計算機(jī)控制工程河北省重點實驗室, 河北秦皇島 066004)
熱耗率是指發(fā)電機(jī)組每產(chǎn)生1 kW·h電能所消耗的熱量.現(xiàn)在通常把熱耗率作為研究和衡量電廠熱經(jīng)濟(jì)性的一個重要指標(biāo)[1],很多電廠都需要對其進(jìn)行實時監(jiān)測,精確的汽輪機(jī)熱耗率值對電廠安全、穩(wěn)定、高效運行具有重要意義.
由于汽輪機(jī)熱耗率與其影響因素之間存在著復(fù)雜的非線性關(guān)系,傳統(tǒng)的建模方法無法建立精確的數(shù)學(xué)模型,導(dǎo)致模型所得的熱耗率值產(chǎn)生偏差.目前一種可行的方法是采用回歸算法計算熱耗率,王雷等[2]提出了基于支持向量回歸算法的汽輪機(jī)熱耗率模型;王惠杰等[3]提出基于v類型支持向量機(jī)(v-SVM)的汽輪機(jī)熱耗率回歸預(yù)測模型;張文琴等[4]基于偏最小二乘算法進(jìn)行熱耗率回歸分析,建立了汽輪機(jī)熱耗率預(yù)測模型;劉超等[5]提出基于最小二乘支持向量機(jī)的熱耗率反向建模方法.基于數(shù)據(jù)驅(qū)動建模的人工神經(jīng)網(wǎng)絡(luò)也是解決這一問題的有效方法,朱譽等[6]提出基于BP神經(jīng)網(wǎng)絡(luò)的汽輪機(jī)熱耗率在線計算方法,所建模型具有較高的準(zhǔn)確性和穩(wěn)定性.然而,常規(guī)的神經(jīng)網(wǎng)絡(luò)存在迭代訓(xùn)練時間長、計算量大、訓(xùn)練速度慢、泛化能力較差且易陷入局部極小點等不足.為克服這些缺點,筆者提出了一種改進(jìn)的正弦余弦算法(ASCA)和快速學(xué)習(xí)網(wǎng)(FLN)[7]的綜合建模方法.
正弦余弦算法(SCA)是由Mirjalili[8]于2016年提出的一種基于正弦余弦函數(shù)的新型優(yōu)化算法,該算法通過創(chuàng)建多個隨機(jī)候選解,利用正弦余弦數(shù)學(xué)模型來求解最優(yōu)化問題,能夠探索不同的搜索空間,有效避免局部最優(yōu),具有模型簡單、調(diào)整參數(shù)少和全局尋優(yōu)能力強等優(yōu)點.然而在處理復(fù)雜的優(yōu)化問題上,SCA算法的收斂精度較低且收斂速度較慢,為了克服這些缺陷,筆者提出了ASCA算法,并利用ASCA算法、SCA算法、經(jīng)典的人工蜂群算法(ABC)[9]和教與學(xué)優(yōu)化算法(TLBO)[10]分別對單峰、多峰等8個基準(zhǔn)測試函數(shù)進(jìn)行了測試.由于FLN模型的性能過于依賴隨機(jī)初始的輸入權(quán)值和隱藏層閾值,故采用ASCA算法對FLN模型的參數(shù)進(jìn)行優(yōu)化,為驗證該模型的準(zhǔn)確性和有效性,將其與SCA算法、ABC算法和TLBO算法的FLN模型進(jìn)行了對比研究.
FLN是在2013年提出的一種新型雙并聯(lián)前饋神經(jīng)網(wǎng)絡(luò),與極端學(xué)習(xí)機(jī)[11]不同的是,其輸出層不僅可以接收來自隱藏層神經(jīng)元的信息,而且還可以直接從輸入層接收相關(guān)信息[12].因此,F(xiàn)LN模型可以看成是一種隱藏層到輸出層的非線性和輸入層到輸出層的線性組合模型,其結(jié)構(gòu)見圖1.
設(shè)有N個觀測樣本{(xi,yi)},i=1,2,…,N,其中xi=[xi1,xi2,…,xin]T∈Rn,表示第i個樣本的n維輸入向量,n為輸入層節(jié)點層個數(shù);yi=[yi1,yi2,…,yil]∈Rl,表示第i個樣本的l維輸出向量.令隱藏層神經(jīng)元個數(shù)為m,隱藏層激勵函數(shù)為g(x),則FLN的數(shù)學(xué)模型可表示為:
圖1 快速學(xué)習(xí)網(wǎng)結(jié)構(gòu)圖
(1)
式(1)用矩陣形式可表示為:
(2)
(3)
(4)
式中:W為輸出權(quán)值矩陣;G為隱藏層輸出矩陣;Y為期望輸出.
根據(jù)式(6),利用最小二乘范數(shù)解求法可得:
(5)
(6)
FLN算法步驟如下:(1) 隨機(jī)生成輸入權(quán)值矩陣Win和隱藏層閾值b;(2) 通過式(4)計算隱藏層輸出矩陣G;(3) 通過式(5)計算輸出權(quán)值矩陣W;(4)通過式(6)將輸出權(quán)值矩陣W分為Woi和Woh.
SCA算法是基于正弦余弦數(shù)學(xué)模型進(jìn)而提出的一種新型優(yōu)化算法.一般來說,智能優(yōu)化算法的初始點往往隨機(jī)選取一系列個體,雖然無法保證在一次迭代過程中就能找到最優(yōu)解,但如果有足夠的個體和迭代次數(shù),并利用目標(biāo)函數(shù)進(jìn)行反復(fù)評價,SCA算法可大大增加獲得最優(yōu)解的概率.
(7)
SCA算法中的4個主要參數(shù)為r1、r2、r3和r4.r1決定了下一個位置空間區(qū)域(或移動方向),此區(qū)域可以是候選解與目標(biāo)解之間的任一區(qū)域或二者之外的區(qū)域.r2定義了靠近或遠(yuǎn)離目標(biāo)位置時應(yīng)該移動的步長.r3引進(jìn)了一個隨機(jī)權(quán)重,可以隨機(jī)強調(diào)(r3>1)或減弱(r3<1)其對所定義距離的影響.r4表示何時選擇式(7)中正弦或余弦數(shù)學(xué)模型進(jìn)行位置更新.
與其他優(yōu)化算法相比,SCA算法的優(yōu)勢在于模型簡單、調(diào)節(jié)的參數(shù)少,僅僅利用正弦和余弦函數(shù)的性質(zhì)進(jìn)行迭代、尋找最優(yōu)解,比較容易實現(xiàn).但是SCA算法中的搜索完全依賴隨機(jī)性,導(dǎo)致該算法收斂精度低、收斂速度慢.
針對SCA算法存在的上述缺陷,筆者提出了ASCA算法,該算法使得收斂速度和收斂精度得到了較大幅度的提升,改進(jìn)點具體如下:
(1) 群體初始位置的Bloch坐標(biāo)編碼方案.
在量子計算中,最小的信息單位用量子位表示,量子位又稱量子比特,一個量子比特的狀態(tài)可表示為:
|φ>=cos (θ/2)|0>+eiφsin(θ/2)|1>
(8)
式中:φ和θ均為實數(shù).
φ和θ定義了Bloch球面上一點P,見圖2[13].
由圖2可知,任何量子位都與Bloch球面上一點對應(yīng),因此量子位都可以用Bloch坐標(biāo)表示:
圖2 量子比特的Bloch球面表示
(9)
直接采用量子位的Bloch坐標(biāo)作為編碼.設(shè)pi為群體中第i個候選解,其編碼方案如下:
(10)
式中:φij=2π×r,θij=π×r,r為[0,1]區(qū)間的隨機(jī)數(shù);i=1,2,…,N;j=1,2,…,n;N為群體規(guī)模;n為優(yōu)化空間的維數(shù).
每個候選解同時占據(jù)空間的3個位置,即同時代表以下3個優(yōu)化解,分別為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)
因此,每個候選解對應(yīng)優(yōu)化問題的3個解.在所有的候選解中選擇N個適應(yīng)度值較小的個體作為初始群體.
此種編碼方式能擴(kuò)展搜索空間的遍歷性,增加群體的多樣性,進(jìn)而改善群體的質(zhì)量,加快算法收斂速度.
(2) 在SCA算法中,為了增強局部開發(fā)能力,提高算法的收斂精度和收斂速度,引入慣性權(quán)重w對算法進(jìn)行改進(jìn),加入的慣性權(quán)重為:
(17)
式中:w′和w″分別為慣性權(quán)重的最大值和最小值.
w隨著迭代次數(shù)的增加而遞減,使得迭代前期有利于全局探索,迭代后期有利于局部尋優(yōu),由于引進(jìn)的w減小的幅度較大,更有利于算法進(jìn)行局部開發(fā),提高算法的收斂精度和收斂速度.
改進(jìn)后的位置更新公式如下:
(18)
ASCA算法流程如下:①初始化算法參數(shù),包括群體規(guī)模N、最大迭代次數(shù)Tmax、慣性權(quán)重的最大值w′和最小值w″;② 初始化群體位置,采用量子位Bloch球面對每個候選解進(jìn)行編碼,最后映射到優(yōu)化問題的解空間,然后計算群體中每個個體的適應(yīng)度值,根據(jù)適應(yīng)度值的大小進(jìn)行排序,最后選取N個適應(yīng)度值較小的個體作為初始群體;③ 計算N個個體的適應(yīng)度值,選擇適應(yīng)度值最小的個體位置作為最優(yōu)位置;④根據(jù)r4值的大小,選擇式(18)中的正弦或余弦數(shù)學(xué)模型來更新下一代的位置;⑤若達(dá)到最大迭代次數(shù),則算法結(jié)束,輸出最優(yōu)個體,即算法找到的最優(yōu)解,否則返回③.
為了測試ASCA算法的性能,將其應(yīng)用到5個基準(zhǔn)優(yōu)化問題(見表1)上,其中f1~f3為高維的單峰基準(zhǔn)測試函數(shù),f4和f5為高維的多峰基準(zhǔn)測試函數(shù).
表1 5個基準(zhǔn)測試函數(shù)
為了說明ASCA算法的有效性,將其與SCA算法、ABC算法和TLBO算法進(jìn)行比較.ABC算法中的參數(shù)“l(fā)imit”設(shè)置為200,SCA算法和ASCA算法中的參數(shù)a設(shè)置為2,經(jīng)過大量的仿真實驗后,確定ASCA算法中慣性權(quán)重的最大值和最小值分別為w′=0.08,w″=0.01.
為了保證公平性,4種算法的相關(guān)參數(shù)設(shè)置相同:初始群體規(guī)模為40,迭代次數(shù)為1 000,實驗獨立運行次數(shù)為20.另外,對表1中的高維單峰和多峰基準(zhǔn)測試函數(shù)的維數(shù)均設(shè)置為10、30和50 3種.以表格的形式記錄各算法尋優(yōu)的平均值(Mean)和均方差(SD),如表2所示.
表2 4種算法對基準(zhǔn)測試函數(shù)的運行結(jié)果
注:1) 表示最好的結(jié)果.
由表2可以看出,在設(shè)定的參數(shù)條件下,ASCA算法較SCA算法在精度上均有極大的提高, ASCA算法能夠找到5種基準(zhǔn)測試函數(shù)的理論最優(yōu)值,并且隨著維數(shù)的增加,ASCA比其他3種算法更穩(wěn)定,搜索的精度依然很高;TLBO算法對f1和f32種基準(zhǔn)測試函數(shù)的搜索精度非常高,但沒有達(dá)到理論最優(yōu)值,而ASCA算法能夠找到理論最優(yōu)值;另外對于f4來說,SCA算法找到的最優(yōu)解精度很低,ABC算法只有在10維時才能找到理論最優(yōu)值,而ASCA算法和TLBO算法在10、30和50維時都能找到理論最優(yōu)值.由此可見,對于絕大部分的基準(zhǔn)測試函數(shù)來說,與其他3種算法相比, ASCA算法找到的最優(yōu)解不僅精度更高,而且其收斂速度也更快.總體來說,ASCA算法是一個非常高效的優(yōu)化算法,可用于汽輪機(jī)熱耗率預(yù)測模型的參數(shù)優(yōu)化.
在汽輪機(jī)組運行過程中影響熱耗率的因素很多,因此在建模前首先應(yīng)對汽輪機(jī)相關(guān)的熱力參數(shù)進(jìn)行詳細(xì)的物理分析,根據(jù)熱耗率與輸入?yún)?shù)之間的關(guān)聯(lián)強度決定輸入?yún)?shù),應(yīng)盡可能選擇與熱耗率直接發(fā)生聯(lián)系的強關(guān)聯(lián)參數(shù),對于間接影響的參數(shù),在可能的情況下應(yīng)少選或者不選,這樣可以提高熱耗率預(yù)測模型的計算精度和建模速度.根據(jù)這個原則,并結(jié)合文獻(xiàn)[14]和文獻(xiàn)[15],最終選擇發(fā)電負(fù)荷(Ne)、主蒸汽壓力(p0)、主蒸汽溫度(T0)、再熱器出口蒸汽壓力(pr)、再熱器出口蒸汽溫度(Tr)、再熱器入口蒸汽壓力(ph)、再熱器入口蒸汽溫度(Th)、再熱減溫水質(zhì)量流量(qm,z)、過熱減溫水質(zhì)量流量(qm,gl)、汽輪機(jī)背壓(pb)、循環(huán)水入口溫度(Tc)和給水質(zhì)量流量(qm,fw)共12個參數(shù)作為模型輸入變量,熱耗率(Hr)作為輸出變量,其計算見文獻(xiàn)[16].
以某600 MW超臨界汽輪機(jī)組為研究對象,從集散控制系統(tǒng)(DCS)數(shù)據(jù)庫中隨機(jī)采集12 d正常供熱運行數(shù)據(jù),其中春、夏、秋、冬四季各采集3 d,每隔2 h采集一次,每天12組,總共采集了144組多工況運行數(shù)據(jù),基本覆蓋了機(jī)組全天變負(fù)荷運行的典型工況,具體數(shù)據(jù)樣本見表3.
表3 某600 MW超臨界汽輪機(jī)組運行數(shù)據(jù)
對于FLN中隨機(jī)初始化的輸入權(quán)值和隱藏層閾值,很難確保得到的FLN模型具有較高的預(yù)測精度和較好的泛化能力.針對上述不足,利用ASCA算法對FLN模型的輸入權(quán)值和隱藏層閾值進(jìn)行優(yōu)化,以目標(biāo)函數(shù)適應(yīng)度值最小為原則,通過判斷是否達(dá)到最大迭代次數(shù)為循環(huán)終止條件,當(dāng)循環(huán)結(jié)束后,將最優(yōu)模型結(jié)構(gòu)參數(shù)作為輸入權(quán)值和隱藏層閾值代入FLN模型,即完成ASCA-FLN模型的建立.
ASCA算法的參數(shù)設(shè)置與前面相同,F(xiàn)LN模型的參數(shù)設(shè)置如下:隱藏層節(jié)點為20,隱藏層激勵函數(shù)為“sigmoid”,輸入權(quán)值和隱藏層閾值的尋優(yōu)范圍均為[-1,1],最大迭代次數(shù)為200.
在ASCA-FLN模型結(jié)構(gòu)參數(shù)優(yōu)化中,目標(biāo)函數(shù)定義為:
(19)
式中:Yi為ASCA-FLN模型的熱耗率預(yù)測值;y為熱耗率實際值.
同理,可建立ABC-FLN、TLBO-FLN和SCA-FLN模型.在FLN、ABC-FLN、TLBO-FLN、SCA-FLN和ASCA-FLN 5種預(yù)測模型中,隨機(jī)選擇120組測試數(shù)據(jù)作為訓(xùn)練樣本,剩下的24組測試數(shù)據(jù)作為預(yù)測樣本,用于驗證所建模型的預(yù)測精度和泛化能力.5種預(yù)測模型參數(shù)設(shè)置為:群體規(guī)模為40,最大迭代次數(shù)為200,在ABC算法中參數(shù)“l(fā)imit”設(shè)置為50,其他參數(shù)與上面仿真實驗保持一致.仿真結(jié)果如圖3和圖4所示.
由圖3可以看出,除個別組數(shù)據(jù)外,ASCA-FLN模型對訓(xùn)練樣本都能進(jìn)行很好地擬合,擬合度很高.由圖4可以看出,ASCA-FLN模型能夠?qū)y試樣本進(jìn)行很好地預(yù)測,與FLN、ABC-FLN、TLBO-FLN和SCA-FLN模型相比,其預(yù)測精度要高很多,具有較強的泛化能力.
圖3 訓(xùn)練樣本預(yù)測值與實際值的對比
圖4 測試樣本預(yù)測值與實際值的對比
為了能更好地體現(xiàn)ASCA-FLN模型的預(yù)測效果,采取以下3個性能指標(biāo)來綜合評價5種預(yù)測模型的預(yù)測效果.
(1) 均方根誤差(eRMSE).
(20)
(2) 平均相對百分比誤差(eMAPE).
(21)
(3) 平均絕對誤差(eMAE).
(22)
式中:y′為熱耗率預(yù)測值.
各模型的輸入變量、輸出變量和樣本數(shù)據(jù)均與ASCA-FLN模型相同,各算法的參數(shù)設(shè)置與前面一致,預(yù)測結(jié)果如表4和表5所示.
表4 訓(xùn)練樣本準(zhǔn)確度對比
表5 測試樣本準(zhǔn)確度對比
由表4可知,對于訓(xùn)練樣本,與其他4種預(yù)測模型相比,ASCA-FLN模型的3種誤差性能指標(biāo)低很多,其中eRMSE為6.134,eMAPE為4.842×10-9,eMAE為4.756,其數(shù)值均遠(yuǎn)小于其他4種預(yù)測模型.因此,對于訓(xùn)練樣本而言,ASCA-FLN模型具有較高的擬合精度.
由表5可知,對于測試樣本,ASCA-FLN模型的eRMSE為6.745,eMAPE為1.351×10-5,eMAE為5.388,其數(shù)值均遠(yuǎn)小于其他4種預(yù)測模型,與FLN模型相比,效果更加突出.因此,對于測試樣本而言,ASCA-FLN模型具有較強的泛化能力和較高的預(yù)測精度.
5種預(yù)測模型對測試樣本的預(yù)測誤差曲線如圖5所示.由圖5可以看出,ASCA-FLN模型的預(yù)測誤差比較平穩(wěn),最大誤差為20.206 kJ/(kW·h),與其他4種預(yù)測模型相比,ASCA-FLN模型的預(yù)測誤差明顯更小,說明該模型能夠更精確地預(yù)測汽輪機(jī)的熱耗率.
圖5 各預(yù)測模型對測試樣本的預(yù)測誤差曲線
綜上所述,建立的ASCA-FLN模型具有較強的泛化能力和較高的預(yù)測精度,非常適用于工程中汽輪機(jī)熱耗率的預(yù)測.
以某火電廠600 MW超臨界汽輪機(jī)組為研究對象,利用基于量子位Bloch坐標(biāo)編碼自適應(yīng)的改進(jìn)后正弦余弦算法優(yōu)化快速學(xué)習(xí)網(wǎng)的模型參數(shù),建立了ASCA-FLN模型.并將該模型對汽輪機(jī)熱耗率的預(yù)測結(jié)果與FLN、ABC-FLN、TLBO-FLN和SCA-FLN模型的預(yù)測結(jié)果進(jìn)行對比.結(jié)果表明,ASCA-FLN模型的預(yù)測精度更高,泛化能力更強,為火電廠汽輪機(jī)熱耗率預(yù)測提供了一種新的方法.
[1] 鄭體寬. 熱力發(fā)電廠[M]. 2版. 北京: 中國電力出版社, 2008.
[2] 王雷, 張欣剛, 王洪躍, 等. 基于支持向量回歸算法的汽輪機(jī)熱耗率模型[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ī)熱耗率回歸模型研究[J].動力工程學(xué)報, 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].現(xiàn)代電力, 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ī)熱耗率建模中的應(yīng)用[J].動力工程學(xué)報, 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īng)網(wǎng)絡(luò)的熱經(jīng)濟(jì)性在線計算模型[J].熱力發(fā)電, 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] 李國強. 新型人工智能技術(shù)研究及其在鍋爐燃燒優(yōu)化中的應(yīng)用[D]. 秦皇島: 燕山大學(xué), 2013.
[13] 李士勇, 李盼池. 量子計算與量子優(yōu)化算法[M]. 哈爾濱: 哈爾濱工業(yè)大學(xué)出版社, 2009.
[14] 呂太, 吳海波, 胡喬良. 汽輪機(jī)最佳運行工況的經(jīng)濟(jì)性試驗分析[J].東北電力大學(xué)學(xué)報, 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ī)組影響熱耗率計算的因素[J].東北電力技術(shù), 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ī)組熱耗率分析及實時計算[J].熱力發(fā)電, 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.