顯式預測控制(Explicit MPC)

顯式預測控制是 Bemporad 等人在2002年提出來的一種面向小規模控制命題的快速 MPC 算法。主要思想是通過參數規劃的思想,將優化求解的在線計算放到離線進行,從而提高在線計算的速度。本文從理論上對這種算法進行介紹,並用例子進行一些說明,最後會提到該方法的一些侷限和改進。

理論推導

下面我們結合 [BMDP02],[FBD08] 和 [PRW07] 三篇文章的內容簡單介紹一下 Explicit MPC 的原理。這裏我們考慮一個離散的,線性時不變的狀態空間模型:

x(t+1)=Ax(t)+Bu(t)

其中 x(k)Rnx 是系統狀態,u(k)Rnu 是系統輸入。A,B 都是相應的係數矩陣。爲簡單起見,我們考慮一個從當前狀態 x0 調節到原點的調節問題。同時我們要保證輸入和狀態都滿足一定的約束,即

cCx(t)c¯
dDu(t)d¯
對任何k∈N都滿足。同時 CRnoc×nxDRnic×nu 是常數矩陣,c,c¯d,d¯ 都是常數向量。

然後 MPC 在沒週期求解的 QP 命題爲:

minu(0),...,u(N1)x(0),...,x(N)x(N)TPx(N)+i=0N1(x(i)TQx(i)+u(i)TRu(i))
s.t. x(t+1)=Ax(t)+Bu(t)
(x(0) given)
cCx(t)c¯
dDu(t)d¯

其中 PRnx×nxQRnx×nx 是半正定矩陣,RRnu×nu 是正定陣。NN 是預測時域長度(和控制時域等長)。P 是終端懲罰加權陣,可以通過求解無約束系統的一個黎卡提方程來得到。

通過將 x(t)=Atx(0)+t1j=0AjBu(t1j) 代入上式進行替換,上面的優化命題可以寫成

J(x(0))=12x(0)TYx(0)+minU12UTHU+x(0)TFU
s.t. GUW+Ex(0)

這裏這裏的 x(0) 代表的是當前時刻的狀態,Y,H,F,G,W,E 是常數參數。

上面優化命題的 KKT 條件爲:

Hu+FTx(0)GTaλa=0
Gau=Wa+Eax(0)
λi=0
GiuWi+Eix(0)
λa0

其中,上標星號的是最優值,下標 a 的表示有效的約束 (active),下標 i 的表示無效的約束 (inactive)。

按照 Explicit MPC,或者說 mp-MPC 的理論,我們可以由上面的 KKT 條件得到以下的方程組:

[HGaGTa0][uλa]=[0Wa][FTEa]x(0)

假設上述方程組可解(Ga 陣行滿秩),我們可以得到與狀態參數x(0)線性相關的解:

u=Kaxx(0)+cu
λa=Laxx(0)+cλ

其中,
cλ=(GaH1GTa)1Wa
Lax=(GaH1GTa)1(GaH1FT+Ea)
cu=H1GTa(GaH1GTa)1Wa
Kax=H1GTa(GaH1GTa)1(GaH1FT+Ea)H1FT

其中 KaxLaxcucλ 都只依賴與有效集 a 和原命題的數據,和參數 x 並沒有關係。而這些參數所適用的可行區域(也就是 Explicit MPC 中所謂的關鍵區域,critical region, CR)是由 KKT 條件中剩下的幾個不等式來確定的,如果我們用上面的解替換掉 KKT 條件中不等式的變量,就可以得到:

Laxx(0)+cλ0
GiKaxx(0)+(GicuWiEix(0))0

因爲上面的不等式都是關於當前時刻狀態 x(0) 的線性不等式,因此可以將整個狀態空間內劃分爲很多個互不重疊的 CR,示意圖如下:

這裏寫圖片描述

仿真

考慮文章 [BMDP02] 中的一個單入單出的對象:

y(t)=2s2+3s+2u(t)
令採樣時間爲 0.1s,可以得到其狀態空間模型爲:
x(t+1)=[0.73260.17220.08610.9909]x(t)+[0.06090.0064]u(t)
y(t)=[01.4142]x(t)
狀態和輸入的約束爲:
u2,x3
因爲狀態參數是二維的,使得我們可以在平面上畫出分區的形狀。

當時域長度 N=2 時,大約有10個左右的 CR,狀態空間的分區圖爲:

這裏寫圖片描述

當時域長度 N=5 時,大約有30個左右的 CR,狀態空間的分區圖爲:
這裏寫圖片描述

當時域長度 N=10 時,大約有100個左右的 CR,狀態空間的分區圖爲:
這裏寫圖片描述

注意:
1 這裏分區的形狀和數目之所以與文章 [BMDP02] 中不同,是因爲約束的選取有所區別,原文中沒有對狀態 x(t) 的約束。
2 這裏分區的數目不是精確的,因爲我沒有按照原文的算法把每一個分區都計算出來,而是採用隨機撒點的方法將撒到的點所在的分區畫出來,因爲都進行了上千次撒點,因此可以認爲我們在這裏確定了絕大部分的分區。

侷限與改進

在上面的仿真中,我們可以看出來當時域長度增加時,分區數目的上升速度是很可觀的,而且這還是最簡單的單入單出兩狀態的對象。因爲分區數目和不等式約束的個數有關,即對於 m 個不等式約束,若其中任意 1m 個約束變爲積極約束,那麼就可以生成一個 CR, 因此,理論上 m 個不等式約束可以生成 C1m+C2m+...+CmmCR,其實也就是所有不等式組成的集合的所有子集的個數,即 2m 。而時域長度的增加和問題規模的增大都會使得不等式約束的個數增加。雖然實際上達不到 2m 的規模,但隨着問題規模的增大, CR 的個數對與存儲空間和在線查找的時間都提出了相當嚴峻的考驗,這也是爲什麼人們提及 Explicit MPC 時總會說這種方法適用於小規模的問題。

針對 Explicit MPC 的這一缺點,很多人也作了相應的研究。[GTM08] 通過對相同控制律的分區進行歸併的方法給出了顯示解的一個最小形式。在 [CZJM07] 中用來消除分區的方法是在能保證穩定性的前提下對相鄰的分區進行合併。[TJB03] 提出一種方法是採用二叉搜索樹來存儲狀態分區,並在此基礎上來計算分段線性函數的值。在此基礎上可以實現在 O(logN) 的時間複雜度內實現對根據狀態點查找分區的操作。[JG03] 採用的方法是將分區進行近似,然後用正交搜索樹來存儲各個分區的信息,並在此基礎上實現對狀態點的定位和線性函數的計算。[BJJ11] 採用的是哈希表對分區信息進行存儲。[BF03] 採用的是給出近似解的方法來加快求解的速度。

Ref.
[BMDP02] Bemporad, A., Morari, M., Dua, V., & Pistikopoulos, E. N. (2002). The explicit linear quadratic regulator for constrained systems. Automatica, 38(1), 3-20.
[FBD08] Ferreau, H. J., Bock, H. G., & Diehl, M. (2008). An online active set strategy to overcome the limitations of explicit MPC. International Journal of Robust and Nonlinear Control, 18(8), 816-830.
[PRW07] Pannocchia, G., Rawlings, J. B., & Wright, S. J. (2007). Fast, large-scale model predictive control by partial enumeration. Automatica, 43(5), 852-860.

[BF03] Bemporad A, Filippi C. Suboptimal explicit receding horizon control via approximate multiparametric quadratic programming[J]. Journal of optimization theory and applications, 2003, 117(1): 9-38.
[BJJ11] Bayat, F., Johansen, T. A., & Jalali, A. A. (2011). Using hash tables to manage the time-storage complexity in a point location problem: Application to explicit model predictive control. Automatica, 47(3), 571-577.
[CZJM07] Christophersen, F. J., Zeilinger, M. N., Jones, C. N., & Morari, M. (2007, December). Controller complexity reduction for piecewise affine systems through safe region elimination. In Decision and Control, 2007 46th IEEE Conference on (pp. 4773-4778). IEEE.
[GTM08] Geyer, T., Torrisi, F. D., & Morari, M. (2008). Optimal complexity reduction of polyhedral piecewise affine systems. Automatica, 44(7), 1728-1740.
[JG03] Johansen T A, Grancharova A. Approximate explicit constrained linear model predictive control via orthogonal search tree[J]. Automatic Control, IEEE Transactions on, 2003, 48(5): 810-815.
[TJB03] Tøndel, P., Johansen, T. A., & Bemporad, A. (2003). Evaluation of piecewise affine control via binary search tree. Automatica, 39(5), 945-950.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章