陳 亮, 江 明, 林園勝
(安徽工程大學(xué) 安徽省檢測技術(shù)與節(jié)能裝置重點(diǎn)實(shí)驗(yàn)室,安徽 蕪湖 241000)
在控制工程中,PID控制是最早發(fā)展起來的得到廣泛應(yīng)用的控制策略之一,是指將偏差的比例、積分和微分通過線性組合構(gòu)成控制量,對(duì)被控對(duì)象進(jìn)行控制,具有結(jié)構(gòu)簡單、易于實(shí)現(xiàn)、魯棒性好等特點(diǎn)。PID控制設(shè)計(jì)的核心問題就是根據(jù)被控對(duì)象的不同特性來確定P、I、D等3個(gè)參數(shù)的大小。傳統(tǒng)的PID控制參數(shù)主要通過人工經(jīng)驗(yàn)來調(diào)整,顯然這種方法主觀性太強(qiáng),移植性差,也不能保證控制最優(yōu)。早期用來優(yōu)化PID控制器參數(shù)的方法[1]主要有Ziegler-Nichols動(dòng)態(tài)特性法、Cohen-Coon響應(yīng)曲線法、ISE積分平方準(zhǔn)則整定法。近些年隨著智能控制算法的興起,出現(xiàn)了專家智能型PID參數(shù)自整定技術(shù)、基于Fuzzy算法的PID參數(shù)自整定技術(shù)、基于GA的PID參數(shù)自整定技術(shù)、基于蟻群算法的PID參數(shù)自整定技術(shù)等,與傳統(tǒng)方法相比,這些方法都取得了更好的控制效果,但也存在算法復(fù)雜、適用性不強(qiáng)等不足。
粒子群算法[2,3](PSO)作為一種群體智能算法,源于對(duì)鳥類捕食行為的研究,概念簡單,輸入?yún)?shù)較少,易于實(shí)現(xiàn),通用性強(qiáng),收斂速度快,目前已廣泛應(yīng)用于參數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)訓(xùn)練、模糊系統(tǒng)控制、系統(tǒng)辨識(shí)等許多領(lǐng)域。為了避免PSO算法早熟收斂[4],并加快其收斂速度,提高實(shí)時(shí)性,一些改進(jìn)的PSO算法相繼提出,如Shi[5]等人提出了基于線性遞減權(quán)重的 PSO 算法;Clerc[6]提出在 PSO 中加入壓縮因子K;文獻(xiàn)[7,8]根據(jù)混沌具有遍歷性、隨機(jī)性等特點(diǎn),在PSO中嵌入混沌序列,不過這些算法并沒有從根本上解決早熟收斂的問題,同時(shí)增加了復(fù)雜度,忽略了實(shí)時(shí)性。從PSO算法的基本原理出發(fā),將其運(yùn)用到PID控制器參數(shù)優(yōu)化當(dāng)中,通過與GA算法、一些改進(jìn)的PSO算法仿真結(jié)果作對(duì)比,可以得出PSO仍可繼續(xù)應(yīng)用于PID控制器參數(shù)優(yōu)化當(dāng)中。
PID控制器的系統(tǒng)結(jié)構(gòu)圖如下圖1所示。PID控制器的優(yōu)化問題[9]就是在可行域范圍內(nèi)確定一組合適的參數(shù)Kp、Ki和Kd,使其適應(yīng)度函數(shù)達(dá)到最優(yōu)。常用的誤差性能指標(biāo)包括ISE、IAE、ITAE、ISTE等,這里選用ITAE指標(biāo),其定義為
(1)
圖1 PID控制器結(jié)構(gòu)圖
以不穩(wěn)定系統(tǒng)
(2)
在Matlab的Simulink環(huán)境中建立模型如圖2所示。圖2中,輸出端口1即為式(1)所示的ITAE指標(biāo),通過將時(shí)間及誤差絕對(duì)值的乘積進(jìn)行積分后得到。
圖2 PID控制器系統(tǒng)模型
圖3 PSO對(duì)PID控制器參數(shù)優(yōu)化流程圖
利用粒子群算法對(duì)PID控制器的參數(shù)進(jìn)行優(yōu)化設(shè)計(jì),其流程圖如圖3所示。粒子群算法與Simulink模型之間連接的橋梁是粒子(即PID控制器參數(shù))和該粒子對(duì)應(yīng)的適應(yīng)值(即控制系統(tǒng)的性能指標(biāo))。算法步驟如下:
(1) 初始化粒子群,隨機(jī)產(chǎn)生所有粒子的位置和速度,并確定粒子的Pt和Gt;
(2) 對(duì)每個(gè)粒子,將其適應(yīng)值與該粒子所經(jīng)歷過的最優(yōu)位置Pt的適應(yīng)值進(jìn)行比較,若較好,則將其作為當(dāng)前的Pt;
(3) 對(duì)每個(gè)粒子,將其適應(yīng)值與整個(gè)粒子群所經(jīng)歷過的最優(yōu)位置Gt的適應(yīng)值進(jìn)行比較,若較好,則將其作為當(dāng)前的Gt;
(4) 按式(3)更新粒子的速度和位置;
(5) 若無滿足終止條件(通常為預(yù)設(shè)的最大迭代次數(shù)和適應(yīng)值下限值),則返回步驟(2);否則退出算法,得出最優(yōu)解。
粒子在搜索空間中的速度和位置由式(3)確定:
(3)
其中,x表示粒子的位置;v表示粒子的速度;ω為慣性因子;c1、c2為加速常數(shù);r1、r2為[0,1]區(qū)間的隨機(jī)數(shù);Pt是粒子迄今為止搜索到的最優(yōu)位置;Gt是整個(gè)粒子群迄今為止搜索到的最優(yōu)位置。
參數(shù)設(shè)置如下:慣性因子ω=0.6,加速常數(shù)c1=c2=2,維數(shù)為3(3個(gè)待優(yōu)化參數(shù)Kp、Ki和Kd),粒子群規(guī)模設(shè)為100,即算法的迭代次數(shù)為100,最小適應(yīng)值為0.1,速度范圍為[-1,1],3個(gè)待優(yōu)化參數(shù)范圍為[0,300]。
在Matlab環(huán)境中運(yùn)行相關(guān)程序后,得PID控制器3個(gè)參數(shù)Kp、Ki和Kd的變化曲線和性能指標(biāo)ITAE的變化曲線,如圖4、圖5所示。由圖4可見,大約在迭代55次后,最優(yōu)控制器參數(shù)及性能指標(biāo)趨于穩(wěn)定,分別為Kp=33.539 9,Ki=0.166 2,Kd=38.677 2,ITAE=1.058 0。在PSO算法過程中,性能指標(biāo)ITAE不斷減小,PSO不斷尋找更優(yōu)的控制參數(shù)以逼近設(shè)置好的指標(biāo);對(duì)于不穩(wěn)定的控制對(duì)象,由PSO設(shè)計(jì)出的PID控制器使得Kp、Ki和Kd配置合理,很好地控制了對(duì)象,達(dá)到了預(yù)期的效果。同時(shí)本文就其他改進(jìn)的PID控制優(yōu)化算法作對(duì)比,統(tǒng)計(jì)如下表1所示。
圖4 Kp、Ki、Kd變化曲線
圖5 ITAE變化曲線
表1各種算法對(duì)比統(tǒng)計(jì)
算法KpKiKd性能指標(biāo)迭代次數(shù)GA209.941.14244.491.13100文獻(xiàn)[10]36.70.2146.531.4147文獻(xiàn)[11]33.20.1741.231.3844文獻(xiàn)[12]33.080.1438.421.0338PSO33.540.1738.681.0655
由表1可知,PSO算法較GA算法,減少了迭代次數(shù),意味著減少了運(yùn)算時(shí)間,提高了實(shí)時(shí)性,同時(shí)在性能上也略有提高;一些改進(jìn)的PSO算法,例如文獻(xiàn)[10]和文獻(xiàn)[11]中的算法,增加了算法的復(fù)雜度,以降低性能指標(biāo)來平衡實(shí)時(shí)性,而文獻(xiàn)[12]中的算法通過增加算法的復(fù)雜度對(duì)性能指標(biāo)的提高不夠明顯,看似迭代次數(shù)減少,但由于每次迭代的時(shí)間增加,其實(shí)時(shí)性也待商榷;顯然PSO算法兼顧了算法復(fù)雜度、實(shí)時(shí)性和性能等綜合因素,目前仍不失為一種良好的PID控制器優(yōu)化算法。
PID控制作為一種經(jīng)典控制理論,到目前為止仍廣泛應(yīng)用到各個(gè)領(lǐng)域,涉及工業(yè)現(xiàn)場控制、現(xiàn)代農(nóng)業(yè)、智能交通、醫(yī)療、軍事、航天等。本文從PSO算法的基本原理出發(fā),將其運(yùn)用到PID控制器參數(shù)優(yōu)化當(dāng)中,通過與GA算法、一些改進(jìn)的PSO算法仿真結(jié)果作對(duì)比,可以得出PSO仍可繼續(xù)應(yīng)用于PID控制器參數(shù)優(yōu)化當(dāng)中。
參考文獻(xiàn):
[1] 史峰,王輝,郁磊,胡斐.MATLAB智能算法30個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2011:137-143
[2] 胡會(huì)超.粒子群優(yōu)化算法研究進(jìn)展[J].冶金自動(dòng)化,2013(S1):199-202
[3] EBERHART R C,SHI Y H. Particle Swarm Optimization:Developments,Applications and Resources[C]. Proceedings of the IEEE Conference on Evolutionary Computation,2001(1):81-86
[4] 楊恢先,劉子文,汪俊,王緒四,謝鵬鶴.改進(jìn)的PSO混合算法[J].計(jì)算機(jī)應(yīng)用,2010,30(6):1516-1519
[5] SHI Y,EBERHART R.A modified particle swarm optimizer[C]//Proc of IEEE International Conference on Evolutionary Computation Proceedings.1998:69-73
[6] CLERC M. The swarm and the queen:towards a deterministic and adaptive particle swarm optimization[C]//Proc of IEEE Congress on Evolutionary Computation.1999:1951-1957
[7] CHUANG L,HSIAO C,YANG C,et al. Chaotic particle swarm optimization for data clustering [J].Expert Systems with Applications,2011,38(12):14555-14563
[8] 李莉.基于自適應(yīng)參數(shù)與混沌搜索的PSO算法求解柔性作業(yè)車間調(diào)度問題[J].計(jì)算機(jī)應(yīng)用,2012,32(7):1932-1934
[9] 張德豐.MATLAB自動(dòng)控制系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2010
[10] 肖理慶,邵曉根,石天明等.利用改進(jìn)粒子群算法整定PID參數(shù)[J].計(jì)算機(jī)應(yīng)用,2010,30(6):1547-1549
[11] 楊智,陳志堂,范正平.基于改進(jìn)粒子群優(yōu)化算法的 PID 控制器整定[J].控制理論與應(yīng)用,2010,27(10):1345-1352
[12] 胡偉,徐福緣.基于改進(jìn)粒子群算法的PID控制器參數(shù)自整定[J].計(jì)算機(jī)應(yīng)用研究,2012,5(29):1791-1794