拉格朗日乘子法

简介: 拉格朗日乘子法

拉格朗日乘子法 (Lagrange multipliers)是⼀种寻找多元函数在⼀组约束下的极值的⽅法。


通过引⼊拉格朗⽇乘⼦,可将有 d 个变量与 k 个约束条件的最优化问题转化为具有 d + k 个变量的⽆约束优化问题求解。


本⽂希望通过⼀个直观简单的例⼦尽⼒解释拉格朗⽇乘⼦法和KKT条件的原理。以包含⼀个变量⼀个约束的简单优化问题为例。如图所示,我们的⽬标函数是f(x) = x + 4x − 1,讨论两种约束条件g(x):


在满⾜x≤−1 约束条件下求⽬标函数的最⼩值;

在满⾜ x≥−1约束条件g(x)下求⽬标函数的最⼩值。


881774075922427489640a079ca635c3.jpg


我们可以直观的从图中得到,

对于约束 1) 使⽬标值f(x)最⼩的最优解是x=−2;

对于约束 2) 使⽬标值f(x)最⼩的最优解是x=−1。


下⾯我们⽤拉格朗⽇乘⼦来求解这个最优解。


当没有约束的时候,我们可以直接令⽬标函数的导数为0,求最优值。

可现在有约束,那怎么边考虑约束边求⽬标函数最优值呢?


最直观的办法是把约束放进⽬标函数⾥,由于本例中只有⼀个约束,所以引入⼀个朗格朗⽇乘⼦λ,构造⼀个新的函数,拉格朗⽇函数h(x),h(x) = f(x) + λg(x)。


该拉格朗⽇函数h(x)最优解可能在g(x)<0区域中,或者在边界g(x)=0上,下⾯具体分析这两种情况,当g(x)<0时,也就是最优解在g(x)<0区域中, 对应约束1) x≤−1的情况。此时约束对求⽬标函数最⼩值不起作⽤,等价于λ=0,直接通过条件∇ॖ(१∗)=0,得拉格朗⽇函数h(x)最优解x=−2。当g(x)=0时,也就是最优解在边界g(x)=0上,对应约束1) x≥−1的情况。此时不等式约束转换为等式约束,也就是在λ>0、约束起作⽤的情况下,通过求∇ॖ(१∗)+௯∇ॗ(१∗)=0,得拉格朗⽇函数h(x)最优解x=−1。


所以整合这两种情况,必须满⾜λg(x)=0

因此约束g(x)最⼩化f(x)的优化问题,可通过引⼊拉格朗⽇因⼦转化为在如下约束下,最⼩化拉格朗⽇函数h(x),


dcfa6b0f1a954f0ab27ee6475602490c.jpg


上述约束条件称为KKT条件。

该KKT条件可扩展到多个等式约束和不等式约束的优化问题。


相关文章
|
6月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
齐次定理
齐次定理(Homogeneity principle)是物理学中的一个原理,它适用于线性系统,描述了当系统受到缩放输入时,系统响应的缩放关系。
372 0
对偶定理的介绍
对偶定理:问题的对偶性与解的对偶性 一、引言 对偶定理是数学中的一个重要概念,它描述了问题的对偶性与解的对偶性之间的关系。通过对偶定理,我们可以将一个问题转化为其对偶问题,并通过解决对偶问题来解决原问题。本文将介绍对偶定理的概念、证明方法以及应用场景。 二、对偶定理的概念 对偶定理是指在某些情况下,一个问题的对偶问题与原问题具有相同的性质和结构。对偶问题是通过对原问题的变量、约束条件或目标函数进行转换而得到的。对偶定理认为,如果原问题的解存在,则对偶问题的解也存在,并且两个问题的解具有一种对应关系。 三、对偶定理的证明方法 对偶定理的证明方法通常是通过构造一个对偶映射来进行推导。具体步骤
251 0
|
数据采集 算法 Python
[模型]拉格朗日插值法
[模型]拉格朗日插值法
最优化--凸函数--拉格朗日乘子法
最优化--凸函数--拉格朗日乘子法
最优化理论(二)拉格朗日乘子法
最优化理论(二)拉格朗日乘子法
180 0
|
人工智能 开发者
拉格朗日乘子法 | 学习笔记
快速学习拉格朗日乘子法
拉格朗日乘子法 | 学习笔记
|
人工智能 开发者
求解拉格朗日乘子法 | 学习笔记
快速学习求解拉格朗日乘子法
求解拉格朗日乘子法 | 学习笔记
|
人工智能 移动开发 算法
初等变换法求解线性方程组
初等变换法求解线性方程组
|
机器学习/深度学习
拉格朗日对偶
拉格朗日对偶
拉格朗日对偶