湯 偉, 馮曉會, 孫振宇, 袁志敏, 宋 夢
(1.陜西科技大學 電氣與信息工程學院, 陜西 西安 710021; 2.陜西科技大學 輕工科學與工程學院, 陜西 西安 710021; 3.陜西科技大學 工業(yè)自動化研究所, 陜西 西安 710021)
基于蟻群算法的PID參數(shù)優(yōu)化
湯 偉1,3, 馮曉會1,3, 孫振宇2,3, 袁志敏1,3, 宋 夢1,3
(1.陜西科技大學 電氣與信息工程學院, 陜西 西安 710021; 2.陜西科技大學 輕工科學與工程學院, 陜西 西安 710021; 3.陜西科技大學 工業(yè)自動化研究所, 陜西 西安 710021)
針對常規(guī)整定方法下的PID控制器參數(shù)整定一般離不開人工經(jīng)驗調整,且難以得到最佳參數(shù)的缺點,提出一種基于蟻群算法的PID參數(shù)整定方法,利用Ziegler-Nichol法確定參數(shù)的搜索范圍,在二次型性能指標下對PID控制器的參數(shù)進行優(yōu)化,通過與Ziegler-Nichol法、單純形法的控制效果進行對比,可以得出該整定方法得到的控制系統(tǒng)具有更強的抗干擾能力和魯棒性.文中還研究了二次型性能指標可調參數(shù) 對優(yōu)化結果的影響,MATLAB仿真結果表明,在二次型性能指標下控制效果更好.
蟻群算法; 二次型性能指標; PID控制器; 參數(shù)優(yōu)化
PID控制是目前應用最為廣泛的控制策略,以其簡單清晰的結構、良好的魯棒性和廣泛的適用范圍,深受工業(yè)界的青睞,并且日益受到控制理論界的重視[1].然而,PID控制器控制效果的好壞與其參數(shù)整定有很大關系[2].常規(guī)的PID控制器參數(shù)整定的方法很多,概括起來有兩大類:一是實驗試湊法,它主要依賴調試經(jīng)驗,方法簡單、易于掌握,在工程實際中被廣泛采用,但根據(jù)參數(shù)湊試法得出的控制器參數(shù)的控制效果往往并不是很理想,而且手動調整控制器參數(shù)找到較優(yōu)值費時又費力;二是理論計算整定法,它主要是依據(jù)系統(tǒng)的數(shù)學模型,經(jīng)過理論計算確定控制器參數(shù),這種方法所得到的計算數(shù)據(jù)還必須通過工程實際進行調整和修改[3-5].因此利用一種優(yōu)化算法對控制器參數(shù)進行優(yōu)化是非常必要的[6].
單純形法PID控制器參數(shù)整定方法,方法簡單,局部搜索能力強,具有超調小過渡平緩的控制效果,但該方法依賴初始值,且得到的結果往往響應速度不夠快[7-9].蟻群算法是基于種群的啟發(fā)式仿生進化算法,該算法采用的正反饋機制與分布式并行計算機制[10],易于與其它方法結合,具有較強的收斂性和魯棒性,特別適用于組合優(yōu)化問題的求解[11].本文提出了一種基于蟻群算法的PID控制器參數(shù)整定方法,利用Z-N(Ziegler-Nichol)法確定參數(shù)的搜索范圍,選用二次型性能指標作為目標函數(shù)對PID控制器參數(shù)進行優(yōu)化,使系統(tǒng)達到最優(yōu)控制.
蟻群算法是一種基于種群的啟發(fā)式搜索算法,其靈感來源于螞蟻在尋找食物過程中發(fā)現(xiàn)路徑的行為,螞蟻在尋找路徑時會在路徑上釋放出一種特殊的信息素.當它們碰到一個還沒有走過的路口時,就隨機地挑選一條路徑前行并釋放信息素.路徑越短走過的螞蟻越多,這種信息素的濃度也就越高.之后螞蟻選擇激素濃度較高路徑概率就會相對較大.這樣形成一個正反饋.最優(yōu)路徑上的激素濃度越來越大,而其它的路徑上激素濃度卻會隨著時間的流逝而消減,最終整個蟻群會找出最優(yōu)路徑[12].
蟻群算法的核心思想有三條:選擇機制,螞蟻按狀態(tài)轉移概率進行路徑選擇,信息素越多的路徑,得到的狀態(tài)轉移概率越大,被選擇的可能性越高;信息素更新機制,路徑越短,信息素增加越快;協(xié)作機制,螞蟻個體之間通過信息素進行信息交流.
2.1 PID控制原理
PID控制系統(tǒng)框圖如圖1所示.
圖1 PID控制系統(tǒng)框圖
在PID控制器系統(tǒng)中,r(t)為輸入量,y(t)為輸出量,u(t)為控制器輸出量,PID控制是按偏差e的比例、微分和積分的線性組合來控制的一種調節(jié)器,可描述為:
(1)
式(1)中:Kp為比例系數(shù),Ti為積分時間系數(shù),Td為微分時間系數(shù),進一步可描述為:
(2)
式(2)中:Ki=Kp/Ti為積分系數(shù),Kd=Kp·Kd,上式中有Kp、Ki和Kd3個參數(shù)需要確定,使得決定控制系統(tǒng)特性的某一性能指標達到最佳.
(3)
式(3)中:ρ為可調參數(shù),一般取值范圍為[0,1].
2.2 基于蟻群算法的PID參數(shù)尋優(yōu)
蟻群算法優(yōu)化PID參數(shù)就是尋找Kp、Ki、Kd的最優(yōu)值,把Kp、Ki、Kd作為一個組合,螞蟻在搜索空間中在信息素的指引下不斷調整路徑,最終找到最優(yōu)的路徑,最優(yōu)路徑所對應數(shù)值即為PID控制器的最優(yōu)參數(shù).基于蟻群算法的PID控制系統(tǒng)框圖如圖2所示.
圖2 基于蟻群算法的PID控制系統(tǒng)框圖
2.2.1 節(jié)點和路徑的建立[14]
實現(xiàn)螞蟻的尋優(yōu)過程就要建立螞蟻尋優(yōu)所需的節(jié)點與路徑.假設Kp、Ki、Kd均有4位小數(shù),則各需要5個數(shù)字來表示,共需15個數(shù)字,根據(jù)Z-N法得到的參數(shù)值確定Kp、Ki、Kd小數(shù)點前1位,小數(shù)點后4位,每位數(shù)值的取值范圍均為[0,9],體現(xiàn)在OXY平面上如圖3所示.其中橫坐標為Kp、Ki、Kd所需的15位數(shù)字,縱坐標為每位數(shù)字可能對應的數(shù)值,15條等間距且垂直于X軸的線段ai(i=1~15)與9條等間距且垂直于Y軸的線段的交點構成所需節(jié)點,用符號C(xi,yai)表示一個節(jié)點.
圖3 節(jié)點和路徑示意圖
假如螞蟻k從原點出發(fā),當它爬行到ai線段上任意一點時,完成一次循環(huán),螞蟻的爬行路徑可以表示為:
原點→C(x1,ya1)→C(x2,ya2)→C(x3,ya3)
→C(x4,ya4)→C(x5,ya5)→C(x6,ya6)
→C(x7,ya7)→C(x8,ya8)→C(x9,ya9)
→C(x10,ya10)→C(x11,ya11)→C(x12,ya12)
→C(x13,ya13)→C(x14,ya14)→C(x15,ya15)
其中節(jié)點C(xi,yai)在線段ai上,該路徑表示的Kp、Ki、Kd的值為:
(4)
在實際設置各節(jié)點的過程中,可以利用Z-N法整定出的Kp*、Ki*、Kd*按式(5)[15]確定螞蟻實際搜索的范圍,使螞蟻在有可能出現(xiàn)最優(yōu)解的范圍內(nèi)進行搜索,加快蟻群算法的收斂速度.
(5)
式(5)中:ε為[0,1]內(nèi)選定的某一數(shù)值.
2.2.2 路徑選擇與信息素更新
螞蟻在搜索空間中在信息素的指引下不斷選擇并調整路徑,恰當?shù)臓顟B(tài)轉移概率計算方法和信息素更新方法在很大程度上決定著算法性能的優(yōu)劣.
(1)本文中螞蟻的狀態(tài)轉移概率按式(6)計算
(6)
式(6)中:t為當前時刻,τ(xi,yai,t)為t時刻節(jié)點C(xi,yai)上遺留的信息素,η(xi,yai,t)為t時刻節(jié)點C(xi,yai)上信息能見度,按式(7)確定,α為遺留信息量的重要程度,β為啟發(fā)信息的重要程度.
η(xi,yai,t)=η(xi,yai,t)+Δη(xi,yai,t)
(7)
式(7)中:Δη(xi,yai,t)為t時刻節(jié)點C(xi,yai)上信息能見度的變化量,按式(8)確定.
(8)
(2)節(jié)點信息素更新按式(9)確定
τ(xn,yan,t)=(1-γ)τ(xn,yan,t)+Δτ(xn,yan,t)
(9)
式(9)中:γ為信息素揮發(fā)系數(shù),Δτ(xn,yan,t)為t時刻節(jié)點C(xi,yai)上的信息素的總變化量,按式(10)確定.
(10)
式(10)中:Δτ(xi,yai,t)為每只螞蟻爬過后節(jié)點C(xi,yai)上的信息素的變化量,按式(11)確定.
(11)
式(11)中:Q為信息素強度.
2.2.3 基于蟻群算法的PID參數(shù)優(yōu)化步驟
(1)初始化
①生成節(jié)點矩陣,設置蟻群規(guī)模m,遺留信息素的重要程度α,啟發(fā)信息的重要程度β,信息素揮發(fā)系數(shù)γ,信息素強度Q,最大迭代次數(shù)NC_max;
②設置遺留信息素τ和信息素能見度η為常量;
(2)尋優(yōu)
①將螞蟻放在原點,開始爬行,按式(6)計算待訪問的各節(jié)點的狀態(tài)轉移概率P;
②rand生成[0,1]內(nèi)的隨機數(shù),尋找狀態(tài)轉移概率大于該隨機數(shù)的節(jié)點,選擇第一個作為下一個爬行的節(jié)點;
③當螞蟻爬過ai線段上任意一點時,完成一次循環(huán),記錄爬過的節(jié)點的縱坐標;
④當全部螞蟻完成一次爬行,按式(4)計算Kp、Ki、Kd,并賦給PID控制器;
⑤運行控制系統(tǒng)模型,得到目標函數(shù)值,并返回,記錄本次最優(yōu)結果;
(3)按式(9)更新信息素,NC=NC+1;
(4)進入下一次循環(huán)直到到達NC_max,輸出最優(yōu)Kp、Ki、Kd,具體程序流程圖如圖4所示.
圖4 程序流程圖
在MATLAB中進行仿真實驗,在Simulink中建立PID控制系統(tǒng)模型,運行蟻群算法m文件調用PID控制系統(tǒng)模型,給Kp、Ki、Kd賦值,運行PID控制系統(tǒng)模型并返回目標函數(shù)值,為蟻群算法判斷當前結果的優(yōu)劣提供依據(jù),從而尋找最優(yōu)結果.采用二次型性能指標的PID控制系統(tǒng)模型如圖5所示.
圖5 PID控制系統(tǒng)模型
(1)在控制工程中二階系統(tǒng)極為普遍,而且不少高階系統(tǒng)的特性在一定條件下可用二階系統(tǒng)的特征來表征,所以選取二階系統(tǒng)作為被控對象具有較大的實際意義.本文選取的帶有時滯環(huán)節(jié)的二階系統(tǒng)為被控對象,該系統(tǒng)阻尼系數(shù)ζ=0.54,自然震蕩頻率ωn=0.2,為欠阻尼二階系統(tǒng),在單位階躍信號下,系統(tǒng)響應表現(xiàn)為衰減震蕩,超調量為30%,調節(jié)時間約為250 s.
為了驗證本文提出的蟻群算法的優(yōu)越性,本文將該優(yōu)化方法的結果與Z-N法、單純形法的控制效果進行對比分析.利用Z-N法得到的PID控制參數(shù)為Kp=1.768 9,Ki=0.202 1,Kd=3.715 5,利用單純形法得到的PID控制參數(shù)為Kp=0.835 0,Ki=0.129 2,Kd=8.787 0[16].對于蟻群算法時,設置各參數(shù)為:m=10,NC_max=20,α=1,β=1.5,γ=0.1,Q=10,ρ=0.4,ε=0.5.在第2 s給定一階躍為1的輸入信號,使整個系統(tǒng)運行,并在110 s加入幅值為0.2擾動,得到的最優(yōu)控制參數(shù)為Kp=1.107 4,Ki=0.119 3,Kd=7.130 5.系統(tǒng)響應曲線如圖6所示.
圖6 系統(tǒng)響應曲線圖
三種方法的系統(tǒng)動態(tài)性能參數(shù)和系統(tǒng)抗擾性能參數(shù)如表1和表2所示.
表1 系統(tǒng)階躍響應性能分析
表2 系統(tǒng)抗擾性能分析
表1中列出超調量δ、調整時間ts、上升時間tr以及震蕩次數(shù)N,表2列出了系統(tǒng)擾動調節(jié)時間tv和系統(tǒng)的動態(tài)降落△y.由表中數(shù)據(jù)可以看出利用Z-N法得到的PID控制系統(tǒng)響應最快,但卻出現(xiàn)了極大的超調量和強烈的波動,利用單純形優(yōu)化方法得到的PID控制系統(tǒng)相比于Z-N法,有較小的超調量和動態(tài)降落,且過渡平穩(wěn),控制效果較好,但上升時間、調整時間以及擾動調節(jié)時間均變長,而利用蟻群算法得到的PID控制系統(tǒng)不僅階躍響應上升和擾動響應速度快,而且超調量明顯減少且過渡平穩(wěn),體現(xiàn)出更快的響應速度與更好的抗干擾性.
(2)為了保證控制系統(tǒng)的效果,改變系統(tǒng)模型的部分參數(shù),分別取ζ=0.76,ωn=0.2和ζ=0.25,ωn=0.2比較三種方法在模型失配的情況下的適應能力.仿真效果如圖7和圖8所示.
圖7 模型失配ζ=0.76時系統(tǒng)響應曲線圖
圖8 模型失配ζ=0.25時系統(tǒng)響應曲線圖
由圖7可以看出,當阻尼系數(shù)增加時單純形法的控制效果略有下降,出現(xiàn)了輕微波動,同時超調量也變大,而Z-N法和蟻群算法的控制效果變好,但Z-N法得到的PID控制系統(tǒng)仍存在較大超調量,調節(jié)時間長,蟻群算法得到的PID控制系統(tǒng)超調量為0,響應速度也變快,控制效果更好.
由圖8可以看出,當阻尼系數(shù)減小時,Z-N法得到的PID控制系統(tǒng)出現(xiàn)了劇烈震蕩,相比之下單純形法得到的PID控制系統(tǒng)和蟻群算法得到的PID控制系統(tǒng)超調量只是略微增加,調節(jié)時間稍有變長,但單純形優(yōu)化方法得到的PID控制系統(tǒng)出現(xiàn)輕微的波動,蟻群算法得到的PID控制系統(tǒng)調整時間短、超調小、過渡平穩(wěn),控制效果更好.因此,蟻群算法得到的PID控制系統(tǒng)體現(xiàn)出更好的魯棒性.
(3)為了研究基于蟻群算法的PID參數(shù)優(yōu)化方法的適應范圍,選取帶有滯后環(huán)節(jié)的一階系統(tǒng)作為被控對象進行仿真實驗:
取τ=2和τ=5,分別構成小時滯系統(tǒng)和大時滯系統(tǒng),其仿真效果如圖9和圖10所示.
圖9 一階小時滯系統(tǒng)響應曲線圖
圖10 一階大時滯系統(tǒng)響應曲線圖
從圖9可以看出,對于小時滯系統(tǒng),由蟻群算法得到的PID控制系統(tǒng)超調量小,響應迅速,過渡平穩(wěn),
具有更好的控制效果;由圖10可以看出,對于大時滯系統(tǒng)三種方法的控制效果都不是很理想,但三者之中蟻群算法得到的PID控制系統(tǒng)仍具有最好的控制效果.
通過以上的比較,從響應性、抗干擾性、魯棒性和適應性這幾個方面的比較可以得出結論,蟻群算法得到的PID控制系統(tǒng)具有更好的性能.
(4)為了研究二次型性能指標常數(shù)ρ對優(yōu)化結果的影響,以二階系統(tǒng)為被控對象,令ρ值分別為0,0.2,0.4,0.6,0.8,1,利用蟻群算法得到對應的最優(yōu)PID控制參數(shù),進而得到系統(tǒng)響應曲線如圖11所示,圖中ρ表示為rou.
由圖11可以看出,當ρ=0,即忽略控制信號影響時,系統(tǒng)階躍響應最快,響應曲線峰值和超調量均最大,震蕩嚴重.隨著ρ的增加,系統(tǒng)階躍響應變慢,調節(jié)時間變長,響應曲線峰值和超調量逐漸減小,但當ρ到某個值時,系統(tǒng)響應曲線峰值和超調量均逐漸增大,再次出現(xiàn)輕微震蕩現(xiàn)象,對于該被控對象ρ在[0.2,0.4]的范圍內(nèi)取值可以得到較好的控制效果.所以控制信號以合適的比重對系統(tǒng)產(chǎn)生作用時,系統(tǒng)有最好的性能,比重過大或者過小,都難以取得好的控制效果.
圖11 不同ρ值下的系統(tǒng)響應曲線圖
本文提出的基于蟻群算法的PID參數(shù)整定方法,充分利用了Z-N法的內(nèi)核,可以快速準確地找到PID控制器的最佳參數(shù),從響應性、抗干擾性、魯棒性和適應性這幾個方面的比較可以得出結論,蟻群算法得到的PID控制系統(tǒng)具有更好的性能,該整定方法為PID控制器參數(shù)的人工經(jīng)驗調整提供了一種有效的替代方法.對二次型性能指標可調參數(shù)ρ對優(yōu)化結果影響的研究得出采用蟻群算法優(yōu)化后的結果的好壞,除了取決于算法本身外,還取決于所選用的性能指標,合適的性能指標有利于找到更適合工程應用的最優(yōu)解.
[1] 楊 智,朱海鋒,黃以華,等.PID控制器設計與參數(shù)整定方法綜述[J].化工自動化及儀表,2005,32(5):1-7.
[2] 王 偉,張晶濤,柴天佑,等.PID參數(shù)先進整定方法綜述[J].自動化學報,2000,26(3):347-355.
[3] 魏 韡,梅生偉,張雪敏,等.先進控制理論在電力系統(tǒng)中的應用綜述及展望[J].電力系統(tǒng)保護與控制,2013,41(12):143-153.
[4] 楊 智.工業(yè)自整定PID調節(jié)器關鍵設計技術綜述[J].化工自動化及儀表,2000,27(2):5-10.
[5] 李軍軍,吳燕翔,甘世紅,等.基于梯度PSO算法的PID參數(shù)整定[J].科學技術與工程,2009,9(9):2 463-2 467.
[6] Comions P,Munro N.PID controller tuning methods and design to specification[J].IEE Proceedings Control Theory and Applications,2002,149(1):46-53.
[7] 朱學貴,王 毅,昝建明,等.基于單純形法的神經(jīng)元PID控制器學習參數(shù)優(yōu)化[J].系統(tǒng)仿真學報,2006,18(11):3 030-3 033,3 037.
[8] 張 磊.基于單純形法的PID控制器的最優(yōu)設計[J].信息與控制,2004,33(3):376-379.
[9] 劉曉謙,王 勇,穆順勇,等.基于單純形法的PID控制器參數(shù)優(yōu)化設計[J].計算機仿真,2004,21(11):191-193,227.
[10] 石 釗,葛連升.一種解多QoS約束組播問題的改進蟻群算法[J].山東大學學報(理學版),2007,42(9):41-45.
[11] 吳 斌,史忠植.一種基于蟻群算法的TSP問題分段求解算法[J].計算機學報,2001,24(12):1 328-1 333.
[12] 段海濱.蟻群算法原理及其應用[M].北京:科學出版社,2005.
[13] 劉長良,馬增輝,開平安,等.基于間隙度量和二次型優(yōu)化的電站主汽溫控制[J].中國電機工程學報,2014,34(32):5 771-5 778.
[14] 李 靜,劉 學,趙 健,等.基于蟻群尋優(yōu)的汽車牽引力PID控制參數(shù)整定[J].吉林大學學報(工學版),2008,38(4):769-772.
[15] 詹士昌,吳 俊.基于蟻群算法的PID參數(shù)優(yōu)化設計[J].測控技術,2004,23(1):69-71,75.
[16] 王 偉,于軍琪.基于單純形法的最優(yōu)PID控制器設計[J].裝備制造技術,2009(6):77-78,141.
【責任編輯:蔣亞儒】
Parameters optimization of PID controller based on ant colony algorithm
TANG Wei1,3, FENG Xiao-hui1,3, SUN Zhen-yu2,3, YUAN Zhi-min1,3, SONG Meng1,3
(1.College of Electrical and Information Engineering, Shaanxi University of Science & Technology, Xi′an 710021, China; 2.College of Bioresources Chemical and Materials Engineering, Shaanxi University of Science & Technology, Xi′an 710021, China; 3.Industrial Automation Institute, Shaanxi University of Science & Technology, Xi′an 710021, China)
To solve the problem that the conventional tuning method for the PID controller needs extra adjustments based on human experience and it is difficult to get the best parameters,a PID parameters tuning method based on ant colony algorithm is presented,in which Ziegler-Nichol method tuning is used to determine the search range and the parameters of the PID controller is optimized under the quadratic performance index.Compared with the effects of Ziegler-Nichol method and simplex method,this method shows a stronger anti-jamming ability and robustness.Besides,the influence of the adjustable parameter of the quadratic performance index on the optimization results is studied.The MATLAB simulation results show that the control effect is better under the quadratic performance index.
ant colony algorithm; quadratic performance index; PID controller; parameters optimization
2016-12-11 基金項目:陜西省科技廳重點科技創(chuàng)新團隊計劃項目(2014KCT-15); 陜西省科技廳科技統(tǒng)籌創(chuàng)新工程計劃項目(2016KTCQ01-35)
湯 偉(1971-),男,河南信陽人,教授,博士,研究方向:工業(yè)過程高級控制、大時滯過程控制及應用
1000-5811(2017)02-0147-07
TP273
A