拉格朗日乘子法
1. 假设需要求极值的目标函数 (objective function) 为 f(x,y),限制条件为φ(x,y)=M2. 设3. 定义一个新函数4. 用偏导数方法列出方程:5. 求出 x,y,λ的值,代入即可得到目标函数的极值
求一个多元函数 在条件
下的极值, 实际上是求前者在后者定义域下的极值。
而求函数 的无条件极值,极值存在的条 件为
的所有偏导数等于 0。
关键的一点来了,由于 也是
的变量,所以
对
的偏导数为 0 相当于要求
这恰好使 的除
外的所有变量被限制在
的定义域内。
而在这个定义域内,显然 恒等于 0,于是有
,求
的有条件极值问题被转化为求
的无条件极值问题。
几何法1:
这个可以比较直观的解释。
想象一下,目标函数是一座山的高度,约束
是镶嵌在山上的一条曲线如下图。

你为了找到曲线上的最低点,就从最低的等高线(0 那条)开始网上数。数到第三条,等高线终于和曲线有交点了(如上图所示)。因为比这条等高线低的地方都不在约束范围内,所以这肯定是这条约束曲线的最低点了。
而且约束曲线在这里不可能和等高线相交,一定是相切。因为如果是相交的话,如下图所示,那么曲线一定会有一部分在 B 区域,但是 B 区域比等高线低,这是不可能的。

把这个式子重新解释一下,这个就是函数
拉格朗日乘数法(Lagrange multiplier)有很直观的几何意义。
举个 2 维的例子来说明:
假设有自变量 x 和 y,给定约束条件 g(x,y)=c,要求 f(x,y) 在约束 g 下的极值。
我们可以画出 f 的等高线图,如下图。此时,约束 g=c 由于只有一个自由度,因此也是图中的一条曲线(红色曲线所示)。显然地,当约束曲线 g=c 与某一条等高线 f=d1 相切时,函数 f 取得极值。
两曲线相切等价于两曲线在切点处拥有共线的法向量。因此可得函数 f(x,y) 与 g(x,y) 在切点处的梯度(gradient)成正比。
于是我们便可以列出方程组求解切点的坐标 (x,y),进而得到函数 f 的极值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!