(寶雞文理學(xué)院 電子電氣工程學(xué)院,陜西 寶雞 721013)
預(yù)測(cè)控制是一種先進(jìn)的計(jì)算機(jī)控制技術(shù)[1],該算法自提出以來(lái)在工業(yè)過(guò)程中得到了廣泛應(yīng)用。動(dòng)態(tài)矩陣控制(dynamic matrix control,DMC)算法屬于預(yù)測(cè)控制算法中的一種,該算法適用于多變量過(guò)程的控制。
與傳統(tǒng)控制算法相比,采用動(dòng)態(tài)矩陣算法對(duì)多變量過(guò)程進(jìn)行控制時(shí),可以減小超調(diào),獲得良好的跟蹤性和較強(qiáng)的魯棒性,但是需要整定的動(dòng)態(tài)矩陣控制參數(shù)較多,且各個(gè)參數(shù)之間存在較強(qiáng)的關(guān)聯(lián)性,不同參數(shù)組合對(duì)系統(tǒng)控制效果影響較大。因此對(duì)動(dòng)態(tài)矩陣控制算法的參數(shù)整定方法進(jìn)行研究很有必要。
對(duì)動(dòng)態(tài)矩陣控制參數(shù)整定大多采用試湊法結(jié)合仿真的方法,但是采用這種方法需要花費(fèi)大量的時(shí)間,而且有可能得到的控制參數(shù)并不是最優(yōu)的參數(shù),不能達(dá)到最佳的控制效果[2]。因此,需要尋找一種快速、簡(jiǎn)單的算法優(yōu)化動(dòng)態(tài)矩陣參數(shù)。
隨著智能控制算法的快速發(fā)展,很多智能優(yōu)化算法被引入到動(dòng)態(tài)矩陣控制的參數(shù)優(yōu)化,如:標(biāo)準(zhǔn)粒子群算法[2-5]、遺傳算法[6]等。文獻(xiàn)[2]采用標(biāo)準(zhǔn)粒子群算法優(yōu)化動(dòng)態(tài)矩陣控制的參數(shù);文獻(xiàn)[6]采用遺傳算法優(yōu)化灰色PI預(yù)測(cè)控制參數(shù)。雖然這些算法可以實(shí)現(xiàn)對(duì)動(dòng)態(tài)矩陣控制參數(shù)的優(yōu)化,但各自都存在一定的局限性,如:遺傳算法迭代過(guò)程比較復(fù)雜,迭代速度慢,易產(chǎn)生早熟收斂等問(wèn)題;標(biāo)準(zhǔn)粒子群算法存在早熟、易于陷入局部最優(yōu)值及維數(shù)災(zāi)難等問(wèn)題。
為了克服手動(dòng)調(diào)節(jié)動(dòng)態(tài)矩陣控制參數(shù)的不確定性和繁瑣性,粒子群算法在搜索后期易于陷入局部最優(yōu)等問(wèn)題,本文采用一種改進(jìn)粒子群算法優(yōu)化動(dòng)態(tài)矩陣控制參數(shù)。最后將該算法應(yīng)用于冷熱水系統(tǒng)進(jìn)行仿真研究,仿真結(jié)果表明該算法優(yōu)于其他幾種算法,具有更好的控制性能,可以有效應(yīng)用于多變量動(dòng)態(tài)矩陣控制參數(shù)的優(yōu)化。
DMC算法包括3個(gè)部分:預(yù)測(cè)模型、滾動(dòng)優(yōu)化、反饋校正。
1)預(yù)測(cè)模型。
對(duì)于m個(gè)輸入r個(gè)輸出的系統(tǒng),假定已測(cè)得每一個(gè)輸出yi對(duì)每一個(gè)輸入uj的階躍響應(yīng)aij(t),則由它們?cè)诓蓸狱c(diǎn)的值可構(gòu)成模型向量aij=[aij(1),aij(2),…,aij(N)]T,其中i=1,2,…,r,j=1,2,…,m,N為建模時(shí)域。
假設(shè)uj從k時(shí)刻依次有M個(gè)增量變化Δuj(k),Δuj(k+1),…,Δuj(k+M-1)時(shí),則yi在未來(lái)P個(gè)時(shí)刻的輸出預(yù)測(cè)值為:
(1)
其中:
M為控制時(shí)域長(zhǎng)度;P為預(yù)測(cè)時(shí)域長(zhǎng)度;(k+i|k)表示在k時(shí)刻對(duì)k+1時(shí)刻的預(yù)測(cè)。
因此,多變量系統(tǒng)預(yù)測(cè)模型為:
(2)
其中:
2)滾動(dòng)優(yōu)化。
要求每一個(gè)輸出yi在未來(lái)P個(gè)時(shí)刻緊密跟蹤相應(yīng)的期望值wi,為了避免控制增量變化劇烈,對(duì)m個(gè)控制增量的大小均加以軟約束。K時(shí)刻的性能指標(biāo)可寫(xiě)為:
ΔUT(k)RΔU(k)
(3)
其中:
Q=diag{Q1,Q2,…,Qr},
Qi=diag{qi(1),qi(2),…,qi(P)},i=1,2,…,r,Qi為誤差權(quán)矩陣;
R=diag{R1,R2,…,Rm},Rj=diag{rj(1),rj(2),…,rj(M)},j=1,2,…,m,Rj為控制權(quán)矩陣。
當(dāng)不考慮約束時(shí),由預(yù)測(cè)模型可求出使性能指標(biāo)最優(yōu)的控制增量為:
(4)
所求的M個(gè)控制增量中只執(zhí)行第一個(gè)控制增量:
(5)
其中:
D=L(ATQA+R)-1ATQ
djiT(j=1,2,…,r;i=1,2,…,m)均為P維向量。
3)反饋校正。
由于存在模型失配、環(huán)境干擾等因素,故上式的預(yù)測(cè)值可能會(huì)偏離實(shí)際值,因此及時(shí)利用實(shí)時(shí)信息進(jìn)行反饋校正。在k時(shí)刻實(shí)施控制后,對(duì)象在未來(lái)時(shí)刻的各輸出值:
(6)
k+1時(shí)刻測(cè)得對(duì)象實(shí)際輸出yi(k+1),則預(yù)測(cè)誤差為:
經(jīng)校正的預(yù)測(cè)向量為:
(7)
其中:H為誤差校正矩陣;通常?。?/p>
(8)
其中:
通過(guò)上面分析可知,使用多變量動(dòng)態(tài)矩陣控制算法對(duì)多變量系統(tǒng)控制時(shí),DMC需要整定的參數(shù)較多,如果手動(dòng)調(diào)節(jié)參數(shù)將會(huì)比較費(fèi)時(shí),而采用標(biāo)準(zhǔn)粒子群算法,容易陷入局部最優(yōu),因此本文將采用一種改進(jìn)PSO算法即基于生物寄生行為的改進(jìn)PSO算法優(yōu)化整定多變量DMC參數(shù)。
1)基本粒子群優(yōu)化算法。
(9)
(10)
2)改進(jìn)PSO算法。
將生物寄生行為的規(guī)律引入到粒子群算法中形成基于生物寄生行為的雙種群改進(jìn)粒子群算法PSOPB(particle swarm optimization based on parasitic behavior)。在PSOPB算法中將粒子分為兩個(gè)種群,一個(gè)為寄生群(SwarmP),其粒子數(shù)量為Np,另一個(gè)為宿主群(SwarmH),其粒子數(shù)量為NH。兩個(gè)種群之間會(huì)發(fā)生兼性寄生行為,兩個(gè)種群間隔一定的迭代次數(shù)k,寄生群從宿主群中獲取適應(yīng)度好的粒子,宿主群將從寄生群中得到同樣數(shù)量的適應(yīng)度差的粒子,之后宿主群中適應(yīng)度較差的粒子以一定的比率γ淘汰。為了使宿主群粒子數(shù)量不變,將淘汰的粒子使用重新初始化的粒子代替[7-8]。兩個(gè)種群交換的粒子數(shù)量設(shè)為round(μ*Np)。μ的值設(shè)定為隨著迭代次數(shù)的增加而呈線性遞減變化:
(11)
其中:t為當(dāng)前迭代次數(shù);tmax為最大迭代次數(shù);μstart為μ的初始值,也是最大值;μend為迭代結(jié)束時(shí)的μ值,也是最小值。
為了提高該算法的搜索精度和收斂速度,寄生群的粒子采用帶收縮因子的PSO算法更新速度,速度更新公式如下:
(12)
式中,收縮因子K由下式確定:
(13)
其中:φ=c1+c2,φ>4。
宿主群中的粒子根據(jù)下式更新速度:
fptg,H≥fptg,p
fptg,H≥fptg,p
(14)
當(dāng)寄生群的群體最優(yōu)位置在連續(xù)η次迭代中都沒(méi)有進(jìn)化時(shí),隨機(jī)選擇寄生群的一個(gè)粒子i在任一維d上的速度按下式發(fā)生變異。
(15)
其中:r3,r4為[0,1]之間的隨機(jī)數(shù)。
3)適應(yīng)度函數(shù)。
DMC參數(shù)的優(yōu)化整定,實(shí)際就是利用基于生物寄生行為的改進(jìn)PSO算法整定DMC的參數(shù)。其本質(zhì)是基于一定目標(biāo)函數(shù)的參數(shù)尋優(yōu)問(wèn)題,目標(biāo)函數(shù)也就是適應(yīng)度函數(shù),適應(yīng)度函數(shù)是隨著迭代的運(yùn)行而逐漸減小的,適應(yīng)度函數(shù)值越小,則表明粒子越靠近全局最優(yōu)解。為了獲取對(duì)象滿意的過(guò)渡過(guò)程動(dòng)態(tài)特性,采用ITAE性能指標(biāo)作為參考的最小目標(biāo)函數(shù);為了避免控制量多大,在目標(biāo)函數(shù)中加入控制輸入的平方項(xiàng);為了避免超調(diào),將超調(diào)量作為目標(biāo)函數(shù)的一項(xiàng)[9-10]。本文取下式作為目標(biāo)函數(shù)為:
(16)
式中,e(t)為系統(tǒng)誤差;u(t)為控制器輸出;tu為上升時(shí)間;w1,w2,w3,w4均為權(quán)值,且w4w1。
本文?。簑1=0.999,w2=0.001,w3=2.0,w4=100。
本文使用改進(jìn)PSO算法優(yōu)化多變量DMC參數(shù),具體步驟如下:
1)基本參數(shù)設(shè)置。根據(jù)需要優(yōu)化的DMC參數(shù)的個(gè)數(shù)設(shè)定粒子維數(shù);設(shè)定群體規(guī)模M,最大迭代次數(shù)tmax,加速因子c11、c12、c13、c1、c2,搜索范圍。
2)將群體等分為寄生群和宿主群兩個(gè)種群,并初始化兩個(gè)種群。
3)粒子性能評(píng)估。根據(jù)式(16)計(jì)算兩個(gè)種群粒子的適應(yīng)度值,并確定宿主群和寄生群中的最優(yōu)位置。
4)粒子狀態(tài)更新。根據(jù)式(12)、(10)對(duì)寄生群中所有個(gè)體進(jìn)行速度、位置更新;根據(jù)式(14)、(10)對(duì)宿主群中所有個(gè)體進(jìn)行速度、位置更新。
5)更新宿主群和寄生群中的最優(yōu)位置。計(jì)算兩個(gè)種群每個(gè)粒子的適應(yīng)度值,并將其適應(yīng)度值與其經(jīng)過(guò)的最好位置進(jìn)行比較,如果目前適應(yīng)度值好,則將其作為當(dāng)前的最優(yōu)位置。每個(gè)種群的粒子將其適應(yīng)度值與其所在種群的最好位置進(jìn)行比較,如果較好,那么將其設(shè)置為所在種群最優(yōu)位置。
6)兩個(gè)種群間隔一定的迭代次數(shù)k,寄生群從宿主群中獲取適應(yīng)度好的粒子,宿主群將從寄生群中得到同樣數(shù)量的適應(yīng)度差的粒子,之后宿主群中適應(yīng)度較差的粒子將以一定的比率γ淘汰,并使用重新初始化的粒子代替淘汰掉的粒子。
7)判斷寄生群的群體最優(yōu)位置是否在連續(xù)η次迭代中都沒(méi)有進(jìn)化,如果是則隨機(jī)選擇寄生群的一個(gè)粒子發(fā)生變異。
8)記錄當(dāng)前整個(gè)群體中的最佳個(gè)體,如果滿足精度要求或整個(gè)進(jìn)化已達(dá)到最大迭代次數(shù),則終止算法。否則轉(zhuǎn)至步驟4)。
冷熱水混合系統(tǒng)是一套實(shí)驗(yàn)裝置件,它可以真是的模擬常見(jiàn)的典型工業(yè)過(guò)程,其結(jié)構(gòu)圖如圖1所示.它主要由大水槽、加熱水槽、混合水槽、開(kāi)關(guān)電磁閥、水泵、變頻器1,變頻器2,鉑熱電阻、壓力傳感器、計(jì)算機(jī)等組成。
圖1 冷熱水混合系統(tǒng)
冷水注入大水槽中,并保證其液位維持在安全工作范圍。水泵1將冷水從大水槽中泵到上面,進(jìn)入混合水槽;水泵2將冷水從大水槽泵入熱水槽,接著一部分進(jìn)入混合水槽和冷水混合,另一部分由水道排出[12]。液位和溫度是該系統(tǒng)的主要被控參數(shù),本文主要研究冷熱水混合系統(tǒng)的液位和溫度控制。這是一個(gè)雙輸入雙輸出具有耦合時(shí)滯特性的系統(tǒng),輸入為冷、熱水流量,輸出為液位和溫度。
本文采用文獻(xiàn)[13]中建立的冷熱水系統(tǒng)數(shù)學(xué)模型,該系統(tǒng)的傳遞函數(shù)模型為:
(17)
以上述冷熱水混合系統(tǒng)作為仿真對(duì)象,進(jìn)行仿真研究。在模型匹配的情況下,使用本文算法對(duì)系統(tǒng)進(jìn)行控制,輸入為單位階躍信號(hào)。參數(shù)設(shè)置如下:種群規(guī)模為100,粒子維度為8,最大迭代次數(shù)為100;加速因子c1=2.05,c2=2.05,c11=1.367,c12=1.367,c13=1.367;寄生行為發(fā)生后宿主群淘汰一半的粒子,即γ=0.5;搜索空間,M取1,P∈[60,150],h1∈[0.1,1],q1∈[0.1,1],r1∈[0.1,1],h2∈[0.1,1],q2∈[0.1,1],r2∈[0.1,1]。
為了驗(yàn)證本文算法的有效性,將本文算法與參考文獻(xiàn)[2]中的SPSO算法控制效果進(jìn)行比較。使用SPSO對(duì)DMC參數(shù)進(jìn)行優(yōu)化時(shí),粒子搜索范圍、粒子維度,種群規(guī)模及最大迭代次數(shù)均與本文算法對(duì)應(yīng)參數(shù)取值一致。其他參數(shù)設(shè)置為:慣性權(quán)重ωmax=0.9,ωmin=0.4;學(xué)習(xí)因子c1=2,c2=2。
兩種算法獨(dú)立運(yùn)行20次,取20次優(yōu)化結(jié)果的平均值作為試驗(yàn)結(jié)果,試驗(yàn)結(jié)果如表1所示。
表1 不同算法的優(yōu)化結(jié)果
使用表1中的優(yōu)化結(jié)果作為DMC參數(shù)對(duì)冷熱水混合系統(tǒng)進(jìn)行控制,系統(tǒng)的階躍響應(yīng)曲線如圖2所示。由圖2可以看出使用本文算法對(duì)系統(tǒng)進(jìn)行控制,系統(tǒng)的超調(diào)更小,調(diào)節(jié)時(shí)間更短,更快進(jìn)入穩(wěn)態(tài)。
圖2 本文算法與SPSO響應(yīng)曲線
當(dāng)被控對(duì)象的增益、時(shí)間常數(shù)同時(shí)增大20%時(shí),分別使用本文算法和參考文獻(xiàn)[2]對(duì)系統(tǒng)進(jìn)行控制,控制器參數(shù)不變,系統(tǒng)階躍響應(yīng)曲線如圖3所示。由局部圖可見(jiàn),當(dāng)對(duì)象參數(shù)攝動(dòng)時(shí),使用本文算法對(duì)系統(tǒng)進(jìn)行控制時(shí),系統(tǒng)響應(yīng)曲線波動(dòng)小于SPSO算法,且系統(tǒng)更快恢復(fù)穩(wěn)態(tài),因此本文算法系統(tǒng)的魯棒性優(yōu)于參考文獻(xiàn)[2]中的算法。
圖3 對(duì)象參數(shù)增大時(shí)本文算法與SPSO算法響應(yīng)曲線
為了驗(yàn)證算法的抗干擾性能,在200 s時(shí),在系統(tǒng)的輸入端引入值為0.2,時(shí)間長(zhǎng)度為50 s的干擾信號(hào),系統(tǒng)響應(yīng)曲線如圖4所示。有圖4中局部曲線可見(jiàn),當(dāng)系統(tǒng)中有干擾時(shí),使用本文算法得到的控制器參數(shù)對(duì)系統(tǒng)進(jìn)行控制,系統(tǒng)可以更快的恢復(fù)穩(wěn)定。本文算法的抗干擾性能優(yōu)于參考文獻(xiàn)[2]中的SPSO算法。
圖4 有干擾時(shí)本文算法與SPSO響應(yīng)曲線
本文針對(duì)多變量DMC參數(shù)整定復(fù)雜、手動(dòng)調(diào)節(jié)費(fèi)時(shí)、標(biāo)準(zhǔn)粒子群算法容易陷入局部最優(yōu)解等缺點(diǎn),提出使用改進(jìn)PSO算法優(yōu)化多變量動(dòng)態(tài)矩陣控制參數(shù)。該改進(jìn)PSO算法將生物的兼性寄生行為機(jī)制引入到PSO算法中,將粒子分為兩個(gè)種群即宿主群和寄主群,兩個(gè)種群每間隔一定的迭代次數(shù)根據(jù)適應(yīng)度的大小,按一定的比率交換粒子,最終將宿主群中適應(yīng)度差的粒子淘汰掉,并使用重新初始化的粒子代替淘汰掉的粒子。該改進(jìn)PSO算法通過(guò)將兼性寄生行為機(jī)制引入到PSO中,有助于避免個(gè)體陷入局部最優(yōu)點(diǎn),可提高PSO算法的收斂速度和搜索精度。本文使用該改進(jìn)PSO算法優(yōu)化DMC的參數(shù),克服了DMC參數(shù)多、整定復(fù)雜的問(wèn)題,通過(guò)本文方法得到的DMC參數(shù)更優(yōu),DMC的控制效果更好。為了驗(yàn)證本文算法的有效性,將本文算法用于具有大時(shí)滯、強(qiáng)耦合的冷熱水混合系統(tǒng)的控制,仿真結(jié)果表明使用本文算法對(duì)冷熱水系統(tǒng)進(jìn)行控制時(shí),系統(tǒng)具有超調(diào)量小、響應(yīng)速度快抗干擾性強(qiáng)、魯棒性好等優(yōu)點(diǎn)。
參考文獻(xiàn):
[1] 唐賢倫,李 洋,李 鵬,等.多群體粒子群優(yōu)化的SVR模型預(yù)測(cè)控制[J].控制決策,2014,29(4):593-597.
[2] 谷澤坤,何同祥.基于粒子群算法的動(dòng)態(tài)矩陣參數(shù)優(yōu)化[J].儀器儀表用戶,2015,22(3):35-36.
[3] Gesner A. et al.A PSO-based optimal tuning strategy for constrained multivariable predictive controllers with model uncertainty[J].ISA transactions,2014,53:560-567.
[4] Susuki R,Kawai F, Nakazawa C,et al.Parameter optimization of model predictive control by PSO[J].Electrical Engineering in Japan,2012,178(1):40-49.
[5] 黃昌遠(yuǎn).基于粒子群優(yōu)化算法的反應(yīng)釜溫度預(yù)測(cè)控制研究與應(yīng)用[D].杭州:浙江理工大學(xué),2014.
[6]仉寶玉,蘇成利.基于遺傳算法優(yōu)化因子的灰色PI預(yù)測(cè)控制[J].科學(xué)技術(shù)與工程,2011,11(22):5312-5316.
[7] 秦全德.粒子群算法研究及應(yīng)用[D].廣州:華南理工大學(xué),2011.
[8] 秦全德.基于生物寄生行為的雙種群粒子群算法[J].控制與決策,2011,26(4):548-552.
[9] 姜蘇英.基于模型預(yù)測(cè)的多變量過(guò)程控制方法研究[D].西安:陜西科技大學(xué),2016.
[10] 劉金琨.先進(jìn)PID控制MATLAB仿真(第2版)[M].北京:電子工業(yè)出版社,2004.
[11] 姜蘇英,鄭恩讓.抄紙過(guò)程水分定量系統(tǒng)的預(yù)測(cè)控制[J].計(jì)算機(jī)仿真,2015,32(10):350-353.
[12]楊 浩,鄭恩讓.液位溫度時(shí)滯耦合系統(tǒng)自抗擾控制仿真研究[J].計(jì)算機(jī)仿真,2013,30(1):356-359.
[13] 張 玲.液位溫度耦合系統(tǒng)的智能控制[J].陜西科技大學(xué)學(xué)報(bào),2007,25(6):94-98.