余榮川,彭建盛,2
(1.廣西科技大學 電氣與信息工程學院,廣西 柳州 545006;2.河池學院 物理與機電工程學院,廣西 宜州 546300)
改進遺傳算法在PID參數尋優中的研究
余榮川1,彭建盛1,2
(1.廣西科技大學 電氣與信息工程學院,廣西 柳州 545006;2.河池學院 物理與機電工程學院,廣西 宜州 546300)
在研究自動控制器參數優化問題中,PID參數優化問題是很常見卻又非常重要的問題。在傳統設置PID參數方法中,多數是通過實驗和經驗的方法人為地進行優化,這種方法需要大量的時間且準確性有限。利用蒙特卡洛方法的思想建立一個隨機群體,然后以分段選取變異概率為例,利用改進遺傳算法對已知數學模型的PID參數進行優化,通過在Simulink環境下對傳統遺傳算法和改進遺傳算法所得到的兩組PID參數進行仿真,由仿真實驗結果得出,改進遺傳算法比傳統遺傳算法有更好的響應曲線,說明改進遺傳算法達到了優化參數的目的。
蒙特卡洛方法;改進遺傳算法;PID;優化
作為一種經典的控制方法,PID(Proportion Integral Derivative)控制自誕生以來,經歷了幾十年的發展和完善,因其具有優越的控制性能,越來越多的企業和研究機構在系統控制過程中用到PID控制,例如過程控制和運動控制。PID控制器的三個控制(P:比例單元,I:積分單元,D:和微分單元)在有的系統控制中并不一定全都需要,可能是其中的一個或者兩個單元被用到,對于這三個單元的參數整定將直接關系到系統的控制性能。經過數十年的發展與積累,前人已經總結出一些關于PID參數的優方法,常見的主要有間接尋優法、爬山法、梯度法、Ziegler-Nichols法等[1]。隨著智能控制的興起與發展,越來越多的智能算法被挖掘出來并應用到系統控制中去,例如:神經PID控制、模糊PID控制、專家PID控制以及基于遺傳算法的PID參數整定的方法等。
遺傳算法是一種基于優勝劣汰、適者生存的生物進化過程的算法,通過數學來模擬自然進化過程然后搜索最優解的方法[2]16-19。在生產實踐應用中表現為,在所有的解決方案中通過搜索尋找出最符合所針對問題的解決方法。本文是在已知的電機數學模型的基礎上通過改進遺傳算法對PID控制參數進行尋優,得出一組優化后的參數。簡單的系統制控流程如圖1所示:

圖1 系統控制示意圖

圖2 遺傳算法流程
1.1 遺傳算法
遺傳算法于70年代由美國Michigan大學的Holland教授在《自然系統和人工系統的自適應》一書中首先提出來,Holland教授所提出的關于GA的理論通常被稱為簡單的遺傳算法(Simple Genetic Algorithm,SGA),也是從那時候開始遺傳算法才逐漸被人們所了解[3]143-145。遺傳算法具有全局收斂的特點,在求解最優問題的時候,進行各種路線的平行搜索,能夠避免陷入局部收斂的狀態[4-5]。首先,確定各個參數例如算法迭代的次數,種群的大小等,接著要創建初始種群。然后,在評價適應度的基礎上進行各個遺傳操作的環節:選擇操作、交叉操作、變異操作,這三個過程是模擬生物基因遺傳的一個做法。在遺傳操作完成之后,要對所取得的參數進行最優判斷,是否滿足最優條件,若滿足最優條件,則結束遺傳算法的流程,并輸出當前最優結果,若不滿足,將重新進行適應度的評價,進行新一輪的種群進化,一直到最優條件滿足為止,算法流程如圖2所示。
1.2 改進的遺傳算法
1.2.1 初始化種群的方法
對于初始化種群,首先要將遇到的問題進行處理,遺傳算法無法直接對問題的解空間進行搜索,要將問題的解空間通過編碼轉換成遺傳算法所能處理的解空間。常見的編碼方法有幾種:浮點、符號編碼及編碼二進制編碼。本文采取的是二進制編碼的方法,產生0~1之間均勻分布的隨機數,例如x:10101010000101000011就表示一個個體的基因型,其中前10位表示x1,后10位表示x2。
對于隨機數列的產生有很多方法,在這里是采用蒙特卡洛序列來產生隨機序列。蒙特卡洛方法具有直觀形象、簡單易行的特點,并且其概率收斂與問題自身的維數無關。利用這些特點再算法實現過程也不會復雜,對于遺傳算法來說初始化種群的大小會根據我們需要處理問題來定,也就是說所處理問題的維數會有所變化,那么采用蒙特卡洛方法就不需要在這方面有過多考慮,可以直接使用蒙特卡洛序列產生一組數然后通過數學知識擴展維數以滿足問題需要。
在初始化種群時,一般的做法是隨機產生的,這樣的做法會導致獲取目標函數的信息過低。為了避免這個問題,首先用蒙特卡洛序列產生一組隨機數,然后再用矩陣論的知識將這組隨機數擴展成符合我們要求維數的矩陣。由于蒙特卡洛序列產生的個體具有的差異度的性質,這樣會降低種群的隨機性從而提高均勻性,以獲取目標函數的信息,這樣的做法可以照顧到隨機性又不失均勻性。具體操作步驟如圖3所示:

圖3 改進后的初始化種群
對于PID控制而言,首先預估PID三個參數的取值范圍,在經過一定的數學處理之后,使遺傳算法能夠很好地在整個可行參數解范圍內進行搜索。
1.2.2 變異操作的改進
變異指的是染色體中的某個基因發生了突變,在二進制編碼中,變異是指一串二進制數中某個元素由1變為0,或由0變為1。例如:個體A:11000111個體B:11100011。
在傳統的遺傳算法中一般是選取一個固定的變異概率對種群所有的個體進行變異處理,這樣會使適應度高的個體(優良個體)會和適應度低的個體一樣會被處理掉。本文在選取變異概率時候采用分段處理的方式,將所有適應度的個體按高低分為三個部分,然后針對每個部分選取一個變異概率進行變異操作。這樣的做法會在很大程度上保留種群中的優良個體而且又可以產生較好的個體[6]。變異概率分段選取的公式如下式(1):
(1)
式中:pm1=0.6,pm2=0.05,pm3=0.001,Bestfi是種群中適應度最好個體的適應度值,fi是待變異的個體的適應度值,f31和f32分別是適應度值由高到低排在1/3、2/3處的個體的適應度值。實現代碼如下:
pm1=0.1;pm2=0.05;pm3=0.007;
if fi>=f32
pm=pm2+(pm1-pm2)*(Bestfi-fi)/(Bestfi-O2(2*Size/3));
else if f31<=fi pm=pm3+(pm2-pm3)*(O2(2*Size/3)-fi)/(O2(2*Size/3)-O2(Size/3)); else pm=pm1; 由公式中可以看出適應度低的個體其變異概率越高,也即容易變異產生新的個體,而適應度越高的個體就不容易變異,這樣能很好地保留了優良個體。 為了驗證改進算法在PID控制器中的效果,首先用兩種算法分別得出一組PID參數,然后將參數代入到Simulink仿真圖中去分析所得的響應曲線。在仿真中,改進前后的遺傳算法的迭代次數以及種群大小是保持不變的,迭代次數為30,種群大小為30。本算法選取的二階控制對象模型[7]325-326為, (2) 傳統遺傳算法的變異概率pm=0.1,得到的一組PID參數kp=9.472 7,kd=0.147 5,ki=0.947 3。 改進后的遺傳算法變異概率根據式(1)來選取,交叉概率也是同樣的方法,得到一組參數kp=4.746 1,kd=0.039 1,ki=0.474 6。 兩種算法主要參數設置及結果對比如表1。 表1 兩種算法參數設置及結果對比 將所得到的兩組PID參數在Simulink環境下進行仿真,對兩種算法的系統單位階躍響應曲線進行對比與分析。響應曲線如圖4所示: 圖4 兩種算法所得的相應曲線 由響應曲線圖可以看出(實線是傳統遺傳算法得到的PID參數后的仿真曲線,虛線是改進遺傳算法的仿真曲線),改進遺傳算法所得到單位階躍相應曲線比傳統遺傳算法的效果更好。兩種算法所取得的結果對比如表2,改進的遺傳算法到達峰值時間比傳統遺傳算法有明顯的提前,改進后的遺傳算法雖然也有超調,但是相對于傳統的遺傳算法已經有明顯的縮小。 表2 兩種算法仿真差異 本算法主要是傳統算法進行研究,在其基礎上遺傳算法過程中的初始化種群、變異概率及交叉概率進行改進,仿真結果表明改進遺傳算法比傳統遺傳算法取得更好的相應效果曲線,驗證了該改進方法對PID參數取得明顯的優化效果。 [1]胡緒昌,沈小波,項衛東,等.基于遺傳算法整定控制的柴油機調速系統研究[J].船舶工程,2015(37):150. [2]楊淑瑩,張樺.群體智能與仿生計算-Matlab技術實現[M].北京:電子工業出版社,2012. [3]溫正.精通MATLAB智能算法[M].北京:清華大學出版社,2015. [4]NeathMJ,SwainA,MadawalaU,etal.AnOptimalPIDControllerforaBidirectionalInductivePowerTransferSystemUsingMulti-objectiveGeneticAlgorithm[J] .IEEETransactionsonPowerElectronics(S0885-8993), 2013,29(3): 1-10. [5]LIUJ,XIFQW.ResearchontheFuzzyPlDspeedofpermanentmagnetlinearbasedongeneticalgorithm[J].AppliedMechanicsandMaterials,2014(494). [6]李雅,黃少濱,李艷梅,等.基于遺傳算法的反例理解[J].哈爾濱工程大學學報,2016,37(10):1394-1399. [7]劉金琨.先進PID控制MATLAB仿真[M].3版.北京:電子工業出版社,2011. [責任編輯 韋楊波] StudyonimprovedgeneticalgorithminPIDparameteroptimization YURongchuan1,PENGJiansheng1,2 (1.SchoolofelectricalandInformationEngineering,GuangxiUniversityofScienceandTechnology,Liuzhou,Guangxi545006;2.SchoolofPhysicsandMechanical&ElectronicEngineering,HechiUniversity,Yizhou,Guangxi546300,China) In the problem of automatic controller parameters, the optimization of PID parameters is very common but very important problem. Most of the traditional methods of setting the PID parameters are optimized by experiment and experience. These methods often require a lot of time and the accuracy will be Limited. By using the idea of Monte Carlo to establish a random population, then selected mutation probability as an example, using the improved genetic algorithm to optimize the PID parameter of the known mathematical model. We can get two sets of PID parameters with the simulation of the traditional genetic algorithm and improved genetic algorithm under Simulink environment. The results show that the response curve of the improved genetic algorithm is better than that of traditional genetic algorithm. Monte Carlo; improved Genetic Algorithm; PID; optimization O59 A 1672-9021(2017)02-0084-05 余榮川(1989-),男,廣東湛江人,廣西科技大學在讀碩士研究生,主要研究方向:智能控制與智能自動化。 國家自然科學基金項目(61640305);廣西高校科研項目(ZD2014112);廣西高校智能綜合自動化高校重點實驗室基金資助項目(GXZDSY2016-04)。 2016-12-152 仿真




3 結論