具身智能新手名词表English

序列二次规划

Sequential Quadratic ProgrammingSQP进阶

把非线性约束优化问题反复近似成二次规划来求解的迭代算法。

SQP 用来解目标和约束都是光滑非线性函数的优化问题。每轮迭代在当前解附近,把拉格朗日函数(目标加上乘子乘约束)近似成二次函数、把约束线性化,得到一个二次规划(QP)子问题;解出搜索方向后更新,再重复,直到满足最优性条件(KKT 条件)。它相当于把牛顿法推广到有约束的情形,收敛快,但只保证局部最优,依赖好的初值,还要配合线搜索或信赖域防止走偏。机器人的轨迹优化和非线性 MPC 大量用它:把动力学、关节限位、避障写成约束;在线 MPC 可以用上一周期的解热启动,实时迭代(RTI)方案甚至每周期只做一轮 SQP。与之并列的另一大类是内点法(如 Ipopt)。

例子ETH 开源的最优控制库 OCS2 提供基于 HPIPM 的多重打靶 SQP 求解器,用于四足和移动操作臂的非线性 MPC;SciPy 的 minimize(method='SLSQP') 也是一种 SQP,可以直接拿来解小规模的逆运动学或参数拟合问题。

也叫
拉格朗日-牛顿法、Lagrange-Newton method
相关
二次规划、轨迹优化、非线性模型预测控制、多重打靶法、OCS2、acados
来源
Sequential quadratic programming - Wikipedia
OCS2 Toolbox 文档(SLQ / iLQR / SQP / IPM 求解器)
SciPy minimize(method='SLSQP') 文档

在完整名词表里查看 →