趙鐵彪,徐毅,樊培利,薛美盛
(1.中國科學(xué)技術(shù)大學(xué)自動化系,合肥230026;2.山東石橫發(fā)電廠,山東泰安271261)
動態(tài)矩陣控制(DMC)是一種重要的預(yù)測控制算法,由Cutlergf在1980年提出[1]。它采用在工程上易于測取的對象階躍響應(yīng)做模型,算法比較簡單,計(jì)算量較少,魯棒性較強(qiáng),適用于有純時延、開環(huán)漸進(jìn)穩(wěn)定的非最小相位系統(tǒng),近年來已在冶金、石油、化工等部門的過程控制中取得成功的應(yīng)用[2]。研究發(fā)現(xiàn),DMC對模型失配的魯棒性有一定的局限性,需要改善預(yù)測模型,從而使得預(yù)測輸出值更準(zhǔn)確。
文獻(xiàn)[3-4]中提到,由于先驗(yàn)知識的局限性和過程的時變性,因而模型誤差勢必降低系統(tǒng)的控制精度和魯棒性,必須采取附加的預(yù)測手段彌補(bǔ)模型預(yù)測的不足。針對這個問題,席裕庚提出了引入誤差預(yù)測,采用誤差預(yù)測和模型預(yù)測相結(jié)合的思路。文獻(xiàn)[5]中,基于BP結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò),對系統(tǒng)的建模誤差進(jìn)行預(yù)測,取得了一定的效果。文獻(xiàn)[6]中,提出用小波網(wǎng)絡(luò)建立誤差的預(yù)測模型,并對模型預(yù)測進(jìn)行動態(tài)補(bǔ)償,增強(qiáng)了系統(tǒng)魯棒性。文獻(xiàn)[7]中將LS-SVM支持向量機(jī)用于廣義預(yù)測控制的誤差補(bǔ)償,取得了一定的效果。然而,支持向量機(jī)建模也存在一定不足,如基函數(shù)必須滿足mercer定理等。文獻(xiàn)[8]提出一種新的機(jī)器學(xué)習(xí)方法最小二乘相關(guān)向量回歸(LS-RVR),并將其與支持向量機(jī)(SVM)模型、相關(guān)向量回歸(RVR)模型分別就計(jì)算復(fù)雜度和模型精度做了比較,獲得了更良好的建模效果。
筆者針對動態(tài)矩陣控制中遇到的模型失配問題,結(jié)合相關(guān)向量回歸的特點(diǎn),提出了基于LS-
RVR的誤差補(bǔ)償動態(tài)矩陣控制算法,并進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明了該算法的有效性。
假設(shè)未來M個時刻的控制增量分別為Δu(k),Δu(k+1),…,Δu(k+M-1),則未來P個時刻系統(tǒng)的預(yù)測模型輸出值為
式中:Ym(k+1)——k時刻施加Δu(k)時未來N個時刻的模型預(yù)測值,Ym(k+1)=[ym(k+1/k),ym(k+2/k),…,ym(k+N/k)]T;Y0(k+1)——k時刻未施加Δu(k)時未來N個時刻的模型輸出初值,Y0(k+1)=[y0(k+1/k),y0(k+2/k),…,y0(k+N/k)]T;ΔU(k)=[Δu(k),Δu(k+1),…,Δu(k+M-1)]T;A——動態(tài)矩陣,
模型輸出初值:
式中:U(k-1)=[u(k-N+1),u(k-N+2),…,u(k-1)]T。將式(2)代入式(1)中,即可求出未來N個時刻預(yù)測模型輸出值為
為了克服模型誤差和干擾等的影響,需要用實(shí)際輸出誤差對系統(tǒng)預(yù)測模型輸出進(jìn)行修正,得到預(yù)測輸出值,即:
式中:Yp(k+1)=[yp(k+1),yp(k+2),…,yp(k+P)]T;H=[h1,h2,…,hP]T。
最優(yōu)控制律由二次型性能指標(biāo)確定:
由?JP/?ΔU(k)=0,求得:
式中:e(k)=y(tǒng)(k)-ym(k)。將上式展開,可求得從k到k+M-1時刻的控制增量,即:
RVR是文獻(xiàn)[10]提出的一種貝葉斯框架,可以用來獲得回歸建模的稀疏解。與SVM相比,RVR使用更少的基函數(shù);不僅可以得到預(yù)測輸出的點(diǎn)估計(jì),還可以得到預(yù)測輸出的概率分布。另外,基函數(shù)無須滿足mercer定理[10-11]。
設(shè)廣義線性模型:
式中:K(x,xi)——基函數(shù);wi——模型的權(quán)值向量的第i個元素。假設(shè)輸入輸出樣本集
輸出值是來自有附加噪聲模型的采樣值:
εn服從方差為σ2的零均值高斯分布,則樣本集的似然函數(shù)為[10]
式中:t=(t1,t2,…,tN);w=(w1,w2,…,wN);Φ——設(shè)計(jì)矩陣,Φ∈N×(N+1),Φ=[φ(x1),φ(x2),…,φ(xN)]T。其中,φ(xn)=[1,K(xn,x1),K(xn,x2),…,K(xn,xN)]T。對權(quán)值向量定義先驗(yàn)的概率密度分布,即:
式中:α——N+1維向量,被稱為超參數(shù),它使得回歸模型的復(fù)雜程度降低并更為光滑。由貝葉斯準(zhǔn)則,可以得到權(quán)值向量的后驗(yàn)似然分布為
對式(10)兩端取對數(shù),得:
分別對α和σ2求導(dǎo),并令導(dǎo)數(shù)等于0,可以得到公式[10]:
對于采樣獲得的輸入輸出數(shù)據(jù),先進(jìn)行最小二乘線性建模,然后把該線性模型的擬合誤差和輸入輸出數(shù)據(jù)用RVR進(jìn)行建模,從而構(gòu)成整個LSRVR模型[8]。
對于n階系統(tǒng),假設(shè)輸入輸出序列為{u(k),y(k)}k=1,2,…,n+N,則有:
式中:Y=[y(n+1),y(n+2),…,y(n+N)]T;
運(yùn)用LS-RVR建模步驟如下:
a)運(yùn)用標(biāo)準(zhǔn)遞推最小二乘方法建模,根據(jù)建立的模型可以得出對于輸入X,模型輸出為
b)最小二乘方法建模誤差為
c)運(yùn)用RVR方法對E進(jìn)行建模,求得模型權(quán)值向量序列和相關(guān)向量序列{wk},{xk},k=1,2,…,m,其中m為相關(guān)向量的個數(shù)。有:
d)對于一個未知點(diǎn)x*,建立模型的輸出結(jié)果為
為了克服模型誤差和干擾的影響,DMC算法采用該步系統(tǒng)實(shí)際輸出與模型預(yù)測輸出的誤差來代替下一步模型預(yù)測輸出的誤差,增加了模型預(yù)測輸出精度,但它對建模誤差的修正仍有一定的局限性。為了提高模型預(yù)測精度,筆者提出了基于LSRVR誤差補(bǔ)償算法,對歷史輸入輸出和誤差進(jìn)行訓(xùn)練,建立誤差模型并對誤差進(jìn)行一步預(yù)測得到下一步的模型預(yù)測誤差,從而提高了模型預(yù)測的精度。
利用LS-RVR建模方法,建立誤差模型。該誤差模型可以表示為[7]
根據(jù)得到的誤差模型,預(yù)測下步的誤差:
從而可得控制增量輸出為
計(jì)算步驟:
a)對預(yù)測控制參數(shù)進(jìn)行初始化。
b)進(jìn)行傳統(tǒng)動態(tài)矩陣控制,得到輸入、輸出、誤差數(shù)據(jù),作為訓(xùn)練樣本。
c)對誤差數(shù)據(jù)進(jìn)行建模,得到誤差模型。
d)根據(jù)誤差模型,采用式(22)描述的控制律進(jìn)行動態(tài)矩陣控制。
例1 選取具有大慣性的火電廠熱工系統(tǒng)主蒸汽壓力對象[12],其傳遞函數(shù)為
采樣周期為5s,預(yù)測前景為90,控制前景為15,誤差矩陣hi=1,控制加權(quán)矩陣λi=1。
離散化后,由于實(shí)際系統(tǒng)中存在一定的擾動,假設(shè)實(shí)際模型為
預(yù)測模型為
仿真結(jié)果如圖1~3所示,縱坐標(biāo)變量為無量綱。
圖1 傳統(tǒng)DMC方法
圖2 LS-RVR誤差補(bǔ)償DMC方法
圖3 兩種方法輸出比較
例2 選取仿真對象為文獻(xiàn)[13]給出的山東石橫電廠2號爐主汽溫過程,在高負(fù)荷(270~315MW)時模型對象:
采樣時間選4s,預(yù)測前景為130,控制前景為15,誤差矩陣hi=1,控制加權(quán)矩陣λi=1。
由于實(shí)際系統(tǒng)中存在一定的擾動,假設(shè)實(shí)際模型為
預(yù)測模型為
仿真結(jié)果如圖4~6所示,縱坐標(biāo)變量為無量綱。
圖4 傳統(tǒng)DMC方法
由仿真結(jié)果可以看出,誤差補(bǔ)償型預(yù)測控制算法與傳統(tǒng)動態(tài)矩陣控制算法相比,控制效果得到進(jìn)一步提高。
圖5 LS-RVR誤差補(bǔ)償DMC方法
圖6 兩種方法輸出比較
筆者針對傳統(tǒng)DMC控制對于模型失配的魯棒性有一定的局限性,提出新的LS-RVR誤差補(bǔ)償動態(tài)矩陣控制算法。通過LS-RVR良好的建模能力,對誤差與歷史輸入輸出進(jìn)行模型建模,從而提高預(yù)測輸出的精度,提高控制性能。仿真結(jié)果表明,該算法改善了系統(tǒng)在模型失配情況下的控制效果。
[1] CUTLER C R,RAMAKER B L.Dynamic Matrix Control-a Computer Control Algorithm[C].Proc.Joint Automatic Control Conf.CA;San Francisco,1980.
[2] 舒迪前.預(yù)測控制系統(tǒng)及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,1996:127-132.
[3] 席裕庚,許曉鳴,張鐘俊.預(yù)測控制的研究現(xiàn)狀和多層智能預(yù)測控制[J].控制理論與應(yīng)用,1989,6(02):1-7.
[4] 席裕庚.關(guān)于預(yù)測控制的進(jìn)一步思考[J].控制理論與應(yīng)用,1994,11(02):219-221.
[5] 李少遠(yuǎn),劉浩,袁著祉.基于神經(jīng)網(wǎng)絡(luò)誤差修正的廣義預(yù)測控制[J].控制理論與應(yīng)用,1996,13(05):677-680.
[6] 王群仙,李少遠(yuǎn),李煥芝,等.基于小波網(wǎng)絡(luò)動態(tài)補(bǔ)償?shù)膹V義預(yù)測控制器[J].自動化學(xué)報,1999,9(05):701-704.
[7] 翟永杰,李海麗,王東風(fēng),等.LS-SVM誤差補(bǔ)償?shù)膹V義預(yù)測控制[J].計(jì)算機(jī)工程,2010,46(03):24-27.
[8] 陶呈綱.基于相關(guān)向量回歸模型的預(yù)測控制研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2011:18-20.
[9] 席裕庚.預(yù)測控制[M].北京:國防工業(yè)出版社,1993:11-18.
[10] 吳冰,程思微,張文瓊,等.基于相關(guān)向量回歸的仿真元建模方法[J].計(jì)算機(jī)工程,2010,36(03):24-27.
[11] TIPPING M E.Sparse Bayesian Learning and the Relevance Vector Machine[J].Journal of Machine Learning Research,2001,1(03):211-214.
[12] WANG D F,HAN P,REN Q.Chaos Optimization Variable Arguments PID Controller and Its Application to Main Steam Pressure Regulating System[C]//2002International Conference on Machine Learning and Cybernetics,2002:2116-2120.
[13] 弓岱偉.先進(jìn)控制與優(yōu)化軟件的設(shè)計(jì)及在電站鍋爐汽溫預(yù)測控制中的應(yīng)用[D].合肥:中國科學(xué)技術(shù)大學(xué),2008:68-70.