王長(zhǎng)濤,郭高超,趙劍明,韓忠華,,3,朱 毅
(1.沈陽(yáng)建筑大學(xué)信息與控制工程學(xué)院,遼寧 沈陽(yáng) 110168;2.中國(guó)科學(xué)院沈陽(yáng)自動(dòng)化研究所,遼寧 沈陽(yáng) 110016;3.中國(guó)科學(xué)院網(wǎng)絡(luò)化控制系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,遼寧 沈陽(yáng) 110016)
變風(fēng)量(variable air volume,VAV)空調(diào)系統(tǒng)以其節(jié)能和操作相對(duì)簡(jiǎn)便的優(yōu)點(diǎn),越來(lái)越受到人們的重視。目前,空調(diào)系統(tǒng)一般都是采用常規(guī)的比例-積分-微分(proportion integration differentiation,PID)調(diào)節(jié)控制器。在特定工況下,傳統(tǒng)的PID控制方式能夠得到較好的效果。但對(duì)于變風(fēng)量空調(diào)系統(tǒng)來(lái)說(shuō),系統(tǒng)在運(yùn)行時(shí)會(huì)因自身的一些因素,導(dǎo)致控制性能受到限制。特別是當(dāng)系統(tǒng)啟動(dòng)或工況切換時(shí),控制系統(tǒng)很容易出現(xiàn)滯后。目前所使用的控制方式很難達(dá)到使用要求[1]。本文提出利用群體智能算法對(duì)PID進(jìn)行整定。
隨著智能算法在控制方面的發(fā)展,越來(lái)越多的智能控制優(yōu)化算法被用于PID參數(shù)整定。常見(jiàn)的控制參數(shù)整定方法有神經(jīng)網(wǎng)絡(luò)算法、Ziegler-Nichois(Z-N)算法、遺傳算法等[2]。與這些算法相比,粒子群算法的優(yōu)勢(shì)就是設(shè)定參數(shù)少、整體尋優(yōu)能力強(qiáng)。本文針對(duì)變風(fēng)量空調(diào)系統(tǒng)自身的時(shí)滯性、非線性、非平穩(wěn)性以及不確定性等變化特性,采用粒子群算法,對(duì)控制器的不足之處進(jìn)行優(yōu)化[3]。
在變風(fēng)量空調(diào)系統(tǒng)中,PID控制對(duì)受控對(duì)象(即房間溫度數(shù)學(xué)模型)的準(zhǔn)確度要求并不高。PID控制系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 PID控制系統(tǒng)結(jié)構(gòu)圖
相對(duì)應(yīng)的PID控制器函數(shù)表達(dá)式為:
(1)
式中:e(t)為設(shè)定值與反饋值的差,即系統(tǒng)誤差;Ti為積分時(shí)間的常數(shù);Td為微分時(shí)間的常數(shù);Kp為系統(tǒng)誤差信號(hào)的比例量權(quán)值;Ki為系統(tǒng)誤差信號(hào)的積分量權(quán)值;Kd為系統(tǒng)誤差信號(hào)的微分量權(quán)值。
通過(guò)Kp、Ki、Kd三個(gè)權(quán)值,PID控制器能得出控制對(duì)象的信息,從而對(duì)受控的對(duì)象進(jìn)行驅(qū)動(dòng)。所以,PID在系統(tǒng)中的應(yīng)用效果主要取決于Kp、Ki、Kd在系統(tǒng)的組合值。對(duì)于VAV空調(diào)這種非線性系統(tǒng)來(lái)說(shuō),需要對(duì)系統(tǒng)中的PID的參數(shù)選取一組合適的組合值,以達(dá)到預(yù)期的控制效果[4]。
1995年,Kennedy和Eberhart提出的粒子群優(yōu)化 (particle swarm optimization,PSO)算法是計(jì)算智能領(lǐng)域的一種計(jì)劃計(jì)算技術(shù)[5]。首先設(shè)置一個(gè)D維空間,其大小是由n個(gè)粒子組成的種群x=(x1,x2,…,xn)。在這個(gè)D維的搜尋空間里,每個(gè)粒子都具有一定的飛行速度。空間中的粒子都可用相對(duì)應(yīng)的向量來(lái)體現(xiàn),而這個(gè)向量也是隱藏的最優(yōu)解。通過(guò)目標(biāo)函數(shù),可對(duì)每個(gè)粒子所在位置xi進(jìn)行適應(yīng)度值計(jì)算。第i個(gè)粒子的速度為vi=(vi1,vi2,…,viD)T,其個(gè)體極值為Pi=(Pi1,Pi2,…,PiD)T,種群中粒子的尋優(yōu)極值Pg=(Pg1,Pg2,…,PgD)T。粒子群被初始化為一組隨機(jī)的粒子,經(jīng)過(guò)迭代來(lái)更新位置和速度。
更新方程式如式(2)和式(3)。
(2)
(3)
式中:xid為粒子的位置;vid為粒子的速度;c1和c2為粒子增速的常數(shù);r1和r2為均勻分布的隨機(jī)常數(shù),取值范圍為[0,1],其主要作用是增加粒子飛行時(shí)的隨機(jī)性,通常都是通過(guò)比較最后的效果來(lái)固定取值。
基本粒子群更新過(guò)程如圖2所示。圖2中:Pbestid(t)為粒子目前所處較佳位置;gbestid(t)為粒子在整個(gè)粒子群中目前所處較佳位置。
圖2 基本粒子群更新過(guò)程示意圖
為了提高基本粒子群算法避免陷入局部極值的能力[6],引入了慣性權(quán)重的概念[7]。PSO具有的最大全局搜索能力主要取決于vmax的取值。當(dāng)vmax的值很小時(shí),會(huì)影響粒子在全局中的搜索能力,慣性權(quán)重的作用也體現(xiàn)不出,粒子群只能限制于局部搜索。相反,當(dāng)vmax的值很大時(shí),可以通過(guò)找到適當(dāng)?shù)摩刂祦?lái)調(diào)節(jié)粒子群,從而擴(kuò)大粒子搜索范圍并提升全局搜索能力。因此,只需要一個(gè)恰當(dāng)?shù)摩刂?,粒子既能?shí)現(xiàn)局部搜索,也能實(shí)現(xiàn)全局搜索[8]。其速度更新公式為:
(4)
式中:ω為一個(gè)非負(fù)數(shù)。
當(dāng)ω為0時(shí),即基本粒子群算法。ω作為約束粒子速度的慣性權(quán)重,約束后的粒子更新方式與基本粒子群粒子的速度更新方式相同。2001年,Y.Shi研究發(fā)現(xiàn),當(dāng)ω較小時(shí),粒子群算法近似于局部搜索算法,即具有很強(qiáng)的局部開(kāi)發(fā)能力,能夠以很快的收斂速度找到全局最優(yōu)解。相反,當(dāng)ω較大時(shí),粒子群具有很強(qiáng)的全局搜索能力,但其收斂速度較慢且失敗的概率較大。為此,不少學(xué)者通過(guò)在算法進(jìn)化過(guò)程中自適應(yīng)地改變慣性權(quán)重系數(shù),以滿足算法進(jìn)化的需要。所以,本文中的慣性權(quán)重不是一個(gè)定值,而是隨時(shí)間線性減小的函數(shù)。
對(duì)PID控制器參數(shù)的優(yōu)化問(wèn)題,都是尋找更合適的三個(gè)參數(shù):比例、積分和微分系數(shù),即Kp、Ki、Kd,使最后系統(tǒng)的性能指標(biāo)更好。本文采用PSO算法對(duì)PID的參數(shù)進(jìn)行整定。PSO算法優(yōu)化PID參數(shù)的原理圖如圖3所示。
圖3 PID參數(shù)優(yōu)化原理圖
如圖3所示,本文在Matlab軟件上進(jìn)行PSO算法優(yōu)化PID控制器的研究,并在Simulink環(huán)境中建立PID控制流程模型圖,最后通過(guò)編輯程序來(lái)實(shí)現(xiàn)粒子群算法的優(yōu)化。PID控制器的系統(tǒng)模型和PSO算法程序的連接介質(zhì)是粒子,其表示的是PID控制器參數(shù)及其相對(duì)應(yīng)的適應(yīng)度值。本文采用誤差絕對(duì)值乘時(shí)間積分(integrated time absolute error,ITAE)的性能評(píng)價(jià)指標(biāo)作為粒子群優(yōu)化中的適應(yīng)度函數(shù),其函數(shù)形式為:
(5)
目前,從硬件上來(lái)說(shuō),PID控制器操作簡(jiǎn)單,易于在計(jì)算機(jī)上實(shí)現(xiàn);從原理上來(lái)說(shuō),優(yōu)化后的參數(shù)使系統(tǒng)具有良好的穩(wěn)定性以及較快的響應(yīng)時(shí)間;從描述系統(tǒng)的誤差范圍來(lái)說(shuō),有很多性能指標(biāo),如誤差平方積分(integrated square error,ISE)、誤差絕對(duì)值積分(integrated absolute error,IAE)、ITAE等。本文采用ITAE指標(biāo),即算法的適應(yīng)度函數(shù)。
PSO算法調(diào)整PID參數(shù)的步驟如下。
①粒子群初始化。其中包含參數(shù)設(shè)置并產(chǎn)生粒子群。隨機(jī)產(chǎn)生一組粒子,數(shù)量為N,維數(shù)為3。最大迭代次數(shù)為100。粒子搜索目標(biāo)空間范圍為:
xi(t)∈[xmin,xmax]
xmax=[Kpmax,Kimax,Kdmax]
xmin=[Kpmin,Kimin,Kdmin]
速度范圍為:
Vi(t)∈[vmin,vmax]
粒子群算法如下:
(6)
(7)
則xi(t)=swarmi(t)=[Kpi,Kii,Kdi]。
②對(duì)當(dāng)前第t代粒子群的適應(yīng)度函數(shù)值進(jìn)行計(jì)算。
Ji(t)=J[xi(t)]
式中:i=1,2,…,N;t=1,2,…,100。
此時(shí)的目標(biāo)函數(shù)是對(duì)粒子群中每個(gè)粒子適應(yīng)度值的評(píng)估。
③將當(dāng)前得出的適應(yīng)度值與種群中每個(gè)粒子的當(dāng)前最佳位置作比較。
如果Ji(t)>JPbesti(t),則JPbesti(t)=Ji(t),Pbesti(t)=swarmi(t)。
④將當(dāng)前得出的適應(yīng)度值與種群中每個(gè)粒子的歷史全局最佳位置作比較。
如果Ji(t)>Jgbesti(t),則Jgbesti(t)=Ji(t),gbesti(t)=swarm(i)。
⑤粒子的位置和速度根據(jù)式(3)和式(4)進(jìn)行調(diào)整。慣性權(quán)重的函數(shù)形式為:
(8)
式中:ωmax和ωmin為慣性權(quán)重的最值,ωmax=0.9、ωmin=0.4。
⑥粒子速度的約束條件為:
(9)
式中:i=1,2,…,N;t=1,2,…,100。
⑦粒子搜尋約束條件為:
(10)
式中:i=1,2,…,N;t=1,2,…,100。
⑧PSO算法優(yōu)化PID參數(shù)流程如圖4所示。
圖4 PID參數(shù)優(yōu)化流程圖
圖4中,迭代終止的條件是:選擇最大迭代次數(shù)或粒子群搜索到的最佳值,并達(dá)到了設(shè)定的最小值(即閾值)。
變風(fēng)量空調(diào)系統(tǒng)控制的主要對(duì)象是室內(nèi)溫度。室內(nèi)溫度受外界因素、室內(nèi)散熱電器、人流量等多種因素變化的影響。故變風(fēng)量空調(diào)系統(tǒng)是一個(gè)摻雜多種因素的熱力學(xué)系統(tǒng)。因此,難以建立精確的空調(diào)房間數(shù)學(xué)模型[9]。本設(shè)計(jì)在不考慮其他因素時(shí),假定房間的溫度是均勻分布的。通過(guò)查閱相關(guān)的文獻(xiàn)資料,確定空調(diào)房間模型的傳遞函數(shù)為:
(11)
對(duì)目標(biāo)函數(shù)的最大值進(jìn)行變換時(shí),粒子對(duì)應(yīng)的系數(shù)為函數(shù)的最佳值。粒子群算法以代碼形式創(chuàng)建Matlab.m文件,參數(shù)的設(shè)置是通過(guò)粒子在空間中搜尋得到的。首先,需要對(duì)粒子群程序中的參數(shù)以及Simulink環(huán)境中的模塊進(jìn)行設(shè)置;然后,設(shè)置程序中種群的粒子總數(shù)N。種群的數(shù)量與計(jì)算機(jī)CPU的消耗情況成正比;目標(biāo)函數(shù)的平均最優(yōu)解并非呈線性增長(zhǎng),而是先減小再增大。較大或較小的種群量都會(huì)降低算法在搜索中的隨機(jī)概率,減少平均迭代的次數(shù)。根據(jù)本次種群的數(shù)量N=100,本文設(shè)置最大的迭代次數(shù)為100。慣性權(quán)重隨著粒子迭代從ωmax=0.9遞減到ωmin=0.3。經(jīng)過(guò)多次試驗(yàn)對(duì)比,當(dāng)ω=0.6時(shí),分析平均最優(yōu)解、平均迭代次數(shù)和平均消耗CPU的時(shí)間等參數(shù),全局最優(yōu)率最高。選取學(xué)習(xí)因子,即加速常數(shù)c1、c2。當(dāng)c1和c2的組合比較適當(dāng)時(shí),其目標(biāo)函數(shù)的平均最優(yōu)解較高,優(yōu)化效果良好。調(diào)節(jié)c1、c2的不同組合即調(diào)節(jié)解的離散程度,以控制算法的探索和開(kāi)發(fā)[10]。通過(guò)幾組數(shù)據(jù)的比較,得到當(dāng)c1=c2=2時(shí),全局最優(yōu)率較高。以系統(tǒng)誤差e(t)為輸入,以3個(gè)算法優(yōu)化參數(shù)為輸出,創(chuàng)建了功能塊編程形式的空調(diào)系統(tǒng)。
這里要強(qiáng)調(diào)的是:針對(duì)變風(fēng)量空調(diào)房間溫度的調(diào)節(jié)控制問(wèn)題,若以某個(gè)參數(shù)固定值進(jìn)行算法優(yōu)化,必然無(wú)法達(dá)到預(yù)期效果。所以,在參數(shù)取值時(shí),只有通過(guò)折中的方式兼顧。
PSO_PID控制系統(tǒng)模型如圖5所示。
圖5 PSO_PID控制系統(tǒng)模型
在Matlab程序?qū)崿F(xiàn)的過(guò)程中,需要一部分程序?qū)崿F(xiàn)智能算法與Simulink環(huán)境下PID模型之間的參數(shù)傳遞。PID模型參數(shù)傳遞程序如表1所示。
表1 PID模型參數(shù)傳遞程序
在粒子值向PID模型傳遞參數(shù)的過(guò)程中,x為粒子群算法傳遞來(lái)的空間粒子。首先,利用調(diào)用函數(shù)assignin,分別將x(1)、x(2)、x(3)賦值給工作區(qū)Workspace中的PID參數(shù)Kp、Ki、Kd,以實(shí)現(xiàn)智能算法程序向PID模型的參數(shù)傳遞。然后,利用調(diào)用函數(shù)sim,實(shí)現(xiàn)對(duì)Simulink環(huán)境中PID控制系統(tǒng)的階躍響應(yīng)仿真。PID_model是Simulink環(huán)境中PID控制系統(tǒng)的文件名,設(shè)定的運(yùn)行時(shí)長(zhǎng)為[0,120],控制系統(tǒng)模型輸出端子out1的值為返回的y_out。最后,實(shí)現(xiàn)ITAE性能指標(biāo)向x(1)、x(2)、x(3)的復(fù)制。
為了驗(yàn)證改善后的PID控制器對(duì)房間溫度的控制效果[11],分別采用基本粒子群算法和Z-N算法對(duì)PID進(jìn)行整定。仿真優(yōu)化曲線如圖6所示。
圖6 仿真優(yōu)化曲線
根據(jù)圖6,加權(quán)后粒子群算法整定得到參數(shù)Kp=300,Ki=0.067,Kd=106.54。優(yōu)化后的ITAE變化曲線如圖7所示,ITAE=0.405。
圖7 優(yōu)化后的ITAE變化曲線
通過(guò)使用Z-N算法、基本粒子群算法和加權(quán)后的粒子群算法來(lái)優(yōu)化PID控制器的參數(shù),并將優(yōu)化結(jié)果運(yùn)用到變風(fēng)量空調(diào)溫度控制系統(tǒng)中,得到VAV系統(tǒng)在不同算法下階躍響應(yīng)對(duì)比圖,如圖8所示。
圖8 階躍響應(yīng)對(duì)比圖
通過(guò)圖7中的變化曲線能夠看出,優(yōu)化程序在運(yùn)行的過(guò)程中,適應(yīng)度值越來(lái)越小,直到穩(wěn)定在一個(gè)固定值,表明粒子在不斷地尋找較好的參數(shù)值。由圖8可以看出,本次設(shè)置滯后的時(shí)間為12 s,每一種控制方式都有不同振蕩情況的跳躍。Z-N算法整定之后的PID控制收斂速度比較緩慢,上升的時(shí)間相對(duì)較快,但是系統(tǒng)調(diào)節(jié)的時(shí)間較長(zhǎng),同時(shí)超調(diào)量也相對(duì)較大。這對(duì)于空調(diào)房間溫度的控制沒(méi)有達(dá)到很好的效果,滯后時(shí)間較長(zhǎng),不利于在空調(diào)工況切換時(shí)使用。引入基本粒子群算法后,PID控制的速度明顯加快,振蕩有所改善,系統(tǒng)調(diào)節(jié)時(shí)間和變化幅度較短,滯后時(shí)間縮短了大約3 s。使用粒子群算法對(duì)PID控制器的參數(shù)賦值運(yùn)算后,幾乎消除了超調(diào)量,并明顯縮短了上升時(shí)間。通過(guò)以上分析可知,本文使用的優(yōu)化算法適用于空調(diào)系統(tǒng),對(duì)房間溫度滯后問(wèn)題的優(yōu)化效果明顯,提高了系統(tǒng)的控制性能。
本文針對(duì)具有二階慣性、純滯后特點(diǎn)的被控對(duì)象(即變風(fēng)量空調(diào)系統(tǒng)),采用粒子群智能算法的優(yōu)化策略,對(duì)PID控制器各參數(shù)進(jìn)行優(yōu)化;同時(shí),采用基本粒子群算法以及Z-N算法進(jìn)行整定,并對(duì)結(jié)果進(jìn)行比較。從三種算法對(duì)PID參數(shù)整定的仿真結(jié)果可看出,加權(quán)后的粒子群算法實(shí)現(xiàn)了對(duì)變風(fēng)量空調(diào)這種非線性系統(tǒng)的實(shí)時(shí)溫度控制。
通過(guò)分析變風(fēng)量空調(diào)溫度系統(tǒng)在應(yīng)用中的不足,提出了一種基于改進(jìn)粒子群算法優(yōu)化PID參數(shù)的方法。這種優(yōu)化方法應(yīng)用到具有多種變化特性的變風(fēng)量空調(diào)系統(tǒng)中,提高了系統(tǒng)的控制性能。
參考文獻(xiàn):
[1] ZHAO Z,YU N.The application of advanced control technologies in air conditioning system-a review[J].Advance in Building Energy Research,2017,11(1):52-66.
[2] SAHU R K,PANDA S,ROUT U K,et al.Teaching learning based optimization algorithm for automatic generation control of power system using 2-DOF PID controller[J].International Journal of Electrical Power & Energy Systems,2016,77(1):287-301.
[3] FREIRE H,OLIVEIRA P B M,PIRES E J S.From single to many-objective PID controller design using particle swarm optimization[J].International Journal of Control,Automation and Systems,2017,15(2):918-932.
[4] 蔡超,周武能.人工蜂群算法整定PID控制器參數(shù)[J].自動(dòng)化儀表,2015,36(8):74-77.
[5] 王華國(guó),孫玉坤,王博,等.改進(jìn)的PSO-FNN在發(fā)酵軟測(cè)量中的應(yīng)用[J].自動(dòng)化儀表,2016,37(3):62-64.
[6] WANG G G,HOSSEIN G A,YANG X S,et al.A novel improved accelerated particle swarm optimization algorithm for global numerical optimization[J].Engineering Computations,2014,31(7):1198-1220.
[7] 楊智,陳穎.改進(jìn)粒子群算法及其在PID整定中的應(yīng)用[J].控制工程,2016,23(2):161-166.
[8] SUN W,XU Y.Using a back propagation neural network based on improved particle swarm optimization to study the influential factors of carbon dioxide emissions in Hebei Province,China[J].Journal of Cleaner Production,2016,112(2):1282-1291.
[9] ZHU Y,JIN X,DU Z,et al.Simulation of variable refrigerant flow air conditioning system in heating mode combined with outdoor air processing unit[J].Energy and Building,2014,68(s1-2);571-579.
[10]ZHANG H,HU J,BU W.Research on fuzzy immune self-adaptive PID algorithm based on new smith predictor for networked control system[J].Mathematical Problems in Engineering,2015(10):1-6.
[11]呂磊,章國(guó)寶,黃永明.基于蝙蝠算法的PID參數(shù)整定[J].控制工程,2017,24(3):548-553.