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