拉格朗日乘数 学习笔记

发布于

清晰版

前置知识

  • 全微分
  • 偏微分
  • 积分

概述

拉格朗日乘数(Lagrange multiplier,又称 拉格朗日乘数法)用来解决 存在关系的多变量中的最值问题。

其实感觉在 OI 中使用得比较少。但是在数学填空题里或许可以发挥一些作用。还有可以在朋友面前装逼。

公式

众所周知,函数微分之后可以求出极值,但很多时候找到该函数的显式表达是很困难的,特别是当函数有先决条件或约束时。此时,拉格朗日乘数 可能可以比较快速地求解。

我们求函数 $f\left(x_1, \ldots, x_n\right)$ 在满足所有 $g_i\left(x_1, \ldots, x_n\right) = 0$ 的局部最值。

$$\mathcal L\left(x_1, \ldots, x_n, \lambda_1 \ldots \lambda_k\right) = f\left(x_1, \ldots, x_n\right) - \sum\limits_{i = 1}^k \lambda_ig_i\left(x_1, \ldots, x_n\right)$$

接下来对 $x_1, \ldots, x_n, \lambda_1 \ldots \lambda_k$ 都分别求偏微分,并且令每个导数都等于 $0$,满足条件的 $x_1, \ldots, x_n$ 都有可能成为最值(很抽象,看不懂很正常,看看例子就懂了)。

拉格朗日乘数法所得的临界点会包含原问题的所有临界点,但并不保证每个拉格朗日乘数法所得的临界点都是原问题的临界点。

原理

这不是证明。

图炸了,建议刷新重试

红线标出的是约束函数 $g\left(x, y\right) = c$ 的点的轨迹。蓝线是函数 $f$ 的等高线。箭头表示梯度,和等高线的法线平行。

它们相切的时候,就会出现极值。取偏微分等于 $0$ 的解即可求出。

例子

先看几个例子,再看证明。

一个二维的例子

求函数 $f\left(x, y\right) = x^2 + y^2$ 在满足 $g\left(x, y\right) = xy - 1 = 0$ 时的最值。

$$\mathcal L\left(x, y, \lambda\right) = x^2 + y^2 - \lambda\left(xy - 1\right)$$

  • 对 $x$ 求偏微分:$2x + y\lambda = 0$
  • 对 $y$ 求偏微分:$2y + x\lambda = 0$
  • 对 $\lambda$ 求偏微分:$xy - 1 = 0$

满足上述条件的只有:

$$ \begin{cases} x = 1 \\ y = 1 \\ \lambda = 2 \end{cases} \; \begin{cases} x = -1 \\ y = -1 \\ \lambda = 2 \end{cases} $$

一个三维的例子

求函数 $f\left(x, y\right) = x^2y$ 在满足 $x^2 + y^2 = 1$ 时的最小值。

$\mathcal L\left(x, y, \lambda\right) = x^2y - \lambda\left(x^2 + y^2 - 1\right)$

将所有变量的偏微分设为 $0$,得到一个方程组,最值在以下方程组的解中:

$$ \begin{cases} 2xy + 2\lambda x = 0 \\ x^2 + 2\lambda y = 0 \\ x^2 + y^2 - 1 = 0 \end{cases} $$

证明

若函数 $f\left(x_1, \ldots, x_n\right)$ 在 $P$ 点处有极值 $v$,且在 $P$ 点的邻域内连续,则在 $P$ 处有:
$f\left(x_1, \ldots, x_n\right) = v$
另有一常值函数
$g\left(x_1, \ldots, x_n\right) = c$
两函数在 $P$ 点处的全微分为
$$\mathrm{d}f = \sum\limits_{i = 1}^n\frac{\partial f}{\partial x_i}\mathrm{d}x_i = 0$$
$$\mathrm{d}g = \sum\limits_{i = 1}^n\frac{\partial g}{\partial x_i}\mathrm{d}x_i = 0$$

$f\left(x_1, \ldots, x_n\right)$ 在区段内有极值的时候由于 $\mathrm{d}x_i$ 是任取的无穷小量,故该线性方程组的系数成比例,有

$$\dfrac{\dfrac{\partial f}{\partial x_i}}{\dfrac{\partial g}{\partial x_i}} = \lambda$$

$$\dfrac{\partial f}{\partial x_i} + \lambda \cdot \dfrac{\partial g}{\partial x_i} = 0$$

将上二式分别乘以 $\mathrm{d}x$ 和 $\mathrm{d}y$,再相加并积分,得到一新函数

$$\mathcal L\left(x_1, \ldots, x_n, \lambda_1 \ldots \lambda_k\right) = f\left(x_1, \ldots, x_n\right) - \sum\limits_{i = 1}^k \lambda_ig_i\left(x_1, \ldots, x_n\right)$$

那么,求原函数极值的问题就转化为求该函数极值的问题。

参考

https://ksmeow.moe/method_of_lagrange_multiplier/
https://www.luogu.com.cn/blog/s-r-f/oi-bi-ji-li-yong-la-ge-lang-ri-sheng-shuo-fa-qiu-han-shuo-di-zui-zhi
https://en.wikipedia.org/wiki/Lagrange_multiplier


暂无评论

发表评论