許 娣, 高鈺凱, 佃松宜
(四川大學(xué)電氣工程學(xué)院,成都 610065)
化工生產(chǎn)過程中,由于很多原材料經(jīng)處理后會改變其本身的物理或化學(xué)性質(zhì),具有易燃易爆的特性。因此,嚴(yán)格的參數(shù)和質(zhì)量要求是確保生產(chǎn)和操作人員安全的重要指標(biāo)。實際化工生產(chǎn)過程中受控對象的復(fù)雜性主要表現(xiàn)為非線性、多輸入多輸出、強(qiáng)耦合性、時滯性、不確定性等[1]。連續(xù)攪拌反應(yīng)釜(continuous stirred tank reactor, CSTR)是化工生產(chǎn)過程中的常用反應(yīng)設(shè)備,本身具有高度的非線性,由于難以獲得高精度的數(shù)學(xué)模型,因此,采用傳統(tǒng)理論設(shè)計控制器的方法難以滿足精度和質(zhì)量要求[2]。
1965年,Zdeh教授首次提出模糊集理論。模糊理論的出現(xiàn)極大程度上解決了工業(yè)控制領(lǐng)域的難題[3]。20世紀(jì)90年代初期,大量學(xué)者進(jìn)行了許多非線性預(yù)測控制的相關(guān)理論和算法研究,并提出了多種非線性預(yù)測控制算法[4]。Hamdy等[5]結(jié)合Lyapunov函數(shù)建立了閉環(huán)T-S模糊雙線性模型的穩(wěn)定性條件,設(shè)計一種模糊輸出反饋控制器,通過CSTR仿真證明該算法具有較好的控制效果。張明財?shù)萚6]基于無模型自適應(yīng)控制算法和PCS7設(shè)計了CSTR溫度自控系統(tǒng),該系統(tǒng)能夠模擬實際工業(yè)現(xiàn)場運(yùn)行,所設(shè)計的控制器具有較好的抗干擾和實用性。何美霞等[7]采用動態(tài)矩陣控制(dynamic matrix control,DMC)算法對非線性CSTR反應(yīng)器的溫度進(jìn)行控制,即使是在干擾和模型適配的情況下,仍可快速跟蹤期望目標(biāo)。Boulkaibet等[8]將聚類算法與核嶺回歸(kernel ridge regression, KRR)算法相結(jié)合來獲取CSTR的模糊模型,最后采用廣義預(yù)測控制算法來實現(xiàn)模糊預(yù)測控制。
根據(jù)CSTR系統(tǒng)的非線性特征以及采集到的數(shù)據(jù)集,將模糊劃分C均值聚類算法與分層遺傳算法相融合,辨識得到CSTR系統(tǒng)T-S模糊模型的前件參數(shù),并采用自適應(yīng)機(jī)制遺忘因子遞推最小二乘法對模型的后件參數(shù)進(jìn)行估計,即采用辨識算法來獲得CSTR系統(tǒng)的T-S模糊模型。最后,基于該模糊模型對CSTR進(jìn)行自適應(yīng)模糊廣義預(yù)測控制器的設(shè)計。仿真結(jié)果表明,根據(jù)該辨識算法建立的CSTR的T-S模糊模型精確度較高,同時,預(yù)測控制器具有較強(qiáng)的抗干擾能力。
Takagi和Sugeno于1985年提出了T-S模糊模型[9]。T-S模糊模型采用IF-THEN形式來近似非線性系統(tǒng)。其中,每一條規(guī)則均代表了一個線性子系統(tǒng)[10]。通常情況下,非線性系統(tǒng)可通過以下形式來描述[11]:
式(2)中:vij和σij分別表示隸屬函數(shù)的中心和寬度,屬于T-S模糊模型的前件參數(shù)。
為簡化T-S模糊模型線性環(huán)節(jié)的表達(dá)形式,做以下替換:
則式(1)中y(k)可表示為
式(4)中:
由于模糊C均值(fuzzyC-means,FCM)算法易陷入局部最優(yōu),而遺傳算法(genetic algorithm, GA)能夠?qū)θ后w中的許多個個體進(jìn)行同時處理,即有效地評估多個可行解,避免收斂于局部極小值[12]。因此,提出模糊劃分C均值分層遺傳算法(hierarchical genetic algorithm with improved fuzzy partitions fuzzyC-means,HGA-IFPFCM),這一算法在原有的模糊劃分C均值聚類(improved fuzzy partitions fuzzyC-means algorithm, IFPFCM)算法的基礎(chǔ)上融合了分層遺傳算法(hierarchical genetic algorithm, HGA),由IFPFCM算法得到模糊規(guī)則的模糊隸屬度uij和初始聚類中心ci,再使用HGA算法中的遺傳操作逐步對T-S模糊規(guī)則的前件參數(shù)進(jìn)行優(yōu)化,進(jìn)而得到最優(yōu)的分類結(jié)果。
1.2.1 模糊劃分C均值聚類(IFPFCM)
將數(shù)據(jù)集X={x1,x2,…,xn}按照每一類均對應(yīng)一個聚類中心ci進(jìn)行劃分后得到c類,將每個樣本j屬于某一類的隸屬度定義為uij,對于每個單獨(dú)的樣本點(diǎn)xj,采用隸屬度約束函數(shù):
進(jìn)而得到IFPFCM算法的目標(biāo)函數(shù):
式(9)中:
式(10)中:η為模糊度常數(shù),一般取值為η=0.01~0.2。對式(9)采用拉格朗日乘數(shù)法:
式(11)中:λ為拉格朗日乘子。對式(11)取極值后可逐步推導(dǎo)出隸屬度uij和聚類中心ci的迭代公式。其中,隸屬度uij的迭代公式為
式(12)中:
1.2.2 分層遺傳算法(HGA)
GA算法是一種模擬生物遺傳機(jī)制的全局收斂優(yōu)化算法[13]。HGA算法是指對于一個具體問題,隨機(jī)生成N×n個樣本(N≥2,n≥2),隨后將該樣本分成N個均包含有n個樣本的子種群,并且對這N個子種群均運(yùn)行獨(dú)立的GA算法,可記作GAi(1,2,…,N)。運(yùn)行GA算法之后可得到HGA算法的初始層。
定義數(shù)組R[i,j](i=1,…,N,j=1,…,n)以及A[i](i=1,…,N),將N個子種群的GA算法連續(xù)迭代一定次數(shù)后,將遺傳操作的結(jié)果種群以及與其相對應(yīng)的平均適應(yīng)度值分別記錄到R[i,j]和A[i]中。HGA算法中的高層遺傳步驟主要分為選擇、交叉、變異以及替換。算法流程如圖1所示。
圖1 HGA算法流程Fig.1 The flowchart of HGA
選擇是指根據(jù)A[i]所代表的平均適應(yīng)度值對數(shù)組R[i,j]進(jìn)行擇優(yōu)選擇。
交叉是指將群體中的各個個體隨機(jī)搭配成對,當(dāng)數(shù)組R[i,1,…,n]和數(shù)組R[j,1,…,n]被隨機(jī)分配后,從位置x處進(jìn)行交叉(1≤i,j≤N;1≤x≤n-1),則R[i,x+1,…,n]和R[j,x+1,…,n]相互交換對應(yīng)部分,即交換GAi和GAj中的n-x個個體。
變異是避免HGA算法陷入局部最優(yōu)的關(guān)鍵一步,主要是為了保持種群的多樣性。在第二步進(jìn)行交叉后,種群中的染色體發(fā)生變異,進(jìn)而使得基因值發(fā)生改變[14]。
替換是指對于從數(shù)組R[i,j]中隨機(jī)抽取的平均適應(yīng)度值最弱的個體,HGA算法采用少量隨機(jī)生成的新個體將其進(jìn)行替換以形成新的種群,進(jìn)而再次進(jìn)行遺傳操作。
以上4個步驟是HGA算法中高層遺傳步驟的第一次迭代,當(dāng)N個GAi各自執(zhí)行遺傳算法到一定的代數(shù)后,更新數(shù)組R[i,j]和A[i],并進(jìn)行第二次迭代。如此進(jìn)行循環(huán)遺傳操作,直至取得滿意的性能結(jié)果。
由于非線性系統(tǒng)本身的時滯等特性會對建模精度造成影響。因此,在T-S模糊模型的前件參數(shù)辨識算法的基礎(chǔ)上,采用自適應(yīng)機(jī)制遺忘因子遞推最小二乘法辨識其后件參數(shù)。
對于每次迭代l,采用式(15)來更新式(3)中的參數(shù)估計向量θi[15],即
式(15)中:
Ci(l)是第i條模糊規(guī)則的協(xié)方差矩陣。
在每次迭代l中,協(xié)方差矩陣Ci(l)通過式(16)進(jìn)行更新,即
Ci(l)=Ci(l-1)-
φi(l)=
式(17)中:ρ是大于0的常數(shù);vi(l)和γi分別為
vi(l)=φi(l-1)[vi(l-1)+1] (18)
式(19)中:τi(l)可表示為
初始值φi(0)、vi(0)以及τi(0)的取值范圍均為(0,1)。
自適應(yīng)模糊廣義預(yù)測控制(adaptive fuzzy generalized predictive control, AFGPC)主要包括了廣義預(yù)測控制(generalized predictive control, GPC)的控制器、被控對象、T-S模糊模型及其參數(shù)調(diào)整4個部分。該控制系統(tǒng)集成了GPC算法、離線學(xué)習(xí)得到的T-S模糊模型以及通過自適應(yīng)機(jī)制遺忘因子遞推最小二乘法實現(xiàn)的模型參數(shù)在線調(diào)整。AFGPC的控制架構(gòu)如圖2所示[16]。
圖2 AFGPC控制架構(gòu)Fig.2 Thecontrol architecture of AFGPC
為研究方便,工業(yè)實踐中的大部分非線性過程可通過式(21)來描述,即
y(k)=f[y(k-1),y(k-2),…,y(k-ny),
u(k-d-1),…,u(k-d-nu)] (21)
式(21)中:u(·)表示系統(tǒng)的輸入;y(·)表示系統(tǒng)的輸出;nu對應(yīng)系統(tǒng)輸入變量的階次;ny對應(yīng)系統(tǒng)輸出變量的階次;函數(shù)y(·)所描述的非線性系統(tǒng)可由式(22)表示的T-S模糊模型進(jìn)行逼近,即
Ri:IFx1(k) isAi1, and…andxN(k) isAiN
THENyi(k)=ai(z-1)y(k-1)+
bi(z-1)u(k-d-1) (22)
式(22)中:Ri(i=1,2,…,c)表示第i條規(guī)則,c是模糊規(guī)則的個數(shù);N=nu+ny;ai(z-1)和bi(z-1)具體為
為保證后續(xù)控制律計算方便,根據(jù)1.1節(jié),將向量x(k)=[x1(k),…,xN(k)]=[y(k-1),…,y(k-ny),u(k-d-1),…,u(k-d-nu)]以及向量θi=[a1i,…,anyi,b1i,…,bnui]T代入式(22),則y(k)可表示為
y(k)=
式(24)中:
假設(shè)被控對象的離散數(shù)學(xué)模型為[17]
式(29)中:
為得到AFGPC算法的預(yù)測控制律,取k時刻的優(yōu)化性能指標(biāo)函數(shù)為
經(jīng)推導(dǎo)可得:
d-1) (34)
定義:
將式(32)和式(35)代入式(34)可得在k+p時刻的最佳預(yù)測值
gp(z-1)Δu(k+p-d-1) (36)
即
y(k)=Gu(k)+F(z-1)y(k)+L(z-1) (37)
式(37)中:
根據(jù)推導(dǎo)得到的式(37),同時將式(31)中的λ(z-1)看作為常數(shù),則AFGPC的優(yōu)化性能指標(biāo)函數(shù)式(31)可重新表示為
Jeq(k)=[Fy(k)+Gu(k)+L-R]T[Fy(k)+Gu(k)+L-R]+[λu(k)]2(38)
式(39)中:I是單位矩陣??刂七^程中,將u*(k)的第一行作為控制信號輸入給被控對象,Δu*(k)可通過式(40)得到。
Δu*(k)=K[R-Fy(k)-L] (40)
式(40)中:K是矩陣(GTG+λI)-1GT的第一行。
CSTR系統(tǒng)的反應(yīng)是由原料A轉(zhuǎn)化為產(chǎn)物B的非線性過程,其結(jié)構(gòu)示意圖如圖3所示。
圖3 CSTR系統(tǒng)結(jié)構(gòu)示意圖Fig.3 The schematic diagram of CSTR system structure
為得到CSTR的理想數(shù)學(xué)模型,假設(shè)反應(yīng)器內(nèi)部發(fā)生的是不可逆的放熱反應(yīng),根據(jù)質(zhì)量守恒和能量守恒定律,CSTR系統(tǒng)的數(shù)學(xué)模型可描述為[18]
式(41)中的相關(guān)參數(shù)及其描述如表1所示。
表1 CSTR系統(tǒng)的模型參數(shù)Table 1 Model parameters of the CSTR system
采用第1章中的HGA-IFPFCM算法和自適應(yīng)機(jī)制遺忘因子遞推最小二乘法來辨識CSTR系統(tǒng)的T-S模糊模型的前后件參數(shù)。
CSTR反應(yīng)過程主要通過控制冷卻劑流量qc(t)來調(diào)整出料濃度CA(t)。因此,輸入和輸出信號可分別表示為y(t)=CA(t)以及u(t)=qc(t)。根據(jù)現(xiàn)場設(shè)備實際運(yùn)行情況,將控制信號qc(t)的范圍設(shè)定為[90(L/min),110(L/min)],相應(yīng)地采集1 000組數(shù)據(jù)。圖4所示為用于采集數(shù)據(jù)集的控制信號變化曲線。
圖4 用于采集數(shù)據(jù)集的控制信號Fig.4 The control signals used to collect data sets
辨識過程中,將模糊規(guī)則設(shè)置為c=5,模糊度常數(shù)設(shè)置為η=0.1,遺傳操作中最大迭代次數(shù)為500,根據(jù)采樣得到的1 000組數(shù)據(jù)進(jìn)行辨識。
圖5所示為采用HGA-IFPFCM算法以及HGA算法對CSTR反應(yīng)過程的辨識曲線,并與實際反應(yīng)產(chǎn)生的輸出信號曲線進(jìn)行了對比。圖6所示為兩種辨識算法在遺傳操作中隨迭代次數(shù)產(chǎn)生的均方誤差曲線。從圖6中可以看出,HGA-IFPFCM算法的進(jìn)化效果優(yōu)于HGA算法,具有更快的響應(yīng)速度和辨識性能。
圖5 CSTR系統(tǒng)的辨識與實際輸出曲線Fig.5 CSTR system identification and actual output curve
圖6 辨識算法隨迭代次數(shù)產(chǎn)生的均方誤差曲線Fig.6 Mean square error curve of identification algorithm with iteration times
為體現(xiàn)本文辨識算法的有效性,在均方誤差曲線對比的基礎(chǔ)上,對HGA算法和HGA-IFPFCM算法進(jìn)行辨識算法的誤差對比,主要包括均方根誤差RMSE以及平均絕對誤差MAE,如表2所示。
表2 辨識算法性能對比Table 2 Performance comparison of identification algorithm
從圖6以及表2中均可以看出相對于HGA算法,HGA-IFPFCM算法在對CSTR系統(tǒng)進(jìn)行辨識時的誤差較小,性能更好。
分別將濃度以及流量變量CA(t-2)、CA(t-4)、qc(t-1)、qc(t-3)作為CSTR系統(tǒng)T-S模糊模型的輸入變量;同時,將CA(t)作為輸出變量。通過辨識,CSTR系統(tǒng)T-S模糊模型中輸入變量的隸屬度函數(shù)曲線如圖7和圖8所示。
圖7 CA(t-2)、CA(t-4)的隸屬度函數(shù)曲線Fig.7 Membership function curve of CA(t-2)、CA(t-4)
圖8 qc(t-1)、qc(t-3)的隸屬度函數(shù)曲線Fig.8 Membership function curve of qc(t-1)、qc(t-3)
結(jié)合1.3節(jié)自適應(yīng)機(jī)制遺忘因子遞推最小二乘法,通過式(17)實現(xiàn)遺忘因子的參數(shù)自適應(yīng),進(jìn)而通過式(15)實現(xiàn)T-S模糊模型后件參數(shù)的估計。通過相應(yīng)的辨識算法,可得到T-S模糊模型的5條規(guī)則如式(42)所示。
R1:IFCA(t-2) isA11andCA(t-4) isA21and
qc(t-1) isB11andqc(t-3) isB21
THENCA(t)=-0.015 6CA(t-2)+
1.091 7CA(t-4)-4.549 9×
10-4qc(t-1)-0.003 1qc(t-3)
R2:IFCA(t-2) isA12andCA(t-4) isA22and
qc(t-1) isB12andqc(t-3) isB22
THENCA(t)=-0.036 1CA(t-2)+
0.840 7CA(t-4)-0.001 4qc×
(t-1)-0.019 0qc(t-3)
R3:IFCA(t-2) isA13andCA(t-4) isA23and
qc(t-1) isB13andqc(t-3) isB23
THENCA(t)=-0.062 0CA(t-2)+
0.970 5CA(t-4)-7.562 7×
10-4qc(t-1)-0.012 5qc(t-3)
R4:IFCA(t-2) isA14andCA(t-4) isA24and
qc(t-1) isB14andqc(t-3) isB24
THENCA(t)=-0.014 3CA(t-2)+0.913 4×
CA(t-4)-7.030 3×10-4qc×
(t-1)+0.002 5qc(t-3)
R5:IFCA(t-2) isA15andCA(t-4) isA25and
qc(t-1) isB15andqc(t-3) isB25
THENCA(t)=-0.053 9CA(t-2)+0.781 4×
CA(t-4)-0.002 2qc(t-1)+
0.015 1qc(t-3) (42)
基于得到的CSTR系統(tǒng)的T-S模糊模型,結(jié)合第2節(jié)的AFGPC算法對CSTR進(jìn)行控制。設(shè)定控制參數(shù):控制步長Nu=1、預(yù)測步長Np=150、加權(quán)系數(shù)λ=0.05以及辨識參數(shù):ρ=0.99、φi=1、τi=vi=1×10-9,其中1≤i≤c。此外,與傳統(tǒng)PID算法進(jìn)行控制效果的對比以驗證AFGPC算法的性能。其中,PID算法的參數(shù)分別設(shè)定為Kp=0.4、Ti=0.53、Td=0.2。
按照式(43)設(shè)定系統(tǒng)的參考輸出值:
圖9所示為在無干擾存在的情況下,PID控制與AFGPC控制效果的對比曲線。從圖9中可以看出,在進(jìn)行曲線跟蹤時,AFGPC算法能夠更好地逼近期望輸出曲線。
圖9 PID與AFGPC控制效果圖(無干擾)Fig.9 Control effect diagram of PID and AFGPC(no interference)
通過計算,將PID算法和AFGPC算法所產(chǎn)生的均方根誤差RMSE以及平均絕對誤差MAE統(tǒng)計如表3所示。
表3 控制算法性能對比(無干擾)Table 3 Performance comparison of control algorithm(no interference)
從表3可以看出,在無干擾的情況下,AFGPC算法的誤差指標(biāo)相對較小。
為驗證控制器的抗干擾性能,分別在125 s、175 s時增加擾動信號。圖10所示為PID控制與AFGPC的控制效果對比曲線。從圖10中可以看出,相較于PID控制,AFGPC算法能夠更快速地修正誤差,消除干擾。
圖10 PID與AFGPC控制效果圖(有干擾)Fig.10 Control effect diagram of PID and AFGPC (with interference)
與無干擾的情況相對應(yīng),將有干擾存在時的PID算法和 AFGPC 算法所產(chǎn)生的均方根誤差RMSE以及平均絕對誤差MAE統(tǒng)計如表4所示。
表4 控制算法性能對比(有干擾)Table 4 Performance comparison of control algorithm(with interference)
從表4可以看出,在有干擾存在的情況下,AFGPC算法的誤差指標(biāo)仍相對較小。因此,在工業(yè)環(huán)境較為復(fù)雜的情況下,采用AFGPC算法能夠更好地實現(xiàn)對CSTR的控制。
選取化工領(lǐng)域常見的CSTR作為研究對象,根據(jù)實際工業(yè)現(xiàn)場采集到的數(shù)據(jù)集,分別采用HGA算法和HGA-IFPFCM算法對T-S模糊模型的前件結(jié)構(gòu)參數(shù)進(jìn)行辨識。根據(jù)辨識結(jié)果,與傳統(tǒng)HGA算法相比,HGA-IFPFCM算法的建模性能較好且辨識精度較高,將該算法與自適應(yīng)機(jī)制遺忘因子遞推最小二乘法相結(jié)合進(jìn)行后件參數(shù)的估計與優(yōu)化,得到CSTR的T-S模糊模型。最后,通過PID算法和AFGPC 算法對CSTR系統(tǒng)進(jìn)行控制,同時對存在干擾的情況也進(jìn)行了比較。仿真結(jié)果表明,在對CSTR系統(tǒng)進(jìn)行控制時,相對于PID算法,AFGPC算法具有更好的控制性能和抗干擾性能。