《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于非線性控制系統(tǒng)優(yōu)化的遺傳算法研究

基于非線性控制系統(tǒng)優(yōu)化的遺傳算法研究

2009-02-17
作者:甘俊英1 張有為2

  摘 要: 針對非線性控制系統(tǒng)參數(shù)優(yōu)化問題,結(jié)合非線性控制系統(tǒng)理論、最優(yōu)化理論及遺傳算法,提出了一種新的仿真優(yōu)化方法,該方法利用遺傳算法來求解非線性控制系統(tǒng)參數(shù)優(yōu)化問題。
  關(guān)鍵詞: 遺傳算法 參數(shù)優(yōu)化方法 非線性控制系統(tǒng)


  控制系統(tǒng)參數(shù)優(yōu)化方法已有許多文獻作了論述[1][2][3],
  這些方法大多是基于估計目標函數(shù)對優(yōu)化變量的梯度信息進行優(yōu)化。而對非線性控制系統(tǒng)參數(shù)優(yōu)化問題,由于控制系統(tǒng)具有非線性特性,基于估計目標函數(shù)對優(yōu)化變量的梯度信息進行優(yōu)化的方法就顯得無能為力了。
  遺傳算法是最新興起的智能計算技術(shù),是一種借鑒生物界自然選擇和自然遺傳機制的高度并行、隨機自適應(yīng)搜索算法,具有能快速有效地搜索復(fù)雜、高度非線性的多維空間的特點,通過反復(fù)迭代,最終能夠找到全局最優(yōu)。由于遺傳算法是在解空間的多個區(qū)域內(nèi)進行搜索,能以較大的概率跳出局部最優(yōu),因此可找到整體最優(yōu)解。仿真結(jié)果表明,該方法是一種有效的方法。它主要用于處理最優(yōu)化問題和機器學(xué)習(xí)。隱含并行性和有效利用全局信息是遺傳算法的兩大顯著特點,前者使遺傳算法只須檢測少量的結(jié)構(gòu)就能反映搜索空間的大量區(qū)域;后者使遺傳算法具有穩(wěn)健性。遺傳算法尤其適于處理傳統(tǒng)搜索方法解決不了的復(fù)雜的非線性問題。
  本文提出的仿真優(yōu)化方法采用了實數(shù)編碼方案,確定了適應(yīng)值函數(shù)的度量,選擇了群體規(guī)模、代數(shù)、遺傳算子及其概率參數(shù)、停止準則等控制參數(shù)初始值,并給出了仿真實例。結(jié)果表明,該方法是一種有效的非線性控制系統(tǒng)參數(shù)優(yōu)化方法。
1 問題的描述
1.1 函數(shù)優(yōu)化問題的描述

  函數(shù)優(yōu)化問題可以描述為:
  

  這里SRn稱為搜索空間,f:S→R稱為目標函數(shù),(1)式描述的優(yōu)化問題稱為極大化問題,(2)式描述的稱為極小化問題。
  定義1 對最優(yōu)化問題(1)式,設(shè)x·∈S,若存在δ>0,使得當x∈S∩{x:‖x-x·‖<δ}時有:
  f(x·)≥f(x)      (3)
  則稱x·是f在S上的一個局部最優(yōu)點,解f(x·)稱為一個局部最優(yōu)值。若(3)式中的嚴格不等式成立,則x·和f(x·)分別稱為嚴格局部最優(yōu)點和嚴格局部最優(yōu)值。
  定義2 對最優(yōu)化問題(1)式,設(shè)x·∈S,若存在δ>0,使得對任意x·∈S都有:
  f(x·)≥f(x)      (4)
  則稱x·是f在S上的一個全局極大點或整體最優(yōu)點,f(x·)稱為整體最優(yōu)值。若(4)式中的嚴格不等式成立,則x·和f(x·)分別稱為嚴格整體最優(yōu)點和嚴格整體最優(yōu)值。
1.2 遺傳算法的描述
  遺傳算法是從任一初始化的群體出發(fā),通過隨機選擇、雜交和變異等遺傳操作,使群體一代一代地進化到搜索空間中越來越好的區(qū)域,直至抵達最優(yōu)解點,即高適應(yīng)值點。該算法可表述為:
  Ωk=Uk∪Vk
  Uk={I1,I2…,IM}
  Vk={IM+1,IM+2…,IN}
  Ec:Ii→Si
  Dc:Si→Ii
  Fi=ff(Ii) 1≤i≤N
其中:Ωk——第k代群體;
   Uk——第k代群體中的父代;
   Vk——第k代群體中的子代;
   Ik——第k代群體中的每個個體;
   Ec——編碼算子;
   Dc——譯碼算子;
   Si——個體Ii被編碼后的碼串a(chǎn)1a2…a1
   ff——適應(yīng)值函數(shù)。
  遺傳操作的隨機選擇可描述為:
  
  表示適應(yīng)值越大的個體進入子代且機會越多,執(zhí)行選擇的概率就越高。
  遺傳操作的雜交可描述為:
  
  如果隨機實數(shù)小于雜交率Pc,則執(zhí)行雜交,否則執(zhí)行復(fù)制。
  遺傳操作的變異可描述為:

  ?? ELSE NULL

 如果隨機實數(shù)小于變異率Pm,則產(chǎn)生一隨機整數(shù)r,并在第r位執(zhí)行變異。
2 基于非線性控制系統(tǒng)優(yōu)化的遺傳算法
  非線性控制系統(tǒng)參數(shù)優(yōu)化問題屬于非線性優(yōu)化問題。對于非線性優(yōu)化問題,只有在函數(shù)性質(zhì)比較好(可微、駐點能解析地計算等)的情況下,才能獲得滿意的結(jié)果。對于復(fù)雜的函數(shù)優(yōu)化問題,一般只能采用基于迭代原理的數(shù)值解法,但這些解法通常難以找到全局最優(yōu)解,而且仍然要對求解函數(shù)的性質(zhì)作諸多的限制。而遺傳算法在解決這類問題時通常能發(fā)揮它的優(yōu)勢。
  當遺傳算法用于求解非線性控制系統(tǒng)參數(shù)優(yōu)化問題時,需要解決兩個問題:非線性控制系統(tǒng)的模型仿真和遺傳算法的設(shè)計。兩者聯(lián)系的紐帶是目標函數(shù)的獲取以及目標函數(shù)轉(zhuǎn)換成適應(yīng)值函數(shù)。在非線性控制系統(tǒng)參數(shù)優(yōu)化方法中,目標函數(shù)可采用多種定義,如誤差平方積分、時間乘誤差平方積分、誤差絕對值積分及加權(quán)二次型性能指標等,它取決于非線性控制系統(tǒng)的誤差。非線性控制系統(tǒng)參數(shù)優(yōu)化的前提是希望產(chǎn)生的誤差最小,求解目標很自然地被表示成某個目標函數(shù)f(x)的極小化,而不是某個適應(yīng)值函數(shù)F(x)的極大化。因此,常常需要通過一次或多次變換把目標函數(shù)f(x)轉(zhuǎn)化為適應(yīng)值函數(shù)F(x)。目前經(jīng)常用到的適應(yīng)值函數(shù)變換方法有:線性比例變換、冪比例變換、指數(shù)比例變換及引入某一比例參數(shù)等。一旦獲得了適應(yīng)值函數(shù),即可進行遺傳操作,所以,非線性控制系統(tǒng)的模型仿真是不能獨立于遺傳算法的設(shè)計的,兩者應(yīng)統(tǒng)一起來考慮。其程序流程圖如圖1所示。


  首先隨機生成一初始群體,并確定編碼方案及遺傳算法初始化參數(shù);接著對群體中的個體進行譯碼,該譯碼值即為非線性控制系統(tǒng)的尋優(yōu)參數(shù),這樣就可對非線性控制系統(tǒng)進行動態(tài)仿真,獲得誤差目標函數(shù);再通過一函數(shù)變換,目標函數(shù)即可轉(zhuǎn)化成適應(yīng)值函數(shù);最后根據(jù)適應(yīng)值的大小,執(zhí)行選擇、雜交和變異等遺傳操作,直到滿足終止條件為止。
  對于非線性控制系統(tǒng)的模型仿真,本文采用的是MATLAB的SIMULINK軟件,由于尋優(yōu)參數(shù)是變量,因此對不同的問題要設(shè)計不同的S函數(shù),可參閱文獻[4][5][6]。對于遺傳算法的設(shè)計,需要考慮下面幾方面的問題:
  (1)確定編碼方案:編碼方案的選擇對算法的性能、效率等產(chǎn)生很大的影響。遺傳算法在求解高維或復(fù)雜問題時常常使用實數(shù)編碼。實數(shù)編碼表示比較自然,而且較易引入非線性控制系統(tǒng)領(lǐng)域內(nèi)的知識。搜索空間S上的每個點x可表示為一個n維實向量,其中n表示遺傳算法優(yōu)化參數(shù)的個數(shù)。
  (2)控制參數(shù)初始化的確定:選擇一個整數(shù)M作為群體規(guī)模的參數(shù),然后從S上隨機地選取M個點x(i,0),i=1…,M,這些點組成初始群體P(0)={x(1,0),…,x(M,0)}。群體規(guī)模影響遺傳算法的最終性能和效率。群體規(guī)模的經(jīng)驗取值一般為M=20~100。
  雜交概率是控制雜交算子的應(yīng)用頻率,雜交率越高,群體中串的更新就越快,這樣高性能的串被破壞得也就越快;而雜交率過低,搜索可能會停滯不前。雜交率的經(jīng)驗取值一般為pc=0.60~0.95。變異是增加群體的多樣性,變異概率經(jīng)驗取值一般為pm=0.001~0.01。
  (3)確定適應(yīng)值函數(shù):適應(yīng)值用來區(qū)分群體中個體的好壞,適應(yīng)值越大的個體性能越好,反之,適應(yīng)值越小的個體性能越差。遺傳算法正是基于適應(yīng)值對個體進行選擇,以保證適應(yīng)值好的個體有機會在下一代中產(chǎn)生更多的子個體。
  設(shè)f(x)為非線性控制系統(tǒng)的目標函數(shù),Cmax為其最大值,則適應(yīng)值函數(shù)F(x)可表示為:
  
  其中,x∈SRn,f(x)為一泛函,表示控制系統(tǒng)誤差函數(shù)的函數(shù)。
  (4)確定選擇策略:優(yōu)勝劣汰的選擇機制使得適應(yīng)值大的解有較高的存活概率,這是遺傳算法與一般搜索算法的主要區(qū)別之一。對每個個體x(i,k),其生存概率為:
  

  其中k表示代數(shù),則每個個體的繁殖量為Ni=round(pik·N),其中round(x)表示與x距離最小的整數(shù)。顯然,個體x(i,k)的生存概率pik越大,繁殖量Ni也越大,進行交配的機會也就越多。
  (5)設(shè)計遺傳算子:遺傳算子包括繁殖算子、雜交算子和變異算子。雜交算子是模擬生物界的有性繁殖,它的引入是遺傳算法區(qū)別于其它所有優(yōu)化算法的根本所在,同時也是遺傳算法中最重要的部分。變異算子可視為與繁殖算子或雜交算子一起連續(xù)發(fā)生的操作,故一個給定個體可以在一代內(nèi)進行繁殖和變異,或進行雜交和變異。
  在非線性控制系統(tǒng)參數(shù)優(yōu)化中,由于采用了實數(shù)編碼方案,設(shè)計遺傳算子時就應(yīng)以實數(shù)編碼方案為前提。在實數(shù)編碼時,雜交算子有離散雜交和算術(shù)雜交兩種方式,本文采用離散雜交方式。在實數(shù)編碼時,變異算子有均勻性變異、正態(tài)性變異、非一致性變異、自適應(yīng)性變異和多級變異幾種方式,本文采用均勻性變異算子。
  (6)確定算法的終止準則:由于遺傳算法沒有利用目標函數(shù)的梯度等信息,所以無法確定個體在解空間的位置,從而無法用傳統(tǒng)的方法來判定算法的收斂與否以終止算法。通常是預(yù)先規(guī)定一個最大代數(shù)或算法在連續(xù)多少代以后解的適應(yīng)值沒有明顯改進時,即終止。
3 仿真實例
  已知一非線性控制系統(tǒng),由飽和非線性環(huán)節(jié)、速率限制非線性環(huán)節(jié)和三階系統(tǒng)組成,系統(tǒng)參數(shù)及其結(jié)構(gòu)框圖如圖2所示。這是工業(yè)控制系統(tǒng)中存在較多的一種典型控制過程,該系統(tǒng)的單位階躍響應(yīng)如圖3所示。從系統(tǒng)的單位階躍響應(yīng)可以看出,這是一不穩(wěn)定的振蕩非線性系統(tǒng)。對這一不穩(wěn)定的非線性控制系統(tǒng),通常采用PID調(diào)節(jié)器進行校正,校正后其結(jié)構(gòu)框圖如圖4所示。


  設(shè)PID調(diào)節(jié)器的傳遞函數(shù)為:
  
  其中,KP、TI、TD分別為PID調(diào)節(jié)器比例、積分、微分的尋優(yōu)參數(shù)。用MATLAB仿真時,將PID調(diào)節(jié)器設(shè)計為比例、積分、微分參變量的S函數(shù),這樣可以方便遺傳算法的求解。
  從圖4可知,誤差信號為e(t)=r(t)-y(t),取目標函數(shù)為誤差平方積分,即,其中積分上限t應(yīng)以調(diào)節(jié)時間為基準,選得足夠大,本文選50s或100s。根據(jù)目標函數(shù)的定義及誤差的大小,從目標函數(shù)到適應(yīng)值函數(shù)的變換為:
  
  仿真實現(xiàn)時,設(shè)PID調(diào)節(jié)器給定最優(yōu)化初始值為KP=0.63,TI=0.0504s,TD=1.9688s。對于這組初始值,可得系統(tǒng)的單位階躍響應(yīng),如圖5所示。采用圖1所示的遺傳算法時,設(shè)群體規(guī)模N=10,雜交概率pc=0.25,變異概率pm=0.001,最大代數(shù)k=10,因此可得PID調(diào)節(jié)器最優(yōu)化參數(shù)值為KP=3.6232,TI=0.1175s,TD=16.9950s,此時系統(tǒng)的單位階躍響應(yīng)如圖6所示。采用文獻[6]所述的常規(guī)方法進行優(yōu)化時,最優(yōu)化參數(shù)為KPP=1.3353,TI=0.1547s,TD=8.3280s,此時系統(tǒng)的單位階躍響應(yīng)如圖7所示。

??


  從上述仿真結(jié)果可以看出,采用遺傳算法進行非線性控制系統(tǒng)參數(shù)優(yōu)化時,系統(tǒng)的超調(diào)量較低、上升時間較短、調(diào)節(jié)時間較短,反映了系統(tǒng)的穩(wěn)定性和快速性都較好。而采用文獻[6]所述的常規(guī)方法進行優(yōu)化時,由于系統(tǒng)包含非線性環(huán)節(jié),尋優(yōu)時有時容易陷入局部最優(yōu),而且占用CPU時間較長、迭代次數(shù)較多,運行速度也就較慢。因此,對于非線性控制系統(tǒng)參數(shù)優(yōu)化問題,要想獲得全局最優(yōu),宜采用遺傳算法來求解。
  本文針對非線性控制系統(tǒng)參數(shù)優(yōu)化問題,采用遺傳算法來求全局最優(yōu)解。遺傳算法是利用參變量的某種編碼,從一個點的群體開始搜索,依據(jù)適應(yīng)值函數(shù)信息,無須導(dǎo)數(shù)或其它輔助信息,使用概率轉(zhuǎn)移規(guī)則,因此能夠找到全局最優(yōu)。而常規(guī)優(yōu)化方法則是采用啟發(fā)式策略,在單個猜測解的鄰域內(nèi)探尋,即使算法中允許跳到解空間中更遠的部分,這些啟發(fā)式算法也往往容易陷入局部最優(yōu)。另外,遺傳算法的本質(zhì)并行性使得它非常適合大規(guī)模并行計算機。因此,遺傳算法在計算機科學(xué)的領(lǐng)域內(nèi)必將展示巨大的潛力。
參考文獻
1 陳宗海.過程系統(tǒng)建模與仿真.合肥:中國科技大學(xué)出版社,1997
2 解可新,韓立興,林友聯(lián). 最優(yōu)化方法.天津:天津大學(xué)出版社,1997
3 符曦.系統(tǒng)最優(yōu)化及控制.北京:機械工業(yè)出版社,1995
4 何國輝,甘俊英.控制系統(tǒng)校正環(huán)節(jié)優(yōu)化設(shè)計的計算機輔助分析.自動化儀表,1998;19(2):31~33
5 甘俊英,何國輝.基于MATLAB的控制系統(tǒng)校正環(huán)節(jié)優(yōu)化設(shè)計.電氣自動化,1999;21(1): 20~21
6 甘俊英,陸桂芳.控制系統(tǒng)多變量函數(shù)最優(yōu)化求解方法.99’學(xué)術(shù)論文集,中國科學(xué)技術(shù)大學(xué)出版社,1999

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。