陳正岸
(廣東粵電湛江生物質(zhì)發(fā)電有限公司,廣東湛江524000)
遺傳算法是從代表問(wèn)題可能潛在解集的一個(gè)種群開(kāi)始的,而一個(gè)種群則由經(jīng)過(guò)基因編碼的一定數(shù)目的個(gè)體組成。每個(gè)個(gè)體實(shí)際上是染色體帶有特征的實(shí)體。染色體作為遺傳物質(zhì)的主要載體,它決定了個(gè)體的形狀外部表現(xiàn)。因此,需要實(shí)現(xiàn)從表現(xiàn)型到基因型的映射編碼工作。由于仿照基因編碼的工作很復(fù)雜,需要進(jìn)行簡(jiǎn)化,如二進(jìn)制編碼。初代種群產(chǎn)生之后,按照優(yōu)勝劣汰的原理,逐代演化產(chǎn)生出越來(lái)越好的近似解。在每一代,根據(jù)問(wèn)題式中個(gè)體的適應(yīng)度大小選擇個(gè)體,并借助于自然遺傳學(xué)的遺傳算子進(jìn)行組合交叉和變異,產(chǎn)生出新的解集種群。末代種群中的最優(yōu)個(gè)體經(jīng)過(guò)解碼,可以作為問(wèn)題近似最優(yōu)解。
遺傳算法模仿生物遺傳及進(jìn)化的步驟,以自然選擇和遺傳理論為基礎(chǔ),將生物進(jìn)化過(guò)程中適者生存規(guī)則與群體內(nèi)部染色體的隨機(jī)信息交換機(jī)制相結(jié)合,在問(wèn)題空間進(jìn)行全局并行的、隨機(jī)的搜索優(yōu)化,求得問(wèn)題的全局最優(yōu)解。遺傳算法模仿生物遺傳及進(jìn)化的步驟,引人了如繁殖、交叉、變異等方法。
由于遺傳算法的整體搜索策略和優(yōu)化搜索方法在計(jì)算時(shí)不依賴于梯度信息或其他輔助知識(shí),只需要影響搜索方向的目標(biāo)函數(shù)和相應(yīng)的適應(yīng)度函數(shù),所以遺傳算法提供了一種求解復(fù)雜系統(tǒng)問(wèn)題的通用框架,它不依賴于問(wèn)題的具體領(lǐng)域,對(duì)問(wèn)題的種類有很強(qiáng)的魯棒性,所以廣泛應(yīng)用于許多科學(xué)。例如,函數(shù)優(yōu)化、權(quán)值優(yōu)化、組合優(yōu)化、結(jié)構(gòu)優(yōu)化。
PID 控制器中一般微分時(shí)間為0,所以選取比例帶δ 和積分時(shí)間Ti 為參數(shù),我們的任務(wù)是離線尋找最合適的參數(shù),以使控制器的控制達(dá)到最優(yōu)。首先確定參數(shù)范圍,該范圍一般由用戶給定,根據(jù)經(jīng)驗(yàn)設(shè) δ∈[0,5],Ti∈[0,100],然后由精度的要求,對(duì)其進(jìn)行編碼。選取10 位的二進(jìn)制字串來(lái)表示每一個(gè)參數(shù),并建立與參數(shù)的關(guān)系,再把兩個(gè)參數(shù)的二進(jìn)制連接起來(lái)組成一個(gè)長(zhǎng)的二進(jìn)制字串,該字串為遺傳算法可以操作的對(duì)象。
因?yàn)樾枰幊虂?lái)實(shí)現(xiàn)各過(guò)程,所以采用計(jì)算機(jī)隨機(jī)產(chǎn)生初始種群即先產(chǎn)生0 ~1 之間均勻分布的隨機(jī)數(shù),然后規(guī)定產(chǎn)生的隨機(jī)數(shù) 0 ~0.5 之間代表 0,0.5 ~1 之間代表 1。此外,考慮到計(jì)算的復(fù)雜程度,規(guī)定種群的大小為迭代,也就是迭代20 次。
一般的尋優(yōu)方法在約束條件下可以求得滿足條件的一組參數(shù),在設(shè)計(jì)中是從該組參數(shù)中尋找一個(gè)最好的。衡量一個(gè)控制系統(tǒng)的指標(biāo)有三個(gè)方面,即穩(wěn)定性,準(zhǔn)確性和快速性。而上升時(shí)間反映了系統(tǒng)的快速性,上升時(shí)間越短,控制進(jìn)行就越快,系統(tǒng)品質(zhì)也就越好。
實(shí)際應(yīng)用中系統(tǒng)中固有的飽和特性導(dǎo)致系統(tǒng)不穩(wěn)定,為了防止控制能量過(guò)大,在目標(biāo)函數(shù)中加入控制量。因此,為了使控制效果更好,我們給出了控制量,誤差和上升時(shí)間作為約束條件。適應(yīng)函數(shù)同目標(biāo)函數(shù)相關(guān),目標(biāo)函數(shù)確定后,直接將其作為適配函數(shù)進(jìn)行參數(shù)尋優(yōu)。最優(yōu)的控制參數(shù)就是在滿足約束條件下是f(x)最大時(shí),x 所對(duì)應(yīng)的控制器參數(shù)。
利用遺傳算法優(yōu)化Kp,Ki,Kd 的具體步驟如下。
1)確定每個(gè)參數(shù)的大致范圍和編碼長(zhǎng)度,進(jìn)行編碼。
2)隨機(jī)產(chǎn)生n 個(gè)個(gè)體構(gòu)成初始種群P(0)。
3)將種群中各個(gè)體解碼成對(duì)應(yīng)的參數(shù)值,用此參數(shù)求代價(jià)函數(shù)值J 及適應(yīng)函數(shù)值f,取f=1/J。
4)應(yīng)用復(fù)制,交叉和變異算子對(duì)種群P(t)進(jìn)行操作,產(chǎn)生下一代種群P(t+1)。
5)重復(fù)步驟3)和4),直至參數(shù)收斂或達(dá)到預(yù)定的指標(biāo)。
通過(guò)計(jì)算機(jī)編程實(shí)現(xiàn)以上功能,選取單回路尋優(yōu)控制回路實(shí)例做進(jìn)一步分析。實(shí)例:某單回路尋優(yōu)控制回路如圖1 所示,其中被控對(duì)象為二階傳遞函數(shù):
G(s)=300/(s2+30s),PID 為 U(S)= Kp(1 +1/TiS +TdS)。采樣時(shí)間為1 ms,輸入為階躍信號(hào)。
圖1 控制系統(tǒng)圖
為獲取滿意的過(guò)渡過(guò)程動(dòng)態(tài)特性,采用誤差絕對(duì)值時(shí)間積分性能指標(biāo)作為參數(shù)選擇的最小目標(biāo)函數(shù)。為了避免超調(diào),采用超調(diào)量作為最優(yōu)指標(biāo)的一項(xiàng),此時(shí)的最優(yōu)指標(biāo)為:
e(t)為系統(tǒng)誤差,u(t)為控制器輸出,tu為上升時(shí)間,w1,w2,w3,w4 為權(quán)值。
采用二進(jìn)制編碼方式,用長(zhǎng)度為10 位的二進(jìn)制編碼串來(lái)分別表示三個(gè)決策變量Kp,KI,Kd。最優(yōu)指標(biāo)的選取同十進(jìn)制編碼遺傳算法的PID 整定。遺傳算法中使用的樣本個(gè)數(shù)為Size =30,交叉概率和變異概率分別為:pc=0.06,pm=0.01 -[1 ∶1:Size]。參數(shù) Kp的取值范圍為[0,20],KI,Kd的取值范圍為[0,1],w1,w2,w3,w4 的取值同十進(jìn)制編碼遺傳算法的PID 整定。經(jīng)過(guò)100 代進(jìn)化,最優(yōu)個(gè)體為 BestS=[010000011101011100100000100110]。
PID 優(yōu)化參數(shù)為:Kp =17.556 2,Ki =0.391 0,Kd =0.306 9,性能指標(biāo) J=27.364 3。
為顯示用遺傳算法進(jìn)行參數(shù)優(yōu)化的優(yōu)越性,用遺傳算法和工程上常用的衰減曲線法進(jìn)行了PID 參數(shù)整定與優(yōu)化,并進(jìn)行效果性能的比較。我們用MATLAB 的Simulink 搭建的模塊圖去模擬實(shí)際的工程,Simulink 接線如圖2,輸入信號(hào)都為單位階躍信號(hào)。
圖2 仿真結(jié)構(gòu)圖
用兩種方法整定出PID 的參數(shù),在兩個(gè)PID 控制中填入相應(yīng)的參數(shù)值,最后運(yùn)行可以得出兩條輸出響應(yīng)曲線如圖3。
圖3 階躍響應(yīng)曲線
通過(guò)上圖的仿真實(shí)驗(yàn)表明,從兩條階躍響應(yīng)曲線可以看出,遺傳算法的調(diào)節(jié)時(shí)間比衰減曲線法的調(diào)節(jié)時(shí)間短,超調(diào)量比衰減曲線法小。遺傳算法優(yōu)化出來(lái)的PID 參數(shù)在應(yīng)用到實(shí)際中得出的系統(tǒng)響應(yīng)動(dòng)態(tài)效果明顯,比衰減曲線法的參數(shù)好。
被控對(duì)象在運(yùn)行過(guò)程中可能出現(xiàn)劣性變化時(shí),對(duì)象的時(shí)間常數(shù)T 增大,靜態(tài)增益K 減小,此時(shí),控制系統(tǒng)的控制水平會(huì)發(fā)生的變化是工程上必須考慮的重要問(wèn)題。當(dāng)時(shí)間常數(shù)T 增加50%后,原來(lái)被控對(duì)象變G'(s)=10/(0.05s2+s),定值擾動(dòng)信號(hào)為單位階躍信號(hào)來(lái)檢驗(yàn)系統(tǒng)的魯棒性。PID 采用遺傳算法優(yōu)化參數(shù) Kp=17.556 2,Ki =0.391 0,Kd =0.306 9,用衰減曲線法整定出來(lái)的 PID 的參數(shù)為 Kp =3.062 5,Ki =0.180,Kd =0.060,兩種方法魯棒性比較如圖4
圖4 響應(yīng)曲線
從上圖曲線中可以看出,魯棒性測(cè)試中,對(duì)象發(fā)生了結(jié)構(gòu)和參數(shù)的變化,基于遺傳算法PID 參數(shù)優(yōu)化方法下的控制效果仍比較好,可以說(shuō)該方法具有較強(qiáng)的魯棒性。
遺傳算法運(yùn)用于PID 的參數(shù)整定,不但克服了常規(guī)PID 整定方法的缺點(diǎn),而且還避免了基于專家系統(tǒng)的PID 參數(shù)整定方式中知識(shí)庫(kù)建立的困難性,實(shí)現(xiàn)PID 參數(shù)離線整定。如果把該方法運(yùn)用于工業(yè)控制過(guò)程的上位機(jī),結(jié)合系統(tǒng)辨識(shí)可以實(shí)現(xiàn)PID 在線參數(shù)整定。
[1]周明,孫樹(shù)棟.遺傳算法原理及應(yīng)用[M].北京:國(guó)防工業(yè)出版社,1999.
[2]金以慧,方宗智.過(guò)程控制[M]. 北京:清華大學(xué)出版社,2008.
[3]薛定宇.控制系統(tǒng)仿真與計(jì)算機(jī)輔助設(shè)計(jì)[M]. 北京:機(jī)械工業(yè)出版社,2005.
[4]黃忠霖.控制系統(tǒng) MATLAB 計(jì)算及仿真[M].北京:國(guó)防工業(yè)出版社,2009.
[5]劉金昆.先進(jìn) PID 控制及其 MATLAB 仿真[M].北京:電子工業(yè)出版社,2003.
[6]劉娜,韓璞,甄成剛.基于遺傳算法的PID 參數(shù)尋優(yōu)[J].計(jì)算機(jī)仿真,2002,19(2):.
[7]毛敏,于希寧. 基于遺傳算法的 PID 參數(shù)優(yōu)化方法[J].中國(guó)電力.2002,35(8):48 -51.
[8]陳祥光.遺傳算法在PID 控制器參數(shù)尋優(yōu)中的應(yīng)用研究[J].計(jì)算機(jī)真,2001,18(2):.
[9]劉俊麗,韓旭. 遺傳算法技術(shù)淺論[J]. 電腦學(xué)習(xí),2009,5:142 -143.
[10]丁寅磊,呂麗霞.基于遺傳算法的PID 控制器參數(shù)優(yōu)化研究[J].儀器儀表用戶,2009(1).