
本文共 6501 字,大约阅读时间需要 21 分钟。
预备知识
什么是凸优化?
凸优化需要满足:
- 1、在最小化(最大化)的要求下;
- 2、目标函数是一个凸函数(凹函数);
- 3、同时约束条件所形成的可行域集合是一个凸集。
凸集
若集合 C C C为凸集,则 C C C中任意两点间的线段仍然在 C C C中,也就是说,对于任意 x 1 , x 2 ∈ C x_1, x_2\in C x1,x2∈C,都有:
θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+(1-\theta)x_2\in C θx1+(1−θ)x2∈C
其中, 0 ≤ θ ≤ 1 0 \leq \theta \leq1 0≤θ≤1。
凸优化问题
仿射函数
仿射函数,即最高次数为1的多项式函数。常数项为零的仿射函数称为线性函数。
对偶理论
一、原问题转化
对于一般优化问题,如:
m i n i m i z e f o ( x ) s . t . f i ( x ) ≤ 0 f o r i = 1 , 2 , … … m h i ( x ) = 0 f o r i = 1 , 2 , … … p minimize\ \ \ f_{o(x)} \\ s.t. \ \ f_{i(x)}\leq0 \ \ for \ \ i=1,2,……m \\ \ \ \ \ \ \ \ \ h_{i(x)}=0 \ \ for \ \ i=1,2,……p minimize fo(x)s.t. fi(x)≤0 for i=1,2,……m hi(x)=0 for i=1,2,……p
则可以将其转化为拉格朗日函数:
L ( x , λ , v ) = f o ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) L_{(x, \lambda,v)}=f_{o(x)}+\sum_{i=1}^{m}\lambda_if_{i(x)}+\sum_{i=1}^{p}v_ih_{i(x)} L(x,λ,v)=fo(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
其中包含主变量 x x x和对偶变量 λ i ≥ 0 , v i \lambda_i\geq0,v_i λi≥0,vi。
如果想固定 x x x,只通过改变 λ \lambda λ和 v v v来获得上面函数的最大值,即:
m a x λ , v L ( x , λ , v ) = f o ( x ) + m a x λ , v ( ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) ) \mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}=f_{o(x)}+\mathop{max}\limits_{\lambda,v}(\sum_{i=1}^{m}\lambda_if_{i(x)}+\sum_{i=1}^{p}v_ih_{i(x)}) λ,vmaxL(x,λ,v)=fo(x)+λ,vmax(i=1∑mλifi(x)+i=1∑pvihi(x))
因为 f i ( x ) ≤ 0 f_{i(x)}\leq0 fi(x)≤0, λ i ≥ 0 \lambda_i\geq0 λi≥0,且 h i ( x ) = 0 h_{i(x)}=0 hi(x)=0,则:
m a x λ , v L ( x , λ , v ) = f o ( x ) \mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}=f_{o(x)} λ,vmaxL(x,λ,v)=fo(x)
所以原本在约束条件下要求的 m i n x f o ( x ) \mathop{min}\limits_{x} f_{o(x)} xminfo(x)可以被转化为求:
p ∗ = m i n x ( m a x λ , v L ( x , λ , v ) ) p^{*}=\mathop{min}\limits_{x}(\mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}) p∗=xmin(λ,vmaxL(x,λ,v))
而当强对偶条件成立时,这个问题又可以被转化为求:
d ∗ = m a x λ , v ( m i n x L ( x , λ , v ) ) d^{*}=\mathop{max}\limits_{\lambda,v}(\mathop{min}\limits_{x}L_{(x,\lambda,v)}) d∗=λ,vmax(xminL(x,λ,v))
将 m i n x L ( x , λ , v ) \mathop{min}\limits_{x}L_{(x,\lambda,v)} xminL(x,λ,v)称为拉格朗日对偶函数,即拉格朗日函数关于 x x x取得的最小值,设:
g ( λ , v ) = m i n x L ( x , λ , v ) = m i n x ( f o ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) ) g_{(\lambda,v)}=\mathop{min}\limits_{x}L_{(x,\lambda,v)}=\mathop{min}\limits_{x}(f_{o(x)}+\sum_{i=1}^{m}\lambda_if_{i(x)}+\sum_{i=1}^{p}v_ih_{i(x)}) g(λ,v)=xminL(x,λ,v)=xmin(fo(x)+i=1∑mλifi(x)+i=1∑pvihi(x))
那么, g ( λ , v ) g_{(\lambda,v)} g(λ,v)是 ( λ , v ) (\lambda,v) (λ,v)的仿射函数 L ( x , λ , v ) L_{(x,\lambda,v)} L(x,λ,v)的逐点下确界,这一定是个凹函数。
设 x ~ \tilde{x} x~是原问题的一个可行点,即 f i ( x ) ≤ 0 f_{i(x)}\leq0 fi(x)≤0且 h i ( x ) = 0 h_{i(x)}=0 hi(x)=0,根据假设 λ ≥ 0 \lambda\geq0 λ≥0,有:
∑ i = 1 m λ i f i ( x ~ ) + ∑ i = 1 p v i h i ( x ~ ) ≤ 0 \sum_{i=1}^{m}\lambda_if_{i(\tilde{x})}+\sum_{i=1}^{p}v_ih_{i(\tilde{x})}\leq0 i=1∑mλifi(x~)+i=1∑pvihi(x~)≤0
所以:
L ( x ~ , λ , v ) = f o ( x ~ ) + ∑ i = 1 m λ i f i ( x ~ ) + ∑ i = 1 p v i h i ( x ~ ) ≤ f o ( x ~ ) L_{(\tilde{x}, \lambda,v)}=f_{o(\tilde{x})}+\sum_{i=1}^{m}\lambda_if_{i(\tilde{x})}+\sum_{i=1}^{p}v_ih_{i(\tilde{x})}\leq f_{o(\tilde{x})} L(x~,λ,v)=fo(x~)+i=1∑mλifi(x~)+i=1∑pvihi(x~)≤fo(x~)
因此
g ( λ , v ) = i n f x L ( x , λ , v ) ≤ L ( x ~ , λ , v ) ≤ f o ( x ~ ) g_{(\lambda,v)}=\mathop{inf}\limits_{x}L_{(x,\lambda,v)}\leq L_{(\tilde{x},\lambda,v)}\leq f_{o(\tilde{x})} g(λ,v)=xinfL(x,λ,v)≤L(x~,λ,v)≤fo(x~)
其中, i n f x L ( x , λ , v ) \mathop{inf}\limits_{x}L_{(x,\lambda,v)} xinfL(x,λ,v)是指 L ( x , λ , v ) L_{(x,\lambda,v)} L(x,λ,v)的逐点下确界。
也就是说, d ∗ ≤ p ∗ d^{*}\leq p^{*} d∗≤p∗是一定的。
至此,我们已经证明了原问题 m i n x f o ( x ) \mathop{min}\limits_{x} f_{o(x)} xminfo(x)可以被转化为求 m i n x ( m a x λ , v L ( x , λ , v ) ) \mathop{min}\limits_{x}(\mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}) xmin(λ,vmaxL(x,λ,v)),且由对偶条件进而被转化为求 m a x λ , v ( m i n x L ( x , λ , v ) ) = m a x λ , v g ( λ , v ) \mathop{max}\limits_{\lambda,v}(\mathop{min}\limits_{x}L_{(x,\lambda,v)})=\mathop{max}\limits_{\lambda,v}g_{(\lambda,v)} λ,vmax(xminL(x,λ,v))=λ,vmaxg(λ,v),并且 m a x λ , v g ( λ , v ) \mathop{max}\limits_{\lambda,v}g_{(\lambda,v)} λ,vmaxg(λ,v)是一定小于 m i n x f o ( x ) \mathop{min}\limits_{x} f_{o(x)} xminfo(x)的。
ps:对偶条件
弱对偶: d ∗ ≤ p ∗ d^{*}\leq p^{*} d∗≤p∗,无论原问题是不是凸优化问题,这个式子总是成立的。
强对偶: d ∗ = p ∗ d^{*}=p^{*} d∗=p∗
- 该条件通常不成立。
- 对于凸优化问题通常成立。
- 对于满足 S l a t e r Slater Slater条件的凸优化问题一定成立。
【注】 S l a t e r Slater Slater条件是指,对于在预备知识模块给出的凸优化问题的定义中的 f i ( x ) f_{i(x)} fi(x),总存在一点 x x x,使得 f i ( x ) < 0 f_{i(x)}<0 fi(x)<0在 i = 1 , 2 , … … m i=1,2,……m i=1,2,……m上均成立。
二、互补松弛性
设原问题和对偶问题的最优解都可以达到且相等(强对偶性成立),令 x ∗ x^{*} x∗为原问题的最优解, ( λ ∗ , v ∗ ) (\lambda^{*},v^{*}) (λ∗,v∗)为对偶问题的最优解,则:
f o ( x ∗ ) = g ( λ ∗ , v ∗ ) = i n f x ( f o ( x ) + ∑ i = 1 m λ i ∗ f i ( x ) + ∑ i = 1 p v i ∗ h i ( x ) ) ≤ f o ( x ∗ ) + ∑ i = 1 m λ i ∗ f i ( x ∗ ) + ∑ i = 1 p v i ∗ h i ( x ∗ ) ≤ f o ( x ∗ ) f_{o(x^{*})}=g_{(\lambda^{*},v^{*})}\\ \quad \quad \quad \quad \ \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad=\mathop{inf}\limits_{x}(f_{o(x)}+\sum_{i=1}^{m}\lambda_i^{*}f_{i(x)}+\sum_{i=1}^{p}v_i^{*}h_{i(x)})\\ \quad \quad \quad \quad \ \ \ \quad \quad \quad \quad \quad \quad \quad \quad \leq f_{o(x^{*})}+\sum_{i=1}^{m}\lambda_i^{*}f_{i(x^{*})}+\sum_{i=1}^{p}v_i^{*}h_{i(x^{*})}\\ \ \ \ \ \leq f_{o(x^{*})} fo(x∗)=g(λ∗,v∗) =xinf(fo(x)+i=1∑mλi∗fi(x)+i=1∑pvi∗hi(x)) ≤fo(x∗)+i=1∑mλi∗fi(x∗)+i=1∑pvi∗hi(x∗) ≤fo(x∗)
取等号时,有:
λ i ∗ f i ( x ∗ ) = 0 i = 1 , 2 , … … m \lambda_i^{*}f_{i(x^{*})}=0 \quad i=1,2,……m λi∗fi(x∗)=0i=1,2,……m
此条件称为互补松弛性,也就是KKT条件。
三、凸问题的KKT条件
当原问题是凸问题时,满足KKT条件的点也是原问题和对偶问题的最优解。也就是说,如果函数 f i ( x ) f_{i(x)} fi(x)为凸函数, h i ( x ) h_{i(x)} hi(x)为仿射函数, x ~ , λ ~ , v ~ \tilde{x},\tilde{\lambda},\tilde{v} x~,λ~,v~是任意满足KKT条件的点。即满足:
- 问题约束:
f i ( x ~ ) ≤ 0 i = 1 , 2 , … … m f_{i(\tilde{x})}\leq0 \quad i=1,2,……m fi(x~)≤0i=1,2,……m
h i ( x ~ ) = 0 i = 1 , 2 , … … m h_{i(\tilde{x})}=0 \quad i=1,2,……m hi(x~)=0i=1,2,……m
λ i ~ ≥ 0 i = 1 , 2 , … … m \tilde{\lambda_i}\geq0 \quad i=1,2,……m λi~≥0i=1,2,……m - 互补松弛性:
λ i ~ f i ( x ~ ) = 0 i = 1 , 2 , … … m \tilde{\lambda_i}f_{i(\tilde{x})}=0 \quad i=1,2,……m λi~fi(x~)=0i=1,2,……m - 极值条件:
▽ x L ( x ~ , λ ~ , v ~ ) = ▽ x f o ( x ~ ) + ∑ i = 1 m λ ~ i ▽ x f i ( x ~ ) + ∑ i = 1 p v ~ i ▽ x h i ( x ~ ) = 0 \bigtriangledown_xL_{(\tilde{x},\tilde{\lambda},\tilde{v})}=\bigtriangledown_xf_{o(\tilde{x})}+\sum_{i=1}^{m}\tilde{\lambda}_i\bigtriangledown_xf_{i(\tilde{x})}+\sum_{i=1}^{p}\tilde{v}_i\bigtriangledown_xh_{i(\tilde{x})}=0 ▽xL(x~,λ~,v~)=▽xfo(x~)+i=1∑mλ~i▽xfi(x~)+i=1∑pv~i▽xhi(x~)=0
那么, x ~ \tilde{x} x~和 ( λ ~ , v ~ ) (\tilde{\lambda},\tilde{v}) (λ~,v~)就分别是原问题和对偶问题的最优解,且结果相同。
发表评论
最新留言
关于作者
