Main Content

(To be removed) Solve a quadratic programming problem using the KWIK algorithm

`mpcqpsolver`

will be removed in a future release. Use
`mpcActiveSetSolver`

instead. For more information, see Compatibility Considerations.

`[`

finds an optimal solution, `x`

,`status`

]
= mpcqpsolver(`Linv`

,`f`

,`A`

,`b`

,`Aeq`

,`beq`

,`iA0`

,`options`

)`x`

, to a quadratic programming
problem by minimizing the objective function:

$$J=\frac{1}{2}{x}^{\u22ba}Hx+{f}^{\u22ba}x$$

subject to inequality constraints $$Ax\ge b$$, and equality constraints $${A}_{eq}x={b}_{eq}$$. `status`

indicates the validity of
`x`

.

The KWIK algorithm requires that the Hessian matrix,

*H*, be positive definite. When calculating`Linv`

, use:`[L, p] = chol(H,'lower');`

If

*p*= 0, then*H*is positive definite. Otherwise,*p*is a positive integer.`mpcqpsolver`

provides access to the QP solver used by Model Predictive Control Toolbox™ software. Use this command to solve QP problems in your own custom MPC applications.

`mpcqpsolver`

solves the QP problem using an active-set method, the
KWIK algorithm, based on [1]. For more information, see
QP Solvers.

[1] Schmid, C., and L.T. Biegler.
‘Quadratic Programming Methods for Reduced Hessian SQP’. *Computers & Chemical Engineering* 18, no. 9 (September 1994):
817–32. https://doi.org/10.1016/0098-1354(94)E0001-4.