朱湘臨, 蔡 可, 王 博
(江蘇大學(xué) 電氣信息工程學(xué)院,江蘇 鎮(zhèn)江 212013)
由于微生物發(fā)酵過程具有較強(qiáng)不確定性,且其內(nèi)部機(jī)理復(fù)雜多變,一般難以建立準(zhǔn)確的機(jī)理模型[1~4]。采用傳統(tǒng)的控制策略優(yōu)化補(bǔ)料速率很難達(dá)到預(yù)期的效果,因此有必要研究新型的優(yōu)化控制策略[5~14]。廣義預(yù)測控制(generalized predictive control,GPC)具有魯棒性強(qiáng)、控制效果好的優(yōu)點(diǎn),它擁有預(yù)測控制算法中的滾動優(yōu)化、多步預(yù)測、反饋校正等步驟。其中影響GPC控制精度最重要的部分是預(yù)測模型。最小二乘支持向量機(jī)(least square support vector machine,LS-SVM)[13]能簡化計算復(fù)雜度,特別適用于在線建模,但它通常是基于全局模型的建模技術(shù),而發(fā)酵過程是多工況的,僅僅建立單一的全局模型,預(yù)測精度往往較低。即時學(xué)習(xí)(just-in-time learning,JITL)是一種局部在線建模策略,它充分發(fā)掘了歷史數(shù)據(jù)庫中數(shù)據(jù)之間的信息,適合發(fā)酵過程的建模[11]??紤]到歷史數(shù)據(jù)庫信息量大和發(fā)酵的時段性特點(diǎn),采用加權(quán)模糊C均值(weighted fuzzy C mean,WFCM)算法[13,14]對數(shù)據(jù)庫進(jìn)行聚類,當(dāng)查詢樣本到來時能快速選擇相似樣本集建立預(yù)測模型。
基于以上分析,本文提出了基于LS-SVM和改進(jìn)JITL策略相結(jié)合的預(yù)測模型,同時為了避免預(yù)測控制中求解非線性問題,將得到的非線性模型在每一個采樣點(diǎn)處進(jìn)行線性化,再融合GPC控制算法,建立菌體濃度的GPC模型。通過仿真結(jié)果表明這種控制方法在海洋蛋白酶的流加補(bǔ)料控制中具有良好的控制效果。
通過對海洋堿性蛋白酶化學(xué)特性和發(fā)酵工藝流程的深入分析,碳源葡萄糖是其菌體生長的重要基質(zhì)。本文選取葡萄糖給進(jìn)速率u(t-m)與前一時刻菌體濃度值y(t-n)為輸入量,以及當(dāng)前時刻的菌體濃度輸出y(t)為輸出量。海洋堿性蛋白酶菌體濃度模型可用非線性形式表示
y(t)=f(u(t),u(t-1),u(t-2),…u(t-m),
y(t-1),…,y(t-n))
(1)
式中f(·)為復(fù)雜的非線性函數(shù)關(guān)系。
對于一組輸入樣本,LS-SVM利用非線性映射將訓(xùn)練數(shù)據(jù)集非線性的映射到高維的特征空間,從而使非線性函數(shù)估計問題轉(zhuǎn)換為線性函數(shù)估計問題。設(shè)建模數(shù)據(jù)集Ω={x1,x2,…,xn},xi是查詢樣本周圍包含的n個相似樣本,利用LS-SVM算法將相似樣本集映射到高維線性特征空間,并構(gòu)建最優(yōu)回歸函數(shù)如下
(2)
式中ci為拉格朗日乘子,δ為偏置量,采用高斯徑向基函數(shù)exp{-‖x-xi‖2/2σ2}作為核函數(shù)。
傳統(tǒng)的JITL策略在搜尋相似樣本時,需要對整個數(shù)據(jù)庫進(jìn)行搜索??紤]到發(fā)酵過程的歷史數(shù)據(jù)量較大,就海洋堿性蛋白酶發(fā)酵為例,一個完整的發(fā)酵周期通常為200 h,隨著發(fā)酵批次的進(jìn)行,歷史數(shù)據(jù)會越來越多。因此需要采取一種選擇策略加速相似樣本的選擇。鑒于微生物發(fā)酵的一般特性:時段性,本文采取WFCM對收集的數(shù)據(jù)進(jìn)行分類,當(dāng)查詢值到來時,首先先確定它屬于哪一個時間段,再使用相似度度量準(zhǔn)則確定相似樣本集。這樣不僅能加速樣本集的確定,而且縮小了樣本選擇空間,減少噪聲數(shù)據(jù)的干擾。
WFCM聚類算法屬于非監(jiān)督學(xué)習(xí)方法[13,14],根據(jù)數(shù)據(jù)本身之間的特性將數(shù)據(jù)分為幾個類別,同一類別中數(shù)據(jù)具有較高相似度,反之亦然。它能夠很好地處理差別較大的數(shù)據(jù)集,適合對發(fā)酵歷史數(shù)據(jù)進(jìn)行聚類。
假設(shè)X={x1,x2,…,xn}為有限數(shù)據(jù)集,數(shù)據(jù)集的維度為p,xk∈Rp為第k個樣本的特征向量。類別數(shù)c可以為任意值(2≤c≤n),則數(shù)據(jù)集的WFCM聚類問題可歸結(jié)為求解以下數(shù)學(xué)問題
(3)
式中pi為樣本的權(quán)系數(shù),pi的大小直接關(guān)系分類的影響程度。dij=‖xi-Vj‖為樣本點(diǎn)與聚類中心的距離。uij為第i個樣本屬于第j個中心的隸屬度,U為n×c的模糊劃分矩陣。V=[V1,V2,…,Vc]為c個類別的向量集;m為用來控制聚類的模糊加權(quán)指數(shù)。
為了求解上述數(shù)學(xué)問題,將拉格朗日乘法引入
(4)
式中pi主要用于調(diào)節(jié)聚類中心的距離大小。
本文采用基于角度和距離加權(quán)的相似度選擇指標(biāo)[5,6]。定義查詢樣本點(diǎn)xq和所處發(fā)酵階段中任意樣本xi的距離和角度表示如下
(5)
式中λ為權(quán)值,si的取值介于[0,1]之間,其值越大,表示xq與xi越相似。當(dāng)cos(θi)<0時認(rèn)定該數(shù)據(jù)相似度較低,不予采用。
GPC[11]是由Clarke等在保持最小方差自校正控制的模型預(yù)測、最小方差控制、在線辨識等原理的基礎(chǔ)上提出來的,它采用帶控制量的自回歸積分滑動平均(controlled autoregressive integrated moving average,CARIMA)模型作為預(yù)測模型。
上述得到的JITL-LS-SVM模型是非線性的,不能直接用在GPC系統(tǒng)中,需要對模型線性化??紤]到海洋蛋白酶發(fā)酵這樣的非線性系統(tǒng)可以用如下線性時變系統(tǒng)表示[12]
y(t)=a1y(t-1)+a2y(t-2)+…+anyy(t-ny)+
b1u(t)+b2u(t-1)+…+bnuu(t-nu)
(6)
在采樣點(diǎn)x0處利用泰勒公式展開。線性化后的模型為
A(z-1)y(t)=B(z)u(t-1)+?
(7)
式中A(z-1)=1+a1z-1+…+anz-n,B(z-1)=1+b1z-1+…+bmz-m,?為常數(shù)。上式與GPC算法中的CARIMA模型形式基本吻合,考慮到發(fā)酵這樣的強(qiáng)時變性,存在的不確定因素較多,對模型進(jìn)行進(jìn)一步的修正
(8)
式中ω(t)為白噪聲,C(z-1)=c0+c1z-1+…+cncz-nc,nc為系統(tǒng)的擾動階次,當(dāng)C(z-1)=1時,系統(tǒng)為一階時滯。
對上述線性化處理后的模型進(jìn)行轉(zhuǎn)換,將常數(shù)?消除并離散化,得到如下的CARIMA模型為
(9)
式中y(t)為系統(tǒng)輸出量,即菌體濃度;u(t)為模型輸入;Δ=1-z-1為差分算子;ε(t)為系統(tǒng)噪聲影響量。采用一般的GPC方法繼續(xù)對式(9)處理,引入Diophantine方程求解,求解后可以得到多步預(yù)測后的矩陣輸出形式
(10)
F=[F1(z-1)F2(z-1)Fp(z-1)]T;
H=[H1(z-1)H2(z-1)Hp(z-1)]T
t時刻的滾動優(yōu)化表達(dá)形式如下所示
(11)
式中E為期望,w為菌體的期望參考值,N1和N2分別為優(yōu)化時域的初始值和終值,λ(j)為控制加權(quán)系數(shù),一般設(shè)為常數(shù)λ。為確保輸出值能夠較好跟蹤參考軌跡,將參考軌跡引入其中
w(t+j)=βw(t+j-1)+(1-β)×ys,j=1,2,…,N
w(t)=yr(t)
(12)
式中β為調(diào)節(jié)因子,范圍為[0,1)之間;yr為參考軌跡;ys為將來某時刻的設(shè)定值。令W=[w(t+1),…,w(t+P)]T,則有
J=(Y-M)T(Y-W)+λΔUTΔU
(13)
當(dāng)?J/?U=0時,可以得到控制律為
u(t)=u(t-1)+dT(W-F)
(14)
式中dT為(GTG+λI)-1GT的第一行。
基于JITL-LS-SVM的海洋堿性蛋白酶菌體濃度的GPC框圖如圖1所示。
圖1 基于JITL-LS-SVM的海洋蛋白酶菌體濃度的GPC框圖
圖1中yr為菌體濃度設(shè)定值,y(t)為菌體濃度輸出值,y(t+1)為t+1時刻的預(yù)測值。在t時刻,GPC根據(jù)yr和JITL-LS-SVM預(yù)測模型輸出的對象預(yù)測輸出值y(t)來計算輸出控制量u(t),將控制量u(t)輸入到基于JITL-LS-SVM的預(yù)測模型和被控對象中,JITL-LS-SVM預(yù)測模型根據(jù)Nx前個控制量和前Ny個輸出值來得到下一時刻的預(yù)測輸出值y(t+1)。將y(t+1)返回到GPC,進(jìn)行下一時刻的控制。
基于以上分析,本文將LS-SVM算法,改進(jìn)的JITL算法融入到基于CARIMA模型的GPC算法中。具體算法實現(xiàn)步驟如下:1)基于海洋蛋白酶發(fā)酵過程,構(gòu)建歷史數(shù)據(jù)庫。設(shè)定GPC模型參數(shù)P、M和LS-SVM的C、σ。采用WFCM算法對歷史數(shù)據(jù)分類,并設(shè)定類別數(shù)c和模糊加權(quán)指數(shù)m。2)針對當(dāng)前工況時刻點(diǎn),判定所屬發(fā)酵階段類別,采用式(5)的相似度度量準(zhǔn)則,選擇相似樣本構(gòu)建局部建模樣本集。3)利用相似樣本集建立基于JITL-LS-SVM的局部預(yù)測模型。4)引入GPC算法,根據(jù)參考軌跡來計算控制增量Δu(t)和控制律u(t);輸入u(t)到JITL-LS-SVM 預(yù)測模型和被控對象中,得到y(tǒng)(t)。根據(jù)u(t)和y(t)得到預(yù)測值y(t+1)。5)t→t+1,返回步驟(2)。
實驗數(shù)據(jù)來自江蘇大學(xué)發(fā)酵控制系統(tǒng)平臺。選用鎮(zhèn)江日泰發(fā)酵設(shè)備公司RTY-MS型號的20L發(fā)酵罐,選用從中國黃海水樣中分離得到的菌株YS-9412-130(主要分泌堿性蛋白酶)為菌種。按照發(fā)酵工藝流程進(jìn)行發(fā)酵并收集數(shù)據(jù)。依據(jù)上位機(jī)每隔1 min采集葡萄糖流加速率,菌體濃度每隔2 h離線化驗所得,在實際建模中采用1 h插值運(yùn)算。一個發(fā)酵周期取一批數(shù)據(jù),共提取10批數(shù)據(jù),每個批次取發(fā)酵前80 h,一共收集800個樣本,剔除噪聲數(shù)據(jù)后,將剩余的768組數(shù)據(jù)中的80 %作為訓(xùn)練集,20 %作為驗證集。
將LS-SVM模型和JITL-LS-SVM模型分別融合GPC構(gòu)建預(yù)測控制模型。 在產(chǎn)酶加速期和高峰期,細(xì)胞呈對數(shù)增長,對該時期的菌體濃度進(jìn)行有效控制可以提高酶的活性和產(chǎn)量。選取發(fā)酵中期的對數(shù)生長期(10~40 h)進(jìn)行GPC,預(yù)測時域P=5,控制時域M=3,設(shè)初始輸出u=15,初始增量Δu=4.5,初始輸出為y=14.5,仿真步長為15 min。設(shè)定值為給定的方波信號,依據(jù)在對數(shù)期的前段時間處于產(chǎn)酶加速期,菌體濃度不宜過高,將其設(shè)定為20 g/L。后段時間處于產(chǎn)酶的高峰期但由于前面時刻基質(zhì)消耗比較快,菌體生長速度減慢需要加快基質(zhì)給進(jìn)速率,并將菌體濃度設(shè)定為33 g/L以提高酶的活性和產(chǎn)量。
由圖2的仿真中可以看出,基于LS-SVM的GPC輸出雖然能大致跟蹤設(shè)定值,但是超調(diào)量較大。而基于JITL-LS-SVM的GPC輸出較好地跟蹤參考軌跡且輸出較平穩(wěn),超調(diào)量小。
圖2 海洋堿性蛋白酶菌體濃度的仿真跟蹤控制曲線
圖3為基于JITL-LS-SVM的GPC模型下的葡萄糖給進(jìn)速率圖,可以看出每個時刻的速率都是變化的。由此可見基于JITL-LS-SVM的GPC方法是可行的。
圖3 基于JITL-LS-SVM模型的補(bǔ)料速率輸出仿真曲線
圖4為海洋蛋白酶發(fā)酵過程中菌體濃度真實值與基于LS-SVM和JITL-LS-SVM的GPC模型的效果對比。
圖4 系統(tǒng)實際輸出對比
圖5為誤差對比圖。從圖5中可以看出基于JITL-LS-SVM的GPC在擬合程度和預(yù)測精度上明顯優(yōu)于LS-SVM的GPC模型。其中模型參數(shù)采用交叉驗證法獲得,取LS-SVM參數(shù)C=106,σ2=4.6。WFCM的類別數(shù)c=3,模糊加權(quán)指數(shù)m=1.9。
圖5 系統(tǒng)誤差對比
選取均方根誤差(RMSE)和最大絕對誤差(MAXE)作為模型精度評價標(biāo)準(zhǔn)。如表1所示,基于JITL-LS-SVM的GPC的控制輸出效果更加好,菌體濃度更加逼近真實值
表1 二種預(yù)測模型效果對比
(15)
本文提出的一種改進(jìn)JITL策略的GPC補(bǔ)料方法,利用WFCM算法和基于角度和距離的相似度準(zhǔn)則,加速相似樣本的選擇,并建立菌體濃度的JITL-LS-SVM非線性控制模型。為了避免求解非線性問題,將預(yù)測模型在每一個采樣點(diǎn)處進(jìn)行線性化,并融合GPC算法。通過仿真驗證方法對海洋蛋白酶發(fā)酵過程中菌體濃度控制具有很好的自適應(yīng)和魯棒性,可以運(yùn)用于一般微生物發(fā)酵中的流加補(bǔ)料控制。