用途
对于约束最优化问题,有时原始问题的最优解不好求解,可以借助拉格朗日对偶性将原始问题转化为对偶问题,通过求解对偶问题的解来获得原始问题的最优解。在最大熵模型和支持向量机中用到了该类方法。
描述
原始问题
假设
f(x)
,
cI(x)
,
hj(x)
为定义在
Rn
上面的连续可微函数,原始问题如下:
minx∈Rnf(x)
s.t.ci(x)≤0,i=1,2...k
hj(x)=0,j=1,2...l
引入广义拉格朗日函数:
L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1lβjhj(x)
s.t.αi≥0,i=1,2...k
可以将求解原始问题转化为求解以下极小极大问题:
minxmaxα,β:αi≥0L(x,α,β)
原始问题和极小极大问题是等价的,证明见参考。
对偶问题(极大极小问题)
广义拉格朗日函数的极大极小问题可以表示成以下形式:
maxα,βminxL(x,α,β)
s.t.αi≥0
两种问题的关系
如果原始问题和对偶问题都有最优值,那么满足
maxα,β:αi≥0minxL(x,α,β)≤minxmaxα,β:αi≥0L(x,α,β)
对于求解来讲,我们更需要关注的是上式中的等号情况,即原始问题和对偶问题的最优值相等的情况,此时可以通过求解对偶问题的最优解来作为原始问题的最优解。
假设 f(x) 和 ci(x) 是凸函数, hj(x) 是仿射函数,并且不等式约束 ci(x) 是严格可行的,则 x∗ , α∗ , β∗ 分别是原始问题和对偶问题的解的充分必要条件是满足下面的KKT(Karush-Kuhn-Tucker)条件:
∇xL(x∗,α∗,β∗)=0
∇αL(x∗,α∗,β∗)=0
∇βL(x∗,α∗,β∗)=0
α∗ici(x∗)=0,i=1,2...k
ci(x∗)≤0,i=1,2...k
α∗i≥0,i=1,2...k
hj(x∗)=0,j=1,2...l