「模型预测控制」简要概念

2026-02-13 14:52:22

基本概念

为什么采用MPC?

处理多变量耦合

处理输入状态约束

卡边控制 (意味着更高的经济效益)

应用:

尿素装置合成段的控制

在各种石化和化工厂中

食品加工

机电系统

暖通空调系统(楼宇控制)

MPC的种类:

线性模型:$x(k+1)=Ax(k)+Bu(k)$,一般为凸优化问题。由于线性MPC包含约束的处理,因此是一种非线性控制策略。

非线性模型:$x(k+1)=f(x(k),u(k))$,一般为非凸优化问题

线性MPC优化命题:

目标函数:状态跟踪 $x_{ref}$,输入跟踪 $u_{ref}$

约束:模型、输入约束、状态约束

MPC算法:

读取当前状态 $x(k)$

计算最优控制序列

实施序列的第一个元素(多变量是向量)

LQR和MPC:当预测时域趋于无穷且忽略约束时,MPC等价于LQR。

常规的MPC优化命题可以写为一个LCQP(线性约束二次规划),优化变量可以是$N*(n_x+n_u)$个(模型当作约束)或者$N*n_u$个(状态用输入和模型表示)。

带有 terminal cost 的MPC:

目标函数中多加入对 $x(k+N)$ 的惩罚,用于保证稳定性。

可以通过求解离散时间Riccati方程来得到终端代价矩阵:

$$

A^TSA-S-(A^TSB)(B^TSB+R)^{-1}(B^TSA)+Q=0

$$

其中 $u(k)=-Kx(k)$为稳定控制率,$K=(B^TSB+R)^{-1}(B^TSA)$

1

[K,S]=dlqr(A,B,Q,R)

MPC的历史

1st generation MPC:IDCOM (Richalet et al., 1976) 、 DMC (Shell, 1973)

2nd generation MPC:QDMC (Shell, 1983)

3rd generation MPC:IDCOM-M (Setpoint, 1988), SMOC (Shell, late 80’s)

4th generation MPC: DMC-Plus (Honeywell Hi-Spec, ‘95), RMPCT (Aspen Tech, ‘96)

3种不同的formulation:

无穷时域、无约束、显式解

有限时域、有约束、无显式解

无限时域、有约束、输入参数化(显式解)

开环控制与闭环控制:MPC是优化开环有限时域控制问题,但是在每个采样时刻有状态反馈来补偿未建模动态和扰动。因此是闭环控制框架。

MPC设计的选择:

预测模型

代价函数:范数、时域、终端代价

约束:输入、状态约束、终端约束

软约束:用于克服不可行问题,在代价函数中惩罚约束违法,采用1范数或者无穷范数。通常用在不重要的约束,或者优先级排序。

稳定性

稳定性的证明为两步法:

递归可行性(Recursive feasibility)controller well-defined for all k

构造李雅普诺夫函数(trajectories converge to equilibrium)

局限性:

only for ‘stabilization’ problems

no general stability framework for ‘tracking’ problems

Step1:recursive feasibility (terminal constraint)

假设没有模型失配!因此reusing the overlapping part of the input sequence will also result in an identical state sequence。

三个条件:

$X_N \subseteq X$ 保证移位后的倒数第二个状态满足状态约束

$u(k+N|k+1)\in U$

$x(k+N+1|k+1)\in X_N$ 终端不变集

Step2:Lyapunov stability (terminal cost)

如果存在 $V(x)$ 使得在0附近区域 $X_f$ 有 $V(x_{next})

在MPC框架下,$X_f$ 为可行域,$V(x)$为最优目标函数值。即

$$

J(x(k+1),x_N^0(k+1),u_N^0(k+1))

$$

条件4 (Lyapunov inequality):

$$

F_N(x)-F_N(x,\kappa_N(x))\ge l(x,\kappa_N(x))

$$

不变集:给定自治动态系统,如果当前状态在集合内,未来状态也都会在该集合内,则集合为正不变集。

线性时不变系统的不变集:

给定 $x_{k+1}=\phi x_k,A_xx_k \le b_x$,则最大不变集可以通过

$$

S = {x|A_xx\le b_x, A_x\phi x\le b_x,…,A_x\phi^nx\le b_x }

$$

其中 $n$ 为一个有限的整数。$S$ 称为maximal admissible set。

参考:

Set invariance in control. Automatica, 1999

Constrained model predictive control: Stability and optimality. Automatica, 2000

鲁棒性

目的:

保证递归可行性(考虑模型误差、扰动)

保证渐近稳定性(在没有扰动的情况下)

需要知道:

1. 模型不确定性的形式

2. 扰动的形式

不确定性模型

线性参数变化模型

多胞不确定描述

norm-bounded 不确定性描述

有界扰动

通常为多面体($W \in X$):

$W=Co\{w_1,…,w_n\}$

$W=\{w|A_ww \le 1_v\}$

鲁棒MPC

需要进行的改造:

不确定性预测

终端代价需要满足 multiple Lyap. Ineq.

终端约束需要是 a robust invariant set

对状态预测树的所有节点添加约束