孫京誥,陳顯鋒,李郅辰
(華東理工大學(xué) 信息科學(xué)與工程學(xué)院,上海 200237)
多階段非線性模型預(yù)測(cè)控制[1](multi-stage nonlinear model predictive control,MSNMPC)是最近提出的一種有前景的方法,在假設(shè)不確定性可以由場(chǎng)景樹(shù)完美建模的情況下,MSNMPC為魯棒NMPC問(wèn)題提供了最佳可能的解決方案,隨后Lucia等[2]給出了該方法的穩(wěn)定性和遞歸可行性證明。MSNMPC方法雖然解決了模型的不確定性問(wèn)題,但同時(shí)增加了大規(guī)模優(yōu)化問(wèn)題的實(shí)時(shí)求解難[3]。
為了避免在過(guò)程運(yùn)行中實(shí)時(shí)求解優(yōu)化問(wèn)題,Karg等[4]在線性MPC的情況下,利用整流器線性單元作為激活函數(shù)的神經(jīng)網(wǎng)絡(luò)精確地表示描述MPC反饋定律的分段仿射函數(shù),獲得了不錯(cuò)的近似效果。文獻(xiàn)[5,6]提出使用神經(jīng)網(wǎng)絡(luò)逼近顯示MPC控制律。其中文獻(xiàn)[5]結(jié)果表明,給定大小的神經(jīng)網(wǎng)絡(luò)可以精確地表示由線性定常系統(tǒng)MPC問(wèn)題定義的分段仿射函數(shù)。在非線性系統(tǒng)的情況下,NMPC策略不是分段仿射,因此需要更強(qiáng)的學(xué)習(xí)能力。深度學(xué)習(xí)已經(jīng)被證明在計(jì)算機(jī)科學(xué)領(lǐng)域取得了良好的結(jié)果[7]。最新的理論進(jìn)展[8]表明深層神經(jīng)網(wǎng)絡(luò)比淺層網(wǎng)絡(luò)具有更強(qiáng)的學(xué)習(xí)近似能力,從而對(duì)復(fù)雜函數(shù)具有更好的逼近能力。為了解決MSNMPC方法應(yīng)用的復(fù)雜性及實(shí)時(shí)性問(wèn)題,本文提出了一種基于深度學(xué)習(xí)的方法學(xué)習(xí)魯棒的NMPC策略,并將其應(yīng)用于半間歇聚合反應(yīng)器模型案例中。
在MSNMPC方法中,不確定性由離散場(chǎng)景樹(shù)建模,該樹(shù)在每個(gè)預(yù)測(cè)步驟中為不確定性的每個(gè)可能值進(jìn)行分支,結(jié)構(gòu)如圖1所示。場(chǎng)景樹(shù)的結(jié)構(gòu)明確考慮了未來(lái)反饋信息的可用性,即未來(lái)的控制動(dòng)作可以根據(jù)反饋的測(cè)量信息來(lái)調(diào)整。將不確定性決策問(wèn)題公式化為場(chǎng)景樹(shù)是多階段隨機(jī)規(guī)劃領(lǐng)域中常用的方法[9]。若不確定性是離散值,MSNMPC方法為給定的預(yù)測(cè)范圍提供了最佳可能的解決方案,而對(duì)于不確定性是連續(xù)值的情況,它提供了一個(gè)近似方案。
在MSNMPC框架下,假設(shè)不確定的非線性動(dòng)態(tài)系統(tǒng)的離散時(shí)間公式描述如下
(1)
構(gòu)建場(chǎng)景樹(shù)的合理策略是將不確定性極值的所有可能組合視為分支。這樣雖然不能保證非線性情況下的約束滿(mǎn)足,但對(duì)復(fù)雜的非線性系統(tǒng)通常具有良好的性能[10]。非線性情況的嚴(yán)格保證可通過(guò)將其與可達(dá)性分析工具相結(jié)合來(lái)實(shí)現(xiàn)[11]。隨著預(yù)測(cè)時(shí)域和不確定性數(shù)量的增加,求解優(yōu)化問(wèn)題的規(guī)模會(huì)呈指數(shù)增加。如圖1所示,通常假設(shè)不確定性在特定的魯棒時(shí)域后保持不變,以縮小優(yōu)化問(wèn)題的規(guī)模[10]。
每個(gè)時(shí)間步k基于場(chǎng)景樹(shù)MSNMPC公式的優(yōu)化問(wèn)題可以表示為
(2)
(3)
(4)
(5)
其中,Xi,Ui是屬于出現(xiàn)概率為ωi的場(chǎng)景Si的狀態(tài)和控制輸入的集合。S表示場(chǎng)景的數(shù)目,對(duì)輸入和狀態(tài)的約束用g(·) 表示。每個(gè)場(chǎng)景的損失函數(shù)用Ji(·) 表示為
(6)
采用深度學(xué)習(xí)方法主要有兩個(gè)原因。首先是為了避免在線求解由魯棒的NMPC方法的優(yōu)化公式產(chǎn)生的非線性規(guī)劃問(wèn)題,因?yàn)樵撨^(guò)程是復(fù)雜且耗時(shí)的。其次是用于學(xué)習(xí)魯棒NMPC控制策略的大量數(shù)據(jù)可以使用精確的求解器離線求解以獲取全局最優(yōu)解,而不需要優(yōu)化問(wèn)題的實(shí)時(shí)解。一旦網(wǎng)絡(luò)訓(xùn)練完成,我們就獲得控制器的解析表示,該網(wǎng)絡(luò)可部署于具有較小的內(nèi)存占用空間和能夠簡(jiǎn)單實(shí)現(xiàn)的微控制器中應(yīng)用于工業(yè)過(guò)程控制系統(tǒng)中。
一個(gè)標(biāo)準(zhǔn)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,它的函數(shù)表示形式為nx→nu
(7)
式中:網(wǎng)絡(luò)的輸入為x∈nx, 網(wǎng)絡(luò)輸出為u∈nu。 函數(shù)f和g的組合表示為g°f(·)=g(f(·))。M為每個(gè)隱藏層神經(jīng)元的數(shù)量,表示網(wǎng)絡(luò)的寬度,L為隱藏層數(shù)目,表示網(wǎng)絡(luò)深度。當(dāng)L≥2時(shí),為深度神經(jīng)網(wǎng)絡(luò),當(dāng)L=1時(shí)為淺層神經(jīng)網(wǎng)絡(luò),每個(gè)隱藏層由一個(gè)仿射函數(shù)組成
fl(ξl-1)=Wlξl-1+bl
(8)
式中:ξl-1∈M是上一層神經(jīng)元的輸出。矩陣Wl和向量bl被稱(chēng)為l層的權(quán)重和偏置,它們的值是通過(guò)用已知的輸入輸出數(shù)據(jù)對(duì)訓(xùn)練神經(jīng)網(wǎng)絡(luò)來(lái)確定的。非線性激活函數(shù)gl采用整流線性單元ReLU,計(jì)算當(dāng)前層l的零點(diǎn)到仿射函數(shù)之間的元素上的最大值
gl(fl)=max(0,fl)
(9)
參數(shù)θ={θ1,…,θL+1} 為各層仿射函數(shù)的所有權(quán)值和偏置
θl={Wl,bl} ?l=1,…,L+1
(10)
其中,權(quán)值表示為
(11)
偏置表示為
(12)
圖2 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
隱藏層中的神經(jīng)元總數(shù)可以表示為ntot=L·M, 這是對(duì)控制器復(fù)雜度的衡量。如果考慮所有的隱藏層都完全相連并且有相同數(shù)量的神經(jīng)元的密集規(guī)則網(wǎng)絡(luò),為了完整描述一個(gè)神經(jīng)網(wǎng)絡(luò)需要存儲(chǔ)權(quán)值的數(shù)量為nw, 可以通過(guò)輸入的數(shù)量nx, 輸出的數(shù)量nu, 隱藏層的數(shù)量L以及每個(gè)隱藏層包含的神經(jīng)元數(shù)量M等參數(shù)計(jì)算獲取。神經(jīng)網(wǎng)絡(luò)的總權(quán)值數(shù)量可以由下式給出
(13)
需要訓(xùn)練的權(quán)值的數(shù)量nw決定了近似的控制器模型內(nèi)存占用,這是控制器部署中的一個(gè)關(guān)鍵考慮方面。魯棒的NMPC算法實(shí)現(xiàn)需要使用大規(guī)模的NLP求解器,由于內(nèi)存占用很大,通常不適用于微控制器或嵌入式應(yīng)用部署中。
訓(xùn)練一個(gè)預(yù)定義的深度為L(zhǎng)和寬度為M的深度網(wǎng)絡(luò),包括獲取最優(yōu)參數(shù)θl={Wl,bl}, 最小化給定的損失函數(shù)。本文選擇最優(yōu)輸入u*(x) 和網(wǎng)絡(luò)輸出y(x) 之間的均方誤差(mean square error,MSE)作為損失函數(shù),該最優(yōu)輸入u*(x0) 作為初始狀態(tài)x0的參數(shù),由MSNMPC優(yōu)化公式求解得到。所解決的訓(xùn)練優(yōu)化問(wèn)題為
(14)
式中:N為訓(xùn)練中考慮的數(shù)據(jù)對(duì)總數(shù)。
本文以BASF SE公司提供的實(shí)際工業(yè)半間歇聚合反應(yīng)器模型為研究對(duì)象。如圖3所示,該系統(tǒng)主要由反應(yīng)器,夾套和外部熱交換器(external heat exchanger,EHE)組成,夾套和EHE可用于控制反應(yīng)器中的溫度。
圖3 半間歇聚合反應(yīng)工藝
根據(jù)物料和能量守恒,機(jī)理模型主要由8個(gè)常微分方程組成
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
該系統(tǒng)包含10個(gè)狀態(tài)變量x和3個(gè)控制變量u, 分別表示為
(23)
(24)
在針對(duì)上節(jié)中的半間歇聚合反應(yīng)模型進(jìn)行仿真時(shí),通??紤]的經(jīng)濟(jì)型成本函數(shù)表示為
(25)
式中:r1、r2、r3為調(diào)節(jié)參數(shù),分別為0.002、0.04、0.002。對(duì)于標(biāo)準(zhǔn)NMPC方法通常只有一個(gè)場(chǎng)景,而對(duì)于MSNMPC方法則有S個(gè)場(chǎng)景,設(shè)置每個(gè)場(chǎng)景的權(quán)重ωi為1/S。
標(biāo)準(zhǔn)NMPC及MSNMPC方法用于生成網(wǎng)絡(luò)訓(xùn)練所需的數(shù)據(jù)對(duì),其中深度神經(jīng)網(wǎng)絡(luò)的輸入是系統(tǒng)的當(dāng)前狀態(tài)x, 輸出是計(jì)算的魯棒最優(yōu)控制輸入u。 MSNMPC方法中考慮的不確定性參數(shù)為反應(yīng)熱焓ΔHR和反應(yīng)速率k0, 不確定性變化范圍為±30%。兩種方法考慮的預(yù)測(cè)時(shí)域?yàn)镹p=15, 采樣時(shí)間tstep=50 s。 MSNMPC方法中考慮的魯棒時(shí)域?yàn)镹r=1, 可知場(chǎng)景樹(shù)中場(chǎng)景數(shù)目S=9。 為了生成用于網(wǎng)絡(luò)訓(xùn)練的豐富數(shù)據(jù)對(duì),每種方法均考慮多個(gè)不同的批次,它們分別從不同的初始條件開(kāi)始。溫度狀態(tài)的初始條件變化范圍為±1 ℃,質(zhì)量狀態(tài)的初始條件變化范圍為±10%,所有初始條件遵循均勻分布。使用文獻(xiàn)[13]中基于python的do-mpc模塊化程序求解標(biāo)準(zhǔn)NMPC問(wèn)題及MSNMPC問(wèn)題,該方法使用工具包CasADi[14]中的IPOPT求解器來(lái)解決由此產(chǎn)生的非線性規(guī)劃問(wèn)題。
標(biāo)準(zhǔn)NMPC有50個(gè)不同批次數(shù)據(jù)總共包含5791個(gè)數(shù)據(jù)對(duì);MSNMPC方法有200個(gè)批次數(shù)據(jù)總共包含27 026個(gè)數(shù)據(jù)對(duì)。它們分別將80%的數(shù)據(jù)用于網(wǎng)絡(luò)的訓(xùn)練,20%的數(shù)據(jù)用于測(cè)試網(wǎng)絡(luò)的準(zhǔn)確性。深度神經(jīng)網(wǎng)絡(luò)是通過(guò)Tensorflow[15]的Keras[16]工具包搭建的,使用的優(yōu)化器為ADAM[17],它是隨機(jī)梯度下降的改進(jìn)方法。對(duì)不同網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練,直到觀察到均方誤差沒(méi)有進(jìn)一步改善(1000個(gè)時(shí)期)。網(wǎng)絡(luò)結(jié)構(gòu)的選擇對(duì)近似質(zhì)量具有一定的影響,其中網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)包含網(wǎng)絡(luò)的深度L以及每個(gè)隱藏層包含的神經(jīng)元個(gè)數(shù)M。 考慮的淺層網(wǎng)絡(luò)結(jié)構(gòu)為L(zhǎng)=1,M=100, 深層網(wǎng)絡(luò)結(jié)構(gòu)為L(zhǎng)=10,M=10。
圖4 標(biāo)準(zhǔn)NMPC的50個(gè)不同批次仿真
圖5 深淺網(wǎng)絡(luò)NMPC和標(biāo)準(zhǔn)NMPC仿真比較
針對(duì)不同網(wǎng)絡(luò)結(jié)構(gòu)對(duì)MSNMPC方法的100個(gè)不同批次的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,其網(wǎng)絡(luò)訓(xùn)練的MSE結(jié)果見(jiàn)表1,可以看出,淺層網(wǎng)絡(luò)獲得的MSE比用深層網(wǎng)絡(luò)獲得的MSE更高(無(wú)論是訓(xùn)練MSE還是測(cè)試MSE)。此外,使用深層網(wǎng)絡(luò)可以減少網(wǎng)絡(luò)權(quán)重的數(shù)量,從而減少了近似控制器在實(shí)際過(guò)程中部署的存儲(chǔ)空間。
在相同不確定性值及初始條件下,MSNMPC控制器,淺層網(wǎng)絡(luò)MSNMPC和深層網(wǎng)絡(luò)MSNMPC控制器的仿真結(jié)果如圖6所示??梢钥闯龌谏顚泳W(wǎng)絡(luò)MSNMPC控制器輸出幾乎等同于標(biāo)準(zhǔn)MSNMPC控制器每次求解優(yōu)化問(wèn)題的輸出,而基于淺層網(wǎng)絡(luò)MSNMPC控制器輸出波動(dòng)較大。
表1 不同網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練和測(cè)試性能
圖6 深淺網(wǎng)絡(luò)MSNMPC和標(biāo)準(zhǔn)MSNMPC仿真比較
圖7顯示了提出的基于深度學(xué)習(xí)的魯棒MSNMPC控制器獲得的不同初始條件和不同不確定參數(shù)值的50個(gè)批次過(guò)程仿真。初始條件按照獲取訓(xùn)練數(shù)據(jù)時(shí)的均勻分布方案生成,但與訓(xùn)練數(shù)據(jù)不同。不確定參數(shù)在它們的標(biāo)稱(chēng)值周?chē)?0%遵循不規(guī)則分布,但在每一個(gè)批次過(guò)程中保持不變。可以看出,幾乎所有場(chǎng)景均能在滿(mǎn)足約束條件的前提下完成批次反應(yīng)過(guò)程,獲得不錯(cuò)的性能。所有50個(gè)批次的定量性能比較見(jiàn)表2??梢钥闯觯谏疃葘W(xué)習(xí)的MSNMPC控制器和標(biāo)準(zhǔn)MSNMPC控制器的平均批次時(shí)間幾乎相同,同時(shí)具有非常小的約束違反。
由數(shù)據(jù)可以看出基于深層網(wǎng)絡(luò)的MSNMPC控制器具有非常小的誤差,并且在與訓(xùn)練相同的條件下性能評(píng)估顯示出非常好的結(jié)果。我們通常也認(rèn)為通過(guò)使用神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)的魯棒NMPC控制器,它如果在與訓(xùn)練期間條件不同的情況下使用,可能會(huì)導(dǎo)致災(zāi)難性的誤差。為了評(píng)估標(biāo)準(zhǔn)MSNMPC控制器和基于深度學(xué)習(xí)的MSNMPC控制器針對(duì)
圖7 深層網(wǎng)絡(luò)MSNMPC的50個(gè)不同批次仿真
表2 深淺網(wǎng)絡(luò)MSNMPC和標(biāo)準(zhǔn)MSNMPC的性能比較
超出范圍條件的情況下的魯棒性,我們考慮具有更大范圍不確定性和初始條件下的50個(gè)不同的批次過(guò)程,其中不確定參數(shù)變化范圍為±40%,而考慮的場(chǎng)景僅假設(shè)±30%。溫度初始狀態(tài)在±2 ℃(訓(xùn)練數(shù)據(jù)為±1 ℃),質(zhì)量初始狀態(tài)在±20%(訓(xùn)練數(shù)據(jù)為±10%)內(nèi)服從均勻分布隨機(jī)變化,包括訓(xùn)練數(shù)據(jù)中未包含的情況。
圖8顯示了標(biāo)準(zhǔn)MSNMPC控制器的仿真結(jié)果,可以看出存在一些場(chǎng)景違反約束,這主要是因?yàn)檎鎸?shí)的不確定性大于場(chǎng)景樹(shù)中考慮的不確定性。圖9顯示相同50個(gè)批次的所提出的基于深度學(xué)習(xí)MSNMPC控制器的性能。雖然也有小的約束違反,但控制器性能不會(huì)存在災(zāi)難性地降低,它能夠在較大的不確定性范圍和與訓(xùn)練不同的初始條件下,具有一定的約束能力和魯棒性。如表3所示,兩種控制器無(wú)論是平均批次時(shí)間,還是約束滿(mǎn)足,它們的性能都是非常接近的。表2中的對(duì)比結(jié)果也說(shuō)明了深度學(xué)習(xí)MSNMPC控制器性能不會(huì)比標(biāo)準(zhǔn)MSNMPC的性能降級(jí)很多。
為了解決魯棒NMPC方法因其較大的計(jì)算復(fù)雜度而無(wú)法應(yīng)用在具有實(shí)時(shí)控制要求過(guò)程中的這一缺點(diǎn),本文提出一種基于深度學(xué)習(xí)的魯棒NMPC方法。通過(guò)離線求解標(biāo)準(zhǔn)NMPC方法和MSNMPC方法的優(yōu)化問(wèn)題來(lái)生成訓(xùn)練數(shù)據(jù),利用這些數(shù)據(jù)對(duì),基于深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)魯棒NMPC策略。
圖8 標(biāo)準(zhǔn)MSNMPC 50個(gè)不同批次魯棒性仿真
圖9 深層網(wǎng)絡(luò)MSNMPC 50個(gè)不同批次魯棒性仿真
表3 深層網(wǎng)絡(luò)MSNMPC和標(biāo)準(zhǔn)MSNMPC 魯棒性性能比較
以半間歇聚合反應(yīng)模型為研究案例的實(shí)驗(yàn)結(jié)果表明,本文基于深度神經(jīng)網(wǎng)絡(luò)的近似方法在魯棒NMPC控制策略的逼近上具有良好的效果,并且基于深度學(xué)習(xí)的魯棒控制器的性能與標(biāo)準(zhǔn)控制器相當(dāng),這說(shuō)明了該方法的有效性和可行性。此外,由于近似控制器的顯示表達(dá)式為矩陣乘法和加法,這意味著控制器可以輕松部署在低成本微控制器上,這也是未來(lái)的實(shí)踐研究方向。