凸优化之KKT条件

互补松弛性

设原问题和对偶问题的最优值都可以达到且相等 (即强对偶性成立). 令 x ⋆ x^{\star} x 是原问题的最优解, ( λ ⋆ , ν ⋆ ) \left(\lambda^{\star}, \nu^{\star}\right) (λ,ν) 是对偶问题的最优解,这表明
原 问 题 所 得 到 的 最 优 值 = 对 偶 问 题 所 得 到 的 最 优 值 f 0 ( x ⋆ ) = g ( λ ⋆ , ν ⋆ ) = inf ⁡ x ( f 0 ( x ) + ∑ i = 1 m λ i ⋆ f i ( x ) + ∑ i = 1 p ν i ⋆ h i ( x ) ) ⩽ f 0 ( x ⋆ ) + ∑ i = 1 m λ i ⋆ f i ( x ⋆ ) + ∑ i = 1 p ν i ⋆ h i ( x ⋆ ) ⩽ f 0 ( x ⋆ ) . \begin{aligned} 原问题所得到的最优值&=对偶问题所得到的最优值 \\ f_{0}(x^{\star}) &=g\left(\lambda^{\star}, \nu^{\star}\right) \\ &=\inf _{x} \left (f_{0}(x)+\sum_{i=1}^{m} \lambda_{i}^{\star} f_{i}(x)+\sum_{i=1}^{p} \nu_{i}^{\star} h_{i}(x) \right) \\ & \leqslant f_{0}(x^{\star})+\sum_{i=1}^{m} \lambda_{i}^{\star} f_{i}(x^{\star})+\sum_{i=1}^{p} \nu_{i}^{\star} h_{i}(x^{\star}) \\ & \leqslant f_{0}(x^{\star}). \end{aligned} f0(x)==g(λ,ν)=xinf(f0(x)+i=1mλifi(x)+i=1pνihi(x))f0(x)+i=1mλifi(x)+i=1pνihi(x)f0(x).

由于 λ i ⩾ 0 , f i ( x ) ⩽ 0 , h i ( x ) = 0 \lambda_i \geqslant 0, f_i(x) \leqslant 0, h_i(x) = 0 λi0,fi(x)0,hi(x)=0 这些诸多限制, 导致对偶问题的取值受到非常强的约束

第一个等式说明最优对偶间隙为零.
第二个等式是对偶函数的定义.
第三个不等式是根据 Lagrange \text{Lagrange} Lagrange 函数关于 x x x 求下确界小于等于其在 x = x ⋆ x=x^{\star} x=x 处的值得来. (下确界一定是小于等于函数所能取到的任意值)
最后一个不等式的成立是因为 λ i ⋆ ⩾ 0 , f i ( x ⋆ ) ⩽ 0 , i = 1 , ⋯   , m \lambda_{i}^{\star} \geqslant 0,f_{i}\left(x^{\star}\right) \leqslant 0, i=1, \cdots, m λi0,fi(x)0,i=1,,m, 以及 h i ( x ⋆ ) = 0 , i = 1 , ⋯   , p h_{i}\left(x^{\star}\right)=0, i=1, \cdots, p hi(x)=0,i=1,,p (因为 x ⋆ ∈ D x^{\star} \in \mathcal{D} xD, 在原问题的定义域内, 因此 h i ( x ⋆ ) = 0 , f i ( x ⋆ ) ⩽ 0 h_{i}\left(x^{\star}\right)=0,f_{i}\left(x^{\star}\right) \leqslant 0 hi(x)=0,fi(x)0)
因此,在上面的式子链中,两个不等式取等号.
f 0 ( x ⋆ ) = g ( λ ⋆ , ν ⋆ ) = inf ⁡ x ( f 0 ( x ) + ∑ i = 1 m λ i ⋆ f i ( x ) + ∑ i = 1 p ν i ⋆ h i ( x ) ) = f 0 ( x ⋆ ) + ∑ i = 1 m λ i ⋆ f i ( x ⋆ ) + ∑ i = 1 p ν i ⋆ h i ( x ⋆ ) = f 0 ( x ⋆ ) . \begin{aligned} f_{0}(x^{\star}) &=g\left(\lambda^{\star}, \nu^{\star}\right) \\ &=\inf _{x} \left (f_{0}(x)+\sum_{i=1}^{m} \lambda_{i}^{\star} f_{i}(x)+\sum_{i=1}^{p} \nu_{i}^{\star} h_{i}(x) \right) \\ &= f_{0}(x^{\star})+\sum_{i=1}^{m} \lambda_{i}^{\star} f_{i}(x^{\star})+\sum_{i=1}^{p} \nu_{i}^{\star} h_{i}(x^{\star}) \\ &= f_{0}(x^{\star}). \end{aligned} f0(x)=g(λ,ν)=xinf(f0(x)+i=1mλifi(x)+i=1pνihi(x))=f0(x)+i=1mλifi(x)+i=1pνihi(x)=f0(x).
由此可以得出一些有意义的结论. 例如,由于第三个不等式变为等式,我们知道 L ( x , λ ⋆ , ν ⋆ ) L\left(x, \lambda^{\star}, \nu^{\star}\right) L(x,λ,ν) 关于 x x x 求极小时在 x ⋆ x^{\star} x 处取得最小值. ( Lagrange \text{Lagrange} Lagrange 函数 L ( x , λ ⋆ , ν ⋆ ) L\left(x, \lambda^{\star}, \nu^{\star}\right) L(x,λ,ν) 也可以有其他最小点; x ⋆ x^{\star} x 只是其中一个最小点.
另外一个重要的结论是
∑ i = 1 m λ i ⋆ f i ( x ⋆ ) = 0 \sum_{i=1}^{m} \lambda_{i}^{\star} f_{i}\left(x^{\star}\right)=0 i=1mλifi(x)=0
事实上,求和项的每一项都非正,因此有
λ i ⋆ f i ( x ⋆ ) = 0 , i = 1 , ⋯   , m . \lambda_{i}^{\star} f_{i}\left(x^{\star}\right)=0, \quad i=1, \cdots, m . λifi(x)=0,i=1,,m.
上述条件称为互补松弛性; 它对任意原问题最优解 x ⋆ x^{\star} x 以及对偶问题最优解 ( λ ⋆ , ν ⋆ ) \left(\lambda^{\star}, \nu^{\star}\right) (λ,ν) 都成立 (当强对偶性成立时). 我们可以将互补松弛条件写成

( 注 意 , f i ( x ⋆ ) ⩽ 0 ) λ i ⋆ > 0 ⟹ f i ( x ⋆ ) = 0 , (注意,f_i(x^{\star}) \leqslant 0) \\ \quad \\ \lambda_{i}^{\star}>0 \Longrightarrow f_{i}\left(x^{\star}\right)=0, (,fi(x)0)λi>0fi(x)=0,

或者等价地
f i ( x ⋆ ) < 0 ⟹ λ i ⋆ = 0. f_{i}\left(x^{\star}\right)<0 \Longrightarrow \lambda_{i}^{\star}=0 . fi(x)<0λi=0.
粗略地讲, 上式意味着在最优点处, 除了第 i i i 个约束起作用的情况,最优 Lagrange \text{Lagrange} Lagrange 乘子的第 i i i 项都为零。

KKT \text{KKT} KKT 最优性条件

现在假设函数 f 0 , ⋯   , f m , h 1 , ⋯   , h p f_{0}, \cdots, f_{m}, h_{1}, \cdots, h_{p} f0,,fm,h1,,hp 可微 ( ( ( 因此定义域是开集 ) ) ), 但是并不假设这些函数是凸函数.

非凸问颠的 KKT \text{KKT} KKT 条件( KKT \text{KKT} KKT 条件是原问题有最优解的必要条件)

对于非凸问题来说, 如果非凸问题有最优解,则 KKT \text{KKT} KKT 条件成立,但反之则不一定成立,即使 KKT \text{KKT} KKT 条件满足,但不一定就可以得到非凸问题有最优解.
和前面一样, 令 x ⋆ x^{\star} x ( λ ⋆ , ν ⋆ ) \left(\lambda^{\star}, \nu^{\star}\right) (λ,ν) 分别是原问题和对偶问题的某对最优解, 对偶间隙为零。因为 L ( x , λ ⋆ , ν ⋆ ) L\left(x, \lambda^{\star}, \nu^{\star}\right) L(x,λ,ν) 关于 x x x 求极小在 x ⋆ x^{\star} x 处取得最小值, 因此函数在 x ⋆ x^{\star} x 处的导数必须为零,即,

∇ f 0 ( x ⋆ ) + ∑ i = 1 m λ i ⋆ ∇ f i ( x ⋆ ) + ∑ i = 1 p ν i ⋆ ∇ h i ( x ⋆ ) = 0 \nabla f_{0}\left(x^{\star}\right)+\sum_{i=1}^{m} \lambda_{i}^{\star} \nabla f_{i}\left(x^{\star}\right)+\sum_{i=1}^{p} \nu_{i}^{\star} \nabla h_{i}\left(x^{\star}\right)=0 f0(x)+i=1mλifi(x)+i=1pνihi(x)=0

因此, 我们有

KKT condition = { f i ( x ⋆ ) ⩽ 0 , i = 1 , ⋯   , m ( p r i m a l    f e a s i b i l i t y ) h i ( x ⋆ ) = 0 , i = 1 , ⋯   , p ( p r i m a l    f e a s i b i l i t y ) λ i ⋆ ⩾ 0 , i = 1 , ⋯   , m ( d u a l    f e a s i b i l i t y ) λ i ⋆ f i ( x ⋆ ) = 0 , i = 1 , ⋯   , m ( c o m p l e m e n t a r y    s l a c k n e s s ) ∇ f 0 ( x ⋆ ) + ∑ i = 1 m λ i ∗ ∇ f i ( x ⋆ ) + ∑ i = 1 p ν i ⋆ ∇ h i ( x ⋆ ) = 0 , ( s t a t i o n a r i t y ) \begin{aligned} \text{KKT condition} = \left \{ \begin{array}{ll} f_{i}(x^{\star}) \leqslant 0, \qquad i=1, \cdots, m \quad (primal \; feasibility) \\ h_{i}\left(x^{\star}\right) =0, \qquad i=1, \cdots, p \quad \boldsymbol{(primal \; feasibility)} \\ \lambda_{i}^{\star} \geqslant 0, \qquad \qquad i=1, \cdots, m \quad (dual \; feasibility) \\ \lambda_{i}^{\star} f_{i}(x^{\star}) =0, \quad i=1, \cdots, m \quad (complementary \; slackness) \\ \nabla f_{0}(x^{\star})+\sum_{i=1}^{m} \lambda_{i}^{*} \nabla f_{i}(x^{\star})+\sum_{i=1}^{p} \nu_{i}^{\star} \nabla h_{i}(x^{\star}) =0, \quad \boldsymbol{(stationarity)} \end{array} \right. \end{aligned} KKT condition=fi(x)0,i=1,,m(primalfeasibility)hi(x)=0,i=1,,p(primalfeasibility)λi0,i=1,,m(dualfeasibility)λifi(x)=0,i=1,,m(complementaryslackness)f0(x)+i=1mλifi(x)+i=1pνihi(x)=0,(stationarity)

我们称上式为 Karush-Kuhn-Tucker (KKT) \text{Karush-Kuhn-Tucker (KKT)} Karush-Kuhn-Tucker (KKT) 条件. (加粗的条件经常会用到.)
总之,对于目标函数和约束函数可微的任意优化问题, 如果强对偶性成立, 那么任何一对原问题最优解和对偶问题最优解必须满足 KKT \text{KKT} KKT 条件。

凸问题的 KKT \text{KKT} KKT 条件(在满足 Slater \text{Slater} Slater 条件的情况下, KKT \text{KKT} KKT 条件是原问题有最优解的充要条件)

对于满足 Slater \text{Slater} Slater 条件的凸问题来说, 如果凸问题有最优解,则 KKT \text{KKT} KKT 条件成立,且反之也成立,即 KKT \text{KKT} KKT 条件满足,一定就可以得到凸问题有最优解.因此求解凸问题的解可以看成在求解KKT系统.
当原问题是凸问题时,满足 KKT \text{KKT} KKT 条件的点也是原对偶最优解。 换言之,如果函数 f i f_{i} fi 是凸函数, h i h_{i} hi 是仿射函数, x ~ , λ ~ , ν ~ \tilde{x}, \tilde{\lambda}, \tilde{\nu} x~,λ~,ν~ 是任意满足 KKT \text{KKT} KKT 条件的点,

KKT condition = { f i ( x ~ ) ⩽ 0 , i = 1 , ⋯   , m ( p r i m a l    f e a s i b i l i t y    原 问 题 可 行 性 ) h i ( x ~ ) = 0 , i = 1 , ⋯   , p ( p r i m a l    f e a s i b i l i t y    原 问 题 可 行 性 ) λ ~ i ⩾ 0 , i = 1 , ⋯   , m ( d u a l    f e a s i b i l i t y    对 偶 问 题 可 行 性 ) λ ~ i f i ( x ~ ) = 0 , i = 1 , ⋯   , m ( c o m p l e m e n t a r y    s l a c k n e s s    互 补 松 弛 条 件 ) ∇ f 0 ( x ~ ) + ∑ i = 1 m λ ~ i ∇ f i ( x ~ ) + ∑ i = 1 p ν ~ i ∇ h i ( x ~ ) = 0 , ( s t a t i o n a r i t y    稳 定 性 ) \begin{aligned} \text{KKT condition} = \left \{ \begin{array}{ll} f_{i}(\tilde{x}) \leqslant 0, \qquad i=1, \cdots, m \quad (primal \; feasibility \;原问题可行性) \\ h_{i}\left(\tilde{x}\right) =0, \qquad i=1, \cdots, p \quad (primal \; feasibility \;原问题可行性) \\ \tilde{\lambda}_{i} \geqslant 0, \qquad \qquad i=1, \cdots, m \quad (dual \; feasibility \;对偶问题可行性) \\ \tilde{\lambda}_{i} f_{i}(\tilde{x}) =0, \quad i=1, \cdots, m \quad (complementary \; slackness \;互补松弛条件) \\ \nabla f_{0}(\tilde{x})+\sum_{i=1}^{m} \tilde{\lambda}_{i} \nabla f_{i}(\tilde{x})+\sum_{i=1}^{p} \tilde{\nu}_{i} \nabla h_{i}(\tilde{x}) =0, \quad (stationarity \;稳定性) \end{array} \right. \end{aligned} KKT condition=fi(x~)0,i=1,,m(primalfeasibility)hi(x~)=0,i=1,,p(primalfeasibility)λ~i0,i=1,,m(dualfeasibility)λ~ifi(x~)=0,i=1,,m(complementaryslackness)f0(x~)+i=1mλ~ifi(x~)+i=1pν~ihi(x~)=0,(stationarity)

那么 x ~ \tilde{x} x~ ( λ ~ , ν ~ ) (\tilde{\lambda}, \tilde{\nu}) (λ~,ν~) 分别是原问题和对偶问题的最优解, 对偶间隙为零。 为了说明这一点,注意到前两个条件说明了 x ~ \tilde{x} x~ 是原问题的可行解。因为 λ ~ i ⩾ \tilde{\lambda}_{i} \geqslant λ~i 0 , L ( x , λ ~ , ν ~ ) 0, L(x, \tilde{\lambda}, \tilde{\nu}) 0,L(x,λ~,ν~) x x x 的凸函数; 最后一个 K K T \mathrm{KKT} KKT 条件说明在 x = x ~ x=\tilde{x} x=x~ 处, Lagrange \text{Lagrange} Lagrange 函数的导数为零。因此, L ( x , λ ~ , ν ~ ) L(x, \tilde{\lambda}, \tilde{\nu}) L(x,λ~,ν~) 关于 x x x 求极小在 x ~ \tilde{x} x~ 处取得最小值。我们得出结论
g ( λ ~ , ν ~ ) = L ( x ~ , λ ~ , ν ~ ) = f 0 ( x ~ ) + ∑ i = 1 m λ ~ i f i ( x ~ ) + ∑ i = 1 p ν ~ i h i ( x ~ ) = f 0 ( x ~ ) , \begin{aligned} g(\tilde{\lambda}, \tilde{\nu}) &=L(\tilde{x}, \tilde{\lambda}, \tilde{\nu}) \\ &=f_{0}(\tilde{x})+\sum_{i=1}^{m} \tilde{\lambda}_{i} f_{i}(\tilde{x})+\sum_{i=1}^{p} \tilde{\nu}_{i} h_{i}(\tilde{x}) \\ &=f_{0}(\tilde{x}), \end{aligned} g(λ~,ν~)=L(x~,λ~,ν~)=f0(x~)+i=1mλ~ifi(x~)+i=1pν~ihi(x~)=f0(x~),
最后一行成立是因为 h i ( x ~ ) = 0 h_{i}(\tilde{x})=0 hi(x~)=0 以及 λ ~ i f i ( x ~ ) = 0 ∘ \tilde{\lambda}_{i} f_{i}(\tilde{x})=0_{\circ} λ~ifi(x~)=0 这说明原问题的解 x ~ \tilde{x} x~ 和对偶问题的 解 ( λ ~ , ν ~ ) (\tilde{\lambda}, \tilde{\nu}) (λ~,ν~) 之间的对偶间隙为零, 因此分别是原、对偶最优解。总之,对目标函数和约束函数可微的任意凸优化问题, 任意满足 KKT \text{KKT} KKT 条件的点分别是原、对偶最优解, 对偶间隙为零。 若某个凸优化问题具有可微的目标函数和约束函数,且其满足 Slater \text{Slater} Slater 条件, 那么
KKT \text{KKT} KKT 条件是最优性的充要条件: Slater \text{Slater} Slater 条件意味着最优对偶间隙为零且对偶最优解可以达到, 因此 x x x 是原问题最优解, 当且仅当存在 ( λ , ν ) (\lambda, \nu) (λ,ν), 二者满足 KKT \text{KKT} KKT 条件。 KKT \text{KKT} KKT 条件在优化领域有着重要的作用。在一些特殊的情形下,是可以解析求解 KKT \text{KKT} KKT 条件的 (也因此可以求解优化问题)。更一般地,很多求解凸优化问题的方法可以 认为或者理解为求解 KKT \text{KKT} KKT 条件的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wowotou1998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值