首页 > 其他 > 详细

拉格朗日乘子法

时间:2014-01-21 09:33:51      阅读:435      评论:0      收藏:0      [点我收藏+]

 

之前两篇blog介绍了等式约束最优化,不等式约束最优化的最优性条件。

http://blog.csdn.net/ice110956/article/details/17557795

http://blog.csdn.net/ice110956/article/details/17562429

了解最优性条件后,我们通过最优性条件的性质可以来求解,或者验证最优解。通常会构造一个拉格朗日乘子,求导构造得到最优性条件的形式来求解。

 

回顾下最优化问题的三个基本形式:

bubuko.com,布布扣

 

无约束问题

可以通过微积分的知识直接求解。

 

等式约束问题


我们可以构造拉格朗日乘子后直接求解,也就是拉格朗日乘子法。如下:

我们可以定义如下的n+l元函数:

bubuko.com,布布扣

称为lagrange函数。也就是把目标函数与约束函数写在一起求解,并用向量的形式来表示。

上式分别对x与lamda求导为零求解后,即为可能极值点。(证明可见开头两篇blog)

不过上述的点可能是鞍点,也可能是极值点,具体判断要用二阶充分条件。

 

不等式约束问题


上一篇blog我们得到不等式约束的最优性条件是KKT条件,如下:

bubuko.com,布布扣

上式的第一个式子,我们也可以写成这样的式子:

bubuko.com,布布扣

然后求导,也就是拉格朗日乘子。(证明可见开头两篇blog)

上式虽然我们得出了KKT条件,但是还是解不了的,因为第二个式子理解为lambda=0或者ci(x)=0;也就是单独使用最优性条件无法直接解出不等式约束的最优解。我们只能通过KKT条件来验证某个解是否是最优解。

 不过,前一篇blog中(http://blog.csdn.net/ice110956/article/details/17631765 )提到的外罚函数和内罚函数,把不等式约束问题转化为等式约束问题。然后,我们再通过拉格朗日乘子法来求解等式问题。也就是说,通过罚函数+乘子法,我们可迭代求解不等式约束问题。

小结

通过构造拉格朗日乘子,我们可以解等式约束问题,验证但不可求解不等式约束问题。

拉格朗日乘子法

原文:http://blog.csdn.net/ice110956/article/details/18263927

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!