最优性条件
次优解认证和终止准则
如果能够找到一个对偶可行解 (λ,ν),就对原问题的最优值建立了一个下界:p⋆⩾g(λ,ν)。因此,对偶可行点 (λ,ν) 为表达式 p⋆⩾g(λ,ν) 的成立提供了一个证明或认证。强对偶性意味着存在任意好的认证。
对偶可行点可以让我们在不知道 p⋆ 的确切值的情况下界定给定可行点的次优程度。事实上,如果 x 是原问题的可行解且 (λ,ν) 对偶可行,那么
f(x)−p⋆⩽f0(x)−g(λ,ν)特别地,上式说明了 x 是 ϵ- 次优,其中 ϵ=f0(x)−g(λ,ν)。
定义原问题和对偶问题目标函数的差值
f0(x)−g(λ,ν)为原问题可行解 x 和对偶可行解 (λ,ν) 之间的对偶间隙。一对原对偶问题的可行点 x,(λ,ν) 将原问题(对偶问题)的最优值限制在一个区间上:
p⋆∈[g(λ,ν),f0(x)],d⋆∈[g(λ,ν),f0(x)]区间的长度即为上面定义的对偶间隙。
如果原对偶可行对 x,(λ,ν) 的对偶间隙为零,即 f0(x)=g(λ,ν),那么 x 是原问题的最优解且 (λ,ν) 是对偶问题的最优解。此时,我们可以认为 (λ,ν) 是证明 x 为最优解的一个认证。(类似地,也可以认为 x 是证明 (λ,ν) 为最优解的一个认证。)
上述现象可以用在优化算法中给出非启发式停止准则。即令对偶间隙小于给定精度 ϵabs,这能够保证当算法终止的时候,问题的解可以达到 ϵabs- 最优。
互补松驰性
设原问题和对偶问题的最优值都可以达到且相等(即强对偶性成立)。令 x⋆ 是原问题的最优解,(λ⋆,ν⋆),这表明
f0(x⋆)=g(λ⋆,ν⋆)=xinf(f0(x)+i=1∑mλi⋆fi(x)+i=1∑pνi⋆hi(x))⩽f0(x⋆)+i=1∑mλi⋆fi(x⋆)+i=1∑pνi⋆hi(x⋆)⩽f0(x⋆)第一个等式说明最优对偶间隙为零,第二个等式是对偶函数的定义。第三个不等式是根据 Lagrange 函数关于 x 求下确界小于等于其在 x=x⋆ 处得到。最后一个不等式成立是因为
⎩⎨⎧λi⋆⩾0,fi(x⋆)⩽0,hi(x⋆)=0,i=1,⋯,mi=1,⋯,mi=1,⋯,p因此,在上面的式子链中,两个不等式取等号。
由此可以得出一些有意义的结论。其中一个特别重要的结论是
i=1∑mλi⋆fi(x⋆)=0事实上,求和项的每一项都非正,因此有
λi⋆fi(x⋆)=0,i=1,⋯,m上述条件称为互补松弛性。它对任意原问题的最优解 x⋆ 以及对偶问题的最优解 (λ⋆,ν⋆) 都成立(当强对偶性成立时)。我们可以将互补松弛性条件写成
λi⋆>0⟹fi(x⋆)=0或者等价地
fi(x⋆)<0⟹λi⋆=0互补松弛性条件说明了在最优点处,除了第 i 个约束起作用的情况,最优 Lagrange 乘子的第 i 项都为零。
KKT 最优性条件
非凸问题的 KKT 条件
由于 L(x,λ⋆,ν⋆) 关于 x 求极小在 x⋆ 处取得最小值,因此函数在 x⋆ 处的导数必须为零,即
∇f0(x⋆)+i=1∑mλi⋆∇fi(x⋆)+i=1∑pνi⋆∇hi(x⋆)=0因此,我们可以得到
fi(x⋆)hi(x⋆)λi⋆λi⋆fi(x⋆)∇f0(x⋆)+i=1∑mλi⋆∇fi(x⋆)+i=1∑pνi⋆∇hi(x⋆)⩽0,=0,⩾0,=0,=0iiii=1,⋯,m=1,⋯,p=1,⋯,m=1,⋯,m我们称上式为 Karush-Kuhn-Tucker (KKT) 条件。
总之,只要强对偶性成立,那么任何一对原问题的最优解和对偶问题的最优解必须满足 KKT 条件。
凸问题的 KKT 条件
fi(x~)hi(x~)λ~_iλ~_ifi(x~)∇f0(x~)+i=1∑mλ~_i∇fi(x~)+i=1∑pν~_i∇hi(x~)⩽0,=0,⩾0,=0,=0,iiii=1,⋯,m=1,⋯,p=1,⋯,m=1,⋯,m从凸问题的 KKT 条件中,我们可以得出结论
g(λ~,ν~)=L(x~,λ~,ν~)=f0(x~)+i=1∑mλ~_if_i(x~)+i=1∑pν~_ihi(x~)=f0(x~)推导过程的最后一步成立是因为 hi(x~)=0 以及 λ~ifi(x~)=0。这说明原问题的解 x~ 和对偶问题的解 (λ~,ν~) 之间的对偶间隙为零,因此分别是原、对偶问题的最优解。总之,对目标函数和约束函数可微的任意凸优化问题,任意满足 KKT 条件的点分别是原、对偶问题的最优解,对偶间隙为零。
KKT 条件在优化领域有着重要作用。在一些特殊的情形下,是可以解析求解 KKT 条件的(因此可以求解优化问题)。更一般地,很多求解凸优化问题的方法可以认为或者理解为求解 KKT 条件的方法。