許 娣, 高鈺凱, 佃松宜
(四川大學電氣工程學院,成都 610065)
化工生產過程中,由于很多原材料經處理后會改變其本身的物理或化學性質,具有易燃易爆的特性。因此,嚴格的參數和質量要求是確保生產和操作人員安全的重要指標。實際化工生產過程中受控對象的復雜性主要表現為非線性、多輸入多輸出、強耦合性、時滯性、不確定性等[1]。連續攪拌反應釜(continuous stirred tank reactor, CSTR)是化工生產過程中的常用反應設備,本身具有高度的非線性,由于難以獲得高精度的數學模型,因此,采用傳統理論設計控制器的方法難以滿足精度和質量要求[2]。
1965年,Zdeh教授首次提出模糊集理論。模糊理論的出現極大程度上解決了工業控制領域的難題[3]。20世紀90年代初期,大量學者進行了許多非線性預測控制的相關理論和算法研究,并提出了多種非線性預測控制算法[4]。Hamdy等[5]結合Lyapunov函數建立了閉環T-S模糊雙線性模型的穩定性條件,設計一種模糊輸出反饋控制器,通過CSTR仿真證明該算法具有較好的控制效果。張明財等[6]基于無模型自適應控制算法和PCS7設計了CSTR溫度自控系統,該系統能夠模擬實際工業現場運行,所設計的控制器具有較好的抗干擾和實用性。何美霞等[7]采用動態矩陣控制(dynamic matrix control,DMC)算法對非線性CSTR反應器的溫度進行控制,即使是在干擾和模型適配的情況下,仍可快速跟蹤期望目標。Boulkaibet等[8]將聚類算法與核嶺回歸(kernel ridge regression, KRR)算法相結合來獲取CSTR的模糊模型,最后采用廣義預測控制算法來實現模糊預測控制。
根據CSTR系統的非線性特征以及采集到的數據集,將模糊劃分C均值聚類算法與分層遺傳算法相融合,辨識得到CSTR系統T-S模糊模型的前件參數,并采用自適應機制遺忘因子遞推最小二乘法對模型的后件參數進行估計,即采用辨識算法來獲得CSTR系統的T-S模糊模型。最后,基于該模糊模型對CSTR進行自適應模糊廣義預測控制器的設計。仿真結果表明,根據該辨識算法建立的CSTR的T-S模糊模型精確度較高,同時,預測控制器具有較強的抗干擾能力。
Takagi和Sugeno于1985年提出了T-S模糊模型[9]。T-S模糊模型采用IF-THEN形式來近似非線性系統。其中,每一條規則均代表了一個線性子系統[10]。通常情況下,非線性系統可通過以下形式來描述[11]:



式(2)中:vij和σij分別表示隸屬函數的中心和寬度,屬于T-S模糊模型的前件參數。
為簡化T-S模糊模型線性環節的表達形式,做以下替換:

則式(1)中y(k)可表示為

式(4)中:



由于模糊C均值(fuzzyC-means,FCM)算法易陷入局部最優,而遺傳算法(genetic algorithm, GA)能夠對群體中的許多個個體進行同時處理,即有效地評估多個可行解,避免收斂于局部極小值[12]。因此,提出模糊劃分C均值分層遺傳算法(hierarchical genetic algorithm with improved fuzzy partitions fuzzyC-means,HGA-IFPFCM),這一算法在原有的模糊劃分C均值聚類(improved fuzzy partitions fuzzyC-means algorithm, IFPFCM)算法的基礎上融合了分層遺傳算法(hierarchical genetic algorithm, HGA),由IFPFCM算法得到模糊規則的模糊隸屬度uij和初始聚類中心ci,再使用HGA算法中的遺傳操作逐步對T-S模糊規則的前件參數進行優化,進而得到最優的分類結果。
1.2.1 模糊劃分C均值聚類(IFPFCM)
將數據集X={x1,x2,…,xn}按照每一類均對應一個聚類中心ci進行劃分后得到c類,將每個樣本j屬于某一類的隸屬度定義為uij,對于每個單獨的樣本點xj,采用隸屬度約束函數:

進而得到IFPFCM算法的目標函數:

式(9)中:

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


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

式(12)中:


1.2.2 分層遺傳算法(HGA)
GA算法是一種模擬生物遺傳機制的全局收斂優化算法[13]。HGA算法是指對于一個具體問題,隨機生成N×n個樣本(N≥2,n≥2),隨后將該樣本分成N個均包含有n個樣本的子種群,并且對這N個子種群均運行獨立的GA算法,可記作GAi(1,2,…,N)。運行GA算法之后可得到HGA算法的初始層。
定義數組R[i,j](i=1,…,N,j=1,…,n)以及A[i](i=1,…,N),將N個子種群的GA算法連續迭代一定次數后,將遺傳操作的結果種群以及與其相對應的平均適應度值分別記錄到R[i,j]和A[i]中。HGA算法中的高層遺傳步驟主要分為選擇、交叉、變異以及替換。算法流程如圖1所示。

圖1 HGA算法流程Fig.1 The flowchart of HGA
選擇是指根據A[i]所代表的平均適應度值對數組R[i,j]進行擇優選擇。
交叉是指將群體中的各個個體隨機搭配成對,當數組R[i,1,…,n]和數組R[j,1,…,n]被隨機分配后,從位置x處進行交叉(1≤i,j≤N;1≤x≤n-1),則R[i,x+1,…,n]和R[j,x+1,…,n]相互交換對應部分,即交換GAi和GAj中的n-x個個體。
變異是避免HGA算法陷入局部最優的關鍵一步,主要是為了保持種群的多樣性。在第二步進行交叉后,種群中的染色體發生變異,進而使得基因值發生改變[14]。
替換是指對于從數組R[i,j]中隨機抽取的平均適應度值最弱的個體,HGA算法采用少量隨機生成的新個體將其進行替換以形成新的種群,進而再次進行遺傳操作。
以上4個步驟是HGA算法中高層遺傳步驟的第一次迭代,當N個GAi各自執行遺傳算法到一定的代數后,更新數組R[i,j]和A[i],并進行第二次迭代。如此進行循環遺傳操作,直至取得滿意的性能結果。
由于非線性系統本身的時滯等特性會對建模精度造成影響。因此,在T-S模糊模型的前件參數辨識算法的基礎上,采用自適應機制遺忘因子遞推最小二乘法辨識其后件參數。
對于每次迭代l,采用式(15)來更新式(3)中的參數估計向量θi[15],即

式(15)中:
Ci(l)是第i條模糊規則的協方差矩陣。
在每次迭代l中,協方差矩陣Ci(l)通過式(16)進行更新,即
Ci(l)=Ci(l-1)-

φi(l)=

式(17)中:ρ是大于0的常數;vi(l)和γi分別為
vi(l)=φi(l-1)[vi(l-1)+1] (18)

式(19)中:τi(l)可表示為

初始值φi(0)、vi(0)以及τi(0)的取值范圍均為(0,1)。
自適應模糊廣義預測控制(adaptive fuzzy generalized predictive control, AFGPC)主要包括了廣義預測控制(generalized predictive control, GPC)的控制器、被控對象、T-S模糊模型及其參數調整4個部分。該控制系統集成了GPC算法、離線學習得到的T-S模糊模型以及通過自適應機制遺忘因子遞推最小二乘法實現的模型參數在線調整。AFGPC的控制架構如圖2所示[16]。

圖2 AFGPC控制架構Fig.2 Thecontrol architecture of AFGPC
為研究方便,工業實踐中的大部分非線性過程可通過式(21)來描述,即
y(k)=f[y(k-1),y(k-2),…,y(k-ny),
u(k-d-1),…,u(k-d-nu)] (21)
式(21)中:u(·)表示系統的輸入;y(·)表示系統的輸出;nu對應系統輸入變量的階次;ny對應系統輸出變量的階次;函數y(·)所描述的非線性系統可由式(22)表示的T-S模糊模型進行逼近,即
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條規則,c是模糊規則的個數;N=nu+ny;ai(z-1)和bi(z-1)具體為

為保證后續控制律計算方便,根據1.1節,將向量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)中:




假設被控對象的離散數學模型為[17]


式(29)中:

為得到AFGPC算法的預測控制律,取k時刻的優化性能指標函數為





經推導可得:

d-1) (34)
定義:

將式(32)和式(35)代入式(34)可得在k+p時刻的最佳預測值

gp(z-1)Δu(k+p-d-1) (36)
即
y(k)=Gu(k)+F(z-1)y(k)+L(z-1) (37)
式(37)中:
根據推導得到的式(37),同時將式(31)中的λ(z-1)看作為常數,則AFGPC的優化性能指標函數式(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系統的反應是由原料A轉化為產物B的非線性過程,其結構示意圖如圖3所示。

圖3 CSTR系統結構示意圖Fig.3 The schematic diagram of CSTR system structure
為得到CSTR的理想數學模型,假設反應器內部發生的是不可逆的放熱反應,根據質量守恒和能量守恒定律,CSTR系統的數學模型可描述為[18]

式(41)中的相關參數及其描述如表1所示。

表1 CSTR系統的模型參數Table 1 Model parameters of the CSTR system
采用第1章中的HGA-IFPFCM算法和自適應機制遺忘因子遞推最小二乘法來辨識CSTR系統的T-S模糊模型的前后件參數。
CSTR反應過程主要通過控制冷卻劑流量qc(t)來調整出料濃度CA(t)。因此,輸入和輸出信號可分別表示為y(t)=CA(t)以及u(t)=qc(t)。根據現場設備實際運行情況,將控制信號qc(t)的范圍設定為[90(L/min),110(L/min)],相應地采集1 000組數據。圖4所示為用于采集數據集的控制信號變化曲線。

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

圖5 CSTR系統的辨識與實際輸出曲線Fig.5 CSTR system identification and actual output curve

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

表2 辨識算法性能對比Table 2 Performance comparison of identification algorithm
從圖6以及表2中均可以看出相對于HGA算法,HGA-IFPFCM算法在對CSTR系統進行辨識時的誤差較小,性能更好。
分別將濃度以及流量變量CA(t-2)、CA(t-4)、qc(t-1)、qc(t-3)作為CSTR系統T-S模糊模型的輸入變量;同時,將CA(t)作為輸出變量。通過辨識,CSTR系統T-S模糊模型中輸入變量的隸屬度函數曲線如圖7和圖8所示。

圖7 CA(t-2)、CA(t-4)的隸屬度函數曲線Fig.7 Membership function curve of CA(t-2)、CA(t-4)

圖8 qc(t-1)、qc(t-3)的隸屬度函數曲線Fig.8 Membership function curve of qc(t-1)、qc(t-3)
結合1.3節自適應機制遺忘因子遞推最小二乘法,通過式(17)實現遺忘因子的參數自適應,進而通過式(15)實現T-S模糊模型后件參數的估計。通過相應的辨識算法,可得到T-S模糊模型的5條規則如式(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-S模糊模型,結合第2節的AFGPC算法對CSTR進行控制。設定控制參數:控制步長Nu=1、預測步長Np=150、加權系數λ=0.05以及辨識參數:ρ=0.99、φi=1、τi=vi=1×10-9,其中1≤i≤c。此外,與傳統PID算法進行控制效果的對比以驗證AFGPC算法的性能。其中,PID算法的參數分別設定為Kp=0.4、Ti=0.53、Td=0.2。
按照式(43)設定系統的參考輸出值:

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

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

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

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

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