凸优化——凸优化问题与算法

一、凸优化问题
  考虑一个优化问题,其优化函数为凸函数,其约束集为凸集,则广义的称其为凸优化问题。

1.1 一般优化问题
  再考虑一般优化问题的描述,形如 m i n   f 0 ( x ) s . t .   f i ( x ) ≤ 0 , i = 1 , . . . , m h i ( x ) = 0 , i = 1 , . . . , p \begin{aligned}min\ &f_0(\bm{x})\\ s.t.\ &f_i(\bm{x}) \le 0, i = 1, ..., m \\ & h_i(\bm{x}) = 0, i = 1, ..., p\end{aligned} min s.t. f0(x)fi(x)0,i=1,...,mhi(x)=0,i=1,...,p其中, x \bm{x} x称为优化变量; f 0 : R n → R f_0:\bm{R}^n \rightarrow R f0:RnR称为目标函数或损失函数,或在极大化问题中称为效用函数; f i : R n → R f_i:\bm{R}^n \rightarrow R fi:RnR称为不等式约束; h i : R n → R h_i:\bm{R}^n \rightarrow R hi:RnR称为等式约束;所有函数的定义域交集 D = ⋂ i = 0 m d o m f i ∩ ⋂ i = 1 p d o m h i D = \bigcap_{i=0}^m dom f_i \cap\bigcap_{i=1}^pdom h_i D=i=0mdomfii=1pdomhi称为优化问题的域;满足约束的解 x ∈ D \bm{x} \in D xD的集合 X f X_f Xf称为可行解集。
  若 X f ≠ ∅ X_f \ne \varnothing Xf=,则总有 x ∈ X f \bm{x} \in X_f xXf使得目标函数取得最优值 p ∗ = i n f { f 0 ( x ) ∣ x ∈ X f } p^* = inf\{f_0(\bm{x})|\bm{x} \in X_f\} p=inf{f0(x)xXf} X f = ∅ X_f = \varnothing Xf=,则取 p ∗ p^* p + ∞ +\infty +,以说明该极小化问题无意义。
  对应的,若 x ∗ ∈ D \bm{x}^* \in D xD f 0 ( x ∗ ) = p ∗ f_0(\bm{x}^*) = p^* f0(x)=p则称其为问题的最优解。最优解可以不唯一,便形成了最优解集 X o p t = { x ∣ x ∈ X f , f 0 ( x ) = p ∗ } X_{opt} = \{\bm{x}|\bm{x} \in X_f, f_0(\bm{x}) = p^*\} Xopt={xxXf,f0(x)=p}  然而很多实际问题并不需要最优解,考虑图像处理时PSNR过高,这是不必要的。对于达到一种对于工程问题充足满意的解,称为 ϵ \epsilon ϵ次优解集,形如 X ϵ = { x ∣ x ∈ X f , f 0 ( x ) ≤ p ∗ + ϵ } X_\epsilon = \{\bm{x}|\bm{x} \in X_f, f_0(\bm{x}) \le p^*+\epsilon\} Xϵ={xxXf,f0(x)p+ϵ}  再考虑一种解,其在局部范围内最优,称为局部最优解,形如 f 0 ( x ) = i n f { f 0 ( z ) ∣ s . t .   ∣ ∣ z − x ∣ ∣ ≤ R , ∃ R > 0 } f_0(\bm{x}) = inf\{f_0(\bm{z})|s.t.\, ||\bm{z} - \bm{x}|| \le R, \exist R > 0\} f0(x)=inf{f0(z)s.t.zxR,R>0}  对于寻找可行解集的问题,称为可行性优化问题,形如 m i n   0 s . t .   f i ( x ) ≤ 0 , i = 1 , . . . , m h i ( x ) = 0 , i = 1 , . . . , p \begin{aligned}min\ &0 \\ s.t.\ &f_i(\bm{x}) \le 0, i = 1, ..., m \\ & h_i(\bm{x}) = 0, i = 1, ..., p\end{aligned} min s.t. 0fi(x)0,i=1,...,mhi(x)=0,i=1,...,p
1.2 凸优化问题
  狭义的考虑一种简单的凸问题,形如 m i n   f 0 ( x ) s . t .   f i ( x ) ≤ 0 , i = 1 , . . . , m a i T x = b i , i = 1 , . . . , p \begin{aligned}min\ &f_0(\bm{x})\\ s.t.\ &f_i(\bm{x}) \le 0, i = 1, ..., m \\ & \bm{a}_i^T\bm{x} = b_i, i = 1, ..., p\end{aligned} min s.t. f0(x)fi(x)0,i=1,...,maiTx=bi,i=1,...,p其目标函数、不等式约束函数为凸函数,且等式约束函数为仿射函数。其有一条重要性质,即其局部最优解就是全局最优解。
  当目标函数可微时,考虑凸函数的一阶性质,即$ f ( y ) ≥ f ( x ) + ▽ f T ( x ) ( y − x ) , ∀ x , y ∈ d o m   f f(\bm{y}) \ge f(\bm{x}) + ▽f^T(\bm{x})(\bm{y} - \bm{x}), \forall \bm{x}, \bm{y} \in dom\ f f(y)f(x)+fT(x)(yx),x,ydom f再考虑凸问题的可行域 X f X_f Xf,则当 ▽ f T ( x ∗ ) ( y − x ∗ ) ≥ 0 , ∀ y ∈ X f ▽f^T(\bm{x}^*)(\bm{y} - \bm{x}^*) \ge 0, \forall \bm{y} \in X_f fT(x)(yx)0,yXf自然有 x ∗ ∈ X f \bm{x}^* \in X_f xXf是最优解。

1.3 线性规划
  考虑线性规划问题 m i n   c T x + d s . t .   G x ≤ h A x = b \begin{aligned}min\ &\bm{c}^T\bm{x} + \bm{d} \\ s.t.\ & \bm{G}\bm{x} \le \bm{h} \\& \bm{Ax} = \bm{b} \end{aligned} min s.t. cTx+dGxhAx=b其目标函数与约束均是仿射的,其是凸问题的一个特例,其约束集是一个多面体,而最优值总是存在且至少有一个取在多面体的顶点。
  考虑线性规划问题的等价变换,形如 m i n   c T x + d s . t .   G x + S = h A x = b S ≥ 0 \begin{aligned}min\ &\bm{c}^T\bm{x} + \bm{d} \\ s.t.\ & \bm{G}\bm{x} + \bm{S} = \bm{h} \\& \bm{Ax} = \bm{b} \\& \bm{S} \ge 0 \end{aligned} min s.t. cTx+dGx+S=hAx=bS0其中 S \bm{S} S称为松弛变量,其与上述式等价。再进行变换,考虑这样的问题,对于上述问题的最优解 x ∗ = { x n } \bm{x}^* = \{x_n\} x={xn},取出其中的正元素向量 x + \bm{x}^+ x+与复元素向量 x − \bm{x}^- x,使得 x + − x − = x ∗ \bm{x}^+ - \bm{x}^- = \bm{x}^* x+x=x m i n   c T x + − c T x − + d s . t .   G x + − G x + + S = h A x + − A x − = b S ≥ 0 x i + ≥ 0 x i − ≥ 0 \begin{aligned}min\ &\bm{c}^T\bm{x}^+ - \bm{c}^T\bm{x}^- + \bm{d} \\ s.t.\ & \bm{G}\bm{x}^+ - \bm{G}\bm{x}^+ + \bm{S} = \bm{h} \\& \bm{Ax}^+ - \bm{Ax}^- = \bm{b} \\& \bm{S} \ge 0 \\& x_i^+ \ge 0 \\& x_i^- \ge 0 \end{aligned} min s.t. cTx+cTx+dGx+Gx++S=hAx+Ax=bS0xi+0xi0该变换依然等价,因为再变换前后,都有一一对应的可行解并且使得函数保持一致。虽然约束与自变量增加了,但其等式约束均仿射,且约束均为非负,故一般的优化问题都可以写成 m i n   c T x s . t .   A x = b x i ≥ 0 \begin{aligned}min\ &\bm{c}^T\bm{x} \\ s.t.\ &\bm{Ax} = \bm{b} \\& x_i \ge 0 \end{aligned} min s.t. cTxAx=bxi0
1.4 二次规划
  考虑二次规划问题 m i n   x T p x / 2 + q T x + r s . t .   G x ≤ h A x = b \begin{aligned}min\ &\bm{x}^T\bm{px} / 2 + \bm{q}^T\bm{x} + r \\ s.t.\ & \bm{G}\bm{x} \le \bm{h} \\& \bm{Ax} = \bm{b} \end{aligned} min s.t. xTpx/2+qTx+rGxhAx=b其目标函数为凸的二次函数,即 p ⪰ 0 \bm{p} \succeq 0 p0,且约束仿射。
  线性规划的最优值总是存在且至少有一个取在约束的顶点,而二次规划的最优值可能出现在约束的内部。
  当约束非仿射,而是一种二次的凸约束,则称其为二次约束二次规划【Quadratically Constrained Quadratic Programming,QCQP】,形如 m i n   x T p x / 2 + q T x + r s . t .   x T P x / 2 + Q T x + h ≤ 0 A x = b \begin{aligned}min\ &\bm{x}^T\bm{px} / 2 + \bm{q}^T\bm{x} + \bm{r} \\ s.t.\ & \bm{x}^T\bm{Px} / 2 + \bm{Q}^T\bm{x} + \bm{h} \le 0 \\& \bm{Ax} = \bm{b} \end{aligned} min s.t. xTpx/2+qTx+rxTPx/2+QTx+h0Ax=b考虑带噪声的系统 b = A x + e \bm{b} = \bm{Ax} + \bm{e} b=Ax+e这是一个信号恢复问题,对于已知的 b b b A \bm{A} A,在未知误差 e e e下估计 x \bm{x} x的值。考虑最小二乘法,形如 x ^ = a r g m i n x ∣ ∣ b − A x ∣ ∣ 2 = a r g m i n x ∣ ∣ b − A x ∣ ∣ 2 2 = a r g m i n x x T A T A x − 2 b T A x + b T b = ( A − 1 A ) − 1 A T b \begin{aligned} \hat\bm{x} &= argmin_\bm{x} ||\bm{b} - \bm{Ax}||_2 \\&= argmin_\bm{x} ||\bm{b} - \bm{Ax}||_2^2 \\&= argmin_\bm{x}\bm{x}^T\bm{A}^T\bm{Ax} - 2\bm{b}^T\bm{Ax} + \bm{b}^T\bm{b} \\&= (\bm{A}^{-1}\bm{A})^{-1}\bm{A}^T\bm{b} \end{aligned} x^=argminxbAx2=argminxbAx22=argminxxTATAx2bTAx+bTb=(A1A)1ATb再考虑 x \bm{x} x是稀疏的,那么定义优化函数,形如 x ^ = a r g m i n x ∣ ∣ b − A x ∣ ∣ 2 2 + λ 0 ∣ ∣ x ∣ ∣ 0 \hat\bm{x} = argmin_\bm{x} ||\bm{b} - \bm{Ax}||_2^2 + \lambda_0||\bm{x}||_0 x^=argminxbAx22+λ0x0以优化误差与稀疏程度。然而,带有0范数的函数是非凸函数,可以近似为 x ^ = a r g m i n x ∣ ∣ b − A x ∣ ∣ 2 2 + λ 1 ∣ ∣ x ∣ ∣ 1 \hat\bm{x} = argmin_\bm{x} ||\bm{b} - \bm{Ax}||_2^2 + \lambda_1||\bm{x}||_1 x^=argminxbAx22+λ1x1该问题称为l1范数规范化问题。但该问题虽然是凸问题,但1范数不符合二次规划问题,取 x = x + − x − \bm{x} = \bm{x}^+ - \bm{x}^- x=x+x形如 x ^ = a r g m i n x ∣ ∣ b − A x ∣ ∣ 2 2 + λ 1 ∣ ∣ x + − x − ∣ ∣ 1 \hat\bm{x} = argmin_\bm{x} ||\bm{b} - \bm{Ax}||_2^2 + \lambda_1||\bm{x}^+ - \bm{x}^-||_1 x^=argminxbAx22+λ1x+x1 m i n   ∣ ∣ b − A x ∣ ∣ 2 2 + λ 1 1 T x + + λ 1 1 T x − s . t .   x + ≥ 0 x − ≥ 0 \begin{aligned}min\ & ||\bm{b} - \bm{Ax}||_2^2 + \lambda_1\bm1^T\bm{x}^+ + \lambda_1\bm1^T\bm{x}^- \\ s.t.\ &\bm{x}^+ \ge 0 \\& \bm{x}^- \ge 0\end{aligned} min s.t. bAx22+λ11Tx++λ11Txx+0x0该问题是一个二次规划问题。
  此外,l2范数规范化问题,又称岭回归问题,也是一种重要的问题。考虑 x \bm{x} x中的值相差不大,则其2范数较小,形如 x ^ = a r g m i n x ∣ ∣ b − A x ∣ ∣ 2 2 + λ 2 ∣ ∣ x ∣ ∣ 2 2 \hat\bm{x} = argmin_\bm{x} ||\bm{b} - \bm{Ax}||_2^2 + \lambda_2||\bm{x}||_2^2 x^=argminxbAx22+λ2x22其惩罚了权重过大的分量, x \bm{x} x的系数为 A T A + λ 2 I \bm{A}^T\bm{A} + \lambda_2\bm{I} ATA+λ2I,即若 λ 2 > 0 \lambda_2 > 0 λ2>0 x \bm{x} x正定,即该问题是一个凸问题。


二、对偶性
2.1 拉格朗日函数
  考虑优化问题 m i n   f 0 ( x ) s . t .   f i ( x ) ≤ 0 , i = 1 , . . . , m h i ( x ) = 0 , i = 1 , . . . , p \begin{aligned}min\ &f_0(\bm{x}) \\ s.t.\ &f_i(\bm{x}) \le 0, i = 1, ..., m \\& h_i(\bm{x}) = 0, i = 1, ..., p \end{aligned} min s.t. f0(x)fi(x)0,i=1,...,mhi(x)=0,i=1,...,p对于一般问题,其不一定是凸的,那么可以从对偶性的角度来解决。
  首先考虑 x ∈ R n \bm{x} \in \bm{R}^n xRn,定义域为约束的定义域,以及最优值 p ∗ p^* p,定义拉格朗日函数,形如 L ( x , λ , v ) = f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) L(\bm{x}, \bm\lambda, \bm{v}) = f_0(\bm{x}) + \sum_{i=1}^m\lambda_if_i(\bm{x}) + \sum_{i = 1}^pv_ih_i(\bm{x}) L(x,λ,v)=f0(x)+i=1mλifi(x)+i=1pvihi(x)其中, λ ∈ R m \bm{\lambda} \in \bm{R}^m λRm v ∈ R p \bm{v} \in \bm{R}^p vRp称为拉格朗日乘子。
  再定义拉格朗日对偶函数,形如 g ( λ , v ) = i n f x ∈ D L ( x , λ , v ) g(\bm\lambda, \bm{v}) = inf_{\bm{x} \in D}L(\bm{x}, \bm\lambda, \bm{v}) g(λ,v)=infxDL(x,λ,v) L L L的下确界。
  无论原优化问题的凸性如何,由于 L ( x , λ , v ) L(\bm{x}, \bm\lambda, \bm{v}) L(x,λ,v) λ , v \bm\lambda, \bm{v} λ,v是仿射的,故取一系列仿射函数的下界,即对偶函数一定是一个凹函数,且 ∀ λ > 0 , ∀ v , g ( λ , v ) ≤ p ∗ \forall \lambda >0, \forall v, g(\bm\lambda, \bm{v}) \le p^* λ>0,v,g(λ,v)p
  设 x ∗ \bm{x}^* x是上述优化问题的最优解,则其满足约束,即 f ( x ∗ ) ≤ 0 , h ( x ∗ ) = 0 f(\bm{x}^*) \le 0, h(\bm{x}^*) = 0 f(x)0,h(x)=0那么当 ∀ λ > 0 , ∀ v \forall \lambda >0, \forall v λ>0,v,有 ∑ i = 1 m λ i f i ( x ∗ ) + ∑ i = 1 p v i h i ( x ∗ ) ≤ 0 L ( x ∗ , λ , v ) = f 0 ( x ∗ ) + ∑ i = 1 m λ i f i ( x ∗ ) + ∑ i = 1 p v i h i ( x ∗ ) \sum_{i=1}^m\lambda_if_i(\bm{x}^*) + \sum_{i = 1}^pv_ih_i(\bm{x}^*) \le 0 \\ L(\bm{x}^*, \bm\lambda, \bm{v}) = f_0(\bm{x}^*) + \sum_{i=1}^m\lambda_if_i(\bm{x}^*) + \sum_{i = 1}^pv_ih_i(\bm{x}^*) i=1mλifi(x)+i=1pvihi(x)0L(x,λ,v)=f0(x)+i=1mλifi(x)+i=1pvihi(x) g ( λ , v ) ≤ L ( x ∗ , λ , v ) ≤ p ∗ g(\bm\lambda, \bm{v}) \le L(\bm{x}^*, \bm\lambda, \bm{v}) \le p^* g(λ,v)L(x,λ,v)p

2.2 共轭函数
  对于映射 f : R n → R f:\bm{R}^n \rightarrow R f:RnR,称映射 f ∗ ( y ) = s u p x ∈ d o m f ( y T x − f ( x ) ) f^*(\bm{y}) = sup_{\bm{x} \in dom f}(\bm{y}^T\bm{x} - f(\bm{x})) f(y)=supxdomf(yTxf(x))为映射 f f f的共轭。
  考虑一个简单的优化问题 m i n   f ( x ) s . t .   x = 0 \begin{aligned}min\ &f(x) \\ s.t.\ &x = 0\end{aligned} min s.t. f(x)x=0显然, x ∗ = 0 x^* = 0 x=0。从对偶与共轭的角度考虑,其拉格朗日函数与对偶函数为 L ( x , v ) = f ( x ) + v x , d o m L = d o m f ∩ R g ( v ) = i n f x ∈ d o m f ( f ( x ) + v x ) L(x, v) = f(x) + vx, domL = domf \cap R \\ g(v) = inf_{x \in domf}(f(x) + vx) L(x,v)=f(x)+vx,domL=domfRg(v)=infxdomf(f(x)+vx)将对偶函数翻转为上界,形如 g ( v ) = − s u b x ∈ d o m f ( − f ( x ) − v x ) g(v) = -sub_{x \in domf}(-f(x) - vx) g(v)=subxdomf(f(x)vx) f ( x ) f(x) f(x)的共轭函数为 f ∗ ( − v ) = s u p x ∈ d o m f ( − v x − f ( x ) ) ) f^*(-v) = sup_{x \in dom f}(-vx - f(x))) f(v)=supxdomf(vxf(x))) g ( v ) = − f ∗ ( − v ) g(v) = -f^*(-v) g(v)=f(v)

2.3 强对偶与弱对偶问题
  考虑最大化优化问题的拉格朗日函数 m a x   g ( λ , v ) s . t .   λ i ≥ 0 \begin{aligned}max\ &g(\bm\lambda, \bm{v}) \\ s.t.\ &\lambda_i \ge 0\end{aligned} max s.t. g(λ,v)λi0该优化问题称为原优化问题的对偶问题。
  定义其上界为 d ∗ d^* d,则 d ∗ ≤ p ∗ d^* \le p^* dp。对偶问题是一个凸问题,其约束为半平面集,故必有最优解,定义最优解为 λ ∗ , v ∗ \bm\lambda^*, \bm{v}^* λ,v,称为对偶问题的最优解,也称最优拉格朗日乘子。该问题的定义域为 R m + p \bm{R}^{m+p} Rm+p
  首先定义,当一个优化问题的对偶问题的最优解 d ∗ d^* d与该优化问题的最优解 p ∗ p^* p d ∗ ≤ p ∗ d^* \le p^* dp则称该对偶关系为弱对偶,任何优化问题与其对偶问题都是弱对偶的。而当 d ∗ = p ∗ d^* = p^* d=p则称该对偶关系为强对偶。接下来讨论何时一个优化问题与其对偶问题为强对偶关系。
  首先给出一些定义。定义对偶间隙 p ∗ − d ∗ p^* - d^* pd,则强对偶时,对偶间隙为0;定义原问题 D D D的相对内部 R e l i n t   D = { x ∈ D ∣ B ( x , r ) ∩ a f f   D ⊆ D ∃ r > 0 } Relint\ D = \{\bm{x}\in D|B(\bm{x}, r)\cap aff\ D \subseteq D \exists r > 0\} Relint D={xDB(x,r)aff DDr>0}其中, B ( x , r ) B(\bm{x}, r) B(x,r)表示以 x \bm{x} x为中心, r r r为半径的球; a f f   D aff\ D aff D表示 D D D的仿射包。直观的讲, D D D的相对内部就是去除 D D D的边界后的开集区域。
  有了相对内部的定义,就可以通过斯莱特【Slater】条件使得对偶间隙为0。该条件仅是一个充分条件,仅可在某些条件下使得对偶间隙为0,但不满足该条件依然可能使得对偶间隙为0。该条件的内容为,若有凸问题 m i n   f 0 ( x ) s . t .   f i ( x ) ≤ 0 , i = 1 , . . . , m h i ( x ) = 0 , i = 1 , . . . , p \begin{aligned}min\ &f_0(\bm{x})\\ s.t.\ &f_i(\bm{x}) \le 0, i = 1, ..., m \\ & h_i(\bm{x}) = 0, i = 1, ..., p\end{aligned} min s.t. f0(x)fi(x)0,i=1,...,mhi(x)=0,i=1,...,p其中 f i ( x ) f_i(x) fi(x)为凸,当 ∃ x ∈ R e l i n t   D \exists \bm{x} \in Relint\ D xRelint D使得 f i ( x ) < 0 f_i(\bm{x}) < 0 fi(x)<0 h i ( x ) = 0 h_i(\bm{x}) = 0 hi(x)=0同时成立时,有 p ∗ = d ∗ p^* = d^* p=d

2.4 KKT条件
  斯莱特条件给出了凸问题强对偶的充分成立条件。而接下来对于更一般的凸优化问题进行讨论。考虑优化问题 m i n   f 0 ( x ) s . t .   f i ( x ) ≤ 0 , i = 1 , . . . , m h i ( x ) = 0 , i = 1 , . . . , p \begin{aligned}min\ &f_0(\bm{x})\\ s.t.\ &f_i(\bm{x}) \le 0, i = 1, ..., m \\ & h_i(\bm{x}) = 0, i = 1, ..., p\end{aligned} min s.t. f0(x)fi(x)0,i=1,...,mhi(x)=0,i=1,...,p其对偶函数为 g ( λ , v ) = i n f x ∈ D { f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) } g(\bm\lambda, \bm{v}) = inf_{\bm{x} \in D}\{ f_0(\bm{x}) + \sum_{i=1}^m\lambda_if_i(\bm{x}) + \sum_{i = 1}^pv_ih_i(\bm{x})\} g(λ,v)=infxD{f0(x)+i=1mλifi(x)+i=1pvihi(x)}其对偶问题为 m a x   g ( λ , v ) s . t .   λ i ≥ 0 \begin{aligned}max\ &g(\bm\lambda, \bm{v}) \\ s.t.\ &\lambda_i \ge 0\end{aligned} max s.t. g(λ,v)λi0对于非常一般的优化问题,其分析是十分复杂的,因此做出两个强假设。首先,假设优化问题与其对偶问题是强对偶的;其次,所有函数都是可微的。
  考虑优化问题的最优解 x ∗ \bm{x}^* x与对偶问题的最优解 λ ∗ , v ∗ \bm\lambda^*, \bm{v}^* λ,v,其满足如下性质 f i ( x ∗ ) ≤ 0 , i = 1 , . . . , m h i ( x ∗ ) = 0 , i = 1 , . . . , p λ i ∗ > 0 f_i(\bm{x}^*) \le 0, i = 1, ..., m \\ h_i(\bm{x}^*) = 0, i = 1, ..., p \\ \lambda_i^* > 0 fi(x)0,i=1,...,mhi(x)=0,i=1,...,pλi>0其分别是优化问题与对偶问题的可行性。再考虑优化问题的最优值 p ∗ p^* p与对偶问题的最优解 d ∗ d^* d,有 f 0 ( x ∗ ) = g ( λ ∗ , v ∗ ) = i n f x ∈ D { f 0 ( x ) + ∑ i = 1 m λ i ∗ f i ( x ) + ∑ i = 1 p v i ∗ h i ( x ) } ≤ f 0 ( x ∗ ) + ∑ i = 1 m λ i ∗ f i ( x ∗ ) + ∑ i = 1 p v i ∗ h i ( x ∗ ) ≤ f 0 ( x ∗ ) \begin{aligned}f_0(\bm{x}^*) &= g(\bm\lambda^*, \bm{v}^*) \\&= inf_{\bm{x} \in D}\{ f_0(\bm{x}) + \sum_{i=1}^m\lambda^*_if_i(\bm{x}) + \sum_{i = 1}^pv^*_ih_i(\bm{x})\} \\&\le f_0(\bm{x}^*) + \sum_{i=1}^m\lambda^*_if_i(\bm{x}^*) + \sum_{i = 1}^pv^*_ih_i(\bm{x}^*) \\&\le f_0(\bm{x}^*) \end{aligned} f0(x)=g(λ,v)=infxD{f0(x)+i=1mλifi(x)+i=1pvihi(x)}f0(x)+i=1mλifi(x)+i=1pvihi(x)f0(x)因此,上述不等式在 p ∗ = d ∗ p^* = d^* p=d下,等号恒成立,即 ∑ i = 1 m λ i ∗ f i ( x ∗ ) = 0 \sum_{i=1}^m\lambda^*_if_i(\bm{x}^*) = 0 i=1mλifi(x)=0 λ i ≥ 0 , f i ( x ) ≤ 0 \lambda_i \ge 0, f_i(\bm{x}) \le 0 λi0,fi(x)0,故有 λ i ∗ f i ( x ∗ ) = 0 , i = 1 , . . . , m \lambda^*_if_i(\bm{x}^*) = 0, i = 1, ..., m λifi(x)=0i=1,...,m即有 f i ( x ∗ ) = 0   i f   λ i ∗ > 0 λ i ∗ = 0   i f   f i ( x ∗ ) < 0 f_i(\bm{x}^*) = 0\ if\ \lambda_i^* > 0 \\ \lambda_i^* = 0\ if \ f_i(\bm{x}^*) < 0 fi(x)=0 if λi>0λi=0 if fi(x)<0该条件称为互补松弛条件。再考虑 i n f x ∈ D L ( x , λ ∗ , v ∗ ) = L ( x ∗ , λ ∗ , v ∗ ) inf_{\bm{x} \in D}L(\bm{x}, \bm\lambda^*, \bm{v}^*) = L(\bm{x}^*, \bm\lambda^*, \bm{v}^*) infxDL(x,λ,v)=L(x,λ,v),即 x ∗ \bm{x}^* x L L L的全局最优解,那么其一阶偏导有 ∂ L ( x , λ ∗ , v ∗ ) / ∂ x ∣ x = x ∗ = 0 ∂L(\bm{x}, \bm\lambda^*, \bm{v}^*)/∂\bm{x}|_{\bm{x} = \bm{x}^*} = 0 L(x,λ,v)/xx=x=0该条件称为稳定性条件。
  综上,上述条件可以分为四类:
  (1)原问题的可行性;
  (2)对偶问题的可行性;
  (3)互补松弛条件;
  (4)稳定性条件。
上述条件称为KKT条件。
  KKT条件是一个必要条件,即优化问题与对偶问题强对偶时必须满足KKT条件。而当原问题是凸问题,各个函数可微,且强对偶时,则KKT条件为充要条件。
  考虑凸优化问题的可行解 x ^ , λ ^ , v ^ \hat\bm{x}, \hat\bm\lambda, \hat\bm{v} x^,λ^,v^满足KKT条件,则 f i ( x ^ ) ≤ 0 , i = 1 , . . , m h i ( x ^ ) = 0 , i = 1 , . . , m λ ^ i ≥ 0 , i = 1 , . . . , m f_i(\hat\bm{x}) \le 0, i = 1, .., m \\ h_i(\hat\bm{x}) = 0, i = 1, .., m\\ \hat\lambda_i \ge 0, i = 1, ..., m fi(x^)0,i=1,..,mhi(x^)=0,i=1,..,mλ^i0,i=1,...,m则有 L ( x , λ ^ , v ^ ) = f 0 ( x ) + ∑ i = 1 m λ ^ i f i ( x ) + ∑ i = 1 p v i ^ h i ( x ) \begin{aligned} L(\bm{x}, \hat\bm\lambda, \hat\bm{v})& = f_0(\bm{x}) + \sum_{i=1}^m\hat\lambda_if_i(\bm{x}) + \sum_{i = 1}^p\hat{v_i}h_i(\bm{x}) \end{aligned} L(x,λ^,v^)=f0(x)+i=1mλ^ifi(x)+i=1pvi^hi(x)是一个凸函数的非负加权和,即依然为凸函数,根据稳定性条件,有 ∂ L ( x , λ ^ , v ^ ) / ∂ x ∣ x = x ^ = 0 ∂L(\bm{x}, \hat\bm\lambda, \hat\bm{v})/∂\bm{x}|_{\bm{x} = \hat\bm{x}} = 0 L(x,λ^,v^)/xx=x^=0此时, x ^ \hat\bm{x} x^便是全局最优解,则根据互补松弛条件,有 g ( λ ^ , v ^ ) = i n f x ∈ D L ( x , λ ^ , v ^ ) = L ( x ^ , λ ^ , v ^ ) = f 0 ( x ^ ) + ∑ i = 1 m λ ^ i f i ( x ^ ) + ∑ i = 1 p v i ^ h i ( x ^ ) = f 0 ( x ^ ) \begin{aligned} g(\hat\bm\lambda, \hat\bm{v}) &= inf_{\bm{x} \in D}L(\bm{x}, \hat\bm\lambda, \hat\bm{v}) \\&= L(\hat\bm{x}, \hat\bm\lambda, \hat\bm{v}) \\&= f_0(\hat\bm{x}) + \sum_{i=1}^m\hat\lambda_if_i(\hat\bm{x}) + \sum_{i = 1}^p\hat{v_i}h_i(\hat\bm{x}) \\&= f_0(\hat\bm{x}) \end{aligned} g(λ^,v^)=infxDL(x,λ^,v^)=L(x^,λ^,v^)=f0(x^)+i=1mλ^ifi(x^)+i=1pvi^hi(x^)=f0(x^)即满足KKT条件时优化问题强对偶。
  总结斯莱特条件与KKT条件,可以概述为:凸问题未必强对偶,强对偶问题也未必是凸的,但对于强对偶问题,KKT条件是一个必要条件;而对于凸强对偶问题,KKT条件是一个充要条件。

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 凸优化是一类重要的数学优化问题,它具有许多实际应用价值。MATLAB是一种常用的科学计算和数据分析软件工具,提供了丰富的优化算法和函数库,可以用于解决凸优化问题。 MATLAB中凸优化算法的实现有两种常用方式:内置函数和自定义算法。 首先,MATLAB提供了内置的凸优化函数,例如fmincon、linprog和quadprog等,这些函数能够很方便地求解一般的凸优化问题。用户只需要根据具体问题设定目标函数、约束条件和变量的上下界,然后调用相应的函数即可获得最优解。 其次,对于特定的凸优化问题,可以自定义算法进行求解。MATLAB中常用的凸优化算法有:梯度下降法、共轭梯度法、牛顿法、内点法等。这些算法通常需要根据实际问题进行调整和优化,比如设置步长、迭代次数等参数。 在使用MATLAB进行凸优化算法时,需要注意以下几点: 1. 确定优化问题的目标函数、约束条件和变量范围; 2. 选择合适的凸优化算法,例如使用fmincon函数求解约束优化问题; 3. 检查算法的收敛性和精度,确保求解结果的正确性; 4. 对于大规模的凸优化问题,可能需要考虑分布式计算、并行计算等技术,以提高求解效率。 总之,MATLAB提供了丰富的凸优化算法和函数库,能够很方便地用于求解凸优化问题。根据具体问题的特点和求解需求,可以选择合适的内置函数或自定义算法进行求解。 ### 回答2: 凸优化是指在给定约束条件下,寻找目标函数的最小值的问题。这类问题的特点是约束条件是线性的,目标函数是凸函数。在数学和工程领域有着广泛的应用,如经济学、运筹学、信号处理等。 Matlab中提供了多种凸优化算法的工具箱,如CVX、YALMIP等。这些工具箱可以方便地调用已经实现好的算法,简化了凸优化问题的建模和求解过程。 在使用Matlab进行凸优化算法时,首先需要用数学语言描述问题,包括目标函数和约束条件。然后,利用工具箱提供的函数进行建模。根据问题的特点选择合适的凸优化算法,如内点法、梯度法等。最后,使用相关的函数进行求解,并得到问题的最优解。 凸优化算法的核心是迭代求解过程,即利用当前解来生成下一个解。迭代的终止条件可以是达到一定的精度要求或经过固定次数的迭代。每次迭代中,根据当前解计算目标函数和约束条件的梯度,并更新解,直到满足终止条件为止。 凸优化算法的性能和求解效率与问题的规模和复杂度有关。通常情况下,凸优化问题可以在多项式时间内求解。但对于大规模和复杂的问题,可能需要使用更高级的算法或使用分布式计算平台进行求解。 总之,凸优化算法是求解目标函数最小值的有力工具,Matlab提供了丰富的函数和工具箱来支持凸优化问题的建模和求解,使得复杂问题的求解更加简单和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值