趙轉哲,何 康,何慧娟
(1.安徽工程大學 機械與汽車工程學院,安徽 蕪湖 241000;2.宿州學院 機電學院,安徽 宿州 234000)
基于混合蛙跳算法的PID控制器參數整定
趙轉哲1,何 康2,何慧娟1
(1.安徽工程大學 機械與汽車工程學院,安徽 蕪湖 241000;2.宿州學院 機電學院,安徽 宿州 234000)
PID控制在現代工業(yè)過程控制中應用廣泛,但傳統(tǒng)的 PID 參數整定方法已經不能完全適應現代工業(yè)的發(fā)展。利用一種新型的元啟發(fā)式搜索的群智能算法——混合蛙跳算法對其3個參數進行優(yōu)化設計,結合Simulink模型,進行基于MATLAB的離線仿真實驗。結果表明,與粒子群算法相比,混合蛙跳算法的求解結果更加精確和穩(wěn)定。
混合蛙跳算法;PID 控制;MATLAB 仿真;參數整定
比例-微分-積分(Proportional-Integral-Derivative, PID)控制器具有形式簡單、魯棒性好以及可靠性高等優(yōu)點,成為目前主要的工業(yè)控制技術之一,已在機電、冶金、機械、化工等工業(yè)生產中得到廣泛應用。而PID控制技術中一個至關重要的問題是控制器的參數整定問題,直接影響到系統(tǒng)的控制質量和控制器的魯棒性[1]。早期的PID 參數整定一般是依靠經驗豐富的工程技術人員反復湊試,費時耗力,再加上系統(tǒng)本身的非線性、時變性等問題,此法往往難以得到令人滿意的結果。1942年,由Ziegler和Nichols 提出的Z-N經驗公式法[2],用于手工計算和設置控制器初值,至今還在工業(yè)控制中應用,但該方法獲得的參數在有負載擾動時存在較大誤差。隨著計算機技術和人工智能理論的發(fā)展,新的參數整定方法不斷涌現,如專家PID控制[3]、模糊PID控制[4-5]等,實現了參數的自整定,但因為其規(guī)則復雜,操作不便,其應用受到了一定的限制;同時,群智能算法如遺傳算法[6]、粒子群算法[7]、蟻群算法[8]等被不斷地應用于PID參數的整定過程,與專家系統(tǒng)等人工智能相比,具有操作方便、速度快的優(yōu)點,不需要復雜的規(guī)則,便可以達到參數的最優(yōu)設計,引起了廣大學者的重視。
混合蛙跳算法(Shuffled Frog Leaping Algorithm, SFLA)是一種新穎的啟發(fā)式生物群智能算法[9],具有高效的計算性能和優(yōu)良的全局搜索能力,目前,已經從最初的水資源網絡中的管徑優(yōu)化轉移到其它工程領域的優(yōu)化問題[10-12]。本文采用SFLA進行PID參數整定和優(yōu)化,并在MATLAB環(huán)境下實現該方法,通過實例仿真表明該方法的有效性,為進一步擴大PID控制在工業(yè)控制中的應用打下堅實的基礎。
基本思想:在一片濕地中生活著一群青蛙,濕地內分布著許多離散的石頭,青蛙通過尋找不同的石頭進行反復跳躍,從而去找到食物較多的地方。該算法將蛙群分成多個子群,每個子群內青蛙借鑒粒子群優(yōu)化算法的方法進行局部搜索,性能最差青蛙以一定的步長進行更新;而整個族群借鑒模因進化算法的方法,周期性地進行混合和重新分組,進行全局信息交流,從而使信息在全局與個體間進行交換,以便更好地尋優(yōu)。這種深度局部搜索和全局信息交換的策略能夠保證算法更大程度地落入局部最優(yōu)值,而向全局最優(yōu)靠攏[9-10]。
SFLA的基本步驟可以描述為:
1)全局搜索。
初始化:選擇種群內青蛙個數F,子種群個數m,子群內青蛙個數n。指定全局最大進化代數Gmax,子群內部最大進化代數Lmax。
①在搜索空間隨機初始化所有F個青蛙;
②計算每個青蛙的適應度函數;
③根據適應度對所有青蛙進行排序,得到全局最優(yōu)青蛙Pg;
④將所有青蛙分成m個群,每個群包括n個青蛙。第1個青蛙分入第1個子群,第2個分入第2個子群,…,第m個分入第m個子群,第m+1個青蛙又分入第1個子群,以此類推;
⑤每個子群中執(zhí)行子群內的局部搜索;
⑥重新混合所有青蛙;
⑦如果沒有達到停止的條件,轉到第②步。
2)子群內的局部搜索。
①在每個子群中確定最優(yōu)青蛙Pb、最差青蛙Pw;
②對最差青蛙Pw進行更新(進化)。該青蛙的更新公式為
(1)
Pw_new=Pw+S.
(2)
式中:min( )和max( )分別是取最小值和最大值函數,rand為0~1的隨機數,Smax為允許青蛙跳躍的最大步長。
③如果上一步產生一個更好的青蛙,則用它代替最差青蛙。否則,進行下一步;
④用全局最優(yōu)Pg替換式(1)中Pb,如果找到一個更好的青蛙,則用它代替最差青蛙;如果還是不能找到性能更好的青蛙,則隨機產生一個青蛙代替最差青蛙;
⑤按照預定的次數重復該過程。
2.1PID參數
PID控制器是一種線性調節(jié)器,其原理如圖1所示,它根據給定值r(t)和實際輸出值c(t)構成偏差
e(t)=r(t)-c(t).
(3)
則偏差信號e(t)分別經過比例、積分、微分3個運算,并將三者作用和u(t)作為控制器的輸出送入被控對象,PID控制器的控制規(guī)律為
(4)
寫成傳遞函數的形式為
可以進一步記為
(5)
式中:Kp為比例系數,Ti為積分時間,Ki=Kp/Ti為積分常數,Td為微分時間,Kd=Kp/Td為微分常數。
PID參數整定即是確定最佳比例系數Kp、積分時間Ti和微分時間Td,使控制系統(tǒng)某一性能指標達到最佳。
2.2 基于SFLA的PID參數整定
利用SFLA進行PID參數整定的關鍵步驟如下:
1)將PID控制器的3個參數看成三維空間的一個矢量解,對應SFLA中的每一個青蛙個體,根據經驗確定三參數的取值范圍,即SFLA中變量的取值范圍,以及SFLA中算法基本參數的設置。
2)PID控制模型建立。根據控制對象的傳遞函數以及PID控制器的原理,在MATLAB的Simulink環(huán)境下建立該系統(tǒng)的模型;
3)適應度函數的選擇。適應度評估是進行混合蛙跳算法優(yōu)化搜索的依據,而衡量PID控制器參數整定好壞的指標亦有很多,例如過渡過程的個別品質參數[1]以及利用幅值裕度和相角裕度的自整定方法[13],實際上,在對控制性能進行評價時,要所有的性能指標都達到最優(yōu),幾乎是不可能的,因為各參數之間相互影響,其中一個達到最優(yōu),有可能會使另一個指標的性能降低,為了達到整個系統(tǒng)綜合性能最優(yōu)化,需要采用一些能體現綜合性能的指標。本文為使控制系統(tǒng)的偏差迅速減少,同時又具有較快的響應速度、較小的超調量且有一定的振蕩和足夠的阻尼,特選擇在控制領域應用最廣泛的ITAE指標作為評價系統(tǒng)性能的綜合指標[14],以此作為SFLA的適應度函數,理論上,該指標越小,控制系統(tǒng)的性能越好。以此找出青蛙種群中的性能最優(yōu)青蛙和最差青蛙,進行SFLA的迭代更新操作。
(6)
其過程如圖2所示,由此可知:混合蛙跳算法與Simulink模型之間的橋梁是青蛙個體(即PID控制器參數組成的向量)和該青蛙所對應的適應度值(即控制系統(tǒng)的性能指標ITAE)。優(yōu)化過程如下:SFLA產生青蛙群體,將每個青蛙以此賦值給PID控制器的參數Kp,Ki,Kd,然后運行控制系統(tǒng)的Simulink模型,得到該組參數對應的性能指標ITAE,再傳遞給SFLA中作為該青蛙的適應度值,最后判斷是否可以退出SFLA,從而得到最優(yōu)的整定參數。
圖2 SFLA優(yōu)化PID的過程
在MATLAB的Simulink環(huán)境下建立該系統(tǒng)的PID控制系統(tǒng)模型如圖3所示[15],其中,仿真時間為20 s,輸出端子1的輸出值即為性能指標ITAE。
圖3 Simulink環(huán)境下的PID控制系統(tǒng)模型
為了比較SFLA與其它群智能算法在優(yōu)化PID參數時的優(yōu)劣,根據文獻[13]粒子群算法與遺傳算法的參數設置情況,本文SFLA的算法參數設置:子種群數m=20,子群內青蛙個數n=5,因此,整個種群中青蛙的數量F=100,全體種群進行信息交換的進化次數Gmax=100,使得兩種算法的群體規(guī)模和進化次數(或全局迭代次數)相同;另外,在SFLA中,允許最大步長Smax=3。每一種群的子群局部搜索進化次數Lmax=50。同時,PID控制器只有3個參數Kp,Ki,Kd需要待定,因此,適應度函數變量維數D=3,根據經驗值,3個參數的取值范圍為[0,300],故在SFLA中變量的取值范圍與此相同。
本質上,SFLA和PSO均屬于隨機搜索算法,為了全面分析并比較計算性能,本文將基于SFLA和PSO的PID參數整定模型獨立運行20次,其結果如表1所示。
由表1可以看出,在相同的全局迭代次數下,基于SFLA算法的求解結果,無論是最優(yōu)值、平均解,甚至于最差解,均優(yōu)于PSO算法的結果,說明在PID的參數整定過程中,SFLA的求解精度高于PSO算法;另外,由兩種算法求解結果的標準方差可知,對于該PID參數的整定模型,基于SFLA的求解結果的方差均小于PSO,說明SFLA算法的聚集性好,其穩(wěn)定性要高于PSO,這個也可以從圖4和圖5看出。
表1 基于SFLA和PSO求解得到的PID 3個最優(yōu)參數及性能指標比較
兩種智能算法在對該模型求解時,性能指標ITAE不斷減少,說明兩種算法均找到了PID參數,其收斂速度明顯不一樣,如圖4和圖5所示,對于SFLA,基本上在20步以內就達到了穩(wěn)定值,即使是最差解,也是在30步左右穩(wěn)定,且具有較好的精度;而PSO算法雖然也是在30步以內達到穩(wěn)定,但因為其穩(wěn)定時精度較差,導致結果不理想,有可能是算法陷入了局部最優(yōu)而導致算法停滯。
圖4 基于SFLA求解的PID性能指標ITAE的變化曲線
圖5 基于PSO求解的PID性能指標ITAE的變化曲線
兩種智能算法求解得到最優(yōu)的PID參數后,該系統(tǒng)的階躍響應如圖6所示,由此可知,對于不穩(wěn)定的被控對象,兩種算法智能求解得到的最優(yōu)PID控制器的參數Kp,Ki,Kd均可以使用,但是通過混合蛙跳算法整定后得到的系統(tǒng)階躍響應,其超調量比PSO算法整定的超調量小,從而相對穩(wěn)定性好, 而且調整時間快,系統(tǒng)的偏差達到最小。
圖6 基于PSO和SFLA求解得到的最優(yōu)參數對應的單位階躍響應曲線
1)PID控制器的參數整定對于不穩(wěn)定的實際被控系統(tǒng)至關重要,其數學模型是一個存在多個局部最優(yōu)的復雜模型,通過引入新型的智能優(yōu)化算法,從而快速、準確地找到最優(yōu)參數值,是一種迫切需要的求解方法。
2)提出了基于SFLA算法的PID參數整定方法,在被控對象數學模型已知條件下,通過仿真對比試驗,無論是收斂精度和收斂速度,SFLA均優(yōu)于PSO算法,從而證明該方法在離線時整定與優(yōu)化的可行性和有效性。但將本方法用到在線整定與優(yōu)化時會涉及到SFLA算法的效率問題,該問題與其參數設置有關,如何提高整定與優(yōu)化效率將另文討論。
[1] 韓幫華. PID控制器參數整定方法及應用研究[D]. 青島:青島科技大學, 2009.
[3] 王建平, 趙嬋娟. 基于PLC的專家PID控制算法在精密壓藥液壓機控制系統(tǒng)中的應用[J]. 化工自動化及儀表, 2016, 43(6):579-583.
[4] 張玲娜, 馬艷, 張建軍. PID控制與模糊PID控制在電機調速系統(tǒng)中的比較與仿真[J]. 自動化與儀器儀表, 2016(7):52-54.
[5] 韓玉敏, 王希鳳. 基于模糊控制的鍋爐汽包水位控制系統(tǒng)的研究[J]. 黑龍江工程學院學報, 2016, 30(6):20-23.
[6] 徐傳敬, 趙敏, 李天明. 一種改進遺傳算法的PID參數整定研究[J]. 計算機技術與發(fā)展, 2016, 26(9):12-15.
[7] 趙亞琪, 王景成, 張浪文,等. 基于粒子群算法的TBM液壓系統(tǒng)PID參數優(yōu)化[J]. 控制工程, 2016, 23 (8): 1242-1246.
[8] 邢峰. 蟻群參數尋優(yōu)自適應PID控制實驗研究[J]. 機械設計與制造, 2016(7):157-159.
[9] EUSUFF M, LANSEY K, PASHA F. Shuffled frog-leaping algorithm: a memetic meta-heuristic for discrete optimization[J]. Engineering Optimization, 2006, 38(2):129-154.
[10] 趙轉哲. 混合蛙跳算法的改進及在旋轉機械故障診斷中的應用研究[D]. 南京:東南大學, 2016.
[11] ZHAO Z, XU Q, JIA M. Sensor network optimization of gearbox based on dependence matrix and improved discrete shuffled frog leaping algorithm[J]. Natural Computing, 2016, 15(4):653-664.
[12] ZHAO Z, XU Q, JIA M. Improved shuffled frog leaping algorithm-based BP neural network and its application in bearing early fault diagnosis[J]. Neural Computing and Applications, 2016, 27(2):375-385.
[13] 柴天佑, 張貴軍. 基于給定的相位裕度和幅值裕度的PID 參數自整定新方法[J]. 自動化學報, 1997, 23 (2) : 167 - 172.
[14] AWOUDA A E A, BIN M R. New PID tuning rule using ITAE criteria[J]. International Journal of Engineering, 2010, 3(6):171-176.
[15] 郁磊, 史峰, 王輝. MATLAB智能算法30個案例分析[M]. 北京:北京航空航天大學出版社, 2015:137-143.
PID control parameters tuning based on shuffled frog leaping algorithm
ZHAO Zhuanzhe1, HE Kang2, HE Huijuan1
(1.School of Mechanical and Automotive Engineering, Anhui Polytechnic University, Wuhu 241000, China;2.School of Mechanical and Electronic Engineering, Suzhou University, Suzhou 234000, China)
PID controllers are widely used in process industry, but the traditional PID parameter tuning method has been unable to fully meet the development of modern industry. The shuffled frog leaping algorithm (SFLA) is a swarm intelligent algorithm based on memetic meta-heuristic search which has been used on the three parameters tuning or optimization of PID control system in this paper. Combined with the Simulink model, the MATLAB simulation off-line experiment is carried out. The experimental result shows that SFLA is more accurate and stable than the particle swarm optimization (PSO) algorithm. As an intelligent solution method, the SFLA has good practical value.
shuffled frog leaping algorithm; PID control; MATLAB simulink; parameter tuning
10.19352/j.cnki.issn1671-4679.2017.06.008
2017-05-31
安徽省高校自然科學研究重點項目(KJ2016A803, KJ2017A439);安徽省省級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(201510363163)
趙轉哲(1979-),男,講師,博士,研究方向:智能控制;機械故障診斷.
TG156
A
1671-4679(2017)06-0038-04
[責任編輯:郝麗英]