数学(一)拉格朗日对偶性

  • 可行解和最优解

    可行解:各种规划中画不等式组表示的平面区域(即是可行域)后该区域中的点都算可行解

    最优解:通过几何方法在这个区域中可以找出约束条件的最值即最优解

  • 拉格朗日乘子法

    待求解问题为:

    m i n f ( x ) min f(x) minf(x)
    s . t . h i ( x ) = 0 i = 1 , 2 , 3 , . . . , n s.t. \quad h_i(x) =0 \quad i=1,2,3,...,n s.t.hi(x)=0i=1,2,3,...,n

    这个问题可以转换为

    m i n [ f ( x ) + ∑ i = 1 n α i h i ( x ) ] min [f(x)+\sum_{i=1}^{n} \alpha_i h_i(x)] min[f(x)+i=1nαihi(x)]

    其中 α i \alpha _i αi称为拉格朗日乘子,

    求解过程如下,

    首先对拉格朗日方程 L ( x , α ) = f ( x ) + ∑ i = 1 n α i h i ( x ) L(x, \alpha)=f(x)+\sum_{i=1}^{n} \alpha_i h_i(x) L(x,α)=f(x)+i=1nαihi(x) x x x α \alpha α求导,得到如下式子,

    { ∇ x L ( x , α ) = 0 ∇ α L ( x , α ) = 0 \left\{\begin{matrix} \nabla_x L(x,\alpha )=0\\ \nabla_\alpha L(x,\alpha ) =0 \end{matrix}\right. {xL(x,α)=0αL(x,α)=0
    h i ( x ) h_i(x) hi(x)联立可得到最优解的 x x x α \alpha α,

    下面证明算法的正确性,

    现在有一个二元函数,要求其最小值, m i n ( f ( x , y ) ) min(f(x,y)) min(f(x,y)),而约束条件为 g ( x , y ) = c g(x,y)=c g(x,y)=c, 则如下图所示,

    image

    通过图上可以看出最优解发生在 g ( x , y ) = c g(x,y)=c g(x,y)=c的负梯度方向和 f ( x , y ) f(x,y) f(x,y)某一等值线的梯度方向相同,即

    ∇ f ( x , y ) = − α ∇ ( g ( x , y ) − c ) → ∇ [ f ( x , y ) + α ( g ( x , y ) − c ) ] = 0 \nabla f(x,y) = -\alpha\nabla (g(x,y)-c) \rightarrow \nabla [f(x,y)+\alpha (g(x,y)-c)]=0 f(x,y)=α(g(x,y)c)[f(x,y)+α(g(x,y)c)]=0
    通过上述推导,可得 L ( x , y , α ) = f ( x , y ) + α ( g ( x , y ) − c ) L(x,y,\alpha)=f(x,y)+\alpha (g(x,y)-c) L(x,y,α)=f(x,y)+α(g(x,y)c)的偏导等于0, 则说明这时分别对x,y, α \alpha α求偏导,可得

    ∇ x , y , α L ( x , y , α ) = 0 \nabla_{x,y,\alpha }L(x,y,\alpha )=0 x,y,αL(x,y,α)=0
    g ( x , y ) = c g(x,y)=c g(x,y)=c

    因而当 L ( x , y , α ) L(x,y,\alpha) L(x,y,α)达到极值时和 f ( x , y ) f(x,y) f(x,y)相同,因而达到极值时 g ( x , y ) − c = 0 g(x,y)-c=0 g(x,y)c=0,这就证明了两个问题是等价的,

  • KKT条件

    更一般的情况是求解约束条件下目标函数的极值问题既有等式,也有不等式,如下讲解只有不等式约束的情况,等式约束直接添加即可,

    重申问题,

    m i n f ( x ) min \quad f(x) minf(x)
    s . t . g ( x ) ≤ 0 s.t. \quad g(x) \leq 0 s.t.g(x)0
    对应的拉格朗日公式为 L ( x , α ) = f ( x ) + α g ( x ) L(x,\alpha)=f(x)+\alpha g(x) L(x,α)=f(x)+αg(x), 图形表示形式如下,

    image

    这时,有两种情况,

    1. 如果可行解直接落在约束条件范围内,即落在 g ( x ) < 0 g(x)<0 g(x)<0的范围内,则直接删掉约束条件即可,
    2. 如果可行解落在约束条件外,则最优解在边界上去的,即在 g ( x ) = 0 g(x)=0 g(x)=0的曲线上取得,

    上述两种状况如下所示,
    image

    以上两种状况要么落在约束区域内,则 α = 0 \alpha=0 α=0,因为直接去掉约束条件即可,要么落在约束条件边界上,则 g ( x ) = 0 g(x)=0 g(x)=0, 综合起来就是

    α g ( x ) = 0 \alpha g(x)=0 αg(x)=0
    还有一个问题就是 α \alpha α的取值问题,当 α \alpha α不等于0的时候,即最优解在 g ( x ) = 0 g(x)=0 g(x)=0上取得时, f ( x , y ) f(x,y) f(x,y)的等值线的负梯度方向必须要和 g ( x ) = 0 g(x)=0 g(x)=0的梯度方向(法线方向)一致,即

    − ∇ x f ( x ) = α ∇ x g ( x ) -\nabla_x f(x)= \alpha \nabla_x g(x) xf(x)=αxg(x)

    通过上面式子看出当 α \alpha α不等于0的时候, α \alpha α一定大于0, 即 α ≥ 0 \alpha \geq 0 α0

    只有这样才能够得到最优解,其他虽然共线但是方向不同的不算是最优解,解释如下图所示,、

    image

    因而对于不等式约束,只要满足一定的条件都能够用拉格朗日算子法求解,这里的条件就是所谓的KKT条件,条件的总和即为上面讲述的结果,

    整理一下可得,目标函数为
    m i n ( f ( x ) ) min(f(x)) min(f(x))
    s . t . h i ( x ) = 0 , i = 1 , 2 , . . . , m s.t. \quad h_i(x)=0, \quad i=1,2,...,m s.t.hi(x)=0,i=1,2,...,m
    g j ( x ) ≤ 0 , j = 1 , 2 , . . . , n \quad g_j(x)\leq0, \quad j=1,2,...,n gj(x)0,j=1,2,...,n

    构造无约束条件拉格朗日函数为

    L ( x , α β ) = f ( x ) + ∑ i = 1 m α i h i ( x ) + ∑ j = 1 n β j g j ( x ) L(x,\alpha \beta )=f(x)+\sum_{i=1}^{m}\alpha _i h_i(x)+\sum_{j=1}^{n}\beta _j g_j(x) L(x,αβ)=f(x)+i=1mαihi(x)+j=1nβjgj(x)
    在约束条件下的可行解(当然也包括最优解) 必须满足如下条件( i = 1 , 2 , . . . , m j = 1 , 2 , . . . , n i=1,2,...,m \quad j=1,2,...,n i=1,2,...,mj=1,2,...,n)

    ∇ x , α , β L ( x , α , β ) = 0 \nabla_{x,\alpha ,\beta }L(x,\alpha ,\beta )=0 x,α,βL(x,α,β)=0

    h i ( x ) = 0 h_i(x)=0 hi(x)=0
    g j ( x ) ≤ 0 g_j(x)\leq 0 gj(x)0
    β j ≥ 0 \beta _j\geq 0 βj0
    β j g j ( x ) = 0 \beta _j g_j(x)=0 βjgj(x)=0

    这就是所谓的KKT条件,简单易懂,

  • 拉格朗日对偶性

    • 原始问题

      假设 f ( x ) , c i ( x ) , h j ( x ) f(x),c_i(x),h_j(x) f(x),ci(x),hj(x)是定义在 R n R^n Rn上的连续可微函数,则如下称为约束最优化问题的原始问题,

      m i n x ∈ R n f ( x ) min_{x\in R^n} f(x) minxRnf(x)
      s . t . c i ( x ) ≤ 0 , i = 1 , 2 , . . . , k s.t. \quad c_i(x)\leq 0, \quad i=1,2,...,k s.t.ci(x)0,i=1,2,...,k
      h j ( x ) = 0 j = 1 , 2 , . . . , l h_j(x)=0 \quad j=1,2,...,l hj(x)=0j=1,2,...,l

      引入广义拉格朗日函数为

      L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) L(x,\alpha ,\beta )=f(x)+\sum_{i=1}^{k}\alpha _ic_i(x)+\sum_{j=1}^{l}\beta _jh_j(x) L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x)
      α i , β i \alpha_i,\beta_i αi,βi为拉格朗日乘子, α i ≥ 0 \alpha_i\geq 0 αi0, 考虑x的函数

      θ P ( x ) = m a x α , β ; α i L ( x , α , β ) \theta _P(x)=max_{\alpha ,\beta ;\alpha _i}L(x,\alpha ,\beta ) θP(x)=maxα,β;αiL(x,α,β)
      对于给定某个x,如果x违反原始问题的约束条件,即存在某个i使得 c i ( x ) > 0 c_i(x)>0 ci(x)>0或者存在某个j,使得 h j ( x ) ≠ 0 h_j(x)\neq0 hj(x)=0,那么有 θ P ( x ) = + ∞ \theta_P(x)=+\infty θP(x)=+, 而且当x满足所有的约束条件时, θ P ( x ) = f ( x ) \theta_P(x)=f(x) θP(x)=f(x),因此

      θ P ( x ) = { f ( x ) w h e n   x   s a t i s f y   a l l   c o n s t r a i n s + ∞ . o t h e r w i s e \theta _P(x)=\left\{\begin{matrix} f(x) \quad when\ x\ satisfy\ all\ constrains \\ +\infty. \quad otherwise \end{matrix}\right. θP(x)={f(x)when x satisfy all constrains+.otherwise

      考虑极小化问题,则有

      m i n x θ P ( x ) = m i n x m a x α , β ; α i ≥ 0 L ( x , α , β ) min_{x}\theta_P(x)=min_{x}max_{\alpha ,\beta ;\alpha _i\geq 0}L(x,\alpha ,\beta ) minxθP(x)=minxmaxα,β;αi0L(x,α,β)

      上式与原始问题是等价的,称为极小极大问题,为了简化起见,定义原始问题最优值为

      p ∗ = m i n x θ P ( x ) p^*=min_{x}\theta_P(x) p=minxθP(x)

    • 对偶问题

      定义

      θ D ( α , β ) = m i n x L ( x , α , β ) \theta_D(\alpha, \beta)=min_{x}L(x,\alpha,\beta) θD(α,β)=minxL(x,α,β)
      再考虑极大化 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β), 即

      m a x α , β ; α i ≥ 0 θ D ( α , β ) = m a x α , β ; α i ≥ 0 m i n x L ( x , α , β ) max_{\alpha ,\beta ;\alpha _i\geq 0}\theta _D(\alpha ,\beta )=max_{\alpha ,\beta ;\alpha _i\geq 0}min_{x}L(x,\alpha ,\beta ) maxα,β;αi0θD(α,β)=maxα,β;αi0minxL(x,α,β)
      上式为广义拉格朗日函数的极大极小问题,

      极大极小问题的约束最优化问题如下,
      m a x α , β ; α i ≥ 0 θ D ( α , β ) = m a x α , β ; α i ≥ 0 m i n x L ( x , α , β ) max_{\alpha ,\beta ;\alpha _i\geq 0}\theta _D(\alpha ,\beta )=max_{\alpha ,\beta ;\alpha _i\geq 0}min_{x}L(x,\alpha ,\beta ) maxα,β;αi0θD(α,β)=maxα,β;αi0minxL(x,α,β)
      s . t . α i ≥ 0 , i = 1 , 2 , . . . , k s.t. \quad \alpha_i \geq 0,\quad i=1,2,...,k s.t.αi0,i=1,2,...,k

      对偶问题的最优值为

      d ∗ = m a x α , β ; α i ≥ 0 θ D ( α , β ) d^*=max_{\alpha,\beta;\alpha_i\geq0}\theta_D(\alpha, \beta) d=maxα,β;αi0θD(α,β)

    • 原始问题和对偶问题的关系

      • 定理1

      d ∗ ≤ p ∗ d^*\leq p^* dp

      • 定理2

        假设 f ( x ) , c i ( x ) f(x),c_i(x) f(x),ci(x)为凸函数, h j ( x ) h_j(x) hj(x)为仿射函数,并且不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的(即存在x, 使得所有的i都有 c i ( x ) < 0 c_i(x)<0 ci(x)<0), 那一定会存在 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x,α,β, 使得 x ∗ x^* x为原始问题的最优解, α ∗ , β ∗ \alpha^*,\beta^* α,β为对偶问题的最优解,而且这时 p ∗ = d ∗ = L ( x ∗ , α ∗ , β ∗ ) p^*=d^*=L(x^*,\alpha ^*,\beta ^*) p=d=L(x,α,β)

      • 定理3

        假设 f ( x ) , c i ( x ) f(x),c_i(x) f(x),ci(x)为凸函数, h j ( x ) h_j(x) hj(x)为仿射函数,并且不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的(即存在x, 使得所有的i都有 c i ( x ) < 0 c_i(x)<0 ci(x)<0),则 x ∗ x^* x为原始问题的最优解, α ∗ , β ∗ \alpha^*,\beta^* α,β为对偶问题的最优解的充分必要条件为如下,

        x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x,α,β满足KKT条件,即

        ∇ x ∗ , α ∗ , β ∗ L ( x ∗ , α ∗ , β ∗ ) = 0 \nabla_{x^*,\alpha^* ,\beta^* }L(x^*,\alpha^* ,\beta^* )=0 x,α,βL(x,α,β)=0
        h j ( x ∗ ) = 0 j = 1 , 2 , . . . , l h_j(x^*)=0 \quad j=1,2,...,l hj(x)=0j=1,2,...,l
        c i ( x ∗ ) ≤ 0 i = 1 , 2 , . . . , k c_i(x^*)\leq 0\quad i=1,2,...,k ci(x)0i=1,2,...,k
        α i ≥ 0 i = 1 , 2 , . . . , k \alpha_i \geq 0\quad i=1,2,...,k αi0i=1,2,...,k
        α i c i ( x ∗ ) = 0 i = 1 , 2 , . . . , k \alpha _i c_i(x^*)=0\quad i=1,2,...,k αici(x)=0i=1,2,...,k

        而且最关键的是,如果某个 x ∗ , α ∗ , β ∗ x^*,\alpha ^*,\beta ^* x,α,β满足KKT条件,那么它们也是对偶问题和原始问题的解,这就提供了如何通过解对偶问题解决原始问题的可能性,也就是说求解KKT条件的过程就是求解原始和对偶问题解的过程

      定理3和定理2是同时成立的,也就是说定理2成立的同时定理3也成立,即只要能够满足且不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的,则原始问题的最优解能够通过求解对偶问题来实现,且原始问题和对偶问题的最优解满足KKT条件,而求解的过程也由KKT条件本身计算得出。

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值