微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数理最优化的敲门砖(第一部分):最优化条件和KKT条件

概要

  • 第一部分: 最优化条件和KKT条件
  • 第二部分:对偶问题
  • 第三部分:几个基本问题及其之间的关系
  • 第四部分:最优化算法

最优化条件

最基本的有约束条件的最优化问题无非是以下的形式
m i n x   f ( x ) s . t .   h i ( x ) = 0 ,   i = 1 , . . . m g j ( x ) ≤ 0 , j = 1 , . . . r \begin{align*} \underset{x}{min} \space &f(x) \\ s.t. \space &h_i(x)=0, \space i=1,...m \\ &g_j(x) \leq 0, j=1,...r \end{align*} xmin s.t. f(x)hi(x)=0, i=1,...mgj(x)0,j=1,...r

最优性必要条件(以上问题有最优解的必要条件)如下

定理1:最优性必要条件


x ∗ \\x^* x是局部最小解,
h i \\h_i hi是一次函数 g j g_j gj是凸函数,存在 x 0 x_0 x0使得 g j ( x 0 ) < 0 , h i ( x 0 ) = 0 g_j(x_0)<0,h_i(x_0)=0 gj(x0)<0,hi(x0)=0
∇ h i ( x ) \\\nabla h_i(x) hi(x) ∇ g j ( x ) \nabla g_j(x) gj(x)一次独立
此时存在满足 K K T 条件的拉格朗日乘数 ( λ ∗ , μ ∗ ) \\此时存在满足KKT条件的拉格朗日乘数(\lambda^*,\mu^*) 此时存在满足KKT条件的拉格朗日乘数(λ,μ)

∇ \nabla 是偏导的意思, 其中KKT条件如下
∇ f ( x ∗ ) + ∑ i = 1 m λ i ∗ ∇ h i ( x ∗ ) + ∑ j = 1 r μ j ∗ ∇ g i ( x ∗ ) = 0 \begin{equation} \nabla f(x^*)+\sum_{i=1}^m\lambda _i^* \nabla h_i(x^*)+\sum_{j=1}^r\mu _j^* \nabla g_i(x^*)=0 \end{equation} f(x)+i=1mλihi(x)+j=1rμjgi(x)=0
h i ( x ∗ ) = 0 , i = 1 , . . . m \begin{equation} h_i(x^*)=0, i=1,...m \end{equation} hi(x)=0,i=1,...m
g j ( x ∗ ) ≤ 0 ,   μ j ∗ ≥ 0 ,   , μ j ∗ g j ( x ∗ ) = 0 , j = 1 , . . . r \begin{equation} g_j(x^*)\leq0, \space \mu _j^*\geq0, \space, \mu _j^*g_j(x^*)=0, j=1,...r \end{equation} gj(x)0, μj0, ,μjgj(x)=0,j=1,...r

其中, λ ∗ , μ ∗ \lambda^*,\mu^* λ,μ被称为拉格朗日乘数, ( x ∗ , λ ∗ , μ ∗ ) (x^*,\lambda^*,\mu^*) (x,λ,μ)被称为KKT点。


上述定理,再修改一下条件就会变成充分必要条件

定理2:最优解的充分必要条件


f , g 1 , . . . , g r f,g_1,...,g_r f,g1,...,gr是可微凸函数 h i , i = 1 , . . . , m h_i,i=1,...,m hi,i=1,...,m是一次函数

( x ∗ , λ ∗ , μ ∗ ) (x^*,\lambda^*,\mu^*) (x,λ,μ)
m i n x   f ( x ) s . t .   h i ( x ) = 0 ,   i = 1 , . . . m g j ( x ) ≤ 0 , j = 1 , . . . r \begin{align*} \underset{x}{min} \space &f(x) \\ s.t. \space &h_i(x)=0, \space i=1,...m \\ &g_j(x) \leq 0, j=1,...r \end{align*} xmin s.t. f(x)hi(x)=0, i=1,...mgj(x)0,j=1,...r

满足条件(1)~(3)KKT点,则 x ∗ x^* x是全局最小解


最优化条件:例题

m i n   τ ∣ x ∣ + 1 2 ( x − y ) 2 s . t .   x ∈ R min \space \tau |x|+\frac{1}{2}(x-y)^2 \\ s.t. \space x \in R min τx+21(xy)2s.t. xR
其中, τ > 0 \tau>0 τ>0 y y y是定值

证明这个问题的最优解 x ∗ x^* x
x ∗ = m a x { 0 , ∣ y ∣ − τ } s g n ( y ) x^*=max\{0,|y|-\tau\}sgn(y) x=max{0,yτ}sgn(y)
其中,
s g n ( y ) = { 1 , i f   y ≥ 0 − 1 , i f   y < 0 sgn(y)=\left\{ \begin{align*} 1 , &if \space y \geq0 \\ -1,&if \space y<0 \end{align*} \right. sgn(y)={1,1,if y0if y<0



在证明之前,需要注意到 ∣ x ∣ |x| x是不可微的,而我们目前只介绍了可微函数的最优化条件和KKT条件,

咱们还需要补充两个概念次导数(Subderivative)次微分(Subdifferential),次导数是一般导数定义上的一个推广


f f f若是可微,则对所有的 y ∈ V y\in V yV V V V一个向量空间
f ( y ) ≥ f ( x ) + < ∇ f ( x ) , y − x > f(y) \geq f(x)+<\nabla f(x),y-x> f(y)f(x)+<f(x),yx>
总是成立的,这不等式可以理解为 f ( y ) f(y) f(y)的图像落在切线 f ( x ) + < ∇ f ( x ) , y − x > f(x)+<∇f(x),y−x> f(x)+<f(x),yx>之上, ( x , f ( x ) ) (x,f(x)) (x,f(x))是切点, ∇ f ( x ) ∇f(x) f(x)是切点位置的导数,<・>是内积运算。


而当 f f f不可微的时候,我们就需要引进次导数次微分的概念。

对所有的 y ∈ V y\in V yV,满足
f ( y ) ≥ f ( x ) + < η , y − x > f(y) \geq f(x)+<\eta,y-x> f(y)f(x)+<η,yx>
η ∈ V \eta \in V ηV被称为 f f f x x x次导数。而所有满足条件的次导数的集合被称为次微分,我们将使用以下记法:
∂ f ( y ) = { η ∈ V   ∣ f ( x ) ≥ f ( y ) + < η , x − y > , ∀ x ∈ V } \partial f(y)=\{\eta \in V \space | f(x) \geq f(y)+<\eta,x-y>, \forall x \in V\} f(y)={ηV f(x)f(y)+<η,xy>,xV}
f f f可微时,这个次微分的定义与微分定义是等价的。


有了次微分的加持,我们就可以导出不可微分问题的KKT条件

对于一般的凸优化问题
m i n x   f ( x ) s . t .   h i ( x ) = 0 ,   i = 1 , . . . m g j ( x ) ≤ 0 , j = 1 , . . . r \begin{align*} \underset{x}{min} \space &f(x) \\ s.t. \space &h_i(x)=0, \space i=1,...m \\ &g_j(x) \leq 0, j=1,...r \end{align*} xmin s.t. f(x)hi(x)=0, i=1,...mgj(x)0,j=1,...r
其中,
f f f:凸函数(不一定可微), h i h_i hi:一次函数 g j g_j gj:凸函数(不一定可微)

对于(4)~(7)的不可微分问题的KKT条件定理2依然成立。

η + ∑ i = 1 m λ i ∗ ∇ h i ( x ∗ ) + ∑ j = 1 r μ j ∗ ξ j = 0 \begin{equation} \eta+\sum_{i=1}^m\lambda _i^* \nabla h_i(x^*)+\sum_{j=1}^r\mu _j^* \xi_j=0 \end{equation} η+i=1mλihi(x)+j=1rμjξj=0
h i ( x ∗ ) = 0 , i = 1 , . . . m \begin{equation} h_i(x^*)=0, i=1,...m \end{equation} hi(x)=0,i=1,...m
g j ( x ∗ ) ≤ 0 ,   μ j ∗ ≥ 0 ,   , μ j ∗ g j ( x ∗ ) = 0 , j = 1 , . . . r \begin{equation} g_j(x^*)\leq0, \space \mu _j^*\geq0, \space, \mu _j^*g_j(x^*)=0, j=1,...r \end{equation} gj(x)0, μj0, ,μjgj(x)=0,j=1,...r
η ∈ ∂ f ( x ∗ ) , ξ ∈ ∂ g j ( x ∗ ) , j = 1 , . . . r \begin{equation} \eta \in \partial f(x^*),\xi \in \partial g_j(x^*),j=1,...r \end{equation} ηf(x)ξgj(x)j=1,...r



再回到刚才的问题,我们注意到其是没有约束条件的,即 h i = 0 , g j = 0 h_i=0,g_j=0 hi=0gj=0,因此

( 4 ) ⟶ η = 0 ( 5 ) 和 ( 6 ) 不需要了 ( 7 ) ⟶ η ∈ ∂ f ( x ∗ ) (4) \longrightarrow \eta=0\\ (5)和(6)不需要了\\ (7) \longrightarrow \eta \in \partial f(x^*) (4)η=0(5)(6)不需要了(7)ηf(x)

综上,最优解 x ∗ x^* x应满足 0 ∈ ∂ f ( x ∗ ) 0\in\partial f(x^*) 0f(x),而 f ( x ) = τ ∣ x ∣ + 1 2 ( x − y ) 2 f(x)=\tau |x|+\frac{1}{2}(x-y)^2 f(x)=τx+21(xy)2
∂ f ( x ) = { τ + x − y , x > 0 − τ + x − y , x < 0 − τ [ − 1 , 1 ] + y , x = 0 \partial f(x) = \left\{ \begin{align*} \tau+x-y &,x > 0 \\ -\tau+x-y &,x<0 \\ -\tau[-1,1]+y &, x=0 \end{align*} \right. f(x)= τ+xyτ+xyτ[1,1]+yx>0x<0x=0
x > 0 x>0 x>0时, 0 = τ + x − y , ⇒ x ∗ = y − τ 0=\tau+x-y,\Rightarrow x^*=y-\tau 0=τ+xyx=yτ,且因为 τ > 0 \tau>0 τ>0,则 x + τ > 0 x+\tau>0 x+τ>0因此 y > 0 y>0 y>0

x < 0 x<0 x<0时,同理

x = 0 x=0 x=0时, − τ [ − 1 , 1 ] + y = 0 -\tau[-1,1]+y=0 τ[1,1]+y=0,则 ∣ y ∣ − τ < 0 |y|-\tau<0 yτ<0 x ∗ = 0 x^*=0 x=0,得证。

谢谢你的阅读,希望这篇博文能帮到你~

有疑问可联系博主Rane的邮箱rane.z.blog@gmail.com。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐