Quire

Second-order cone programming

From Quire, the open reference·Convex optimization problem·3 min read
Redirected from SOCP

A second-order cone program (SOCP) is a convex optimization problem of the form

minimize {\displaystyle \ f^{T}x\ }
subject to {\displaystyle \lVert A_{i}x+b_{i}\rVert _{2}\leq c_{i}^{T}x+d_{i},\quad i=1,\dots ,m} {\displaystyle Fx=g\ }

where the problem parameters are {\displaystyle f\in \mathbb {R} ^{n},\ A_{i}\in \mathbb {R} ^n_{i\times n},\ b_{i}\in \mathbb {R} ^{n_{i,\ c_{i}\in \mathbb {R} ^{n},\ d_{i}\in \mathbb {R} ,\ F\in \, and {\displaystyle g\in \mathbb {R} ^{p. {\displaystyle x\in \mathbb {R} ^{n is the optimization variable. {\displaystyle \lVert x\rVert _{2 is the Euclidean norm and {\displaystyle ^{T indicates transpose.[1]

The name "second-order cone programming" comes from the nature of the individual constraints, which are each of the form:

{\displaystyle \lVert Ax+b\rVert _{2}\leq c^{T}x+d}

These each define a subspace that is bounded by an inequality based on a second-order polynomial function defined on the optimization variable {\displaystyle x}; this can be shown to define a convex cone, hence the name "second-order cone".[2] By the definition of convex cones, their intersection can also be shown to be a convex cone, although not necessarily one that can be defined by a single second-order inequality. See below for a more detailed treatment.

SOCPs can be solved by interior point methods[3] and in general, can be solved more efficiently than semidefinite programming (SDP) problems.[4] Some engineering applications of SOCP include filter design, antenna array weight design, truss design, and grasping force optimization in robotics.[5] Applications in quantitative finance include portfolio optimization; some market impact constraints, because they are not linear, cannot be solved by quadratic programming but can be formulated as SOCP problems.[6][7][8]

Second-order cones#edit

The standard or unit second-order cone of dimension {\displaystyle n+1} is defined as

{\displaystyle {\mathcal {C_{n+1}=\left\\begin{bmatrix}x\\t\end{bmatrix{\Bigg |}x\in \mathbb {R} ^{n},t\in \mathbb {R} ,\|x\|_{2}\leq t\right\.

The second-order cone is also known by the names quadratic cone, ice-cream cone[9], or Lorentz cone. For example, the standard second-order cone in {\displaystyle \mathbb {R} ^{3 is

{\displaystyle \left\{(x,y,z){\Big |}{\sqrt {x^{2}+y^{2\leq z\right\.

The set of points satisfying a second-order cone constraint is the inverse image of the unit second-order cone under an affine mapping:

{\displaystyle \lVert A_{i}x+b_{i}\rVert _{2}\leq c_{i}^{T}x+d_{i}\Leftrightarrow {\begin{bmatrix}A_{i}\\c_{i}^{T}\end{bmatrixx+{\begin{bmatrix}b_{i}\\d_{i

and hence is convex.

The second-order cone can be embedded in the cone of the positive semidefinite matrices since

{\displaystyle ||x||\leq t\Leftrightarrow {\begin{bmatrix}tI&x\\x^{T}&t\end{bmatrix\succcurlyeq 0,}

i.e., a second-order cone constraint is equivalent to a linear matrix inequality. The nomenclature here can be confusing; here {\displaystyle M\succcurlyeq 0} means {\displaystyle M} is a semidefinite matrix: that is to say

{\displaystyle x^{T}Mx\geq 0{\text{ for all x\in \mathbb {R} ^{n

which is not a linear inequality in the conventional sense.

Similarly, we also have,

{\displaystyle \lVert A_{i}x+b_{i}\rVert _{2}\leq c_{i}^{T}x+d_{i}\Leftrightarrow {\begin{bmatrix}(c_{i}^{T}x+d_{i})I&A_{i}x+b_{i}\\(A_{i}x+b_{i})^&#1.

Relation with other optimization problems#edit

A hierarchy of convex optimization problems. (LP: linear program, QP: quadratic program, SOCP second-order cone program, SDP: semidefinite program, CP: cone program.)
A hierarchy of convex optimization problems. (LP: linear program, QP: quadratic program, SOCP second-order cone program, SDP: semidefinite program, CP: cone program.) Image: source and license

When {\displaystyle A_{i}=0} for {\displaystyle i=1,\dots ,m}, the SOCP reduces to a linear program. When {\displaystyle c_{i}=0} for {\displaystyle i=1,\dots ,m}, the SOCP is equivalent to a convex quadratically constrained linear program.

Convex quadratically constrained quadratic programs can also be formulated as SOCPs by reformulating the objective function as a constraint.[5] Semidefinite programming subsumes SOCPs as the SOCP constraints can be written as linear matrix inequalities (LMI) and can be reformulated as an instance of semidefinite program.[5] The converse, however, is not valid: there are positive semidefinite cones that do not admit any second-order cone representation.[4]

Any closed convex semialgebraic set in the plane can be written as a feasible region of a SOCP.[10] However, it is known that there exist convex semialgebraic sets of higher dimension that are not representable by SDPs; that is, there exist convex semialgebraic sets that can not be written as the feasible region of a SDP (nor, a fortiori, as the feasible region of a SOCP).[11]

Examples#edit

Quadratic constraint#edit

Consider a convex quadratic constraint of the form

{\displaystyle x^{T}Ax+b^{T}x+c\leq 0.}

This is equivalent to the SOCP constraint

{\displaystyle \lVert A^{1/2}x+{\frac {1}{2A^{-1/2}b\rVert \leq \left({\frac {1}{4b^{T}A^{-1}b-c\right)^{\frac {1}{2

Stochastic linear programming#edit

Consider a stochastic linear program in inequality form

minimize {\displaystyle \ c^{T}x\ }
subject to {\displaystyle \mathbb {P} (a_{i}^{T}x\leq b_{i})\geq p,\quad i=1,\dots ,m}

where the parameters {\displaystyle a_{i}\ } are independent Gaussian random vectors with mean {\displaystyle {\bar {a_{i and covariance {\displaystyle \Sigma _{i}\ } and {\displaystyle p\geq 0.5}. This problem can be expressed as the SOCP

minimize {\displaystyle \ c^{T}x\ }
subject to {\displaystyle {\bar {a_{i}^{T}x+\Phi ^{-1}(p)\lVert \Sigma _{i}^{1/2}x\rVert _{2}\leq b_{i},\quad i=1,\dots ,m}

where {\displaystyle \Phi ^{-1}(\cdot )\ } is the inverse normal cumulative distribution function.[1]

Stochastic second-order cone programming#edit

We refer to second-order cone programs as deterministic second-order cone programs since data defining them are deterministic. Stochastic second-order cone programs are a class of optimization problems that are defined to handle uncertainty in data defining deterministic second-order cone programs.[12]

Other examples#edit

Other modeling examples are available at the MOSEK modeling cookbook.[13]

Solvers and scripting (programming) languages#edit

NameLicenseBrief info
ALGLIBfree/commercialA dual-licensed C++/C#/Java/Python numerical analysis library with parallel SOCP solver.
AMPLcommercialAn algebraic modeling language with SOCP support
Artelys Knitrocommercial
CPLEXcommercial
FICO Xpresscommercial
Gurobi Optimizercommercial
MATLABcommercialThe coneprog function solves SOCP problems[14] using an interior-point algorithm[15]
MOSEKcommercialparallel interior-point algorithm
NAG Numerical LibrarycommercialGeneral purpose numerical library with SOCP solver

See also#edit

  • Power cones are generalizations of quadratic cones to powers other than 2.[16]

References#edit

  1. ^ a b Boyd, Stephen; Vandenberghe, Lieven (2004). Convex Optimization (PDF). Cambridge University Press. ISBN 978-0-521-83378-3. Retrieved July 15, 2019.
  2. ^ Jibrin, Shafiu; Swift, James W. (2024). "On Second-Order Cone Functions". Journal of Optimization. 2024 (1) 7090058. arXiv:2308.01360. doi:10.1155/2024/7090058. ISSN 2314-6486.
  3. ^ Potra, lorian A.; Wright, Stephen J. (1 December 2000). "Interior-point methods". Journal of Computational and Applied Mathematics. 124 (1–2): 281–302. Bibcode:2000JCoAM.124..281P. doi:10.1016/S0377-0427(00)00433-7.
  4. ^ a b Fawzi, Hamza (2019). "On representing the positive semidefinite cone using the second-order cone". Mathematical Programming. 175 (1–2): 109–118. arXiv:1610.04901. doi:10.1007/s10107-018-1233-0. ISSN 0025-5610. S2CID 119324071.
  5. ^ a b c Lobo, Miguel Sousa; Vandenberghe, Lieven; Boyd, Stephen; Lebret, Hervé (1998). "Applications of second-order cone programming". Linear Algebra and Its Applications. 284 (1–3): 193–228. doi:10.1016/S0024-3795(98)10032-0.
  6. ^ "Solving SOCP" (PDF).
  7. ^ "portfolio optimization" (PDF).
  8. ^ Li, Haksun (16 January 2022). Numerical Methods Using Java: For Data Science, Analysis, and Engineering. APress. pp. Chapter 10. ISBN 978-1-4842-6796-7.
  9. ^ Chen, Ying; Bolzern, Paolo; Colaneri, Patrizio (16 May 2019). "Stability, ℒ1 performance and state feedback design for linear systems in ice-cream cones". International Journal of Control. 94 (3): 784. doi:10.1080/00207179.2019.1616825. hdl:11311/1090203. Retrieved 19 February 2026.
  10. ^ Scheiderer, Claus (2020-04-08). "Second-order cone representation for convex subsets of the plane". arXiv:2004.04196 [math.OC].
  11. ^ Scheiderer, Claus (2018). "Spectrahedral Shadows". SIAM Journal on Applied Algebra and Geometry. 2 (1): 26–44. arXiv:1612.07048. doi:10.1137/17M1118981. ISSN 2470-6566.
  12. ^ Alzalg, Baha M. (2012-10-01). "Stochastic second-order cone programming: Applications models". Applied Mathematical Modelling. 36 (10): 5122–5134. doi:10.1016/j.apm.2011.12.053. ISSN 0307-904X.
  13. ^ "MOSEK Modeling Cookbook - Conic Quadratic Optimization".
  14. ^ "Second-order cone programming solver - MATLAB coneprog". MathWorks. 2021-03-01. Retrieved 2021-07-15.
  15. ^ "Second-Order Cone Programming Algorithm - MATLAB & Simulink". MathWorks. 2021-03-01. Retrieved 2021-07-15.
  16. ^ "MOSEK Modeling Cookbook - the Power Cones".

This article is mirrored from “Second-order cone programming” on English Wikipedia, revision 1382060335, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.

Synced with Wikipedia revision 1382060335 · just now