彭 健 曹中清
(西南交通大學機械工程學院 成都 610031)
PID控制器具有結構簡單、魯棒性好、適用性強的特點,是目前工業(yè)生產(chǎn)過程控制中運用極為廣泛的控制策略之一[1]。PID參數(shù)是PID控制器中的核心,對于PID參數(shù)的整定,許多學者進行了各種各樣的研究,其中基于群智能算法[2]的PID參數(shù)整定方法收到了良好效果。文獻[3]提出了一種基于遺傳算法的PID參數(shù)優(yōu)化方法,與Z-N方法整定的PID參數(shù)相比,系統(tǒng)具有更小的振蕩幅度和更短的振蕩時間;文獻[4]提出了一種改進遺傳算法優(yōu)化PID參數(shù)的方法,與基本的遺傳算法相比,有更高的收斂速度和收斂精度;文獻[5]提出了一種基于改進的粒子群算法的PID參數(shù)優(yōu)化方法,解決了PSO易陷入局部最優(yōu)的問題,提高了算法的尋優(yōu)能力。文獻[6]則對粒子群算法做了另一種改進,利用改進PSO優(yōu)化后的PID控制器具備更強的抗干擾能力。文獻[7]使用人群搜索方法整定PID參數(shù),精度和收斂速度都優(yōu)于PSO方法。文獻[8]則對人群搜索方法做出改進,搜索速度和精度比傳統(tǒng)人群搜索方法又有提高。得益于群智能算法的發(fā)展,利用群智能算法優(yōu)化PID參數(shù)的方法層出不窮[9~12]。本文提出了一種基于雞群優(yōu)化算法的PID參數(shù)優(yōu)化方法,通過Matlab仿真后的結果顯示,與遺傳算法和粒子群算法相比,本文方法具有更高的控制精度和更強的魯棒性,體現(xiàn)了其優(yōu)越性和有效性。
PID(Proportion-Integration-Differentiation)控制器由比例單元P、積分單元I和微分單元D構成,主要用于對基本線性和動態(tài)特性不隨時間變化的系統(tǒng)進行控制。對于不同的控制過程需要選定相應的控制參數(shù),否則控制器將達不到預期的效果[13]。
PID控制器的偏差e(t),由系統(tǒng)輸入rin(t)和系統(tǒng)輸出yout(t)構成:
PID控制器的輸出為
在計算機系統(tǒng)中,需要對PID控制器輸出進行離散化:
式中,Kp為比例系數(shù)Ti為積分時間常數(shù),Td為微分時間常數(shù),Ts為采樣時間。PID控制器輸出增量式的表達為
雞群優(yōu)化算法(Chicken Swarm Optimization,CSO)是Meng Xianbing等于2014年提出的一類基于群體智能的隨機優(yōu)化算法[14]。雞群被分為公雞、母雞、小雞三類角色,每只母雞隨機跟隨一只公雞,每只小雞隨機跟隨一只母雞,跟隨關系保持數(shù)代,公雞領導自己群體內(nèi)的母雞和小雞與其他公雞進行競爭,數(shù)代之后重新分配公雞、母雞、小雞角色。經(jīng)過數(shù)次迭代,選出最優(yōu)的雞群中最優(yōu)的個體,即為問題的最優(yōu)解。
雞群優(yōu)化算法流程具體如圖1。
圖1 雞群算法流程圖
3.2.1 參數(shù)的編碼
設雞群P中的個體的總數(shù)量為N,每個雞群個體的位置矢量由PID控制器的比例、積分、微分三個控制參數(shù)構成,個體位置矢量的維數(shù)D=3,例如,第n只雞的位置為ω3||e()
t)dt,e(t)<0。整個雞群的位置可以用一下矩陣來表示:
e(t)<0參數(shù)的取值范圍可以根據(jù)具體工程背景來決定,雞群的初始位置在相應的取值范圍內(nèi)隨機生成。
3.2.2 適應度函數(shù)的選取
為了獲取滿意的過渡過程動態(tài)特性,采用誤差絕對值的時間積分性能指標作為最小目標函數(shù)。為了防止控制能量過大,引入控制輸入平方項,目標函數(shù)為
其中,e(t)為系統(tǒng)輸入rin(t)和系統(tǒng)輸出yout(t)之間的誤差值,u(t)為PID控制器的輸出,將這一項加入適應度函數(shù)的目的是避免控制幅度過大,ω1和ω2為權重,取值范圍為[0,1]。
另外,為了避免超調(diào),在目標函數(shù)中引入了懲罰項,當出現(xiàn)超調(diào)時,誤差值會被劇烈放大,出現(xiàn)超調(diào)時的目標函數(shù)為[15]
其中,ω3為懲罰項的權重,且ω3>>ω1,,一般情況下,權重取值ω1=0.999,ω2=0.001,ω3=100。
3.2.3 雞群個體運動范圍的確定
對于雞群個體中位置矢量的每一個維度,雞群優(yōu)化算法只允許雞群個體在給定的范圍內(nèi)運動。在迭代搜尋的過程中,如果雞群個體的位置矢量超出給定的范圍,那么這些超出范圍的維度位置將被設置為邊界值。雞群個體遵循以下位置約束:
3.2.4 雞群個體的更新
在雞群個體更新的過程中,遵循以下規(guī)則:
1)在迭代開始時以及每經(jīng)過若干次迭代時,將雞群所有個體按照適應度從優(yōu)到劣的順序排列,適應度最優(yōu)的若干個體設置為公雞,其次的若干個體設置為母雞,最差的若干個體設置為小雞。
2)母雞與公雞的跟隨關系、小雞與母雞的跟隨關系都是隨機的,跟隨關系保持若干代不變。在對雞群所有個體重新設置公雞、母雞、小雞角色時,跟隨關系會重新確立。
公雞的更新公式為
式中,randn是一個服從均值為0,方差為σ2的正態(tài)分布的隨機數(shù)。eps是一個很小的正數(shù),為從所有公雞中隨機選取的個體的適應度值且k不等于i。為第t次迭代時,全局最優(yōu)的個體。
母雞的更新公式為
式中,rand為服從[0,1]上均勻分布的隨機數(shù),eps為一個非常小的正數(shù),r為第i只母雞跟隨的公雞,h為其他母雞中隨機抽取的個體,且h≠i。
小雞的更新公式為
式中,m為第i只小雞跟隨的母雞,r為母雞m跟隨的公雞,C3和C4是服從[0,2]上均勻分布的隨機數(shù),ω為慣性權重系數(shù),它按照以下公式計算[16]:
其中,t為當前迭代次數(shù),maxgen為最大迭代次數(shù)。慣性權重ω可以影響雞群算法的局部最優(yōu)能力和全局最優(yōu)能力。較大的ω有利于提高雞群算法的全局搜索能力,而較小的ω會增強算法的局部搜索能力。
3.2.5 整定流程
基于CSO的PID參數(shù)整定原理如圖2所示。
圖2 基于CSO的PID參數(shù)整定原理圖
用于PID參數(shù)整定的CSO算法流程如下:
1)初始化雞群參數(shù),隨機產(chǎn)生一個N×D的雞群矩陣。
2)根據(jù)公式計算雞群個體的適應度值,記錄最優(yōu)個體位置和最優(yōu)適應度值。
3)將雞群按照適應度優(yōu)劣進行排序,給雞群分配公雞、母雞和小雞的角色。
4)根據(jù)公式更新公雞、母雞和小雞的位置并計算適應度,記錄雞群中最優(yōu)個體位置和最優(yōu)適應度值。
5)檢查是否達到最大迭代次數(shù),是則進入步驟6),否則結束迭代并輸出最優(yōu)個體和最優(yōu)適應度值。
6)檢查是否滿足雞群角色更新條件,是則返回步驟3),否則返回步驟4)。
在過程控制中,許多系統(tǒng)常常被近似為一階或者是二階的典型系統(tǒng),本文選取二階延遲系統(tǒng)作為控制對象,利用雞群優(yōu)化算法(CSO)對系統(tǒng)PID控制器參數(shù)進行整定,并將其與粒子群算法(PSO)、遺傳算法(GA)、人群搜索算法(SOA)進行對比。選取的二階系統(tǒng)的傳遞函數(shù)如下:
對以上系統(tǒng)進行仿真,設雞群個體數(shù)量為60,公雞母雞和小雞的比例分別為0.2、0.4、0.4,最大迭代次數(shù)為100代;Kp,Ki,Kd三個參數(shù)搜索范圍為[0,100];輸入信號為單位階躍信號,采樣時間間隔為0.001s,仿真時間為2s。四種算法各個參數(shù)的選取如表1所示。
表1 各算法參數(shù)設置
表1中,N為種群數(shù)量,w為慣性因子,wmax為權重上限,wmin為權重下限,Pc為染色體交叉互換概率,Pm為染色體突變概率,Umax為隸屬度上限,Umin為隸屬度下限。
利用CSO、PSO、GA、SOA算法對選取的二階系統(tǒng)進行仿真,得到各個算法的適應度函數(shù)變化曲線和系統(tǒng)階躍響應輸出曲線分別如圖3和圖4所示。
圖3 適應度值變化曲線
從適應度值變化曲線可以看出,CSO算法的變化曲線下降速度和收斂代數(shù)都比另外三種算法要好,這說明CSO算法在收斂性上具有明顯優(yōu)勢。
從系統(tǒng)階躍響應曲線可以看出,CSO算法的超調(diào)量比另外三種算法小,調(diào)整時間也比另外三種算法短,這說明CSO算法優(yōu)化的系統(tǒng)穩(wěn)定性要更好。
圖4 系統(tǒng)階躍響應輸出曲線
為了定量比較這幾種算法的優(yōu)劣,結合以上適應度函數(shù)曲線和系統(tǒng)階躍響應曲線,選取了最小適應度值fmin、超調(diào)量Mp、調(diào)整時間ts(±2%)三項評價指標,并將幾種算法優(yōu)化得到的PID參數(shù)一并羅列比較,如表2所示。
表2 各算法整定的PID參數(shù)及評價指標數(shù)值
從適應度值可以看出,CSO算法的精度高于其他三種算法,從超調(diào)量和調(diào)整時間上可以看出,相比于另外三種算法,經(jīng)過CSO優(yōu)化的系統(tǒng)超調(diào)量更小,調(diào)整時間也更短,能夠更快地進入穩(wěn)定狀態(tài)。綜上所述,在PID參數(shù)整定上,CSO算法收斂速度更快,精度更高,其系統(tǒng)也具有更強的魯棒性,CSO算法具有明顯的優(yōu)越性。
針對PID參數(shù)的優(yōu)化問題,本文提出了一種基于雞群優(yōu)化算法的PID參數(shù)優(yōu)化方法,并以二階時滯系統(tǒng)為例,使用Matlab軟件對其進行仿真實驗。仿真的結果表明,與基于GA、PSO和SOA的PID參數(shù)優(yōu)化方法相比,本文方法具有更高的控制精度和更快的收斂速度,在優(yōu)化PID參數(shù)的問題上具有優(yōu)越性,可以為系統(tǒng)PID參數(shù)整定提供參考依據(jù)。可以預見,該方法在工業(yè)控制自動化方面會有不錯的應用前景。