求极值及解线性规划问题命令与.ppt
求极值及解线性规划问题命令与例题求极值及解线性规划问题命令与例题 求函数的局部极值求函数的局部极值Mathematica求函数局部极小值的一般形式为求函数局部极小值的一般形式为:FindMinimum目标函数目标函数,自变量名自变量名1,初始值,初始值1,自变量名自变量名2,初始值,初始值2,具体的拟合命令有具体的拟合命令有:n命令形式命令形式1:FindMinimumfx,x,x0功能:以功能:以x0为初值为初值,求一元函数求一元函数f(x)在在x0附近的局部极小值。附近的局部极小值。n命令形式命令形式2:FindMinimumfx,x,x0,x1功能:以功能:以x0和和x1为初值,求一元函数为初值,求一元函数f(x)在它们附近的局部极小值。这在它们附近的局部极小值。这可以避免求导困难。可以避免求导困难。n命令形式命令形式3:FindMinimumfx,x,x0,xmin,xmax功能:以功能:以x0为初值为初值,求一元函数求一元函数f(x)在在x0附近的局部极小值附近的局部极小值,如果中途计如果中途计算超出自变量范围算超出自变量范围xmin,xmax,则终止计算。则终止计算。n命令形式命令形式4:FindMinimumfx,y,.,x,x0,y,y0,功能:以点功能:以点(x0,y0,)为初值为初值,求多元函数求多元函数f(x,y,)在在(x0,y0,)附近的附近的局部极小值局部极小值 例例1:求函数求函数y=3x4-5x2+x-1,在在-2,2的极大值、极小值和最大值、最小值。的极大值、极小值和最大值、最小值。解解:先画出函数图形,再确定求极值的初值和命令。先画出函数图形,再确定求极值的初值和命令。Mathematica命令为命令为:In1:=Plot3x4-5x2+x-1,x,-2,2从图中看到函数在从图中看到函数在-1和和1附近有两个极小值点,在附近有两个极小值点,在0附近有一个极大值点,用附近有一个极大值点,用Mathematica命令求之:命令求之:In2:=FindMinimum3x4-5x2+x-1,x,1Out2=-2.19701,x-0.858028In3:=FindMinimum3x4-5x2+x-1,x,-1Out3=-4.01997,x-0.959273In4:=FindMinimum-(3x4-5x2+x-1),x,0Out4=0.949693,x-0.101245In5:=3x4-5x2+x-1/.x-2In6:=3x4-5x2+x-1/.x-2故所求函数在故所求函数在-2,2的的x=2处取得最大值处取得最大值29,在处取得最小值为在处取得最小值为 例例2:求函数求函数z=(e2x)(x+y2+2y),在区间,在区间-1,1-2,1内的极值。内的极值。解解:本题限制了求极值的范围,为确定初值,借助等高线图本题限制了求极值的范围,为确定初值,借助等高线图本题限制了求极值的范围,为确定初值,借助等高线图本题限制了求极值的范围,为确定初值,借助等高线图MathematicaMathematica命令为命令为命令为命令为In7:=ContourPlot(画等高线画等高线)Exp2x*(x+y2+2y),x,-1,1,y,-2,1,Contours-20,ContourShading(去掉图中(去掉图中的阴影)的阴影)-False,PlotPoints-30从图中可知函数在()可能有极值,取,从图中可知函数在()可能有极值,取,y0=-1.1,再用求极值命再用求极值命令令In8:=FindMinimumExp2x*(x+y2+2y),x,0.45,y,-1.1Out8=-1.35914,x-0.5,y-1.求得函数在求得函数在x=0.5,,y=-1取得极小值。取得极小值。例例3:求函数求函数f(x,y,z)=x4+siny-cosz,在点(在点(0,5,4)附近的极小值)附近的极小值。解解:In9:=FindMinimumx4+SinyCosz,x,0,y,5,z,4Out9=-2.,x-0.,y-4.71239,z-6.28319故函数在故函数在()取得极小值()取得极小值-2。Mathematica求函数局部极大值的一般形式为求函数局部极大值的一般形式为:FindMaximum目标函数目标函数,自变量名自变量名1,初始值,初始值1,自变量名自变量名2,初始值,初始值2,具体的拟合命令与具体的拟合命令与FindMinimum函数类似。函数类似。n应当强调,当函数有多个极值点时,需要适当选应当强调,当函数有多个极值点时,需要适当选择极值点。择极值点。nFindMinimum(x-1)2(x-2)2(x-4)2,x,0.2nFindMinimum(x-1)2(x-2)2(x-4)2,x,1.6nFindMinimum(x-1)2(x-2)2(x-4)2,x,5nFindMinimum(x-1)2(x-2)2(x-4)2,x,3.6n通过求导计算可知函数有通过求导计算可知函数有3个极小值点,分别是个极小值点,分别是1、2、4。不过由第不过由第3个式子可以发现选择初始点为个式子可以发现选择初始点为5时并没有找到离时并没有找到离它最近的极小值点它最近的极小值点4。7.2 解线性规划问题解线性规划问题线性规划是运筹学的一个重要分支,应用很广。线性规划问题可以描述为求线性规划是运筹学的一个重要分支,应用很广。线性规划问题可以描述为求一组非负变量,这些非负变量在满足一定线性约束的条件下,使一个线性一组非负变量,这些非负变量在满足一定线性约束的条件下,使一个线性目标函数取得极小(大)值的问题,线性规划的标准形式为:目标函数取得极小(大)值的问题,线性规划的标准形式为:目标函数目标函数:minS=c1x1+c2x2+cnxna11x1+a12x2+.+a1nxn=b1a21x1+a22x2+.+a2nxn=b2约束条件:约束条件:.am1x1+am2x2+.+amnxn=bmx1,x2,xn 0这里这里x1,x2,xn是变量,是变量,ci,aij,bi都是已知常数,且都是已知常数,且bi 0,约束,约束条件常用符号条件常用符号:.表示。表示。n线性规划的一般形式为线性规划的一般形式为:目标函数目标函数:minS=c1x1+c2x2+cnxna11x1+a12x2+.+a1nxn b1a21x1+a22x2+.+a2nxn b2约束条件:约束条件:.am1x1+am2x2+.+amnxn bm n式中符号“”可以是关系符号:,极小值点极小值点1,自变量自变量2-极小值点极小值点2,。l命令命令2结果形式为:结果形式为:极大值极大值,自变量自变量1-极大值点极大值点1,自变量自变量2-极大值点极大值点2,。l上面命令中的上面命令中的f为线性规划中的目标函数为线性规划中的目标函数,它必须是变量它必须是变量x1,x2,的线性函数。的线性函数。l上面命令中的上面命令中的inequalities为线性规划中的约束不等式为线性规划中的约束不等式组组,每个关系式必须用逗号分隔。每个关系式必须用逗号分隔。l上面命令中的上面命令中的x1,x2,线性规划中的自变量名称线性规划中的自变量名称,它们必它们必须取非负值且可以用其它符号名。须取非负值且可以用其它符号名。例例4:求线性规划问题MaxS=17x 1-20 x 2+18 x 3 x 1-x 2+x 3 10.x 1+x 3 5 x 1 5n解解:Mathematica 命令为:In10:=ConstrainedMax17x1-20 x2+18x3,x1-x2+x310,x120,x1,x2,x3Out10=160,x1-0,x2-10,x3-20计算结果可得所求目标函数极大值为160,对应的极大值点为(0,10,20)。例例5:求线性规划问题求线性规划问题Minm=13x-y+5zx+y=7,.y+z2,y0,z0解解:Mathematica命令为命令为:In11:=ConstrainedMin13x-y+5z,x+y=7,y+z2,y0,z0,x,y,zOut11=16,x-2,y-10,z-0计算结果可得所求目标函数极小值为计算结果可得所求目标函数极小值为16,对应的极小值,对应的极小值点为(点为(0,10,0)。)。例例6:现有三种食品现有三种食品A1,A2,A3,各含有两种营养成分各含有两种营养成分B1,B2,每单位食物每单位食物Ai含有含有Bj成分的数量及每种食物的单价如成分的数量及每种食物的单价如下表所示下表所示:n问应如何选购食物问应如何选购食物,才能既满足对营养成分才能既满足对营养成分B1,B2的需要的需要,又使费又使费用最少?用最少?解解:设购买食品设购买食品A1,A2,A3的数量分别为的数量分别为x1,x2,x3,花费的费用为花费的费用为S,则本问题可以用以下的数学模型来描述:则本问题可以用以下的数学模型来描述:MinS=4x1+2x2+3x32x1+4x3 5.2x1+3x2+x3 4x1,x2,x3 0 种类成分A1A2A3营养成分需要量 B12045 B12314单价423用Mathematica 命令为:In12:=ConstrainedMax4x1+2x2+3x3,2x1+4x3=5,2x1+3x2+x3=4,x1=0,x2=0,x3=0,x1,x2,x3Out12=67/12,x1-0,x2-11/12,x3-5/4 计算结果显示购买11/12数量的食品A2,5/4数量的食品A3可以满足本问题的要求,此时的花费的费用为67/12。-例7:求线性规划问题Minf=-x-3y-3z,3x+y+2z+v=5.x+z+2v+w=2x+2z+u+2v=6x,y,z,u,v,w0解解:Mathematica 命令为:In13:=ConstrainedMin-x-3y-3z,3x+y+2z+v=5,x+z+2v+w=2,x+2z+u+2v=6,x,y,z,u,v,wOut13=-15,x-0,y-5,z-0,u-6,v-0,w-2计算结果可得所求目标函数极小值为-15,对应的极小值点为(x,y,z,u,v,w)=(0,5,0,6,0,2)。更常见的函数更常见的函数:LinearProgramming该函数的一般形式为:该函数的一般形式为:LinearProgrammingc,m,b,l 其中其中b和和l都是表。如果都是表。如果b是是b1,s1,b2,s2,表示矩阵表示矩阵m的第的第i行行mi满足条件:满足条件:当当si=1时,时,mix bi;当当si=0时,时,mix=bi;当当si=-1时,时,mix bi。如果。如果l是是l1,l2,,则,则xi li;如果;如果l是是u1,v1,u2,v2,,则,则ui xi vi(上下界可取(上下界可取无穷)。无穷)。例例LinearProgramming3,5,1,3,1,1,3,2表示求函数表示求函数3x+5y满足条件满足条件x+3y 3,x+y 2,x 0,y 0时的最小值点。时的最小值点。