最新拉格朗日乘数法.docx
《最新拉格朗日乘数法.docx》由会员分享,可在线阅读,更多相关《最新拉格朗日乘数法.docx(7页珍藏版)》请在冰豆网上搜索。
![最新拉格朗日乘数法.docx](https://file1.bdocx.com/fileroot1/2023-7/22/b026190c-a177-4cd7-898c-aa442e79676f/b026190c-a177-4cd7-898c-aa442e79676f1.gif)
最新拉格朗日乘数法
拉格朗日乘数法
§4条件极值
(一)教学目的:
了解拉格朗日乘数法,学会用拉格朗日乘数法求条件极值.
(二)教学内容:
条件极值;拉格朗日乘数法.
基本要求:
(1)了解拉格朗日乘数法的证明,掌握用拉格朗日乘数法求条件极值的方法.
(2)较高要求:
用条件极值的方法证明或构造不等式.
(三)教学建议:
(1)本节的重点是用拉格朗日乘数法求条件极值.要求学生熟练掌握.
(2)多个条件的的条件极值问题,计算量较大,可布置少量习题.
(3)在解决很多问题中,用条件极值的方法证明或构造不等式,是个好方法.可推荐给较好学生.
在许多极值问题中,函数的自变量往往要受到一些条件的限制,比如,要设计一个容积为«SkipRecordIf...»的长方体形开口水箱,确定长、宽和高,使水箱的表面积最小.设水箱的长、宽、高分别为«SkipRecordIf...»,则水箱容积«SkipRecordIf...»焊制水箱用去的钢板面积为«SkipRecordIf...»这实际上是求函数«SkipRecordIf...»在«SkipRecordIf...»限制下的最小值问题。
这类附有条件限制的极值问题称为条件极值问题,其一般形式是在条件
«SkipRecordIf...»
限制下,求函数«SkipRecordIf...»的极值
条件极值与无条件极值的区别
条件极值是限制在一个子流形上的极值,条件极值存在时无条件极值不一定存在,即使存在二者也不一定相等。
例如,求马鞍面«SkipRecordIf...»被平面«SkipRecordIf...»平面所截的曲线上的最低点。
请看这个问题的几何图形(x31马鞍面)
从其几何图形可以看出整个马鞍面没有极值点,但限制在马鞍面被平面«SkipRecordIf...»平面所截的曲线上,有极小值1,这个极小值就称为条件极值。
二.条件极值点的必要条件
设在约束条件«SkipRecordIf...»之下求函数«SkipRecordIf...»«SkipRecordIf...»的极值.当满足约束条件的点«SkipRecordIf...»是函数«SkipRecordIf...»的条件极值点,且在该点函数«SkipRecordIf...»满足隐函数存在条件时,由方程«SkipRecordIf...»决定隐函数«SkipRecordIf...»,于是点«SkipRecordIf...»就是一元函数«SkipRecordIf...»的极限点,有
«SkipRecordIf...».
代入«SkipRecordIf...»,就有
«SkipRecordIf...»,
(以下«SkipRecordIf...»、«SkipRecordIf...»、«SkipRecordIf...»、«SkipRecordIf...»均表示相应偏导数在点«SkipRecordIf...»的值.)
即«SkipRecordIf...»«SkipRecordIf...»—«SkipRecordIf...»«SkipRecordIf...»«SkipRecordIf...»,亦即(«SkipRecordIf...»,«SkipRecordIf...»)«SkipRecordIf...»«SkipRecordIf...»,«SkipRecordIf...»)«SkipRecordIf...».
可见向量(«SkipRecordIf...»,«SkipRecordIf...»)与向量«SkipRecordIf...»«SkipRecordIf...»,«SkipRecordIf...»)正交.注意到向量«SkipRecordIf...»«SkipRecordIf...»,«SkipRecordIf...»)也与向量«SkipRecordIf...»«SkipRecordIf...»,«SkipRecordIf...»)正交,即得向量(«SkipRecordIf...»,«SkipRecordIf...»)与向量«SkipRecordIf...»«SkipRecordIf...»,«SkipRecordIf...»)线性相关,即存在实数«SkipRecordIf...»,使
(«SkipRecordIf...»,«SkipRecordIf...»)+«SkipRecordIf...»«SkipRecordIf...»«SkipRecordIf...»,«SkipRecordIf...»)«SkipRecordIf...».亦即
«SkipRecordIf...»
Lagrange乘数法:
由上述讨论可见,函数«SkipRecordIf...»«SkipRecordIf...»在约束条件«SkipRecordIf...»之下的条件极值点应是方程组
«SkipRecordIf...»«SkipRecordIf...»
的解.
引进所谓Lagrange函数«SkipRecordIf...»,(称其中的实数«SkipRecordIf...»为Lagrange乘数)则上述方程组即为方程组
«SkipRecordIf...»
因此,解决条件极值通常有两种方法
1)直接的方法是从方程组(1)
«SkipRecordIf...»
中解出«SkipRecordIf...»并将其表示为
«SkipRecordIf...»
代入«SkipRecordIf...»消去«SkipRecordIf...»成为变量为«SkipRecordIf...»的函数
«SkipRecordIf...»
将问题化为函数«SkipRecordIf...»的无条件极值问题;
2)在一般情形下,要从方程组
(1)中解出«SkipRecordIf...»来是困难的,甚至是不可能的,因此上面求解方法往往是行不通的。
通常采用的拉格朗日乘数法,是免去解方程组
(1)的困难,将求«SkipRecordIf...»的条件极值问题化为求下面拉格朗日函数
«SkipRecordIf...»
的稳定点问题,然后根据所讨论的实际问题的特性判断出哪些稳定点是所求的极值的。
一.用Lagrange乘数法解应用问题举例:
例1抛物面«SkipRecordIf...»被平面«SkipRecordIf...»截成一个椭圆.求该椭圆到坐标原点的最长和最短距离.
例3求函数«SkipRecordIf...»在条件«SkipRecordIf...»
下的极小值.并证明不等式«SkipRecordIf...»,其中«SkipRecordIf...»为任意正常数.
现在就以上面水箱设计为例,看一看拉格朗日乘数法求解条件极值的过程
解:
这个问题的实质是求函数«SkipRecordIf...»
在条件«SkipRecordIf...»下的最小值问题,应用拉格朗日乘法,令
L='2*(x*z+y*z)+x*y+v*(x*y*z-V)';
dLdx=diff(L,'x')
dLdy=diff(L,'y')
dLdz=diff(L,'z')
dLdv=diff(L,'v')
dLdx=2*z+y+v*y*z
dLdy=2*z+x+v*x*z
dLdz=2*x+2*y+v*x*y
dLdv=x*y*z-V
令L的各偏导等零,解方程组求稳定点
s1='2*z+y+v*y*z';
s2='2*z+x+v*x*z';
s3='2*x+2*y+v*x*y';
s4='x*y*z-V';
[v,x0,y0,z0]=solve(s1,s2,s3,s4)
v=
[-2*2^(2/3)/V^(1/3)]
[-8*(-1/4*2^(1/3)*V^(1/3)+1/4*i*3^(1/2)*2^(1/3)*V^(1/3))^2/V]
[-8*(-1/4*2^(1/3)*V^(1/3)-1/4*i*3^(1/2)*2^(1/3)*V^(1/3))^2/V]
x0=[2^(1/3)*V^(1/3)]
y0=[2^(1/3)*V^(1/3)]
z0=[1/2*2^(1/3)*V^(1/3)]
这里显然只有实数解才有意义,所以L的稳定点只有下面一个
«SkipRecordIf...»
又已知所求的问题确实存在最小值,从而解出的稳定点就是最小值点,即水箱长宽与为高的2倍时用钢板最省。
下面再看一个条件极值求解问题
例2抛物面«SkipRecordIf...»被平面«SkipRecordIf...»截成一个椭圆,求这个椭圆到坐标原点的最长最短距离。
(x73)
解这个问题的实质是求函数«SkipRecordIf...»
在条件«SkipRecordIf...»与«SkipRecordIf...»下的最大、最小值问题,应用拉格朗日乘法,令
L='x^2+y^2+z^2+v*(x^2+y^2-z)+h*(x+y+z-1)';
dLdx=diff(L,'x')
dLdy=diff(L,'y')
dLdz=diff(L,'z')
dLdv=diff(L,'v')
dLdh=diff(L,'h')
dLdx=2*x+2*v*x+h
dLdy=2*y+2*v*y+h
dLdz=2*z-v+h
dLdv=x^2+y^2-z
dLdh=x+y+z-1
s1='2*x+2*v*x+h';
s2='2*y+2*v*y+h';
s3='2*z-v+h';
s4='x^2+y^2-z';
s5='x+y+z-1';
[h,v,x0,y0,z0]=solve(s1,s2,s3,s4,s5);
x0,y0,z0
x0=
[3/4-1/4*i*13^(1/2)]
[3/4+1/4*i*13^(1/2)]
[-1/2+1/2*3^(1/2)]
[-1/2-1/2*3^(1/2)]
y0=
[3/4+1/4*i*13^(1/2)]
[3/4-1/4*i*13^(1/2)]
[-1/2+1/2*3^(1/2)]
[-1/2-1/2*3^(1/2)]
z0=-1/2,-1/2,2-3^(1/2),2+3^(1/2)
即«SkipRecordIf...»的稳定点有两个
«SkipRecordIf...»
因为函数«SkipRecordIf...»在有界闭集«SkipRecordIf...»上连续,必有最大值和最小值,而求得的稳定点又恰是两个,所以它们一个是最大点,另一个是最小,其最大
最小值为。
(x73)
x1=-1/2+1/2*3^(1/2);
x2=-1/2-1/2*3^(1/2);
y1=-1/2+1/2*3^(1/2);
y2=-1/2-1/2*3^(1/2);
z1=2-3^(1/2);
z2=2+3^(1/2);
f1=(x1^2+y1^2+z1^2)^(1/2)
f2=(x2^2+y2^2+z2^2)^(1/2)
f1=0.5829;f2=4.2024