趙轉(zhuǎn)哲,何 康,何慧娟
(1.安徽工程大學(xué) 機(jī)械與汽車工程學(xué)院,安徽 蕪湖 241000;2.宿州學(xué)院 機(jī)電學(xué)院,安徽 宿州 234000)
基于混合蛙跳算法的PID控制器參數(shù)整定
趙轉(zhuǎn)哲1,何 康2,何慧娟1
(1.安徽工程大學(xué) 機(jī)械與汽車工程學(xué)院,安徽 蕪湖 241000;2.宿州學(xué)院 機(jī)電學(xué)院,安徽 宿州 234000)
PID控制在現(xiàn)代工業(yè)過(guò)程控制中應(yīng)用廣泛,但傳統(tǒng)的 PID 參數(shù)整定方法已經(jīng)不能完全適應(yīng)現(xiàn)代工業(yè)的發(fā)展。利用一種新型的元啟發(fā)式搜索的群智能算法——混合蛙跳算法對(duì)其3個(gè)參數(shù)進(jìn)行優(yōu)化設(shè)計(jì),結(jié)合Simulink模型,進(jìn)行基于MATLAB的離線仿真實(shí)驗(yàn)。結(jié)果表明,與粒子群算法相比,混合蛙跳算法的求解結(jié)果更加精確和穩(wěn)定。
混合蛙跳算法;PID 控制;MATLAB 仿真;參數(shù)整定
比例-微分-積分(Proportional-Integral-Derivative, PID)控制器具有形式簡(jiǎn)單、魯棒性好以及可靠性高等優(yōu)點(diǎn),成為目前主要的工業(yè)控制技術(shù)之一,已在機(jī)電、冶金、機(jī)械、化工等工業(yè)生產(chǎn)中得到廣泛應(yīng)用。而PID控制技術(shù)中一個(gè)至關(guān)重要的問(wèn)題是控制器的參數(shù)整定問(wèn)題,直接影響到系統(tǒng)的控制質(zhì)量和控制器的魯棒性[1]。早期的PID 參數(shù)整定一般是依靠經(jīng)驗(yàn)豐富的工程技術(shù)人員反復(fù)湊試,費(fèi)時(shí)耗力,再加上系統(tǒng)本身的非線性、時(shí)變性等問(wèn)題,此法往往難以得到令人滿意的結(jié)果。1942年,由Ziegler和Nichols 提出的Z-N經(jīng)驗(yàn)公式法[2],用于手工計(jì)算和設(shè)置控制器初值,至今還在工業(yè)控制中應(yīng)用,但該方法獲得的參數(shù)在有負(fù)載擾動(dòng)時(shí)存在較大誤差。隨著計(jì)算機(jī)技術(shù)和人工智能理論的發(fā)展,新的參數(shù)整定方法不斷涌現(xiàn),如專家PID控制[3]、模糊PID控制[4-5]等,實(shí)現(xiàn)了參數(shù)的自整定,但因?yàn)槠湟?guī)則復(fù)雜,操作不便,其應(yīng)用受到了一定的限制;同時(shí),群智能算法如遺傳算法[6]、粒子群算法[7]、蟻群算法[8]等被不斷地應(yīng)用于PID參數(shù)的整定過(guò)程,與專家系統(tǒng)等人工智能相比,具有操作方便、速度快的優(yōu)點(diǎn),不需要復(fù)雜的規(guī)則,便可以達(dá)到參數(shù)的最優(yōu)設(shè)計(jì),引起了廣大學(xué)者的重視。
混合蛙跳算法(Shuffled Frog Leaping Algorithm, SFLA)是一種新穎的啟發(fā)式生物群智能算法[9],具有高效的計(jì)算性能和優(yōu)良的全局搜索能力,目前,已經(jīng)從最初的水資源網(wǎng)絡(luò)中的管徑優(yōu)化轉(zhuǎn)移到其它工程領(lǐng)域的優(yōu)化問(wèn)題[10-12]。本文采用SFLA進(jìn)行PID參數(shù)整定和優(yōu)化,并在MATLAB環(huán)境下實(shí)現(xiàn)該方法,通過(guò)實(shí)例仿真表明該方法的有效性,為進(jìn)一步擴(kuò)大PID控制在工業(yè)控制中的應(yīng)用打下堅(jiān)實(shí)的基礎(chǔ)。
基本思想:在一片濕地中生活著一群青蛙,濕地內(nèi)分布著許多離散的石頭,青蛙通過(guò)尋找不同的石頭進(jìn)行反復(fù)跳躍,從而去找到食物較多的地方。該算法將蛙群分成多個(gè)子群,每個(gè)子群內(nèi)青蛙借鑒粒子群優(yōu)化算法的方法進(jìn)行局部搜索,性能最差青蛙以一定的步長(zhǎng)進(jìn)行更新;而整個(gè)族群借鑒模因進(jìn)化算法的方法,周期性地進(jìn)行混合和重新分組,進(jìn)行全局信息交流,從而使信息在全局與個(gè)體間進(jìn)行交換,以便更好地尋優(yōu)。這種深度局部搜索和全局信息交換的策略能夠保證算法更大程度地落入局部最優(yōu)值,而向全局最優(yōu)靠攏[9-10]。
SFLA的基本步驟可以描述為:
1)全局搜索。
初始化:選擇種群內(nèi)青蛙個(gè)數(shù)F,子種群個(gè)數(shù)m,子群內(nèi)青蛙個(gè)數(shù)n。指定全局最大進(jìn)化代數(shù)Gmax,子群內(nèi)部最大進(jìn)化代數(shù)Lmax。
①在搜索空間隨機(jī)初始化所有F個(gè)青蛙;
②計(jì)算每個(gè)青蛙的適應(yīng)度函數(shù);
③根據(jù)適應(yīng)度對(duì)所有青蛙進(jìn)行排序,得到全局最優(yōu)青蛙Pg;
④將所有青蛙分成m個(gè)群,每個(gè)群包括n個(gè)青蛙。第1個(gè)青蛙分入第1個(gè)子群,第2個(gè)分入第2個(gè)子群,…,第m個(gè)分入第m個(gè)子群,第m+1個(gè)青蛙又分入第1個(gè)子群,以此類推;
⑤每個(gè)子群中執(zhí)行子群內(nèi)的局部搜索;
⑥重新混合所有青蛙;
⑦如果沒(méi)有達(dá)到停止的條件,轉(zhuǎn)到第②步。
2)子群內(nèi)的局部搜索。
①在每個(gè)子群中確定最優(yōu)青蛙Pb、最差青蛙Pw;
②對(duì)最差青蛙Pw進(jìn)行更新(進(jìn)化)。該青蛙的更新公式為
(1)
Pw_new=Pw+S.
(2)
式中:min( )和max( )分別是取最小值和最大值函數(shù),rand為0~1的隨機(jī)數(shù),Smax為允許青蛙跳躍的最大步長(zhǎng)。
③如果上一步產(chǎn)生一個(gè)更好的青蛙,則用它代替最差青蛙。否則,進(jìn)行下一步;
④用全局最優(yōu)Pg替換式(1)中Pb,如果找到一個(gè)更好的青蛙,則用它代替最差青蛙;如果還是不能找到性能更好的青蛙,則隨機(jī)產(chǎn)生一個(gè)青蛙代替最差青蛙;
⑤按照預(yù)定的次數(shù)重復(fù)該過(guò)程。
2.1PID參數(shù)
PID控制器是一種線性調(diào)節(jié)器,其原理如圖1所示,它根據(jù)給定值r(t)和實(shí)際輸出值c(t)構(gòu)成偏差
e(t)=r(t)-c(t).
(3)
則偏差信號(hào)e(t)分別經(jīng)過(guò)比例、積分、微分3個(gè)運(yùn)算,并將三者作用和u(t)作為控制器的輸出送入被控對(duì)象,PID控制器的控制規(guī)律為
(4)
寫成傳遞函數(shù)的形式為
可以進(jìn)一步記為
(5)
式中:Kp為比例系數(shù),Ti為積分時(shí)間,Ki=Kp/Ti為積分常數(shù),Td為微分時(shí)間,Kd=Kp/Td為微分常數(shù)。
PID參數(shù)整定即是確定最佳比例系數(shù)Kp、積分時(shí)間Ti和微分時(shí)間Td,使控制系統(tǒng)某一性能指標(biāo)達(dá)到最佳。
2.2 基于SFLA的PID參數(shù)整定
利用SFLA進(jìn)行PID參數(shù)整定的關(guān)鍵步驟如下:
1)將PID控制器的3個(gè)參數(shù)看成三維空間的一個(gè)矢量解,對(duì)應(yīng)SFLA中的每一個(gè)青蛙個(gè)體,根據(jù)經(jīng)驗(yàn)確定三參數(shù)的取值范圍,即SFLA中變量的取值范圍,以及SFLA中算法基本參數(shù)的設(shè)置。
2)PID控制模型建立。根據(jù)控制對(duì)象的傳遞函數(shù)以及PID控制器的原理,在MATLAB的Simulink環(huán)境下建立該系統(tǒng)的模型;
3)適應(yīng)度函數(shù)的選擇。適應(yīng)度評(píng)估是進(jìn)行混合蛙跳算法優(yōu)化搜索的依據(jù),而衡量PID控制器參數(shù)整定好壞的指標(biāo)亦有很多,例如過(guò)渡過(guò)程的個(gè)別品質(zhì)參數(shù)[1]以及利用幅值裕度和相角裕度的自整定方法[13],實(shí)際上,在對(duì)控制性能進(jìn)行評(píng)價(jià)時(shí),要所有的性能指標(biāo)都達(dá)到最優(yōu),幾乎是不可能的,因?yàn)楦鲄?shù)之間相互影響,其中一個(gè)達(dá)到最優(yōu),有可能會(huì)使另一個(gè)指標(biāo)的性能降低,為了達(dá)到整個(gè)系統(tǒng)綜合性能最優(yōu)化,需要采用一些能體現(xiàn)綜合性能的指標(biāo)。本文為使控制系統(tǒng)的偏差迅速減少,同時(shí)又具有較快的響應(yīng)速度、較小的超調(diào)量且有一定的振蕩和足夠的阻尼,特選擇在控制領(lǐng)域應(yīng)用最廣泛的ITAE指標(biāo)作為評(píng)價(jià)系統(tǒng)性能的綜合指標(biāo)[14],以此作為SFLA的適應(yīng)度函數(shù),理論上,該指標(biāo)越小,控制系統(tǒng)的性能越好。以此找出青蛙種群中的性能最優(yōu)青蛙和最差青蛙,進(jìn)行SFLA的迭代更新操作。
(6)
其過(guò)程如圖2所示,由此可知:混合蛙跳算法與Simulink模型之間的橋梁是青蛙個(gè)體(即PID控制器參數(shù)組成的向量)和該青蛙所對(duì)應(yīng)的適應(yīng)度值(即控制系統(tǒng)的性能指標(biāo)ITAE)。優(yōu)化過(guò)程如下:SFLA產(chǎn)生青蛙群體,將每個(gè)青蛙以此賦值給PID控制器的參數(shù)Kp,Ki,Kd,然后運(yùn)行控制系統(tǒng)的Simulink模型,得到該組參數(shù)對(duì)應(yīng)的性能指標(biāo)ITAE,再傳遞給SFLA中作為該青蛙的適應(yīng)度值,最后判斷是否可以退出SFLA,從而得到最優(yōu)的整定參數(shù)。
圖2 SFLA優(yōu)化PID的過(guò)程
在MATLAB的Simulink環(huán)境下建立該系統(tǒng)的PID控制系統(tǒng)模型如圖3所示[15],其中,仿真時(shí)間為20 s,輸出端子1的輸出值即為性能指標(biāo)ITAE。
圖3 Simulink環(huán)境下的PID控制系統(tǒng)模型
為了比較SFLA與其它群智能算法在優(yōu)化PID參數(shù)時(shí)的優(yōu)劣,根據(jù)文獻(xiàn)[13]粒子群算法與遺傳算法的參數(shù)設(shè)置情況,本文SFLA的算法參數(shù)設(shè)置:子種群數(shù)m=20,子群內(nèi)青蛙個(gè)數(shù)n=5,因此,整個(gè)種群中青蛙的數(shù)量F=100,全體種群進(jìn)行信息交換的進(jìn)化次數(shù)Gmax=100,使得兩種算法的群體規(guī)模和進(jìn)化次數(shù)(或全局迭代次數(shù))相同;另外,在SFLA中,允許最大步長(zhǎng)Smax=3。每一種群的子群局部搜索進(jìn)化次數(shù)Lmax=50。同時(shí),PID控制器只有3個(gè)參數(shù)Kp,Ki,Kd需要待定,因此,適應(yīng)度函數(shù)變量維數(shù)D=3,根據(jù)經(jīng)驗(yàn)值,3個(gè)參數(shù)的取值范圍為[0,300],故在SFLA中變量的取值范圍與此相同。
本質(zhì)上,SFLA和PSO均屬于隨機(jī)搜索算法,為了全面分析并比較計(jì)算性能,本文將基于SFLA和PSO的PID參數(shù)整定模型獨(dú)立運(yùn)行20次,其結(jié)果如表1所示。
由表1可以看出,在相同的全局迭代次數(shù)下,基于SFLA算法的求解結(jié)果,無(wú)論是最優(yōu)值、平均解,甚至于最差解,均優(yōu)于PSO算法的結(jié)果,說(shuō)明在PID的參數(shù)整定過(guò)程中,SFLA的求解精度高于PSO算法;另外,由兩種算法求解結(jié)果的標(biāo)準(zhǔn)方差可知,對(duì)于該P(yáng)ID參數(shù)的整定模型,基于SFLA的求解結(jié)果的方差均小于PSO,說(shuō)明SFLA算法的聚集性好,其穩(wěn)定性要高于PSO,這個(gè)也可以從圖4和圖5看出。
表1 基于SFLA和PSO求解得到的PID 3個(gè)最優(yōu)參數(shù)及性能指標(biāo)比較
兩種智能算法在對(duì)該模型求解時(shí),性能指標(biāo)ITAE不斷減少,說(shuō)明兩種算法均找到了PID參數(shù),其收斂速度明顯不一樣,如圖4和圖5所示,對(duì)于SFLA,基本上在20步以內(nèi)就達(dá)到了穩(wěn)定值,即使是最差解,也是在30步左右穩(wěn)定,且具有較好的精度;而PSO算法雖然也是在30步以內(nèi)達(dá)到穩(wěn)定,但因?yàn)槠浞€(wěn)定時(shí)精度較差,導(dǎo)致結(jié)果不理想,有可能是算法陷入了局部最優(yōu)而導(dǎo)致算法停滯。
圖4 基于SFLA求解的PID性能指標(biāo)ITAE的變化曲線
圖5 基于PSO求解的PID性能指標(biāo)ITAE的變化曲線
兩種智能算法求解得到最優(yōu)的PID參數(shù)后,該系統(tǒng)的階躍響應(yīng)如圖6所示,由此可知,對(duì)于不穩(wěn)定的被控對(duì)象,兩種算法智能求解得到的最優(yōu)PID控制器的參數(shù)Kp,Ki,Kd均可以使用,但是通過(guò)混合蛙跳算法整定后得到的系統(tǒng)階躍響應(yīng),其超調(diào)量比PSO算法整定的超調(diào)量小,從而相對(duì)穩(wěn)定性好, 而且調(diào)整時(shí)間快,系統(tǒng)的偏差達(dá)到最小。
圖6 基于PSO和SFLA求解得到的最優(yōu)參數(shù)對(duì)應(yīng)的單位階躍響應(yīng)曲線
1)PID控制器的參數(shù)整定對(duì)于不穩(wěn)定的實(shí)際被控系統(tǒng)至關(guān)重要,其數(shù)學(xué)模型是一個(gè)存在多個(gè)局部最優(yōu)的復(fù)雜模型,通過(guò)引入新型的智能優(yōu)化算法,從而快速、準(zhǔn)確地找到最優(yōu)參數(shù)值,是一種迫切需要的求解方法。
2)提出了基于SFLA算法的PID參數(shù)整定方法,在被控對(duì)象數(shù)學(xué)模型已知條件下,通過(guò)仿真對(duì)比試驗(yàn),無(wú)論是收斂精度和收斂速度,SFLA均優(yōu)于PSO算法,從而證明該方法在離線時(shí)整定與優(yōu)化的可行性和有效性。但將本方法用到在線整定與優(yōu)化時(shí)會(huì)涉及到SFLA算法的效率問(wèn)題,該問(wèn)題與其參數(shù)設(shè)置有關(guān),如何提高整定與優(yōu)化效率將另文討論。
[1] 韓幫華. PID控制器參數(shù)整定方法及應(yīng)用研究[D]. 青島:青島科技大學(xué), 2009.
[3] 王建平, 趙嬋娟. 基于PLC的專家PID控制算法在精密壓藥液壓機(jī)控制系統(tǒng)中的應(yīng)用[J]. 化工自動(dòng)化及儀表, 2016, 43(6):579-583.
[4] 張玲娜, 馬艷, 張建軍. PID控制與模糊PID控制在電機(jī)調(diào)速系統(tǒng)中的比較與仿真[J]. 自動(dòng)化與儀器儀表, 2016(7):52-54.
[5] 韓玉敏, 王希鳳. 基于模糊控制的鍋爐汽包水位控制系統(tǒng)的研究[J]. 黑龍江工程學(xué)院學(xué)報(bào), 2016, 30(6):20-23.
[6] 徐傳敬, 趙敏, 李天明. 一種改進(jìn)遺傳算法的PID參數(shù)整定研究[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2016, 26(9):12-15.
[7] 趙亞琪, 王景成, 張浪文,等. 基于粒子群算法的TBM液壓系統(tǒng)PID參數(shù)優(yōu)化[J]. 控制工程, 2016, 23 (8): 1242-1246.
[8] 邢峰. 蟻群參數(shù)尋優(yōu)自適應(yīng)PID控制實(shí)驗(yàn)研究[J]. 機(jī)械設(shè)計(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] 趙轉(zhuǎn)哲. 混合蛙跳算法的改進(jìn)及在旋轉(zhuǎn)機(jī)械故障診斷中的應(yīng)用研究[D]. 南京:東南大學(xué), 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 參數(shù)自整定新方法[J]. 自動(dòng)化學(xué)報(bào), 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個(gè)案例分析[M]. 北京:北京航空航天大學(xué)出版社, 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
安徽省高校自然科學(xué)研究重點(diǎn)項(xiàng)目(KJ2016A803, KJ2017A439);安徽省省級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(201510363163)
趙轉(zhuǎn)哲(1979-),男,講師,博士,研究方向:智能控制;機(jī)械故障診斷.
TG156
A
1671-4679(2017)06-0038-04
[責(zé)任編輯:郝麗英]