Skip to content

最优性条件 ​

次优解认证和终止准则 ​

如果能够找到一个对偶可行解 (λ,ν),就对原问题的最优值建立了一个下界: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(λ⋆,ν⋆)=infx(f0(x)+∑i=1mλi⋆fi(x)+∑i=1pνi⋆hi(x))⩽f0(x⋆)+∑i=1mλi⋆fi(x⋆)+∑i=1pνi⋆hi(x⋆)⩽f0(x⋆)

第一个等式说明最优对偶间隙为零,第二个等式是对偶函数的定义。第三个不等式是根据 Lagrange 函数关于 x 求下确界小于等于其在 x=x⋆ 处得到。最后一个不等式成立是因为

{λi⋆⩾0,i=1,⋯,mfi(x⋆)⩽0,i=1,⋯,mhi(x⋆)=0,i=1,⋯,p

因此,在上面的式子链中,两个不等式取等号。

由此可以得出一些有意义的结论。其中一个特别重要的结论是

∑i=1mλ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=1mλi⋆∇fi(x⋆)+∑i=1pνi⋆∇hi(x⋆)=0

因此,我们可以得到

fi(x⋆)⩽0,i=1,⋯,mhi(x⋆)=0,i=1,⋯,pλi⋆⩾0,i=1,⋯,mλi⋆fi(x⋆)=0,i=1,⋯,m∇f0(x⋆)+∑i=1mλi⋆∇fi(x⋆)+∑i=1pνi⋆∇hi(x⋆)=0

我们称上式为 Karush-Kuhn-Tucker (KKT) 条件。

总之,只要强对偶性成立,那么任何一对原问题的最优解和对偶问题的最优解必须满足 KKT 条件。

凸问题的 KKT 条件 ​

fi(x~)⩽0,i=1,⋯,mhi(x~)=0,i=1,⋯,pλ~_i⩾0,i=1,⋯,mλ~_ifi(x~)=0,i=1,⋯,m∇f0(x~)+∑i=1mλ~_i∇fi(x~)+∑i=1pν~_i∇hi(x~)=0,

从凸问题的 KKT 条件中,我们可以得出结论

g(λ~,ν~)=L(x~,λ~,ν~)=f0(x~)+∑i=1mλ~_if_i(x~)+∑i=1pν~_ihi(x~)=f0(x~)

推导过程的最后一步成立是因为 hi(x~)=0 以及 λ~ifi(x~)=0。这说明原问题的解 x~ 和对偶问题的解 (λ~,ν~) 之间的对偶间隙为零,因此分别是原、对偶问题的最优解。总之,对目标函数和约束函数可微的任意凸优化问题,任意满足 KKT 条件的点分别是原、对偶问题的最优解,对偶间隙为零。

KKT 条件在优化领域有着重要作用。在一些特殊的情形下,是可以解析求解 KKT 条件的(因此可以求解优化问题)。更一般地,很多求解凸优化问题的方法可以认为或者理解为求解 KKT 条件的方法。

INFO

关于 KKT 条件的深入理解与分析,详见下一小节深入理解 KKT 条件。

最近更新