序列二次规划(Sequential Quadratic Programming)
本文作者:天疆说
定义
序列二次规划(SQP)算法是求解非线性规划(NLP)问题最有效的方法之一,具有整体收敛性与局部超线性收敛特性。其基本思想是将原 NLP 问题转化为一系列二次规划(QP)子问题进行求解。
核心要素
问题形式
一般的 NLP 问题可表示为:
其中 包含状态变量和控制变量。
Lagrangian 函数
NLP 问题的 Lagrangian 函数为:
QP 子问题
在每次迭代中,用一阶 Taylor 级数近似约束条件,二阶 Taylor 级数近似目标函数,将 NLP 问题转化为 QP 子问题:
其中 为 Lagrangian 函数 Hessian 矩阵的近似正定形式,采用改进 BFGS 公式更新:
迭代步骤
- 给定初始点 、初始矩阵 和控制误差
- 求解 QP 子问题,确定搜索方向 及拉格朗日乘子
- 由精确一维搜索确定步长因子 ,计算新迭代点
- 若 ,停止;否则更新 ,返回步骤 2
与其他优化方法的对比
| 方法 | 特点 | 适用场景 |
|---|---|---|
| SQP | 基于梯度,收敛快,局部最优 | 连续可微的 NLP 问题 |
| 遗传算法 | 全局搜索,不依赖梯度 | 离散或非光滑问题 |
| 模拟退火 | 全局搜索,避免局部最优 | 复杂多峰问题 |
应用价值
SQP 算法是轨迹优化的核心方法之一。在运载火箭和弹道导弹的轨迹优化中,SQP 算法用于求解以运载能力或落点精度为目标函数、以入轨条件和过程约束为约束条件的非线性规划问题。其快速收敛特性使其在工程设计中得到广泛应用。
相关概念
- 轨迹优化(Trajectory Optimization)
- 牛顿迭代法(Newton's Iteration Method)
- 发射方位角(Launch Azimuth)
- 俯仰程序角(Pitch Program Angle)
参考文献
- 郑伟, 安雪滢, 周祥, 何睿智. 空天飞行力学[M]. 国防科技大学, 2026.
- 贾沛然, 陈克俊, 等. 远程火箭弹道学[M]. 国防科技大学出版社.
