软约束与松弛变量引入

一、硬约束的局限性

1.1 不可行问题

硬约束要求所有约束必须严格满足:

但在以下情况下,问题可能不可行

原因说明
初始状态不可行
扰动/噪声外部扰动将状态推出可行域
模型失配实际系统响应与预测不符
约束过紧状态/输入约束范围过小

1.2 后果

不可行意味着:

  • QP 问题无解
  • MPC 控制器无法计算控制律
  • 系统可能”失控”

二、软约束的基本思想

2.1 约束松弛

软约束 (Soft Constraints):允许约束在一定范围内被违反,但对违反量施加惩罚。

数学表达:

其中 松弛变量,表示约束违反量。

2.2 代价函数修正

在原代价函数基础上添加松弛变量的惩罚:

其中 惩罚系数


三、松弛变量的引入方法

3.1 状态约束松弛

原状态约束:

引入松弛变量

3.2 输入约束松弛

原输入约束:

引入松弛变量

3.3 终端约束松弛

终端约束通常需要保持为硬约束(保证稳定性),但也可松弛:


四、惩罚系数的选择

4.1 二次惩罚

特点

  • 光滑,便于优化
  • 小 violations 被”容忍”
  • 需要较大的 才能近似硬约束

4.2 惩罚(精确惩罚)

特点

  • 精确惩罚性质:当 足够大时,最优解自动满足原约束
  • 适合 MPC(见下文)

4.3 无限惩罚(理论极限)


五、精确惩罚函数理论

5.1 主定理

定理(精确惩罚):考虑约束优化问题

精确惩罚问题:

其中

结论:存在有限阈值 ,使得对于所有 ,精确惩罚问题的最优解等于原问题的最优解。

5.2 在 MPC 中的应用

在 MPC 中使用 惩罚:

  • 足够大时,最优解自动满足原约束(若原问题可行)
  • 当原问题不可行时,求解”最小违反”的解

5.3 的下界估计

其中 是原问题的最优 Lagrange 乘子。


六、软约束 QP 形式

6.1 原问题

6.2 松弛问题

引入松弛变量

6.3 标准 QP 形式

定义增广变量

其中:


七、约束优先级

7.1 多级优先级

不同约束可能有不同的重要程度:

优先级约束类型处理方式
最高输入硬约束(执行器限制)保持硬约束
中等状态硬约束(安全限制)软约束,大
性能约束(跟踪误差)软约束,小

7.2 加权惩罚

其中 反映第 个约束的重要性。


八、示例:状态约束松弛

8.1 原约束

8.2 松弛形式

8.3 惩罚项

8.4 数值示例

若最优解为

  • 约束违反量:
  • 惩罚代价:

时,,解趋近硬约束。


九、总结

概念说明
软约束允许违反但有惩罚的约束
松弛变量,表示违反量
惩罚精确惩罚, 足够大时等价硬约束
惩罚光滑惩罚,适合优化
约束优先级不同约束设置不同

更新记录

日期内容
2026-04-10初始版本