【正文】
%****** Step 2 : Select and Reproduct Operation****** fi_sum=sum(fi)。 fi_Size=(Oderfi/fi_sum)*Size。 fi_S=floor(fi_Size)。 %Selecting Bigger round fi value kk=1。 for i=1:1:Size for j=1:1:fi_S(i) %Select and Reproduce TempE(kk,:)=E(Indexfi(i),:)。 kk=kk+1。 %kk is used to reproduce end end%************ Step 3 : Crossover Operation ************pc=。n=ceil(20*rand)。for i=1:2:(Size1) temp=rand。 if pctemp %Crossover Condition for j=n:1:20 TempE(i,j)=E(i+1,j)。 TempE(i+1,j)=E(i,j)。 end endendTempE(Size,:)=BestS。E=TempE。 %************ Step 4: Mutation Operation **************%pm=。pm=[1:1:Size]*()/Size。 %Bigger fi, smaller pm%pm=。 %No mutation%pm=。 %Big mutationfor i=1:1:Size for j=1:1:3*CodeL temp=rand。 if pmtemp %Mutation Condition if TempE(i,j)==0 TempE(i,j)=1。 else TempE(i,j)=0。 end end end end%Guarantee TempE(Size,:) belong to the best individualTempE(Size,:)=BestS。E=TempE。end Bestfi BestS Kpidi Best_J=BestJ(G)子程序:function [Kpidi,BsJ]=pid_gaf(Kpidi,BsJ)global rin yout timefts=。sys=tf(,[,1])。 dsys=c2d(sys,ts,39。z39。)。[num,den]=tfdata(dsys,39。v39。)。rin=。u_1=。u_2=。y_1=。y_2=。x=[0,0,0]39。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_1den(3)*y_2+num(2)*u_1+num(3)*u_2。 error(k)=r(k)yout(k)。% Return of PID parameters u_2=u_1。u_1=u(k)。 y_2=y_1。y_1=yout(k)。 x(1)=error(k)。 % Calculating P x(2)=(error(k)error_1)/ts。 % Calculating D x(3)=x(3)+error(k)*ts。 % Calculating I error_2=error_1。 error_1=error(k)。if s==0 if yout(k)amp。yout(k) tu=timef(k)。 s=1。 end endendfor i=1:1:P Ji(i)=*abs(error(i))+*u(i)^2*。 B=B+Ji(i)。 if i1 erry(i)=yout(i)yout(i1)。 if erry(i)0 B=B+100*abs(erry(i))。 end endendBsJ=B+*tu*10。,根據(jù)遺傳算法整定出的PID參數(shù),給定信號為200,100,170時,(a)(b)(c)從(a)(b)(c)中可以直觀地看出系統(tǒng)可以很穩(wěn)定地跟蹤給定信號,其中當(dāng)給定信號為170時,動態(tài)特性可粗略估算為,符合設(shè)計要求。改變PID參數(shù),設(shè)給定信號為170,(c)相比較,很明顯,動態(tài)與穩(wěn)態(tài)特性要差些。結(jié)論 本論文研究了采用遺傳算法進行PID參數(shù)的整定的方法,并且作出了一些仿真。通過與其它整定方法比較,其具有以下優(yōu)點:(1) 與單純形法相比,遺傳算法同樣具有良好的尋優(yōu)特性,克服了單純形法參數(shù)初值的敏感性。在初始條件選擇不當(dāng)時,單純形法會在不需要給出調(diào)節(jié)器初始參數(shù)的情況下,仍能尋找到合適的參數(shù),使控制目標(biāo)滿足要求。同時單純形法難以解決多值函數(shù)問題以及在多參數(shù)尋優(yōu)(如串級系統(tǒng)) 中,容易造成尋優(yōu)失敗或時間過長,而遺傳算法的特性決定了它能很好地克服以上問題。(2) 與專家整定法相比,它具有操作方便、速度快,不需要復(fù)雜規(guī)則,只通過字串進行簡單地復(fù)制、交叉、變異,便可達到尋優(yōu)等優(yōu)點,避免了專家整定法中前期大量的知識庫整理工作及大量的仿真實驗。(3) 遺傳算法是從許多點開始并行操作,在解空間進行高效啟發(fā)式搜索,克服了從單點出發(fā)的弊端以及搜索的盲目性,從而使尋優(yōu)速度更快,避免了過早陷入局部最優(yōu)解。(4) 遺傳算法不僅適用于單目標(biāo)尋優(yōu),而且也適用于多目標(biāo)尋優(yōu)。根據(jù)不同的控制系統(tǒng),針對一個或多個目標(biāo),遺傳算法均能在規(guī)定的范圍內(nèi)尋找到合適參數(shù)。遺傳算法作為一種全局優(yōu)化算法,得到了越來越廣泛的應(yīng)用。近年來,遺傳算法在控制上的應(yīng)用日益增多。應(yīng)用結(jié)果說明,基于遺傳算法的真空感應(yīng)爐PID溫度控制系統(tǒng)具有良好的動靜態(tài)特性、自適應(yīng)性和魯棒性,有著良好的應(yīng)用前景。本設(shè)計中的直流調(diào)速系統(tǒng)只考慮了速度反饋,這樣的系統(tǒng)還不能付諸實用,因為,直流電機全壓啟動時會產(chǎn)生很大的沖擊電流,這不僅不利于電動機換向,對過載能力低的晶閘管來說也是不允許。但是本設(shè)計目的在于研究遺傳算法整定PID,著重于體現(xiàn),用遺傳算法設(shè)計出的PID在控制系統(tǒng)中控制性能的優(yōu)越性,所以設(shè)計是合理的。致 謝在做畢業(yè)設(shè)計的這段時間里,學(xué)到很多很多的東西,不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。經(jīng)過這次畢業(yè)設(shè)計我感受頗多。在此我要感謝身邊的老師和同學(xué),因為你們的大力支持與鼓舞,我的畢業(yè)設(shè)計才能順利完成。我畢業(yè)設(shè)計時,非常榮幸的成為了李建軍教授的學(xué)生。在論文撰寫期間殷切關(guān)懷和教誨。教授科學(xué)、嚴(yán)謹(jǐn)求實的工作作風(fēng)和活躍的學(xué)術(shù)思想讓我終生收益。您為人正直,待人誠懇,不但教育我求知的真諦,也教導(dǎo)我為人的道理。在此,我對李教授致以崇高的敬意和衷心的感謝。我還要特別感謝我的好友們在我遇到困難和需要幫助時給予我的鼓勵和支持。你們在我為某個疑問煩惱時,陪著我出去散心,給我信心,逗我開心。非常的謝謝你們,我會永遠(yuǎn)記住大學(xué)里我們的點點滴滴。同時感謝學(xué)校對我們畢業(yè)設(shè)計的支持,感謝參考文獻的作者們,是您們的工作是我工作的基礎(chǔ)和源泉。更重要的要感謝我的家人,是您們的付出和鼓勵給了我接受大學(xué)教育的機會。最后,謹(jǐn)向在百忙之中抽出時間來批閱我論文的桂老師和參加論文答辯的各位專家老師表示衷心的感謝。參考文獻[1] 劉金琨.先進PID控制及其MATLAB仿真. .[2] 陶永華,尹怡欣.新型PID控制及其應(yīng)用. . [3] 張文修,梁怡.遺傳算法的數(shù)學(xué)基礎(chǔ)..[4] 王琛,王仕成.基于遺傳算法的PID參數(shù)整定及仿真.西安:.[5] 趙亮,付興武,徐廣明.:.[6] 席育棕.基于遺傳算法的PID 參數(shù)整定與優(yōu)化.西安:西安重型機械研究所 [7] 劉娜,韓璞, :華北電力大學(xué)動力系.[8] 周明,.[9] ,——.[10] 王小平,——理論、.[11] .[12] 徐宗本,張講社,:.[13] Nirwan Ansari Edwin Hou(著),李軍,邊肇祺(譯)..[14] (3)[15] Ziegler J G and Nichols N Settings for automatic ,1942.[16] 王順晃,.[17] Voda A A and Landau L D. A method for the autocalibratioa of ,1995,31(1).[18] 王偉,張晶濤,26.[19] 王亞剛,1,2.38