禹威威 申 遠(yuǎn) 王園園
(合肥師范學(xué)院電子信息系統(tǒng)仿真設(shè)計(jì)安徽省重點(diǎn)實(shí)驗(yàn)室 安徽合肥 230601)
由于比例-積分-微分(Proportional,Integral and,Differential,PID)控制器[1-2]擁有結(jié)構(gòu)簡(jiǎn)單、控制效果好、參數(shù)調(diào)整靈活以及魯棒性強(qiáng)等諸多優(yōu)點(diǎn)[3],因此,近年來(lái)被廣泛應(yīng)用于工業(yè)過(guò)程控制和自動(dòng)化生產(chǎn)中。在工況條件滿足且確定采用的控制規(guī)律為P、I、D這種線性組合控制的情況下,其控制方法的主要表現(xiàn)形式為利用三個(gè)單元的校正作用對(duì)待測(cè)量參數(shù)的偏差進(jìn)行整合運(yùn)算,然后通過(guò)控制運(yùn)算所得的輸出量以控制被控對(duì)象。
由此可知,PID控制受到參數(shù)選取、被控對(duì)象系統(tǒng)參數(shù)以及工況的影響。但在控制器設(shè)計(jì)和應(yīng)用過(guò)程中,PID參數(shù)選取具有較大難度,參數(shù)的波動(dòng)影響系統(tǒng)的控制效果,因此,研究PID參數(shù)優(yōu)化具有重要的理論和工程意義[4]。
目前,研究學(xué)者針對(duì)PID控制器參數(shù)優(yōu)化已開(kāi)展了較多研究[5-9]。在文獻(xiàn)[7]中,無(wú)需改變現(xiàn)有控制回路的正常運(yùn)行狀態(tài),只要對(duì)通過(guò)控制回路的輸入輸出數(shù)據(jù)進(jìn)行處理,即可獲得重要臨界頻率響應(yīng)特性,然后在線辨識(shí)過(guò)程對(duì)象并采用基于Z-N的方法更新PID控制器參數(shù)。所提方法性能比傳統(tǒng)的Z-N法優(yōu)越,曲線更理想,但仍具有一定的局限性,需要事先確定期望值和相角,不具靈活性,缺乏優(yōu)化空間。文獻(xiàn)[8]提出了基于梯形隸屬函數(shù)的模糊切換算法及仿人智能思想的優(yōu)化改進(jìn)算法,并將其應(yīng)用于溫度控制系統(tǒng)中實(shí)現(xiàn)自適應(yīng)的模糊PID參數(shù)整定。此算法結(jié)合了二者的優(yōu)點(diǎn),使系統(tǒng)具有較好的穩(wěn)定性、動(dòng)態(tài)性、無(wú)靜差等優(yōu)點(diǎn),但缺點(diǎn)也比較明顯,主要體現(xiàn)在隸屬函數(shù)規(guī)則復(fù)雜,算法過(guò)程復(fù)雜,精度不高。文獻(xiàn)[9]用改進(jìn)遺傳算法對(duì)PID控制參數(shù)進(jìn)行優(yōu)化,其中所做的改進(jìn)包括分別對(duì)算法程序中的交叉、變異環(huán)節(jié)做自適應(yīng)處理,用來(lái)提高算法效率和系統(tǒng)性能。所做改進(jìn)在優(yōu)化結(jié)果的質(zhì)量與執(zhí)行效率方面都具有較好的控制效果,但同時(shí)也增加了過(guò)程的計(jì)算量,解碼過(guò)程也相當(dāng)復(fù)雜。
基于以上分析可知,PID參數(shù)優(yōu)化既要使調(diào)整出來(lái)的控制器具有理想的效果,又不希望優(yōu)化過(guò)程復(fù)雜,計(jì)算量大,且耗時(shí)耗力。因此,粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法因其過(guò)程簡(jiǎn)單,易收斂,速度快等諸多優(yōu)點(diǎn)[10-11]進(jìn)入了研究者的視野。但同時(shí)也因其存在易早熟收斂陷入局部最優(yōu)的問(wèn)題,文獻(xiàn)[12-13]的作者提出了雜交PSO算法的概念,在整定過(guò)程中引入隨機(jī)雜交概率;文獻(xiàn)[14]則引用了變異概率來(lái)克服算法易陷入局部最優(yōu)的缺陷。雖然文獻(xiàn)[12-14]中針對(duì)PSO算法的改進(jìn)擴(kuò)大了粒子的多樣性,提高了全局搜索的能力,但并未考慮引入的雜交和變異算子對(duì)算法穩(wěn)定性的影響。
因此,本文在借鑒遺傳算法中交叉和變異機(jī)制的同時(shí)引入精英保留的思想,保留最優(yōu)個(gè)體,避免引入雜交和變異操作引起的算法的不穩(wěn)定性,提高全局搜索能力的同時(shí),提高全局收斂速度。
(一)適應(yīng)度函數(shù)選取。通過(guò)選取絕對(duì)誤差時(shí)間積分(integral time absolute error,ITAE)指標(biāo)作為適應(yīng)度目標(biāo)函數(shù),以體現(xiàn)PID 控制器的優(yōu)化效果,即
式中,Jmin為ITAE性能評(píng)價(jià)指標(biāo),越小代表系統(tǒng)性能越好;e(t)為輸出與輸入之間的誤差;t為時(shí)間。
(二)基于改進(jìn)PSO的PID控制器設(shè)計(jì)。通過(guò)選取絕對(duì)誤差時(shí)間積分(integral time absolute error,ITAE)指標(biāo)作為適應(yīng)度目標(biāo)函數(shù),以體現(xiàn)PID控制器的優(yōu)化效果,即
圖1 基于PSO的PID控制器系統(tǒng)結(jié)構(gòu)圖
其中,改進(jìn)粒子群算法將在下一章節(jié)詳述,此處不再贅述。而典型的PID控制器一般形式可表示為
式中,r(t)、u(t)和y(t)分別為輸入、控制器輸出以及系統(tǒng)輸出;Kp、Ki和Kd分別為比例、積分和微分系數(shù)。
在控制系統(tǒng)設(shè)計(jì)和仿真中,也經(jīng)常寫成傳遞函數(shù)形式:
其中,Ti為積分時(shí)間常數(shù),Td為微分時(shí)間常數(shù)。
(一)標(biāo)準(zhǔn)粒子群算法。標(biāo)準(zhǔn)粒子群算法是Shi.Y等人于1998年在最初版的PSO基礎(chǔ)上提出的增加了慣性權(quán)重系數(shù)w的改進(jìn)算法,其目的主要是平衡局部?jī)?yōu)化和全局優(yōu)化能力[15-16]。這主要是因?yàn)閣設(shè)置得較小時(shí)局部搜索能力更強(qiáng),而較大是全局搜索能力更突出。如公式(5)所示
其中,vt和vt+1分別表示粒子更新前/后的速度;c1、c2為加速常數(shù);r1、r2為產(chǎn)生的隨機(jī)數(shù);分別為粒子的個(gè)體最優(yōu)位置和全局最優(yōu)位置;xt表示粒子x更新前的位置,其更新公式可表示為
若將w設(shè)定為某一固定值,則需要根據(jù)實(shí)際情況判斷,若小了容易陷入局部?jī)?yōu)化,若大了則不利于極值收斂。因此,為解決這一問(wèn)題,提出了線性遞減慣性權(quán)重(linear decreasing inertia weight,LDIW),w隨著優(yōu)化迭代增加而改變,其公式為
式中,wmax、wmin、iter和Maxiter分別為最大權(quán)重值、最小權(quán)重值、當(dāng)前迭代代數(shù)和最大迭代數(shù)。
(二)粒子群算法的改進(jìn)。改進(jìn)粒子群算法是在標(biāo)準(zhǔn)粒子群算法的基礎(chǔ)上引入遺傳算法中的雜交和變異概率以擴(kuò)大種群的多樣性,防止算法過(guò)早陷入局部收斂;同時(shí)為避免引入的雜交和變異操作影響算法的穩(wěn)定性,不利于算法的全局收斂,采用精英保留策略,對(duì)個(gè)體適應(yīng)度值進(jìn)行排序,優(yōu)先選擇個(gè)體適應(yīng)度值較高的個(gè)體。
具體的過(guò)程如下:
1)賦予每個(gè)粒子隨機(jī)數(shù)r1和r2,通過(guò)判斷隨機(jī)數(shù)是否小于等于雜交概率和變異概率決定當(dāng)前粒子是否進(jìn)行雜交、變異操作;
2)被選中的雜交個(gè)體,隨機(jī)選擇群體中的另一個(gè)粒子進(jìn)行雜交,子代粒子的位置由父母代進(jìn)行公式(8)操作來(lái)計(jì)算;
3)被選中的變異粒子通過(guò)變異以產(chǎn)生更優(yōu)秀的個(gè)體,變異操作方法為:
4)對(duì)通過(guò)交叉和變異之后的粒子進(jìn)行邊界檢測(cè),對(duì)于超出邊界的粒子位置,在標(biāo)準(zhǔn)粒子群算法中一般直接將其限制在邊界位置,偽代碼如式(11)所示。但在本文中,對(duì)于交叉變異操作后超出邊界的粒子,不以邊界對(duì)其約束,而是以式(12)所示的方式產(chǎn)生新變異的粒子替代超出搜索區(qū)域的粒子。當(dāng)進(jìn)化過(guò)程出現(xiàn)停滯或出現(xiàn)早熟收斂時(shí),就能夠跳出當(dāng)前的位置,進(jìn)入其他區(qū)域進(jìn)行搜索。
5)以上交叉和變異操作的粒子因?yàn)槠涮S性搜索而使種群的多樣性得以維持,但也可能會(huì)造成最終收斂到全局最優(yōu)比較困難,因此作者將精英保留的思想應(yīng)用到此改進(jìn)PSO算法中,以避免最優(yōu)個(gè)體的信息丟失。假設(shè)種群的精英個(gè)體數(shù)為種群的1/4,在迭代進(jìn)化過(guò)程中,對(duì)迭代更新變化后種群和精英種群合并排序,剔除排序靠后的1/4個(gè)體,并將排序靠前的1/4個(gè)體的速度、位置以及適應(yīng)度值替代舊的精英個(gè)體。
(三)優(yōu)化設(shè)計(jì)過(guò)程?;诟倪M(jìn)PSO對(duì)PID控制器的參數(shù)進(jìn)行優(yōu)化設(shè)計(jì),具體流程如圖2所示,主要步驟為:
步驟1)設(shè)置算法初始參數(shù)(c1、c2、w、交叉概率pc、變異概率mut、精英數(shù)目elitnum、總?cè)簲?shù)pop、參數(shù)范圍等),初始化個(gè)體的位置和速度。
步驟2)調(diào)用Simulink部分的PID_model文件,將算法程序中的未知參數(shù)依次傳遞給PID控制器的三個(gè)參數(shù)Kp,Ki,Kd;然后運(yùn)行控制系統(tǒng)的PID_model模型;最后,輸出絕對(duì)誤差時(shí)間積分ITAE,傳遞至PSO算法程序中。
步驟3)初始適應(yīng)度值極值排序,確定初始個(gè)體最優(yōu)粒子和初始全局最優(yōu)粒子;確定初始種群精英個(gè)體。
步驟4)執(zhí)行(4)(5)速度和位置更新操作,使用標(biāo)準(zhǔn)粒子群算法常用方法限制粒子更新速度和優(yōu)化范圍,調(diào)用步驟2)部分,計(jì)算個(gè)體ITAE。
步驟5)然后選擇父母粒子進(jìn)行雜交和變異操作,若交叉變異后的子代計(jì)算得到的個(gè)體適應(yīng)度值優(yōu)于父母粒子的適應(yīng)度值,則直接替換父母代粒子,否則重新進(jìn)行交叉變異操作。
步驟6)對(duì)更新后的粒子和精英粒子組合排序,選取前pop個(gè)粒子作為下一代粒子,選取前elitnum個(gè)粒子作為當(dāng)前精英粒子,并更新個(gè)體的最優(yōu)粒子和全局最優(yōu)粒子。
步驟7)最后根據(jù)ITAE是否滿足條件或是否達(dá)到最大迭代次數(shù),若滿足條件,則退出算法,得到最優(yōu)解集;若不滿足,則按順序執(zhí)行步驟4)至步驟7)。
通過(guò)仿真實(shí)驗(yàn)對(duì)所提方法進(jìn)行測(cè)試,在仿真分析軟件Matlab上編寫改進(jìn)PSO算法程序,同時(shí)在Simulink系統(tǒng)中搭建PID模型文件。選取二階純滯后被控對(duì)象,傳遞函數(shù)如下:
設(shè)定的標(biāo)準(zhǔn)粒子群算法的初始參數(shù)如下所示:粒子數(shù)pop為40;最大迭代次數(shù)為100;Kp,Ki,Kd三個(gè)參數(shù)的位置搜索范圍為[0,5],速度范圍為[-0.1,0.1];學(xué)習(xí)因子c1=c2=2;慣性權(quán)重從0.95到0.1線性下降。改進(jìn)的PSO算法在標(biāo)準(zhǔn)粒子算法的基礎(chǔ)上增加雜交概率pc為0.75,變異概率為0.08,精英個(gè)體數(shù)設(shè)定為10。另外,再將改進(jìn)的PSO算法與普通遺傳算法的PID控制效果相比較,設(shè)定其雜交概率為0.9,變異概率為0.1。
圖2 PID仿真模型
PID仿真模型如圖2所示,輸入信號(hào)為單位階躍信號(hào),設(shè)置的采樣時(shí)間間隔為0.001s,仿真時(shí)間為20s。經(jīng)過(guò)100次迭代后的三種方法的PID參數(shù)收斂圖以及單位階躍響應(yīng)比較圖分別如圖2、圖3所示。
從圖2的三種不同控制算法的函數(shù)收斂趨勢(shì)曲線圖可得出,由于交叉和變異概率的引入使得改進(jìn)粒子群算法雖然收斂速度不如標(biāo)準(zhǔn)PSO,但還是比遺傳算法的收斂速度更快,能有效找到最優(yōu)結(jié)果,且其目標(biāo)函數(shù)ITEA的搜索結(jié)果明顯優(yōu)于其他兩種算法的整定結(jié)果。
圖3 適應(yīng)度函數(shù)收斂曲線
圖4 單位階躍曲線圖
表1 不同算法的PID參數(shù)對(duì)比
表2 不同算法的PID控制性能對(duì)比
表1為四種不同控制算法的Kp、Ki、Kd三個(gè)整定參數(shù);表2為性能指標(biāo)超調(diào)量、整定時(shí)間和ITAE(絕對(duì)誤差)的比較。
由上圖和上表可知,與其他三種方法整定的控制效果相比較,改進(jìn)PSO的PID方法得到的系統(tǒng)最大偏差最小,達(dá)到穩(wěn)態(tài)值+2%的時(shí)間最短,系統(tǒng)的調(diào)節(jié)的速度更快,控制性能最優(yōu)。
本文基于改進(jìn)PSO對(duì)PID控制器參數(shù)進(jìn)行整定分析與研究。通過(guò)將交叉、變異概率應(yīng)用于標(biāo)準(zhǔn)PSO算法中,能有效克服未改進(jìn)前的早熟陷入局部收斂的問(wèn)題。同時(shí)為避免引入的雜交和變異操作影響算法的穩(wěn)定性,作者引入精英保留思想,提高算法的穩(wěn)定性和最終結(jié)果的全局收斂性。最后,通過(guò)實(shí)驗(yàn)證明此改進(jìn)PSO算法的整定控制效果優(yōu)于傳統(tǒng)的ZN整定以及標(biāo)準(zhǔn)PSO以及遺傳算法,具有一定的推廣價(jià)值和應(yīng)用前景。