Embodied AI Glossary中文

Sequential Quadratic Programming

序列二次规划SQPAdvanced

An iterative algorithm that solves nonlinear constrained optimization by repeatedly approximating it as a quadratic program.

SQP solves optimization problems where both the objective and the constraints are smooth nonlinear functions. Each iteration, near the current solution, it approximates the Lagrangian (the objective plus the constraints weighted by multipliers) as a quadratic function and linearizes the constraints, producing a quadratic programming (QP) subproblem; solving that subproblem gives a search direction, the solution is updated, and the process repeats until the Karush-Kuhn-Tucker (KKT) optimality conditions are satisfied. This is essentially Newton's method extended to constrained problems — it converges fast, but only guarantees a local optimum, depends on a good initial guess, and needs a line search or trust region to avoid diverging. Robot trajectory optimization and nonlinear MPC rely on it heavily, writing dynamics, joint limits, and obstacle avoidance as constraints; online MPC can warm-start from the previous cycle's solution, and real-time-iteration (RTI) schemes even perform just one SQP round per cycle. The other major family of solvers, running alongside SQP, is interior-point methods such as Ipopt.

ExampleETH Zurich's open-source optimal control library OCS2 provides a multiple-shooting SQP solver built on HPIPM, used for nonlinear MPC on quadrupeds and mobile manipulators. SciPy's minimize(method='SLSQP') is also a form of SQP and can be used directly for small-scale inverse kinematics or parameter fitting.

Also called
SQP, Lagrange-Newton Method
Related
Quadratic Programming · Trajectory Optimization · Nonlinear Model Predictive Control · Multiple Shooting · OCS2 · acados (fast embedded optimal control solver)
Sources
Sequential quadratic programming - Wikipedia
OCS2 Toolbox 文档(SLQ / iLQR / SQP / IPM 求解器) (Chinese)
SciPy minimize(method='SLSQP') 文档 (Chinese)

See it in the full glossary →