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