优化问题之拉格朗日乘子法&KKT条件分析

优化问题

  1. 无约束优化问题

    minf(x),由Fermat’s theorem可知,可微函数的极值点都是其驻点(必要条件),故令其导数为零即可求解,当然也可利用梯度下降算法求解;

  2. 等式约束优化问题

    minf0(x),  s.t., hi(x)=0, i=1,2,,p
    对于这种情形我们常使用拉格朗日乘子法(Lagrange multiplier)求解;

  3. 不等式约束优化问题

    minf0(x)

    s.t., hi(x)=0,i=1,2,,p

    fi(x)0,i=1,2,,m,

    对于这种情形我们常使用KKT条件求解,Lagrange 函数L:Rn×Rm×RpR

    L(x,λ,v)=f0(x)+i=1mλifi(x)+i=1pvihi(x),
    我们假设该问题的定义域(非可行域)为
    D=i=0mdomfii=1pdomhi,p
    另外我们定义Lagrange 对偶函数g:Rm×RpR为Lagrange函数关于定义域内x取得的最小值,即,
    g(λ,v)=infxDL(x,λ,v)=infxD(f0(x)+i=1mλifi(x)+i=1pvihi(x)))
    我们可以得出对偶函数构成了原问题最优值p的下界,即,
    λ0,v,  g(λ,v)p.
    x(λ,v)分别为原问题和对偶问题的某对最优解,且满足强对偶性(对偶间隙为零),那么我们就可以得到,f0(x)=g(λ,v)。另外,优化问题之拉格朗日乘子法&KKT条件分析
    KKT为,
    {fi(x)0,i=1,2,,mhi(x)=0,i=1,2,,pλi0,i=1,2,,mλifi(x)=0,i=1,2,,mf0(x)+i=1mλifi(x)+i=1pvihi(x)=0

    注,对于上面的所有情况的优化问题,目标函数及其约束函数若为凸函数,可行域组成凸集,才能得到全局最优解,否则只能得到局部最优解,因为这些条件只是必要条件,而非充要条件。。。