基于遺傳編程的電廠非線性動態(tài)系統(tǒng)辨識_第1頁
基于遺傳編程的電廠非線性動態(tài)系統(tǒng)辨識_第2頁
基于遺傳編程的電廠非線性動態(tài)系統(tǒng)辨識_第3頁
基于遺傳編程的電廠非線性動態(tài)系統(tǒng)辨識_第4頁
基于遺傳編程的電廠非線性動態(tài)系統(tǒng)辨識_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于遺傳編程的電廠非線性動態(tài)系統(tǒng)辨識

1人工智能算法系統(tǒng)識別是研究和建立生產(chǎn)過程數(shù)學(xué)模型的理論方法。所謂辨識就是從含有噪聲的輸入、輸出數(shù)據(jù)中提取研究對象的數(shù)學(xué)模型。非線性系統(tǒng)辨識是比較復(fù)雜的課題,在一些研究中,采用神經(jīng)網(wǎng)絡(luò)或模糊邏輯等人工智能算法,將系統(tǒng)作為黑箱建模,不能得出輸入、輸出間明顯的關(guān)系。遺傳編程由美國的Coza教授創(chuàng)建,這種人工智能算法是對自然界進(jìn)化的一種模擬。在遺傳編程中,進(jìn)化的個體是以樹狀結(jié)構(gòu)存在的程序。遺傳編程適合辨識各類不同的系統(tǒng),對系統(tǒng)的辨識過程,實際是一個符號回歸過程,就是把系統(tǒng)的數(shù)學(xué)描述(傳遞函數(shù)、差分方程等)看作程序,在進(jìn)化過程中通過各種基因操作自動生成能非常好匹配目標(biāo)系統(tǒng)的程序(傳遞函數(shù)、差分方程等),整個過程是結(jié)構(gòu)辨識和參數(shù)辨識的統(tǒng)一,尤其適合對非線性系統(tǒng)的辨識,比其他算法有一定優(yōu)越之處。2非線性離散動態(tài)系統(tǒng)的辨識在本文中,將論述如何使用基本的遺傳編程算法對非線性靜態(tài)系統(tǒng)進(jìn)行辨識,以及如何使用一種新的改進(jìn)遺傳編程算法對非線性離散動態(tài)系統(tǒng)進(jìn)行辨識,本文中的目標(biāo)系統(tǒng)都是單輸入單輸出系統(tǒng)(SingleInput-SingleOutput,SISO),以下分別對基本GP算法和改進(jìn)GP算法進(jìn)行介紹。1基本遺傳編程算法用于靜態(tài)系統(tǒng)的識別樹狀程序的集合確定終端集合,包括變量、隨機(jī)常數(shù)等;確定函數(shù)集合,包括各種數(shù)學(xué)運算符、函數(shù)等,然后由終端集合和函數(shù)集合隨機(jī)地產(chǎn)生原始種群,也就是樹狀程序的集合。標(biāo)準(zhǔn)適應(yīng)度案例適應(yīng)度用于衡量一個程序解決問題的能力,類似自然界中生物對環(huán)境的適應(yīng)性。適應(yīng)度又有多種表達(dá)方式,如標(biāo)準(zhǔn)適應(yīng)度、修正適應(yīng)度等。在本文中,對靜態(tài)系統(tǒng)辨識問題,假設(shè)自變量在x0,x1,…,xn等n個點取值,標(biāo)準(zhǔn)適應(yīng)度定義如下:fs=∑i=0n|findividual(xi)?fobject(xi)|(1)fs=∑i=0n|findividual(xi)-fobject(xi)|(1)式中,findividual(x)為進(jìn)化種群中個體所代表系統(tǒng)的傳遞函數(shù)表達(dá)式;fobject(x)為目標(biāo)系統(tǒng)傳遞函數(shù)表達(dá)式;xi為自變量取值點,也就是適應(yīng)度案例。標(biāo)準(zhǔn)適應(yīng)度代表了進(jìn)化個體系統(tǒng)與目標(biāo)系統(tǒng)在各個適應(yīng)度案例上輸出的總誤差。修正適應(yīng)度定義如下:fa=1.00/(1.00+fs)(2)其值在0到1之間,值越大,個體適應(yīng)性越好。適用于不同類型的程序不同的程序樹之間發(fā)生交叉操作;單個程序樹發(fā)生變異和復(fù)制等操作。類似于自然界的進(jìn)化,適應(yīng)度高的個體程序被選中參與交叉、復(fù)制等操作的機(jī)會大,從而它們的整體或一部分通過基因操作傳遞到下一代的可能性就大,適應(yīng)度低的個體逐漸消亡,這樣經(jīng)過很多代進(jìn)化,就可以在進(jìn)化種群中得到適應(yīng)度很高的個體,也就是在程序空間中找到能非常好匹配目標(biāo)系統(tǒng)的程序(數(shù)學(xué)模型)。2用于動態(tài)系統(tǒng)的識別改進(jìn)的遺傳編程算法用于動態(tài)系統(tǒng)的識別[n][2]模型改進(jìn)算法使用如下差分方程表示目標(biāo)非線性動態(tài)系統(tǒng):y[n]=f(y[n-1],y[n-2],…,y[n-m1],x[n],x[n-1],…,x[n-m2])(3)式中,x[n],y[n]為系統(tǒng)的輸入、輸出;m1,m2為最大延遲階次;n為離散時間。改進(jìn)gp算法中運算符的生成定義終端集合{X,Y,R},其中,X表示系統(tǒng)輸入x[n],Y表示系統(tǒng)輸出y[n],R表示隨機(jī)產(chǎn)生的浮點常數(shù)。定義由傳統(tǒng)的數(shù)學(xué)運算符(如“+”,“-”,“*”,“/”等。在本文中,“*”表示乘法)和D運算符組成的函數(shù)集合。D運算符是改進(jìn)GP算法中所獨有的,它由一個字母“D”后面跟一個數(shù)字組成,例如,D0,D1,D2。每個D運算符只帶一個參數(shù),只有D運算符或終端可做其參數(shù)。傳統(tǒng)的數(shù)學(xué)運算符,不能做D運算符的參數(shù)。當(dāng)D運算符的參數(shù)為變量終端(如X,Y)時,其作用是延遲。延遲的階次由字母“D”后面的數(shù)字確定。D運算符可以級聯(lián)以得到更大的延遲階次。當(dāng)D運算符帶隨機(jī)常數(shù)為參數(shù)時,其意義等價于單個的隨機(jī)常數(shù)。改進(jìn)算法的程序樹在定義了終端集合和函數(shù)集合后,開始隨機(jī)地生成原始種群中的程序樹。改進(jìn)算法中隨機(jī)程序樹生成過程與基本算法大體相同,但有如下2個特別規(guī)則:a)傳統(tǒng)的數(shù)學(xué)運算符可以以任何其他運算符(包括D運算符)或終端為參數(shù)。b)D運算符只能以D運算符或終端為參數(shù),不能以傳統(tǒng)的數(shù)學(xué)運算符為參數(shù)。改進(jìn)算法產(chǎn)生的程序樹含傳統(tǒng)的數(shù)學(xué)函數(shù)運算符節(jié)點、D運算符節(jié)點、終端節(jié)點這3種樹節(jié)點。第1類節(jié)點被稱為函數(shù)層節(jié)點,第2、第3類節(jié)點被稱為D層節(jié)點。改進(jìn)算法的交叉操作原始種群產(chǎn)生以后,開始進(jìn)化過程。改進(jìn)遺傳編程算法與基本算法的主要不同在于交叉操作的不同。改進(jìn)算法有2個層面的交叉操作:a)函數(shù)層交叉發(fā)生于函數(shù)層節(jié)點之間。b)D層交叉發(fā)生于D層節(jié)點之間。只有同層的節(jié)點之間才允許發(fā)生交叉操作,不同層的節(jié)點間不允許發(fā)生交叉操作。此約束條件保證了交叉操作生成的新程序樹在表達(dá)式含義上的正確性。輸出誤差修正對進(jìn)化種群中個體程序所代表的系統(tǒng)和目標(biāo)系統(tǒng)分別輸入相同的時間序列,若yindividual[i]為種群中個體系統(tǒng)的輸出,yobject[i]為目標(biāo)系統(tǒng)的輸出,i為離散時間,取值為0到N,則標(biāo)準(zhǔn)適應(yīng)度定義如下:fs=∑i=0N|yindividual[i]?yobject[i]|(4)fs=∑i=0Ν|yindividual[i]-yobject[i]|(4)標(biāo)準(zhǔn)適應(yīng)度代表了進(jìn)化種群中個體系統(tǒng)的輸出與目標(biāo)系統(tǒng)輸出之間的誤差,修正適應(yīng)度定義與基本GP算法相同。延遲變量的定義目前已經(jīng)有一些基于遺傳編程和NARMAX模型,對非線性離散動態(tài)系統(tǒng)進(jìn)行辨識的研究,在這些研究中,輸入和輸出的延遲變量被直接定義為終端。在改進(jìn)的遺傳編程算法中,輸入被定義為終端變量X,輸出被定義為終端變量Y,輸入和輸出的延遲通過D算子與X,Y終端的組合實現(xiàn),這樣算法的靈活性增強(qiáng)了,系統(tǒng)的結(jié)構(gòu)通過D算子與X,Y的自由組合在進(jìn)化過程中自動生成。3利用基本gp算法進(jìn)行的辨識1)非線性靜態(tài)系統(tǒng)辨識在工程實際中,非線性靜態(tài)系統(tǒng)廣泛存在,如晶體管的飽和區(qū)、熱電阻阻值隨溫度的變化等,前文描述的基本GP算法能夠滿足對此類系統(tǒng)辨識的需要,進(jìn)化過程中可以得出反映輸入輸出間關(guān)系的正確的傳遞函數(shù)。在本文中以對電廠鋼球磨煤機(jī)產(chǎn)粉量與存煤量之間的關(guān)系曲線的辨識作為例子,該曲線為二次曲線,如圖1所示。磨煤機(jī)按其運行好壞分為正常區(qū)和堵磨區(qū),以C為轉(zhuǎn)折點。磨煤機(jī)一般運行于正常工作點A,當(dāng)增大給煤量時,存煤增多,過一段時間,系統(tǒng)會穩(wěn)定在B點,此時給煤量又等于產(chǎn)粉量。但正常工作點不可以越過C點(頂點),否則,給煤量超過了磨煤機(jī)最大出力范圍,就會導(dǎo)致堵磨。若能準(zhǔn)確辨識此非線性環(huán)節(jié)的特性,就可大大提高磨煤機(jī)的效率,使產(chǎn)粉量增加。假設(shè)要辨識的目標(biāo)特性曲線表達(dá)式如下:y=-1.12·x2+5.466·x-3.458(5)定義函數(shù)集合為{+,-,*},終端集合為{X,R},其中,X為自變量表示存煤量;R為-1.000到1.000之間的隨機(jī)常數(shù),用于產(chǎn)生、匹配多項式的系數(shù)。使用20個適應(yīng)度案例,取值范圍為自變量自0.0到2.0之間等間距的點(分為20份),使用的GP控制參數(shù),見表1。使用基本GP算法進(jìn)行了多次辨識,絕大多數(shù)進(jìn)化過程都能在50代內(nèi)產(chǎn)生修正適應(yīng)度高于0.8的最優(yōu)個體,最好的一次產(chǎn)生一個修正適應(yīng)度高達(dá)0.97的個體。最優(yōu)個體如下:((((0.224+X)+(0.545*X))+((0.379+(-0.663))*((X+0.935)+(0.499+(-0.313)))))-((((-0.697)-0.557)+(((((((0.224+X)+(0.545*X))+(0.224+X))+(-0.663))+(0.545*X))*0.029)+X))*((((-0.866)+(-0.587))+((((X+0.935)+(0.499+(0.379+(-0.663))))*0.029)+X))+((-0.697)-0.557))))在所有20個適應(yīng)度案例上,最優(yōu)個體輸出值與目標(biāo)函數(shù)在該點輸出值之差的絕對值都小于0.01。經(jīng)過整理,最優(yōu)個體表達(dá)式與目標(biāo)函數(shù)非常一致,如下式:y=-1.12121·x2+5.47102·x-3.46379(6)用Matlab繪制的最優(yōu)個體曲線與目標(biāo)曲線的比較圖,如圖2所示。可以看出兩者幾乎完全重疊,最優(yōu)個體是個很好的辨識結(jié)果。2)非線性動態(tài)系統(tǒng)辨識若SISO離散非線性動態(tài)系統(tǒng)使用式(3)的差分方程表示,則可用改進(jìn)GP算法進(jìn)行辨識。以下給出一個具體的例子,目標(biāo)系統(tǒng)是作者構(gòu)造的二階定常非線性系統(tǒng),但辨識方法可應(yīng)用于對任意非線性定常系統(tǒng)的辨識,不失一般性。目標(biāo)非線性動態(tài)系統(tǒng)差分方程如下:y[n]=1.0001.000+(y[n?1])2+0.86?(y[n?2])2+y[n]=1.0001.000+(y[n-1])2+0.86?(y[n-2])2+x[n](7)使用了如下輸入序列:?????x[n]=0.00,n<0x=2.0;x=1.5;x=1.0;x=0.5x[n]=0.00,n>3{x[n]=0.00,n<0x=2.0;x=1.5;x=1.0;x=0.5x[n]=0.00,n>3假設(shè)系統(tǒng)的初始狀態(tài)如下:y[-3]=2.00;y[-2]=1.00;y[-1]=0.00使用的函數(shù)集合為{+,-,*,/,D0,D1,D2},終端集合為{X,Y,R}。GP運行過程中使用的控制參數(shù),見表2。運行得到的最優(yōu)個體如下:0.953/(0.953+D0(D1(Y))*D1(0.953)*D1(Y)+(0.844-0.031)*D1(D1(Y))*D1(D0(D1(Y))))+(D1(X)-D0(D1(X)))*D2(0.953)+X其修正適應(yīng)度為0.99。此最優(yōu)個體表達(dá)式中,冗余項(D1(X)-D0(D1(X)))*D2(0.953)值為0.0,經(jīng)過整理,此表達(dá)式代表的差分方程如下:y[n]=1.0001.000+(y[n?1])2+0.8531(y[n?2])2+y[n]=1.0001.000+(y[n-1])2+0.8531(y[n-2])2+x[n](8)可以看出,最優(yōu)個體所代表的差分方程與目標(biāo)差分方程在結(jié)構(gòu)上和參數(shù)上都非常一致。在零初始狀態(tài)下,用M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論