李雅瓊
(阜陽職業技術學院,安徽 阜陽 236000)
?
基于模糊控制的遺傳算法優化研究
李雅瓊
(阜陽職業技術學院,安徽 阜陽 236000)
模糊控制方法簡單,特別適合不宜建模或動態特性不易掌握的系統.但模糊控制易受人的經驗的影響,且不具有學習能力,有時很難達到預計的控制效果.而遺傳算法具有遺傳特性,與模糊控制結合后能給其帶來學習能力,且遺傳算法本身能進行全局搜索,一般不會陷入局部最優運算,理論上兩者結合后可以達到更好的控制效果.以倒立擺模型為例,matlab仿真結果證明了兩者結合的可行性,且結合后能更快地得到最優解.
模糊控制;遺傳算法;matlab仿真;倒立擺
在現今的工業控制中,智能控制已經成為一種趨勢,各學科各領域的理論、規律及算法等也被采用,像神經網絡、遺傳算法、蟻群算法、模糊控制、專家系統等都被引入到智能控制中來.從各專家學者的研究中,可以知道各種智能控制都有一定的優缺點.而且隨著控制精度等要求的提高,單純的某一種智能控制方法已不能滿足工業控制的需要,因而使得各控制方法之間的融合有了必要性.本文主要研究在模糊控制的基礎上用遺傳算法進行優化,并以倒立擺模型為例進行matlab仿真,來證明其可行性.
模糊控制(Fuzzy Control)隸屬智能控制,是自動控制領域一個重要的分支,是一種以模糊集合論、模糊語言變量和模糊邏輯推理為基礎的計算機數字控制技術.1965年,美國的Zadeh創立了模糊集合論;隨后,1973年又定義了模糊邏輯控制并給出了相關的定理.在Zadeh的基礎上,1974年,英國的Mamdani第一次嘗試把模糊控制語句組成模糊控制器,并將其用于實踐:控制蒸汽機和鍋爐.由此,標志著模糊控制理論的誕生[1].在家電、自動化及其他行業[2],模糊控制解決了很多傳統控制方法無法解決的問題,且取得了很多良好成效,因而對模糊控制的研究及改進具有著十分重要的現實意義.
模糊控制是具有一定規則的專家系統,系統中儲存的有人的經驗、常識,通過一定的算法建模,將一定的輸入經過模擬的人的思維和推理判斷后輸出,從而實現智能控制.
模糊控制的原理如圖1.模糊控制系統包括三個核心環節,即模糊化、模糊邏輯決策和去模糊化(清晰化),其中的模糊化一般用隸屬度函數來實現[3].

圖1 模糊控制原理
模糊控制具有以下特點:
(1)模糊控制無須建立精確的數學模型,依靠系統中存有豐富的常識和專家經驗或現場操作人員的知識和應驗即可控制,因而簡單通俗易懂,且在實際應用中能方便有效快捷地使用人的控制策略和經驗.
(2)模糊控制可以在很多控制規則之間進行模糊鏈接,能取得比常規控制器更優的控制效果.
(3)模糊控制取自專家的經驗和知識,并且模擬人的思維,因而具有相當的智能.
(4)使用模糊控制的系統,魯棒性強,抗干擾性強.
(5)模糊控制中專家的經驗和知識很難充分利用,使得系統的自適應能力也是有限的;而且經驗具有一定的主觀性,并非經過嚴格的計算,因而模糊控制的精度不高.
鑒于這些特點,模糊控制的適用范圍如下:1)很難建模、變化不顯著或不易掌握動態特性的對象;2)時變、非線性和滯后系統.
遺傳算法(Genetic Algorithm)是由美國的Holland教授在1975年他的論文“自然系統和人工系統的適配”首次提出[4],它源于達爾文的進化論,并受孟德爾遺傳學的啟發得出,基本思想是模擬遺傳機制和物種進化,在其后代種群中尋求最后解.
從生物遺傳學的角度,后代從他們的親代那繼承各種特性,適應性好的后代存活下來,并將特性好的基因遺傳給下一代,在遺傳過程中會發生變異,會更加適應環境;而經過了優勝劣汰后具備了優良遺傳基因的種群也更加適應了環境[5].而遺傳算法正是受此思想的啟發,將尋求問題最優解的過程模擬成尋找遺傳進化中具有最優基因最適應環境的個體的過程.
在用遺傳算法解決問題時,先進行問題最優化求解的描述,接著將問題中的各參數指標進行編碼(即將各表現特性對應成各基因,將求解空間對應成個體種群到編碼空間),每個編碼即對應成問題的一個解,對應著生物學中的單個個體或者染色體.對第一代群體進行編碼后即形成初始種群,之后按照遺傳、適者生存和優勝劣汰的原則,逐步形成越來越好,越來越適應環境的個體,越來越接近最優的解.而在每一代個體中,還要對個體進行適應度的計算,選擇適應度好的個體(即基因好的個體),他們再按照遺傳學的規律進行組合交叉、變異,形成適應度更好的個體.這樣模擬一代代遺傳,形成一代比一代好的種群,最終在末代種群中存在的最優個體就可以近似地當作問題的最優解.圖2是遺傳算法解決問題的流程圖[6].

圖2 遺傳算法流程圖
遺傳是在整個種群中進行的,因此遺傳算法可全局搜索最優解,并具有以下特點:(1)全局并行搜索,有好的運行效率[7];(2)無需精確的目標函數表達式;(3)魯棒性好,可信度高;(4)簡單方便,適用范圍廣,在函數優化、圖像處理、自動控制、調度問題、社會與經濟、人工智能與科學計算等領域都有應用.而且隨著應用增多,很多專家學者不斷地深入研究,與其他算法、人工智能、兩字理論等相結合,改進原有遺傳算法的缺陷,對遺傳算法進行優化,解決了諸如收斂速度慢、早熟等問題.
3.1模糊控制和遺傳算法結合的必要性
通過前面兩部分的介紹,我們對模糊控制和遺傳算法有了簡單的了解.盡管兩者都有各自的優勢,但是也有一些缺點.
模糊控制的缺點:(1)無法主動獲取知識,尤其當控制對象復雜時,不僅計算量大而且很難控制;(2)依賴于專家的知識經驗能力,表現出來的性能參差不齊,無統一的標準,學習能力和適應環境的能力都較差.
遺傳算法的缺點:(1)易出現早熟,即算法收斂過早;(2)用遺傳算法時,需要進行編碼,但編碼方式不唯一,這會導致可能的編碼方式選擇不甚合理以及表現不確定;(3)需要進行計算機編程以及人為改動控制;(4)算法后期,收斂到最優解的速度變慢;(5)在精度方面,沒有權威的定量分析方法,沒有現成的理論依據,需要人為多次實驗總結摸索.
模糊控制和遺傳算法各有缺點,但是如果將兩者結合起來,就能使其優點得到發揚,不足得到改進.如模糊控制無法主動獲取知識,正好遺傳算法具有父代向子代遺傳基因的特點,這樣只要兩者結合就可以給模糊控制獲取知識的能力;而將模糊控制用于遺傳算法,也可改善遺傳算法早熟的問題,進而可以使兩種算法得到優化,能更有效率的尋求問題的最優解.
3.2遺傳算法對模糊控制的改進方法
首先針對圖1中虛線部分的模糊控制器,在設計時,定義誤差E、誤差變化△E、輸出U的模糊語言變量為:負大、負中、負小、零、正小、正中、正大.
這三者的模糊論域為:{ -3, -2, -1, 0, 1, 2, 3 },其隸屬度函數為三角形隸屬函數,隸屬函數曲線見圖3.

圖3 隸屬函數曲線
由圖3可得出三個模糊變量的隸屬度賦值表(表1):

表1 模糊變量的賦值表
根據經驗,確定模糊規則如下[8]
if Eiand △Eithen Uij﹐1≦ i ≤ 4 , 1 < j ≦4
最終得出輸出控制量為[9]
下面用遺傳算法對上述的模糊控制進行優化.因為誤差E和誤差變化△E各7個語言變量能組成49個規則,而輸出U所對應的[-3,3]之間的7個數需要3位二進制數來表示,所以將E、△E組成的49個規則下各取一個與U組合在一起即產生一個147位的3位二進制數,這個個體我們稱為原始個體,它表示總的規則集合.
按照上面原始個體的產生方法,隨機生成M個個體,并將這M個個體當成遺傳算法中的第0代種群,讓他們進行自由復制、雜交、變異.適應度高的個體產生的后代中會產生適應度更高更適應環境的個體,如此一代代進行下去,最終能得到滿足條件的最優個體,即為待解決問題的最優解.此過程需要介紹四個內容:
(1)適應度
個體的適應度函數可表示如下

e(x)=y(x)-y′,y為輸出,y′為期望輸出.
(2)復制
計算出每個個體被選中的概率p為

將每個個體按適應度從高到低進行排序,復制排序前1/3的個體各2份,中間1/3的各一份.
(3)雜交
雜交是隨機進行的,這個隨機不僅指雜交的個體可以隨機,同時個體雜交時的雜交點也可以隨機.假設種群中的個體i,j兩個體進行雜交,若它們分別用二進制i(a1,a2…a147),j(b1,b2…b147)表示,雜交點發生在最后一個點,則雜交后的個體則是i(a1,a2…b147),j(b1,b2…a147).
(4)變異
變異也是隨機的,當然有好的也有壞的,好的變異會使適應度增加,壞的變異則會使適應度減小.適應度小的可能會被淘汰.
若個體i(a1,a2…a147)發生變異,假設變異點發生在左邊數第一個,則變異后的個體i變成i(a1′,a2…a147).
這里用倒立擺的仿真來證明用遺傳算法優化模糊控制的優越性.圖4是倒立擺的圖形,倒立擺模型是一個典型的自動控制模型,常被用來做教學和科學研究.倒立擺系統屬于非線性系統,具有不穩定、響應快、變量多的特點[10].

圖4 倒立擺模型
對于圖4中的倒立擺模型,先給出相關參數.設桿子的質量為m,小車的質量為M,作用與小車的力為F,桿與垂直方向的夾角為θ,擺桿的角速度為α,小車位置為x,小車摩擦系數為b,擺桿的慣量為I,則得出倒立擺系統方程為

再結合小車的受力分析,拉普拉斯變換等整理后得到傳遞函數[11]:
上式中,q=[(M+m)(I+ml2)-(ml)2].

仿真時模糊控制隸屬函數采用的是三角形隸屬函數,且設m=0.2kg,M=1.5kg,l=0.5m, F=50N,I=ml2/3,g=9.8m/s2,雜交率和變異率分別取0.8和0.06.
經過matlab仿真后的波形圖見圖5和圖6.
圖5是算法優化前后擺角控制波形圖.上面紅色顯示的角度較大的波形是僅用模糊控制仿真得到的,經過藍色指令即遺傳算法優化后得到黃色的波形圖.很明顯,經過遺傳算法優化后,角度控制效果有明顯改善,且收斂也快.
圖6是經過遺傳算法優化,迭代50次的角度和迭代次數波形圖,波形圖顯示隨著迭代次數的增加,擺角逐漸減小,最終能得到一個符合要求的結果.

圖5 算法優化前后擺角控制波形圖

圖6 遺傳算法迭代中角度波形
本文主要通過對模糊控制用遺傳算法來優化,使系統具有了一定的學習能力,從而達到提高控制效果的目的.在具體仿真過程選用倒立擺這種常見模型,模糊控制采用三角形隸屬函數,然后再結合遺傳算法進行編碼、遺傳、雜交、變異等,進行matlab仿真.從仿真后的波形可以看出,經過遺傳算法優化后,倒立擺的角度控制能更快地達到一定的擺角.因此我們可以得出結論:經過遺傳算法優化過的模糊控制具備學習能力,且能加快收斂,改善控制.
[1]蔚東曉,賈霞彥.模糊控制的現狀與發展[J].自動化與儀器儀表, 2006,(6):4-7.
[2]葛新成,胡永霞.模糊控制的現狀與發展概述[J].現代防御技術,2008,(3):51-55.
[3]馬長華,于世海,朱偉興.基于遺傳算法的模糊控制規則化的研究[J].江蘇大學學報:自然科學版, 2003,(4):69-73.
[4]邊霞,米良. 遺傳算法理論及其應用研究進展[J]. 計算機應用研究,2010,(7):2429-2429.
[5]崔珊珊. 遺傳算法的一些改進及其應用[D].合肥:中國科學技術大學碩士學位論文,2010.
[6]吳宇軒. 遺傳模糊控制及其在優化控制中的應用研究[D].大慶:東北石油大學碩士學位論文, 2013.
[7]馬永杰,云文霞. 遺傳算法研究進展[J]. 計算機應用研究,2012,(4):1201-1206.
[8]王學惠,田成方.微機模糊控制理論及其應用[M].北京:航空工業出版社,1987.
[9]胡寧,王東云,趙東標,等. 關于遺傳算法模糊控制的研究[J].南京航空航天大學學報,2009,(5):544-548.
[10]孟巍.遺傳算法在倒立擺模糊控制系統中的應用研究[D].合肥:合肥工業大學碩士學位論文,2007.
[11]固高科技有限公司.倒立擺與自動控制原理實驗[M]. 深圳:固高科技有限公司,2005.
(責任編校:晴川)
Research of Genetic Algorithm Based on Fuzzy Control
LI Yaqiong
(Fuyang Vocational and Technical College, Fuyang Anhui 236000, China)
Fuzzy control is a simple intelligent control method. This method is especially suitable for the system that is difficult to be modeled or to be mastered in dynamic characteristics. However, fuzzy control is easily influenced by people’s experience, and does not have the ability to learn, so sometimes it is hard to reach the expected control effect. On the contrary, genetic algorithm which can perform a global research and will not get into local optimal operation has the hereditary capacity. So, genetic algorithm can bring fuzzy control learning ability and better control effect. Based on the model of inverted pendulum, the matlab simulation results prove the feasibility of the combination between fuzzy control and genetic algorithm. The combination of fuzzy and genetic algorithm can get the optimal solution more quickly.
fuzzy control; genetic algorithm; Matlab simulation; inverted pendulum
2016-08-20
阜陽職業技術學院校級科研項目(批準號:2014KYXM07);省級質量工程機電一體化技術教學團隊項目(批準號:2014jxtd058).
李雅瓊(1986— ),女,安徽阜陽人,阜陽職業技術學院講師,碩士.研究方向:機電一體化.
TP18;TP273
A
1008-4681(2016)05-0058-04