拉格朗日乘子法与对偶问题

来源:互联网 发布:久其软件 亦庄 编辑:程序博客网 时间:2024/06/05 16:26

拉格朗日乘子法与对偶问题

1、原始问题

假设f(x),gi(x),hj(x) 是定义在Rn 上的连续可微函数,考虑约束最优化问题:

minf(x)

s.t.gi(x)0i=1,2,n

s.t.hj(x)=0i=1,2,m

称为约束最优化问题的原始问题。

引入广义拉格朗日函数:

L(x,λ,β)=f(x)+ni=1λigi(x)+mj=1βjhj(x)

要求λi0,λi,βj 是拉格朗日乘子。

原问题就变成了:

minxL(x,λ,β)

2、原问题分析

在上面的问题中,求解最优值对应的x, 还需要知道λi,βj

现在,把L(x,λ,β) 看作是关于λ,β 的函数,要求其最大值,即

maxλ0,βL(x,λ,β)

在此优化过程中将x 看作常量,确定了λi,βj 后,就得到L函数的最大值,最后只需要求关于x的有关函数最优解就行。为什么拉格朗日函数能这样求解后等价于原问题呢?令θp(x)=maxλ0,βL(x,λ,β), 因为对于maxλ0,βL(x,λ,β)这个问题,当x违反了原始问题的约束,那么gi(x)0hj(x)0,那么λi,βj很容易取值使maxλ0,βL(x,λ,β)这个问题就趋于无穷大,所以考虑x满足原始的约束,要使得 L(x,λ,β)取最大则λigi(x)=0hi(x)=0 , 那么θp(x)=maxλ0,βL(x,λ,β)=f(x).

x满足约束下,minxθp(x)=minxf(x), minxθp(x)可以代表原始问题,定义x,P分别为minxθp(x)问题的最优解、最优值。

3、对偶问题

如果这个拉格朗日函数能很容易求解?直接求导就能得到最优解,但是这个问题不容易求解时,就需要找到拉格朗日函数的对偶问题就行求解。为什么这样可行?接下来进行解释:

对偶问题形式:

θd(λ,β)=minxL(x,λ,β), 注意这里的角标变化(和上面的进行对比),然后

maxλ,βθd(λ,β)=maxλ,βminxL(x,λ,β)

这就是原始问题的对偶问题,再和原问题minxθp(x)=minxmaxλ0,βL(x,λ,β)进行对比。

这里就可以发现原始问题和对偶问题只不过是先优化x, 还是λ,β的问题。

定义(λ,β),D分别为对偶问题maxλ,βθd(λ,β)的最优解、最优值。

4、原始问题和对偶问题的关系:

θd(λ,β)=minxL(x,λ,β)L(x,λ,β)maxλ0,βL(x,λ,β)=θp(x)

那么D≤P。也就是说原始问题的最优值不小于对偶问题的最优值。

5、强对偶性

强对偶性,就是说D=P,也就是说原始问题的最优值等于对偶问题的最优值。利用强对偶性,可以通过求解对偶问题的最优解从而知道原始问题的最优解,一般认为凸规划(不是所有)具有强对偶性。

6、强对偶性存在的KKT条件

那么对应第1点当中的原始问题,具有强对偶性,即D=P=L(x,λ,β)

那么x,(λ,β)分别是原始问题和对偶问题的最优解的充要条件x,λ,β满足KKT条件:

Lx(x,λ,β)=0 (1)

Lλ(x,λ,β)=0 (2)

Lβ(x,λ,β)=0 (3)

λigi(x)=0 (4)

λi0 (5)

gi(x)0 (6)

hj(x)=0 (7)

以上7个条件一起合为KKT条件,其中第4个条件是KKT对偶互补的条件。前3个条件可以总写为f(x)+ni=0λigi(x)+mj=0βjhj(x)=0

这样一看KKT条件不就是KT条件嘛(所以先看懂了KT条件的推导,这里理解起来就很简单了),注意只有凸规划才能说KKT是充要条件,其他的只能是必要条件,因为其他规划的极值点也满足KT条件。

原创粉丝点击