鄧 麗 蔣 婧 費(fèi)敏銳
(上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院,上海 200072)
在工業(yè)過(guò)程控制中,PID控制具有步驟簡(jiǎn)單、魯棒性強(qiáng)等優(yōu)點(diǎn),被廣泛應(yīng)用于各個(gè)領(lǐng)域。據(jù)統(tǒng)計(jì),PID控制策略在實(shí)際控制系統(tǒng)中所占的比例超過(guò)90%,而針對(duì)PID控制器的參數(shù)整定和自適應(yīng)一直是最重要的問(wèn)題所在。Ziegler和Nichols在1942年設(shè)計(jì)出了Z-N整定公式,這是最早的PID參數(shù)整定方法,至今它還普遍應(yīng)用在各種工業(yè)控制場(chǎng)合。1953年,Cohen和Coon繼承和發(fā)展了Z-N公式,設(shè)計(jì)了一種考慮被控過(guò)程時(shí)滯大小的 Cohen-Coon 整定公式[1]。
傳統(tǒng)PID控制器的結(jié)構(gòu)普遍存在積分飽和、超調(diào)量大,以及由于微分作用對(duì)高頻干擾敏感而導(dǎo)致的系統(tǒng)失穩(wěn)等缺點(diǎn)。此外,傳統(tǒng)PID控制的另一個(gè)問(wèn)題是不能使目標(biāo)值跟蹤特性和干擾抑制特性同時(shí)最優(yōu),而任何一個(gè)工業(yè)過(guò)程對(duì)擾動(dòng)抑制品質(zhì)和跟蹤給定品質(zhì)都是有要求的。如今,將自適應(yīng)控制、最優(yōu)控制、預(yù)測(cè)控制、魯棒控制和智能控制策略引入傳統(tǒng)PID控制,逐步發(fā)展成為一種新型PID控制[2]。
文獻(xiàn)[3]嘗試將粒子群(particle swarm optimization,PSO)算法引入PID控制。PSO算法是一種從仿生學(xué)進(jìn)化而來(lái)的優(yōu)化算法,計(jì)算過(guò)程簡(jiǎn)捷,優(yōu)化效果好,但是PSO算法具有容易陷入早熟等缺點(diǎn)。為了解決這個(gè)問(wèn)題,本文引入免疫算法。免疫算法具有免疫和遺傳等特點(diǎn),能夠幫助防止粒子群陷入早熟;同時(shí),將PSO算法和免疫算法相結(jié)合,也避免了免疫算法計(jì)算過(guò)程繁復(fù)冗長(zhǎng)的缺點(diǎn)。
PID控制是基于對(duì)變量“過(guò)去”、“現(xiàn)在”和“未來(lái)”信息估計(jì)的交叉控制算法。系統(tǒng)主要由被控對(duì)象和PID控制器兩部分組成,如圖1所示。
圖1 PID控制系統(tǒng)圖Fig.1 PID control system
常規(guī)的PID一般為線性控制器,實(shí)際輸出值和給定值會(huì)存在一個(gè)偏差,將偏差按比例、積分和微分的線性組合來(lái)構(gòu)成控制量,從而對(duì)被控對(duì)象進(jìn)行控制。這個(gè)過(guò)程稱為PID控制器。
PID控制器的參數(shù)整定與自適應(yīng)是指根據(jù)系統(tǒng)模型和各種性能指標(biāo),將控制器確定為PID形式的情況下,采用各種方法調(diào)整PID控制器的參數(shù),使由控制對(duì)象、控制器、執(zhí)行元件、反饋元件等組成的控制回路的動(dòng)態(tài)特性與靜態(tài)特性能滿足期望的要求,達(dá)到理想的控制目標(biāo)。
近年來(lái),粒子群算法(PSO)作為一種新生的隨機(jī)進(jìn)化計(jì)算方法,由于具有簡(jiǎn)捷通用、適合并行處理、對(duì)目標(biāo)函數(shù)和約束條件要求低等特點(diǎn)而得到廣泛應(yīng)用。但由于PSO算法是根據(jù)全體粒子和自身的搜索經(jīng)驗(yàn)向著最優(yōu)解的方向“飛行”,在進(jìn)化過(guò)程中粒子群多樣性會(huì)下降,因此當(dāng)算法收斂到一定精度時(shí),無(wú)法繼續(xù)優(yōu)化,容易陷入局部最優(yōu),造成所能達(dá)到的精度較差[4]。粒子迭代更新公式如式(1)所示。
式中:d為迭代次數(shù);ω為慣性權(quán)重;c1、c2為學(xué)習(xí)因子;rand()為均勻分布在(0,1)之間的隨機(jī)數(shù)。
免疫算法也是科學(xué)家從人類仿生學(xué)上得到啟發(fā)而設(shè)計(jì)的一種算法[5]。在生命科學(xué)領(lǐng)域,人們已經(jīng)對(duì)遺傳與免疫等自然現(xiàn)象進(jìn)行了廣泛而深入的研究。從遺傳算法演變而來(lái)的免疫算法幾乎與遺傳算法一樣,只是多使用了一個(gè)免疫函數(shù),它是遺傳算法的變體,不用雜交,而是采用注入疫苗的方法。
基于免疫選擇的粒子群算法(immunity selectionparticle swarm optimization,ISPSO)將免疫系統(tǒng)的免疫信息處理機(jī)制引入PSO算法中,將待求解問(wèn)題視為抗原,每一個(gè)抗體代表問(wèn)題的一個(gè)解,同時(shí)每個(gè)抗體也即是粒子群中的一個(gè)粒子??乖c抗體的親和力由PSO算法中的適應(yīng)度來(lái)衡量,反映了對(duì)目標(biāo)函數(shù)以及約束條件的滿足程度;抗體之間的親和力則反映了粒子之間的差異,即種群的多樣性。
與標(biāo)準(zhǔn)PSO算法相比,免疫粒子群算法主要由以下3個(gè)部分組成。
①基本的PSO算法,可獨(dú)立運(yùn)行,用于控制整個(gè)算法的優(yōu)化迭代過(guò)程;
②免疫記憶與自我調(diào)節(jié)功能的實(shí)現(xiàn),用于保證種群的多樣性;
③疫苗接種的實(shí)現(xiàn),用于提高算法的收斂性能[6]。
基于免疫選擇的粒子群(ISPSO)算法流程如下。
①初始化粒子群:在允許范圍內(nèi)隨機(jī)產(chǎn)生N個(gè)粒子的位置及其速度,計(jì)算適應(yīng)值,得到初始化群體的個(gè)體極值和全局極值。
②產(chǎn)生免疫疫苗:即將全局最優(yōu)粒子作為免疫“疫苗”。
③更新粒子的位置和速度:按照式(1)對(duì)每個(gè)粒子的速度和位置進(jìn)行更新。
④群體的更新:將更新后粒子的適應(yīng)值與更新前粒子的適應(yīng)值進(jìn)行比較,如果適應(yīng)值增加,則粒子的位置才進(jìn)行更新,否則保留原來(lái)粒子的位置。
⑤隨機(jī)產(chǎn)生新的粒子:為了增加群體的多樣性,在每次迭代過(guò)程中都隨機(jī)產(chǎn)生M個(gè)新粒子,并計(jì)算適應(yīng)值。
⑥概率選擇N個(gè)粒子形成新的群體:從(N+M)個(gè)粒子形成的群體中,按照概率選擇N個(gè)粒子形成新的群體[7]。
⑦免疫接種和免疫選擇:用步驟②產(chǎn)生的免疫“疫苗”對(duì)群體中的R個(gè)粒子進(jìn)行疫苗接種,計(jì)算接種疫苗后的粒子適應(yīng)度值,并根據(jù)適應(yīng)度值進(jìn)行免疫選擇。如果適應(yīng)值減小,則保留該粒子,否則取消疫苗。這樣就形成了新一代群體。
⑧更新群體的個(gè)體極值和全局極值:根據(jù)新一代群體的適應(yīng)值,更新群體的個(gè)體極值和全局極值。
⑨判斷是否滿足約束條件:如果迭代次數(shù)大于最大迭代次數(shù),則結(jié)束循環(huán)、輸出結(jié)果;否則轉(zhuǎn)到步驟②。
采用基于免疫選擇的粒子群優(yōu)化算法整定PID控制器參數(shù),必須建立綜合評(píng)價(jià)各項(xiàng)性能指標(biāo)的適應(yīng)度函數(shù),用于評(píng)價(jià)粒子的優(yōu)劣,并作為個(gè)體最優(yōu)粒子和全局最優(yōu)粒子更新的依據(jù),使得初始解逐步向最優(yōu)解進(jìn)化。
通常一組好的PID控制參數(shù)Kp、Ki和Kd會(huì)產(chǎn)生良好的階躍響應(yīng)曲線和最小時(shí)域性能指標(biāo)。時(shí)域性能指標(biāo)主要包括:調(diào)節(jié)時(shí)間ts、上升時(shí)間tr、最大超調(diào)量Mp和穩(wěn)態(tài)誤差ess。本文定義適應(yīng)度函數(shù)為ITAE[8],如式(3)所示。
選用a、b、c三個(gè)系統(tǒng),其傳遞函數(shù)如式(4)~式(6)所示[9-12]。利用基于免疫選擇的粒子群優(yōu)化算法進(jìn)行迭代計(jì)算,并與簡(jiǎn)單的PSO優(yōu)化算法進(jìn)行比較,運(yùn)用Matlab軟件進(jìn)行仿真。程序中算法參數(shù)選取如下:粒子數(shù)N=40;學(xué)習(xí)因子c1=c2=2.0;ω在0.4~0.9之間取值,并且隨著迭代次數(shù)的增加而線性減小;迭代次數(shù)最大為100。
三個(gè)系統(tǒng)的Matlab仿真結(jié)果如圖2所示。三個(gè)系統(tǒng)均經(jīng)過(guò)PID控制器調(diào)整后,再經(jīng)過(guò)反饋?zhàn)罱K達(dá)到穩(wěn)定狀態(tài)。由圖2可知,系統(tǒng)a在PID控制器作用下比較容易穩(wěn)定,其次是b系統(tǒng);階數(shù)越高,越難用算法計(jì)算出較好的控制器參數(shù);本文的算法效果較單純的PSO算法好。
三個(gè)系統(tǒng)的計(jì)算結(jié)果和動(dòng)態(tài)特性如表1所示[13-15]。
圖2 Matlab仿真結(jié)果Fig.2 Results of Matlab simulation
表1 三個(gè)系統(tǒng)的計(jì)算結(jié)果和動(dòng)態(tài)特性Tab.1 Calculated results and dynamic characteristics of 3 systems
由表1可以看出,在采用本文算法計(jì)算出的控制器的控制下,系統(tǒng)的超調(diào)量和調(diào)節(jié)時(shí)間明顯減少。另外,由表1中系統(tǒng)c的PSO的Kp數(shù)據(jù)可以看出,經(jīng)計(jì)算,粒子群已經(jīng)飛向邊界并且陷入早熟[16-19]。因此,綜合上述分析可知本文提出的算法效果更佳。
針對(duì)常規(guī)PID控制方法的不足,本文提出采用基于免疫選擇的粒子群優(yōu)化算法來(lái)自整定PID控制器參數(shù)?;诿庖哌x擇的粒子群優(yōu)化算法不僅保持了PSO算法的快速跟蹤效果和免疫算法的平穩(wěn)性,同時(shí)可有效地避免PSO算法和免疫算法陷入局部解。在加入擾動(dòng)因素之后,免疫粒子群優(yōu)化算法的魯棒性明顯優(yōu)于PSO算法和免疫算法。Matlab仿真結(jié)果表明,該算法能夠減小系統(tǒng)調(diào)節(jié)時(shí)間和超調(diào)量,系統(tǒng)動(dòng)態(tài)性能得到較大改善,對(duì)于大慣性、非線性、時(shí)變控制系統(tǒng)具有良好的控制性能。
[1]王蕾,宋文忠.PID 控制[J].自動(dòng)化儀表,2004,25(4):1 -5.
[2]楊智,陳志堂,范正平,等.基于改進(jìn)粒子群優(yōu)化算法的PID控制器整定[J].控制理論與應(yīng)用,2010,27(10):1345 -1352.
[3]張家駿.基于粒子群算法的PID控制器參數(shù)優(yōu)化研究[J].計(jì)算機(jī)仿真,2010(10):191-193.
[4]馮駿,薛云燦,江金龍.一種新的改進(jìn)粒子群算法研究[J].河海大學(xué)常州分校學(xué)報(bào),2006,20(1):10 -13.
[5]王磊,潘進(jìn),焦李成.免疫算法[J].電子學(xué)報(bào),2000(7):74 -78.
[6]吳靜敏,左洪福,陳勇.基于免疫粒子群算法的組合預(yù)測(cè)方法[J].系統(tǒng)工程理論方法應(yīng)用,2006,15(3):229 -233.
[7]陳曦,蔣加伏.免疫粒子群優(yōu)化算法求解旅行商問(wèn)題[J].計(jì)算機(jī)與數(shù)字工程,2006,34(6):10 -12.
[8]李自強(qiáng),薛美盛.用于PID參數(shù)自整定的性能指標(biāo)仿真研究[J].自動(dòng)化與儀表,2009(2):30-33.
[9]張蛟,李銀伢,盛安冬.一階參數(shù)不確定滯后過(guò)程的魯棒PID控制器設(shè)計(jì)[J].計(jì)算機(jī)仿真,2006(12):174-178.
[10]Kennedy J,Eberhart R.Particle swarm optimization[C]//Proceedings of International Conference on Neural Networks,Perth,Australia:IEEE,1995:1942-1948.
[11]Gaing Z L.A particle swarm optimization approach for optimum design of PID controller in AVR system[J].IEEE Transactions on Energy Conversion,2004,9(2):384 -391.
[12]Shi Y,Eberhart R.A modified particle swarm optimizer[C]//Proceedings of International Conference on Evolutionary Computation,Anchorage,Alaska:IEEE,1998:69 -73.
[13]Cohen G H,Coon G A.Theoretical consideration of retarded control[J].Transactions of ASME,1953,75(4):827 -834.
[14]鄧偉林,胡桂武.粒子群算法研究與展望[J].現(xiàn)代計(jì)算機(jī):專業(yè)版,2006(11):12-15.
[15]王芳.粒子群算法的研究[D].重慶:西南大學(xué),2006.
[16]盧澤生.控制理論及其應(yīng)用[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2005.
[17]歐陽(yáng)黎明.MATLAB控制系統(tǒng)設(shè)計(jì)[M].北京:國(guó)防工業(yè)出版社,2001.
[18]薛定宇.控制系統(tǒng)仿真與計(jì)算機(jī)輔助設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2005.
[19]黃忠霖.控制系統(tǒng)MATLAB計(jì)算及仿真[M].北京:國(guó)防工業(yè)出版社,2001.