凸优化:对偶
- 凸优化:对偶
- Lagrange对偶函数
- lagrange对偶问题
- 最优性条件
- 总结
Lagrange对偶函数
考虑标准优化问题:
minimize s.t. f0(x)fi(x)≤0 i=1,2,⋯,n(1)hi(x)=0 i=1,2,⋯,n m i n i m i z e f 0 ( x ) s . t . f i ( x ) ≤ 0 i = 1 , 2 , ⋯ , n ( 1 ) h i ( x ) = 0 i = 1 , 2 , ⋯ , n
其中各个约束函数的定义域存在非空交集。且此问题并非定义为凸优化问题。
定义问题(1)的lagrange函数为:
L(x,λ,v)=f0(x)+∑i=1mλifi(x)+∑i=1pvihi(x)(2) L ( x , λ , v ) = f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) ( 2 )
其中,
λi,vi λ i , v i 成为对应约束方程的lagrange乘子,
v,λ v , λ 称为对偶变量或者lagrange乘子向量。
定义lagrange对偶函数为lagrange函数关于 x x 取得的最小值,即为:
g(λ,v)=ixnfL(x,λ,v)=ixnf(f0(x)+∑i=1mλifi(x)+∑i=1pvihi(x))(3) g ( λ , v ) = i x n f L ( x , λ , v ) = i x n f ( f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) ) ( 3 )
即使原问题(1)不是凸的,其对偶函数也是凹函数。假设原问题的最优解为
p∗ p ∗ ,那么总有:
g(λ,v)≤p∗ g ( λ , v ) ≤ p ∗
也即是说,lagrange对偶函数为原问题提供了一个下界。(原问题问题可以有很多个下界,只要比最优值小就可以是一个下界)
lagrange对偶问题
lagrange对偶函数给出了原问题的一个下界,如果这个下界很普通那根本没有任何意义。考虑原问题是最小化目标函数,是一个向下搜索的过程。因此,可以考虑最大化lagrange函数,向上搜索为原问题提供一个最好的下界。
maximizes.t.g(λ,v)(4)λ≥0(1)(2) (1) m a x i m i z e g ( λ , v ) ( 4 ) (2) s . t . λ ≥ 0
此问题称为问题(1)的lagrange对偶问题。假设该问题的最优值为
d∗ d ∗ ,那么:
d∗≤p∗(5) d ∗ ≤ p ∗ ( 5 )
即使原问题不是凸的,此不等式仍旧成立,称之为
弱对偶性。两个最优值的差值称之为
最优对偶间隙(这是一个非负数)。如果最优对偶间隙为零,那么两个最优值相等,称之为
强对偶性。
如果原问题是凸问题,强对偶性通常(并不绝对)成立。因此,有许多研究给出了除凸性条件外的强对偶性成立的条件,如Slater条件。
最优性条件
互补松驰性
假设强对偶性成立。令 x∗ x ∗ 为原问题的最优解, (λ∗,v∗) ( λ ∗ , v ∗ ) 为对偶问题的最优解。那么有:
f0(x∗)=g(λ∗,v∗)=ixnf(f0(x)+∑i=1mλ∗ifi(x)+∑i=1pv∗ihi(x))(6)≤f0(x∗)+∑i=1mλ∗ifi(x∗)+∑i=1pv∗ihi(x∗)≤f0(x∗)(3)(4)(5)(6) (3) f 0 ( x ∗ ) = g ( λ ∗ , v ∗ ) (4) = i x n f ( f 0 ( x ) + ∑ i = 1 m λ i ∗ f i ( x ) + ∑ i = 1 p v i ∗ h i ( x ) ) ( 6 ) (5) ≤ f 0 ( x ∗ ) + ∑ i = 1 m λ i ∗ f i ( x ∗ ) + ∑ i = 1 p v i ∗ h i ( x ∗ ) (6) ≤ f 0 ( x ∗ )
第一个等式成立是因为最优对偶间隙为0,第二个等式成立是因为lagrange对偶函数的定义;第三个不等式成立是因为lagrange函数的最小值小于在
x=x∗ x = x ∗ 处的值;第四个不等式成立是因为对偶函数取得最优值时
λ∗i≥0 λ i ∗ ≥ 0 , 原问题取得最优值时
fi(x∗)≤0 f i ( x ∗ ) ≤ 0 且
hi(x∗)=0 h i ( x ∗ ) = 0 。因此,上述两个不等式取等号。
因此有:
∑i=1mλ∗ifi(x∗)=0(7) ∑ i = 1 m λ i ∗ f i ( x ∗ ) = 0 ( 7 )
又因为其中每一项非正,因此每一项都为0。
λ∗ifi(x∗)=0,i=1,2,⋯,m(8) λ i ∗ f i ( x ∗ ) = 0 , i = 1 , 2 , ⋯ , m ( 8 )
式(8)称之为松弛互补条件。
KKT最优性条件
假设函数(并不一定为凸函数) fi,hi f i , h i 可微。令 x∗ x ∗ , (λ∗,v∗) ( λ ∗ , v ∗ ) 为原问题和对偶问题的某对最优解。因为,丢偶函数为凸函数,因此在其取得最小值处导数必定为0。
∇f0(x∗)+∑i=1mλ∗i∇fi(x∗)+∑i=1pv∗i∇hi(x∗)=0(9) ∇ f 0 ( x ∗ ) + ∑ i = 1 m λ i ∗ ∇ f i ( x ∗ ) + ∑ i = 1 p v i ∗ ∇ h i ( x ∗ ) = 0 ( 9 )
因此,我们有:
fi(x∗)≤0hi(x∗)=0λ∗i≥0λ∗ifi(x∗)=0∇f0(x∗)+∑i=1mλ∗i∇fi(x∗)+∑i=1pv∗i∇hi(x∗)=0(7)(8)(9)(10)(11) (7) f i ( x ∗ ) ≤ 0 (8) h i ( x ∗ ) = 0 (9) λ i ∗ ≥ 0 (10) λ i ∗ f i ( x ∗ ) = 0 (11) ∇ f 0 ( x ∗ ) + ∑ i = 1 m λ i ∗ ∇ f i ( x ∗ ) + ∑ i = 1 p v i ∗ ∇ h i ( x ∗ ) = 0
以上几个条件称为KKT条件。当原问题是凸问题时,满足KKT条件的点也是原问题和对偶问题的最优解。当原问题非凸时,原问题和对偶问题的最优解满足KKT条件。
总结
当优化问题为非凸问题时,可以通过将问题转化为对偶问题来进行求解。如果强对偶成立且存在一个对偶最优解,那么任意原问题的最优点也是 L(x,λ∗,v∗) L ( x , λ ∗ , v ∗ ) 的最优解。