The SSQP Solver¶
ssqp::solvers::ssqp is the outer SQP loop. See The SSQP Solver in Concepts for the
conceptual explanation (termination criteria, line search methods, QP solver selection). The reference below is
generated directly from include/solvers/ssqp.hpp's own doc comments, including the nested Params, Guess,
IterationConvergenceData and ConvergenceData types (each also has its own full page, linked from the "Classes"
table below).
Class ssqp::solvers::ssqp¶
ClassList > ssqp > solvers > ssqp
#include <ssqp.hpp>
Classes¶
| Type | Name |
|---|---|
| struct | ConvergenceData |
| struct | Guess |
| struct | IterationConvergenceData |
| struct | Params |
Public Types¶
| Type | Name |
|---|---|
| enum | LineSearchMethod |
| enum | QPSolverType |
Public Functions¶
| Type | Name |
|---|---|
| const ConvergenceData | convergenceData () const |
| MatX | feedbackGain (const uint k) const |
| const model::Model & | model () const |
| void | reinitialize () |
| void | setReducedOutput (const bool reduced) |
| SolverState | solve (Guess & guess) |
| ssqp (model::Model & model, const Params & params=Params::Default()) |
|
| ssqp (const model::Model & model, const Params & params=Params::Default()) |
|
| bool | write (const std::string & filepath) |
Detailed Description¶
SSQP class Defines an SSQP problem solver based on a given SSQP model and the desired parameters.
SSQP is a Structure-exploiting Sequential Quadratic Programming solver. The solver starts with an initial guess (either provided, or zero) for the states (x) and controls (u) of an optimization problem over a time horizon H.
At each step, SSQP constructs a Quadratic Program at the current SSQP guess with a quadratic cost function and linearized constraints. This is done using the SSQP model, a model of the system being optimized which provides the necessary methods to linearize at each guess, like gradients and hessians.
The solver then utilizes a QP solver to produce a solution to the constructed QP, which can act as an update step for the current SSQP guess. Based on this solution, a line search method is used to update the current guess.
Termination criteria are then checked for the new SSQP guess. The process is repeated until convergence is reached.
Public Types Documentation¶
enum LineSearchMethod¶
enum QPSolverType¶
Public Functions Documentation¶
function convergenceData¶
function feedbackGain¶
function model¶
function reinitialize¶
function setReducedOutput¶
function solve¶
function ssqp [1/2]¶
function ssqp [2/2]¶
function write¶
The documentation for this class was generated from the following file /home/runner/work/ssqp/ssqp/include/solvers/ssqp.hpp