基于 Shift 操作的可行解构造
一、Shift 操作的核心思想
1.1 问题背景
在时刻 ,MPC 求解优化问题得到最优控制序列:
在时刻 ,需要重新求解优化问题。问题是:
- 如何构造时刻 的一个可行解?
- 这个可行解可用于证明递归可行性和稳定性
1.2 Shift 操作的定义
Shift 操作:将时刻 的最优序列”平移”,并在末尾添加终端控制律,构造时刻 的候选解:
其中终端控制输入:
是终端控制律增益(通常取 LQR 增益 )。
二、Shift 解的可行性分析
2.1 假设条件
假设:
- 时刻 的问题可行,最优解为
- 终端集 是控制不变集
- 终端控制律 满足:
2.2 可行性定理
定理:在上述假设下,Shift 构造的序列 是时刻 的可行解。
2.3 证明
证明:需要验证 满足所有约束。
步骤 1:状态约束验证
对于 :
(因为 可行)
对于 (终端状态):
(因为 是不变集且 )
步骤 2:输入约束验证
对于 :
(因为 可行)
对于 (终端控制):
(因为 且终端控制律满足输入约束)
步骤 3:终端约束验证
(因为 是不变集)
证毕。
三、Shift 解的最优性
3.1 无约束情况
命题:在无约束情况下,Shift 构造的序列 是时刻 的最优解。
原因:
- 无约束 LQR 的最优控制律是时不变的:
- Shift 后的序列正是这个控制律的应用
3.2 有约束情况
命题:在有约束情况下,Shift 构造的序列 是时刻 的可行解,但不一定是最优解。
关系:
这个不等式是 MPC 稳定性证明的关键。
3.3 最优性损失分析
最优性损失(suboptimality):
的大小取决于:
- 约束的活跃程度
- 终端集的大小
- 预测时域
四、Shift 操作的应用
4.1 递归可行性证明
Shift 操作是证明递归可行性的核心工具:
证明思路:
- 假设时刻 可行(存在 )
- 用 Shift 构造
- 证明 是时刻 的可行解
- 因此时刻 可行
结论:若初始状态可行,则所有后续时刻都可行。
4.2 稳定性证明
Shift 操作用于证明最优值函数的单调下降性:
4.3 热启动 (Warm Start)
在数值优化中,Shift 解可作为初始猜测:
优势:
- 加速优化收敛
- 减少迭代次数
- 特别适合实时 MPC
五、Shift 操作的变体
5.1 完整 Shift
标准的 Shift 操作(如上所述):
- 平移整个序列
- 添加终端控制律
5.2 部分 Shift
仅平移部分序列(用于 的情况):
5.3 带校正的 Shift
当存在扰动或模型失配时,添加校正项:
六、示例:二阶系统 Shift
6.1 系统参数
约束:
6.2 时刻
初始状态 ,最优解:
6.3 时刻
实际状态 ,Shift 构造:
验证: 满足所有约束,是可行解。
七、总结
| 概念 | 说明 |
|---|---|
| Shift 操作 | 平移上一时刻最优解并添加终端控制律 |
| 可行性 | 若终端集是不变集,Shift 解可行 |
| 最优性 | 无约束时最优,有约束时次优 |
| 应用 | 递归可行性证明、稳定性证明、热启动 |
相关内容
滚动时域执行见 01-滚动时域执行策略 RHO 递归可行性见 03-递归可行性的初步概念 State Shift 原理(无约束)见 01-滚动时域下的状态平移原理
更新记录
| 日期 | 内容 |
|---|---|
| 2026-04-10 | 初始版本 |