摘要針對遺傳算法和神經(jīng)控制各自的優(yōu)缺點,設計了二者的融合算法,使控制器兼有二者的優(yōu)點從而提高控制系統(tǒng)的性能。運用該方法對電加熱爐溫度控制系統(tǒng)進行的仿真實驗體現(xiàn)了良好的控制效果。
關鍵詞遺傳算法神經(jīng)控制MATLAB仿真
中圖分類號:TP31文獻標識碼:A
最優(yōu)化理論與方法討論的是找出對象問題的最優(yōu)解決策略而采取的模型化及其方法。其過程是先將待解決的問題用最優(yōu)化形式描述為在給定的約束條件下找出使某個目標函數(shù)達到最大(小)解,然后再采用數(shù)學上嚴密的算法來求解。
神經(jīng)網(wǎng)絡應用于控制系統(tǒng)設計主要是針對系統(tǒng)的非線性、不確定性和復雜性進行的。神經(jīng)網(wǎng)絡的適應能力、并行處理能力和它的魯棒性使采用神經(jīng)網(wǎng)絡的控制系統(tǒng)具有更強的適應性和魯棒性。目前,神經(jīng)控制器廣泛應用的是BP學習算法,但它具有收斂速度慢,不可避免地存在局部極小,全局搜索能力差,動態(tài)特性不夠理想等一系列缺點。遺傳算法應用于神經(jīng)網(wǎng)絡控制器的學習和訓練,可以使神經(jīng)控制器具有神經(jīng)網(wǎng)絡的廣泛映射能力和遺傳算法的全局、并行尋優(yōu)及增強式學習能力,從而兼有二者的優(yōu)點,提高控制系統(tǒng)的性能。其結構如圖1。
Fig.1 Structure of neural network control system
本文的被控對象為文獻[3]中提供的帶純滯后的一階電加熱爐模型,其傳遞函數(shù)為:
1 神經(jīng)網(wǎng)絡控制器的構造
在神經(jīng)網(wǎng)絡控制器的設計中,采用三層前向網(wǎng)絡結構,三輸入單輸出。輸入分別為:
其中,r(t)為給定值,e(t)為溫度誤差,ec(t)為誤差變化率。輸出為被控對象的控制量u(t)。
隱含層神經(jīng)元數(shù)在考慮到控制精度和速度的情況下,經(jīng)仿真實驗選為8個,所以神經(jīng)控制器為3:8:1的結構,如圖2。
Fig.2 Structure of neural network controller
2 遺傳算法原理
遺傳算法是基于達爾文自然選擇和孟德爾基因遺傳學原理的搜索算法。它將“優(yōu)勝劣汰,適者生存”這一基本生物進化原理引入待優(yōu)化參數(shù)形成的編碼串群體中,并在串群中進行有組織又隨機的遺傳操作,隨著算法的進行,優(yōu)良的品質(zhì)被逐漸保留并加以組合,從而產(chǎn)生更佳的個體,如此周而復始,直至最后獲得滿足一定條件的最優(yōu)解。
遺傳算法與許多傳統(tǒng)優(yōu)化算法如解析法、枚舉法等相比,具有以下鮮明特點:(1)對參數(shù)編碼進行操作,而不是對參數(shù)本身;(2)從多點開始進行操作,而非局限于一點,可有效防止搜索過程收斂于局部最優(yōu)解;(3)使用問題本身的目標函數(shù)計算適應值,而不需要其它諸如連續(xù)、可導、單峰等任何信息,從而對問題的依賴性較小;(4)尋優(yōu)規(guī)則是由概率決定的,而非確定性的;(5)具有并行性,可提高計算速度。
3 遺傳算法與神經(jīng)控制的融合算法
3.1 神經(jīng)控制器的參數(shù)編碼
選擇適合的編碼方式是遺傳算法的關鍵,根據(jù)所選擇的編碼方式,將參數(shù)編碼成對應的子串,再將各子串首尾相聯(lián),即構成染色體,每條染色體代表解空間的一個解。不同的編碼方式對遺傳算法的求解精度和收斂速度有一定的影響。本文采用目前最常用的二進制編碼方式。
本文神經(jīng)控制器有32個權重,9個閥值,共41個參數(shù),每個參數(shù)用8位二進制表示,聯(lián)起來形成一條染色體即個體,長度為328。
3.2 適應度函數(shù)設計
取系統(tǒng)在單位階躍信號輸入下的ITAM積分性能指標作為評價函數(shù)
但因為遺傳算法只針對最大值且不能為負,所以適應度函數(shù)取為J的倒數(shù)
適應度函數(shù)反映了個體對問題環(huán)境的適應能力的強弱,是個體競爭的測量準則,它可以很好的控制個體的生存機會。
3.3 選擇
選擇的過程就是根據(jù)個體適應性來確定參加匹配的個體。其目的是從群體中選出繁殖后代的雙親,哪個個體被選擇,哪個被淘汰,是根據(jù)它對環(huán)境的適應能力決定的,適應能力強就有更多機會被選擇保留下來,反之,被淘汰的幾率就大。本文選用輪盤賭法,即第i個個體被選擇的概率pi為
3.4 交叉
交叉是將選擇后的種群中的個體,放入交配池中,隨機的兩兩配對,按照選定的交叉方式和交叉概率pc ,把成對個體串部分的進行交換,形成一對子代。設第k個染色體中的第j個變量為akj,則它和第l個染色體進行交叉的過程是
其中x為隨機選取的交叉點;a’kj,a’lj為交叉后的變量值。
3.5 變異
變異是按設定的變異概率pm,隨機選擇一個個體,隨機改變個體串中的某一位。具體過程如下 若若
3.6 參數(shù)還原檢驗
經(jīng)過遺傳操作之后,把二進制個體串還原為十進制的神經(jīng)控制器參數(shù),并代入到神經(jīng)控制器中,檢驗控制效果是否滿足要求,若滿足要求,就停止,否則,繼續(xù)進行整個算法過程。
4 MATLAB仿真實驗
利用國際公認的最優(yōu)秀的數(shù)值計算和仿真分析軟件作為計算機輔助設計工具,用M語言編寫各相關程序。取系統(tǒng)采樣時間為20秒,遺傳算法的種群規(guī)模N=60,最大優(yōu)化次數(shù)為500,每次遺傳操作后保留一個最優(yōu)個體,交叉概率和變異概率分別為pc=0.68 ,pm=0.05。所得仿真結果如圖3。而使用Ziegler Nichols整定式設計的傳統(tǒng)PID控制器的控制效果如圖4。
比較可知,傳統(tǒng)PID控制超調(diào)過大,震蕩次數(shù)過多,動態(tài)性能劣于本設計的遺傳神經(jīng)控制。傳統(tǒng)PID控制,追求上升階段的快速性,就會導致調(diào)節(jié)后期的震蕩;追求調(diào)節(jié)后期的小超調(diào)、少震蕩等動態(tài)性能,就難免影響上升速度。而遺傳神經(jīng)控制器階躍響應的超調(diào)量很小,過渡時間也明顯縮短。
5 結論
經(jīng)過計算機輔助設計與仿真可以證明,本文設計的遺傳算法與神經(jīng)網(wǎng)絡相融合的控制器,較傳統(tǒng)PID控制器使控制系統(tǒng)動態(tài)性能有了很大改善,也解決了單純神經(jīng)控制收斂速度慢、易陷于局部極小、全局搜索能力差等缺點,充分顯現(xiàn)了二者相融合的優(yōu)越性。