牛培峰, 彭 鵬
(燕山大學(xué) 電氣工程學(xué)院,河北 秦皇島 066004)
煤炭是我國主要的一次能源,其比重達(dá)到了70%,并且80%的煤炭用于燃燒,這帶來了嚴(yán)重的環(huán)境污染。NOx是一種主要的大氣污染物,從目前我國的NOx排放情況來看,大部分NOx是由燃煤鍋爐及各種化工廠貢獻(xiàn)出來的[1]。
降低NOx排放是電站面臨的一個主要任務(wù)。為了得到鍋爐的最佳運行參數(shù),并降低NOx的排放,首先要建立精確的NOx排放特性模型[2]。鍋爐燃燒系統(tǒng)是一個多變量,強耦合的非線性時變系統(tǒng)具有不確定性,因此傳統(tǒng)的解析式建模方法很難建立精確的鍋爐NOx排放特性模型。近年來人工智能技術(shù)得到了快速發(fā)展以及廣泛應(yīng)用。程淑紅、高許和周斌利用多特征提取與支持向量機建立車型識別模型[3];王書濤、朱彩云和劉洺辛等將支持向量機應(yīng)用在山梨酸鉀的熒光光譜檢測中[4];王昱潔、王媛和張勇提出一種基于核模糊C均值聚類、低秩矩陣填充及最小二乘支持向量機的室內(nèi)定位算法[5]。研究者開始采用智能技術(shù)擬合鍋爐NOx排放曲線[6]。余延芳等利用BP神經(jīng)網(wǎng)絡(luò)建立了鍋爐燃燒特性的模型,并用遺傳算法對鍋爐運行參數(shù)進行了優(yōu)化[7,8]。劉飛明、張雨飛將支持向量機與改進混沌粒子群算法相結(jié)合來對NOx進行在線建模[9]。丁知平和李應(yīng)保等改進的最小二乘支持向量機建立煤粉鍋爐NOx排放模型[10,11]。甄成剛、劉懷遠(yuǎn)提出一種基于多模型聚類集成的鍋爐煙氣NOx排放量建模方法[12]。馬云鵬等提出基于混沌分組教與學(xué)優(yōu)化算法優(yōu)化鍋爐NOx模型[13],牛培峰等基于GSA-PELM研究了鍋爐NOx預(yù)測模型[14],文獻(xiàn)[15]基于混合雞群算法和核極端學(xué)習(xí)機預(yù)測了鍋爐NOx的排放。
最優(yōu)覓食算法(OFA)是Zhu G Y等提出的一種基于最優(yōu)覓食理論的群體智能優(yōu)化算法[16]。OFA控制參數(shù)少,搜索效率高,其在推薦系統(tǒng)中發(fā)揮著很重要的作用[17]。優(yōu)化極端學(xué)習(xí)機(extreme learning machine, ELM)是Huang和siew等人在2005年提出的一種模型[18,19],這種模型根據(jù)線性模型采用MP廣義逆求解,無需迭代可一次完成,大大減少了模型的訓(xùn)練時間。
本文提出一種改進的OFA算法(improved optimal foraging algorithm, POFA),POFA算法在OFA算法的搜索公式上加入全局最優(yōu)解,構(gòu)建新的慣性權(quán)值,并引入了相空間的搜索公式。實驗證明相對于OFA算法,POFA算法收斂速度快、精度高,具有比較好的局部搜索能力與全局搜索能力。為此在用ELM對鍋爐NOx排放進行建模的基礎(chǔ)上,用POFA算法對ELM的輸入權(quán)值進行優(yōu)化。
最優(yōu)覓食理論是行為生態(tài)學(xué)中保證最大覓食效率的動物覓食行為策略[20,21]?;谧顑?yōu)覓食理論Zhu G Y和Zhang W B在2017年提出了OFA算法,OFA算法中覓食個體的移動方向由經(jīng)線和緯線兩個方向共同決定。OFA算法個體的更新公式如下:
x(t+1,i,j)=x(t,i,j)-k·a·Δx(t,i,j)+
k·b·Δx(t,i,j)
k=t/M
(1)
式中:x為個體位置;t與t+1表示迭代次數(shù);M為最大迭代次數(shù);i為第i個個體;j為個體位置的第j維;a和b為[0,1]的隨機數(shù);k為吸引因子。Δx(t,i,j)公式如下:
Δx(t,i,j)=x(t,B,j)-x(t,i,j),
if:F(t,i)≠min(F(t,1)…F(t,N))
Δx(t,i,j)=x(t,W,j)-x(t,i,j),
if:F(t,i)=min(F(t,1)…F(t,N))
式中:N為個體的總數(shù);F(t,i)為在第t次迭代中個體i的目標(biāo)函數(shù)值;x(t,B)為隨機選取個體B的位置,且滿足F(B,i) (2) 式中:λ為[0,1]的隨機數(shù)。如果x(t+1,i)的目標(biāo)函數(shù)值F(t+1,i)滿足上述公式,則x(t,i)更新為x(t+1,i),否則x(t,i)保留不變。 在OFA算法中,覓食個體的移動方向由經(jīng)線和緯線共同決定,但是這種移動方向僅僅是靠近或者遠(yuǎn)離個體x(t,B)或者x(t,W),在每一次更新中個體i的移動僅取決于一個個體x(t,B)或者x(t,W),這種搜索方式無法有效利用到已知解的信息,種群的多樣性也得不到體現(xiàn)。為此,本文提出一種改進的最優(yōu)覓食算法。改進的具體描述如下。 2.2.1 自適應(yīng)慣性權(quán)重與全局最優(yōu)解 慣性權(quán)重是一個重要參數(shù),通過調(diào)節(jié)慣性權(quán)重可以實現(xiàn)局部搜索與全局搜索之間的平衡[22]。自適應(yīng)因子和全局最優(yōu)個體可以改善算法的搜索性能[23]。因此在OFA算法中加入全局最優(yōu)個體,增加算法對已知個體位置信息的利用,同時用自適應(yīng)慣性權(quán)重平衡算法的局部搜索與全局搜索。POFA算法的更新公式如下: x(t+1,i,j)=w·x(t,i,j)-α·Δx(t,i,j)+ k·β·Δy(t,i,j) (3) 式中:α為[0,1]的隨機數(shù);β為[-1,1]的隨機數(shù);k為吸引因子;w為自適應(yīng)慣性權(quán)重,公式如下: (4) 式中:w1為最大慣性權(quán)重;w2為最小慣性權(quán)重;a為[0,1]的隨機數(shù);r為[-1,1]的隨機數(shù)。位移Δx(t,i,j)和Δy(t,i,j)如下: Δx(t,i,j)=x(t,G,j)-x(t,i,j), 式中:x(t,G)為全局最優(yōu)個體G的位置;x(t,P)為隨機選取個體P的位置。 2.2.2 相空間搜索 為了進一步提升OFA算法的搜索性能,保證個體位置的多樣性,本文在OFA算法中增加了相空間的搜索。搜索公式如下: (5) 式中:R(t+1,i)為實數(shù)空間的搜索;A(t+1,i)為相空間的搜索。R(t+1,i)和A(t+1,i)分別如下: R(t+1,i,j)=x(t,G,j)-step·γ· (x(t,G,j)-x(t,i,j)) (6) A(t+1,i,j)=cos(a(t+1,i,j)) (7) a(t+1,i,j)=a(t,G,j)-step·β· (a(t,G,j)-a(t,i,j)) (8) 式中: step為固定參數(shù);a(t,G,j)為x(t,G,j)對應(yīng)的相角;a(t,i,j)為x(t,i,j)對應(yīng)的相角。 映射公式如下: (9) 式中:max和min分別為個體位置空間邊界的最大值與最小值。 POFA算法流程如下: (1) 初始化參數(shù),設(shè)置種群規(guī)模大小,最大迭代次數(shù),隨機初始化種群位置,并計算目標(biāo)函數(shù)值; (2) 通過公式(3)在實數(shù)空間進行搜索得到一個新個體位置x1(t+1,i); (3) 用式(5)在相空間進行搜索得到一個新個體位置x2(t+1,i); (4) 在x(t,i)上搜索得到的兩個新個體位置 x1(t+1,i)與x2(t+1,i)的基礎(chǔ)上采用貪婪選擇一個作為x(t+1,i),最后在x(t,i)和x(t+1,i)用式(2)進行選擇; (5) 如果算法滿足終止條件,就結(jié)束算法,否則,回到步驟(2)。 為了驗證POFA算法的性能,以測試函數(shù)的值為目標(biāo)函數(shù),通過最小化目標(biāo)函數(shù)來測試算法性能。本文選用7個經(jīng)典的基準(zhǔn)測試函數(shù),其中包括4個單峰基準(zhǔn)測試函數(shù),3個多峰基準(zhǔn)測試函數(shù),對POFA進行測試,并與DE、PSO、ABC和OFA的測試結(jié)果進行了比較,基準(zhǔn)函數(shù)在表1中給出。其F1~F4是單峰函數(shù),F5~F7為多峰函數(shù),表1中S是優(yōu)化的區(qū)間范圍。在這些基準(zhǔn)函數(shù)中,其理論最優(yōu)位置都位于[0]n,理論最優(yōu)值都為0。 表1 基準(zhǔn)測試函數(shù)Tab.1 The benchmark functions 在實驗過程中,考慮到算法參數(shù)對實驗結(jié)果的影響,實驗將相同的參數(shù)設(shè)置相同。其參數(shù)設(shè)置:可行解維度50維,最大迭代次數(shù)為1 000,食物源為50。此外在DE中,縮放因子為[0.2, 0.8]的隨機數(shù),交叉概率為0.2;在PSO算法中,慣性權(quán)重為1,慣性權(quán)重阻尼比為0.99,兩個學(xué)習(xí)因子分別為1.5和2.0;在ABC中參數(shù)“l(fā)imit”為300;在POFA中,step為1,w′為0.8,w″為0.2。每一種函數(shù)的仿真獨立運行10次,并在表2記錄下10次運行中目標(biāo)函數(shù)的平均值Mean以及標(biāo)準(zhǔn)差S.D.。 從表2可以看出,在相同的條件下POFA算法找到了函數(shù)F5與函數(shù)F7的理論最優(yōu)解,在函數(shù)F1、F2、F3和F7上雖然沒有找到理論最優(yōu)解但也十分接近,而在函數(shù)F4上的尋優(yōu)效果也達(dá)到了1.56×10-8。 表2 5種算法對基準(zhǔn)測試函數(shù)的運行結(jié)果Tab.2 Five algorithms for the results of the benchmark functions DE算法除了在函數(shù)F1,F6與F7上分別達(dá)到4.89×10-5,1.30×10-3和8.96×10-5,在其余3個函數(shù)上都沒有達(dá)到很好的效果。而PSO算法僅僅在函數(shù)F1的尋優(yōu)效果達(dá)到9.03×10-5,在其余6個函數(shù)上的尋優(yōu)效果都不理想。ABC算法與OFA算法在7個函數(shù)維度為50維時,其尋優(yōu)效果都不理想??傮w上來說,POFA算法平衡了算法的局部搜索與全局搜索能力,保證了種群的多樣性,算法的搜索性能得到了很大的改進。 ELM是一種極快的單隱藏前饋神經(jīng)網(wǎng)絡(luò)。其輸入權(quán)值與隱藏層閾值是隨機確定的,由此ELM就變?yōu)橐粋€線性系統(tǒng),輸出權(quán)值則可通過最小二乘得出。 設(shè)有N個樣本(x(i),y(i)),其中:x(i)=[x(i1),x(i2),…,x(in)]T為第i個樣本的n維輸入特征向量,y(i)=[y(i1),y(i2),…,y(il)]T是第i個樣本的l維目標(biāo)輸出向量。設(shè)隱藏層神經(jīng)元的個數(shù)為m,w(j)為輸入層到第j個隱藏神經(jīng)元的權(quán)重,b(j)為第j個隱藏層的閾值。wo(j)為隱藏層到第j個輸出層的權(quán)重。 ELM的樣本輸出可表示為: (10) 式中:j=[1,2,…,N];f()為隱藏層的激勵函數(shù)。矩陣表示如下: Y=Wo·H (11) (12) 式中:H為隱藏層輸出矩陣;Wo為輸出權(quán)值矩陣;Wo可以通過MP廣義逆得到: (13) 針對于ELM輸入權(quán)值與隱藏層閾值隨機初始化的缺點,本文采用POFA算法對ELM輸入權(quán)值與隱藏層閾值進行優(yōu)化,提出POFA-ELM模型。模型流程如圖1所示。 圖1 POFA-ELM模型Fig.1 POFA-ELM model 本文以某電廠循環(huán)流化床為研究對象,在負(fù)荷為50%,70%,100%的工況下由集散控制系統(tǒng)(DCS)數(shù)據(jù)庫中分別采集100組數(shù)據(jù)。從影響NOx排放特性的參數(shù)中選擇20個參數(shù)作為模型的輸入,其中包括1個鍋爐負(fù)荷,4個給煤量,1個床溫,2個一次風(fēng),2個一次風(fēng)溫,2個二次風(fēng),2個二次風(fēng)溫,1個氧氣體積分?jǐn)?shù),1個煙氣溫度,2個送粉機電流以及2個飛灰含碳量,以NOx的排放質(zhì)量濃度為輸出,應(yīng)用ELM與POFA算法進行綜合建模。從負(fù)荷為50%,70%,100%的工況數(shù)據(jù)中分別隨機選取80組數(shù)據(jù)作為訓(xùn)練集,剩余的數(shù)據(jù)組成測試集。 為了驗證POFA-ELM模型的性能,本文將POFA-ELM模型與ELM模型、DE-ELM模型、PSO-ELM模型、ABC-ELM模型以及OFA-ELM模型進行對比。優(yōu)化算法的參數(shù)的設(shè)置除最大迭代次數(shù)設(shè)置為為200與種群大小為20以外,其余超參數(shù)設(shè)置與前面相同。為了綜合比較個個模型的預(yù)測性能,本文以均方差(MSE)、平均絕對誤差(MAE)和平均相對百分比誤差(MAPE)作為評價模型的性能的3個指標(biāo)。 在第1組實驗中,每一個優(yōu)化模型獨立運行10次,將均方差、平均絕對誤差與平均相對百分比誤差的均值記錄在表3和表4中。 從表3可以看到,POFA-ELM模型在訓(xùn)練集上MSE的均值為22.568,MAE的均值為3.560,MAPE的均值為3項指標(biāo)也要小于其余5個模型。 表3 訓(xùn)練集的精準(zhǔn)度對比Tab.3 Precision comparison of training sets 從表4可以看到POFA-ELM模型在測試集上的MSE的均值為44.427,MAE的均值為4.460,MAPE的均值為0.033 1。這3項指標(biāo)也要小于其余5個模型。 表4 測試集的精準(zhǔn)度對比Tab.4 Precision comparison of test sets 在第2組實驗中,每一個模型運行一次。得到圖2,POFA-ELM模型對訓(xùn)練集的擬合曲線;圖3,POFA-ELM模型對測試集的擬合曲線;圖4,5種算法優(yōu)化ELM的迭代曲線;圖5,5種模型在測試集上每一個樣本點上的絕對誤差。 從圖2可以看出POFA-ELM模型在訓(xùn)練集上能很好地擬合訓(xùn)練樣本數(shù)據(jù)。從圖3可以看出POFA-ELM模型在測試集上也能很好地預(yù)測測試樣本的數(shù)據(jù)。因此,相對于ELM、DE-ELM、PSO-ELM、ABC-ELM和OFA-ELM這5個模型,POFA-ELM預(yù)測精度更高,泛化能力更好。 圖2 POFA-ELM模型在訓(xùn)練集上的擬合曲線Fig.2 Fit curve of POFA-ELM model on training set 圖3 POFA-ELM模型在測試集上的擬合曲線Fig.3 Fit curve of POFA-ELM model on test set 從圖4可以看出,在相對于DE-ELM、PSO-ELM、ABC-ELM和OFA-ELM模型,POFA-ELM模型收斂迅速、學(xué)習(xí)能力強。從圖5,可以看到在測試集上POFA-ELM模型預(yù)測的絕對誤差整體上比其余5個模型都小,并且POFA-ELM模型預(yù)測NOx排放量的絕對誤差曲線較集中,這也說明POFA-ELM模型具有較好的泛化能力。 圖4 5種算法優(yōu)化ELM的迭代過程Fig.4 Five algorithms optimize the iterative process of ELM 圖5 5種模型測試集的絕對誤差Fig.5 Absolute error of five model test sets POFA算法收斂速度快,收斂精度高。用POFA算法優(yōu)化ELM的POFA-ELM模型能很好地降低訓(xùn)練誤差提升模型的泛化能力。從均方差(MSE)、平均絕對誤差(MAE)和平均相對百分比誤差(MAPE)這3項性能指標(biāo)來看,POFA-ELM能相對較好地預(yù)測NOx排放的能力,擁有著較高的預(yù)測精度以及較強的泛化能力。2.2 POFA算法
Δy(t,i,j)=x(t,W,j)-x(t,i,j),
if: F(t,i)≠min(F(t,1)…F(t,N))
Δx(t,i,j)=x(t,P,j)-x(t,i,j),
Δy(t,i,j)=x(t,W,j)-x(t,i,j),
if: F(t,i)=min(F(t,1)…F(t,N))2.3 POFA算法的驗證
3 POFA-ELM模型
3.1 極端學(xué)習(xí)機
3.2 POFA-ELM模型設(shè)計與仿真
4 結(jié) 論