拉格朗日乘子法和KKT条件

参考:https://www.cnblogs.com/liaohuiqiang/p/7805954.html

在这里插入图片描述

1.无约束条件下求解最优问题【直接求偏导】

【步骤】:

  • 直接对函数求偏导,令偏导为0
  • 前提:f(x)是凸函数

凸函数的充要条件:如果f(x)在开凸集S上具有二阶连续偏导数,且f(x)的海塞矩阵(二阶偏导的矩阵)在S上处处半正定,则f(x)为S上的凸函数。

半正定矩阵的判定:设A是实对称矩阵。如果对任意的实非零列向量x,有 x T A x ≥ 0 x^TAx≥0 xTAx0,就称A为半正定矩阵

在这里插入图片描述

2.等式条件下求解最优问题【拉格朗日乘子法】

【步骤】:

  • 构造拉格朗日函数L
  • 对L关于各个参数求偏导,并令偏导为0,联立求解各个参数
  • 代入目标函数f中得到最优解。
    在这里插入图片描述

【注意】:

  • 如果优化问题是凸优化,通过上图条件1-2求得的解就是极小值点(而且是全局极小)。
  • 如果优化问题不是凸优化,条件1-2只是极小值点的必要条件,还需要附加多一个正定的条件3才能变成充要条件(半正定得到的是极小,正定得到的是严格极小)。

3.不等式条件下求解最优问题【KKT条件】

KKT条件可以看成是拉格朗日乘子的泛化。

  • 极小值点落在可行域内(不包含边界):这个时候可行域的限制不起作用,相当于没有约束即 λ = 0 \lambda=0 λ=0,直接f(x)的梯度等于0求解,这个时候g(x极小值点)<0(因为落在可行域内)。
  • 极小值点落在可行域外(包含边界):可行域的限制起作用,极小值点应该落在可行域边界上即g(x)=0类似于等值约束,此时有g(x)的梯度和f(x)的负梯度同向。
    在这里插入图片描述

总结以上两种情况,可以构造拉格朗日函数来转换求解问题。
对于不等式约束的优化,需要满足三个条件,满足这三个条件的解x*就是极小值点。
在这里插入图片描述
这三个条件就是著名的KKT条件,它整合了上面两种情况的条件。

【步骤】:

  • 构造拉格朗日函数L
  • 利用KKT条件求解
    在这里插入图片描述

【注意】:

  • 如果优化问题是凸优化,KKT条件(条件1-3) 就是极小值点(而且是全局极小)存在的充要条件
  • 如果优化问题不是凸优化,KKT条件(条件1-3)只是极小值点的必要条件,不是充分条件,KKT点是驻点,是可能的极值点。也就是说,就算求得的满足KKT条件的点,也不一定是极小值点,只是说极小值点一定满足KKT条件。
  • 如果优化问题不是凸优化,需要附加多一个正定的条件(条件4-5)才能变成充要条件(半正定得到的是极小,正定得到的是严格极小)。

习题:https://wenku.baidu.com/view/e1ddf8126529647d2628526b.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值