Successive Convexification
- Successive convexification is a trajectory optimization method that converts nonconvex optimal control problems into tractable convex problems using local linearization, virtual controls, and trust regions.
- It iteratively solves convex subproblems by linearizing dynamics, enforcing feasibility with artificial constructs, and adapting trust regions to guarantee convergence.
- The approach supports both discrete and continuous time settings, extends to uncertain environments, and can be implemented using LP, QP, or SOCP solvers.
Successive convexification is a trajectory optimization methodology that transforms a nonconvex optimal control problem (OCP)—where nonlinearity and nonconvex constraints preclude direct global solution—into a rapidly convergent sequence of tractable convex subproblems. At each iteration, the original dynamics and nonconvex constraints are locally linearized about a reference trajectory, and feasibility is safeguarded through the inclusion of artificial constructs such as virtual controls and trust regions. Successive convexification techniques have demonstrated strong theoretical guarantees for convergence, practical real-time performance in a range of guidance and control applications, and the facility to handle challenging constraints such as logical obstacle avoidance via state-triggered constructs (Boyali et al., 2020, Mao et al., 2017, Mao et al., 2018, Elango et al., 22 May 2025, Uzun et al., 5 Jun 2026). The framework supports both discrete- and continuous-time problem settings, generalizes readily to uncertainty and robustness, and can be realized using a variety of convex optimization back ends (LP, QP, SOCP).
1. Core Methodology and Theoretical Foundations
Successive convexification (often abbreviated SCvx) is an iterative framework for solving nonconvex OCPs by repeatedly constructing and solving convex approximations around the current iterate. Nonlinear and/or nonconvex components—typically in the system dynamics, path constraints, and boundary conditions—are locally linearized (most commonly via first-order Taylor expansion, though intrinsic collocation and difference-of-convex representations are used in related variants (Lishkova et al., 2023, Narumi et al., 10 Dec 2025)). The resulting subproblem at each iteration is a convex finite-dimensional program.
A typical SCvx iteration includes the following steps, as formalized in (Boyali et al., 2020, Mao et al., 2017, Mao et al., 2018):
- Linearization: Dynamics, constraints, and sometimes the cost functional are linearized about the most recent solution trajectory (state, control, and possibly time).
- Virtual Control/Slack Augmentation: To guarantee subproblem feasibility even far from the true dynamics (thereby preventing artificial infeasibility), “virtual control” (slack variables) are introduced into the dynamics and penalized in the cost (exact-penalty style) (Mao et al., 2016, Mao et al., 2018).
- Trust Region Enforcement: To prevent “artificial unboundedness” due to the local validity of the linear model, deviations from the linearization point are bounded, either via explicit norm constraints or quadratic penalty terms in the cost (Boyali et al., 2020).
- Convex Subproblem Solution: The resulting convex problem (frequently QP/SOCP) is solved to (near-)optimality.
- Step Acceptance and Trust Region Update: The actual improvement (cost reduction under nonlinear OCP) and predicted improvement (under the convex surrogate) are compared; the solution is accepted if agreement is sufficient, and trust regions are adaptively adjusted (Mao et al., 2018, Boyali et al., 2020).
- Iterate Update: The new solution