优化理论稍微深入些,就会涉及到锥这个概念,甚至还有专门的锥优化这个研究领域。我一直很奇怪锥到底是什么,准备查阅相关资料,将自己的理解写到博客里面。

1. 锥(cone)

  • 对于一个向量空间 V 与它的一个子集 C,如果子集 C 中的任意一点 x 与 任意正数 a, 其乘积 ax 仍然属于子集 C, 则称 C 为一个锥。

若向量空间为3维,满足定义的图像确实像一个锥,我猜这应该是它叫锥的原因。
锥,凸锥,二阶锥,二阶锥规划

根据定义,一个锥总是无界的。

2. 凸锥(convex cone)

  • 若一个锥 C 中任意两点 xy,以及任意两个正数 ab, 都有 ax+by 属于 C, 则该锥为凸锥。

显然上图也是一个凸锥。根据定义,凸锥的范围比凸集更大,因为它没有要求 a+b=1.
是否存在一个不是凸锥的锥?典型的例子:

y=|x|

一个点 (-2, 2), 另一个点 (1,1), 它们的和 (-1, 3)不在图形里。它的图形:
锥,凸锥,二阶锥,二阶锥规划
但是 y|x| 就是一个凸锥

3. 标准锥(norm cone)

一个 n 维标准锥是满足下列条件的集合:

C={(x,t)xt,xRn1,tR}

标准锥是一个凸锥。(标准锥里面的变量不仅包括 x,还包括 t.)

4. 二阶锥(second order cone)

二阶锥规划是一种非常特殊的非线性优化,有非常高效的求解算法,非常有必要了解一下什么是二阶锥。所谓二阶是指锥里面用到的是二范数,下面的表达式表示一个二阶锥。

Ax+b2cTx+d

二阶锥相当于对标准锥 C={(x,t)x2t,t0} 做了一个仿射变换:

Ax+b2cTx+d(Ax+b,cTx+d)C

根据仿射变换的性质,变换后凹凸性不变,因此二阶锥仍然是一个凸锥。
注:对向量 x 仿射变换(相当于将一个图形平移,或变大变小,或旋转,或倒影):y=Ax+b,其中 Ax 表示对 x 变大或变小或旋转倒影,而 +b 表示平移。

5. 二阶锥规划(second order cone programming,SOCP)

很多问题都可以转化为二阶锥规划来求解,而二阶锥规划能够使用内点法很快求解。

5.1 二次凸规划

二次规划可以转化为二阶锥规划。一个二次凸规划表达式,:

XTAX+qTx+c0

转化成下面的二阶锥:
A1/2x+12A1/2q214qTAqc

就能使用二阶锥规划求解了。

相关文章: