|
什么是拉格朗日乘子法
原创 小黑黑讲AI 小黑黑讲AI 2023-11-27 20:19 发表于北京
大家好,今天要讲的内容是,拉格朗日乘子法。
不管你是中学生还是大学生,拉格朗日乘子法,都是需要了解的数学方法。
中学生学习,可以让老师和同学们刮目相看,大学生学习,是因为考试肯定考,而且它是很多算法的理论依赖。
下面我们用一个中学数学问题,来说明这个数学方法。
已知某长方体:
它的表面积等于 a 的平方。
求:在表面积固定是 a 平方的情况下,长方体最大可能的体积是多少?
这个问题看似简单,不过只要深入的想想,就发现并不简单。
设长方体的长、宽、高分别是 x ,y ,z ,体积 V =xyz 。
长方体的表面积是六个面的面积和,也就是 S = 2xy+2xz+2yz = a^2 。
因此,我们希望求出,在 S = a^2 的情况下,体积 V 最大可能的值是多少?
中学阶段学的不等式:
可以解决这个问题。
不过咱们要使用高等数学中的拉格朗日乘子法解一下:
再说中学的代数方法。
1. 什么是拉格朗日乘子法
拉格朗日乘子法,英文 Lagrange Multiplier Method :
是数学优化中广泛使用的技术,它用于基于给定的约束条件,求解函数的极值。
使用拉格朗日乘子法,可以将一个包括 n 个变量的函数 f ,和有 k 个等式约束条件 g 的最优化问题:
转换为一个包含 n+k 个变量的无约束的函数求极值问题:
转换后的函数 L ,包括了原函数 f 和 λ*g 两部分。
其中的变量是 x1 到 xn ,λ1 到 λk ,它们不受任何条件约束。
因此我们可以直接使用导数求解函数 L 的极值。
例如,已知关于 x 的函数 f(x) ,它是我们想要计算最小值的函数。
该函数有 g1(x)=0 、g2(x)=0 等等到 gk(x)=0 ,一共 k 个等式约束条件:
在使用拉格朗日乘子法时,我们引入 k 个参数,λ1 、λ2 等等到 λk 。
这 k 个参数即为 k 个拉格朗日乘子,每个乘子都对应了一个约束条件 g :
k 个乘子 λ ,将 k 个等式约束条件 g ,与原函数 f(x) 联系到一起,
一起组成了拉格朗日函数 L(x,λ) :
为了求出函数 L 的极值,我们需要求函数 L ,关于 x 和 k 个 λ 乘子的偏导数,并令它们同时等于 0 :
此时,得到了一个 k+1 元的方程组:
其中未知数是 x 和 λ1 到 λk 。
接着,求出这个方程组的解,它们就是函数取得极值点时,函数中各个变量对应的值。
总结来说,通过拉格朗日乘子法,我们将有限制条件的极值问题,换转为了无限制条件的极值问题。
2. 拉格朗日乘子法求体积的最大值
回到已知长方体表面积,求体积最大值这一问题:
该问题,就是求函数 V = xyz ,在等式 S = 2xy+2yz +2xz = a^2 约束条件下,的最大值。
设该问题的拉格朗日函数为 L(x,y,z,λ) :
在该函数中,xyz 是原函数,λ 为拉格朗日乘子,2xy+2xz+2yz-a^2 是约束条件。
我们要求函数 L 关于变量 x、y、z 和 λ 的偏导数,求出后,令它们等于 0 。
此时,我们会得到了一个 4 元方程,继续解出该方程组的解就可以了。
分析这个 4 元方程:
由于 x 、y 、z 代表长方体的边长,因此它们都是正数。
此时,使用方程 2 除以方程 1 ,方程 3 除以方程 2 。
这样会得到 2 个新的等式:
1) x/y = (x+z)/(y+z)
2) y/z = (x+y)/(x+z)
继续化简:
可以得到,x = y ,y = z 。
接着,将 x = y = z 代入第 4 个方程:
就得到了 6x^2 = a^2 。
从而解出 x 、y 、z 。
这个点就是函数 V = xyz 取得最大值的位置。
这样我们就得到了,如果长方体的表面积固定:
那么长方体是一个正方体时,体积最大。
3. 中学数学方法
在中学阶段,我们并不讨论多元函数和偏导数,此时只能用不等式来推导。
首先,使用 x , y , z ,表示出 V 和 S :
并根据算术平均数、几何平均数和平均乘积之间的关系进行推导:
根据不等式:
有 xy+yz+xz = 1/2 a^2 ,大于等于 3 倍的 x^2 y^2 z^2 的立方根。
接着,继续化简,得到 xyz 的平方小于等于 1/6 a^2 的 3 次方。
这样就计算出了体积的最大值 V 。
可能有的同学会认为不等式的方法比拉格朗日乘子法简单。
但后者是一个通用方法,无需使用任何数学技巧,就可以直接解决等式条件约束的极值问题。
那么到这里,拉格朗日乘子法就讲完了,感谢大家的观看,我们下节课再会。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|