Second-order cone programming

This is an old revision of this page, as edited by Dmitrey (talk | contribs) at 12:52, 15 March 2009 (Solvers). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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
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

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
  • 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]

References

  1. ^ H.D Mittelmann (2003). "An independent benchmarking of SDP and SOCP solvers". Mathematical programming. 2003 (2). Springer: 407--430.
  2. ^ http://plato.asu.edu/ftp/dimacs_sdp.html