楊璽
(蘭州交通大學(xué)自動(dòng)化與電氣工程學(xué)院,甘肅蘭州730070)
隨著模糊控制在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,模糊控制器的優(yōu)化也越來越引起廣泛關(guān)注。模糊控制系統(tǒng)性能很大程度上取決于模糊控制規(guī)則的優(yōu)劣,合理地選擇模糊控制規(guī)則集是模糊控制器在設(shè)計(jì)中的重要問題[1、2]。文獻(xiàn)[3]提出了一種基于SAGACIA的混合隨機(jī)優(yōu)化方法優(yōu)化模糊控制規(guī)則,該優(yōu)化方法給出了影響搜索的目標(biāo)函數(shù)來組織搜索,不需要編碼解碼。但是該優(yōu)化方法存在盲目性搜索,會(huì)接受一些使性能變差的解的個(gè)體。對于常用的二維模糊控制器,優(yōu)化算法的運(yùn)行時(shí)間比較長。文獻(xiàn)[4]介紹了遺傳算法在模糊控制優(yōu)化中實(shí)現(xiàn)的原理和方法,并結(jié)合氣調(diào)溫度模糊控制規(guī)則進(jìn)行編碼。本文提出了一種用遺傳算法來優(yōu)化模糊控制規(guī)則表,在遺傳算法的編碼方式上采用四位二進(jìn)制編碼,具體給出了遺傳算法設(shè)計(jì)中的目標(biāo)函數(shù)和遺傳算子,并進(jìn)行仿真實(shí)驗(yàn)優(yōu)化出模糊控制規(guī)則表,為模糊控制器的設(shè)計(jì)提供了一個(gè)更加方便、有效的方法。仿真結(jié)果表明,系統(tǒng)的輸出響應(yīng)較好地達(dá)到控制要求,并證明該方法的可行性和有效性。
目前工業(yè)過程控制中常用的模糊控制器屬于雙輸入單輸出的結(jié)構(gòu)模式,其中e、ec和u分別為輸入、輸出變量[5]。考慮到輸入、輸出變量的正、負(fù)性,同時(shí)既要使制定的控制規(guī)則靈活、細(xì)致,又要兼顧其簡單和易行的要求,將誤差E、誤差變化EC和控制量 U的模糊集論域設(shè)為 {-4,-3,-2,-1,0,1,2,3,4},共 9 檔。在模糊控制規(guī)則表的優(yōu)化中,規(guī)則的輸入為誤差(E)和誤差變化率(EC),輸出為控制量(U)。規(guī)則表的優(yōu)化就是對于每種誤差、誤差變化率量化值組合的控制量的優(yōu)化,實(shí)際上就是優(yōu)化輸出控制量的量化值。模糊控制規(guī)則表如表1所示。
表1 模糊控制規(guī)則表
遺傳算法簡稱 GA(Genetic Algorithms),是1975年由美國的Holland提出的一種模擬生物進(jìn)化過程的最優(yōu)化方法。它將“優(yōu)勝劣汰,適者生存”的生物進(jìn)化原理引入優(yōu)化參數(shù)形成的編碼串群體中,根據(jù)所選擇的適配值函數(shù)并通過遺傳中的復(fù)制、交叉及變異對各個(gè)體進(jìn)行篩選,使適應(yīng)度高的個(gè)體被保留下來,組成新的群體,新的群體既繼承了上一代的信息,又優(yōu)于上一代[6]。這樣周而復(fù)始,群體中的各個(gè)體適應(yīng)度不斷提高,直至滿足一定的要求。其算法簡單,可并行處理,能得到全局最優(yōu)解。遺傳算法流程如圖1所示。
圖1 遺傳算法流程圖
遺傳算法優(yōu)化模糊控制規(guī)則要解決的首要問題就是規(guī)則編碼問題,采用四位二進(jìn)制編碼方法,即將控制規(guī)則表的輸出語言變量的量化值-4、-3、-2、-1、0、1、2、3、4 分別編碼成 1100、1011、1010、1001、0000、0001、0010、0011、0100;其中第一位表示符號(hào)位,0代表正,1代表負(fù),后三位表示十進(jìn)制數(shù)到二進(jìn)制數(shù)的轉(zhuǎn)換,為一一對應(yīng)關(guān)系。如表1所示的81條規(guī)則的編碼依次為0100 0011 0011 0010 0010 0011…1010 1011 1011 1100。將這些編碼串聯(lián)成一條染色體。該染色體作為遺傳算法的操作對象。通過遺傳操作獲得最優(yōu)的“染色體”,將其復(fù)原成為原參數(shù)空間的值,這就是解碼操作。解碼與編碼是互逆操作。然后是確定遺傳參數(shù),遺傳參數(shù)的選擇對遺傳算法的運(yùn)行性能有很大影響,主要包括:變異概率、交叉概率、最大世代數(shù)、染色體長度、種群大小。最后是適應(yīng)度函數(shù)的確定,遺傳算法所使用的適應(yīng)度是指在優(yōu)化計(jì)算群體中各個(gè)個(gè)體有可能達(dá)到或接近于最優(yōu)解的優(yōu)良程度。群體的進(jìn)化就是以群體中各個(gè)個(gè)體的適應(yīng)度為依據(jù),通過反復(fù)過程,不斷地尋找出適應(yīng)度較大的個(gè)體,最終得到問題的最優(yōu)解或次優(yōu)解。采用下式作為參數(shù)選取的最優(yōu)指標(biāo)[7],即:
式中:e(t)為系統(tǒng)誤差;u(t)為控制器輸出;tu為上升時(shí)間;ω1,ω2,ω3為權(quán)值。
取適應(yīng)度函數(shù)為:
然而生物的進(jìn)化是通過遺傳算子操作實(shí)現(xiàn)的,因此遺傳算子在遺傳算法中起著極其重要的作用。根據(jù)優(yōu)化設(shè)計(jì)要求,設(shè)計(jì)模糊控制規(guī)則優(yōu)化過程中的各個(gè)遺傳算子,包括:選擇算子、交叉算子和變異算子。選擇算子是遺傳算法用來對群體中的個(gè)體進(jìn)行優(yōu)勝劣汰的操作,在此選用的選擇算子是適應(yīng)度比例選擇法。適應(yīng)度比例選擇法就是各個(gè)個(gè)體被選擇的概率與其適應(yīng)度成正比,即:
其中:N為群體規(guī)模;fi為群體中第i個(gè)個(gè)體的適應(yīng)度;Psi為第i個(gè)個(gè)體被選擇的概率。在用遺傳算法優(yōu)化種群的過程中,隨著群體的進(jìn)化會(huì)產(chǎn)生越來越多的優(yōu)良個(gè)體,但由于遺傳操作的隨機(jī)性,很可能使當(dāng)前群體中適應(yīng)度最高的個(gè)體遭到破壞。一般認(rèn)為,帶有選擇、交叉、變異算子的標(biāo)準(zhǔn)遺傳算法是不收斂的,而在標(biāo)準(zhǔn)遺傳算法基礎(chǔ)上具有最優(yōu)保留特性的改進(jìn)遺傳算法則全局收斂。通過最優(yōu)保留策略將保留進(jìn)化群體中所發(fā)現(xiàn)的最優(yōu)個(gè)體。交叉算子是指兩個(gè)相互配對的染色體按某種方法相互交換其部分基因,從而形成兩個(gè)新的個(gè)體。交叉算子是遺傳算法區(qū)別于其它進(jìn)化方法的重要特征,它在遺傳算法中起著關(guān)鍵作用,是產(chǎn)生新個(gè)體的主要方法,它決定了遺傳算法的全局搜索能力。對交叉算子的設(shè)計(jì)是根據(jù)規(guī)則染色體的編碼特點(diǎn),通過調(diào)用隨機(jī)數(shù)發(fā)生函數(shù)在控制基因?qū)?yīng)的編碼位上產(chǎn)生一個(gè)交叉位置,在規(guī)則基因的每條規(guī)則表示位上分別產(chǎn)生一個(gè)交叉位置,并將交叉位置分別存入一個(gè)特定的數(shù)組中,然后根據(jù)這些隨機(jī)產(chǎn)生的交叉位置將配對的染色體進(jìn)行交叉操作(同時(shí)進(jìn)行變異操作),具體的基因交叉方法為交叉點(diǎn)前的部分染色體只實(shí)現(xiàn)變異操作,交叉點(diǎn)后的部分染色體互相交換并實(shí)現(xiàn)變異操作。
父個(gè)體A:00110010 10111010…0100
父個(gè)體B:11001010 01000011…0011
隨機(jī)產(chǎn)生交叉的位置為4,則交叉后的子個(gè)體為:
子個(gè)體A1:00111010 01000011…0011
子個(gè)體B1:11000010 10111010…0100
變異算子是指將染色體串中某些基因座上的基因用該基因座的其它等位基因代替,從而形成新的個(gè)體。因此變異算子就是把基因值取反,即1變?yōu)?,0變?yōu)?。
通過變異操作提高了遺傳算法的局部搜索能力,同時(shí)維持了群體的多樣性,防止出現(xiàn)未成熟收斂的現(xiàn)象。
在遺傳算法優(yōu)化模糊控制規(guī)則的過程中,存在著局部搜索能力差和未成熟收斂的問題,即規(guī)則染色體優(yōu)化幾代之后,其當(dāng)前最優(yōu)個(gè)體的適應(yīng)度就會(huì)基本保持不變,直到優(yōu)化過程結(jié)束。為了提高遺傳算法的收斂性能,采用自適應(yīng)的交叉、變異算子。采用的方法是:在遺傳算法優(yōu)化控制規(guī)則中,比較本次及相連的前兩次的最優(yōu)個(gè)體的適應(yīng)度,如果它們相等,則在保留當(dāng)前最優(yōu)個(gè)體的前提下,將交叉概率減去a,變異概率加上a,即pc=pca,pm=pm+a。通過這種適當(dāng)增大變異概率而減小交叉概率的方法,可以提高遺傳算法的局部收斂能力,避免出現(xiàn)未成熟收斂的現(xiàn)象。
被控對象的數(shù)學(xué)模型為二階傳遞函數(shù):
輸入為階躍信號(hào),采樣時(shí)間為1ms。如圖2所示為適應(yīng)度函數(shù)優(yōu)化過程圖,如圖3所示為模糊控制器優(yōu)化結(jié)果。
圖2 適應(yīng)度函數(shù)優(yōu)化過程
圖3 模糊控制器優(yōu)化結(jié)果
從圖2中可以看出,當(dāng)遺傳代數(shù)在35代左右時(shí),適應(yīng)度函數(shù)達(dá)到最大并趨于穩(wěn)定。給定輸入為階躍信號(hào)時(shí),輸出響應(yīng)達(dá)到了控制要求,并優(yōu)化出比較理想的模糊控制規(guī)則表。優(yōu)化后的模糊控制規(guī)則表如表2所示。
表2 優(yōu)化后的模糊控制規(guī)則表
從以上仿真實(shí)驗(yàn)的結(jié)果中可以看出,在模糊控制中采用遺傳算法優(yōu)化模糊控制規(guī)則表,可得到最優(yōu)的規(guī)則表,使建立的規(guī)則表更為科學(xué),輸出響應(yīng)較好的跟蹤輸入信號(hào)。證明了該優(yōu)化方法是可行的,并達(dá)到了較好的控制效果。
[1] 張景元.模糊控制規(guī)則優(yōu)化方法研究[J] .計(jì)算機(jī)工程與設(shè)計(jì),2005,26(11):2917-2919.
[2] PalT,PalN R.Learning Fuzzy Rules for Controller with Genetic Algorithms[J] .International Journal of Intelligent Systems,2003,(18):569-592.
[3] 曹秀爽,李 兵.基于SAGACIA優(yōu)化方法的模糊控制規(guī)則優(yōu)化及其MATLAB實(shí)現(xiàn)[J] .河北理工學(xué)院學(xué)報(bào),2007,29(1):72-74.
[4] 周小英等.遺傳算法在模糊控制規(guī)則優(yōu)化中的實(shí)現(xiàn)[J] .電子科技大學(xué)學(xué)報(bào),2000,29(2):162-165.
[5] 董海鷹.智能控制理論及應(yīng)用[M] .北京:中國鐵道出版社,2006.
[6] 王小平,曹立明等.遺傳算法理論、應(yīng)用與軟件實(shí)現(xiàn)[M] .西安:安交通大學(xué)出版社,2002.
[7] 劉金錕.先進(jìn)PID控制-Matlab仿真[M] .北京:電子工業(yè)出版社,2004.