数学建模线性规划.docx
《数学建模线性规划.docx》由会员分享,可在线阅读,更多相关《数学建模线性规划.docx(15页珍藏版)》请在冰豆网上搜索。
数学建模线性规划
实验名称:
规划论-建模与求解
姓名
学号
实验地点
T5-207
实验类型
综合设计
实验要求
选修
学时量
6
所用知识
数学建模数学软件运筹学
题目一自来水供应问题
题目:
某市有甲乙丙丁四个居住区,自来水由ABC三个水库供应,四个区每天必须得到保证的基本生活用水量分别为30,70,10,10千吨,但由于水源紧张,三个水库每天最多只能分别供应50,60,50千吨自来水。
由于地理位置不同,自来水公司从各水库向各区送水所付出的饮水管理费不同(见下表,其中丁与C只见无输水管道),其他管理费用都是450元/千吨。
根据公司规定,各区用户按照统一标准900元/千吨收费。
此外,四个区都向公司申请了额外用水量,分别为50,70,20,40千吨。
该公司应如何分配供水量,才能获利最多?
为了增加供水量,自来水公司正在考虑进行水库改造,使三个水库每天最大供水量都提高一倍,问那时供水方案应如何改变?
公司利润可增加多少?
引水管理费(元、千吨)
甲
乙
丙
丁
A
160
130
220
170
B
140
130
190
150
C
190
200
230
/
建模:
所建模型:
min=160*x11+130*x12+220*x13+170*x14+140*x21+130*x22+190*x23+150*x24+190*x31+200*x33;
约束条件:
x11+x12+x13+x14<=50;
x21+x22+x23+x24<=60;
x31+x32+x33<=50;
x11+x21+x31>30;
x11+x21+x31<=80;
x12+x22+x32>=70;
x12+x22+x32<=140;
x13+x23+x33>=10;
x13+x23+x33<=30;
x14+x24>=10;
x14+x24<=50;
求解:
LINGO
model:
min=160*x11+130*x12+220*x13+170*x14+140*x21+130*x22+190*x23+150*x24+190*x31+200*x33;
x11+x12+x13+x14<=50;
x21+x22+x23+x24<=60;
x31+x32+x33<=50;
x11+x21+x31>30;
x11+x21+x31<=80;
x12+x22+x32>=70;
x12+x22+x32<=140;
x13+x23+x33>=10;
x13+x23+x33<=30;
x14+x24>=10;
x14+x24<=50;
end
结果:
分析:
1)在程序迭代5次之后得出:
这个线性规划的最优解为x12=20,x21=30,x23=10,x24=10,32=50,最优值z=10200。
则实际的最小花费10200元。
第三个水库供水量每增加一吨,目标值改变的数量减少130元,供给甲的水量增加一吨,目标值改变的数量增加140元
2) 当非基变量x11每增长一个单位,花费将会增加20元。
同样的,非基变量x13每增长一个单位,花费将会增加30元
题目二制造汽车问题
题目:
一汽车生产大中小三种类型的汽车,已知各种类型每辆车劳动时间的需求,利润及每月生产钢材,劳动时间的现有量如下表,试制定月生产计划,使工厂的利润最大。
进一步讨论,由于各种条件限制,如果生产某一类型汽车,则至少要生产80辆,那么最优的生产计划应做何改变?
小型
中型
大型
现有量
钢材(吨)
1.5
3
5
600
劳动时间(小时)
280
250
400
60000
利润(万元)
2
3
4
建模:
建立模型:
model:
max=2*x1+3*x2+4*x3;
约束条件:
1.5*x1+3*x2+5*x3<=600;
280*x1+250*x2+400*x3<=60000;
80*y1-x1>=0;
80*y1-x1<=0;
80*y2-x2>=0;
80*y2-x2<=0;
80*y3-x3>=0;
80*y3-x3<=0;
@gin(x1);
@gin(x2);
@gin(x3);
@bin(y1);
@bin(y2);
@bin(y3);
求解:
lingo
model:
max=2*x1+3*x2+4*x3;
1.5*x1+3*x2+5*x3<=600;
280*x1+250*x2+400*x3<=60000;
80*y1-x1>=0;
80*y1-x1<=0;
80*y2-x2>=0;
80*y2-x2<=0;
80*y3-x3>=0;
80*y3-x3<=0;
@gin(x1);
@gin(x2);
@gin(x3);
@bin(y1);
@bin(y2);
@bin(y3);
end
结果:
Globaloptimalsolutionfound.
Objectivevalue:
480.0000
Objectivebound:
480.0000
Infeasibilities:
0.000000
Extendedsolversteps:
0
Totalsolveriterations:
0
Variable Value ReducedCost
X1 80.00000 -2.000000
X2 0.000000 -3.000000
X3 80.00000 -4.000000
Y1 1.000000 0.000000
Y2 0.000000 0.000000
Y3 1.000000 0.000000
Row SlackorSurplus DualPrice
1 480.0000 1.000000
2 80.00000 0.000000
3 5600.000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 0.000000 0.000000
7 0.000000 0.000000
8 0.000000 0.000000
9 0.000000 0.000000
分析:
在程序迭代0次之后得出:
小型生产80辆,大型生产80辆,工厂的利润最大为480.钢材剩余80吨。
劳动时间剩余5600小时。
为了使x1变量增加一个单位,在最大化问题中,目标函数值将减少个单位。
为了使x2增加一个单位,在最大化问题中,目标函数值将减少3个单位。
为了使x3增加一个单位,在最大化问题中,目标函数值将减少4个单位。
其他:
求解至少生产80辆时,引进0,1变量来约束变量值,使之成为全局变量
题目三(指派问题)
题目:
考虑指派n个人完成n项任务(每人单独承担一项任务),使所需的总完成时间(成本)尽可能短已知某指派问题的有关数据(每人完成各任务所需的时间)如下表所示,试求解该指派问题。
任务
工人
1
2
3
4
1
15
18
21
24
2
19
23
22
18
3
26
18
16
19
4
19
21
23
17
建模:
所建模型:
min=15*x11+18*x12+21*x13+24*x14+19*x21+23*x22+22*x23+18*x24+26*x31+18*x32+16*x33+19*x34+19*x41+21*x42+23*x43+17*x44;
约束条件:
x11+x21+x31+x41=1;
x12+x22+x32+x42=1;
x13+x23+x33+x43=1;
x14+x24+x34+x44=1;
x11+x12+x13+x14=1;
x21+x22+x23+x24=1;
x31+x32+x33+x34=1;
x41+x42+x43+x44=1;
@bin(x11);
@bin(x12);
@bin(x13);
@bin(x14);
@bin(x21);
@bin(x22);
@bin(x23);
@bin(x24);
@bin(x31);
@bin(x32);
@bin(x33);
@bin(x34);
@bin(x41);
@bin(x42);
@bin(x43);
@bin(x44);
求解:
Lingo
model:
min=15*x11+18*x12+21*x13+24*x14+19*x21+23*x22+22*x23+18*x24+26*x31+18*x32+16*x33+19*x34+19*x41+21*x42+23*x43+17*x44;
x11+x21+x31+x41=1;
x12+x22+x32+x42=1;
x13+x23+x33+x43=1;
x14+x24+x34+x44=1;
x11+x12+x13+x14=1;
x21+x22+x23+x24=1;
x31+x32+x33+x34=1;
x41+x42+x43+x44=1;
@bin(x11);
@bin(x12);
@bin(x13);
@bin(x14);
@bin(x21);
@bin(x22);
@bin(x23);
@bin(x24);
@bin(x31);
@bin(x32);
@bin(x33);
@bin(x34);
@bin(x41);
@bin(x42);
@bin(x43);
@bin(x44);
end
结果:
分析:
由第一个人完成第二项任务,第2个人完成第1项任务,第3个人完成第3项任务,第4个人完成第4项任务,最短时间为70
其他:
用0,1函数控制变量。
题目四饮料生产
题目:
某饮料厂生产一种饮料用以满足市场需求。
该厂销售科根据市场预测,已经确定了未来四周该饮料的需求量。
计划科根据本厂实际情况给出了未来四周的生产能力和生产成本,见下表。
每周当饮料满足需求后有剩余时,要支出存储费,为每周每千箱0.2千元。
问应如何安排生产计划,在满足市场需求的条件下,使四周的总费用(生产成本与存储费之和)最小?
周次
需求量(千箱)
生产能力(千箱)
成本(千元/千箱)
1
15
30
5.0
2
25
40
5.1
3
35
45
5.4
4
25
20
5.5
合计
100
135
建模:
建立模型min=5.0*x1+5.1*x1+5.4*x3+5.5*x4+0.2*(x1-15)+0.2*(x1+x2-40)+0.2*(x1+x2+x3-75);
约束条件:
x1<=30;
x2<=40;
x3<=45;
x4<=20;
x1>=15;
x1+x2>=40;
x1+x2+x3>=75;
x1+x2+x3+x4>=100;
@gin(x1);
@gin(x2);
@gin(x3);
@gin(x4);
求解:
lingo
model:
min=5.0*x1+5.1*x1+5.4*x3+5.5*x4+0.2*(x1-15)+0.2*(x1+x2-40)+0.2*(x1+x2+x3-75);
x1<=30;
x2<=40;
x3<=45;
x4<=20;
x1>=15;
x1+x2>=40;
x1+x2+x3>=75;
x1+x2+x3+x4>=100;
@gin(x1);
@gin(x2);
@gin(x3);
@gin(x4);
end
结果:
Globaloptimalsolutionfound.
Objectivevalue:
400.5000
Objectivebound:
400.5000
Infeasibilities:
0.000000
Extendedsolversteps:
0
Totalsolveriterations:
0
Variable Value ReducedCost
X1 15.00000 10.70000
X3 25.00000 5.600000
X4 20.00000 5.500000
X2 40.00000 0.4000000
Row SlackorSurplus DualPrice
1 400.5000 -1.000000
2 15.00000 0.000000
3 0.000000 0.000000
4 20.00000 0.000000
5 0.000000 0.000000
6 0.000000 0.000000
7 15.00000 0.000000
8 5.000000 0.000000
9 0.000000 0.000000
分析:
这个模型是在全局最优的情况下的线性规划问题周一生产15箱,周2生产40箱,周3生产25箱,周4生产20箱,总花费为400.5元
题目五储蓄所雇员问题
题目:
某储蓄所每天的营业时间是上午9:
00到下午5:
00。
根据经验,每天不同时间段所需要的服务员数量如下:
时间段(时)
9-10
10-11
11-12
12-1
1-2
2-3
3-4
4-5
服务员数量
4
3
4
6
5
6
8
8
储蓄所可以雇用全时和半时两类服务员,全时服务员每天报酬100元,从上午9:
00到下午5:
00工作,但中午12:
00到下午2:
00之间必须安排1小时的午餐时间。
储蓄所每天可以雇用不超过3名的半时服务员,每个半时服务员必须连续工作4小时,每天的报酬40元。
问储蓄所应如何雇用全时和半时服务员?
并讨论不雇用半时工及雇用半时工人数不限两种情形。
建模:
建立模型:
min=100*x1+100*x2+40*y1+40*y2+40*y3+40*y4+40*y5;
y1+y2+y3+y4+y5<3;
约束条件:
x1+x2+y1>4;
x1+x2+y1+y2>3;
x1+x2+y1+y2+y3>4;
x2+y1+y2+y3+y4>6;
x1+y2+y3+y4+y5>5;
x1+x2+y3+y4+y5>6;
x1+x2+y4+y5>8;
x1+x2+y5>8;
@gin(x1);
@gin(x2);
@gin(y1);
@gin(y2);
@gin(y3);
@gin(y4);
@gin(y5);
求解:
model:
min=100*x1+100*x2+40*y1+40*y2+40*y3+40*y4+40*y5;
y1+y2+y3+y4+y5<3;
x1+x2+y1>4;
x1+x2+y1+y2>3;
x1+x2+y1+y2+y3>4;
x2+y1+y2+y3+y4>6;
x1+y2+y3+y4+y5>5;
x1+x2+y3+y4+y5>6;
x1+x2+y4+y5>8;
x1+x2+y5>8;
@gin(x1);
@gin(x2);
@gin(y1);
@gin(y2);
@gin(y3);
@gin(y4);
@gin(y5);
end
结果:
分析:
12点到一点吃饭的人有3个,1点到2点吃饭的人有4个,半时工雇佣3个。
最小花费为820元。
其他:
用中午不同点吃饭人数来计全时工人数,由连续工作四小时这一限制决定只能在9,10,11,12,13点雇半时工。
使变量设得简单。
第六部分心得体会
通过这次试验,了解到了Lingo在企业生产和决策中发挥的重要作用。
可以为个人和企业节省人力物力财力。
线性规划在一定的约束条件下,变量可以取到最优。
在做完这格试验后,我对线性规划有了新的认识。
我们可以借助lingo软件将一些生产问题进行合理的数学建模并得出理论上的最优解。
但同时要求我们考虑到建模范围内的方方面面,一旦没有考虑到一个约束条件的话,得出的结论会大相径庭。
实际问题总是千变万化的,合理的运用计算机软件,加上联系实际的分析就能很好的
解决生产系统中的各项问题。