楊世忠,孫崇國,李善偉
(青島理工大學(xué)信息與控制工程學(xué)院,青島 266520)
PID控制算法編寫容易、控制效果優(yōu)良并且具有較好的魯棒性[1],成為工業(yè)工程中最常用的控制之一。隨著科技的不斷發(fā)展,過程控制由于自身非線性、復(fù)雜性也不斷增加,PID控制的自身局限性越來越明顯,PID控制器的參數(shù)難以整定到理想狀態(tài),對控制效果造成一定的影響[2-4]。
隨著專家們對算法的不斷研究,越來越多的智能優(yōu)化算法被廣泛應(yīng)用,如遺傳算法(Genetic Algorithm,GA)、BP神經(jīng)網(wǎng)絡(luò)和蟻群算法等都被廣泛用于PID參數(shù)整定中。其中遺傳算法是一種高度并行的隨機(jī)優(yōu)化方法,其特點(diǎn)是不依賴于梯度信息或者其它輔助信息的整體搜索策略,具有很好的全局搜索能力和魯棒性[5]。文獻(xiàn)[6]主要介紹了遺傳算法以及一種基于遺傳算法的反應(yīng)爐溫度PID控制方法,并運(yùn)用遺傳PID對反應(yīng)爐溫度控制器參數(shù)進(jìn)行優(yōu)化,通過與常規(guī)PID相比,遺傳PID控制系統(tǒng)具有更高的控制精度和更快的反應(yīng)速度,魯棒性也有一定的提升[6]。文獻(xiàn)[7]針對集成電路芯片烘箱在溫度控制中因腔體均勻性差導(dǎo)致調(diào)節(jié)效率低的問題,在烘箱溫度控制程序中引入了對初始條件不敏感、能夠?qū)で笕肿顑?yōu)解的自適應(yīng)在線遺傳算法PID控制策略。通過對改進(jìn)前后兩種設(shè)備的算法模型進(jìn)行實(shí)測數(shù)據(jù)對比分析,證明采用遺傳PID控制方案的設(shè)備性能要遠(yuǎn)優(yōu)于采用傳統(tǒng)PID方案的設(shè)備,其溫度調(diào)節(jié)速率明顯提高,并具有良好的動(dòng)態(tài)特性和魯棒性[7]。但是,傳統(tǒng)遺傳算法也有不足之處,如果在進(jìn)行PID參數(shù)優(yōu)化時(shí)采用傳統(tǒng)遺傳算法,由于算法本身的特點(diǎn),搜索過程中容易發(fā)生早熟現(xiàn)象,陷入局部最優(yōu)解[8]。
本文在傳統(tǒng)遺傳算法上提出了改進(jìn)策略,改進(jìn)了傳統(tǒng)遺傳算法的適應(yīng)度函數(shù)值以及交叉率和變異率,方法是通過結(jié)合遺傳算法的適應(yīng)度函數(shù),引入了 Sigmoid 函數(shù)和高斯分布函數(shù),并應(yīng)改進(jìn)后的算法用于PID參數(shù)優(yōu)化中。通過對變風(fēng)量空調(diào)系統(tǒng)的冷凍水流量-送風(fēng)溫度,送風(fēng)溫度-房間溫度,風(fēng)機(jī)頻率-風(fēng)管靜壓這三個(gè)控制回路進(jìn)行仿真研究。通過仿真結(jié)果可知,改進(jìn)后的遺傳算法對比傳統(tǒng)遺傳算法,能有效改善傳統(tǒng)遺傳算法參數(shù)優(yōu)化困難和容易過早收斂的問題,提高優(yōu)化效果,實(shí)現(xiàn)了變風(fēng)量空調(diào)系統(tǒng)的優(yōu)化控制。
遺傳算法GA(Genetic Algorithms)是基于生物界遺傳機(jī)制和生物進(jìn)化理論的一種自適應(yīng)概率性全局優(yōu)化的隨機(jī)搜索算法[9]。遺傳算法的原理是將被優(yōu)化的問題看做群體中個(gè)體或染色體并對其進(jìn)行編碼,根據(jù)達(dá)爾文提出進(jìn)化論來模仿自然界中遺傳和淘汰機(jī)制,同時(shí)也包括生物進(jìn)化中的繁殖、交叉以及基因突變現(xiàn)象。根據(jù)目標(biāo)適應(yīng)度函數(shù)對產(chǎn)生的后代進(jìn)行對比,對優(yōu)秀個(gè)體進(jìn)行選擇,較差個(gè)體淘汰,重復(fù)此過程一直得到滿意的收斂指標(biāo)[10]。其具有全局性、并行性、高效性、魯棒性、普適性、簡明性等特點(diǎn)[11]。但同時(shí)也具有如下缺點(diǎn):
①當(dāng)遺傳算法優(yōu)化目標(biāo)函數(shù)中的未知參數(shù)是連續(xù)變量時(shí),很難兼顧編碼長度和變量精度最優(yōu)情況,而且在編碼方式為二進(jìn)制時(shí),編寫難度更大。
②遺傳算法的尋優(yōu)效果與交叉和變異算子的設(shè)置直接相關(guān)。由于傳統(tǒng)遺傳算法中,在算法進(jìn)行運(yùn)算時(shí),交叉和變異算子是設(shè)置為固定不變的,這有可能與實(shí)際要解決的參數(shù)問題不符,從而影響算法的個(gè)體進(jìn)化速度和函數(shù)收斂性。
③盡管傳統(tǒng)遺傳算法的全局搜索能力較為優(yōu)秀,同時(shí)具有很強(qiáng)的魯棒性,但是其局部搜索能力不足,容易發(fā)生早熟現(xiàn)象,過早的陷入局部收斂,從而無法獲得高精度的最優(yōu)解[12]。
④傳統(tǒng)遺傳算法采用隨機(jī)的方式生成初始種群個(gè)體,因此運(yùn)行效率不如其他智能算法。
傳統(tǒng)遺傳算法的明顯特點(diǎn)是隨機(jī)搜索極值,并且在算法運(yùn)行期間需要保持恒定的交叉和變異參數(shù),這會(huì)嚴(yán)重影響算法的尋優(yōu)速度和穩(wěn)定性,從而發(fā)生早熟現(xiàn)象,本文在傳統(tǒng)遺傳算法的基礎(chǔ)上進(jìn)行改進(jìn),引入一種按Sigmoid 函數(shù)、高斯分布函數(shù)和平均適應(yīng)度進(jìn)行非線性自適應(yīng)調(diào)整個(gè)體適應(yīng)度值、交叉率和變異率的調(diào)節(jié)公式,從而完成對交叉率、變異率和適應(yīng)度值等方面進(jìn)行改進(jìn),這不僅增加了種群的多樣性,也滿足算法對進(jìn)化不同階段的側(cè)重,同時(shí)提高算法的全局和局部搜索能力和收斂速度[13]。
1)改進(jìn)個(gè)體適應(yīng)度值的設(shè)計(jì)
個(gè)體在不同環(huán)境下的生存能力是通過個(gè)體適應(yīng)度值來表現(xiàn)的,如果適應(yīng)度值過大則有可能誤導(dǎo)群體進(jìn)化方向,從而導(dǎo)致算法陷入局部最優(yōu),為了防止這種情況表發(fā)生,改進(jìn)遺傳算法中加入自適應(yīng)調(diào)節(jié)機(jī)制,使適應(yīng)度值隨著迭代次數(shù)的增加自行調(diào)整,從而增加種群的多樣性,改善了傳統(tǒng)遺傳算法收斂速度較快的問題[14]。改進(jìn)的個(gè)體適應(yīng)度值計(jì)算公式如式(1)所示,即
(1)
式中,fi為種群中第i個(gè)個(gè)體適應(yīng)度值;fi′為縮放后種群中第i個(gè)個(gè)體適應(yīng)度值;favg為種群平均適應(yīng)度值;δ為縮放度,一般為(0.5~1)這個(gè)區(qū)間內(nèi)的實(shí)數(shù);γ為縮放系數(shù),γ=0.5min(γ1,γ2),γ1=maxfi-favg,γ2=favg-minfi。由公式(1)可得,個(gè)體適應(yīng)度值的自適應(yīng)調(diào)整是與平均適應(yīng)度值有關(guān)的,當(dāng)個(gè)體適應(yīng)度值大于等于算法平均適應(yīng)度值時(shí),應(yīng)減小其適應(yīng)度值,降低個(gè)體被選擇概率;當(dāng)個(gè)體適應(yīng)度值小于算法平均適應(yīng)度值時(shí),應(yīng)增加其適應(yīng)度值,增大其被選擇的概率,通過自適應(yīng)調(diào)整適應(yīng)度值的方式來改善遺傳算法的收斂性質(zhì),優(yōu)化算法運(yùn)行效果。
2)改進(jìn)交叉概率和變異概率
遺傳算法中,算法進(jìn)化的核心是交叉算子和變異算子的設(shè)置,其交叉率Pc和變異率Pm是算法收斂和穩(wěn)定的關(guān)鍵參數(shù)。交叉率越大,代表算法擁有較大的搜索空間,在算法運(yùn)行中就越迅速的產(chǎn)生新個(gè)體,但是會(huì)容易造成優(yōu)良個(gè)體被破壞;交叉率越小,使得算法運(yùn)行時(shí)新個(gè)體產(chǎn)生速度較慢,整個(gè)搜索過程速度較小,花費(fèi)時(shí)間較多。變異率是算法搜索全局最優(yōu)解的關(guān)鍵,如果變異率設(shè)置過大,那么遺傳算法的尋優(yōu)就會(huì)變成純隨機(jī)過程;如果變異率設(shè)置過小,則算法無法保持種群的多樣性。因此改進(jìn)遺傳算法引入調(diào)整交叉率和變異率的調(diào)節(jié)公式,實(shí)現(xiàn)了二者的自適應(yīng)非線性調(diào)整。
Sigmoid函數(shù)簡化方程如式(2)所示
(2)
式中,f(x)為Sigmoid函數(shù);x為函數(shù)自變量,a為Sigmoid的光滑參數(shù),一般為0.5-1.0。高斯分布是一個(gè)應(yīng)用非常廣泛的概率分布,高斯分布函數(shù)表達(dá)式如式(3)所示
(3)
式中:f(x1)為高斯分布函數(shù),x1為函數(shù)變量,μ為未知參數(shù),σ為標(biāo)準(zhǔn)差;式(4)和(5)分別為交叉概率和變異概率調(diào)節(jié)公式
(4)
(5)
式中:fmax為種群中最大的個(gè)體適應(yīng)度值;f′為要交叉的兩個(gè)個(gè)體中較大的適應(yīng)度值;k1為曲線平滑參數(shù),用來調(diào)節(jié)曲線的光滑程度,一般為0.9;k2為曲線高度參數(shù),一般為0.4;pcmax、pcmin分別為交叉率的最大值和最小值;pmmax、pmmin分別為變異率的最大值和最小值。
由式(4)、(5)可知,改進(jìn)遺傳算法在種群進(jìn)化初期設(shè)置了較小的變異率,這有利于加快算法的收斂速度,預(yù)防了種群優(yōu)良個(gè)體過早變異。同時(shí),當(dāng)種群個(gè)體適應(yīng)度值接近favg時(shí),使個(gè)體交叉率和變異接近最大值,這加快了算法運(yùn)行節(jié)奏,避免陷入局部最優(yōu)。當(dāng)個(gè)體適應(yīng)度值接近fmax時(shí),平滑減小個(gè)體的交叉率和變異率,保留fmax處的優(yōu)良個(gè)體,因此改進(jìn)后的遺傳算法可以解決傳統(tǒng)遺傳算法的早熟和局部最優(yōu)問題。
采用改進(jìn)遺傳算法對PID控制器參數(shù)進(jìn)行在線調(diào)整,控制結(jié)構(gòu)框圖如圖1。
圖1 基于改進(jìn)遺傳PID控制結(jié)構(gòu)框圖
改進(jìn)遺傳PID優(yōu)化步驟
1)對PID參數(shù)進(jìn)行范圍約束操作,根據(jù)大量工程試驗(yàn)經(jīng)驗(yàn)可得:Kp?[0,10],Ki?[0,1],Kd?[0,1]。
2)初始化種群群體編碼。本次編碼采用二進(jìn)制編碼,初始種群規(guī)模為40,分別對PID的三個(gè)參數(shù)Kp,Ki,Kd進(jìn)行編碼,編碼內(nèi)容為長度是10位的二進(jìn)制字符串。
3)解碼。確定遺傳算法適應(yīng)度函數(shù),計(jì)算個(gè)體適應(yīng)度值,進(jìn)行個(gè)體間對比,尋出含有最優(yōu)適應(yīng)度值的個(gè)體。遺傳算法在優(yōu)化搜索過程中,僅以適應(yīng)度函數(shù)來評價(jià)個(gè)體,這會(huì)導(dǎo)致算法尋優(yōu)精度不高,在改進(jìn)遺傳算法中,選擇適應(yīng)度函數(shù)為f=1/j,其中
(6)
式中,ω1,ω2,ω3為權(quán)值,e(t)為系統(tǒng)誤差,u(t)為控制器輸出,tu為系統(tǒng)上升時(shí)間。
4)如滿足要求(精度達(dá)到10-5或達(dá)到最大進(jìn)化代數(shù)),輸出最優(yōu)解,算法結(jié)束,否則按式(3)對個(gè)體適應(yīng)度值進(jìn)行自適應(yīng)調(diào)整,同時(shí),根據(jù)輪盤賭選擇復(fù)制,生產(chǎn)匹配池。
5)根據(jù)favg和個(gè)體適應(yīng)度,結(jié)合自適應(yīng)調(diào)節(jié)公式進(jìn)行交叉和變異操作。
6)返回步驟3),如達(dá)到指定要求(精度達(dá)到10-5),算法結(jié)束,否則繼續(xù)執(zhí)行操作[15]。
以二階系統(tǒng)為例,傳遞函數(shù)如下:G0(s)=100/(s2+30s+1),分別使用基本遺傳算法和改進(jìn)遺傳算法對該系統(tǒng)參數(shù)100代尋優(yōu),采周期為0.01s,樣本個(gè)體為30,按照公式(1)來計(jì)算改進(jìn)遺傳算法的適應(yīng)度,交叉、變異概率調(diào)整按照式(4)、(5)調(diào)節(jié)。兩種算法的PID整定優(yōu)化后控制階躍響應(yīng)曲線如圖2所示。基本遺傳算法和改進(jìn)遺傳算法對應(yīng)的參數(shù)及性能指標(biāo)如表1所示。
圖2 基本遺傳算法和改進(jìn)遺傳算整定后的PID參數(shù)階躍響應(yīng)對比圖
表1 PID整定方法及對應(yīng)參數(shù)和性能指標(biāo)
由圖2和表1兩種算法整定后的階躍響應(yīng)曲線對比圖和控制器參數(shù)可以看出,改進(jìn)遺傳算法尋優(yōu)速度要快于基本遺傳算法的尋優(yōu)速度。對于此二階系統(tǒng)而言,改進(jìn)遺傳算法和基本遺傳算法都具有較好的穩(wěn)定性,但改進(jìn)遺傳算法的PID整定效果明顯要優(yōu)于基于基本遺傳算法的PID整定,同時(shí)改進(jìn)遺傳算法的調(diào)節(jié)時(shí)間更短。
假定二階慣性加滯后模型為:G1(s)=(400/s2+50s)*e-8s,分別使用基本遺傳算法和改進(jìn)遺傳算法對PID控制器進(jìn)行優(yōu)化。采樣周期為0.01s,樣本個(gè)體為30,進(jìn)化代數(shù)取100,改進(jìn)遺傳算法個(gè)體適應(yīng)度值按照式(1)計(jì)算,交叉、變異概率調(diào)整按照式(4)、(5)調(diào)節(jié)。基本遺傳算法和改進(jìn)遺傳算法對應(yīng)的參數(shù)及性能指標(biāo)如表2所示。GA-PID和改進(jìn)GA-PID控制階躍響應(yīng)曲線對比圖如圖3所示。
圖3 基本遺傳算法和改進(jìn)遺傳算整定后的PID參數(shù)階躍響應(yīng)對比圖
由圖2和表1兩種算法整定后的階躍響應(yīng)曲線對比圖和控制器參數(shù)可以看出,改進(jìn)遺傳算法尋優(yōu)速度要快于基本遺傳算法的尋優(yōu)速度。對于此二階系統(tǒng)而言,改進(jìn)遺傳算法和基本遺傳算法都具有較好的穩(wěn)定性,但改進(jìn)遺傳算法的PID整定效果明顯要優(yōu)于基于基本遺傳算法的PID整定,同時(shí)改進(jìn)遺傳算法的調(diào)節(jié)時(shí)間更短。
假定二階慣性加滯后模型為:G1(s)=(400/s2+50s)*e-8s,分別使用基本遺傳算法和改進(jìn)遺傳算法對PID控制器進(jìn)行優(yōu)化。采樣周期為0.01s,樣本個(gè)體為30,進(jìn)化代數(shù)取100,改進(jìn)遺傳算法個(gè)體適應(yīng)度值按照式(1)計(jì)算,交叉、變異概率調(diào)整按照式(4)、(5)調(diào)節(jié)?;具z傳算法和改進(jìn)遺傳算法對應(yīng)的參數(shù)及性能指標(biāo)如表2所示。GA-PID和改進(jìn)GA-PID控制階躍響應(yīng)曲線對比圖如圖3所示。
表2 二階滯后系統(tǒng)的控制器參數(shù)結(jié)果及動(dòng)態(tài)特性對比表
從表2及圖3可知,對于二階滯后系統(tǒng),基于改進(jìn)遺傳算法PID整定的參數(shù)控制比基本遺傳算法PID整定的參數(shù)控制有更好的控制效果和動(dòng)態(tài)性能,且在實(shí)驗(yàn)過程中,改進(jìn)的遺傳算法穩(wěn)定性更高,收斂速度更快。
通過對變風(fēng)量空調(diào)系統(tǒng)各回路進(jìn)行系統(tǒng)辨識,最終得到冷凍水流量-送風(fēng)溫度的數(shù)學(xué)模型為:G2(s)=(12.885/4.585s+1)*e-3s,送風(fēng)溫度-房間溫度的數(shù)學(xué)模型為:G3(s)=(-0.3431/13.163s+1)*e-32s,風(fēng)機(jī)頻率-風(fēng)管靜壓的數(shù)學(xué)模型為:G4(s)=(-1.065/6.47s+1)*e-5s。分別用GA-PID控制器和改進(jìn)GA-PID控制器對變風(fēng)量空調(diào)系統(tǒng)的冷凍水流量-送風(fēng)溫度,送風(fēng)溫度-房間溫度,風(fēng)機(jī)頻率-風(fēng)管靜壓這三個(gè)回路進(jìn)行優(yōu)化控制仿真。房間溫度500s時(shí)設(shè)置為25℃,1000s,2000s時(shí)分別設(shè)置為20℃和30℃。送風(fēng)溫度500s時(shí)設(shè)置為20℃,1000s,2000s時(shí)分別設(shè)置為15℃和25℃。風(fēng)管靜壓500s時(shí)設(shè)置為150Pa,1000s,2000s時(shí)設(shè)置為200Pa和100Pa。用基本遺傳算法對PID控制器進(jìn)行參數(shù)優(yōu)化,采樣周期0.01s,取式(1)所示的個(gè)體適應(yīng)度值縮放方法進(jìn)行選擇操作,交叉算子概率Pc=0.36,變異算子概率Pm=0.09。優(yōu)化后得到的控制器參數(shù)Kp=4.232,Ki=0.685,Kd=0.425,性能指標(biāo)為J=6.245;用改進(jìn)的遺傳算法對PID控制器參數(shù)優(yōu)化,采樣周期為0.01s,優(yōu)化指標(biāo)、進(jìn)化代數(shù)和樣本規(guī)模跟基本遺傳算法的設(shè)置都相同。PID控制器參數(shù)Kp=3.275,Ki=0.194,Kd=0.336,性能指標(biāo)J=3.513;相同的實(shí)驗(yàn)條件下,基于GA-PID空調(diào)系統(tǒng)優(yōu)化控制曲線如圖4,基于改進(jìn)GA-PID空調(diào)系統(tǒng)優(yōu)化控制曲線如圖5。
圖4 基于GA-PID變風(fēng)量空調(diào)系統(tǒng)優(yōu)化控制仿真
圖5 基于改進(jìn)GA-PID變風(fēng)量空調(diào)系統(tǒng)優(yōu)化控制仿真
通過圖4到圖5可以看出,改進(jìn)GA-PID算法控制效果優(yōu)于GA-PID算法控制效果。主要表現(xiàn)在:房間溫度控制回路的干擾抑制能力較強(qiáng),受到其它回路和熱擾動(dòng)的影響較小。當(dāng)房間溫度設(shè)定值發(fā)生變化時(shí),送風(fēng)溫度的波動(dòng)范圍較小,穩(wěn)定在設(shè)定值附近,基本不受其它回路的影響。當(dāng)房間溫度設(shè)定值發(fā)生變化時(shí),風(fēng)管靜壓控制回路有一定的偏移量,但是改進(jìn)GA-PID控制算法下的風(fēng)道靜壓平均絕對值小于GA-PID控制算法下的風(fēng)道靜壓平均絕對值偏差,可以更好的使風(fēng)道靜壓穩(wěn)定在設(shè)定值附近??傮w上說,VAV空調(diào)系統(tǒng)的基于改進(jìn)GA-PID算法的控制效果較好。
本文針對變風(fēng)量空調(diào)系統(tǒng)多變量、非線性、強(qiáng)耦合等特點(diǎn),為了系統(tǒng)的穩(wěn)定性,對傳統(tǒng)遺傳算法進(jìn)行改進(jìn),在算法適應(yīng)度值、交叉率和變異率方面,結(jié)合遺傳算法的適應(yīng)度函數(shù),引入 Sigmoid 函數(shù)和高斯分布函數(shù),有效改善了傳統(tǒng)遺傳算法的早熟現(xiàn)象和局部最優(yōu)問題。在這個(gè)基礎(chǔ)上設(shè)計(jì)了改進(jìn)GA-PID算法,并分別對二階系統(tǒng)、二階滯后系統(tǒng)PID參數(shù)進(jìn)行優(yōu)化,仿真結(jié)果表明:經(jīng)改進(jìn)的遺傳算法對控制器參數(shù)優(yōu)化后階躍響應(yīng)曲線優(yōu)良,被控對象具良好的動(dòng)態(tài)特性,調(diào)節(jié)時(shí)間短、超調(diào)量非常小。最后將GA-PID控制器和改進(jìn)的GA-PID控制器分別對變風(fēng)量空調(diào)系統(tǒng)的冷凍水流量-送風(fēng)溫度,送風(fēng)溫度-房間溫度,風(fēng)機(jī)頻率-風(fēng)管靜壓這三個(gè)控制回路進(jìn)行仿真研究;仿真結(jié)果表明:改進(jìn)的遺傳算法對比傳統(tǒng)遺傳算法,更有利于空調(diào)控制器的參數(shù)優(yōu)化,良好的實(shí)現(xiàn)了變風(fēng)量空調(diào)系統(tǒng)的優(yōu)化控制。