# mpcInteriorPointSolver

Solve a quadratic programming problem using an interior-point algorithm

*Since R2020a*

## Syntax

## Description

Using `mpcInteriorPointSolver`

, you can solve a quadratic
programming (QP) problem using a primal-dual interior-point algorithm with a Mehrotra
predictor-corrector. This function provides access to the built-in Model Predictive Control Toolbox™ interior-point QP solver.

Using an interior-point solver can provide superior performance for large-scale optimization problems, such as MPC applications that enforce constraints over large prediction and control horizons.

This solver is useful for:

Advanced MPC applications that are beyond the scope of Model Predictive Control Toolbox software.

Custom QP applications, including applications that require code generation.

Alternatively, you can also access the built-in active-set QP solver using `mpcActiveSetSolver`

.

`[`

finds an optimal solution `x`

,`exitflag`

]
= mpcInteriorPointSolver(`H`

,`f`

,`A`

,`b`

,`Aeq`

,`beq`

,`x0`

,`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\le b$$ and equality constraints $${A}_{eq}x={b}_{eq}$$. `exitflag`

indicates the validity of
`x`

.

## Examples

## Input Arguments

## Output Arguments

## Tips

To determine whether

*H*is positive definite, use the`chol`

function.[~,p] = chol(H);

If

`p`

= 0, then`H`

is positive definite. Otherwise,`p`

is a positive integer.`mpcInteriorPointSolver`

provides access to the interior-point QP solver used by Model Predictive Control Toolbox software. Use this command to solve QP problems in your own custom MPC applications. For an example of a custom MPC application, see Solve Custom MPC Quadratic Programming Problem and Generate Code. This example uses`mpcActiveSetSolver`

, however, the workflow applies to`mpcInteriorPointSolver`

as well.

## Algorithms

`mpcInteriorPointSolver`

solves the QP problem using an
interior-point method, based on [1]. For more
information, see QP Solvers.

## References

[1] Nocedal, Jorge, and Stephen J.
Wright. *Numerical Optimization.* New York, NY:
Springer New York, 2006. https://doi.org/10.1007/978-0-387-40065-5.

## Extended Capabilities

## Version History

**Introduced in R2020a**

## See Also

### Functions

`mpcInteriorPointOptions`

|`mpcActiveSetSolver`

|`mpcActiveSetOptions`

|`setCustomSolver`

|`quadprog`

(Optimization Toolbox) |`InteriorPoint`