凸优化问题具有许多重要的性质,使得其在理论和实践中都得到广泛应用。这些性质包括全局最优解的存在性、局部最优解即为全局最优解、 K K T ( K a r u s h − K u h n − T u c k e r ) KKT(Karush-Kuhn-Tucker) KKT(Karush−Kuhn−Tucker) 条件等。凸优化问题的求解算法通常具有高效性和可靠性。在机器学习、信号处理、控制系统设计等领域,凸优化都起到了关键的作用。
定义:集合 D ∈ R n D \in R^n D∈Rn 称为凸集,如果对于任意 x , y ∈ D x,y \in D x,y∈D 有
λ x + ( 1 − λ ) y ∈ D , ∀ 0 ⩽ λ ⩽ 1 \lambda x + (1 - \lambda)y \in D,~~ \forall ~~ 0 \leqslant \lambda \leqslant 1 λx+(1−λ)y∈D, ∀ 0⩽λ⩽1
换句话说,如果任意两点 x , y ∈ D x,y\in D x,y∈D,则连接 x x x 与 y y y 的直线段上的所有点都在 D D D 内。
对凸集合进行一些基本运算,如交、并、差等,仍然得到凸集合。
定义:设函数 f ( x ) f(x) f(x) 在凸集上 D D D 有定义,如果对任意 x , y ∈ D x, y \in D x,y∈D 和任意 λ ∈ [ 0 , 1 ] \lambda \in [0,1] λ∈[0,1] 有
f ( λ x + ( 1 − λ ) y ) ⩽ λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x + (1 - \lambda)y) \leqslant \lambda f(x) + (1 - \lambda)f(y) f(λx+(1−λ)y)⩽λf(x)+(1−λ)f(y)
则称 f ( x ) f(x) f(x) 是凸集 D D D 上的凸函数。
如果对任意 x , y ∈ D , x ≠ y x,y \in D, x\neq y x,y∈D,x=y 和任意 λ ∈ ( 0 , 1 ) \lambda \in (0,1) λ∈(0,1) 有
f ( λ x + ( 1 − λ ) y ) < λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x + (1 - \lambda)y) < \lambda f(x) + (1 - \lambda)f(y) f(λx+(1−λ)y)<λf(x)+(1−λ)f(y)
则称 f ( x ) f(x) f(x) 是凸集 D D D 上的严格凸函数。
同凸函数相对应的是凹函数,一个函数 f ( x ) f(x) f(x) 称为是凸集 D D D 上的(严格)凹函数,那么 − f ( x ) -f(x) −f(x) 是凸集 D D D 上的(严格)凸函数。
显然, f ( x ) = ∣ x ∣ f(x) = |x| f(x)=∣x∣ 是 R R R 上的凸函数; f ( x ) = x + 2 f(x)=x+2 f(x)=x+2 是 R R R 上的凸函数; f ( x ) = − x 1 2 − 5 x 2 2 + 2 x 1 x 2 + 10 x 1 − 10 x 2 f(x)=-x_1^2-5x_2^2+2x_1x_2+10x_1-10x_2 f(x)=−x12−5x22+2x1x2+10x1−10x2 是 R 2 R^2 R2 上的凹函数; f ( x ) = x 3 f(x)=x^3 f(x)=x3 不是 R R R 上的凸函数,但是在 D = { x ∣ x ≥ 0 } D=\{x|x \geq 0\} D={x∣x≥0} 上是凸函数。
一个优化问题被称为凸优化问题,如果其目标函数是凸函数,约束集合是凸集。一般形式的凸优化问题可以表示为:
min f ( x ) s . t . g i ( x ) ≤ 0 , i = 1 , 2 , … , m h j ( x ) = 0 , j = 1 , 2 , … , p \begin{aligned} \min \quad & f({x}) \\ \mathrm{s.t.} \quad & {g}_i({x}) \leq 0, \quad i=1,2,\ldots,m \\ & {h}_j({x}) = 0, \quad j=1,2,\ldots,p \end{aligned} mins.t.f(x)gi(x)≤0,i=1,2,…,mhj(x)=0,j=1,2,…,p
其中 f ( x ) f(x) f(x) 是凸函数, g ( x ) g(x) g(x) 是凸函数, h ( x ) h(x) h(x) 是仿射函数。