线性系统下MPC的迭代可行性与稳定性证明
以下以一个离散时间线性系统为例,详细证明模型预测控制(MPC)的迭代可行性和稳定性。假设系统模型为:
x(k+1)=Ax(k)+Bu(k),
x(k+1) = A x(k) + B u(k),
x(k+1)=Ax(k)+Bu(k),
其中x∈Rnx \in \mathbb{R}^nx∈Rn,u∈Rmu \in \mathbb{R}^mu∈Rm,且系统(A,B)(A, B)(A,B)可控。
步骤1:定义MPC优化问题
设计一个有限时域NNN的MPC优化问题,目标函数为:
J(k)=∑i=0N−1(x(k+i∣k)TQx(k+i∣k)+u(k+i∣k)TRu(k+i∣k))+x(k+N∣k)TPx(k+N∣k),
J(k) = \sum_{i=0}^{N-1} \left( x(k+i|k)^T Q x(k+i|k) + u(k+i|k)^T R u(k+i|k) \right) + x(k+N|k)^T P x(k+N|k),
J(k)=i=0∑N−1(x(k+i∣k)TQx(k+i∣k)+u(k+i∣k)TRu(k+i∣k))+x(k+N∣k)TPx(k+N∣k),
约束条件:
- 状态约束:x(k+i∣k)∈Xx(k+i|k) \in \mathcal{X}x(k+i∣k)∈X(凸集,通常包含原点)。
- 输入约束:u(k+i∣k)∈Uu(k+i|k) \in \mathcal{U}u(k+i∣k)∈U(凸集,通常包含原点)。
- 终端约束:x(k+N∣k)∈Xf⊆Xx(k+N|k) \in \mathcal{X}_f \subseteq \mathcal{X}x(k+N∣k)∈Xf⊆X。
设计要求:
- Q≻0Q \succ 0Q≻0,R≻0R \succ 0R≻0,P≻0P \succ 0P≻0为权重矩阵。
- 终端集Xf\mathcal{X}_fXf是控制不变集,即存在局部控制器u=Kxu = K xu=Kx使得:
(A+BK)x∈Xf,∀x∈Xf. (A + BK)x \in \mathcal{X}_f, \quad \forall x \in \mathcal{X}_f. (A+BK)x∈Xf,∀x∈Xf. - 终端代价PPP是无限时域LQR问题的解,满足代数Riccati方程:
P=ATPA−ATPB(R+BTPB)−1BTPA+Q. P = A^T P A - A^T P B (R + B^T P B)^{-1} B^T P A + Q. P=ATPA−ATPB(R+BTPB)−1BTPA+Q.
或者
AKTPAK−P=−Q∗AK=A+BKQ∗=Q+KTRKK=−(R+BTPB)−1BTPA A_K^T P A_K-P=-Q^* \\ A_K=A+BK \\ Q^*=Q+K^TRK \\ K=-(R + B^T P B)^{-1} B^T P A AKTPAK−P=−Q∗AK=A+BKQ∗=Q+KTRKK=−(R+BTPB)−1BTPA
步骤2:证明迭代可行性(Recursive Feasibility)
目标:若初始时刻k=0k=0k=0的优化问题可行,则后续所有时刻k≥1k \geq 1k≥1的优化问题仍可行。
证明过程:
-
假设当前时刻kkk的优化问题可行,得到最优控制序列:
{u∗(k∣k),u∗(k+1∣k),…,u∗(k+N−1∣k)}, \{u^*(k|k), u^*(k+1|k), \dots, u^*(k+N-1|k)\}, {u∗(k∣k),u∗(k+1∣k),…,u∗(k+N−1∣k)},
对应的状态轨迹为:
{x∗(k∣k),x∗(k+1∣k),…,x∗(k+N∣k)}, \{x^*(k|k), x^*(k+1|k), \dots, x^*(k+N|k)\}, {x∗(k∣k),x∗(k+1∣k),…,x∗(k+N∣k)},
其中x∗(k+N∣k)∈Xfx^*(k+N|k) \in \mathcal{X}_fx∗(k+N∣k)∈Xf。 -
构造下一时刻k+1k+1k+1的候选控制序列:
u~(k+1+i∣k+1)={u∗(k+1+i∣k),i=0,1,…,N−2,Kx∗(k+N∣k),i=N−1. \tilde{u}(k+1+i|k+1) = \begin{cases} u^*(k+1+i|k), & i = 0,1,\dots,N-2, \\ K x^*(k+N|k), & i = N-1. \end{cases} u~(k+1+i∣k+1)={u∗(k+1+i∣k),Kx∗(k+N∣k),i=0,1,…,N−2,i=N−1.
对应状态轨迹:
x~(k+1+i∣k+1)={x∗(k+1+i∣k),i=0,1,…,N−1,(A+BK)x∗(k+N∣k),i=N. \tilde{x}(k+1+i|k+1) = \begin{cases} x^*(k+1+i|k), & i = 0,1,\dots,N-1, \\ (A + BK) x^*(k+N|k), & i = N. \end{cases} x~(k+1+i∣k+1)={x∗(k+1+i∣k),(A+BK)x∗(k+N∣k),i=0,1,…,N−1,i=N. -
验证候选序列的可行性:
- 输入约束:前N−1N-1N−1个输入u~(k+1+i∣k+1)\tilde{u}(k+1+i|k+1)u~(k+1+i∣k+1)继承自kkk时刻的可行解;最后一个输入Kx∗(k+N∣k)K x^*(k+N|k)Kx∗(k+N∣k)满足U\mathcal{U}U,因为Xf\mathcal{X}_fXf是控制不变集。
- 状态约束:前N−1N-1N−1个状态x~(k+1+i∣k+1)\tilde{x}(k+1+i|k+1)x~(k+1+i∣k+1)继承自可行解;最后一个状态(A+BK)x∗(k+N∣k)∈Xf(A + BK)x^*(k+N|k) \in \mathcal{X}_f(A+BK)x∗(k+N∣k)∈Xf,由控制不变性保证。
- 终端约束:x~(k+1+N∣k+1)=(A+BK)x∗(k+N∣k)∈Xf\tilde{x}(k+1+N|k+1) = (A + BK)x^*(k+N|k) \in \mathcal{X}_fx~(k+1+N∣k+1)=(A+BK)x∗(k+N∣k)∈Xf。
-
结论:候选序列满足所有约束,因此k+1k+1k+1时刻的优化问题可行。由数学归纳法,迭代可行性成立。
步骤3:证明稳定性(Stability)
目标:证明闭环系统在MPC控制下渐近稳定,即x(k)→0x(k) \to 0x(k)→0当k→∞k \to \inftyk→∞。
证明过程:
-
定义李雅普诺夫函数:
令V(k)=J∗(k)V(k) = J^*(k)V(k)=J∗(k),即当前时刻的最优目标函数值。需证明:
V(k+1)−V(k)≤−x(k)TQx(k). V(k+1) - V(k) \leq -x(k)^T Q x(k). V(k+1)−V(k)≤−x(k)TQx(k). -
分析目标函数的变化:
- 当前时刻的最优目标函数:
V(k)=∑i=0N−1(x∗(k+i∣k)TQx∗(k+i∣k)+u∗(k+i∣k)TRu∗(k+i∣k))+x∗(k+N∣k)TPx∗(k+N∣k). V(k) = \sum_{i=0}^{N-1} \left( x^*(k+i|k)^T Q x^*(k+i|k) + u^*(k+i|k)^T R u^*(k+i|k) \right) + x^*(k+N|k)^T P x^*(k+N|k). V(k)=i=0∑N−1(x∗(k+i∣k)TQx∗(k+i∣k)+u∗(k+i∣k)TRu∗(k+i∣k))+x∗(k+N∣k)TPx∗(k+N∣k). - 下一时刻的目标函数候选值(使用步骤2的候选序列):
V~(k+1)=∑i=0N−1(x~(k+1+i∣k+1)TQx~(k+1+i∣k+1)+u~(k+1+i∣k+1)TRu~(k+1+i∣k+1))+x~(k+1+N∣k+1)TPx~(k+1+N∣k+1). \tilde{V}(k+1) = \sum_{i=0}^{N-1} \left( \tilde{x}(k+1+i|k+1)^T Q \tilde{x}(k+1+i|k+1) + \tilde{u}(k+1+i|k+1)^T R \tilde{u}(k+1+i|k+1) \right) + \tilde{x}(k+1+N|k+1)^T P \tilde{x}(k+1+N|k+1). V~(k+1)=i=0∑N−1(x~(k+1+i∣k+1)TQx~(k+1+i∣k+1)+u~(k+1+i∣k+1)TRu~(k+1+i∣k+1))+x~(k+1+N∣k+1)TPx~(k+1+N∣k+1). - 由于候选序列不一定是最优的,故:
V(k+1)≤V~(k+1). V(k+1) \leq \tilde{V}(k+1). V(k+1)≤V~(k+1).
- 当前时刻的最优目标函数:
-
计算差值:
V~(k+1)−V(k)=−x(k)TQx(k)−u(k)TRu(k)⏟首项被移除+x∗(k+N∣k)T[(A+BK)TP(A+BK)−P]x∗(k+N∣k)⏟新终端状态贡献+x∗(k+N∣k)T(Q+KTRK)x∗(k+N∣k)⏟新增的最后一步代价=−x(k)TQx(k)−u(k)TRu(k)+x∗(k+N∣k)T[(A+BK)TP(A+BK)−P+Q+KTRK]x∗(k+N∣k). \begin{aligned} &\tilde{V}(k+1) - V(k) \\=& \underbrace{-x(k)^T Q x(k) - u(k)^T R u(k)}_{\text{首项被移除}} \\ &+ \underbrace{x^*(k+N|k)^T \left[ (A + BK)^T P (A + BK) - P \right] x^*(k+N|k)}_{\text{新终端状态贡献}} \\&+ \underbrace{x^*(k+N|k)^T (Q + K^T R K) x^*(k+N|k)}_{\text{新增的最后一步代价}}\\ =&-x(k)^T Q x(k) - u(k)^T R u(k) \\&+ x^*(k+N|k)^T \left[ (A + BK)^T P (A + BK) - P + Q + K^T R K \right] x^*(k+N|k). \end{aligned} ==V~(k+1)−V(k)首项被移除−x(k)TQx(k)−u(k)TRu(k)+新终端状态贡献x∗(k+N∣k)T[(A+BK)TP(A+BK)−P]x∗(k+N∣k)+新增的最后一步代价x∗(k+N∣k)T(Q+KTRK)x∗(k+N∣k)−x(k)TQx(k)−u(k)TRu(k)+x∗(k+N∣k)T[(A+BK)TP(A+BK)−P+Q+KTRK]x∗(k+N∣k).
根据代数Riccati方程,有:
(A+BK)TP(A+BK)−P+Q+KTRK=0. (A + BK)^T P (A + BK) - P + Q + K^T R K = 0. (A+BK)TP(A+BK)−P+Q+KTRK=0.
因此:
V~(k+1)−V(k)=−x(k)TQx(k)−u(k)TRu(k)≤−x(k)TQx(k).
\tilde{V}(k+1) - V(k) = -x(k)^T Q x(k) - u(k)^T R u(k) \leq -x(k)^T Q x(k).
V~(k+1)−V(k)=−x(k)TQx(k)−u(k)TRu(k)≤−x(k)TQx(k).
- 稳定性结论:
- 由V(k+1)≤V~(k+1)≤V(k)−x(k)TQx(k)V(k+1) \leq \tilde{V}(k+1) \leq V(k) - x(k)^T Q x(k)V(k+1)≤V~(k+1)≤V(k)−x(k)TQx(k),可知V(k)V(k)V(k)是递减序列且有下界(V(k)≥0V(k) \geq 0V(k)≥0),故V(k)→0V(k) \to 0V(k)→0。
- 由于Q≻0Q \succ 0Q≻0,可得x(k)→0x(k) \to 0x(k)→0,即闭环系统渐近稳定。
总结
对于线性系统,通过合理设计终端约束Xf\mathcal{X}_fXf(控制不变集)和终端代价PPP(LQR解),MPC的迭代可行性由控制不变性保证,稳定性则由目标函数的李雅普诺夫性质保证。此框架可推广至带约束的线性系统,是经典MPC理论的核心结果。
(A+BK)TP(A+BK)−P+Q+KTRK=0↓K=−(BTPB+R)−1BTPAP=ATPA−ATPB(R+BTPB)−1BTPA+Q. (A + BK)^T P (A + BK) - P + Q + K^T R K = 0 \\ \downarrow K=-(B^TPB+R)^{-1}B^TPA \\ P = A^T P A - A^T P B (R + B^T P B)^{-1} B^T P A + Q. (A+BK)TP(A+BK)−P+Q+KTRK=0↓K=−(BTPB+R)−1BTPAP=ATPA−ATPB(R+BTPB)−1BTPA+Q.