周紅標,張鈺,柏小穎,劉保連,趙環(huán)宇
(淮陰工學院自動化學院,江蘇淮安223003)
工業(yè)生產(chǎn)中的動態(tài)系統(tǒng)通常具有非線性、時變性、時滯性和不確定性,難以建立精確的數(shù)學模型,依賴數(shù)學模型的傳統(tǒng)控制手段無法取得令人滿意的控制效果[1]。模型預測控制(model predictive control,MPC)采用被控對象的動態(tài)模型來預測系統(tǒng)的未來輸出,并結(jié)合滾動優(yōu)化和反饋校正策略,在約束范圍內(nèi)最小化模型的性能指標以確定最優(yōu)控制量[2-3]。與PID 和FLC等傳統(tǒng)的“事后”控制方法相比,作為一種“事前”控制方法,MPC 從理論上能夠保證控制效果優(yōu)于傳統(tǒng)控制方法[4]。因此,在非線性動態(tài)系統(tǒng)的控制問題中,MPC 控制器的設計引起了研究者的極大關注[5-8]。
理論證明模糊系統(tǒng)(fuzzy systems,FSs)和神經(jīng)網(wǎng)絡(neural networks,NNs)都是通用逼近器,能夠以任意精度逼近任何系統(tǒng),因此研究者提出了多種基于FSs 和NNs 的MPC 方法。例如:Khooban 等[9-10]采用Takagi-Sugeno(TS)模糊模型建立電動汽車速度預測模型從而建立了TS-MPC 控制器,Muthukumar 等[11]采用TS 模糊模型精確再現(xiàn)了分數(shù)階動力系統(tǒng)從而建立了TS-MPC 控制器,Bououden 等[12]針對CSTR 過程構(gòu)建了基于蟻群(ant colony optimization, ACO)的模糊模型預測控制器(ACO-AFMPC),Zeng 等[13]采用多層感知器(multilayer perceptron, MLP)建立化學藥劑和污染物去除率之間的關系模型從而設計了MLP-MPC 控制器,Caraman 等[14]采用MLP 作為污水處理過程的內(nèi)部模型從而建立了溶解氧的MLPMOC 控制器。除了基于FS 和MLP 的MPC,研究者陸續(xù)提出了基于徑向基函數(shù)神經(jīng)網(wǎng)絡(radial basis function neural network, RBFNN)的MPC 控制器[15-17],基于遞歸神經(jīng)網(wǎng)絡(recurrent neural network,RNN)的MPC控制器[18-20]。
模糊神經(jīng)網(wǎng)絡(fuzzy neural networks, FNN)集FSs 的透明結(jié)構(gòu)和NNs 的自學習能力于一身,在非線性系統(tǒng)辨識和控制領域有著許多成功的應用。研究者陸續(xù)提出了多種基于FNN的MPC設計方法,Lu 等先后提出了一種基于遞歸模糊神經(jīng)網(wǎng)絡(recurrent fuzzy neural network,RFNN)的工業(yè)過程預測控制方法[21],和一種基于小波模糊神經(jīng)網(wǎng)絡(wavelet fuzzy neural network, WFNN)的預測控制算法[22],Teng 等[23]提 出 了 基 于 魯 棒 模 糊 神 經(jīng) 網(wǎng) 絡(robust fuzzy neural network,ROFNN)的MPC。Huang等[24]首先利用自適應神經(jīng)模糊推理系統(tǒng)(adaptive network based fuzzy inference system, ANFIS)建立污染物去除率和化學劑量之間的非線性映射關系,然后利用梯度下降算法優(yōu)化損失函數(shù),從而設計了造紙廠污水處理混凝過程的MPC 控制器。Cheng 等[25]首先利用模糊神經(jīng)網(wǎng)絡建立壓電致動器的NARMAX 模型,然后利用LM 算法求解優(yōu)化問題,從而提出了壓電致動器的非線性模型預測控制方法。Tian 等[26]首先利用T-S 型模糊神經(jīng)網(wǎng)絡建立預測模型,然后利用分層遺傳算法優(yōu)化適應度函數(shù),從而設計了石灰回轉(zhuǎn)窯燒成帶溫度MPC控制器。Li等[27]首先利用遞歸自進化模糊神經(jīng)網(wǎng)絡(recurrent selfevolving fuzzy neural network,RSEFNN)建立溫度、功率吸收效率和水分變化特性等未知關鍵參數(shù)的預測模型,然后利用梯度優(yōu)化算法處理多目標優(yōu)化問題,從而設計了微波干燥過程的多變量MPC 控制器。
盡管FNN-MPC 在復雜工業(yè)過程中的應用已展現(xiàn)良好的控制性能,但仍存在以下幾點缺陷:(1)在建立預測模型時,一般采用試錯法選取模糊規(guī)則數(shù)(規(guī)則層節(jié)點數(shù)),存在較大的主觀性,模型難以取得較好的泛化性能;(2)在訓練預測模型時,一般采用梯度下降算法優(yōu)化模型的參數(shù),導致網(wǎng)絡收斂速度慢、易陷入局部最優(yōu);(3)在執(zhí)行滾動優(yōu)化時,一般不再更新網(wǎng)絡參數(shù),降低了控制器的自適應能力。因此,為了增強模型的預測精度和控制器的控制性能,亟待研究FNN 的參數(shù)和結(jié)構(gòu)同步調(diào)整機制以及與之配合的非線性控制量的在線滾動求解策略。
針對上述問題,本文提出了一種基于自適應模糊神經(jīng)網(wǎng)絡(adaptive fuzzy neural network,AFNN)的非線性動態(tài)系統(tǒng)MPC控制器的設計方法。AFNN-MPC采用具有規(guī)則自分裂技術(shù)和自適應LM學習算法的FNN建立被控對象的預測模型,并且在實時控制過程根據(jù)預測誤差在線更新網(wǎng)絡參數(shù)。同時,采用自適應梯度尋優(yōu)算法優(yōu)化MPC的性能指標以在線求取控制律。此外,利用Lyapunov穩(wěn)定性理論分析了AFNN-MPC的收斂性和閉環(huán)穩(wěn)定性。數(shù)值仿真和雙CSTR過程的實驗結(jié)果驗證了AFNN-MPC的有效性。
考慮如下的帶有外部輸入的非線性自回歸模型[21-22]:
其中,f(·)表示未知非線性函數(shù),u(·)∈Rm表示控制輸入向量,y(·)∈Rq表示系統(tǒng)輸出向量,nu和ny分別為輸入和輸出的階數(shù),kd為時延,d(k)為噪聲。MPC是以滾動方式實施的,在每個采樣時刻k,都需要通過在線求解一個非線性優(yōu)化問題得到控制作用[21]。設k時刻的約束優(yōu)化性能指標J(k)具有如下形式:
約束條件為:
其中,r(k+h|k)∈Rq為從采樣時刻k開始的第h步的期望輸出,y(k+h|k)∈Rq為從采樣時刻k開始的第h步的預測輸出,Δu(k+h-1|k)=u(k+h-1|k)-u(k+h-2|k)為控制增量,Np和Nu分別為預測時域和控制時域(Np≥Nu>0),qh為控制加權(quán)系數(shù),umax和umin為u(k+h-1|k)的上下界,Δumax和Δumin為Δu(k+h-1|k)的上下界,ymax和ymin為y(k+h|k)的上下界。
針對多變量控制問題,由于被控對象的精確數(shù)學模型往往難以建立,為了獲得y(k+h|k)的值,本文利用多輸入多輸出(multi-input multi-output,MIMO)FNN來辨識式(1)描述的復雜非線性系統(tǒng)的Mamdani模糊模型[28-31]。FNN 的結(jié)構(gòu)如圖1所示,其具有四層結(jié)構(gòu),分別為輸入層、隸屬函數(shù)層、規(guī)則層和輸出層。下面具體介紹每層的數(shù)學描述。
第一層:該層為輸入層,具有n個節(jié)點,每個節(jié)點代表一個輸入語言變量。該層的輸出為:
其中,ui為第i個節(jié)點的輸出值,x=[x1,x2,…,xn]T為輸入變量。
第二層:該層為隸屬函數(shù)層,具有n×r個節(jié)點,每個節(jié)點代表一個高斯函數(shù)型的隸屬函數(shù)(membership function,MF)。MF層的輸出為:
其中,μij為xi的第j個MF 的值,cij和σij分別為xi的第j個MF的中心和寬度。
圖1 MIMO型FNN的拓撲結(jié)構(gòu)Fig.1 Architecture of MIMO-type FNN
第三層:該層為規(guī)則層,具有r個節(jié)點,每個節(jié)點代表一條模糊規(guī)則的前件。第j個規(guī)則節(jié)點的輸出為:
該層的規(guī)范化輸出為:
其中,h=[h1,h2,…,hr]T為規(guī)則層的規(guī)范化輸出向量。
第四層:該層為輸出層,對于MIMO 系統(tǒng)來說,該層有多個輸出節(jié)點。該層第q個節(jié)點的輸出是其輸入信號的加權(quán)和,即:
其中,wjq為第j個規(guī)則節(jié)點與第q個輸出節(jié)點之間連接權(quán)。
在構(gòu)造AFNN 時,有兩個問題需要解決:一是結(jié)構(gòu)辨識,二是參數(shù)估計。對于AFNN 來說,如果初始參數(shù)選取的較為恰當,將能夠加快收斂速度,增強算法跳出局部最優(yōu)的能力。AFNN 首先采用規(guī)則自分裂(rule automatic splitting, RAS)技術(shù)自適應地構(gòu)造初始模糊規(guī)則,然后利用改進的自適應LM(improved adaptive LM,IALM)算法調(diào)整包括中心、寬度和權(quán)值在內(nèi)的網(wǎng)絡參數(shù)[28-29]。
2.1.1 AFNN 結(jié)構(gòu)辨識 針對離線獲取的觀測數(shù)據(jù),假定當前有r個聚類,首先利用式(9)找到具有最大均方差(maximum mean square error, MMSE)的聚類[29]:
其中,gij為第j個聚類的第i維輸入變量的均方差,即:
其中,x∈vj表明樣本x來自第j個聚類,vij為第j個聚類中心的第i維,Pj為第j個聚類中包含的樣本數(shù)量。
其中,xp為第p個樣本,||xp-vj||表示xp與vj之間的歐氏距離,μpj為第p個樣本屬于第j個聚類的隸屬度值,m是模糊指數(shù)(m>1,一般取2)。μpj的定義如下:
最后再次利用式(11)獲取均方差作為AFNN 的初始寬度σij。
RAS 的算法流程如表1 所示,限于篇幅,這里不再詳細介紹FCM算法。
表1 RAS的算法流程Table 1 Algorithm flow of RAS
2.1.2 AFNN 參數(shù)估計 為了提高AFNN 的收斂速度和泛化性能,利用IALM 算法訓練網(wǎng)絡參數(shù)(中心、寬度和權(quán)值)。根據(jù)LM 算法,參數(shù)的更新規(guī)則可表示為[28-29]:
其中,P為樣本總數(shù)。Jacobian矩陣可表示為:
其中,Ψ(t)為準海森(quasi-Hessian)矩陣,Ω(t)為梯度向量。自適應學習率η(t)的調(diào)整規(guī)則如下:
其中,βm(0<β<1)為預設的常量,Ψ(t)和Ω(t)分別為所有樣本的子矩陣ψp(t)和子向量ωp(t)的累加,即:
其中,子矩陣ψp(t)和子向量ωp(t)分別定義為:
其中,jp(t)為Jacobian矩陣的行向量,即:
根據(jù)梯度下降學習算法的更新規(guī)則,Jacobian矩陣行向量的元素可表示為:
其中,
需要指出的是,對于樣本p,子矩陣ψp(t)和子向量ωp(t)的計算僅需要計算jp(t)的(2n+1)×r個元素。對于IALM 算法來說,不需要儲存Jacobian 矩陣,也不需要執(zhí)行Jacobian 矩陣的乘法,可以直接計算準海森矩陣Ψ(t)和梯度向量Ω(t),從而降低了存儲容量和計算復雜度。同時,在學習過程中,式(18)定義的自適應學習率有助于加快學習速度和提高泛化能力[28-29]。
2.1.3 AFNN 算法流程 AFNN 的算法流程如表2所示,主要包括RAS 結(jié)構(gòu)辨識策略和IALM 參數(shù)優(yōu)化策略。
表2 AFNN的算法流程Table 2 Algorithm flow of AFNN
建好控制對象的AFNN 預測模型后,為了獲取控制量,MPC 在每個控制步中都需要在線求解式(29)表示的一個非線性優(yōu)化問題。本文利用自適應梯度下降算法在線優(yōu)化性能指標以求取控制律。
根據(jù)y(k)的h步超前預測,MPC 的優(yōu)化性能指標為[21-22]:
利用梯度下降算法對優(yōu)化性能指標式(30)進行尋優(yōu),可以獲取控制增量向量ΔU(k),如下:
其中,η為梯度法的自適應優(yōu)化率。根據(jù)式(31),ΔU(k)可以表示為:
其中,
從式(32)和式(33)可以看出,控制增量向量的求取涉及到矩陣求逆和矩陣乘法,這使得MPC 的計算量劇增。文獻[22]指出,當Nu=1時,MPC仍然具有令人滿意的控制效果。因此,本文設置Nu=1。此時,式(32)可以寫成:
其中,
根據(jù)導數(shù)的鏈式法則,可以獲得式(35)中的??(k+j)/?u(k)如下:
其中,
為了加快梯度優(yōu)化算法的收斂速度,η在實時控制過程能夠自適應調(diào)整,即:
其中,0<βc<2;λmax是g(k)gT(k)的最大特征值。
綜上,AFNN-MPC 的控制增量Δu(k)具有如下形式:
在實時控制過程的每一步,這一過程反復執(zhí)行,直至J(k)達到最小或u(k)不再變化,此時將u(k)作為最優(yōu)控制量作用到系統(tǒng)實施控制。
圖2 給出了AFNN-MPC 的控制架構(gòu),建好AFNN 離線模型后,在實時控制過程采用自適應梯度下降算法在線調(diào)節(jié)AFNN 模型的參數(shù)集,以最小化MPC 模型的預測輸出和系統(tǒng)的實際輸出之間的誤差。AFNN-MPC 的控制目標就是通過動態(tài)調(diào)節(jié)u(k)以使得y(k)能夠跟蹤設定值r(k)。
圖2 AFNN-MPC的控制架構(gòu)Fig.2 Control architecture of AFNN-MPC
AFNN-MPC 算法流程如表3 所示,主要包括AFNN 離線辨識、模型參數(shù)的在線調(diào)整和控制增量Δu的計算。
表3 AFNN-MPC算法流程Table 3 Algorithm flow of AFNN-MPC
下面對AFNN 的收斂性、AFNN-MPC 的收斂性、AFNN-MPC的閉環(huán)穩(wěn)定性進行分析。
定理1:由于RAS 規(guī)則生成方法可以尋找到一組AFNN近似最優(yōu)參數(shù)集,且式(18)定義的自適應學習率能夠保證Hessian 矩陣Ψ(t)的非奇異性和正定性,當利用式(14)更新AFNN參數(shù)時,如果
則能夠保證AFNN 是漸近收斂的,即當t→+∞時,e(t)→0。
證明:IALM算法的更新規(guī)則如下:
根據(jù)矩陣不等式,式(42)可以改寫為:
因此,可得到:
假設Lyapunov函數(shù)定義為:
因此,根據(jù)Lyapunov 穩(wěn)定性定理,AFNN 理論上是收斂的。證畢。
定理2:如果AFNN-MPC 中控制律推導時梯度優(yōu)化算法的學習率設置為式(38),那么AFNN-MPC具有收斂性。
證明:選擇Lyapunov候選函數(shù)如下:
基于式(53),有:
基于式(56),式(54)可以改寫為:
因此,根據(jù)Lyapunov 穩(wěn)定性定理,AFNN-MPC理論上是收斂的。證畢。
本文選取數(shù)值仿真和兩級CSTR 過程來驗證AFNN-MPC的有效性。
考慮如下的非線性動態(tài)系統(tǒng):
則AFNN預測模型的輸入向量為:
此外,預測輸出為?(k),系統(tǒng)實際輸出為y(k)。設置u(k)為[-1,1]之間的隨機數(shù),代入式(59)得到1050 組樣本,選擇其中1000 組作為訓練集,剩余的50 組作為測試集。AFNN-MPC 的參數(shù)設置如下:gth=0.1,βm=0.3,βc=0.5,Np=4,Nu=1,q11=1,q12=0.3。
圖3 給出了AFNN 在結(jié)構(gòu)辨識階段的MMSE 曲線??梢?,隨著模糊規(guī)則的自動生成,MMSE 逐漸逼近預設的gth閾值(0.1),最終AFNN能夠產(chǎn)生5條較優(yōu)的初始模糊規(guī)則。
圖3 AFNN結(jié)構(gòu)辨識階段的MMSE曲線Fig.3 MMSE curve during AFNN structure identification
圖4 AFNN參數(shù)學習階段的RMSE曲線Fig.4 RMSE curve during AFNN parameter training
圖4 給出了AFNN 離線訓練時的RMSE 曲線。可見,由于FNN 的初始參數(shù)隨機產(chǎn)生,其初始RMSE值較大,并且采用誤差反傳參數(shù)學習算法,存在收斂速度慢和易陷入局部最優(yōu)的缺陷。對于AFNN 來說,本文設計的RAS 方法可以尋找到一組較為優(yōu)秀的初始參數(shù),起到了降低初始RMSE的作用,并且所提的IALM 算法能夠加快收斂速度,提高模型逼近精度(AFNN 僅需120 次左右的迭代就能收斂,而FNN 經(jīng)過500 次迭代還不能獲取較優(yōu)的網(wǎng)絡參數(shù))。尤其是,AFNN 的最終收斂精度要比FNN 高出一個數(shù)量級。
圖5 測試樣本的預測結(jié)果Fig.5 Prediction results of testing samples
圖6 AFNN-MPC的控制效果Fig.6 Control performance of AFNN-MPC
圖7 控制信號u的變化情況Fig.7 Change of the control signal u
圖5 給出了測試樣本的預測結(jié)果和預測誤差,可以看出預測精度完全能夠滿足MPC的需求。圖6為AFNN-MPC 的跟蹤控制效果,可以看出,AFNNMPC能夠較好地跟蹤正弦參考信號。圖7為操作量u(k)的變化情況。
為了進一步驗證本文所提AFNN-MPC 的性能,利用兩級串聯(lián)連續(xù)攪拌反應釜(continuous stirred tank reactor, CSTR)進行仿真測試[32-34]。圖8 給出了兩級CSTR 過程的示意圖。為了將更多精力用于控制器架構(gòu)設計上,本文設置兩個反應釜的容積為常數(shù)。CSTR 控制問題的核心就是通過調(diào)節(jié)兩個反應釜的冷卻水流量[Qcw1,Qcw2]來維持兩個反應釜的溫度[To1,To2]在期望值上。
圖8 兩級CSTR過程的示意圖Fig.8 Schematic of two-CSTR process
圖9 GMN激勵信號和CSTR響應信號Fig.9 GMN excitation signal and CSTR response signal
為了能夠捕捉更多的CSTR 動態(tài)信息,利用廣義多級噪聲(generalized multilevel noise, GMN)作為激勵信號以獲取To1和To2的響應信號。根據(jù)Qcw1和Qcw2的取值范圍,設置兩路GMN 信號的變化范圍為[-1.5,1.5],代入兩級CSTR 過程獲取1500 組用于模型辨識的輸入輸出數(shù)據(jù),如圖9所示。
選取輸入輸出階數(shù)nu=ny=2,時延kd=0,則AFNN預測模型的輸入向量為:
此外,實際輸出t(k)=[To1(k),To2(k)]T。對于1500組樣本,選擇其中1400 組作為訓練集,剩余的100組作為測試集。實驗時,AFNN-MPC 的參數(shù)設置如下:gth=0.2,βm=0.4,βc=0.6,Np=4,Nu=1,q11=1,q12=0.4。
圖10給出了AFNN 離線訓練時的RMSE曲線和建模結(jié)果。從圖10(a)可以看出,與基于EBP 的FNN相比,本文所提AFNN 算法不僅收斂速度快,而且收斂精度高。從圖10(b)、(c)可以看出,AFNN的預測值基本與實際值吻合,取得了令人滿意的建模效果。值得注意是,通過模糊規(guī)則自分裂技術(shù),最終AFNN的模糊規(guī)則為14 條。而FLC 和固定FNN 分別需要49條和20條才能起到控制作用。因此,建模結(jié)果表明AFNN 能夠以較為精簡的網(wǎng)絡結(jié)構(gòu)取得較為優(yōu)越的建模性能,為MPC 提供了一個能夠反映CSTR 動態(tài)特性的精確預測模型。
圖11 給出了AFNN-MPC 的跟蹤控制效果,可以看出,當To1和To2設定值呈現(xiàn)階躍變化時,AFNNMPC也能夠較好地跟蹤設定值。圖12為操作量Qcw1和Qcw2的變化情況。
為了表明本文所提方法的優(yōu)越性,表4 和表5分別給出了AFNN-MPC 與PI、模糊邏輯控制(FLC)、廣義預測控制(GPC)、FNN-MPC和WFNN-MPC等算法用于控制To1和To2的對比結(jié)果。控制指標采用絕對誤差積分(integral of absolute error,IAE),平方誤差積分(integral of square error, ISE)和最大絕對誤差(maximal deviation from setpoint,DEVmax),具體表達式見文獻[30]。
從表4 和表5 可以看出,對于To1來說,AFNNMPC 控 制 器 的IAE、ISE 和DEVmax分 別 為126.00、95.31 和2.59。對于To2來說,AFNN-MPC 控制器的IAE、ISE 和DEVmax分別為149.66、144.70 和2.70。與PID 和FLC 等傳統(tǒng)控制方法相比,AFNN-MPC 的性能指標有較大幅度提升,與GPC、FNN-MPC 和WFNN-MPC 等預測控制器相比,AFNN 的DEVmax也有一定程度的改善,表明本文所提算法能夠?qū)崿F(xiàn)多級串聯(lián)CSTR過程的精確控制。
圖10 AFNN的RMSE和建模結(jié)果Fig.10 RMSE and modeling results of AFNN
圖11 AFNN-MPC的控制結(jié)果Fig.11 Control results of AFNN-MPC
圖12 控制信號Qcw1和Qcw2的變化情況Fig.12 Changes of control signal Qcw1 and Qcw2
表4 不同算法在To1上的控制結(jié)果Table 4 Control results of different algorithms for To1
表5 不同算法在To2上的控制結(jié)果Table 5 Control results of different algorithms for To2
本文提出了一種基于自適應模糊神經(jīng)網(wǎng)絡的模型預測控制(AFNN-MPC)方法,并利用其實現(xiàn)非線性動態(tài)系統(tǒng)和兩級CSTR 過程的智能控制。AFNN 采用規(guī)則自分裂(RAS)技術(shù)自動生成較優(yōu)的初始模糊規(guī)則有助于獲取全局最優(yōu)解,采用IALM算法優(yōu)化網(wǎng)絡參數(shù)有助于提高收斂速度和泛化性能。在實時控制過程,AFNN 能夠根據(jù)誤差調(diào)整已離線訓練好的模型的參數(shù),從而為MPC 提供一個精確的預測模型。AFNN-MPC 采用帶有自適應學習率的梯度下降算法求解非線性優(yōu)化問題以在線獲取控制律。數(shù)值仿真和雙CSTR 過程的實驗結(jié)果表明,AFNN-MPC 控制器具有較高的跟蹤精度和較強的自適應能力,能夠滿足復雜非線性系統(tǒng)的智能控制需求。