This article needs attention from an expert in mathematics. Please add a reason or a talk parameter to this template to explain the issue with the article.(November 2008) |
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 for , the SOCP reduces to a linear program. When 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.
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.
Solvers
There are various solver 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 |
SDPT3 | GPL2 | API: MATLAB; last update - December 2002 |
SDPA | GPL | primal-dual interior-point method |
SDPLR | GPL? | language: C, API: MATLAB |
SBmethod | GPL | no longer supported |
2. Commercial
- MOSEK — The first commercially available software package for solution SOCP.
- CPLEX — Full-featured solver for large scale linear, quadratic, and integer programming problems, including SOCP
- SeDuMi
- 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]
External links
- Stephen Boyd and Lieven Vandenberghe, Convex Optimization (book in pdf).
References
- ^ H.D Mittelmann (2003). "An independent benchmarking of SDP and SOCP solvers". Mathematical programming. 2003 (2). Springer: 407--430.
- ^ http://plato.asu.edu/ftp/dimacs_sdp.html