牛培峰,苗孔號,尚士新, 常玲芳,張先臣
(燕山大學(xué) 電氣工程學(xué)院,河北 秦皇島 066004)
氮氧化物的大量排放主要是由燃煤鍋爐造成的,其濃度過高對人類的身體健康及大氣環(huán)境均會帶來極大的影響[1],因此建立精確的NOx排放濃度預(yù)測模型對燃煤鍋爐的燃燒優(yōu)化具有重要的作用[2,3]。
然而,影響NOx排放濃度的因素較多,不易對各種因素做出詳細分析。近年來啟發(fā)式算法以其靈活、無梯度機制和避免局部最優(yōu)的特點被廣泛地應(yīng)用于各種優(yōu)化問題。一些學(xué)者將啟發(fā)式算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合建立應(yīng)用模型,解決了工業(yè)上的許多難題。文獻[4,5]分別采用遺傳算法和自適應(yīng)粒子群算法優(yōu)化支持向量機的NOx模型;文獻[6,7]采用風(fēng)驅(qū)動算法和基于混沌分組教與學(xué)算法優(yōu)化極端學(xué)習(xí)機的NOx模型。這些模型能夠很好地預(yù)測NOx的排放濃度。本文采用了自適應(yīng)樽海鞘優(yōu)化算法優(yōu)化快速學(xué)習(xí)網(wǎng)(fast learning network, FLN)的輸入權(quán)值和隱層閾值,使網(wǎng)絡(luò)能夠更加高效準確地預(yù)測NOx排放濃度,從而建立精確的預(yù)測模型。
由于樽海鞘算法(salp swarm algorithm,SSA)的種群初始位置是隨機生成的,造成收斂速度慢,易陷于局部最優(yōu)等問題,因此為了提高SSA算法的性能,本文提出了自適應(yīng)樽海鞘算法(adaptive salp swarm algorithm,ASSA),并且將其分別與粒子群算法 (particle swarm optimization,PSO) 、差分進化算法 (differential evolution,DE)和SSA算法在8個基準測試函數(shù)下進行測試,測試結(jié)果顯示ASSA算法的性能更優(yōu)。為了驗證ASSA-FLN預(yù)測能力的強弱,將該模型與FLN模型、PSO、DE和SSA算法優(yōu)化的FLN模型進行比較,結(jié)果發(fā)現(xiàn),ASSA-FLN模型的預(yù)測能力最好。因此ASSA-FLN模型能夠很好地用于NOx排放濃度預(yù)測。
快速學(xué)習(xí)網(wǎng)[8]是在極限學(xué)習(xí)機的基礎(chǔ)上提出改進的一種新型雙并聯(lián)前饋神經(jīng)網(wǎng)絡(luò),與極限學(xué)習(xí)機不同,在快速學(xué)習(xí)網(wǎng)中,輸出層同時接受來自于隱藏層和輸入層的信息,輸入層也將信息同時傳入隱藏層和輸出層。在信息傳遞時既有非線性又有線性環(huán)節(jié),因此快速學(xué)習(xí)網(wǎng)是綜合線性和非線性的模型,結(jié)構(gòu)圖如圖1所示。
圖1 快速學(xué)習(xí)網(wǎng)結(jié)構(gòu)圖Fig.1 Structure of the FLN network
設(shè)有N個實驗樣本{(xi,yi)},i=1,2,…,N,其中xi=[xi1,xi2,…,xin]T∈Rn表示第i個樣本的n維輸入向量,n為輸入層節(jié)點個數(shù);yi=[yi1,xi2,…,yil]∈Rl,為第i個樣本的l維輸出向量,l為輸出層節(jié)點個數(shù)。設(shè)隱藏層節(jié)點數(shù)為m,g(x)為隱藏層激勵函數(shù),Woi為輸入層與輸出層連接的權(quán)值矩陣,Woh為隱藏層與輸出層連接的權(quán)值矩陣,G為隱藏層輸出矩陣。隱藏層輸出矩陣為:
(1)
其輸出權(quán)值矩陣為:
(2)
則Woi和Woh可表示為:
(3)
樽海鞘優(yōu)化算法[9]是Mirjalili S和Gandomi A H等根據(jù)海洋生物樽海鞘的獵食行為提出的一種新的優(yōu)化算法。它經(jīng)常以一條鏈的形式移動,整個種群由領(lǐng)導(dǎo)者和跟隨者組成,領(lǐng)導(dǎo)者在鏈條的最前端,剩下的即為跟隨者。整個覓食過程中由領(lǐng)導(dǎo)者決定覓食方向,跟隨者只跟隨領(lǐng)導(dǎo)者移動。
(4)
(5)
(6)
式中:Fj為第j維的食物源位置;c2,c3為[0,1]內(nèi)的隨機數(shù);Uj為第j維的上限值;Lj為第j維的下限值;t為當前迭代次數(shù);T為最大迭代次數(shù)。
由文獻[10]可知初始種群的質(zhì)量影響算法的收斂速度,慣性權(quán)值影響算法的全局搜索和局部搜索能力。而SSA算法是隨機生成種群初始位置,這使算法易于陷入局部最優(yōu)且收斂速度和精度較差,針對這一問題,利用量子位Bloch球面坐標編碼的方法[11,12]優(yōu)化初始種群位置,利用慣性權(quán)值平衡SSA的全局和局部搜索的能力,提高算法性能使其能夠更快地收斂。實驗結(jié)果顯示,經(jīng)過改進種群初始位置和引入慣性權(quán)值提高了算法的收斂精度和收斂速度。
3.2.1 Bloch球面坐標編碼初始種群位置
在Bloch球面上的任何一點P都可以由α和β的角度值確定,如圖2所示,且每一個點分別對應(yīng)于在x,y,z軸上的點。
量子位在Bloch球面坐標面坐標表示為:
|φ>=[ cosβsinαsinβsinαcosα]T,
利用量子位的Bloch坐標編碼,設(shè)hi為種群中第i個可選解,其編碼方式為:
(7)
式中:αij= π ×rand; βij=2 π ×rand。
圖2 量子比特的Bloch球面表示Fig.2 Bloch sphere representation of a qubit
將個體的位置由單位空間In=[-1,1]n映射到球面坐標下優(yōu)化問題的解空間。第i個個體位置hi上第j個量子位的Bloch坐標為[cosβijsinαij,sinβijsinαij,cosαij]T,則與其相對應(yīng)的解空間為:
(8)
式中:i∈[1,m];j∈[1,n];[aj,bj]為第j個量子位的取值范圍。即每個最優(yōu)解均有3個可選解,計算所有可選解的適應(yīng)度值并且按照升序的方式進行排序,選取前N個作為種群的初始位置。這種編碼方式可提高算法獲得最優(yōu)解的質(zhì)量和全局搜索能力,加快算法的收斂速度。
3.2.2 自適應(yīng)慣性權(quán)重
引入慣性權(quán)重ω,將式(6)更新為式(9):
(9)
(10)
式中:ωmax和ωmin為權(quán)值的最大值和最小值;t為當前迭代次數(shù);T為最大迭代次數(shù)。以線性遞減的策略設(shè)置ω,使得SSA在開始時獲得較大的ω進行全局尋優(yōu),能夠快速搜索到最優(yōu)解的位置;隨著ω的減小,算法進行精確的局部尋優(yōu)。通過使用這種方法可以使SSA算法能夠更好地平衡全局搜索和局部搜索的能力,加速收斂速度。
ASSA算法的流程為:
(1) 初始化種群個數(shù)、迭代次數(shù)、權(quán)值最大最小值等。(2) 利用球面坐標法獲取種群初始位置,并根據(jù)其適應(yīng)度值按照升序排列,選取前N個種群作為初始位置。(3) 將獲得的權(quán)值ω和c1帶入式(4)和式(9)獲得更新后的種群位置。(4) 判斷是否達到停止條件,若達到則輸出最優(yōu)解;若未達到,則返回步驟(3)繼續(xù)進行循環(huán),直到達到停止條件為止。
本文采用8個包括單峰和多峰的典型數(shù)值測試函數(shù)[13]來更好地檢測ASSA算法搜索的高效性。測試基準函數(shù)如表1所示。
表1 8個基準測試函數(shù)Tab.1 Eight classical benchmark test functions
將ASSA算法與SSA、DE、PSO算法進行比較。DE的比例系數(shù)F0=0.5,交叉率Cr=0.7;PSO的學(xué)習(xí)因子c1=c2=1.5;ASSA的慣性權(quán)重ωmax=0.9,ωmin=0.4。4種算法的種群個數(shù)均為40,迭代次數(shù)為1 000,實驗獨立運行20次。將各個基準函數(shù)在10,20和50維下測試,將4種算法獲得的最優(yōu)值的平均值(Mean)和均方差(S.D.)值記錄于表2中。
由表2可知,ASSA算法基本能夠找到所有測試函數(shù)的最優(yōu)值,而其它3種算法卻沒有達到理論最優(yōu)值。雖然ASSA對F5和F7測試函數(shù)沒有達到最優(yōu)理論值,但從表可知,ASSA算法在F5基準測試函數(shù)的性能要優(yōu)于其它3種算法,而且在不同維度下F7的方差達到最優(yōu)值0,平均值達到8.88×10-16,更是優(yōu)于其它3種算法。因此綜合來說,ASSA算法比其它3種優(yōu)化算法的收斂精度更高,性能更優(yōu)。
表2 4種算法對基準測試函數(shù)的運行結(jié)果Tab.2 Simulation results of four algorithms for benchmark test functions
本文以某電廠330 MW煤粉爐為研究對象,以集散控制系統(tǒng)(DCS)現(xiàn)場采集的550組數(shù)據(jù)作為實驗數(shù)據(jù),從中選取500組作為訓(xùn)練集數(shù)據(jù),剩下的50組作為測試集數(shù)據(jù)。選取1 個機組負荷、4 個給粉機轉(zhuǎn)速、二次風(fēng)速(AA、AB、BC、CD、DD)、3 個三次風(fēng)擋板位置、4 個燃盡風(fēng)擋板開度(SOFA-Ⅰ、Ⅱ、Ⅲ和OFA)、4 個周界風(fēng)擋板位置、一次風(fēng)總量的21%作為含氧量、燃料量等23 個參數(shù)作為FLN 的輸入變量,以NOx排放質(zhì)量濃度作為輸出變量建立模型[14]。根據(jù)ASSA算法尋優(yōu)得到的網(wǎng)絡(luò)輸入權(quán)值和隱藏層閾值來優(yōu)化基于FLN的NOx排放濃度預(yù)測模型,將其表示為ASSA-FLN。
設(shè)ASSA-FLN模型的隱藏層節(jié)點數(shù)為20,種群個數(shù)為40,隱層激勵函數(shù)為”Sigmoid”,輸入權(quán)值和隱藏層閾值在區(qū)間[-1,1]內(nèi)尋優(yōu),最大迭代次數(shù)為300。目標函數(shù)f為最小均方差:
(11)
式中:yi為實際NOx濃度;Yi為預(yù)測模型所得的NOx濃度。
ASSA-FLN與SSA-FLN模型的測試對比如圖3和圖4所示。
圖3 訓(xùn)練樣本預(yù)測值與訓(xùn)練樣本實際值的對比Fig.3 Comparison of training data between predicted results and actual measurement
圖4 測試樣本預(yù)測值與測試樣本實際值的對比Fig.4 Comparison of test data between predicted results and actual measurements
由圖3可以看出ASSA-FLN模型對訓(xùn)練數(shù)據(jù)樣本具有很高的擬合度,個別除外;由圖4可以看出,ASSA-FLN對測試樣本的預(yù)測準確度比SSA-FLN模型更高,具有較高的泛化能力。
為了檢測ASSA-FLN模型預(yù)測精度,將其與FLN、DE-FLN、PSO-FLN和SSA-FLN 共4種NOx排放質(zhì)量濃度預(yù)測模型進行比較。各預(yù)測模型的輸入、輸出變量、測試數(shù)據(jù)和基本參數(shù)一致。為了綜合評價各模型預(yù)測值與實際值的準確度,引入3個性能指標,均方根誤差(RMSE)、平均絕對誤差(MAE)和平均相對誤差率(MAPE),各模型的測試結(jié)果見表3和表4。
(12)
(13)
(14)
表3 訓(xùn)練樣本的準確度對比Tab.3 Accuracy comparison of training data
由表3可知,對于訓(xùn)練樣本來說,ASSA-FLN模型的RMSE為1.243 6,MAE為0.788 1,MAPE為6.596 0×10-9,均比其它4種預(yù)測模型低,特別是MAPE比其它模型低了一個數(shù)量級。因此,ASSA-FLN模型的預(yù)測能力和擬合精度均高于其它4種預(yù)測模型。
表4 測試樣本的準確度對比Tab.4 Accuracy comparison of test data
由表4可知,ASSA-FLN模型的RMSE為1.048 6,MAE為0.720 3,MAPE為9.369 0×10-6,均低于其它4種預(yù)測模型,特別相對于FLN,其精度提高了很多倍。因此,ASSA-FLN模型的預(yù)測能力和擬合精度均高于其它4種預(yù)測模型。
圖5 5種模型的測試樣本預(yù)測誤差Fig.5 Prediction errors in test data of five models
5種模型的測試樣本的預(yù)測誤差曲線如圖5所示。由圖可知ASSA-FLN模型的預(yù)測誤差曲線在0值附近的波動值比其它4種模型較小,且波形的波動幅度較小,較穩(wěn)定。因此,綜合來說ASSA-FLN模型的效果更好,更精確。
以某電廠的330 MW煤粉爐為研究對象,利用ASSA-FLN模型對NOx濃度進行預(yù)測。利用量子位Bloch坐標編碼法和引入慣性權(quán)重改進SSA算法,與FLN相結(jié)合,尋找權(quán)值和閾值,建立NOx濃度預(yù)測模型;將其與FLN、DE-FLN、PSO-FLN、SSA-FLN作比較,結(jié)果顯示ASSA-FLN模型的預(yù)測精度更高,泛化能力更強,為電廠煤粉爐的NOx排放質(zhì)量濃度預(yù)測提供了一種新的方法。