线性系统下MPC的迭代可行性与稳定性证明

线性系统下MPC的迭代可行性与稳定性证明

以下以一个离散时间线性系统为例,详细证明模型预测控制(MPC)的迭代可行性和稳定性。假设系统模型为:

x ( k + 1 ) = A x ( k ) + B u ( k ) , x(k+1) = A x(k) + B u(k), x(k+1)=Ax(k)+Bu(k),
其中 x ∈ R n x \in \mathbb{R}^n xRn u ∈ R m u \in \mathbb{R}^m uRm,且系统 ( A , B ) (A, B) (A,B)可控。


步骤1:定义MPC优化问题

设计一个有限时域 N N N的MPC优化问题,目标函数为:
J ( k ) = ∑ i = 0 N − 1 ( x ( k + i ∣ k ) T Q x ( k + i ∣ k ) + u ( k + i ∣ k ) T R u ( k + i ∣ k ) ) + x ( k + N ∣ k ) T P x ( 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=0N1(x(k+ik)TQx(k+ik)+u(k+ik)TRu(k+ik))+x(k+Nk)TPx(k+Nk),
约束条件

  1. 状态约束: x ( k + i ∣ k ) ∈ X x(k+i|k) \in \mathcal{X} x(k+ik)X(凸集,通常包含原点)。
  2. 输入约束: u ( k + i ∣ k ) ∈ U u(k+i|k) \in \mathcal{U} u(k+ik)U(凸集,通常包含原点)。
  3. 终端约束: x ( k + N ∣ k ) ∈ X f ⊆ X x(k+N|k) \in \mathcal{X}_f \subseteq \mathcal{X} x(k+Nk)XfX

设计要求

  • Q ≻ 0 Q \succ 0 Q0, R ≻ 0 R \succ 0 R0, P ≻ 0 P \succ 0 P0为权重矩阵。
  • 终端集 X f \mathcal{X}_f Xf是控制不变集,即存在局部控制器 u = K x u = K x u=Kx使得:
    ( A + B K ) x ∈ X f , ∀ x ∈ X f .   (A + BK)x \in \mathcal{X}_f, \quad \forall x \in \mathcal{X}_f.   (A+BK)xXf,xXf
  • 终端代价 P P P是无限时域LQR问题的解,满足代数Riccati方程:
    P = A T P A − A T P B ( R + B T P B ) − 1 B T P A + Q . P = A^T P A - A^T P B (R + B^T P B)^{-1} B^T P A + Q. P=ATPAATPB(R+BTPB)1BTPA+Q.
    或者
    A K T P A K − P = − Q ∗ A K = A + B K Q ∗ = Q + K T R K K = − ( R + B T P B ) − 1 B T P A 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 AKTPAKP=QAK=A+BKQ=Q+KTRKK=(R+BTPB)1BTPA

步骤2:证明迭代可行性(Recursive Feasibility)

目标:若初始时刻 k = 0 k=0 k=0的优化问题可行,则后续所有时刻 k ≥ 1 k \geq 1 k1的优化问题仍可行。

证明过程

  1. 假设当前时刻 k k k的优化问题可行,得到最优控制序列:
    { 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(kk),u(k+1∣k),,u(k+N1∣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(kk),x(k+1∣k),,x(k+Nk)},
    其中 x ∗ ( k + N ∣ k ) ∈ X f x^*(k+N|k) \in \mathcal{X}_f x(k+Nk)Xf

  2. 构造下一时刻 k + 1 k+1 k+1的候选控制序列
    u ~ ( k + 1 + i ∣ k + 1 ) = { u ∗ ( k + 1 + i ∣ k ) , i = 0 , 1 , … , N − 2 , K x ∗ ( 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+ik+1)={u(k+1+ik),Kx(k+Nk),i=0,1,,N2,i=N1.
    对应状态轨迹
    x ~ ( k + 1 + i ∣ k + 1 ) = { x ∗ ( k + 1 + i ∣ k ) , i = 0 , 1 , … , N − 1 , ( A + B K ) 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+ik+1)={x(k+1+ik),(A+BK)x(k+Nk),i=0,1,,N1,i=N.

  3. 验证候选序列的可行性

    • 输入约束:前 N − 1 N-1 N1个输入 u ~ ( k + 1 + i ∣ k + 1 ) \tilde{u}(k+1+i|k+1) u~(k+1+ik+1)继承自 k k k时刻的可行解;最后一个输入 K x ∗ ( k + N ∣ k ) K x^*(k+N|k) Kx(k+Nk)满足 U \mathcal{U} U,因为 X f \mathcal{X}_f Xf是控制不变集。
    • 状态约束:前 N − 1 N-1 N1个状态 x ~ ( k + 1 + i ∣ k + 1 ) \tilde{x}(k+1+i|k+1) x~(k+1+ik+1)继承自可行解;最后一个状态 ( A + B K ) x ∗ ( k + N ∣ k ) ∈ X f (A + BK)x^*(k+N|k) \in \mathcal{X}_f (A+BK)x(k+Nk)Xf,由控制不变性保证。
    • 终端约束 x ~ ( k + 1 + N ∣ k + 1 ) = ( A + B K ) x ∗ ( k + N ∣ k ) ∈ X f \tilde{x}(k+1+N|k+1) = (A + BK)x^*(k+N|k) \in \mathcal{X}_f x~(k+1+Nk+1)=(A+BK)x(k+Nk)Xf
  4. 结论:候选序列满足所有约束,因此 k + 1 k+1 k+1时刻的优化问题可行。由数学归纳法,迭代可行性成立。


步骤3:证明稳定性(Stability)

目标:证明闭环系统在MPC控制下渐近稳定,即 x ( k ) → 0 x(k) \to 0 x(k)0 k → ∞ k \to \infty k

证明过程

  1. 定义李雅普诺夫函数
    V ( k ) = J ∗ ( k ) V(k) = J^*(k) V(k)=J(k),即当前时刻的最优目标函数值。需证明:
    V ( k + 1 ) − V ( k ) ≤ − x ( k ) T Q x ( k ) . V(k+1) - V(k) \leq -x(k)^T Q x(k). V(k+1)V(k)x(k)TQx(k).

  2. 分析目标函数的变化

    • 当前时刻的最优目标函数:
      V ( k ) = ∑ i = 0 N − 1 ( x ∗ ( k + i ∣ k ) T Q x ∗ ( k + i ∣ k ) + u ∗ ( k + i ∣ k ) T R u ∗ ( k + i ∣ k ) ) + x ∗ ( k + N ∣ k ) T P x ∗ ( 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=0N1(x(k+ik)TQx(k+ik)+u(k+ik)TRu(k+ik))+x(k+Nk)TPx(k+Nk).
    • 下一时刻的目标函数候选值(使用步骤2的候选序列):
      V ~ ( k + 1 ) = ∑ i = 0 N − 1 ( x ~ ( k + 1 + i ∣ k + 1 ) T Q x ~ ( k + 1 + i ∣ k + 1 ) + u ~ ( k + 1 + i ∣ k + 1 ) T R u ~ ( k + 1 + i ∣ k + 1 ) ) + x ~ ( k + 1 + N ∣ k + 1 ) T P x ~ ( 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=0N1(x~(k+1+ik+1)TQx~(k+1+ik+1)+u~(k+1+ik+1)TRu~(k+1+ik+1))+x~(k+1+Nk+1)TPx~(k+1+Nk+1).
    • 由于候选序列不一定是最优的,故:
      V ( k + 1 ) ≤ V ~ ( k + 1 ) . V(k+1) \leq \tilde{V}(k+1). V(k+1)V~(k+1).
  3. 计算差值
    V ~ ( k + 1 ) − V ( k ) = − x ( k ) T Q x ( k ) − u ( k ) T R u ( k ) ⏟ 首项被移除 + x ∗ ( k + N ∣ k ) T [ ( A + B K ) T P ( A + B K ) − P ] x ∗ ( k + N ∣ k ) ⏟ 新终端状态贡献 + x ∗ ( k + N ∣ k ) T ( Q + K T R K ) x ∗ ( k + N ∣ k ) ⏟ 新增的最后一步代价 = − x ( k ) T Q x ( k ) − u ( k ) T R u ( k ) + x ∗ ( k + N ∣ k ) T [ ( A + B K ) T P ( A + B K ) − P + Q + K T R K ] 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+Nk)T[(A+BK)TP(A+BK)P]x(k+Nk)+新增的最后一步代价 x(k+Nk)T(Q+KTRK)x(k+Nk)x(k)TQx(k)u(k)TRu(k)+x(k+Nk)T[(A+BK)TP(A+BK)P+Q+KTRK]x(k+Nk).

根据代数Riccati方程,有:

( A + B K ) T P ( A + B K ) − P + Q + K T R K = 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 ) T Q x ( k ) − u ( k ) T R u ( k ) ≤ − x ( k ) T Q x ( 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).

  1. 稳定性结论
    • V ( k + 1 ) ≤ V ~ ( k + 1 ) ≤ V ( k ) − x ( k ) T Q x ( 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 ) ≥ 0 V(k) \geq 0 V(k)0),故 V ( k ) → 0 V(k) \to 0 V(k)0
    • 由于 Q ≻ 0 Q \succ 0 Q0,可得 x ( k ) → 0 x(k) \to 0 x(k)0,即闭环系统渐近稳定。

总结

对于线性系统,通过合理设计终端约束 X f \mathcal{X}_f Xf(控制不变集)和终端代价 P P P(LQR解),MPC的迭代可行性由控制不变性保证,稳定性则由目标函数的李雅普诺夫性质保证。此框架可推广至带约束的线性系统,是经典MPC理论的核心结果。

( A + B K ) T P ( A + B K ) − P + Q + K T R K = 0 ↓ K = − ( B T P B + R ) − 1 B T P A P = A T P A − A T P B ( R + B T P B ) − 1 B T P A + 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=0K=(BTPB+R)1BTPAP=ATPAATPB(R+BTPB)1BTPA+Q.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值