拉格朗日乘子法

拉格朗日函数

作用:将带有k个约束条件,d个变量的最优化问题转变为 k+d个变量的无约束优化问题

1、 当约束条件为等式形式时:
有最优化问题:
在这里插入图片描述
x为的d维向量,则此优化问题即 在g(x)=0所定义的d-1维曲面上寻找一点x* 能够使得目标函数f(x*)取得最小值。则在该点f(x)的梯度▽f(x*) 平行于 ▽g(x*)
原因:

  • 对于约束平面g(x)上的任一点都有该点的梯度▽g(x)正交于约束平面
  • 在最优点x* 处,目标函数f(x)在该点的梯度▽f(x*)正交于约束平面

    证明(反证法)
    如果梯度▽f(x*) 不与g(x)正交,则在约束平面g(x)上沿着▽f(x*)的方向必然存在比x* 更优的点,与x* 是最优点相悖

因此可以推出
在这里插入图片描述

定义拉格朗日函数:
在这里插入图片描述

则最优化函数将转变为求 无约束条件的拉格朗日函数的优化问题:求一点使得拉格朗日函数对其所有变量(x, λ)的偏导数为0.
等式约束条件下 拉格朗日乘子 λ 可正可负

2、 当约束条件为不等式+等式时:
在这里插入图片描述
拉格朗日函数为:
在这里插入图片描述

对偶问题

已有拉格朗日函数:
在这里插入图片描述
由初始优化问题的约束条件,可以推出:
在这里插入图片描述
因此有:
在这里插入图片描述
进而推出:
在这里插入图片描述
上式左边部分为拉格朗日极小极大问题,等同于原优化问题,但是该问题还是无法求解

此时将min和max调转位置,得到拉格朗日函数的极大极小问题,也称为原始问题的对偶问题
在这里插入图片描述
因为有min┬x⁡L("x" ,μ,λ)≤max┬(μ,λ)⁡L("x" ,μ,λ)
所以可以推出 对偶问题的最优值≤原问题的最优值
当对偶问题的最优值=原问题的最优值时,称此时为强对偶,可以通过求解对偶问题来求解原问题。
而满足KKT条件时问题满足强对偶性(具体证明请查阅其它介绍更深入的资料),因此求解对偶问题即可。

KKT条件

KKT条件是指在满足一些有规则的条件下, 一个非线性规划(Nonlinear Programming)问题能有最优化解法的一个必要和充分条件,即最优解x*必须满足下列条件:

在这里插入图片描述


此文为本人学习过程中查阅各方面资料所汇总的笔记,如有问题,还请大佬指正

Logo

在这里,我们一起交流AI,学习AI,用AI改变世界。如有AI产品需求,可访问讯飞开放平台,www.xfyun.cn。

更多推荐