王洪瑞 ,鄒 濤,張 鑫,王美聰,陸云松
(1.中國科學(xué)院沈陽自動化研究所,遼寧沈陽 110016;2.中國科學(xué)院機器人與智能制造創(chuàng)新研究院,遼寧沈陽 110016;3.中國科學(xué)院大學(xué),北京 100049;4.廣州大學(xué)機械與電氣工程學(xué)院,廣東廣州 510006;5.沈陽化工大學(xué)環(huán)境與安全工程學(xué)院,遼寧沈陽 110142)
分層遞階結(jié)構(gòu)廣泛應(yīng)用于大型流程工業(yè)過程[1],其中先進過程控制(advanced process control,APC)層的主要功能是基于模型預(yù)測控制(model predictive control,MPC)算法實現(xiàn)復(fù)雜工業(yè)過程的動態(tài)實時優(yōu)化,因此也可以將APC層稱為監(jiān)督控制層(supervisor control)[2].圖1中潛在效益最高的是實時優(yōu)化層,但是實時優(yōu)化層的成功投運需要APC層的支撐.模型預(yù)測控制算法因其能夠表征PID控制欠缺的過程動態(tài)信息,較好地處理有約束多變量控制問題而被廣泛應(yīng)用在APC層[3–7].與常規(guī)MPC相比雙層結(jié)構(gòu)預(yù)測控制增加了穩(wěn)態(tài)優(yōu)化層,穩(wěn)態(tài)優(yōu)化層的出現(xiàn)使APC具有實時動態(tài)決策功能[8–10].鄒濤提出基于優(yōu)先級的可行性判定和軟約束調(diào)整策略綜合經(jīng)濟自優(yōu)化和目標(biāo)跟蹤的穩(wěn)態(tài)目標(biāo)計算層[11],又給出積分過程優(yōu)化控制的雙層結(jié)構(gòu)預(yù)測控制[12],另外在雙層結(jié)構(gòu)預(yù)測控制下對工業(yè)大系統(tǒng)進行集中優(yōu)化與分散控制[13].
實際應(yīng)用中系統(tǒng)具有多變量、高維度、目標(biāo)多樣性等特點[14],而雙層結(jié)構(gòu)預(yù)測控制的計算復(fù)雜度主要由變量個數(shù)和控制時域決定[15],因此導(dǎo)致其求解復(fù)雜、計算量大的難題.受大系統(tǒng)理論啟發(fā)[16],本文基于圖論提出一種多變量系統(tǒng)分解方式,旨在將多變量系統(tǒng)更快速便捷的分解成若干規(guī)模較小的子系統(tǒng),降低求解變量維度,減少計算量.本文首先概述雙層結(jié)構(gòu)預(yù)測控制及圖論,然后采用圖論中的鄰接矩陣、可達矩陣和關(guān)聯(lián)矩陣對多變量系統(tǒng)進行分解并闡釋分解方法,最后通過仿真驗證.
雙層結(jié)構(gòu)預(yù)測控制的上層為穩(wěn)態(tài)目標(biāo)計算層[11,17],可分為經(jīng)濟自優(yōu)化和目標(biāo)跟蹤兩種模式.當(dāng)過程最優(yōu)目標(biāo)受擾動等影響不具有實時性時,穩(wěn)態(tài)目標(biāo)計算層能夠?qū)崟r決策、動態(tài)修改目標(biāo)設(shè)定點,更準(zhǔn)確的跟蹤實時優(yōu)化(real time optimization,RTO)層傳遞的最優(yōu)操作目標(biāo).針對穩(wěn)態(tài)目標(biāo)求解不可行的問題,基于優(yōu)先級方法的可行性判定和軟約束調(diào)整策略能夠同時判定優(yōu)化問題是否可行并求出松弛變量值,根據(jù)約束條件重要性定義優(yōu)先級,并按照優(yōu)先級的邏輯順序依次放松約束邊界,使穩(wěn)態(tài)目標(biāo)計算層的實際應(yīng)用更有價值.
穩(wěn)態(tài)目標(biāo)計算層經(jīng)濟自優(yōu)化模式可用LP問題描述,自優(yōu)化問題又分為最小移動問題和積分變量問題,詳情參考文[11].?uss和?yss為輸入和輸出穩(wěn)態(tài)增量,uss和yss為穩(wěn)態(tài)輸入和輸出,Gu和Gf為輸入和擾動的穩(wěn)態(tài)增益矩陣,?fss為擾動增量,h為代價系數(shù),umax和umin為輸入上界和下界,ymax和ymin為輸出上界和下界.
目標(biāo)跟蹤模式描述為QP問題,R和Q分別為控制和誤差權(quán)矩陣,umax和umin為期望輸入上界和下界,ymax和ymin為期望輸出上界和下界.
由穩(wěn)態(tài)目標(biāo)計算層求出操作變量和被控變量的穩(wěn)態(tài)值,作為動態(tài)優(yōu)化層的設(shè)定目標(biāo)值,進而在線優(yōu)化求解得到最優(yōu)控制律.通常把一個多變量有約束的在線優(yōu)化問題用QP問題描述,A為動態(tài)矩陣,?uM為最優(yōu)控制增量,w(k)為期望輸出,為初始預(yù)測值,I為單位矩陣,?umax和?umin為控制輸入增量上界和下界,M為增量變化個數(shù),m為控制輸入個數(shù),B0是M ×M的下三角矩陣.
雙層結(jié)構(gòu)MPC中穩(wěn)態(tài)目標(biāo)計算層和動態(tài)優(yōu)化層都存在計算量過大的問題,特別是多變量有約束系統(tǒng),因此為降低計算復(fù)雜度,對多變量系統(tǒng)采用分散控制方式減少計算量.在文[15]中對無約束DMC算法計算復(fù)雜度分析,提出其計算復(fù)雜度主要取決于控制時域M和變量個數(shù)m,求解復(fù)雜度為O(mM)3.若將系統(tǒng)分解成n 個子系統(tǒng)采用分散控制方式,可知m,根據(jù)多項式的立方展開公式分析一定有,故分散控制的計算復(fù)雜度必定小于集中控制的復(fù)雜度.對于雙層結(jié)構(gòu)MPC中有約束的優(yōu)化問題通常描述成LP或QP問題,LP 的求解方法有單純形法、原始對偶法等,QP的求解方法有內(nèi)點法、有效集法等,因此其計算復(fù)雜度視其使用的求解方法而定,但是通過分解多變量系統(tǒng)減小計算量的方法同樣適用于有約束的優(yōu)化問題.
圖論是一門研究事物之間聯(lián)系的學(xué)科[18–19],它能夠描述事物之間關(guān)系,在連續(xù)和離散系統(tǒng)、集總和分散系統(tǒng)等的數(shù)學(xué)建模和分析中都有較重要的作用.
設(shè)有向圖G=
設(shè)有向圖G=
為優(yōu)化可達矩陣的計算減少計算量,可用(A+I)n?1代替式(4)[21]:
在圖中將一條邊與其連接的兩個頂點稱做相關(guān)聯(lián)[21–22].設(shè)簡單無向圖G=
由定義可知,鄰接矩陣描述頂點間的關(guān)系,關(guān)聯(lián)矩陣描述頂點與邊的關(guān)聯(lián)性,因此對于同一張圖二者可相互轉(zhuǎn)換.由關(guān)聯(lián)矩陣以邊為媒介得到頂點之間關(guān)系,若頂點i與j都與同一條邊有關(guān)聯(lián),則對應(yīng)的鄰接矩陣中aij=1.
由圖2可得到關(guān)聯(lián)矩陣與鄰接矩陣之間的轉(zhuǎn)換如下所示:
矩陣維度較大時,將導(dǎo)致M與A之間的轉(zhuǎn)換復(fù)雜繁瑣.由第2.1節(jié)可知通過計算鄰接矩陣的n次方運算,即可得到通過n步連通的頂點.將這一思想引用到關(guān)聯(lián)矩陣中同樣適用,通過計算M2可以得到從該頂點出發(fā)2步之后到達的頂點,得出頂點之間的關(guān)系,通過上述例子驗證.計算M2得到如下方陣:
按照關(guān)聯(lián)矩陣作圖,不同于常規(guī)作圖把邊當(dāng)做頂點之間的連線的方式,而將邊也當(dāng)做一個頂點,頂點與邊之間有關(guān)系的用線連接,例如e1點與v1和v3兩點分別用兩條線相連,如圖3所示.
由圖3分析可知,圖中邊具有無向性,從v1出發(fā)走兩步可到達頂點v3,v1到達e1之后可返回v1,故v1兩步可達頂點有v1,v3;同理,從v2出發(fā)分別經(jīng)過e3,e2到達v3,v4,還可通過這2條路徑返回v2.由M2可知v1和v3之間有1條通路,v2和v2之間有2條通路,與圖3描述一致,得出結(jié)論計算M2可以得到頂點之間的關(guān)系.
圖2 簡單無向圖Fig.2 Simple undirected graph
圖3 邊與點之間聯(lián)系Fig.3 Relation between edges and points
圖中從vi出發(fā)到達ei消耗一步之后,剩下的一步到達自身或其他vi,故提出M2相當(dāng)于鄰接矩陣的自身可達和一步可達之和A+I的假設(shè).因最終要得到頂點之間的關(guān)系而無需知道幾條路徑,故可將M2中非0元素全部置為1,M2和A+I分別表示如下:
在雙層結(jié)構(gòu)MPC中,通過分解多變量進而實施分散控制可減少計算量,當(dāng)變量數(shù)目較多時如何快速便捷的分解顯得尤為重要.在大系統(tǒng)理論中基于鄰接矩陣系統(tǒng)結(jié)構(gòu)模型分解得到系統(tǒng)的多級結(jié)構(gòu)模型[23–24],同時提出利用關(guān)聯(lián)矩陣描述動態(tài)系統(tǒng)的結(jié)構(gòu),建立狀態(tài)、輸入和輸出的分塊矩陣.受此啟發(fā),本文直接利用關(guān)聯(lián)矩陣表示MV 和CV 之間關(guān)系,通過計算M2快速變換為鄰接矩陣,進而計算可達矩陣再對多變量進行分解,并應(yīng)用在雙層結(jié)構(gòu)預(yù)測控制中.
在描述過程模型時,通常用傳遞函數(shù)模型體現(xiàn)MV 與CV 關(guān)系.將傳遞函數(shù)矩陣G變成一個0–1矩陣,0代表該操作變量MV 與被控變量CV 無關(guān),1為有關(guān)系,此時G可看做一個描述MV 和CV 的關(guān)聯(lián)矩陣M(G),MV 視為邊,CV 視為頂點,反之也可以.但是這個矩陣并不是標(biāo)準(zhǔn)意義的關(guān)聯(lián)矩陣,因為在標(biāo)準(zhǔn)的關(guān)聯(lián)矩陣中一條邊只連接兩個頂點,而一個MV 可控制一個或多個CV,故M(G)中的一條邊可能對應(yīng)一個或多個頂點情況.利用第3.4節(jié)中方法將M(G)快速轉(zhuǎn)換為鄰接矩陣A+I(G),得到MV 之間的關(guān)系(CV 做邊,MV 做頂點),或是CV 之間的關(guān)系(CV 做頂點,MV 做邊).根據(jù)式(5)計算得到可達矩陣P(G),尋找矩陣中每一列所有不為零行對應(yīng)的頂點子集,具有相同的不相交頂點子集劃分成一個子系統(tǒng),一個多變量復(fù)雜系統(tǒng)就分解成若干個獨立的變量較少的子系統(tǒng).多變量系統(tǒng)分解過程步驟如下:
1) 將描述MV 與CV 關(guān)系的傳遞函數(shù)模型轉(zhuǎn)化為關(guān)聯(lián)矩陣M(G),傳遞函數(shù)中不為0元素用1代替,假設(shè)M(G)中行代表MV,列代表CV;
2) M(G)和A+I(G)的快速轉(zhuǎn)換,計算M(G)MT(G),MT(G)M(G)轉(zhuǎn)換成MV,CV 的鄰接矩陣(A+I)M(G),(A+I)C(G);
3) 將(A+I)M(G)和(A+I)C(G)根據(jù)式(5)計算求出可達矩陣PM(G),PC(G);
4) 尋找PC(G)中每一列不為0所在行的CV,相同的不相交CV 即為同一個子集;按照相同方式處理PM(G),將MV 劃分若干子集;
5) 按照劃分的MV,CV 整理關(guān)聯(lián)矩陣M(G),即可得到不同的MV 子集與其對應(yīng)的CV 子集,該多變量大系統(tǒng)分解成多個變量較少的子系統(tǒng).
雙層結(jié)構(gòu)預(yù)測控制上層基于優(yōu)先級策略對穩(wěn)態(tài)目標(biāo)計算過程進行可行性判定與軟約束調(diào)整,其計算量較大,若將該優(yōu)化問題利用圖論方法分解為若干個優(yōu)化問題,則可減少計算量.本文僅對下層優(yōu)化問題采用基于圖論的分解方法,分解后的系統(tǒng)采用分散控制,上層仍采用集中控制.
以有約束的多變量的雙層預(yù)測控制中的動態(tài)控制層為例說明,假設(shè)將該多變量系統(tǒng)通過第4.1節(jié)的方法分解為n個子系統(tǒng),每個子系統(tǒng)里含有的MV 和CV不一定,用qi和zi分別代表子系統(tǒng)中MV 和CV 的個數(shù),則在線優(yōu)化問題可以如下描述:
為更好的闡述第4.1節(jié)中的分解方法,用某項目的空分裝置先進控制系統(tǒng)舉例說明.由圖4可知,行為MV 共10個,列為CV 共15個.MV 與CV 有關(guān)系的方格內(nèi)有圖像,無關(guān)系為空白格,由此得到關(guān)聯(lián)矩陣M.
由M分別求出鄰接矩陣A+IC(G),A+IM(G),進而分別計算得到可達矩陣PC(G),PM(G),見附錄1.由可達矩陣可知,CV 劃分了4個子集:
根據(jù)子集順序整理關(guān)聯(lián)矩陣,為了更清晰的觀察與之間的關(guān)系,將它調(diào)整為對角線形式M′.
綜上得出如下子系統(tǒng)劃分:{CV1,CV2,CV6,CV15}對應(yīng){MV3};{CV10}對應(yīng){MV4};{CV8}對 應(yīng){MV8,MV9,MV10};{CV3,CV4,CV5,CV7,CV9,CV11,CV12,CV13,CV14}對 應(yīng){MV1,MV2,MV5,MV6,MV7}.將上述的多變量系統(tǒng),快速便捷的分解為4個小的子系統(tǒng).
圖4 某空分項目變量關(guān)系Fig.4 Variable relationship of an air separation project
針對多變量有約束的雙層結(jié)構(gòu)預(yù)測控制,本文基于圖論對多變量系統(tǒng)進行分解,穩(wěn)態(tài)計算層采用集中控制給出整體的穩(wěn)態(tài)值,動態(tài)優(yōu)化層采用分散控制.仿真實驗6入6出系統(tǒng)為例,系統(tǒng)采用整體集中控制和穩(wěn)態(tài)計算層集中控制動態(tài)優(yōu)化層分散控制的兩種策略.假設(shè)實驗使用的模型是重油分餾塔的過程模型的變形,模擬一個模型較大的化工過程,傳遞函數(shù)模型見式(12).
將傳遞函數(shù)矩陣模型用關(guān)聯(lián)矩陣表示,得到以行為點列為邊M(G),點代表操縱變量u,邊代表被控變量y.由第3.4節(jié)可知通過計算M(G)MT(G),MT(G)M(G)能快速得到點之間、邊之間的鄰接矩陣,進而通過式(5)分別求出點、邊的可達矩陣,由此可表示出有關(guān)聯(lián)的操縱變量,整理得到如式(13)的0–1對角線矩陣,最終將其替換回原傳遞函數(shù)對應(yīng)的數(shù)據(jù).因此可將操縱變量劃分為3個子集:{u1,u4,u3},{u2,u6}和{u5}.
實驗參數(shù)如下:輸出約束上下限為yh=[0.6 0.6 0.6 0.6 0.6 0.6], yl=[?0.6 ?0.6 ?0.6 ?0.6?0.6 ?0.6];輸入約束上下限uh=[0.5 0.5 0.5 0.5 0.5 0.5], ul=[?0.5 ?0.5 ?0.5 ?0.5 ?0.5?0.5];模型長度N=600;采樣間隔是2;仿真時間K=200;選取6組預(yù)測時域P和控制時域M進行實驗,詳細參數(shù)見表1.
實驗結(jié)果如圖5所示,綠色虛線為無分解的,藍色實線為有分解的,紅色點劃線為穩(wěn)態(tài)值,其中橫坐標(biāo)軸為仿真時間,縱坐標(biāo)軸為被控變量.
從圖5中分析可知,對于6i6o系統(tǒng)無分解情況下,由于有時無法求出最優(yōu)解個別輸出無法跟蹤穩(wěn)態(tài)值,有分解的情況均能跟蹤穩(wěn)態(tài)值.對比二者運行時間如表1所示.
表1 無分解和有分解運行時間對比Table 1 Comparison of operation time without decomposition and with decomposition
圖5 6i6o有分解和無分解系統(tǒng)輸出對比Fig.5 Output comparison of 6i6o system with and without decomposition
由于上層仍然采用集中穩(wěn)態(tài)優(yōu)化,下層采用分散動態(tài)控制,運行時間為程序的整體結(jié)束時間.從上述結(jié)果分析,對于6i6o系統(tǒng),在預(yù)測時域和控制時域較小時,有分解的和無分解時間相差很小;當(dāng)M=25,P=50時,無分解的運行時間比分解的運行時間長,分解系統(tǒng)的優(yōu)勢隨著規(guī)模增長愈加明顯,到第2組仿真時無分解的時間大約是有分解的2倍.由于仿真實驗受電腦內(nèi)存影響,只能做到盡量保證運行內(nèi)存空間一致,因此為了較好的體現(xiàn)分解與無分解效果,實驗假設(shè)模型長度、預(yù)測時域和控制時域都較大,6i6o系統(tǒng)仿真證明了本文所提策略能減小計算量、減少運行時間,若是將其應(yīng)用在更大型的系統(tǒng)中效果將更加明顯.本文利用圖論分解傳遞函數(shù)的控制變量,本質(zhì)上將沒有耦合的變量分離開,從理論上其控制性能并未降低,但是在優(yōu)化求解過程中由于條件限制等原因,造成集中控制和分散控制求解有誤差,從而導(dǎo)致最終結(jié)果不同.
在雙層結(jié)構(gòu)預(yù)測控制中,由于變量數(shù)目多導(dǎo)致優(yōu)化問題計算復(fù)雜,故將一個多變量系統(tǒng)分解成若干子系統(tǒng).本文針對多變量大系統(tǒng)分解問題,提出利用關(guān)聯(lián)矩陣描述傳遞函數(shù)模型中MV 和CV 之間關(guān)系,快速轉(zhuǎn)換為鄰接矩陣AC(G),AM(G),通過計算可達矩陣PC(G),PM(G)梳理變量之間的關(guān)系,從而能有效快捷的分解多變量大系統(tǒng),并將此應(yīng)用到雙層結(jié)構(gòu)預(yù)測控制中,上層采用集中控制下層采用分散控制,并對比常規(guī)上下層均集中控制的方法,驗證基于本文提出的分解策略能夠減小計算量,減少運行時間,為多變量系統(tǒng)的預(yù)測控制分解方式提供一種思路.
附錄