




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于遺傳優化算法對離散PID控制器參數的優化設計摘要PID控制作為一種經典的控制方法,從誕生至今,歷經數十年的發展和完善,因其優越的控制性能業已成為過程控制領域最為廣泛的控制方法;PID控制器具有結構簡單、適應性強、不依賴于被控對象的精確模型、魯棒性較強等優點,其控制性能直接關系到生產過程的平穩高效運行,因此對PID控制器設計和參數整定問題的研究不但具有理論價值更具有很大的實踐意義,遺傳算法是一種借鑒生物界自然選擇和自然遺傳學機理上的迭代自適應概率性搜索算法。本論文主要應用遺傳算法對PID調節器參數進行優化。關鍵詞:遺傳優化算法 PID控制器 參數優化1. 前言PID調節器是最早發展起來的控制
2、策略之一,因為它所涉及的設計算法和控制結構都是簡單的,并且十分適用于工程應用背景,此外PID控制方案并不要求精確的受控對象的數學模型,且采用PID控制的控制效果一般是比較令人滿意的,所以在工業實際應用中,PID調節器是應用最為廣泛的一種控制策略,也是歷史最久、生命力最強的基本控制方式。調查結果表明: 在當今使用的控制方式中,PID型占84. 5% ,優化PID型占68%,現代控制型占有15%,手動控制型66%,人工智能(AI)型占0.6% 。如果把PID型和優化PID型二者加起來,則占90% 以上,這說明PID控制方式占絕大多數, 如果把手動控制型再與上述兩種加在一起,則占97.5% , 這說
3、明古典控制占絕大多數。就連科學技術高度發達的日本,PID控制的使用率也高達84.5%。這是由于理論分析及實際運行經驗已經證明了PID調節器對于相當多的工業過程能夠起到較為滿足的控制效果。它結構簡單、適用面廣、魯棒性強、參數易于調整、在實際中容易被理解和實現、在長期應用中己積累了豐富的經驗。特別在工業過程中,由于控制對象的精確數學模型難以建立,系統的參數又經常發生變化,運用現代控制理論分析綜合要耗費很大的代價進行模型辨識, 但往往不能達到預期的效果, 所以不論常規調節儀表還是數字智能儀表都廣泛采用這種調節方式。正是PID控制算法具有以上多種優點, 所以這種算法仍將在現場控制中居于主導地位。PID
4、控制器參數整定的方法很多,概括起來有兩大類:一是實驗湊試法,它主要依賴調試經驗,直接在控制系統的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。二是理論計算整定法,它主要是依據系統的數學模型,經過理論計算確定控制器參數。這種方法所得到的計算數據未必可以直接用,還必須通過工程實際進行調整和修改1。但根據參數湊試法得出的控制器參數的控制效果并不是很理想,而手動調整控制器參數找到較優值費時又費力,因此利用一種優化算法對控制器參數進行優化是非常必要的。本文采用遺傳優化算法,在二次型性能指標下對離散PID控制器的控制參數進行優化并給出了優化結果,同時通過仿真進行研究與分析。本文的其余部分安排如
5、下:第二部分介紹了PID控制器的基本原理;第三部分介紹了遺傳優化算法;第四部分采用MATLAB編程和simulink模塊對被控對象進行建模;第五部分使用遺傳算法對系統進行仿真分析。最后,在第六部分對本文的研究進行了總結。2. PID控制器1.2.2.1. PID控制器基本原理PID控制是基于對變量“過去”、“現在”和“未來”信息估計的交叉控制算法??刂葡到y框圖如圖2-1所示,系統主要由被控對象和PID控制器兩部分組成。常規的PID一般為線性控制器,實際輸出值和給定值會存在一個偏差,將偏差按比例、積分和微分通過線性組合來構成控制量,最后對被控對象進行控制,故稱PID控制器。圖2-1 PID控制器
6、結構圖當系統是連續控制時,PID控制器的輸出u(t)與輸入e(t)之間會存在比例、積分、微分的關系,用下式表示出來, (2-1)也可寫成常見的傳遞函數形式: (2-2)式中,是比例增益,是積分時間,是微分時間。在計算機控制系統中,也普遍采用PID控制思想。此時,調節器的輸出與輸入之間的關系為: (2-3)其中,、分別為比例系數、積分時間常數和微分時間常數;T為采樣周期;k為采樣序號,k=0,1,2,;u(kT)為第k次采樣輸出值;e(kT)為第k次采樣的輸入偏差值;e(kT-T)為第(K-1)次采樣的輸入偏差值。2.2. PID控制器參數對控制性能的影響PID控制器各個參數對系統的動態和穩態性
7、能起著不同的作用,這三個參數的取值優劣將直接影響PID控制系統的控制品質好壞。2.2.1. 比例作用比例作用就是以比例形式來反應系統的偏差信號e(t),以最快速度來產生控制作用,使偏差逐漸趨于減小。(1)對動態特性的影響比例控制參數Kc加大,使系統的動作靈敏,速度加快,Kc越大,振蕩次數加多,調節時間也越長。當Kc太大時,系統會趨于不穩定,若Kc太小,又會使系統的動作緩慢。(2)對穩態特性的影響在系統穩定的情況下,比例系數Kc增大,穩態誤差就會減少,以此來提高控制精度,但是加大Kc只是減少,卻無法從本質上上消除穩態誤差。2.2.2. 積分作用引入積分作用,主要是為了在穩態狀態下,滿足被控量對設
8、定值的無靜差跟蹤,對系統的性能影響主要表現如下:(1)對動態特性的影響積分作用會引起系統的穩定性下降,Ti太小,系統將不穩定,Ti偏小到一定程度時,系統會出現振蕩;Ti太大,對系統性能的影響力也會縮減,只有當Ti合適時,才能出現比較理想的過渡特性。(2)對穩態特性的影響積分作用能夠降低系統穩態誤差,同時也能提高系統的控制精度,不過,當Ti值太大時,積分作用將會變得非常弱,穩態誤差ess也不會緊隨減弱了。2.2.3. 微分作用微分作用常規使用會與比例作用、比例積分作用聯合,構成PD控制器或者PID控制器。微分作用主要改善閉環系統的動態特性和穩定性。Td偏大時,超調量會較大,調節時間也會較長;Td
9、偏小時,超調量也較大,相應調節時間也會較長。3. 遺傳優化算法遺傳算法是-類可用于復雜系統優化計算的魯棒搜索算法, 與其他一些優化算法相比, 它主要有下述幾個恃點: (1) 遺傳算法以決策變量的編碼作為運算對象。這種對決策變量的編碼處理方式,使得我們在優化計算過程中可以借鑒生物學中染色體和基因等概念, 可以模仿自然界中生物的遺傳和進化等機理, 也使得我們可以方便地應用遺傳操作算子。(2) 遺傳算法直接以目標函數值作為搜索信息。傳統優化算法不僅需要利用目標函數值,而且往往需要目標函數的導數值等其他一些輔助信息才能確定搜索方向。而遺傳算法僅使用由目標函數值變換來的適應度函數值,就可確定進一步的搜索
10、方向和搜索范圍, 無需目標函數的導數值等其他一些輔助信息。這個特性對很多目標函數是無法或很難求導數的函數, 或導數不存在的函數的優化問題,以及組合優化問題等, 應用遺傳算法時就顯得比較方便, 因為它避開了函數求導這個障礙。(3) 遺傳算法同時使用多個搜索點的搜索信息。單個搜索點所提供的搜索信息畢竟不多,所以搜索效率不高,有時甚至使搜索過程陷于局部最優解而停滯不前。遺傳算法從由很多個體所組成的一個初始群體開始最優解的搜索過程,而不是從一個單一的個體開始搜索,這是遺傳算法所特有的一種隱含并行性。(4) 遺傳算法使用概率搜索技術。很多傳統的優化算法往往使用的是確定性的搜索方法,而遺傳算法屬于一種自適
11、應概率搜索技術,其選擇、交叉、變異等運算都是以一種概率的方式來進行的,從而增加了其搜索過程的靈活性。當然, 交叉概率和奇異概率等參數也會影響算法的搜索效果和搜索效率,所以如何選擇潰傳算法的參數在其應用中是一個比較重要的問題。而另一方面,與其他一些算法相比,遺傳算法的魯棒性又會使得參數對其搜索效果的影響會盡可能地低。3.1. SGA的基本實現技術基于對自然界中生物遺傳與進化機理的模仿,針對不同的問題, 很多學者設計了許多不同的編碼方法來表示問題的可行解, 開發出了許多種不同的遺傳算子來模仿不同環境下的生物遺傳特性。這樣,由不同的編碼方法和不同的遺傳算子就構成了各種不同的遺傳算法。但這些遺傳算法都
12、有共同的特點,即通過對生物遺傳和進化過程中選擇、交叉、變異機理的模仿,來完成對問題最憂解的自適應搏索過程。基于這個共同特點,Goldberg總結出了一種統一的最基本的遺傳算法基本遺傳算法(Simple Genetic Algorithms,簡稱SGA)?;具z傳算法只使用選擇算子、交叉算子和變異算子這三種基本遺傳算子,其遺傳進化操作過程簡單,容易理解,是其他一些遺傳算法的雛形和基礎,它不僅給各種遺傳算法提供了一個基本框架,同時也具有一定的應用價值。3.2. 編碼方法在遺傳算法中如何描述問題的可行解, 即把一個問題的可行解從其解空間轉換到遺傳算法所能處理的搜索空間的轉換方法稱為編碼。編碼是應用遺
13、傳算法時要解決的首要問題,也是設計遺傳算法時的一個關鍵步驟。二進制編碼方法是遺傳算法中最常用的一種編碼方法。假設某一個參數U的取值范圍是Umin , Umax ,用- 1 位二進制數n來表示,則它們的關系如下式(3- 1)所示: (3-1)上述過程為解碼,它的反過程即為編碼。3.3. 適應度函數在研究自然界中生物的遺傳和進化現象時,生物學家使用適應度這個術語來度量某個物種對于其生存環境的適應程度。遺傳算法中也使用適應度這個概念來度量群體中各個個體在優化計算中有可能達到或接近于或有助于找到最優解的優良程度。適應度較高的個體遺傳到下一代的概率就較大:而適應度較低的個體遺傳到下一代的概率就相對小一些
14、。度量個體適應度的函數稱為適應度函數( Fitness Function)。3.4. 選擇、交叉、變異算子遺傳算法使用選擇算子來對群體中的個體進行優勝劣汰操作。最常用的選擇算子是基本遺傳算法中的比例選擇算子。其基本思想是:各個個體被選中的概率與其適應度大小成E比。設群體大小為M,個體i的適應度為F,則個體i被選中的概率Pis為: (3-2)交叉算子是指對兩個相互配對的染色體按某種方式相互交換其部分基因,從而形成兩個新的個體。交叉運算是遺傳算法區別于其他進化算法的重要特征,它在遺傳算法中起關鍵作用,是產生新個體的主要辦法。最簡單的交叉算子是單點交叉算子, 即在群體中隨機選取兩個個體, 并在個體編
15、碼串中只隨機設置一個交叉點,然后在該點以一定的概率Pc相互交換兩個配對個體的部分染色體。一般民的經驗取值范圍是0.4-0.99。變異運算是指將個體染色體編碼串中某些基因座上的基因值用該基因座的其它等位基因來替換, 從而形成一個新的個體。最簡單的變異算子是基本位變異算子,即對個體編碼串中的每一位基因座上的基因值均以變異概率p作變異運算。一般Pm的經驗取值范圍是0.0001-0.10變異可使遺傳算法具有局部隨機搜索功能, 又可維持群體的多樣性, 避免出現初期收斂問題。4. 被控對象及建模已知被控對象的傳遞函數模型為: (4-1)采樣周期T=1s,要求階躍響應超調量。如圖4-1所示,利用MATLAB
16、/Simulink搭建系統仿真模型。圖4-1 系統仿真模型PID控制器模塊如圖所示,其中PID控制器的Ki、Kd、Kp三個參數利用圖4-2給定圖4-2 PID控制器模型對于PID控制器,給定如下二次型性能指標函數: (4-2)其中為常數,取值范圍為,搭出如圖4-3所示模型。圖4-3 系統模型及二次型性能指標函數亦可直接編寫M函數對系統進行建模,程序如下:function Kpidi,BsJ=pid_gaf(Kpidi,BsJ)global rin yout timefts=1sys=tf(1,10,1,0); %被控對象函數dsys=c2d(sys,ts,'z'); %零階保持
17、器法離散化num,den=tfdata(dsys,'v');%提取被控對象參數rin=1.0; %賦初值u_1=0.0;u_2=0.0;y_1=0.0;y_2=0.0;x=0,0,0'B=0;error_1=0;tu=1;s=0;P=100;for k=1:1:P timef(k)=k*ts; r(k)=rin; u(k)=Kpidi(1)*x(1)+Kpidi(2)*x(2)+Kpidi(3)*x(3); %控制器輸出 if u(k)>=10 u(k)=10; end if u(k)<=-10 u(k)=-10; end yout(k)=-den(2)*y
18、_1-den(3)*y_2+num(2)*u_1+num(3)*u_2; %輸出 error(k)=r(k)-yout(k); %誤差%- 返回PID參數 - u_2=u_1;u_1=u(k); y_2=y_1;y_1=yout(k); x(1)=error(k); % 計算 P x(2)=(error(k)-error_1)/ts; % 計算 D x(3)=x(3)+error(k)*ts; % 計算 I error_2=error_1; error_1=error(k);if s=0 if yout(k)>0.95&yout(k)<1.05 tu=timef(k); s
19、=1; end endendfor i=1:1:P Ji(i)=error(i)2 +rol*u(i)2; %二次型性能指標函數 B=B+Ji(i); %疊加endBsJ=B;5. 算法實現與仿真分析5.5.1. 遺傳算法流程及程序第一步,隨機產生初始種群,個體數目一定,每個個體表示為染色體的基因編碼;第二步,計算個體的適應度,并判斷是否符合優化準則,若符合,輸出最佳個體及其代表的最優解,并結束計算,否則轉向第三步;第三步,依據適應度選擇再生個體,適應度高的個體被選中的概率高,適應度低的個體可能被淘汰;第四步,按照一定的交叉概率和交叉方法,生成新的個體;第五步,按照一定的變異概率和變異方法,生
20、成新的個體;第六步,由交叉和變異產生新一代的種群,返回到第二步。遺傳算法的一般流程如圖5-1 所示。圖5-1基本遺傳算法的算法流程遺傳算法中的優化準則, 一般依據問題的不同有不同的確定方式。例如,可以采用以下的準則之一作為判斷條件:種群中個體的最大適應度超過預先設定值;種群中個體的平均適應度超過預先設定值;世代數超過預先設定值。5.2. 遺傳算法仿真程序%用于優化PID參數的遺傳算法clear all;close all;global rin yout timefSize=30;CodeL=3;MinX(1)=zeros(1);MaxX(1)=20*ones(1);MinX(2)=zeros(
21、1);MaxX(2)=1.0*ones(1);MinX(3)=zeros(1);MaxX(3)=1.0*ones(1);%產生初始種群Kpid(:,1)=MinX(1)+(MaxX(1)-MinX(1)*rand(Size,1);Kpid(:,2)=MinX(2)+(MaxX(2)-MinX(2)*rand(Size,1);Kpid(:,3)=MinX(3)+(MaxX(3)-MinX(3)*rand(Size,1);G=1000;BsJ=0;%* 開始運行 *for kg=1:1:G time(kg)=kg;%* 步驟 1 : 產生 BestJ *for i=1:1:SizeKpidi=Kp
22、id(i,:); %代入PID參數 Kpidi,BsJ=chap5_3f(Kpidi,BsJ);%調用系統模型函數BsJi(i)=BsJ; %取出最優值end OderJi,IndexJi=sort(BsJi);BestJ(kg)=OderJi(1);BJ=BestJ(kg);Ji=BsJi+1e-10; %避免除0運算 fi=1./Ji; Oderfi,Indexfi=sort(fi); %從小到大排列fi Bestfi=Oderfi(Size); %令 Bestfi=max(fi) BestS=Kpid(Indexfi(Size),:); %令 BestS=E(m), m 是 max(fi
23、) 的索引 kg BJ BestS%* 步驟 2 : 選擇與新種群產生 * fi_sum=sum(fi); fi_Size=(Oderfi/fi_sum)*Size; fi_S=floor(fi_Size); % 向下取整運算 r=Size-sum(fi_S); Rest=fi_Size-fi_S; RestValue,Index=sort(Rest); for i=Size:-1:Size-r+1 fi_S(Index(i)=fi_S(Index(i)+1; % 使得種群大小保持不變 end k=1; for i=Size:-1:1 for j=1:1:fi_S(i) TempE(k,:)=
24、Kpid(Indexfi(i),:); % 選擇與生成新個體 k=k+1; % k 用來生成新個體 end end %* 步驟 3 : 交叉運算 * Pc=0.90; for i=1:2:(Size-1) temp=rand; if Pc>temp %交叉條件 alfa=rand; TempE(i,:)=alfa*Kpid(i+1,:)+(1-alfa)*Kpid(i,:); TempE(i+1,:)=alfa*Kpid(i,:)+(1-alfa)*Kpid(i+1,:); end end TempE(Size,:)=BestS; Kpid=TempE; %* 步驟 4: 變異運算 *P
25、m=0.10-1:1:Size*(0.01)/Size; %具有更大 fi的個體具有更小的 PmPm_rand=rand(Size,CodeL);Mean=(MaxX + MinX)/2; Dif=(MaxX-MinX); for i=1:1:Size for j=1:1:CodeL if Pm(i)>Pm_rand(i,j) %變異條件 TempE(i,j)=Mean(j)+Dif(j)*(rand-0.5); end end end%保證 TempE(Size,:) 為最優個體 TempE(Size,:)=BestS; Kpid=TempE;endBestfiBestSBest_J=BestJ(G)figure(1);plot(time,BestJ);xlabel('Times');ylabel('Best J');figure(2);plot(timef,rin,'r',timef,yout,'b');xlabel('Time(s)');ylabel('rin,yout');5.3. 仿真優化及分析由式(4-2)可知,二次型性能指標的常數的取值范圍為,首先取。設置控制系統M函數模型的運行時間為100秒。給定階躍信號,采用實數編碼方式,經過100代進化,獲得的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年體檢行業服務質量提升關鍵技術與市場分析報告
- 藥品運輸規章管理制度
- 藥庫防火防盜管理制度
- 藥店合理用藥管理制度
- 藥店藥品配送管理制度
- 營運賣場銷售管理制度
- 設備使用評估管理制度
- 設備外修加工管理制度
- 設備效率評價管理制度
- 設備點檢潤滑管理制度
- 《基礎化學》考試復習題庫大全(600多題)
- 分保、等保、關保、密評之間聯系與區別
- 典當行組織架構和崗位設置
- 2023-2024學年內蒙古自治區錫林浩特市小學語文五年級期末自我評估試題
- 【課件】自律主題班會
- LS/T 1201-2020磷化氫熏蒸技術規程
- GB/T 24025-2009環境標志和聲明Ⅲ型環境聲明原則和程序
- GB/T 18402-2001紙漿濾水性能的測定(濾水時間法)
- GB/T 156-2017標準電壓
- 分包工程竣工驗收單
- 《半導體及二極管》教學課件
評論
0/150
提交評論