j建立数学模型,用matlab 解线性规划题

问题描述:某厂生产甲乙两种口味的饮料,每百台甲饮料需要原料6千克,工人10名,可获利10万元;每百台乙饮料需用原料5千克,工人20名,可获利9万元,今工厂共有原料60千克,工人150名,又由于其他条件所限,甲饮料产量不超过8百箱1)问如何安排生产计划,即两种各生产多少使获利最大;2) 若投资0.8万元可增加1千克,问应否做这项投资;3) 若每百箱甲饮料获利可增加一万元,问应否改变生产计划求程序及程序答案

问题的分析和假设:分析:问题的关键在于在对甲乙两种饮料的生产的限制的条件下,对两种饮料进行合理的分配以达到获利最多的效果。基本假设:1两种饮料的生产原料分配是相互制约的。2两种饮料的生产工人数量分配是相互制约的。3甲饮料的产量不超过8百箱。符号规定:x1---甲饮料的生产百箱数 x2---乙饮料的生产百箱数建模: 1.甲乙两种饮料的所用的原料总和不能超过60千克。 2.生产甲乙两种饮料的工人数量总和不能超过150人。 3.甲饮料的生产数量不能超过8百箱。    4.要使获利最大,这是一个目标规划模型        目标函数   MAX Z0=10x1+9x2 约束函数   s.t 6x1+5x2≤60      10x1+20x2≤150 0≤x1≤8, x2≥0(1) 若增加原料1千克,则建立线性目标规划函数如下:      目标函数   MAX Z1=10x1+9x2-0.8 约束函数 s.t 6x1+5x2≤61 10x1+20x2≤150 0≤x1≤8, x2≥0比较z0与Z1的大小(2) 若每百箱甲饮料获利可增加1万元,则建立线性目标规划函数如下: 目标函数 MAX Z2=11x1+9x2 约束函数 s.t 6x1+5x2≤60 10x1+20x2≤150 0≤x1≤8, x2≥0比较Z0与Z2的大小求解的Matlab程序代码: c=[-10 -9]; A=[6 5; 10 20;1 0]; b=[60;150;8]; Aeq=[]; beq=[]; vlb=[0;0]; vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)问题一:c=[-10 -9];A=[6 5;10 20;1 0]; b=[61;150;800]; Aeq=[]; beq=[]; vlb=[0;0]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)问题二:c=[-11 -9]; A=[6 5; 10 20;1 0]; b=[60;150;8]; Aeq=[]; beq=[]; vlb=[0;0]; vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)解:c=[-10 -9];
A=[6 5;10 20;1 0];
b=[60;150;8];
Aeq=[]; beq=[];
vlb=[0;0]; vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
运行结果:>> xxghzy1 Optimization terminated successfully.
x =6.4286 4.2857
fval =-102.8571
(1):
(2):解:c=[-11 -9];
A=[6 5;10 20;1 0];
b=[60;150;8];
Aeq=[]; beq=[];
vlb=[0;0]; vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)运行结果:
Optimization terminated successfully.x = 8.0000 2.4000
fval = -109.6000由此可知:应改变生产计划。
温馨提示:答案为网友推荐,仅供参考
相似回答