二阶锥规划简介
(1)锥
定义1:
对于一个向量空间 $R^n$ 与它的一个子集 C ,如果子集 C中的任意一点 x 与任意正数θ 的乘积仍然属于子集 C , 则称 C为一个锥(cone)
定义2:
对于集合,,C⊆$R^n$,∀x∈C,θ≥0,有 θx∈C,则x构成的集合称为锥
由上述定义我们知道锥不一定是连续的,可以是数条过原点的射线的集合,并且锥总是无界的。
(2) 凸锥
定义:
对于$ C⊆R^n,∀x_1,x_2,…,x_n∈C,θ_i≥0$, 若 $θ_1x_1+θ_2x_2+…+θ_nx_n∈C$, 则 C 是凸锥。
简单来说:一个集合既是凸集又是锥,则是凸锥。
闭凸锥
如果一个集合既是凸集,又是闭集,同时又是锥,则称为闭凸锥
(3)标准锥
n 维标准锥(norm cone)的定义:$C={(x,t)∣∥x∥≤t,x∈R^{n−1},t∈R}$
Note:
- 标准锥是一个凸锥, 变量包括 x 和 t;
- 用定义可以证明是一个锥;
- 利用范数的三角不等式可以证明是一个凸集.
下图是一个3维的标准锥:
(4)二阶锥
二阶锥规划是一种非常特殊的非线性优化,有非常高效的求解算法。所谓二阶是指锥里面用到的是二范数,下面的表达式表示一个二阶锥(second order cone):
$∥Ax+b∥^2≤c^Tx+d$
二阶锥相当于对标准锥 $C={(x,t)∣∥x∥^2≤t,t≥0}$ 做了仿射变换 :$∥Ax+b∥^2≤c^Tx+d⇔(Ax+b,c^Tx+d)∈C$
根据仿射变换的性质, 变换后凹凸性不变, 因此二阶锥仍然是一个凸锥。 注: 对向量 x 仿射变换(相当于将一个图形平移、变大变小、旋转或倒影): y=Ax+b, 其 中 Ax 表示对 x 变大变小或旋转倒影, 而 +b 表示平移。
(5)二阶锥规划
二阶锥规划 (SOCP,Second Order Cone Programming )的一般形式如下:
$\begin{array}{ll}\operatorname{minimize} & f^T x \\ \text { subject to } & ∥A_i x+b_i∥_2 \leqslant c_i^T x+d_i, \quad i=1, \cdots, m \\ & F x=g,\end{array}$
其中,$ x∈R^n$ 为优化变量, $A_i∈R^{ni×n} 且 F∈R^{p×n} $。我们称这种形式中的约束:$∥A_ix+b_i∥2⩽c_i^Tx+d_i ,=1,⋯,m$为二阶锥约束。
Note:
- 目标函数为仿射函数;
- 当Ai = 0, 问题退化为LP;
- 当ci = 0, 问题退化为QCQP(二次约束二次规划);
- 问题形式比LP与QCQP更常规;
- 一些其他优化问题也可以转化为 SOCP,例如二次规划可以转化为SOCP。
参考资料
- 锥、二阶锥
- 《最优化:建模、算法与理论》.刘浩洋、户将、李勇锋、文再文编著
- 《凸优化》.Boyd