王龍剛 侯媛彬
(西安科技大學電氣與控制工程學院,陜西 西安 710054)
電加熱爐是一個非均勻分布、隨時間連續(xù)變化的溫度場,其爐溫不僅與時間有關(guān),而且還與空間位置有關(guān)。嚴格地說,電加熱爐具有多變量、分布參數(shù)非線性、慢時變等特性,因此,很難建立精確的系統(tǒng)模型[1]。而傳統(tǒng)的控制理論往往要求建立精確的系統(tǒng)模型。近年來,智能控制理論得到了飛躍式的發(fā)展,它具有自適應(yīng)、自組織和自學習等優(yōu)點,所以被廣泛地應(yīng)用到工業(yè)過程控制,并在工業(yè)控制中發(fā)揮著越來越重要的作用[2-3]。
本文以Cr-Fe合金作為合金試樣,采用粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法(以下稱BP-PSO算法)來辨識電加熱爐工作在500℃時的系統(tǒng)模型。同時,利用辨識得到的系統(tǒng)模型對爐內(nèi)溫度的變化趨勢進行預(yù)測,從而為提高電加熱爐的穩(wěn)態(tài)性能奠定基礎(chǔ)[4]。
BP-PSO算法是一種將BP神經(jīng)網(wǎng)絡(luò)和粒子群優(yōu)化(PSO)算法相結(jié)合,經(jīng)訓練得到BP神經(jīng)網(wǎng)絡(luò)權(quán)值的算法。由于BP神經(jīng)網(wǎng)絡(luò)學習算法是一種采用隨機梯度最小均方的算法,導致其存在以下固有缺陷:容易陷入局部極小、泛化能力較弱、網(wǎng)絡(luò)的收斂速度較慢[5]。PSO算法是一種基于全局搜索的算法,能計算獲得全局最優(yōu)解,不存在陷入局部極值等問題,且訓練效率更高。因此,采用BP與PSO結(jié)合的算法,既能發(fā)揮BP神經(jīng)網(wǎng)絡(luò)的非線性應(yīng)用,又能克服BP訓練神經(jīng)網(wǎng)絡(luò)權(quán)值時容易出現(xiàn)的一些問題[1]。
BP-PSO算法是將BP神經(jīng)網(wǎng)絡(luò)中的權(quán)值和閾值作為移動粒子,粒子的位置表示當前權(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ò)訓練的誤差越小。
為了計算得到神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值最優(yōu)解,按照PSO算法迭代式(2)和式(3)[7],得到訓練神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。
在每一次迭代中,權(quán)值和閾值粒子通過全局最優(yōu)值Gbest和局部最優(yōu)值Pbest更新自己的移動位置,直到得到滿足要求的適應(yīng)度J'P。
式中:V(n)為當前粒子的移動速度;X(n)為當前粒子的位置;ω為速度慣性權(quán)重,合適的ω可以使粒子群在全局和局部搜索時達到最佳;rand()為介于(0,1)之間的隨機數(shù);c1、c2為學習因子;Gbest為種群粒子中最好適應(yīng)度的粒子位置;Pbest為每個粒子自身移動過程中最好適應(yīng)度的粒子位置[7-9]。
BP-PSO算法的辨識步驟如下。
①初始化:確定神經(jīng)網(wǎng)絡(luò)的層數(shù)、各層的神經(jīng)元的個數(shù)、激活函數(shù);用rands()得到神經(jīng)網(wǎng)絡(luò)各層的初始化權(quán)值和閾值,初始權(quán)值和閾值等于初始 Pbest和Gbest;用rands()得到初始速度值;歸一化樣本數(shù)據(jù)的輸入輸出值;設(shè)定速度慣性權(quán)重ω、學習因子c1和c2的大小。
②輸入樣本:按照神經(jīng)網(wǎng)絡(luò)正向傳播計算得出神經(jīng)網(wǎng)絡(luò)的輸出值,按照適應(yīng)度函數(shù)JP計算神經(jīng)網(wǎng)絡(luò)輸出與樣本輸出誤差平方和。如果JP<J'P,訓練結(jié)束;否則轉(zhuǎn)到步驟③。
③對于每個權(quán)值和閾值粒子,將其適應(yīng)度與每個粒子的歷史最優(yōu)適應(yīng)度進行比較,適應(yīng)度小者作為局部最優(yōu)權(quán)值和最優(yōu)閾值Pbest;將其適應(yīng)度與整個種群最優(yōu)適應(yīng)度進行對比,適應(yīng)度小者作為全局最優(yōu)權(quán)值和最優(yōu)閾值Gbest。
④更新權(quán)值和閾值粒子。按照式(2)和式(3),更新得到權(quán)值和閾值粒子移動位置和速度。
⑤由步驟④轉(zhuǎn)到步驟③。
⑥達到適應(yīng)度要求或者最大迭代次數(shù),訓練結(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)工作時,無法保持爐內(nèi)溫度的恒定不變。該溫度往往是在設(shè)定的溫度點上下振蕩。本文辨識的對象就是在電加熱爐穩(wěn)態(tài)工作時,爐內(nèi)溫度受環(huán)境影響隨時間變化的情況。
對工業(yè)實驗室測試合金鋼的電加熱爐,在其穩(wěn)態(tài)工作的過程中,每間隔一段時間記錄上、下熱電偶測量的溫度值,將記錄數(shù)據(jù)作為辨識電加熱爐的樣本集。
將取樣的時間序列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℃時,每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變化進行預(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ù)測時間從采樣時間31點起,到某個采樣時間點結(jié)束,預(yù)測值和實際值y1、y2的誤差都在±3 K內(nèi),則認為從預(yù)測時間31點到這個采樣點的時間范圍為預(yù)測值有效時間范圍。從上文分析可知,BP算法從采樣31點起,到采樣35點結(jié)束,預(yù)測值和實際值的誤差都在±3 K內(nèi),有效時間范圍為5×15=75 min;BP-PSO從采樣點31點起,到采樣38點結(jié)束,預(yù)測值和實際值的誤差都在±3 K內(nèi),有效時間范圍為8×15=120 min。此外,在采樣31點到35點的預(yù)測值有效時間范圍內(nèi),BP算法預(yù)測值與實際值的均方差為0.54,BPPSO算法預(yù)測值與實際值的均方差為0.31。由此可得,BP-PSO算法的預(yù)測值比BP算法預(yù)測值的有效性時間范圍延長60%;在相同有效的預(yù)測時間范圍內(nèi),預(yù)測值精度提高43%。
本文是以Cr-Fe合金作為合金試樣,應(yīng)用BP-PSO算法來辨識電加熱爐工作在500℃時的系統(tǒng)模型。在建立模型的基礎(chǔ)上,對電加熱爐爐內(nèi)溫度變化趨勢進行預(yù)測,最后將其與實際溫度值進行比較。試驗結(jié)果顯示,BPPSO算法的預(yù)測值比BP算法預(yù)測值的有效性時間范圍延長45 min;在相同有效的預(yù)測時間范圍內(nèi),預(yù)測值與實際值誤差均方差減少0.23。此外,這種算法也適用于辨識實驗室電加熱爐其他溫度點穩(wěn)態(tài)工作特性。
[1]王順晃,舒迪前.智能控制系統(tǒng)及其應(yīng)用[M]北京:機械工業(yè)出版社,2005:167-169.
[2]李人厚.智能控制理論和方法[M].西安:西安電子科技大學出版社,2007:1-3.
[3]李祚泳,汪嘉楊,郭淳.PSO算法優(yōu)化BP網(wǎng)絡(luò)的新方法及仿真實驗[J].電子學報,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ò)學習研究[J].計算機工程及應(yīng)用,2006,42(16):41-43.
[6]魏星,舒乃秋,崔鵬程,等.基于改進PSO-BP神經(jīng)網(wǎng)絡(luò)和D-S證據(jù)理論的大型變壓器故障綜合診斷[J].電力系統(tǒng)自動化,2006,30(7):46-50.
[7]李玉軍,湯曉君,劉君華.粒子群優(yōu)化算法在混合氣體紅外光譜定量分析中的應(yīng)用[J].光譜學和光譜分析,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.