王龍剛 侯媛彬
(西安科技大學(xué)電氣與控制工程學(xué)院,陜西 西安 710054)
電加熱爐是一個(gè)非均勻分布、隨時(shí)間連續(xù)變化的溫度場,其爐溫不僅與時(shí)間有關(guān),而且還與空間位置有關(guān)。嚴(yán)格地說,電加熱爐具有多變量、分布參數(shù)非線性、慢時(shí)變等特性,因此,很難建立精確的系統(tǒng)模型[1]。而傳統(tǒng)的控制理論往往要求建立精確的系統(tǒng)模型。近年來,智能控制理論得到了飛躍式的發(fā)展,它具有自適應(yīng)、自組織和自學(xué)習(xí)等優(yōu)點(diǎn),所以被廣泛地應(yīng)用到工業(yè)過程控制,并在工業(yè)控制中發(fā)揮著越來越重要的作用[2-3]。
本文以Cr-Fe合金作為合金試樣,采用粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法(以下稱BP-PSO算法)來辨識電加熱爐工作在500℃時(shí)的系統(tǒng)模型。同時(shí),利用辨識得到的系統(tǒng)模型對爐內(nèi)溫度的變化趨勢進(jìn)行預(yù)測,從而為提高電加熱爐的穩(wěn)態(tài)性能奠定基礎(chǔ)[4]。
BP-PSO算法是一種將BP神經(jīng)網(wǎng)絡(luò)和粒子群優(yōu)化(PSO)算法相結(jié)合,經(jīng)訓(xùn)練得到BP神經(jīng)網(wǎng)絡(luò)權(quán)值的算法。由于BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法是一種采用隨機(jī)梯度最小均方的算法,導(dǎo)致其存在以下固有缺陷:容易陷入局部極小、泛化能力較弱、網(wǎng)絡(luò)的收斂速度較慢[5]。PSO算法是一種基于全局搜索的算法,能計(jì)算獲得全局最優(yōu)解,不存在陷入局部極值等問題,且訓(xùn)練效率更高。因此,采用BP與PSO結(jié)合的算法,既能發(fā)揮BP神經(jīng)網(wǎng)絡(luò)的非線性應(yīng)用,又能克服BP訓(xùn)練神經(jīng)網(wǎng)絡(luò)權(quán)值時(shí)容易出現(xiàn)的一些問題[1]。
BP-PSO算法是將BP神經(jīng)網(wǎng)絡(luò)中的權(quán)值和閾值作為移動粒子,粒子的位置表示當(dāng)前權(quán)值和閾值的大小。將神經(jīng)網(wǎng)絡(luò)輸出與樣本的輸出誤差平方和作為粒子移動的適應(yīng)度函數(shù)[6],即:
式中:y1為樣本的輸出值為神經(jīng)網(wǎng)絡(luò)的輸出值;L為樣本的組數(shù)。JP值越小,粒子的適應(yīng)度越高,神經(jīng)網(wǎng)絡(luò)訓(xùn)練的誤差越小。
為了計(jì)算得到神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值最優(yōu)解,按照PSO算法迭代式(2)和式(3)[7],得到訓(xùn)練神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。
在每一次迭代中,權(quán)值和閾值粒子通過全局最優(yōu)值Gbest和局部最優(yōu)值Pbest更新自己的移動位置,直到得到滿足要求的適應(yīng)度J'P。
式中:V(n)為當(dāng)前粒子的移動速度;X(n)為當(dāng)前粒子的位置;ω為速度慣性權(quán)重,合適的ω可以使粒子群在全局和局部搜索時(shí)達(dá)到最佳;rand()為介于(0,1)之間的隨機(jī)數(shù);c1、c2為學(xué)習(xí)因子;Gbest為種群粒子中最好適應(yīng)度的粒子位置;Pbest為每個(gè)粒子自身移動過程中最好適應(yīng)度的粒子位置[7-9]。
BP-PSO算法的辨識步驟如下。
①初始化:確定神經(jīng)網(wǎng)絡(luò)的層數(shù)、各層的神經(jīng)元的個(gè)數(shù)、激活函數(shù);用rands()得到神經(jīng)網(wǎng)絡(luò)各層的初始化權(quán)值和閾值,初始權(quán)值和閾值等于初始 Pbest和Gbest;用rands()得到初始速度值;歸一化樣本數(shù)據(jù)的輸入輸出值;設(shè)定速度慣性權(quán)重ω、學(xué)習(xí)因子c1和c2的大小。
②輸入樣本:按照神經(jīng)網(wǎng)絡(luò)正向傳播計(jì)算得出神經(jīng)網(wǎng)絡(luò)的輸出值,按照適應(yīng)度函數(shù)JP計(jì)算神經(jīng)網(wǎng)絡(luò)輸出與樣本輸出誤差平方和。如果JP<J'P,訓(xùn)練結(jié)束;否則轉(zhuǎn)到步驟③。
③對于每個(gè)權(quán)值和閾值粒子,將其適應(yīng)度與每個(gè)粒子的歷史最優(yōu)適應(yīng)度進(jìn)行比較,適應(yīng)度小者作為局部最優(yōu)權(quán)值和最優(yōu)閾值Pbest;將其適應(yīng)度與整個(gè)種群最優(yōu)適應(yīng)度進(jìn)行對比,適應(yīng)度小者作為全局最優(yōu)權(quán)值和最優(yōu)閾值Gbest。
④更新權(quán)值和閾值粒子。按照式(2)和式(3),更新得到權(quán)值和閾值粒子移動位置和速度。
⑤由步驟④轉(zhuǎn)到步驟③。
⑥達(dá)到適應(yīng)度要求或者最大迭代次數(shù),訓(xùn)練結(jié)束。粒子的全局最優(yōu)位置就是神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值和閾值。
電加熱爐結(jié)構(gòu)如圖1所示。
圖1 電加熱爐結(jié)構(gòu)Fig.1 Structure of the electric furnace
電加熱爐的爐內(nèi)溫度變化不僅與加熱電壓有關(guān),還與現(xiàn)場環(huán)境等多方面條件有關(guān)。在電加熱爐穩(wěn)態(tài)工作時(shí),無法保持爐內(nèi)溫度的恒定不變。該溫度往往是在設(shè)定的溫度點(diǎn)上下振蕩。本文辨識的對象就是在電加熱爐穩(wěn)態(tài)工作時(shí),爐內(nèi)溫度受環(huán)境影響隨時(shí)間變化的情況。
對工業(yè)實(shí)驗(yàn)室測試合金鋼的電加熱爐,在其穩(wěn)態(tài)工作的過程中,每間隔一段時(shí)間記錄上、下熱電偶測量的溫度值,將記錄數(shù)據(jù)作為辨識電加熱爐的樣本集。
將取樣的時(shí)間序列T作為輸入,上、下熱電偶溫度測量矩陣Y1和Y2作為輸出,建立“2-15-2”BP神經(jīng)網(wǎng)絡(luò)模型。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2中,神經(jīng)網(wǎng)絡(luò)輸入層的權(quán)值矩陣為W12×1,閾值矩陣為B12×1,激活函數(shù)為雙曲函數(shù)F(1)=tansig(·),輸出為 A12×1;隱含層的權(quán)值矩陣為W215×2,閾值矩陣為 B215×1,輸出為激活函數(shù)F(2)=tansig(·),閾值為 A215×1;輸出層權(quán)值矩陣為 W32×15,閾值矩陣為 B32×1,激活函數(shù)為線性函數(shù),即:F(3)=purelin(·),輸出為 A32×1[10]。
由BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)可知:
電加熱爐穩(wěn)態(tài)工作在500℃時(shí),每15 min記錄一次爐內(nèi)上、下熱電偶的溫度測量值(數(shù)值分別用y1、y2表示),將電加熱爐連續(xù)穩(wěn)態(tài)工作10 h的40組數(shù)據(jù)作為樣本測試數(shù)據(jù)。溫度的測試數(shù)據(jù)樣本如表1和表2所示。
表1 輸出y1的預(yù)測值Tab.1 The predictive values of output y1
表2 輸出y2的預(yù)測值Tab.2 The predictive values of output y2
分別采用BP和BP-PSO算法辨識得到系統(tǒng)模型,在此基礎(chǔ)上對電加熱爐的爐內(nèi)溫度y1、y2變化進(jìn)行預(yù)測。得到的輸出y1和y2仿真如圖3、圖4所示。
圖3 輸出y1的仿真圖Fig.3 Simulation graphics obtained by output y1
圖4 輸出y2的仿真圖Fig.4 Simulation graphics obtained by output y2
設(shè)預(yù)測時(shí)間從采樣時(shí)間31點(diǎn)起,到某個(gè)采樣時(shí)間點(diǎn)結(jié)束,預(yù)測值和實(shí)際值y1、y2的誤差都在±3 K內(nèi),則認(rèn)為從預(yù)測時(shí)間31點(diǎn)到這個(gè)采樣點(diǎn)的時(shí)間范圍為預(yù)測值有效時(shí)間范圍。從上文分析可知,BP算法從采樣31點(diǎn)起,到采樣35點(diǎn)結(jié)束,預(yù)測值和實(shí)際值的誤差都在±3 K內(nèi),有效時(shí)間范圍為5×15=75 min;BP-PSO從采樣點(diǎn)31點(diǎn)起,到采樣38點(diǎn)結(jié)束,預(yù)測值和實(shí)際值的誤差都在±3 K內(nèi),有效時(shí)間范圍為8×15=120 min。此外,在采樣31點(diǎn)到35點(diǎn)的預(yù)測值有效時(shí)間范圍內(nèi),BP算法預(yù)測值與實(shí)際值的均方差為0.54,BPPSO算法預(yù)測值與實(shí)際值的均方差為0.31。由此可得,BP-PSO算法的預(yù)測值比BP算法預(yù)測值的有效性時(shí)間范圍延長60%;在相同有效的預(yù)測時(shí)間范圍內(nèi),預(yù)測值精度提高43%。
本文是以Cr-Fe合金作為合金試樣,應(yīng)用BP-PSO算法來辨識電加熱爐工作在500℃時(shí)的系統(tǒng)模型。在建立模型的基礎(chǔ)上,對電加熱爐爐內(nèi)溫度變化趨勢進(jìn)行預(yù)測,最后將其與實(shí)際溫度值進(jìn)行比較。試驗(yàn)結(jié)果顯示,BPPSO算法的預(yù)測值比BP算法預(yù)測值的有效性時(shí)間范圍延長45 min;在相同有效的預(yù)測時(shí)間范圍內(nèi),預(yù)測值與實(shí)際值誤差均方差減少0.23。此外,這種算法也適用于辨識實(shí)驗(yàn)室電加熱爐其他溫度點(diǎn)穩(wěn)態(tài)工作特性。
[1]王順晃,舒迪前.智能控制系統(tǒng)及其應(yīng)用[M]北京:機(jī)械工業(yè)出版社,2005:167-169.
[2]李人厚.智能控制理論和方法[M].西安:西安電子科技大學(xué)出版社,2007:1-3.
[3]李祚泳,汪嘉楊,郭淳.PSO算法優(yōu)化BP網(wǎng)絡(luò)的新方法及仿真實(shí)驗(yàn)[J].電子學(xué)報(bào),2008,36(11):2224-2228.
[4]王安娜,陶子玉,姜茂發(fā),等.基于PSO和BP網(wǎng)絡(luò)的LF爐鋼水溫度智能預(yù)測[J].控制與決策,2006,21(7):814-820.
[5]潘昊,侯清蘭.基于粒子群優(yōu)化算法的BP網(wǎng)絡(luò)學(xué)習(xí)研究[J].計(jì)算機(jī)工程及應(yīng)用,2006,42(16):41-43.
[6]魏星,舒乃秋,崔鵬程,等.基于改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)和D-S證據(jù)理論的大型變壓器故障綜合診斷[J].電力系統(tǒng)自動化,2006,30(7):46-50.
[7]李玉軍,湯曉君,劉君華.粒子群優(yōu)化算法在混合氣體紅外光譜定量分析中的應(yīng)用[J].光譜學(xué)和光譜分析,2009,29(5):1276-1280.
[8]Wang L,Zeng Y R,Gui C,et al.Application of artificial neural network supported by BP and particle swarm optimization algorithm for evaluating the criticality class of spare parts[C]∥Natural Computation(ICNC),2007:528-532.
[9]Wang P,Huang Z Y,Zhang M Y,et al.Mechanical property prediction of strip model based on PSO-BP neural network [J].Journal of Iron and Steel Research(International),2008,15(3):87-91.
[10]朱凱.精通MATLAB神經(jīng)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2010:193-200.