高中数学“简单的线性规划问题”。请数学高手帮忙解决下。给出详细步骤和必要文字说明,谢谢大家!

高中数学“简单的线性规划问题”。请数学高手帮忙解决下。给出详细步骤和必要文字说明,谢谢大家!,第1张

1,画出图形,x+2y≧2代表的图像就是直线x+2y=2的右上部分,
2x+y≤4代表的图像就是直线2x+y=4的左下部分,
4x+y≧-1代表的图像就是直线4x+y=-1的右下部分,
因此它们组成的图像就是以(0,1),(1/2,3),(2,0)为三个顶点的三角形
z=3x-y变化为y=3x-z,-z为y=3x-z在y轴的截距,
当y=3x-z过点(2,0)时,截距-z最小,z最大,z=6
当y=3x-z过点(1/2,3)时,截距-z最大,z最小,z=-3/2
所以z的取值范围为[-3/2,6]
2,x-y+2≧0代表的图像就是直线x-y+2=0的右下部分
x-5y+10≤0代表的图像就是直线x-5y+10=0的左上部分
x+y-8≤0代表的图像就是直线x+y-8=0的左下部分
因此它们组成的图像就是以(0,2),(3,5),(5,3)为三个顶点的三角形
z=3x-4y变化为y=3x/4-z/4
当y=3x/4-z/4过点(3,5)时,z最小,z=-11
当y=3x/4-z/4过点(5,3)时,z最大,z=3

在Excel中加载规划求解模块。Excel2010的步骤是:文件->选项->加载项->转到->勾选上“规划求解加载项”。

看题理解后进行数学建模,然后将模型和数据输入在Excel的单元格中。本例的题目为:某工厂在计划期内要安排生产Ⅰ、Ⅱ两种产品,已知生产单位产品所需的设备台时及A、B两种原材料的消耗,如表2-1所示。该工厂每生产一件产品Ⅰ可获利2元,每生产一件产品Ⅱ可获利3元,问应如何安排计划使该工厂获利最多?生产产品I需耗时1单位,生产产品II需要耗时2单位时间,总的单位时间不超过8单位,产品I消耗原料A 4个单位,产品II消耗原材料B 4个单位,其中原料A有16kg,原料B有12kg。建模情况在Excel中表现为附图所示:

Excel进行线性规划求解过程如下:1使用相关函数和运算符表示约束条件和目标函数;2,使用数据中的规划求解模块对已经建好的模型进行数学运算求解。a,选择目标函数区域 b,选择可变参数区域 c,选择并定义约束条件 d选择求解方法,本例采用单纯线性规划。然后确定求解即可。

最后在Excel的单元格中会自动填充运算得出的最优化方案。本例中的的最优解为:生产产品I  4件,生产产品II 2 件时得到最大利润14元。

求这个线性规划问题,可以用matlab的最小值函数fmincon。fmincon极小值函数适应用于求约束非线性多变量函数的最小值。该问题求解方法如下:

1、建立目标函数,即

z=80x11+90x12+75x13+60x21+85x22+95x23+92x31+80x32+110x33;

2、建立约束函数,即

ceq(1)=100-(x11+x12+x13);

ceq(2)=170-(x21+x22+x23);

ceq(3)=200-(x31+x32+x33);

ceq(4)=120-(x11+x21+x31);

ceq(5)=170-(x12+x22+x32);

ceq(6)=180-(x13+x23+x33);

3、用fmincon函数求解,即

x0=zeros(1,9);

A=[];b=[ ];

Aeq=[];beq=[];

lb=zeros(1,9);ub=[];

[x,fval,exitflag]=fmincon(@(x)myfunc(x),x0,A,b,Aeq,beq,lb,ub,@(x)myconc(x));

4、求解结果

syms n
n=input('input n please(press enter)n=')
if (n==1)
a=[4,-4,0;1,0,1];
b=[1;1];
v=zeros(1,3);
c=[-1;0;0];
[x,f]=linprog(c,[],[],a,b,v)
else
a=zeros(2n,3n);
for j=2:n
x=zeros(1,n);
r=zeros(1,n);
s=zeros(1,n);
x(j)=4;
x(j-1)=-1;
r(j)=-4;
a((j+1),:)=[x,r,s];
x(j)=4;
x(j-1)=1;
r(j)=0;
s(j)=4;
a((j+n),:)=[x,r,s];
end
v=zeros(1,3n);
c1=-ones(n,1);
c2=zeros(2n,1);
c=[c1;c2];
x=zeros(1,n);
r=zeros(1,n);
s=zeros(1,n);
x(1)=4;
r(1)=-4;
a(1,:)=[x,r,s];
x(1)=1;
r(1)=0;
s(1)=1;
a(2,:)=[x,r,s];
b=[1;1;zeros(n-1,1);4eye(n-1,1)];
[x,f]=linprog(c,[],[],a,b,v)
end

解:(1)因为目标函数向左平移取最小值,向右平移取最大值,
所以要使目标函数为z=x+ay取得最小值的最优解有无数个,
使之与直线AC重合即可。
使z=0,则可求得目标函数曲线的斜率k=-1/a,
即:-1/a=(2-1)/(4-1)=1/3,
所以a=-3;
(2)目标函数为z=x+ay仅在(5,1)处取得最大值,
则使得目标函数向右平移与三角形ABC的最后重合点只有点B,
这时k>0时,都满足题意,这时a<0,
k<0时,须使k的斜率小于直线BC的斜率,即,k=-1/a<(2-1)/(4-5)=-1,
可求得,0<a<1,
综上所述,a的取值范围是,a<0或0<a<1,即a<1,a≠ 0
这样可以么?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13057520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存