Second-order cone programming
|
|
This article needs attention from an expert on the subject. See the talk page for details. WikiProject Mathematics or the Mathematics Portal may be able to help recruit an expert. (November 2008) |
|
|
This article may be too technical for most readers to understand. Please help improve this article to make it understandable to non-experts, without removing the technical details. The talk page may contain suggestions. (October 2011) |
A second-order cone program (SOCP) is a convex optimization problem of the form
- minimize
subject to
where the problem parameters are
, and
. Here
is the optimization variable. When Ai = 0 for
, the SOCP reduces to a linear program. When ci = 0 for
, the SOCP is equivalent to a convex Quadratically constrained quadratic program. Semidefinite programs subsumes SOCPs as the SOCP constraints can be written as Linear Matrix Inequalities(LMI) and can be reformulated as an instance of semi definite program. SOCPs can be solved with great efficiency by interior point methods.
Contents |
[edit] Example: Quadratic Constraint
Consider a quadratic constraint of the form
This is equivalent to the SOC constraint
[edit] Example: Stochastic Programming
Consider a stochastic linear program in inequality form
- minimize
subject to
where the parameters
are independent Gaussian random vectors with mean
and covariance
and
. This problem can be expressed as the SOCP
- minimize
subject to
where
is the inverse error function.
[edit] Solvers
There are various solvers available for solving SOCP. Some of the popular ones are listed below
1. Free and opensource, with OSI-Approved licenses
| Name | License | Brief info |
|---|---|---|
| CSDP | CPL | a library of routines that implements a predictor corrector variant of the semidefinite programming algorithm of Helmberg, Rendl, Vanderbei, and Wolkowicz |
| DSDP | GPL | is present in Linux software channels |
| OpenOpt | BSD | universal cross-platform numerical optimization framework; see its SOCP page and full list of problems |
| SBmethod | GPL | no longer supported |
| SDPT3 | GPL2 | API: MATLAB (commercial); last update - December 2002 |
| SDPA | GPL | primal-dual interior-point method |
| SDPLR | GPL? | language: C, API: MATLAB |
| SeDuMi | GPL? | package for commercial MATLAB |
| CVXOPT | GPL | a comprehensive Python library for convex optimization |
2. Commercial
- MOSEK — The first commercially available software package for solution SOCP. with Free Academic Licence.
- CPLEX — Full-featured solver for large scale linear, quadratic, and integer programming problems, including SOCP
- PENSDP
- LOQO
Note that the most of the solvers in the above list are more general solvers (i.e they solve Semidefinite Programs or more general Convex optimization problems). There have been a few benchmarking studies comparing the various solvers [1][2]
[edit] References
- ^ H.D Mittelmann (2003). "An independent benchmarking of SDP and SOCP solvers". Mathematical programming (Springer) 95 (2): 407–430. doi:10.1007/s10107-002-0355-5.
- ^ SDP Benchmark results
[edit] External links
- Boyd, Stephen P.; Vandenberghe, Lieven (2004) (pdf). Convex Optimization. Cambridge University Press. ISBN 9780521833783. http://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf. Retrieved October 15, 2011.
subject to



subject to
