Main Content

Second-order cone programming solver

The `coneprog`

function is a second-order cone programming
solver that finds the minimum of a problem specified by

$$\underset{x}{\mathrm{min}}{f}^{T}x$$

subject to the constraints

$$\begin{array}{c}\Vert {A}_{\text{sc}}(i)\cdot x-{b}_{\text{sc}}(i)\Vert \le {d}_{\text{sc}}^{T}(i)\cdot x-\gamma (i)\\ A\cdot x\le b\\ \text{Aeq}\cdot x=\text{beq}\\ \text{lb}\le x\le \text{ub}.\end{array}$$

*f*, *x*, *b*, *beq*,
*lb*, and *ub* are vectors, and *A* and
*Aeq* are matrices. For each *i*, the matrix
*A*_{sc}(*i*), vectors
*d*_{sc}(*i*) and
*b*_{sc}(*i*), and scalar
*γ*(*i*) are in a second-order cone constraint that you
create using `secondordercone`

.

For more details about cone constraints, see Second-Order Cone Constraint.

solves the second-order cone programming problem with the constraints in
`x`

= coneprog(`f`

,`socConstraints`

)`socConstraints`

encoded as

*A*_{sc}(*i*) =`socConstraints(i).A`

*b*_{sc}(*i*) =`socConstraints(i).b`

*d*_{sc}(*i*) =`socConstraints(i).d`

*γ*(*i*) =`socConstraints(i).gamma`

The algorithm uses an interior-point method. For details, see Second-Order Cone Programming Algorithm.

The **Optimize** Live Editor task provides a visual interface for `coneprog`

.