張 樂,韋根原
(華北電力大學,河北 保定 071003)
一般來說,建立研究對象的數學模型有2種方法:①根據對象的運行機理、物理和化學規律建立研究對象數學模型的機理建模法;②人為加入測試信號,并記錄其輸出,也可以利用對象的歷史輸入輸出數據來確定模型結構和參數的試驗建模法。由于試驗建模法不需要研究對象的內部運行機理,所以,它被廣泛應用。用試驗建模法建立對象的數學模型,經典的辨識方法有最小二乘法、梯度校正法、最大似然法、階躍響應和脈沖響應法等。隨著智能優化算法的提出,神經網絡、遺傳算法、蟻群算法、粒子群算法等知識被應用于模型辨識中,形成以智能優化算法為核心的智能系統辨識技術。遺傳算法是由美國密歇根大學的John H.Holland教授及其學生提出,提出以后便引起廣泛關注,現在越來越多的不同領域的研究員致力于遺傳算法與其他科學相結合的研究與應用中。本文將遺傳算法應用于熱工過程模型辨識中。
模型結構的選擇是系統辨識的重要環節,決定模型質量的關鍵。在熱工過程模型辨識中,熱工對象一般都具有復雜的運行機理,而熱工過程的動態特性往往表現出純遲延、非線性、時變等特點。綜合熱工對象的特點,將下面的傳遞函數作為熱工模型進行熱工過程模型辨識,即:

式(1)中:K為增益系數;Ts為時間常數;τ為延遲時間。當m=0時,系統為有自平衡能力的對象;當m≠0時,系統為無自平衡能力的對象。
遺傳算法是根據目標函數構造出一個適應度函數,對由問題的解所組成的種群進行評估,選擇、交叉、變異運算,經過多代的繁殖,從而得到適應值最好的個體作為所求問題的最優解。自遺傳算法被提出以來,由于在求解復雜優化問題及其在人工智能、神經網絡、機器學習和函數優化等領域的成功應用,使得該算法被廣泛關注[8]。
與傳統優化算法相比,遺傳算法是從問題解的串集開始搜索的,而不是從單個解開始,覆蓋面大,利于全局最優。
基于遺傳算法的熱工過程模型辨識的具體求解步驟是:①由于從現場采集的數據往往具有直流或低頻成分,它們對辨識結果是不利的,因此,要對采集數據進行數據濾波、零初始值處理等操作,剔除數據中的低頻成分。②根據數據曲線的變化規律,選擇合適的估計模型。③將待優化的參數集進行編碼,常用的編碼方法有二進制編碼、浮點數編碼、符號編碼方法等。④初始群體選取。當群體規模太小時,可能引起未成熟收斂現象;當群體規模較大時,意味著計算成本較高,所以,在應用中應適當選擇群體規模。⑤適應度函數的選取。在遺傳算法中,適應度函數要比較排序,并在此基礎上計算選擇概率,因此,適應度函數的值要為正值。在一些問題中,要將目標函數映射成求最大值且函數值非負的適應度函數。⑥進行遺傳操作。遺傳操作包括3個基本遺傳算子,即選擇、交叉、變異。選擇是建立在種群中個體適應度評估基礎上的,目前常用的選擇算子有輪盤賭選擇法、隨機遍歷抽樣法、局部選擇法等。在遺傳算法中,通過交叉可以使遺傳算法的搜索能力得以提高。根據編碼方法的不同,可以有不同的算法,比如實值重組,即離散重組、實值重組等和二進制交叉,即單點交叉、多點交叉等。變異可以使遺傳算法具有局部隨機搜索能力,維持群體多樣性,防止出現未成熟現象,常用的有實值變異和二進制變異。⑦重新評價產生的新一代群體,并進行遺傳操作。如此周而復始,使最優個體的適應度不斷提高,直到最優個體的適應度達到某一界限或最優個體的適應度不再提高,則迭代過程結束。
將遺傳算法應用于某循環流化床熱電機組的噴水量變化對應的主蒸汽溫度的變化的模型辨識中。從歷史數據中截取一段數據,并對截取數據進行預處理,可得到數據處理后的曲線,如圖1、圖2所示。

圖1 處理后的減溫水流量

圖2 處理后的主蒸汽溫度
觀察曲線可知,系統為有自平衡能力的對象,由第1節中的公式(1)可得到系統的傳遞函數模型為:

選擇參數的論域為:K∈(-25,0),T∈(0,500),n∈(2,5),τ∈(0,200)。
對優化的參數進行二進制編碼,編碼長度選擇為10,種群規模選擇為60.
目標函數選擇為:

式(3)中:yt為系統時刻的輸出;ty~為估計模型t時刻所產生的模型輸出。
將目標函數映射成求最大值作為適應度函數,即:

選擇算子用輪盤賭選擇法,設群體規模為n,則第i個個體的適應度為fi,則被選擇的概率為:

式(5)中:pi為第i個個體的適應度在群體的個體適應度之和中所占的比例。
交叉算子選擇單點交叉,交叉概率選擇為0.6,變異算子選擇基本變異算子,其中,變異概率為0.005.
進入遺傳算法優化過程,由于遺傳算法有些系數是隨機數,所以,運行多次程序,選擇了3組數據的平均數作為選擇的參數,得到辨識結果為:
辨識響應曲線如圖3所示。

圖3 辨識曲線
從辨識曲線中可以看出,遺傳算法應用于熱工過程模型辨識,可以取得比較理想的效果,且具有較好的精度。
遺傳算法是一種解決搜索問題的通用方法,通用問題都可以使用。本文將遺傳算法應用在火電廠熱工過程模型辨識中,通過對現場的輸入輸出數據,用遺傳算法擬合出系統的傳遞函數模型。辨識結果表明,遺傳算法能夠有效地對熱工過程進行系統辨識,且具有較高的準確性。
[1]常佳佳,郭百巍,王星德.基于遺傳算法的模型辨識[J].計算機仿真,2015,32(02):102-105.
[2]韋根原,趙鵬旭,韓璞.基于混沌粒子群算法的火電機組熱工過程辨識方法[J].熱力發電,2014,43(10):35-39.
[3]韋根原,朱波,馬磊.基于蟻群算法的熱工系統模型辨識[J].計算機仿真,2014,31(01):154-156,236.
[4]韋根原,王兵樹,馬磊,等.基于粒子群算法的1 000 MW火電機組模型辨識[J].計算機仿真,2013,30(07):400-403.
[5]陳國良,王煦法,莊鎮泉,等.遺傳算法及其應用[M].北京:人民郵電出版社,1996.
[6]田曉棟.多變量熱工系統模型辨識方法研究[D].保定:華北電力大學(河北),2009.
[7]劉愛君.基于遺傳算法的連續系統辨識[D].保定:華北電力大學(河北),2004.
[8]趙曉峰.遺傳算法在模糊模型辨識中的應用[D].廈門:廈門大學,2001.
[9]韓璞.現代工程控制論[M].北京:中國電力出版社,2017.
[10]魚濱,張善文,郭竟,等.基于MATLAB和遺傳算法的圖像處理[M].西安:西安電子科技大學出版社,2015.