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

  • 可行解和最优解

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

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

  • 拉格朗日乘子法

    待求解问题为:

    m i n f ( x ) min f(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

    这个问题可以转换为

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

    其中 α i \alpha _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) 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.
    h i ( x ) h_i(x) 联立可得到最优解的 x x α \alpha ,

    下面证明算法的正确性,

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

    image

    通过图上可以看出最优解发生在 g ( x , y ) = c g(x,y)=c 的负梯度方向和 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
    通过上述推导,可得 L ( x , y , α ) = f ( x , y ) + α ( g ( x , y ) c ) L(x,y,\alpha)=f(x,y)+\alpha (g(x,y)-c) 的偏导等于0, 则说明这时分别对x,y, α \alpha 求偏导,可得

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

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

  • KKT条件

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

    重申问题,

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

    image

    这时,有两种情况,

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

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

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

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

    x f ( x ) = α x g ( x ) -\nabla_x f(x)= \alpha \nabla_x g(x)

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

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

    image

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

    整理一下可得,目标函数为
    m i n ( 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
    g j ( x ) 0 , j = 1 , 2 , . . . , n \quad g_j(x)\leq0, \quad 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)
    在约束条件下的可行解(当然也包括最优解) 必须满足如下条件( i = 1 , 2 , . . . , m j = 1 , 2 , . . . , n i=1,2,...,m \quad j=1,2,...,n )

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

    h i ( x ) = 0 h_i(x)=0
    g j ( x ) 0 g_j(x)\leq 0
    β j 0 \beta _j\geq 0
    β j g j ( x ) = 0 \beta _j g_j(x)=0

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

  • 拉格朗日对偶性

    • 原始问题

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

      m i n x R n f ( x ) min_{x\in R^n} f(x)
      s . t . c i ( x ) 0 , i = 1 , 2 , . . . , k s.t. \quad c_i(x)\leq 0, \quad i=1,2,...,k
      h j ( x ) = 0 j = 1 , 2 , . . . , l h_j(x)=0 \quad j=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)
      α i , β i \alpha_i,\beta_i 为拉格朗日乘子, α i 0 \alpha_i\geq 0 , 考虑x的函数

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

      考虑极小化问题,则有

      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 )

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

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

    • 对偶问题

      定义

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

      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 )
      上式为广义拉格朗日函数的极大极小问题,

      极大极小问题的约束最优化问题如下,
      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 )
      s . t . α i 0 , i = 1 , 2 , . . . , k s.t. \quad \alpha_i \geq 0,\quad i=1,2,...,k

      对偶问题的最优值为

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

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

      • 定理1

      d p d^*\leq p^*

      • 定理2

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

      • 定理3

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

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

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

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

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

发布了36 篇原创文章 · 获赞 42 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_37688445/article/details/79275526