Second-order cone programming
Encyclopedia
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
Quadratically constrained quadratic program
In mathematics, a quadratically constrained quadratic program is an optimization problem in which both the objective function and the constraints are quadratic functions...

. Semidefinite programs
Semidefinite programming
Semidefinite programming is a subfield of convex optimization concerned with the optimization of a linear objective functionover the intersection of the cone of positive semidefinite matrices with an affine space, i.e., a spectrahedron....

 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: Quadratic Constraint

Consider a quadratic constraint of the form


This is equivalent to the SOC constraint

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
Error function
In mathematics, the error function is a special function of sigmoid shape which occurs in probability, statistics and partial differential equations...

.

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
Common Public License
In computing, the CPL is a free software / open-source software license published by IBM. The Free Software Foundation and Open Source Initiative have approved the license terms of the 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
OpenOpt
OpenOpt is an open-source framework for numerical optimization, nonlinear equations and systems of them. It is licensed under the BSD license, making it available to be used in both open- and closed-code software. The package already has some essential ....

BSD
BSD licenses
BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named....

universal cross-platform numerical optimization framework;
see its SOCP page and full list of problems
SBmethod GPL no longer supported
SDPT3 GPL2 API: MATLAB
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...

 (commercial); last update - December 2002
SDPA GPL primal-dual interior-point method
SDPLR GPL? language: C, API: MATLAB
SeDuMi GPL? package for commercial MATLAB
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...

CVXOPT GPL a comprehensive Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 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
Semidefinite programming
Semidefinite programming is a subfield of convex optimization concerned with the optimization of a linear objective functionover the intersection of the cone of positive semidefinite matrices with an affine space, i.e., a spectrahedron....

 or more general Convex optimization problems). There have been a few benchmarking studies comparing the various solvers
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK