A Second order cone program (SOCP ) is a convex optimization problem of the form
minimize
f
T
x
{\displaystyle \ f^{T}x\ }
subject to
‖
A
i
x
+
b
i
‖
2
≤
c
i
T
x
+
d
i
,
i
=
1
,
…
,
m
{\displaystyle \lVert A_{i}x+b_{i}\rVert _{2}\leq c_{i}^{T}x+d_{i},\quad i=1,\dots ,m}
F
x
=
g
{\displaystyle Fx=g\ }
where the problem parameters are
f
∈
R
n
,
A
i
∈
R
n
i
×
n
,
b
i
∈
R
n
I
,
c
i
∈
R
n
,
d
i
∈
R
,
F
∈
R
p
×
n
{\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 \mathbb {R} ^{p\times n}}
, and
g
∈
R
p
{\displaystyle g\in \mathbb {R} ^{p}}
. Here
x
∈
R
n
{\displaystyle x\in \mathbb {R} ^{n}}
is the optimization variable. When
A
i
=
0
{\displaystyle A_{i}=0}
for
i
=
1
,
…
,
m
{\displaystyle i=1,\dots ,m}
, the SOCP reduces to a linear program . When
c
i
=
0
{\displaystyle c_{i}=0}
for
i
=
1
,
…
,
m
{\displaystyle i=1,\dots ,m}
, the SOCP is equivalent to a convex Quadratically constrained quadratic program . SOCPs can b solved with great efficiency by interior point methods .
Example: Robust Linear Programming
Consider a linear program in inequality form
minimize
c
T
x
{\displaystyle \ c^{T}x\ }
subject to
a
i
T
(
x
)
≤
b
i
,
i
=
1
,
…
,
m
{\displaystyle a_{i}^{T}(x)\leq b_{i},\quad i=1,\dots ,m}
where the parameters
a
i
{\displaystyle a_{i}\ }
are independent Gaussian random vectors with mean
a
¯
i
{\displaystyle {\bar {a}}_{i}}
and covariance
Σ
i
{\displaystyle \Sigma _{i}\ }
. We require that each constraint
a
i
T
x
≤
b
i
{\displaystyle a_{i}^{T}x\leq b_{i}}
should hold with a probability exceeding
η
{\displaystyle \eta }
, where
η
≥
0.5
{\displaystyle \eta \geq 0.5}
, i.e.
P
(
a
i
T
x
≤
b
i
)
≥
η
{\displaystyle P(a_{i}^{T}x\leq b_{i})\geq \eta }
. This problem can be expressed as the SOCP
minimize
c
T
x
{\displaystyle \ c^{T}x\ }
subject to
a
¯
i
T
(
x
)
+
Φ
−
1
(
η
)
‖
Σ
i
1
/
2
x
‖
2
≤
b
i
,
i
=
1
,
…
,
m
{\displaystyle {\bar {a}}_{i}^{T}(x)+\Phi ^{-1}(\eta )\lVert \Sigma _{i}^{1/2}x\rVert _{2}\leq b_{i},\quad i=1,\dots ,m}