宋 宇, 陸金桂
(南京工業(yè)大學(xué) 機(jī)械與動(dòng)力工程學(xué)院,江蘇 南京 211816)
在整個(gè)火力發(fā)電過程中,球磨機(jī)是必不可少的輔助設(shè)備,它將煤塊磨制成煤粉,使其充分燃燒。因?yàn)榍蚰C(jī)運(yùn)行特性復(fù)雜,各參數(shù)之間耦合現(xiàn)象嚴(yán)重,導(dǎo)致球磨機(jī)出粉量難以直接測(cè)量,也難以使用簡(jiǎn)單的數(shù)學(xué)模型進(jìn)行精確的間接測(cè)量,所以在最優(yōu)工況不明確的情況下,工作人員常常使球磨機(jī)在低負(fù)荷區(qū)運(yùn)行,大大降低了出粉量,同時(shí)還增加了能耗。因此,尋找合適的方法解決球磨機(jī)出粉量的測(cè)量問題變得極為重要。
在實(shí)際生產(chǎn)中,需要采取一些間接的方法進(jìn)行測(cè)量。在間接測(cè)量中,目前采用的差壓法、功率法、噪聲法、軸承振動(dòng)法、油壓法、氣壓差動(dòng)法、應(yīng)變法等方法都是依靠單一變量來表征存煤量進(jìn)而得到球磨機(jī)的出粉量,但是通過這些方法得到的球磨機(jī)出粉量的誤差比較大。近年來,隨著測(cè)量技術(shù)的發(fā)展與完善,基于多變量的軟測(cè)量方法被逐漸應(yīng)用于測(cè)量領(lǐng)域[1-3]。其基本思想是以數(shù)據(jù)驅(qū)動(dòng)為基礎(chǔ),構(gòu)建易測(cè)量的變量與那些難測(cè)量的變量之間的數(shù)學(xué)關(guān)系模型,通過測(cè)量那些可測(cè)量的變量來間接測(cè)量那些難測(cè)量的變量。常見的軟測(cè)量建模方法有基于黑箱理論的神經(jīng)網(wǎng)絡(luò)法[4-5]以及支持向量回歸機(jī)(support vector regression,SVR)法[6-7]。
人工神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的魯棒性和容錯(cuò)性,可以擬合所有復(fù)雜的非線性關(guān)系,且有一定的學(xué)習(xí)能力和自適應(yīng)性,因此可以用來預(yù)測(cè)球磨機(jī)的出粉量。文獻(xiàn)[8]以最優(yōu)拉丁超立方法選取的數(shù)據(jù)作為訓(xùn)練樣本,建立了球磨機(jī)出粉量的BP神經(jīng)網(wǎng)絡(luò)估算模型,降低了估算誤差,提高了泛化性; 文獻(xiàn)[9]借助機(jī)理分析和混沌信息處理計(jì)算,建立了球磨機(jī)出粉量的軟測(cè)量模型,對(duì)球磨機(jī)出粉量進(jìn)行了較為精確的估算; 文獻(xiàn)[10]提出了一種基于Takagi-Sugeno型模糊規(guī)則的火電廠球磨機(jī)出粉量預(yù)測(cè)方法,提高了電廠效率。但是球磨出粉量的神經(jīng)網(wǎng)絡(luò)模型由于存在以下缺點(diǎn),導(dǎo)致使用結(jié)果并不理想。
(1) 神經(jīng)網(wǎng)絡(luò)模型的參數(shù)都是人為設(shè)定的,通過試湊法經(jīng)過微調(diào)得到一組最優(yōu)參數(shù),這需要做大量的試驗(yàn),增加了時(shí)間成本。
(2) 神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練以傳統(tǒng)統(tǒng)計(jì)學(xué)為基礎(chǔ),基于經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化原則。這需要無窮多的樣本數(shù)據(jù)支撐,實(shí)際上訓(xùn)練樣本是有限的,因此導(dǎo)致了網(wǎng)絡(luò)的泛化性差,預(yù)測(cè)精度不高。
(3) 神經(jīng)網(wǎng)絡(luò)采用逆梯度法調(diào)整權(quán)、閾值,經(jīng)常陷入局部最優(yōu)解。當(dāng)網(wǎng)絡(luò)層數(shù)過多時(shí)還會(huì)出現(xiàn)“梯度消失”現(xiàn)象。
相比于神經(jīng)網(wǎng)絡(luò)而言,SVR的訓(xùn)練以統(tǒng)計(jì)學(xué)理論為基礎(chǔ),基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則。SVR的復(fù)雜程度僅取決于支持向量的個(gè)數(shù),主要針對(duì)小樣本情況,并且從本質(zhì)上避免了從歸納到演繹的過程,可以比較準(zhǔn)確地預(yù)測(cè)出球磨機(jī)出粉量。文獻(xiàn)[11]結(jié)合球磨機(jī)的機(jī)理對(duì)影響球磨機(jī)出粉量的主要因素進(jìn)行分析,選擇合適的輔助變量,建立了球磨機(jī)出粉量的SVR模型,得到了較為精確的預(yù)測(cè)結(jié)果;文獻(xiàn)[12]結(jié)合混沌灰熵分析理論,建立了球磨機(jī)出粉量的GECA-ε-SVR模型,對(duì)球磨機(jī)出粉量進(jìn)行了精確的估算。
雖然球磨機(jī)的SVR模型有諸多優(yōu)點(diǎn),但是懲罰因子C以及核函數(shù)系數(shù)g影響著SVR的預(yù)測(cè)精度,并且它們很難確定。目前確定C和g的方法有k折交叉算法[12]、網(wǎng)格搜索法[13]、模擬退火(simulated annealing,SA)[14]、粒子群優(yōu)化(particle swarm optimization,PSO)算法[15]、遺傳算法(genetic algorithm,GA)[16]。前兩者是非智能優(yōu)化算法,搜尋的結(jié)果都不太準(zhǔn)確,很難確定較優(yōu)的參數(shù)。后三者屬于智能優(yōu)化算法,SA是個(gè)體優(yōu)化算法,雖然在統(tǒng)計(jì)上能100%找到全局最優(yōu)解,但是計(jì)算復(fù)雜;PSO和GA是群體優(yōu)化算法,理論上群體優(yōu)化算法要好于個(gè)體優(yōu)化算法。PSO計(jì)算簡(jiǎn)單,操作方便,但隨著迭代次數(shù)的增加種群多樣性降低,且易陷入局部最優(yōu)解;GA雖然保證了種群多樣性,但計(jì)算量大,計(jì)算結(jié)果不穩(wěn)定,易陷入局部解。相比而言,飛蛾火焰優(yōu)化(moth-flame optimization,MFO)算法[17-19]計(jì)算簡(jiǎn)單,能較好地平衡局部搜索能力和全局搜索能力。因此本文嘗試著使用MFO算法來確定球磨機(jī)出粉量SVR模型的參數(shù),對(duì)球磨機(jī)出粉量進(jìn)行精確估算。
本文首先介紹了MFO算法的原理,并將MFO算法和SVR相結(jié)合建立了球磨機(jī)出粉量的MFO-SVR模型。將球磨機(jī)出粉量的MFO-SVR模型和PSO-SVR模型、GA-SVR模型進(jìn)行對(duì)比,驗(yàn)證了MFO-SVR模型具有較優(yōu)越的預(yù)測(cè)能力以及較好的泛化性。
飛蛾撲火優(yōu)化算法的靈感來源于“飛蛾撲火”這一生物行為。“飛蛾撲火”并不是飛蛾的自殺行為,而是由飛蛾本身具有的橫向定位機(jī)制引起的,如圖1所示。在這種方法中,由于飛蛾離月球很遠(yuǎn),飛蛾通過保持與月球的固定角度來飛行,可以保證飛蛾在一條直線上長(zhǎng)距離飛行。
圖1 橫向定位機(jī)制
當(dāng)飛蛾看到人造光源時(shí),它們?cè)噲D與光線保持一個(gè)相似的角度直線飛行。但是,這樣的光線比月球的光線距離近很多,因此保持與光源相似的角度會(huì)導(dǎo)致飛蛾無用或致命的螺旋飛行路徑,飛蛾最終會(huì)向光源收斂,如圖2所示。
圖2 “飛蛾撲火”生物行為
在MFO算法中,假設(shè)候選解是飛蛾,問題的變量是飛蛾在空間中的位置。因此,通過改變其位置向量,飛蛾可以在一維、二維、三維或超維空間中飛行。
因?yàn)镸FO算法是基于種群的算法,所以用矩陣M表示飛蛾的集合,即
(1)
其中:n為飛蛾種群數(shù)目;d為待求變量的維度;mi,j可以通過使用隨機(jī)分布來給出,即
mi,j=[bu(i)-bl(i)]rand()+bl(i)
(2)
其中:mi,j為矩陣M第i行第j列的值;bu(i)、bl(i)分別為第i個(gè)飛蛾位置的上限和下限;rand()為在區(qū)間[0,1]中生成的均勻分布隨機(jī)數(shù)。
對(duì)于所有飛蛾種群,還假設(shè)有一個(gè)數(shù)組OM用于存儲(chǔ)相應(yīng)的適應(yīng)度值,即
OM=[OM1OM2…OMn]T
(3)
火焰是算法中的另一個(gè)關(guān)鍵因素,類似于飛蛾矩陣M,火焰矩陣用F表示,火焰的適應(yīng)度值用數(shù)組OF表示,即
(4)
OF=[OF1OF2…OFn]T
(5)
在MFO算法中,飛蛾矩陣M表示在算法搜索過程中執(zhí)行移動(dòng)變化的實(shí)際主體,而火焰F代表著經(jīng)過飛蛾M搜索之后到目前為止所得到的最優(yōu)解。因此,如果得到了一個(gè)更好的解,就會(huì)保證每只飛蛾在該最優(yōu)值的附近進(jìn)行搜索,以免錯(cuò)過任何最優(yōu)解。
MFO算法計(jì)算過程可以描述如下:
MFO=(I,P,T)
(6)
I用于產(chǎn)生一個(gè)初始隨機(jī)飛蛾群,并且計(jì)算相應(yīng)的適應(yīng)度函數(shù)值。該模型可以表示為:
I:φ→{M,OM}
(7)
P代表飛蛾在空間范圍內(nèi)的搜索原理;飛蛾矩陣M輸入P中,輸出更新之后的矩陣M′,即
P:M→M′
(8)
若算法達(dá)到了設(shè)置的停止條件,則T的值為真;若不滿足,則T的值為假。表示為:
T:M→{true,false}
(9)
綜上所述,當(dāng)I函數(shù)初始化之后,P函數(shù)進(jìn)行迭代更新,運(yùn)行直至T函數(shù)返回為真,則算法運(yùn)行結(jié)束,一般流程框架如下:
M=I()
WhileT(M) is equal to false
M=P(M);
end
在初始化飛蛾的種群數(shù)、位置以及確定了適應(yīng)度函數(shù)之后,飛蛾種群的更新機(jī)制為如下螺旋線:
Mi=S(Mi,Fi)=Dieb tcos(2πt)+Fj
(10)
其中:Mi為第i個(gè)飛蛾;Fj為第j個(gè)火焰;S為螺旋函數(shù);Di=|Mi-Fj|為第i個(gè)飛蛾距第j個(gè)火焰的距離;b為定義對(duì)數(shù)螺旋形狀的常數(shù);t為[-1,1]中的隨機(jī)數(shù)??刂骑w蛾與火焰的距離,對(duì)數(shù)螺旋線如圖3所示。
圖3中,t越小,飛蛾離火焰越近,通過改變t,飛蛾可以到達(dá)火焰周圍的位置,增強(qiáng)了算法的局部尋優(yōu)能力。
圖3 對(duì)數(shù)螺旋線
為了避免所獲得的解為局部最優(yōu)值的情況,在每次迭代更新列表后,火焰根據(jù)它們的適應(yīng)度數(shù)值大小排序,然后飛蛾更新它們相對(duì)于火焰的位置。
采用計(jì)算公式使火焰數(shù)量在迭代過程中不斷減少,即
(11)
其中:l為當(dāng)前迭代次數(shù);N為最大火焰數(shù)目,lmax為最大迭代次數(shù);round表示取整。
P函數(shù)的執(zhí)行步驟如下:
用(11)式計(jì)算更新火焰的數(shù)量
計(jì)算飛蛾的適應(yīng)度函數(shù)值
if迭代次數(shù)為1
F=sort(M);
OF=sort(OM);
else
F=sort(Mt-1,Mt);
OF=sort(OMt-1,OMt);
end
fori=1:n
forj=1:d
計(jì)算飛蛾與相應(yīng)火焰之間的距離Di=|Mi-Fj|;
采用(10)式更新飛蛾與相應(yīng)火焰之間的距離M(i,j);
end
end
綜上所述,執(zhí)行P函數(shù)直到T函數(shù)返回ture。P函數(shù)終止后,最佳飛蛾作為獲得的最佳近似值返回。
用SVR預(yù)測(cè)球磨機(jī)出粉量等價(jià)于求解合適的懲罰因子C以及RBF核函數(shù)系數(shù)gamma,為了提高球磨機(jī)出粉量的預(yù)測(cè)精度,使用MFO算法來確定參數(shù)C和gamma,算法流程如下。
(1) 設(shè)置參數(shù)。飛蛾和火焰的數(shù)目n=60,最大迭代次數(shù)lmax=100,變量的維度d=2,飛蛾位置的上限bu=[30,100],下限bl=[-30,-100]。
(2) 飛蛾位置初始化。在搜索空間內(nèi)隨機(jī)生成飛蛾位置,M(i,:)=[mi,1mi,2]=[gC],迭代次數(shù)l=1。其中,M(i,:)為飛蛾矩陣M的第i行的行向量。
(3) 計(jì)算適應(yīng)度值。將mi,1和mi,2輸入SVR模型中以進(jìn)行球磨機(jī)出粉量的預(yù)測(cè)。根據(jù)預(yù)測(cè)結(jié)果,可以計(jì)算出適應(yīng)度函數(shù)的相應(yīng)值。本文采用平均絕對(duì)百分比誤差(mean absolute percentage error,MAPE)為適應(yīng)度函數(shù),計(jì)算公式為:
(12)
(4) 將飛蛾位置按適應(yīng)度值從小到大排序,賦給火焰。
(5) 飛蛾圍繞火焰按(10)式,更新其位置。其中:b=1;t為[-1,1]中的隨機(jī)數(shù)。
(6) 記錄當(dāng)前最優(yōu)火焰適應(yīng)度值。
(7) 根據(jù)(11)式減少火焰數(shù)量,l=l+1。
(8) 判斷是否達(dá)到最大迭代次數(shù),若達(dá)到則輸出最優(yōu)火焰位置和其適應(yīng)度值,否則轉(zhuǎn)到步驟(4)。
球磨機(jī)出粉量的MFO-SVR算法流程如圖4所示。
圖4 球磨機(jī)出粉量的MFO-SVR算法流程
本文的研究對(duì)象為重慶某電廠1#球磨機(jī),由于球磨機(jī)結(jié)構(gòu)復(fù)雜,其磨煤過程被許多因素所干擾,同時(shí)這些因素之間的關(guān)系又具有高度的非線性特點(diǎn),通過數(shù)據(jù)服務(wù)器SCADA,從電廠DCS數(shù)據(jù)庫(kù)中采集時(shí)發(fā)現(xiàn)球磨機(jī)現(xiàn)場(chǎng)測(cè)點(diǎn)較多,采集的數(shù)據(jù)也較為復(fù)雜,在現(xiàn)場(chǎng)工作人員的幫助下,采集了該球磨機(jī)1 d的運(yùn)行數(shù)據(jù),剔除了一些異常樣本,最終采用系統(tǒng)抽樣從中篩選了500組樣本數(shù)據(jù),見表1所列。
對(duì)上述數(shù)據(jù)進(jìn)行歸一化處理,即
(13)
隨機(jī)選取450組作為訓(xùn)練樣本,其余50組作為測(cè)試樣本,分別建立球磨機(jī)出粉量的MFO-SVR、PSO-SVR、GA-SVR模型。
表1 球磨機(jī)樣本數(shù)據(jù)
(1) MFO-SVR算法。飛蛾和火焰的數(shù)目n=60,最大迭代次數(shù)lmax=100,變量的維度d=2,對(duì)數(shù)螺旋線參數(shù)b=1,SVR的不敏感系數(shù)ε=0.001,g∈[0,30],C∈[0,100]。
(2) PSO-SVR算法。種群的規(guī)模n=60,最大迭代次數(shù)為lmax=100,變量的維度d=2,學(xué)習(xí)因子c1=c2=1.78,慣性權(quán)重ω=0.7,SVR的不敏感系數(shù)ε=0.001,g∈[0,30],C∈[0,100]。
(3) GA-SVR算法。種群的規(guī)模n=60,最大迭代次數(shù)為lmax=200,交叉概率Pc=0.6,變異概率Pr=0.01,SVR的不敏感系數(shù)ε=0.001,g∈[0,30],C∈[0,100]。
根據(jù)球磨機(jī)的3個(gè)主要的平衡方程[20],選擇對(duì)球磨機(jī)出粉量貢獻(xiàn)度大的進(jìn)出口差壓、出口風(fēng)粉壓力、出口風(fēng)粉溫度、進(jìn)口一次風(fēng)量、進(jìn)口一次風(fēng)壓、進(jìn)口一次風(fēng)溫、電流等因素作為輸入,以球磨機(jī)出粉量為輸出,建立了球磨機(jī)出粉量的MFO-SVR、PSO-SVR、GA-SVR模型,其預(yù)測(cè)結(jié)果如圖5、圖6所示。
圖6 MFO-SVR算法迭代曲線
從圖5可以看出:GA-SVR模型的兩端有發(fā)散的跡象,預(yù)測(cè)值和實(shí)際值的走向趨勢(shì)相反,說明GA-SVR模型的泛化性能不好,而MFO-SVR、PSO-SVR模型兩端的預(yù)測(cè)值和實(shí)際值走向趨勢(shì)相同,表明具有較好的泛化性能。
從圖6可以看出:在前5次迭代時(shí)MAPE下降得比較快,這是由于MFO算法充分發(fā)揮了前期較強(qiáng)的全局搜索能力;第6次~第18次迭代期間,雖然MAPE下降的速度變慢,但是也勻速下降,這是由于MFO后期發(fā)揮了較強(qiáng)的局部搜索能力,在第18次迭代時(shí)鎖定了全局最優(yōu)解。由此可以看出MFO算法能較好地平衡局部搜索能力和全局搜索能力。
為了驗(yàn)證模型的泛化能力和尋優(yōu)精度,本文將平均絕對(duì)誤差(mean absolute error,MAE)、MAPE、均方根誤差(root mean square error,RMSE)和決定系數(shù)(R-square,R2)4個(gè)統(tǒng)計(jì)學(xué)檢驗(yàn)數(shù)據(jù)作為模型的評(píng)價(jià)指標(biāo)。
MAE的計(jì)算公式為:
(14)
MAPE的計(jì)算公式為:
(15)
RMSE的計(jì)算公式為:
(16)
R2的計(jì)算公式為:
(17)
其中:xi、yi分別為實(shí)際值和估算值;n為數(shù)據(jù)樣本的個(gè)數(shù)。
球磨機(jī)出粉量軟測(cè)量模型誤差見表2所列。
表2 球磨機(jī)出粉量軟測(cè)量模型誤差
從表2可以看出:前3項(xiàng)誤差評(píng)判指標(biāo),球磨機(jī)出粉量的MFO-SVR模型最低,PSO-SVR模型其次,GA-SVR模型最高;MFO-SVR模型的平方相關(guān)系數(shù)R2比其他算法的更接近于1,其次是PSO-SVR模型的,GA-SVR模型的離1最遠(yuǎn)。這表明球磨機(jī)出粉量的MFO-SVR模型具有較好的預(yù)測(cè)精度和較優(yōu)的泛化能力,PSO-SVR模型次之,GA-SVR模型最差,與前面預(yù)測(cè)結(jié)果分析相吻合。
(1) 本文借助軟測(cè)量技術(shù),以進(jìn)出口差壓、出口風(fēng)粉壓力、出口風(fēng)粉溫度、進(jìn)口一次風(fēng)量、進(jìn)口一次風(fēng)壓、進(jìn)口一次風(fēng)溫、電流等因素作為輸入,以球磨機(jī)出粉量為輸出,建立了球磨機(jī)出粉量的MFO-SVR模型,解決了球磨機(jī)出粉量的測(cè)量問題。
(2) 將所建立的球磨機(jī)出粉量的MFO-SVR模型,與其PSO-SVR模型、GA-SVR模型的預(yù)測(cè)結(jié)果進(jìn)行對(duì)比,結(jié)果顯示MFO-SVR模型的MAE、MAPE、RMSE比其他2個(gè)模型低,分別為2.172 4%、3.300 2%、2.848%,其平方相關(guān)系數(shù)也更接近于1,表明了球磨機(jī)出粉量的MFO-SVR模型具有較好的預(yù)測(cè)精度和較優(yōu)的泛化能力,更適合球磨機(jī)出粉量的軟測(cè)量。