显式模型预测控制综述亚历山德罗·阿莱西奥和阿尔贝托·本波拉德摘要:显式模型预测控制解决了模型预测控制的主要缺点,即需要解决在线的数学程序来估计控制动作。
在一些文献中,这个估计阻止了MPC的应用,因为在采样时间内解决最优问题的计算技术比较困难或根本不可行,或者是计算机代码实现数值求解器时导致软件认证问题,尤其是存在安全性的关键问题。
显式MPC在给定的感兴趣的操作条件范围内允许其离线计算优化问题。
显式MPC通过利用多参数的编程技术离线计算出的最优控制动作可以作为状态的显式功能和参考矢量,使上线操作简化为简单的函数求值。
这样一个函数在大多数情况下是分段仿射的,所以MPC控制器可以映射成线性增益的查找表。
本文调查显式MPC在科学文献上的主要贡献。
首先回顾基本概念和MPC 方案的问题,复习解决显式MPC问题的主要方法包括新颖而简单的次优实用方法以降低显式形式的复杂性。
本文结尾评论了一些未来的研究方向。
关键词:模型预测控制,显式解,多参数编程,分段仿射控制器,混合系统,最小—最大控制。
1模型预测控制模型预测控制的控制动作是通过解决在每个采样时刻的有限时域开环最优控制问题而得到的。
每个优化产量的最优控制序列,只有第一步应用到过程中:在下个时间步长中,采用最新的可用状态信息作为最优控制新的初始状态通过偏移一个时间范围重复计算。
因此,MPC也被成为后退或滚动时域控制。
该解决方案依赖于过程的动态模型,遵守所有的输入和输出(状态)的约束,并优化其性能指标。
这通常表示为一个二次或线性准则,因此,对于线性预测模型产生的优化问题可以转换为一个二次规划(QP )或线性规划 (LP ),而对于混合预测模型,所得到的优化问题可以转换为将在下一章节的讲述的混合整数二次或线性规划(MIQP/ MILP )。
因此,MPC 和常规控制的主要区别在于,后者的控制函数在离线情况下预先计算的。
MPC 在工业应用上的成功是由于其在处理有许多操纵的控制流程,控制变量及系统对它们的约束的能力。
过程控制通常是由差分方程的系统建模的(1)((),())x t f x t u t += (1)其中,()nx t ∈是状态矢量, ()mu t ∈是输入矢量。
假设一个简单的(0,0)0f =,控制和状态序列要满足的约束条件()x t ∈℘,()u t μ∈ (2)mμ⊆,n χ⊆在它们的内部封闭集包含原点。
假设控制目标引导状态的起源,MPC 解决了如下的约束监管问题。
假设在当前时刻t 的状态量x(t)的完整测量是可使用的,那么下面的有限视距优化监管问题可以解决。
10(()):min ((),())()N N zk x t l x k u k F xN -=P +∑ (3a)..s t 1(,),0,...,1k k k x f x u k N +==- (3b)0()x x t = (3c),0,...,1k U u k N μ∈=- (3d),1,...,1k x k N χ∈=- (3e),N N x χ∈ (3f)(),,...,1k k u u x k N N κ==- (3g) 其中,z ∈是优化变量的向量,01['...']'N z u u -=,u mN =(一般情况下,z 包括命令输入和额外的优化变量),闭集N χχ⊆的选择,终端成本F,和终端增益κ,确保MPC 方案的闭环稳定性。
在每个时间步长t ,k x 表示在t+k 时刻的预测状态向量,通过将输入序列01,...,k u u -应用到模型(1)中获得k x ,起始状态0()x x t =。
预测范围N>0,u N 是输入范围(1U N N ≤≤),“≤”表示特定组件的不平等。
N 是有穷的,如果f,l 和F 是连续的,μ是紧凑的,在式(3a)里有最小值。
在每个时间步长t ,问题(())N D x t 的求解方法是通过求解程序发现的min (,())..(,())0,zqh z x t s t g z x t g ≤∈(4)从(3)求出最优控制序列*(())z x t ,只有第一个输入被应用在系统(1)0()*(())u t u x t = (5)在时刻t+1基于新的状态x(t+1),再次计算优化问题(3)。
MPC 基本设置(3)可以在不同的情况下专门设置。
主要取决于预测模型,性能指数和使用的终端条件。
1.1线性模型和二次成本一个有限域的最优问题(3)的二次阶段的成本是通过设置在(3a )中的公式(6)制定的。
(,),()k k k k k k N N N l x u x Qx u Ru F x x Px '''=+= (6)其中0,0,Q Q R R ''=≥=>和0P P '=≥为适当维数权重矩阵。
式(3b )是一个确定性的线性离散时间预测模型(,)k k k k f x u Ax Bu =+ (7)在式(3g)中()x Kx κ=,μ,χ是多面集,例如{}}{m i nm a xm i n m a x:,:mnu u u u x xx xμχ=∈≤≤=∈≤≤,N χ也是多面集。
如果代入110()k k j k k j j x A x t A Bu ---==+∑,式(4)就变为二次规划问题:11(,())()()()22h z x t z Hz x t C z x t Yx t ''''=++ (8a) (,())()g z x t Gz W Sx t =-- (8b)其中,0H H '=>,C,Y,G,W,S 为适当维数的矩阵[18].注意Y 是不需要计算*(())z x t ,它只影响(8a)的最优值。
1.2线性模型和线性成本范数∞-和1-用来测量性能其中,,nR mnQ nnP nR Q P ⨯⨯⨯∈∈∈,使用1.1节中所描述的相同设置。
遇到范数∞-等价于,1,...,,0,...,1,1,...,,1,...,1,1,...,u i k k R u x i k k Q x i N N PR u i n k N Q x i n k N P x i n εεε≥±==-≥±==-≥±= (10) 其中,在(10)中的下标i 表示第i 行,问题(3)可以被映射为线性规划(LP )[12]1(,())[1...1 1...10...0]u uN mN Nh z x t z -=∂ (11a)(,())()g z x t Gz W Sx t =-- (11b)其中,1u N N ∂=-+是最后一次输入的数就是在预测时域重复的次数,10110[,...,,...,...]u N u u u x x N N z u u εεεε--'''是优化向量,G,W,S 是从模型矩阵A,B(10)的权重Q,R,P 得到的。
约束集,,N μχχ和增益K 。
1 - 规范的情况下同样可以通过引入松弛变量,,u i x i x iik k ik k iN N R u Q x P x εεε≥±≥±≥±来处理。
注意,由[62]得出的结果,上述超出1/∞范数重新扩展到任何凸分段仿射成本I ,F ,可以改写为一组有限的仿射函数的最大值。
利用线性规划的基于优化的控制可追溯至六十年代初[60]。
1.3线性不确定型模型和最小 - 最大成本鲁棒MPC 规划(73)明确的考虑到预测模型的不确定性因素。
(,,,)()()k k k k k k k k k f x u w v A w x B w u Ev =++ (12)0011(),(),wvqqi i i i i i n n k k A w A A w B w B B w w v ων===+=+=∈∈∈∈∑∑把,k k v w 分别建模为有界外部扰动和参数不确定性的未知量, ,ων是多面体。
鲁棒MPC 策略经常被用来解决由一个最小-最大的问题,使执行输入和状态约束所有可能的干扰在最糟糕情况下的性能最小化。
下面的最小 - 最大控制问题被称为开环受限的鲁棒最优控制问题(OL-CROC )[13]。
0101011,...,,...,0,...,min max (,)()N N N N k k N u u v v k w w l x u F x νω----∈=∈⎧⎫⎪+⎨⎬⎭⎪⎩∑ (13)s.t. dynamics(12)(3d),(3e),(3f)satisfied ,k k v w νω∀∈∀∈如果使用范数1-或∞-[24,4],最大-最小问题(12)-(13)可以通过线性规划来解决,或者通过使用二次成本进行二次规划[56]。
基于开环的预测,某些情况下这种方法是相当保守的。
它可以使用在[63]中描述的闭环预测方案重新制定鲁棒MPC 问题。
这种方法使我们联想到基于场景树的多阶段随机优化方法。
其中最小和最大的问题使用交错和动态编程,这是在[13]中描述的另一种方法解决(闭环约束鲁棒最优控制问题,CL-CROC): 用1,...,0j N =-,求解*max,()min (,)j j j j j j u J x J x u μ∈1..()(),,j j j j j j jjs t A w x B w u E v v w χνω+++∈∀∈∀∈其中}{*max,1(,)max (,)(()())j j j j j j j j j j j j j v w J x u l x u J A w x B w u Ev νω+∈∈+++ (14)}1:()(),,j j x u such thatA w x B w u Ev v w χχμχνω+⎧=∈∃∈++∈∀∈∈⎨⎩(15)1.4混合模型和线性或二次成本MPC 的设置也可延伸到(1)中的一种混合动力模式的情况下。
当混合动力和可能的混合线性/逻辑离散约束,连续输入和状态变量使用HYS-DEL 语言建模[71],(3b )可自动转化为一组线性等式和不等式123(,,,)k k k k k k k k f x u Ax B u B B δξδξ=+++ (17a)23145k k k k E E E u E x E δξ+≤++ (17b)包括实数和二元变量,表示为混合逻辑动态(MLD )模型,其中}{0,1bcnn k x ∈⨯是状态矢量,}{0,1bcmm k u ∈⨯是输入矢量,cr k ξ∈,}{0,1br k δ∈是(17b)对任意给定对(),k k x u 定义的辅助变量隐式。
矩阵,,(1,2,3)i A B i =和(1,...5)i E i =表示实常数矩阵,不等式(17b)必须逐分量解释。