最优化问题有三种形式:(1)无约束优化问题;(2)有等式约束的优化问题;(3)有不等式约束的优化问题。这部分是解决第三种最优化问题,即有不等式约束的优化问题。
一、原始问题:极小极大问题
假设 f(x),ci(x),hj(x) 是定义在 Rn 上的连续可微函数,称如下的最优化问题为原始问题:
minx∈Rnf(x) 的意义是在满足所有约束条件的 x 中找出使
引入拉格朗日函数,目的是将有约束的问题转化成无约束问题:
上式中, x=(x(1),x(2),⋯,x(n))T∈Rn , αi,βi 是拉格朗日乘子。 αi≥0 ,这是因为构造 L(x,α,β) 的目的是使 L(x,α,β)≤f(x) ,而 ci(x)≤0,hj(x)=0 ,故必须限制 αi≥0 。
考虑 x 的函数:
假设给定某个 x ,如果
因为若某个 i 使约束
综上分析,可以将原始最优化问题 (1) 表示为:
minxmaxα,β:αi≥0L(x,α,β) 称为广义拉格朗日函数的极小极大问题,它和原始优化问题 (1) 是完全等价的,有相同的解 x∗ 。
二、对偶问题:极大极小问题
原始问题是:
minxmaxα,β:αi≥0L(x,α,β)
,定义对偶问题是:
maxα,β:αi≥0minxL(x,α,β)
,该对偶问题称为广义拉格朗日函数的极大极小问题,可以将广义拉格朗日函数的极大极小问题表示为约束最优化问题:
三、KKT条件
定理1:若原始问题和对偶问题都有最优值,则对偶问题最优值
d∗
小于等于原始问题最优值
p∗
,即:
证明:
minxL(x,α,β)≤L(x,α,β)≤maxα,β:αi≥0L(x,α,β)
则
maxα,β:αi≥0minxL(x,α,β)≤L(x,α,β)≤minxmaxα,β:αi≥0L(x,α,β)
推论1:设
x∗
和
α∗,β∗
分别是原始问题
(1)
和对偶问题
(3)
的可行解,并且
d∗=p∗
,则
x∗
和
α∗,β∗
分别是原始问题
(1)
和对偶问题
(3)
的最优解。
以上推论中的
p∗
是原始问题的最优值,
d∗
是对偶问题的最优值。这里可行解的意思是
x∗
和
α∗,β∗
分别取了值,使得原始问题的目标函数值为
p∗
,对偶问题的目标函数值为
d∗
。如果此时
p∗=d∗
,则可行解
x∗
和
α∗,β∗
就是原始问题
(1)
和对偶问题
(3)
的最优解。这里的
p∗=d∗
是一个假设。
定理2:考虑原始问题
(1)
和对偶问题
(3)
。假设函数
f(x)
和
ci(x)
是凸函数,
hj(x)
是仿射函数;并且假设不等式约束
ci(x)
是严格可行的,即存在
x
,对所有
定理2是用来判断原始问题和对偶问题是不是强对偶问题。(对偶问题的最优值是等于原问题的最优值)。这里的
p∗=d∗
是结论。
定理3:
x∗
和
α∗,β∗
分别是原始问题和对偶问题的解的充分必要条件是,
x∗
和
α∗,β∗
满足下面的KKT条件:
上式条件中 (3.1),(3.2) 两个条件是最重要的, (3.3)−(3.5) 都是将原始问题表示成拉格朗日函数时的条件。式 (3.2) 称为对偶互补条件,根据此条件,当 α∗i>0 则 ci(x∗)=0 。
定理3说明了满足强对偶的必要条件是KKT条件,即满足强对偶条件的优化问题的最优值都一定满足KKT条件,而在满足KKT条件下,原始问题的求解可以转换成对偶问题来求解。应用时先判断原始问题和对偶问题是不是满足强对偶,满足的情况下就一定满足定理3的三个条件。
KKT条件是关于强对偶的原始问题和对偶问题的一个充分必要条件,根据它们的解 w∗,α∗,β∗ 可以推出三个结论 (3.1),(3.2),(3.4) ,或者满足三个结论的就是它们的解 w∗,α∗,β∗ 。
参考:
http://blog.youkuaiyun.com/xianlingmao/article/details/7919597 里面涉及到KKT条件的推导,但是没有看明白/(ㄒoㄒ)/~~。
李航 《统计学习方法》