通常认为,如果某个实际问题可以表述为凸优化问题,那么事实上已经解决了这个问题,然而凸优化问题的识别还比较困难,本文将先介绍凸集的定义与常见凸集。
如果集合 C⊆Rn C ⊆ R n 是仿射的,等价于:对于任意的 x1,x2∈C x 1 , x 2 ∈ C 及 θ∈R θ ∈ R 有 θx1+(1−θ)x2∈C θ x 1 + ( 1 − θ ) x 2 ∈ C ,即 C C 包含了 C C 中任意两点的系数之和为1的线性组合。
将其扩展到多个点的情况:如果 θ1+θ2+...+θk=1 θ 1 + θ 2 + . . . + θ k = 1 ,我们则称具有 θ1x1+θ2x2+...+θkxk θ 1 x 1 + θ 2 x 2 + . . . + θ k x k 形式的点为 x1,x2,...,xk x 1 , x 2 , . . . , x k 的仿射组合。例如线性方程组的解集 C={x|Ax=b} C = { x | A x = b } 是一个仿射集。
称由集合 C⊆Rn C ⊆ R n 中点的所有仿射组合所组成的集合为 C C 的仿射包:
仿射包是包含 C C 的最小的仿射集合,即如果集合 S S 满足 C⊆S C ⊆ S ,则 aff C⊆S a f f C ⊆ S ,同时将集合 C C 的仿射维数定义为其仿射包的维数。例如 R2 R 2 上的单位圆环的维数为1,但其仿射维数为2,因为其仿射包为全空间 R2 R 2
如果集合 C C 为凸集,那么对于任意的 x1,x2∈C x 1 , x 2 ∈ C 与 0≤θ≤1 0 ≤ θ ≤ 1 都有 θx1+(1−θ)x2∈C θ x 1 + ( 1 − θ ) x 2 ∈ C ,与仿射集的区别在于仿射集并没有 θ≥0 θ ≥ 0 的要求,例如一条线段是凸集,而一条直线是仿射集。
扩展到多维的情况,如果有 θ1+θ2+...+θk=1,θi≥0 θ 1 + θ 2 + . . . + θ k = 1 , θ i ≥ 0 ,则称具有 θ1x1+θ2x2+...+θkxk θ 1 x 1 + θ 2 x 2 + . . . + θ k x k 形式的点为 x1,x2,...,xk x 1 , x 2 , . . . , x k 的凸组合。
称由集合 C⊆Rn C ⊆ R n 中点的所有凸组合所组成的集合为 C C 的凸包:
与仿射包同样,凸包也是包含 C C 的最小的凸集,在一般情况下,设 C∈Rn C ∈ R n 是凸集, x x 是随机变量,并且 x∈C x ∈ C 的概率为1,那么 E x∈C E x ∈ C
识别出凸集对于识别凸优化问题较为重要,这里将介绍一些比较重要的凸集。
任意的仿射集和子空间都是凸集,一些比较简单的例如空集 ∅ ∅ ,单点集 {x0 { x 0 ,全空间 Rn R n ,直线/射线/线段都是凸的。
还有一些比较重要的凸集如下: