吳延凱, 張 偉
(上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093)
隨著社會的發(fā)展進(jìn)步,PID的參數(shù)調(diào)節(jié)方法同樣也在不斷地進(jìn)步。1942年,Ziegler和Nichols運用一階慣性加延遲對象的PID控制器參數(shù)整定,也即Z-N方法,這為PID控制器的進(jìn)步奠定了基礎(chǔ)[1]。1970年,Astrom和Hagglund在臨界比例度原理上,結(jié)合ISTE標(biāo)準(zhǔn),提出使用基于臨界信息的相幅裕度設(shè)置參數(shù),并給出了參數(shù)整定公式,解決了Z-N法整定時間長、臨界穩(wěn)定的缺點[2]。隨后,針對運用Z-N法得到的PID參數(shù)在實際控制中往往會引起系統(tǒng)響應(yīng)的過度超調(diào)、過度振蕩等不符合工藝要求的結(jié)果,C.C.Hang在原始Z-N法的基礎(chǔ)上,在Z-N法中增加了設(shè)定值權(quán)值和積分時間修正系數(shù),很好地解決了這些缺點[3]。2011年,Karunagaran等人創(chuàng)建了一種基于二自由度并行控制結(jié)構(gòu)的PID控制器,改善了單自由度PID控制器不能同時兼顧目標(biāo)值跟蹤特性及外擾動抑制特性的缺點[4]。
目前,火電廠的火電機組控制回路正向著大容量,高參數(shù)的方向發(fā)展,對控制系統(tǒng)的可靠性和精度提出了更為嚴(yán)格的要求[5]。尤其是對鍋爐的主蒸汽溫度的控制上,顯示出了更為嚴(yán)格的要求,因為主汽溫的值嚴(yán)重影響著火電機組能否正常的運行[6]。在此環(huán)境下,本文提出了一種基于遺傳算法的二自由度PID控制器的多參數(shù)智能調(diào)節(jié)方法。保證主汽溫維持平衡,以確?;痣姀S的火電機組控制回路更有效的運轉(zhuǎn)。針對PID的多目標(biāo)優(yōu)化問題,采用自適應(yīng)遺傳算法對二自由度PID控制器的參數(shù)進(jìn)行調(diào)節(jié)與優(yōu)化。由控制系統(tǒng)的性能需求,對每一項指標(biāo)值進(jìn)行適當(dāng)?shù)募訖?quán),并實時優(yōu)化。最終通過仿真證明,基于遺傳算法改進(jìn)的二自由度PID要優(yōu)于文獻(xiàn)[7]中的二自由度并行控制結(jié)構(gòu)PID,在各項性能指標(biāo)值、目標(biāo)值跟蹤特性及抗擾動特性上有著極大程度地改善,能夠更好地應(yīng)用于主汽溫的控制上。
在工業(yè)生產(chǎn)中,由于PID控制器具有良好的控制性能,故被廣泛的應(yīng)用。尤其是用在生產(chǎn)過程中干擾作用強,被控制對象的極易變化,并且對控制的需求要求很高的地方。一般情況下,PID控制器將比例、積分及微分調(diào)節(jié)三者組合在一起,各自發(fā)揮出各自的長處,共同對被控對象進(jìn)行良好的控制[8]。
在常規(guī)的單自由度PID控制器中,它僅有唯一的一個PID可以進(jìn)行調(diào)節(jié)。這樣,就會出現(xiàn)一個問題:控制系統(tǒng)不能同時使得系統(tǒng)的抑制擾動的能力和目標(biāo)值的追蹤同步的到達(dá)最佳控制效果。當(dāng)利用抗干擾性質(zhì)調(diào)整PID的參數(shù)時,就不能保證目標(biāo)值的追蹤效果是好的;相應(yīng)的,當(dāng)利用目標(biāo)值的追蹤性質(zhì)調(diào)整PID的參數(shù)時,會讓系統(tǒng)在抑制擾動方面的性能下降[9]。對待這一問題,只能采用一種兩者同時兼顧的方法來進(jìn)行PID控制器參數(shù)的調(diào)節(jié)。因此,二自由度的PID控制器就應(yīng)運而生,并在實際應(yīng)用中取得了良好的效果[10]。與一般的單自由度PID相比較,二自由度的PID大大提高了目標(biāo)值的跟蹤特性和抑制干擾的特性。如圖1所示為文獻(xiàn)[7]中提出的一種二自由度并行控制結(jié)構(gòu)PID控制器的原理框圖。
圖1 二自由度并行控制結(jié)構(gòu)PID控制器原理圖
其中,r(t)為系統(tǒng)輸入,d(t)為擾動輸入,u1(t)為PD輸出,u2(t)為PID輸出,u(t)為兩個控制器輸出的疊加,y(t)為系統(tǒng)輸出。
對于PD(Gc1),主要調(diào)節(jié)跟蹤特性,其控制方程可表示為:
Gc1(s)=Kc1(1+Td1s)
(1)
對于PID(Gc2),主要調(diào)節(jié)抗擾動特性,其表達(dá)式為:
(2)
該二自由度并行控制結(jié)構(gòu)的閉環(huán)輸出表達(dá)式為:
(3)
在二自由度PID的參數(shù)調(diào)整過程中,采?。篏p=Gm,則可表示為:
(4)
在式(1)和(2)中,Kc1和Kc2為控制器增益,Td1和Td2為微分時間常數(shù),Ti2為積分時間常數(shù)。比例調(diào)節(jié)的過程簡單迅速,并且參數(shù)的調(diào)節(jié)也很方便,但結(jié)果有一定的殘差。積分調(diào)節(jié)可以很好地減小系統(tǒng)的不平穩(wěn)而帶來的穩(wěn)態(tài)誤差,它的缺點就是會減緩系統(tǒng)的控制速率。微分調(diào)節(jié)則具有超前調(diào)節(jié)的作用,因此在處理嚴(yán)重滯后的對象時會具有良好的成效。因此,在實際中常把比例、積分、微分調(diào)節(jié)這3者結(jié)合起來使用。尤其是利用二自由度并行控制結(jié)構(gòu)的PID,它可以在實際控制中達(dá)到更加良好的調(diào)節(jié)效果。
基于遺傳算法的改進(jìn)二自由度PID控制器的設(shè)計由兩部分組成:一般的二自由度PID控制器和遺傳算法模塊組成。被控制對象由二自由度PID進(jìn)行重復(fù)性的控制,而對于遺傳算法,它按照對應(yīng)的算法流程,對二自由度PID的Kc1、Kc2、Td1、Td2、Ti2這5個參數(shù)進(jìn)行一代代的優(yōu)化下去。同時,不斷地同步調(diào)整PID的這5個參數(shù)值,快速找出最優(yōu)值,以便于讓主汽溫控制系統(tǒng)的目標(biāo)值跟蹤特性和抗擾動特性能同步快速到達(dá)最佳控制狀態(tài)。這樣,系統(tǒng)就能夠快速穩(wěn)定的輸出。遺傳算法模塊中將二自由度PID的Kc1、Kc2、Td1、Td2、Ti2這5個參數(shù)整合在一起作為遺傳算法中的每個個體。根據(jù)遺傳算法流程對個體編碼,計算每個個體的適應(yīng)度,對種群進(jìn)行選擇、交叉及變異操作,這樣可以使種群不斷繁殖延續(xù),直到尋到全局的最優(yōu)值為止。GA-二自由度PID結(jié)構(gòu)原理圖如圖2所示。
圖2 GA-二自由度PID控制器原理圖
根據(jù)遺傳算法的實現(xiàn)過程,對種群進(jìn)行迭代尋優(yōu)操作,這個過程將一直持續(xù)下去,直到尋到一個最優(yōu)解為止[11]。遺傳算法的操作步驟如下:
Step1 初始化群體生成: 首先利用隨機函數(shù)產(chǎn)生一個n=100的種群。
Step2 編碼方式: 接著利用二進(jìn)制編碼,把Kc1、Kc2、Td1、Td2和Ti25個參數(shù)組合在一起,形成一條染色體。
Step3 適應(yīng)度函數(shù)的選取: 適應(yīng)度函數(shù)的選取是至關(guān)重要的,選擇一個合適、優(yōu)良的適應(yīng)度函數(shù)對整個尋優(yōu)過程有著重要意義,它可以直觀地表達(dá)出個體的好壞。
Step4 選擇操作: 對于種群中每個個體的選擇,要根據(jù)Step3中的適應(yīng)度函數(shù)對每個個體所計算出來的適應(yīng)度數(shù)值來衡量。此外,如果種群中每一代的個體數(shù)選擇得當(dāng),對遺傳算法的尋優(yōu)有著極大的幫助,可以避免種群的快速早熟而帶來的尋優(yōu)過早結(jié)束問題。
Step5 交叉操作: 根據(jù)實際情況,此次使用單點交叉來進(jìn)行。
Step6 變異操作: 自然界中,由于各種因素會導(dǎo)致生物基因的突變,進(jìn)而導(dǎo)致個體變異,表現(xiàn)出新的特征。同樣,在遺傳算法中,也可以人為地加入一些變異,使群體有更多的表現(xiàn)型,增加種群的多樣性。
Step7 解碼: 當(dāng)尋優(yōu)結(jié)束之后,就要對找到的最優(yōu)值做解碼操作,也即把對應(yīng)的二進(jìn)制數(shù)值變?yōu)槭M(jìn)制數(shù)值。具體的實現(xiàn)方法如下:若某個參數(shù)取值區(qū)間是[Umin,Umax],則該參數(shù)可以用長度為m的二進(jìn)制數(shù)值來表示,可表示為x:bmbm-1bm-2…b2b1,上述對應(yīng)的二進(jìn)制數(shù)值的解碼公式為[12]:
(5)
遺傳算法的操作流程框圖如圖3所示。
在遺傳算法的尋優(yōu)操作過程中,終止條件是一個關(guān)鍵部分。因此,對于如何判斷系統(tǒng)已經(jīng)找到最優(yōu)解,本文以所有種群個體的目標(biāo)函數(shù)值(IAE值)是否一致來作為終止條件。這樣可以避免過早收斂、產(chǎn)生早熟現(xiàn)象,可以更準(zhǔn)確地尋到最優(yōu)解。
圖3 遺傳算法操作流程圖
為驗證方法的有效性,本文將該方法應(yīng)用于火電廠火電機組主蒸汽溫度控制系統(tǒng)中,通過對該控制系統(tǒng)的辨識,得到被控對象的數(shù)學(xué)模型為:
(6)
對二自由度的PID控制器的5個參數(shù)進(jìn)行二進(jìn)制編碼,其中Kc1∈(0,10),Td1∈(0,1),Kc2∈(0,10),Ti2∈(0,20),Td2∈(0,1)每個參數(shù)的長度取8位二進(jìn)制數(shù),5個參數(shù)依次串接,形成一個個體,個體長度為L=40,種群大小取n=100。其中,選擇算法采用常用的輪盤賭算法。交叉概率一般取0.4~0.9,本文取Pc=0.9,變異概率取0.001~0.1,本文取Pm=0.001 。此外,為了實現(xiàn)超調(diào)量、調(diào)節(jié)時間等時域指標(biāo)的統(tǒng)一優(yōu)化,本文的目標(biāo)函數(shù)取絕對誤差積分準(zhǔn)則:
(7)
對于適應(yīng)度函數(shù)的選擇,取當(dāng)前群體中最大的目標(biāo)函數(shù)值(IAE值)減去當(dāng)前個體的目標(biāo)函數(shù)值(IAE值)來作為適應(yīng)度函數(shù)。也即:
f=Objmax-Obji
(8)
因此,當(dāng)某個體目標(biāo)函數(shù)值越大時其適應(yīng)度函數(shù)值越小。而且,在任何一代的種群中,無論目標(biāo)函數(shù)值相差多么接近,適應(yīng)度函數(shù)總會相差很大。且當(dāng)種群所有個體目標(biāo)函數(shù)值完全一致時,所有個體的適應(yīng)度函數(shù)均為零。故在迭代結(jié)束時,種群目標(biāo)函數(shù)已經(jīng)收斂到一個固定值。例如:假設(shè)當(dāng)前種群有5個個體,目標(biāo)函數(shù)值為[10,10.1,11,11.1,11],根據(jù)公式(8)可得本文選取的適應(yīng)度函數(shù)值為[1.1,1,0.1,0,0.1]。而根據(jù)一般情況,適應(yīng)度函數(shù)的選取是由目標(biāo)函數(shù)的倒數(shù)所得,其適應(yīng)度函數(shù)值為[0.1,0.099,0.091,0.090,0.091],可見該方法所獲得的適應(yīng)度函數(shù)值相差不大,用輪盤賭方式淘汰個體時,淘汰概率相差不大。而本文所選取的適應(yīng)度函數(shù)所得到的適應(yīng)度函數(shù)值相差較大,有一定的區(qū)分度。
通過遺傳算法尋優(yōu)得到5個參數(shù)的最終值與文獻(xiàn)[7]采用二自由度得到的5個參數(shù)值、文獻(xiàn)[8]采用二自由度得到的5個參數(shù)值以及文獻(xiàn)[13]采用單自由度得到的3個參數(shù)值結(jié)果,如表1所示。
表1 PID控制器參數(shù)值對比
通過進(jìn)行MATLAB仿真,得到了種群平均IAE值隨迭代次數(shù)的優(yōu)化過程。如圖4所示。
圖4 種群平均IAE值的優(yōu)化過程
從圖中的曲線可以看出:隨著迭代次數(shù)的增加,不斷對種群中IAE值進(jìn)行尋優(yōu)選擇,最終迭代結(jié)束時能夠?qū)さ靡粋€最優(yōu)的IAE值,為 0.591 2。最終尋得的最優(yōu)IAE值是由目標(biāo)值跟蹤部分的IAE1和抗擾動部分的IAE2,這兩部分的最優(yōu)值之和組成。
通過遺傳算法整定后的二自由度PID的階躍響應(yīng)曲線和文獻(xiàn)[7]中的二自由度PID、文獻(xiàn)[8]中的二自由度PID以及文獻(xiàn)[13]中的單自由度PID的階躍響應(yīng)曲線對比效果展示,如圖5所示。
通過以下2個計算IAE和ISE的數(shù)學(xué)表達(dá)式,并運用MATLAB進(jìn)行計算,可以得到如表2所示的4種情況下的性能指標(biāo)數(shù)值。
圖5 GA-二自由度PID與其他3種方法調(diào)節(jié)效果對比圖
(9)
(10)
表2 性能指標(biāo)值對比結(jié)果
通過對圖5和表2的仿真結(jié)果分析,可以清晰地得到:本文提出的遺傳算法改進(jìn)的GA-二自由度PID無論是目標(biāo)值跟蹤還是外擾動抑制方面,IAE、ISE及ts這3個性能指標(biāo)的值均優(yōu)于其他3種方法得到的結(jié)果。此外,通過圖5還可以清晰地看出本文所提出的方法在超調(diào)量和調(diào)節(jié)時間上也是遠(yuǎn)遠(yuǎn)優(yōu)于其他3種方法。由此可知,本文提出的基于遺傳算法改進(jìn)的二自由度PID在目標(biāo)值跟蹤特性及外擾動抑制特性的控制效果和性能指標(biāo)上明顯要優(yōu)于其他3種方法。
在PID的應(yīng)用設(shè)計中,PID參數(shù)的調(diào)節(jié)是一個重要的環(huán)節(jié)。本文從二自由度PID和遺傳算法的原理出發(fā),將遺傳算法應(yīng)用于二自由度PID參數(shù)的調(diào)節(jié)與優(yōu)化,并利用MATLAB進(jìn)行火電機組鍋爐主蒸汽溫度控制系統(tǒng)的仿真實驗。實驗結(jié)果表明: 對于主汽溫系統(tǒng)的控制效果上,基于遺傳算法的改進(jìn)二自由度PID在目標(biāo)值跟蹤特性及外擾動抑制特性等方面的成效均優(yōu)于文獻(xiàn)[7]的二自由度PID、文獻(xiàn)[8]的二自由度PID以及文獻(xiàn)[13]的單自由度PID。使得輸出值最大程度上接近于輸入值,減小了系統(tǒng)的誤差值,并使得系統(tǒng)具有更小的超調(diào)量和調(diào)節(jié)時間。實驗清晰地證明了采用遺傳算法對二自由度PID參數(shù)調(diào)節(jié)和優(yōu)化是有效的,能夠獲得更好的控制效果,滿足了火電廠火電機組主蒸汽溫度控制系統(tǒng)的需求。