高鈺凱, 許 娣, 趙 濤, 佃松宜
(四川大學(xué)電氣工程學(xué)院,成都 610065)
連續(xù)攪拌反應(yīng)釜(continuously stirred tank reactor,CSTR)是化工生產(chǎn)中常見的反應(yīng)容器,在化工領(lǐng)域廣泛使用。CSTR系統(tǒng)具有很強(qiáng)的時(shí)滯特性與非線性,故難以對(duì)其實(shí)現(xiàn)快速準(zhǔn)確的控制[1]。
由于比例-積分-微分(proportion integral differential, PID)算法易于實(shí)現(xiàn),因此常用于化工生產(chǎn)過(guò)程控制。但對(duì)于復(fù)雜的非線性對(duì)象,PID控制精度較低,難以滿足工業(yè)產(chǎn)品的質(zhì)量要求。近年來(lái),許多學(xué)者提出了先進(jìn)的控制方法以提高控制效果。Madhu等[2]基于PID的非線性自回歸滑動(dòng)平均模型的控制器改變冷卻劑夾套溫度來(lái)控制CSTR內(nèi)的溫度,該方法控制效果優(yōu)于傳統(tǒng)PID控制;Bahita等[3]使用一種基于模糊模型的神經(jīng)網(wǎng)絡(luò)控制方法限制CSTR系統(tǒng)內(nèi)化學(xué)反應(yīng)產(chǎn)生的熱量,使CSTR系統(tǒng)濃度保持穩(wěn)定;牛宏等[4]通過(guò)無(wú)限時(shí)域魯棒二次目標(biāo)函數(shù)分解,構(gòu)成新目標(biāo)函數(shù),提出一種非線性魯棒模型預(yù)測(cè)控制方法,通過(guò)仿真實(shí)驗(yàn)證明了該方法的有效性;林勇等[5]采用二次逼近神經(jīng)網(wǎng)絡(luò)的方法對(duì)CSTR系統(tǒng)進(jìn)行預(yù)測(cè)控制,并取得了較好的控制效果。
CSTR系統(tǒng)作為典型的大滯后、非線性系統(tǒng),其建模常為簡(jiǎn)化模型,因此會(huì)忽略部分條件,所得到的模型往往不是很精確,故本文采用自適應(yīng)神經(jīng)模糊推理系統(tǒng)(adaptive-network-based fuzzy inference system, ANFIS)的方法,結(jié)合從實(shí)際工業(yè)現(xiàn)場(chǎng)采集得到的與CSTR相關(guān)的大量輸入輸出數(shù)據(jù),進(jìn)行訓(xùn)練和辨識(shí)得到其模糊模型。結(jié)合改進(jìn)廣義預(yù)測(cè)控制(jin’s generalized predictive control, JGPC)算法對(duì)CSTR系統(tǒng)的濃度進(jìn)行控制,并將其與廣義預(yù)測(cè)控制(generalized predictive control, GPC)算法、PID控制算法進(jìn)行對(duì)比,觀察JGPC算法的控制效果。
ANFIS是在自適應(yīng)網(wǎng)絡(luò)下實(shí)現(xiàn)的一種模糊推理系統(tǒng),即將模糊邏輯和神經(jīng)網(wǎng)絡(luò)相結(jié)合,采用最小二乘法(least square method, LS)與反向傳播(back-propagation, BP)算法不斷調(diào)整T-S(Takagi-Sugeno)模型中的前提參數(shù)和結(jié)論參數(shù)。ANFIS采用神經(jīng)網(wǎng)絡(luò)的方法實(shí)現(xiàn)模糊控制的模糊化、模糊推理和反模糊化過(guò)程,從輸入輸出數(shù)據(jù)中提取模糊規(guī)則,通過(guò)離線訓(xùn)練和在線學(xué)習(xí)算法進(jìn)行模糊推理控制規(guī)則的自調(diào)整[6]。
ANFIS是基于T-S模糊模型的推理系統(tǒng),其隸屬度函數(shù)一般是和系統(tǒng)輸入相關(guān)的0或1階函數(shù)。T-S模糊推理規(guī)則為
ifxisAandyisBthenz=f(x,y)。
式中:A與B是前提的模糊值;z=f(x,y)是結(jié)論的精確值。則可得兩個(gè)規(guī)則的一階T-S模糊推理規(guī)則。
規(guī)則1:
ifxisA1andyisB1, thenf1=p1x+q1y+r1
規(guī)測(cè)2:
ifxisA2andyisB2, thenf2=p2x+q2y+r2
T-S模糊推理規(guī)則模型[7]如圖1所示。
圖1 T-S推理模糊規(guī)則模型[7]Fig.1 T-S inference fuzzy rule model[7]
GPC算法雖具備優(yōu)良的控制性能,但其計(jì)算量過(guò)大,算法較為復(fù)雜。1992年,金元郁[8-9]提出了基于受控自回歸滑動(dòng)平均模型(controlled auto-regressive moving average model, CARMA)的新型廣義預(yù)測(cè)控制算法,簡(jiǎn)稱JGPC控制方法[10-11]。其中CARMA模型用下式表示:
A(z-1)y(k)=z-dB(z-1)Δu(k)+C(z-1)ξ(k)
(1)
式(1)中:y(k)、Δu(k)、ξ(k)分別是輸出、控制量以及均值是0的白噪聲;d為純延時(shí);系數(shù)矩陣為
(2)
根據(jù)式(1)遞推可得,系統(tǒng)未來(lái)時(shí)刻的最小方差輸出預(yù)測(cè)模型為
Y*=Ym+GΔU
(3)
式(3)中各參數(shù)的取值為
(4)
(5)
式(4)中的ym(k+j)完全由過(guò)去的控制輸入和輸出來(lái)確定,其中N為預(yù)測(cè)長(zhǎng)度,可根據(jù)下式推導(dǎo)出。
(6)
式(6)中:
(7)
式(5)中矩陣元素可以從下式遞推得到。
(8)
式(8)中:j1=min{j-1,na};當(dāng)j-1>nb時(shí),b1,j-1=0。
設(shè)參考軌跡為
i=0,1,…,N-d
(9)
式(9)中:ω(k)為k時(shí)刻的期望輸出;α是輸出柔化系數(shù);Yr是參考軌跡向量。
極小化目標(biāo)函數(shù):
J=E{(Y-Yr)T(Y-Yr)+ΔUTΓΔU}
(10)
可得到相應(yīng)的JGPC的控制增量向量:
ΔU=(GTG+Γ)-1GT(Yr-Ym)
(11)
式(10)中的Γ為控制加權(quán)矩陣,一般取單位矩陣。則當(dāng)前時(shí)刻的控制量為
u(k)=u(k-1)+Δu(k)=u(k-1)+[1,0,…,0](GTG+Γ)-1GT(Yr-Ym)
(12)
圖2 ANFIS預(yù)測(cè)控制架構(gòu)[12]Fig.2 ANFIS predictive control architecture[12]
圖3 CSTR系統(tǒng)結(jié)構(gòu)Fig.3 CSTR system structure
CSTR系統(tǒng)結(jié)構(gòu)如圖3所示,其中A處為加料口,B為出料口,C為CSTR夾套的冷卻劑的入口,D為冷卻劑的出口。在CSTR 頂部安裝有可調(diào)速減速攪拌電機(jī),電機(jī)與攪拌槳軸連接,啟動(dòng)攪拌電機(jī)可實(shí)現(xiàn)反應(yīng)釜內(nèi)溶液的均勻混合。
實(shí)驗(yàn)中,以每0.1 min的時(shí)間間隔采集工業(yè)現(xiàn)場(chǎng)中反應(yīng)釜內(nèi)的濃度。在測(cè)量過(guò)程中通過(guò)調(diào)節(jié)C、D處冷卻劑的流量q來(lái)調(diào)節(jié)反應(yīng)釜的散熱量,測(cè)量反應(yīng)釜內(nèi)溶劑的濃度CA。根據(jù)所采集到的大量輸入輸出數(shù)據(jù),通過(guò)ANFIS訓(xùn)練和辨識(shí)可得到模糊隸屬度函數(shù)和模糊規(guī)則。
考慮到CSTR的高度非線性特性以及動(dòng)力學(xué)關(guān)系可建立CSTR系統(tǒng)的機(jī)理模型[13]:
(13)
式(13)中參數(shù)含義及數(shù)值如表1所示。
表1 CSTR模型參數(shù)Table 1 CSTR model parameters
ANFIS不同于模糊推理系統(tǒng),前者是基于數(shù)據(jù)的建模方法,通過(guò)學(xué)習(xí)大量的輸入輸出數(shù)據(jù)得到隸屬度函數(shù)和模糊規(guī)則,而后主要依靠專家與操作人員經(jīng)驗(yàn)知識(shí)獲取隸屬函數(shù)和模糊規(guī)則[14]。
數(shù)據(jù)獲取方式是:采集試驗(yàn)的前200 min數(shù)據(jù),每0.1 min采樣1次,共計(jì)2 000組數(shù)據(jù),指定輸入變量1為冷卻劑流量q,輸入變量2為前一時(shí)刻的濃度,即CA(t-1),輸出數(shù)據(jù)為濃度CA(t)。
對(duì)采樣得到的數(shù)據(jù)進(jìn)行訓(xùn)練,設(shè)置合理的模糊推理系統(tǒng)參數(shù)。其中選擇輸入語(yǔ)言變量1流量q的隸屬函數(shù)數(shù)目為a個(gè),變量2前一時(shí)刻濃度CA(t-1)的隸屬函數(shù)數(shù)目為b個(gè)(根據(jù)經(jīng)驗(yàn),a、b分別取整數(shù)5、6、7),隸屬函數(shù)類型為gaussmf型,輸出隸屬函數(shù)類型為Constant型;ANFIS訓(xùn)練算法選擇混合算法(hybrid,即LS算法與BP算法混合),誤差精度設(shè)置為0;訓(xùn)練次數(shù)設(shè)置為500次。表2所示為當(dāng)輸入語(yǔ)言變量隸屬函數(shù)數(shù)目a、b取不同值時(shí)的訓(xùn)練誤差。
表2 ANFIS訓(xùn)練誤差對(duì)比Table 2 ANFIS training error comparison
對(duì)比表2數(shù)據(jù)可知,相對(duì)于其他組數(shù)據(jù),第(9)組數(shù)據(jù)的訓(xùn)練誤差最小,故將輸入語(yǔ)言變量q和CA(t-1)的隸屬函數(shù)數(shù)目都設(shè)置為7個(gè)。
模糊論域中將輸入變量q的模糊子集數(shù)目為7,分別是負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大,即{NB、NM、NS、ZO、PS、PM、PB};將輸入變量CA(t-1)的模糊子集數(shù)目為7,分別是負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大,即{NB、NM、NS、ZO、PS、PM、PB}。則輸出變量CA的模糊規(guī)則可以分為7×7=49條。輸入輸出規(guī)則如表3所示。
使用ANFIS訓(xùn)練后輸入變量q和CA(t-1)的隸屬度函數(shù)如圖4所示。
根據(jù)CSTR系統(tǒng)的模糊規(guī)則表以及隸屬度函數(shù),可得其T-S模糊模型,形式如下。
規(guī)則1: ifqis NB, andCA(t-1) is NB
thenCA(t)=0.070 1 mol/L。
規(guī)則2: ifqis NM, andCA(t-1) is NB
thenCA(t)=0.063 79 mol/L。
規(guī)則3: ifqis NS, andCA(t-1) is NB
thenCA(t)=0.060 43 mol/L。
規(guī)則49: ifqis PB, andCA(t-1) is PB
thenCA(t)=0.101 7 mol/L。
(14)
表3 通過(guò)訓(xùn)練得到的49條T-S模糊規(guī)則Table 3 49 T-S fuzzy rules obtained through training
圖4 輸入變量q和CA(t-1)的隸屬度函數(shù)Fig.4 Entering the membership function of the variable q and CA(t-1)
ANFIS訓(xùn)練與測(cè)試結(jié)果如圖5所示。根據(jù)測(cè)試結(jié)果可觀察出,所設(shè)計(jì)的ANFIS參數(shù)得到的CSTR系統(tǒng)的T-S模糊模型可較好地?cái)M合該反應(yīng)過(guò)程。
圖5 數(shù)據(jù)訓(xùn)練測(cè)試結(jié)果Fig.5 Data training test results
通過(guò)第2節(jié)得到的CSTR系統(tǒng)的T-S模糊模型,根據(jù)辨識(shí)得到的T-S模型,對(duì)于每一個(gè)采樣點(diǎn),通過(guò)局部動(dòng)態(tài)線性化方法得到系統(tǒng)的線性化模型[15],進(jìn)而確定A(z-1)、B(z-1)和C(z-1)以及時(shí)延階次d。選取預(yù)測(cè)長(zhǎng)度為N=8、控制加權(quán)矩陣為I3×3、柔化系數(shù)選取為0.3;同時(shí)針對(duì)GPC算法和PID控制算法的參數(shù)設(shè)置分別如下:GPC算法參數(shù)設(shè)置為,預(yù)測(cè)時(shí)域Np=20、控制步數(shù)Nu=2,控制加權(quán)矩陣為I2×2,柔化系數(shù)選取0.8;PID控制算法的參數(shù)設(shè)置為,KP=0.11,Ti=0.2,Td=0.7。
選取幅值為0.6、0.2、0.8、0.3、0.5、1的方波作為期望輸出,未加入干擾時(shí),JGPC、GPC、PID的控制效果如圖6、圖7所示。
圖6 JGPC、GPC和PID仿真圖(未加入干擾)Fig.6 JGPC, GPC and PID simulation diagram (without interference)
圖7 JGPC、GPC與PID仿真圖(加入白噪聲干擾)Fig.7 JGPC, GPC and PID simulation diagram (adding white noise interference)
根據(jù)圖6可得,JGPC的仿真曲線的調(diào)節(jié)步數(shù)大致在10步之內(nèi),而GPC的仿真曲線的調(diào)節(jié)步數(shù)大致在25步,PID的調(diào)節(jié)步數(shù)大致在40步,且PID的超調(diào)量比較大,控制效果不夠理想。JCPC算法相較于GPC算法和PID控制算法有著更優(yōu)良的控制效果。
在白噪聲干擾情況下,對(duì)PID算法、GPC算法以及JGPC算法進(jìn)行均方根誤差(root mean square error, RMSE)以及平均絕對(duì)誤差(mean absolute error, MAE)的計(jì)算,其中,JGPC算法的誤差相對(duì)較小。具體結(jié)果如表4所示。
表4 控制算法性能指標(biāo)對(duì)比Table 4 Control algorithm performance index comparison
根據(jù)圖7可得,在加入白噪聲擾動(dòng)后,JGPC算法的超調(diào)量以及調(diào)節(jié)步數(shù)都明顯優(yōu)于GPC算法以及PID控制算法,并具有更好的穩(wěn)定性。
因此可以得到,在采用ANFIS建立了CSTR系統(tǒng)的T-S模糊模型的基礎(chǔ)上,JGPC算法的控制效果優(yōu)于GPC算法和PID控制算法。
以CSTR為研究對(duì)象,通過(guò)采集實(shí)際工業(yè)現(xiàn)場(chǎng)可得到的CSTR系統(tǒng)的輸入輸出數(shù)據(jù)。采用ANFIS方法訓(xùn)練以及辨識(shí)可得到數(shù)據(jù)間的隸屬度函數(shù)和模糊關(guān)系,進(jìn)而建立CSTR系統(tǒng)的T-S模糊模型,通過(guò)對(duì)模型轉(zhuǎn)換,將其與改進(jìn)的廣義預(yù)測(cè)控制方法相結(jié)合。最后通過(guò)仿真證明在對(duì)CSTR濃度進(jìn)行控制時(shí),JGPC方法相較于GPC算法和PID控制算法而言,可以更快地達(dá)到期望輸出值,并具有較強(qiáng)的抗干擾能力。因此,本文所提方法是有效的。