許 娣, 高鈺凱, 佃松宜
(四川大學(xué)電氣工程學(xué)院,成都 610065)
化工生產(chǎn)過程中,由于很多原材料經(jīng)處理后會(huì)改變其本身的物理或化學(xué)性質(zhì),具有易燃易爆的特性。因此,嚴(yán)格的參數(shù)和質(zhì)量要求是確保生產(chǎn)和操作人員安全的重要指標(biāo)。實(shí)際化工生產(chǎn)過程中受控對(duì)象的復(fù)雜性主要表現(xiàn)為非線性、多輸入多輸出、強(qiáng)耦合性、時(shí)滯性、不確定性等[1]。連續(xù)攪拌反應(yīng)釜(continuous stirred tank reactor, CSTR)是化工生產(chǎn)過程中的常用反應(yīng)設(shè)備,本身具有高度的非線性,由于難以獲得高精度的數(shù)學(xué)模型,因此,采用傳統(tǒng)理論設(shè)計(jì)控制器的方法難以滿足精度和質(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è)計(jì)一種模糊輸出反饋控制器,通過CSTR仿真證明該算法具有較好的控制效果。張明財(cái)?shù)萚6]基于無模型自適應(yīng)控制算法和PCS7設(shè)計(jì)了CSTR溫度自控系統(tǒng),該系統(tǒng)能夠模擬實(shí)際工業(yè)現(xiàn)場運(yùn)行,所設(shè)計(jì)的控制器具有較好的抗干擾和實(shí)用性。何美霞等[7]采用動(dòng)態(tài)矩陣控制(dynamic matrix control,DMC)算法對(duì)非線性CSTR反應(yīng)器的溫度進(jìn)行控制,即使是在干擾和模型適配的情況下,仍可快速跟蹤期望目標(biāo)。Boulkaibet等[8]將聚類算法與核嶺回歸(kernel ridge regression, KRR)算法相結(jié)合來獲取CSTR的模糊模型,最后采用廣義預(yù)測控制算法來實(shí)現(xiàn)模糊預(yù)測控制。
根據(jù)CSTR系統(tǒng)的非線性特征以及采集到的數(shù)據(jù)集,將模糊劃分C均值聚類算法與分層遺傳算法相融合,辨識(shí)得到CSTR系統(tǒng)T-S模糊模型的前件參數(shù),并采用自適應(yīng)機(jī)制遺忘因子遞推最小二乘法對(duì)模型的后件參數(shù)進(jìn)行估計(jì),即采用辨識(shí)算法來獲得CSTR系統(tǒng)的T-S模糊模型。最后,基于該模糊模型對(duì)CSTR進(jìn)行自適應(yīng)模糊廣義預(yù)測控制器的設(shè)計(jì)。仿真結(jié)果表明,根據(jù)該辨識(shí)算法建立的CSTR的T-S模糊模型精確度較高,同時(shí),預(yù)測控制器具有較強(qiáng)的抗干擾能力。
Takagi和Sugeno于1985年提出了T-S模糊模型[9]。T-S模糊模型采用IF-THEN形式來近似非線性系統(tǒng)。其中,每一條規(guī)則均代表了一個(gè)線性子系統(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中的許多個(gè)個(gè)體進(jìn)行同時(shí)處理,即有效地評(píng)估多個(gè)可行解,避免收斂于局部極小值[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算法中的遺傳操作逐步對(duì)T-S模糊規(guī)則的前件參數(shù)進(jìn)行優(yōu)化,進(jìn)而得到最優(yōu)的分類結(jié)果。
1.2.1 模糊劃分C均值聚類(IFPFCM)
將數(shù)據(jù)集X={x1,x2,…,xn}按照每一類均對(duì)應(yīng)一個(gè)聚類中心ci進(jìn)行劃分后得到c類,將每個(gè)樣本j屬于某一類的隸屬度定義為uij,對(duì)于每個(gè)單獨(dú)的樣本點(diǎn)xj,采用隸屬度約束函數(shù):

進(jìn)而得到IFPFCM算法的目標(biāo)函數(shù):

式(9)中:

式(10)中:η為模糊度常數(shù),一般取值為η=0.01~0.2。對(duì)式(9)采用拉格朗日乘數(shù)法:


式(11)中:λ為拉格朗日乘子。對(duì)式(11)取極值后可逐步推導(dǎo)出隸屬度uij和聚類中心ci的迭代公式。其中,隸屬度uij的迭代公式為

式(12)中:


1.2.2 分層遺傳算法(HGA)
GA算法是一種模擬生物遺傳機(jī)制的全局收斂優(yōu)化算法[13]。HGA算法是指對(duì)于一個(gè)具體問題,隨機(jī)生成N×n個(gè)樣本(N≥2,n≥2),隨后將該樣本分成N個(gè)均包含有n個(gè)樣本的子種群,并且對(duì)這N個(gè)子種群均運(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個(gè)子種群的GA算法連續(xù)迭代一定次數(shù)后,將遺傳操作的結(jié)果種群以及與其相對(duì)應(yīng)的平均適應(yīng)度值分別記錄到R[i,j]和A[i]中。HGA算法中的高層遺傳步驟主要分為選擇、交叉、變異以及替換。算法流程如圖1所示。

圖1 HGA算法流程Fig.1 The flowchart of HGA
選擇是指根據(jù)A[i]所代表的平均適應(yīng)度值對(duì)數(shù)組R[i,j]進(jìn)行擇優(yōu)選擇。
交叉是指將群體中的各個(gè)個(gè)體隨機(jī)搭配成對(duì),當(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]相互交換對(duì)應(yīng)部分,即交換GAi和GAj中的n-x個(gè)個(gè)體。
變異是避免HGA算法陷入局部最優(yōu)的關(guān)鍵一步,主要是為了保持種群的多樣性。在第二步進(jìn)行交叉后,種群中的染色體發(fā)生變異,進(jìn)而使得基因值發(fā)生改變[14]。
替換是指對(duì)于從數(shù)組R[i,j]中隨機(jī)抽取的平均適應(yīng)度值最弱的個(gè)體,HGA算法采用少量隨機(jī)生成的新個(gè)體將其進(jìn)行替換以形成新的種群,進(jìn)而再次進(jìn)行遺傳操作。
以上4個(gè)步驟是HGA算法中高層遺傳步驟的第一次迭代,當(dāng)N個(gè)GAi各自執(zhí)行遺傳算法到一定的代數(shù)后,更新數(shù)組R[i,j]和A[i],并進(jìn)行第二次迭代。如此進(jìn)行循環(huán)遺傳操作,直至取得滿意的性能結(jié)果。
由于非線性系統(tǒng)本身的時(shí)滯等特性會(huì)對(duì)建模精度造成影響。因此,在T-S模糊模型的前件參數(shù)辨識(shí)算法的基礎(chǔ)上,采用自適應(yīng)機(jī)制遺忘因子遞推最小二乘法辨識(shí)其后件參數(shù)。
對(duì)于每次迭代l,采用式(15)來更新式(3)中的參數(shù)估計(jì)向量θ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)的控制器、被控對(duì)象、T-S模糊模型及其參數(shù)調(diào)整4個(gè)部分。該控制系統(tǒng)集成了GPC算法、離線學(xué)習(xí)得到的T-S模糊模型以及通過自適應(yīng)機(jī)制遺忘因子遞推最小二乘法實(shí)現(xiàn)的模型參數(shù)在線調(diào)整。AFGPC的控制架構(gòu)如圖2所示[16]。

圖2 AFGPC控制架構(gòu)Fig.2 Thecontrol architecture of AFGPC
為研究方便,工業(yè)實(shí)踐中的大部分非線性過程可通過式(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對(duì)應(yīng)系統(tǒng)輸入變量的階次;ny對(duì)應(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ī)則的個(gè)數(shù);N=nu+ny;ai(z-1)和bi(z-1)具體為

為保證后續(xù)控制律計(jì)算方便,根據(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è)被控對(duì)象的離散數(shù)學(xué)模型為[17]


式(29)中:

為得到AFGPC算法的預(yù)測控制律,取k時(shí)刻的優(yōu)化性能指標(biāo)函數(shù)為





經(jīng)推導(dǎo)可得:

d-1) (34)
定義:

將式(32)和式(35)代入式(34)可得在k+p時(shí)刻的最佳預(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),同時(shí)將式(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)的第一行作為控制信號(hào)輸入給被控對(duì)象,Δ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ī)制遺忘因子遞推最小二乘法來辨識(shí)CSTR系統(tǒng)的T-S模糊模型的前后件參數(shù)。
CSTR反應(yīng)過程主要通過控制冷卻劑流量qc(t)來調(diào)整出料濃度CA(t)。因此,輸入和輸出信號(hào)可分別表示為y(t)=CA(t)以及u(t)=qc(t)。根據(jù)現(xiàn)場設(shè)備實(shí)際運(yùn)行情況,將控制信號(hào)qc(t)的范圍設(shè)定為[90(L/min),110(L/min)],相應(yīng)地采集1 000組數(shù)據(jù)。圖4所示為用于采集數(shù)據(jù)集的控制信號(hào)變化曲線。

圖4 用于采集數(shù)據(jù)集的控制信號(hào)Fig.4 The control signals used to collect data sets
辨識(shí)過程中,將模糊規(guī)則設(shè)置為c=5,模糊度常數(shù)設(shè)置為η=0.1,遺傳操作中最大迭代次數(shù)為500,根據(jù)采樣得到的1 000組數(shù)據(jù)進(jìn)行辨識(shí)。
圖5所示為采用HGA-IFPFCM算法以及HGA算法對(duì)CSTR反應(yīng)過程的辨識(shí)曲線,并與實(shí)際反應(yīng)產(chǎn)生的輸出信號(hào)曲線進(jìn)行了對(duì)比。圖6所示為兩種辨識(shí)算法在遺傳操作中隨迭代次數(shù)產(chǎn)生的均方誤差曲線。從圖6中可以看出,HGA-IFPFCM算法的進(jìn)化效果優(yōu)于HGA算法,具有更快的響應(yīng)速度和辨識(shí)性能。

圖5 CSTR系統(tǒng)的辨識(shí)與實(shí)際輸出曲線Fig.5 CSTR system identification and actual output curve

圖6 辨識(shí)算法隨迭代次數(shù)產(chǎn)生的均方誤差曲線Fig.6 Mean square error curve of identification algorithm with iteration times
為體現(xiàn)本文辨識(shí)算法的有效性,在均方誤差曲線對(duì)比的基礎(chǔ)上,對(duì)HGA算法和HGA-IFPFCM算法進(jìn)行辨識(shí)算法的誤差對(duì)比,主要包括均方根誤差RMSE以及平均絕對(duì)誤差MAE,如表2所示。

表2 辨識(shí)算法性能對(duì)比Table 2 Performance comparison of identification algorithm
從圖6以及表2中均可以看出相對(duì)于HGA算法,HGA-IFPFCM算法在對(duì)CSTR系統(tǒng)進(jìn)行辨識(shí)時(shí)的誤差較小,性能更好。
分別將濃度以及流量變量CA(t-2)、CA(t-4)、qc(t-1)、qc(t-3)作為CSTR系統(tǒng)T-S模糊模型的輸入變量;同時(shí),將CA(t)作為輸出變量。通過辨識(shí),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)實(shí)現(xiàn)遺忘因子的參數(shù)自適應(yīng),進(jìn)而通過式(15)實(shí)現(xiàn)T-S模糊模型后件參數(shù)的估計(jì)。通過相應(yīng)的辨識(shí)算法,可得到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算法對(duì)CSTR進(jìn)行控制。設(shè)定控制參數(shù):控制步長Nu=1、預(yù)測步長Np=150、加權(quán)系數(shù)λ=0.05以及辨識(shí)參數(shù):ρ=0.99、φi=1、τi=vi=1×10-9,其中1≤i≤c。此外,與傳統(tǒng)PID算法進(jìn)行控制效果的對(duì)比以驗(yàn)證AFGPC算法的性能。其中,PID算法的參數(shù)分別設(shè)定為Kp=0.4、Ti=0.53、Td=0.2。
按照式(43)設(shè)定系統(tǒng)的參考輸出值:

圖9所示為在無干擾存在的情況下,PID控制與AFGPC控制效果的對(duì)比曲線。從圖9中可以看出,在進(jìn)行曲線跟蹤時(shí),AFGPC算法能夠更好地逼近期望輸出曲線。

圖9 PID與AFGPC控制效果圖(無干擾)Fig.9 Control effect diagram of PID and AFGPC(no interference)
通過計(jì)算,將PID算法和AFGPC算法所產(chǎn)生的均方根誤差RMSE以及平均絕對(duì)誤差MAE統(tǒng)計(jì)如表3所示。

表3 控制算法性能對(duì)比(無干擾)Table 3 Performance comparison of control algorithm(no interference)
從表3可以看出,在無干擾的情況下,AFGPC算法的誤差指標(biāo)相對(duì)較小。
為驗(yàn)證控制器的抗干擾性能,分別在125 s、175 s時(shí)增加擾動(dòng)信號(hào)。圖10所示為PID控制與AFGPC的控制效果對(duì)比曲線。從圖10中可以看出,相較于PID控制,AFGPC算法能夠更快速地修正誤差,消除干擾。

圖10 PID與AFGPC控制效果圖(有干擾)Fig.10 Control effect diagram of PID and AFGPC (with interference)
與無干擾的情況相對(duì)應(yīng),將有干擾存在時(shí)的PID算法和 AFGPC 算法所產(chǎn)生的均方根誤差RMSE以及平均絕對(duì)誤差MAE統(tǒng)計(jì)如表4所示。

表4 控制算法性能對(duì)比(有干擾)Table 4 Performance comparison of control algorithm(with interference)
從表4可以看出,在有干擾存在的情況下,AFGPC算法的誤差指標(biāo)仍相對(duì)較小。因此,在工業(yè)環(huán)境較為復(fù)雜的情況下,采用AFGPC算法能夠更好地實(shí)現(xiàn)對(duì)CSTR的控制。
選取化工領(lǐng)域常見的CSTR作為研究對(duì)象,根據(jù)實(shí)際工業(yè)現(xiàn)場采集到的數(shù)據(jù)集,分別采用HGA算法和HGA-IFPFCM算法對(duì)T-S模糊模型的前件結(jié)構(gòu)參數(shù)進(jìn)行辨識(shí)。根據(jù)辨識(shí)結(jié)果,與傳統(tǒng)HGA算法相比,HGA-IFPFCM算法的建模性能較好且辨識(shí)精度較高,將該算法與自適應(yīng)機(jī)制遺忘因子遞推最小二乘法相結(jié)合進(jìn)行后件參數(shù)的估計(jì)與優(yōu)化,得到CSTR的T-S模糊模型。最后,通過PID算法和AFGPC 算法對(duì)CSTR系統(tǒng)進(jìn)行控制,同時(shí)對(duì)存在干擾的情況也進(jìn)行了比較。仿真結(jié)果表明,在對(duì)CSTR系統(tǒng)進(jìn)行控制時(shí),相對(duì)于PID算法,AFGPC算法具有更好的控制性能和抗干擾性能。