整体规划数学模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
整体规划数学模型
一、问题重述与提出
某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:
1)若投资0.8万元可增加原料1千克,问应否作这项投资.
2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划.
分析:问题的关键在于在对甲乙两种饮料的生产的限制的条件下,对两种饮料进行合理的分配以达到获利最多的效果。
基本假设与符号说明
基本假设: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千克,则建立线性目标规划函数如下:
目标函数MAX Z1=10x1+9x2-0.8
约束函数s.t 6x1+5x2≤61
10x1+20x2≤150
0≤x1≤8, x2≥0
比较z0与Z1的大小
若每百箱甲饮料获利可增加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) 四、计算结果与问题分析讨论:
计算结果:
x =
6.4286
4.2857
fval =
-102.8571
问题一结果:
x =
6.7143
4.1429
fval =
-104.4286
问题二结果:
x =
8.0000
2.4000
fval =
-109.6000
问题结果分析:
由于生产的甲、乙饮料箱数应为整数,故应生产甲饮料6.42百箱,乙饮料4.28百箱时,获利最大为102.72万元。
问题一中,生产的甲、乙饮料箱数应为整数,故当生产甲饮料6.71百箱,乙饮料4.14百箱时,这时的获利为103.56万元,比未增加原料前获利多,因此应作这项投资。
问题二中,生产的甲、乙饮料箱数应为整数,故当生产甲饮料8百箱,乙饮料2.4百箱时,所获利为109.6万元,比甲饮料获利未增加前区获利多,因此应改变生产计划。