拉格朗日乘子法的分析基础篇
来源:互联网 发布:echart java maven 编辑:程序博客网 时间:2024/06/11 00:49
拉格朗日乘子法(Lagrange Multiplier)在在求取有约束条件的优化问题时使用的算法。约束条件又分为等式和不等式方法。这里只用等式方法作为例子分析算法的含义原理(自己理解的)。
首先看拉格朗日的计算式子:L(a, x) = f(x) + a*g(x)。 f(x)是我们的目标函数,就是需要解决的问题的数学公式表示, a*g(x)=0 就是我们添加的等式约束条件了。组合在一起就是拉格朗日乘子法的解题公式。
网络上对上述公式的含义大概都是这样的:目标函数z = f(x), x是向量, z取不同的值,相当于可以投影在x构成的平面(曲面)上,即成为等高线,如下图,目标函数是f(x, y),这里x是标量,虚线是等高线。目标函数就是z = f(x, y) 这样的一个曲面图。这个时候的约束条件函数可以写为c=g(x,y)。这个曲面与平面z = c的交线在xoy面上的投影曲线g(x,y)=c称为函数z=f(x,y)的一条登高线。如下图所示:最终的拉格朗日乘子方程为L(a, x, y) = f(x,y) + a*g(x,y)。
曲面等高线和约束条件的曲线的交点就是同时满足等式约束条件和目标函数的值,但不是最优值,因为相交意味着肯定还存在其它的等高线在该条等高线的内部或者外部,使得新的等高线与目标函数的交点的值更大或者更小,只有到等高线与目标函数的曲线相切的时候,可能取得最优值。这里内容比较抽象,用网上找到一张图看的话就比较直观,如下图:
如上所示,我们可以很清楚看到角点和切点的区别。将拉格朗日乘子方程进行求偏导求解,可以看成是曲面等高线和约束曲线的求导即切线相同,也就是所说的等高线和约束曲线的这一切点的梯度是在同一条直线上的。
以上是个人的粗浅理解。
- 拉格朗日乘子法的分析基础篇
- 理解jvm的ClassLoader分析-基础篇
- 基础的数据分析
- 数据分析 基础篇
- 空间分析的基础--数据
- 算法分析的数学基础
- 数据分析的统计学基础
- 注释分析都非常详细的c++ 源代码 基础篇
- 分析强连通的主要解体思路(基础篇)
- 巩固基础篇:算法复杂度的分析方法及其运用
- 对游戏引擎的一个基础分析
- 基础中间件的概况及分析
- oracle service 的创建、使用-基础分析
- 如何进行外汇市场的基础分析
- FIFO的基础和时序分析学习
- 透彻分析反射的基础(1)
- 透彻分析反射的基础(2)
- 透彻分析反射的基础_Class类
- 动态规划复习
- centos yum安装mysql
- [Unity&JSON]LitJSON 读取数组文件,多个数据,玩家得分表数据
- linux快捷键
- Linux多网卡绑定实践
- 拉格朗日乘子法的分析基础篇
- Java Web项目中使用Freemarker生成Word文档
- android 动画android:pivotX,Y的解析
- UNIX命令行快速入门6
- java的get请求
- AngularJS ng-if="" 表达式
- Java中PO、DO、TO、DTO、 VO、 BO、POJO 、DAO的概念
- 使用maven提示Could not calculate build plan: Plugin org.apache.maven.plugins:maven-war-plugin:2.2 or one
- 真Unity3d_pro 版本的目前正确通用打开方法,包含所有版本