馬占有
MA Zhan-you
(北方民族大學(xué) 基礎(chǔ)教學(xué)部,銀川 750021)
基于遺傳算法的模糊神經(jīng)網(wǎng)絡(luò)控制器在烘干爐溫度控制系統(tǒng)中的設(shè)計(jì)與仿真1
Emulation of fuzzy neural network controller based on genetic algorithms in temperature control of the drying oven
馬占有
MA Zhan-you
(北方民族大學(xué) 基礎(chǔ)教學(xué)部,銀川 750021)
以烘干爐溫度為被控對(duì)象,由于烘干爐溫度控制具有非線性、大滯后和無法建立精確數(shù)學(xué)模型等特點(diǎn),傳統(tǒng)的控制器很難達(dá)到理想的控制效果,為此設(shè)計(jì)了一種基于遺傳算法的模糊神經(jīng)網(wǎng)絡(luò)控制器。基于遺傳算法的模糊神經(jīng)網(wǎng)絡(luò)控制器是將遺傳算法的全局尋優(yōu)和BP算法的在線學(xué)習(xí)結(jié)合起來,先用遺傳算法對(duì)神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行離線訓(xùn)練,然后再用BP算法對(duì)模糊神經(jīng)網(wǎng)絡(luò)控制器進(jìn)一步在線學(xué)習(xí)。仿真結(jié)果表明,基于遺傳算法的模糊神經(jīng)網(wǎng)絡(luò)控制器與模糊控制、傳統(tǒng)PID控制相比較,改善了系統(tǒng)的動(dòng)態(tài)性能和靜態(tài)性能,能使非線性、大滯后等特殊的系統(tǒng)達(dá)到良好的控制效果。
烘干爐溫度;遺傳算法;BP算法;模糊神經(jīng)網(wǎng)絡(luò)控制器
由于烘干爐溫度的非線性、時(shí)變和滯后等特性,難以建立精確的數(shù)學(xué)模型,傳統(tǒng)控制難以達(dá)到滿意的控制效果。而模糊控制不需要建立被控對(duì)象精確的數(shù)學(xué)模型,只要求現(xiàn)場(chǎng)操作人員或相關(guān)專家的經(jīng)驗(yàn)、知識(shí)或者操作數(shù)據(jù)。然而人們很難根據(jù)經(jīng)驗(yàn)正確選取控制規(guī)則和模糊變量的隸屬度,從而造成了模糊控制規(guī)則的不完善,影響了模糊控制的效果。模糊神經(jīng)網(wǎng)絡(luò)將模糊邏輯和神經(jīng)網(wǎng)絡(luò)結(jié)合在一起,利用模糊規(guī)則對(duì)人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)訓(xùn)練進(jìn)行指導(dǎo),又利用神經(jīng)網(wǎng)絡(luò)的在線自學(xué)習(xí)自適應(yīng)能力來確定模糊規(guī)則中的隸屬度函數(shù)及隸屬度。采用BP算法來在線訓(xùn)練模糊神經(jīng)網(wǎng)絡(luò)的參數(shù),但BP算法存在收斂速度慢,易陷入局部最小值的問題。遺傳算法提供了一種求解復(fù)雜系統(tǒng)優(yōu)化問題的方法,采用多點(diǎn)并行操作機(jī)制尋找全局最優(yōu)解,收斂速度快,能有效克服BP算法的缺陷。
本文采用遺傳算法優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)控制器,將遺傳算法的離線全局尋優(yōu)及BP神經(jīng)網(wǎng)絡(luò)的實(shí)時(shí)學(xué)習(xí)相結(jié)合。用該控制器對(duì)烘干爐溫度模型進(jìn)行了仿真,取得了滿意的結(jié)果。
烘干爐是電機(jī)定子繞組浸漆后的烘干設(shè)備,是一種電加熱裝置,具有自平衡能力的對(duì)象,可用一階系統(tǒng)純滯后環(huán)節(jié)表示烘干爐溫度的數(shù)學(xué)模型。根據(jù)所測(cè)得烘干爐溫度數(shù)據(jù)擬合的曲線,利用飛升曲線法求得被控對(duì)象數(shù)學(xué)模型模型的三個(gè)參數(shù)分別為:被控對(duì)象的時(shí)間常數(shù),純滯后時(shí)間為,靜態(tài)增益約為K=4。這樣最終得出烘干爐溫度的模型見公式(1)。
模糊控制器是模糊控制系統(tǒng)的核心,一個(gè)模糊控制系統(tǒng)的性能優(yōu)劣主要取決于模糊控制器的結(jié)構(gòu)、所采用的模糊規(guī)則、合成推理算法,以及模糊決策的方法等因素。因此,模糊控制器設(shè)計(jì)一般需要三步:首先選取模糊控制器為二維結(jié)構(gòu),即輸入變量為誤差e和誤差的變化量ec,輸出為控制量u,然后將這三個(gè)精確量模糊化;其次構(gòu)造模糊控制規(guī)則表,來確定輸入量與輸出量對(duì)應(yīng)的模糊關(guān)系;最后依據(jù)某一規(guī)則進(jìn)行模糊判決,將輸出的模糊控制量轉(zhuǎn)化為精確值來控制烘干爐溫度。這樣,我們將二維的模糊控制器設(shè)計(jì)成具有四層結(jié)構(gòu)的模糊神經(jīng)網(wǎng)絡(luò)控制器,結(jié)構(gòu)如圖1所示:
圖1 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
第一層為輸入層:該層的各個(gè)結(jié)點(diǎn)直接與輸入變量的各分量連接,它起著將輸入值傳送到下一層的作用,該層的結(jié)點(diǎn)數(shù)共用2個(gè),分別是變量誤差e的模糊量和誤差的變化量ec的模糊量。
第二層為模糊層:該層的每個(gè)節(jié)點(diǎn)代表一個(gè)語言變量值,如NB,PS等。它的作用是計(jì)算各輸入分量屬于各語言變量值模糊集合的隸屬度函數(shù),2個(gè)輸入向量的模糊劃分空間數(shù)目都為7,模糊隸屬函數(shù)都取高斯函數(shù)
式(2)中cij和δij分別是高斯函數(shù)的中心和寬度。該層的結(jié)點(diǎn)數(shù)共用14個(gè)。
第三層為模糊規(guī)則層:該層中每一個(gè)節(jié)點(diǎn)代表一條模糊規(guī)則,根據(jù)輸入樣本模糊空間的劃分確定規(guī)則數(shù)目,E和EC劃分為7個(gè)模糊空間,規(guī)則數(shù)則為49條。規(guī)則層中αi計(jì)算如下所示
第四層為輸出層:該層所實(shí)現(xiàn)的是解模糊化,即將模糊推理結(jié)果轉(zhuǎn)化為精確值的過程,見公式(5)。
上面所給出的模糊神經(jīng)網(wǎng)絡(luò)本質(zhì)上是一種多層前饋網(wǎng)絡(luò),可以用多層前向網(wǎng)絡(luò)BP算法調(diào)整參數(shù)的學(xué)習(xí)。網(wǎng)絡(luò)中,除第四層外,各層的連接權(quán)值均設(shè)定為1。由此可見,該神經(jīng)網(wǎng)絡(luò)的每一層對(duì)應(yīng)于模糊控制器的每一步設(shè)計(jì),清晰地反映了模糊推理的全過程,與常規(guī)神經(jīng)網(wǎng)絡(luò)不同之處是參數(shù)不再是體現(xiàn)于連接權(quán)值而反映在連接點(diǎn)上。
圖1所示模糊神經(jīng)網(wǎng)絡(luò)中學(xué)習(xí)優(yōu)化的參數(shù)包括模糊規(guī)則層到輸出層的連接權(quán)系數(shù) 和模糊層高斯隸屬函數(shù)的中心 和寬度 。這里用混合算法對(duì)模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,首先用遺傳算法對(duì)模糊神經(jīng)網(wǎng)絡(luò)控制器的連接權(quán)系數(shù)和隸屬函數(shù)進(jìn)行離線訓(xùn)練,然后再用BP學(xué)習(xí)算法對(duì)模糊神經(jīng)網(wǎng)絡(luò)控制器的學(xué)習(xí)參數(shù)進(jìn)行進(jìn)一步的在線訓(xùn)練。用遺傳算法優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)控制器系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 遺傳算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)控制器系統(tǒng)結(jié)構(gòu)
遺傳算法將“優(yōu)勝劣汰,適者生存”的生物進(jìn)化原理引入優(yōu)化參數(shù)形成的編碼串聯(lián)群體中,按所選擇的適配值函數(shù)并通過遺傳中的復(fù)制、交叉及變異對(duì)個(gè)體進(jìn)行篩選,使適配值高的個(gè)體被保留下來,組成新的群體,新的群體既繼承了上一代的信息,又優(yōu)于上一代。這樣周而復(fù)始,使群體中個(gè)體適應(yīng)度不斷提高,直到滿足一定的條件。遺傳算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)控制器的流程圖如圖3所示。遺傳算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)參數(shù)的主要步驟如下:
1)編碼和適應(yīng)度函數(shù)的確定
浮點(diǎn)數(shù)編碼方法是指?jìng)€(gè)體的每個(gè)基因值用某一范圍的一個(gè)浮點(diǎn)數(shù)來表示,個(gè)體的編碼長(zhǎng)度等于變量的位數(shù)。浮點(diǎn)數(shù)編碼由于沒有映射誤差,并且省去了編碼和解碼過程占用的時(shí)間,對(duì)于連續(xù)實(shí)數(shù)域內(nèi)的參數(shù)優(yōu)化問題,浮點(diǎn)數(shù)編碼優(yōu)于二進(jìn)制編碼。適應(yīng)度函數(shù)定義為
其中E=(c'-c)2,c'為期望輸出值,c為網(wǎng)絡(luò)實(shí)際輸出值。
2)隨機(jī)聯(lián)賽選擇
隨機(jī)聯(lián)賽選擇是基于個(gè)體適應(yīng)度之間大小關(guān)系的選擇方法。每次選擇時(shí),從群體中隨機(jī)選取2個(gè)個(gè)體進(jìn)行適應(yīng)度大小的比較,將其中適應(yīng)度高的個(gè)體遺傳到下一代群體中。將上述過程重復(fù)M次,就可以得到下一代群體中的M個(gè)個(gè)體。
3)交叉和變異操作
交叉重組是遺傳算法中的一個(gè)主要環(huán)節(jié),交叉操作的作用是組合交叉2個(gè)個(gè)體中有價(jià)值的信息產(chǎn)生新的后代,它在群體進(jìn)化期間大大加快了搜索速度。交叉概率PC越大,新個(gè)體產(chǎn)生的速度就越快,然而PC過大使得具有高適應(yīng)度的個(gè)體結(jié)構(gòu)很快就會(huì)被破壞,PC過小,會(huì)使搜索過程緩慢,以至停滯不前。一般取PC= 0.5 ~ 0.9。
變異操作的作用是保持群體中基因的多樣性,以防止出現(xiàn)未成熟收斂。變異概率Pm過小,不宜產(chǎn)生新的個(gè)體結(jié)構(gòu),Pm取值過大,遺傳算法就成了純粹的隨機(jī)搜索算法。一般取Pm= 0.001 ~ 0.08。
圖3 遺傳算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)控制器的流程圖
模糊神經(jīng)網(wǎng)絡(luò)控制器的輸入是誤差e和誤差變化量ec,它們的模糊子集為{ NB,NM,NS,ZO,PS,PM,PB },這樣模糊神經(jīng)網(wǎng)絡(luò)控制器的結(jié)構(gòu)為2-14-49-1,見圖1。
用遺傳算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)控制器時(shí)學(xué)習(xí)參數(shù)分別為群體規(guī)模M=60,交叉概率PC=0.65,變異概率Pm=0.008,選擇方法為隨機(jī)聯(lián)賽。
BP算法在線學(xué)習(xí)的誤差性能指標(biāo)函數(shù)為:
分別采用傳統(tǒng)PID控制、模糊控制和遺傳算法優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)控制相比較,輸入為階躍函數(shù),響應(yīng)曲線為圖4所示。
圖4 系統(tǒng)仿真響應(yīng)曲線
從圖4中可以看出,PID控制的響應(yīng)速度快,但出現(xiàn)較大的超調(diào);模糊控制無超調(diào)量,但響應(yīng)速度慢;遺傳算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)控制器調(diào)節(jié)時(shí)間短、超調(diào)量小、穩(wěn)態(tài)誤差小等非常理想的性能指標(biāo)。
文中設(shè)計(jì)的遺傳算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)控制器利用了模糊控制,BP神經(jīng)網(wǎng)絡(luò)、遺傳算法各自的優(yōu)點(diǎn),將遺傳算法用于模糊神經(jīng)網(wǎng)絡(luò)參數(shù)的離線全局尋優(yōu),將BP算法用于參數(shù)的實(shí)時(shí)學(xué)習(xí),兩者的有機(jī)結(jié)合克服了單獨(dú)應(yīng)用遺傳算法或BP算法調(diào)節(jié)模糊神經(jīng)網(wǎng)絡(luò)控制器參數(shù)存在的缺陷。仿真結(jié)果表明,用遺傳算法優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)控制器來控制烘干爐的溫度具有更優(yōu)的控制效果。
[1] 劉金琨.先進(jìn)PID控制MATLAB仿真(第二版)[M].北京:電子工業(yè)出版社,2004.
[2] 趙振宇,徐用愚.模糊理論和神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)與應(yīng)用[M].北京:清華大學(xué)出版社,廣西科學(xué)技術(shù)出版社,1996.
[3] 于錫玲,柏葳,王艷秋.基于GA和BP算法復(fù)合調(diào)節(jié)的模糊神經(jīng)網(wǎng)絡(luò)控制器[J].遼寧工學(xué)院學(xué)報(bào),2005,25(2):7-9.
[4] 張鵬,方康玲,鄧華昌.一種基于遺傳算法的模糊控制器研究[J].機(jī)械設(shè)計(jì)與制造,2009,12:18-19.
[5] 師寧,侯國(guó)強(qiáng).基于遺傳算法的模糊神經(jīng)控制器的設(shè)計(jì)與仿真[J].河北:理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,29,(3):69-72.
N945.13
A
1009-0134(2010)11(上)-0212-04
10.3969/j.issn.1009-0134.2010.11(上).68
2010-08-20
北方民族大學(xué)校級(jí)項(xiàng)目“基于遺傳算法的模糊神經(jīng)網(wǎng)絡(luò)控制器的研究”的研究成果 (2007Y030)
馬占有(1979 -),男,寧夏固原人,講師,研究方向?yàn)榍度胧较到y(tǒng)和智能控制。