数学建模生产计划问题.docx
《数学建模生产计划问题.docx》由会员分享,可在线阅读,更多相关《数学建模生产计划问题.docx(20页珍藏版)》请在冰点文库上搜索。
数学建模生产计划问题
数学建模生产计划问题
第一题:
生产计划安排
某工厂生产ABC三种产品,所需劳动力、材料等有关数据见下表
产品
可用量
(单位)
资源
A
B
C
劳动力
6
3
5
45
材料
3
4
5
30
产品利润(元/件)
3
1
4
1)确定获利最大的生产方案
2)产品ABC的利润分别在什么范围内变动时,上述最优方案不变
3)如果劳动力数量不增,材料不足时可从市场购买,每单位0.4元,问该厂要不要购进原材料扩大生产,以购多少为宜?
4)如果生产一种新产品D,单件劳动力消耗8个单位,材料消耗2个单位,每件可获利3元,问该种产品是否值得生产?
答:
max3x1+x2+4x3!
利润最大值目标函数x1,x2,x3分别为甲乙丙的生产数量
st!
限制条件
6x1+3x2+5x3<45!
劳动力的限制条件
3x1+4x2+5x3<30!
材料的限制条件
End!
结束限制条件
得到以下结果
1.生产产品甲5件,丙3件,可以得到最大利润,27元
2.甲利润在2.4—4.8元之间变动,最优生产计划不变
3.max3x1+x2+4x3
st
6x1+3x2+5x3<45
end
可得到生产产品乙9件时利润最大,最大利润为36元,应该购入原材料扩大生产,购入15个单位
4.max3x1+x2+4x3+3x4
st
6x1+3x2+5x3+8x4<45
3x1+4x2+5x3+2x4<30
end
ginx1
ginx2
ginx3
ginx4
利润没有增加,不值得生产
第二题:
工程进度问题
某城市在未来的五年内将启动四个城市住房改造工程,每项工程有不同的开始时间,工程周期也不一样,下表提供了这些项目的基本数据。
第一年
第二年
第三年
第四年
第五年
总费用
(千万元)
年收入(万元)
工程1
开始
结束
5.0
50
工程2
开始
结束
8.0
70
工程3
开始
结束
15.0
150
工程4
开始
结束
1.2
20
预算
(千万元)
3.0
6.0
7.0
7.0
7.0
工程1和工程4必须在规定的周期内全部完成,必要时,其余的二项工程可以在预算的限制内完成部分。
然而,每个工程在他的规定时间内必须至少完成25%。
每年底,工程完成的部分立刻入住,并且实现一定比例的收入。
例如,如果工程1在第一年完成40%,在第三年完成剩下的60%,在五年计划范围内的相应收入是0.4*50(第二年)+0.4*50(第三年)+(0.4+0.6)*50(第四年)+(0.4+0.6)*50(第五年)=(4*0.4+2*0.6)*50(单位:
万元)。
试为工程确定最优的时间进度表,使得五年内的总收入达到最大。
答:
假设某年某工程的完成量为Xij,i表示工程的代号,i=1,2,3,j表示年数,j=1,2,3,如第一年工程1完成X11,工程3完成X31,到第二年工程已完成X12,工程3完成X32。
另有一个投入与完成的关系,即第一年的投入总费用的40%,该工程在年底就完成40%,
工程1利润:
50*X11+50*(X11+X12)+50*(X11+X12+X13)+50*(X11+X12+X13)
工程2利润:
70*X22+70*(X22+X23)+70*(X22+X23+X24)
工程3利润:
20*X31+150*(X31+X32)+150*(X31+X32+X33)+150*(X31+X32+X33+X34)
工程4利润:
20*X43+20*(X43+X44)
max(50*X11+50*(x11+x12)+50*(X11+X12+X13)+50*(X11+X12+X13))+(70*X22+70*(X22+X23))+70*(X22+X23+X24)+(150*X31+150*(X31+X32)+150*(X31+X32+X33)+150*(X31+X32+X33+X34))+(20*X43+20*(X43+X44))
st5000*X11+15000*X31=3000
5000*X12+8000*X22+15000*X32=6000
5000*X13+8000*X23+15000*X33+1200*X43=7000
8000*X24+15000*X34+12000*X44=7000
8000*X25+15000*X35=7000
X11+X12+X13=1
X22+X23+X24+X25≥0.25
X22+X23+X24+X25≤1
X31+X32+X33+X34+X35≥0.25
X31+X32+X33+X34+X35≤1
X43+X44=1
全为大于零的数
Lingo语句:
Model:
max=50*(4*X11+3*X12+2*X13)+70*(3X22+2*X23+1*X24)+150*(4*X31+3*X32+2*X33+1*X34)+20*(2*X43+1*X44)
!
约束条件
5000*X11+15000*X31<=3000;5000*X12+8000*X22+15000*X32<=6000;5000*X13+8000*X23+15000*X33+1200*X43<=7000;8000*X24+15000*X34+1200*X44<=7000;8000*X25+15000*X35<=7000;X11+X12+X13=1;X22+X23+X24+X25<=1;X22+X23+X24+X25>=0.25;X31+X32+X33+X34+X35<=1;X31+X32+X33+X34+X35>=0.25;X43+X44=1;
End
输出结果:
Objectivevalue:
523.7500
Totalsolveriterations:
9
VariableValueReducedCost
X110.0000000.000000
X120.0000000.000000
X131.0000000.000000
X220.00000020.00000
X230.00000010.00000
X240.22500000.000000
X310.20000000.000000
X320.40000000.000000
X330.5333333E-010.000000
X340.34666670.000000
X431.0000000.000000
X440.0000008.000000
X250.2500000E-010.000000
X350.00000018.75000
RowSlackorSurplusDualPrice
1523.75001.000000
20.0000000.3875000E-01
30.0000000.2875000E-01
40.0000000.1875000E-01
50.0000000.8750000E-02
66800.0000.000000
70.0000006.250000
80.75000000.000000
90.0000000.000000
100.00000018.75000
110.75000000.000000
120.00000017.50000
结果分析:
要获得最大利润,需在第一年投资3000万的资金在工程3上,第二年投资6000万资金在工程3上,第三年投资5000万在工程1上,1200万在工程4上,800万投资在工程3上,第四年投资1800万在工程2上,5200万在工程3上,第五年投资200万在工程2上,剩余6800万,获得的最大利润523.75万元。
3.投资问题
假设投资者有如下四个投资机会,A在三年内,投资人应在每年的年初投资,每年每元投资可获利息0.2元,每年取息后可重新将本息投入生息,B在三年内,投资人应在第一年年初投资,每两年每元投资可获利息0.5元。
两年后取息,可重新将本息投入生息,这种投资最多不得超过20万元。
C,在三年内,投资人应在第二年年初投资,两年后每元可获利息0.6元,这种投资最多不得超过15万元。
D在三年内,投资人应在第三年年初投资,一年内每元可获得利息0.4元,这种投资不得超过10万元,假定在这三年为一期的投资中,每期的开始有30万元的资金可供投资,投资人应怎样决定投资计划,才能在第三年底获得最高的收益。
答:
用xiA,xiB,xiC,xiD,i=1,2,3,表示第i年初给项目A,B,C,D的投资金额,则
max1.2x3A+1.6x2C+1.4x3D
s.t.x1A+x1B=30
1.2x1A=x2A+x2C
x3B+x3A+x3D=1.2x2A+1.5x1B
x1B≤20
x2C≤15
x3D≤10
程序如下:
model:
1]max=1.2*X3a+1.6*X2c+1.4*X3d;
2]X1a+X1b=30;
3]X2a+X2c-1.2*X1a=0;
4]X3b+X3a+X3d-1.2*X2a-1.5*X1b=0;
5]@bnd(0,X1b,20);
6]@bnd(0,X2c,15);
7]@bnd(0,X3d,10);
End
运行结果如下:
Globaloptimalsolutionfoundatiteration:
4
Objectivevalue:
57.50000
VariableValueReducedCost
X3A16.250000.000000
X2C15.00000-0.1000000
X3D10.00000-0.2000000
X1A12.500000.000000
X1B17.500000.000000
X2A0.0000000.6000000E-01
X3B0.0000001.200000
RowSlackorSurplusDualPrice
157.500001.000000
20.0000001.800000
30.0000001.500000
40.0000001.200000
因此,第一年在机会A上投资12.5万元,在机会B上投资17.5万元,第二年在机会C上投资15万元,第三年在机会A上投资16.25万元,在机会D上投资10万元,可获得最大收益57.5万元。
4.生产计划与库存问题
某产品的制造过程由前后两道工序一和二组成。
下表提供了在未来的6-8月份的相关数据。
生产一件的产品在工序一上花0.6小时,在工序二上另外花0.8小时,在任何一个月过剩的产品,可以是半成品工序一,也可以是成品工序二,允许在后面的月中使用,相应的储存成本是每间每月1元和2元,生产成本随工序和随月份变化。
对于工序一,单位生产成本在六七八月份分别为50元,60元,和55元。
对于工序二,相应的单位生产费用分别为75元,90元和80元。
确定这两道工序在未来的三个月内最优的生产进度安排。
月份
六月
七月
八月
成品的需求(件)
500
450
600
工序一的能力(小时)
800
700
550
工序二的能力(小时)
1000
850
700
答:
生产计划与库存
6月
7月
8月
工序1
X11
X12
X13
工序2
X21
X22
X23
model:
min=50*x11+75*x21+(x11-500)+(x21-500)*2
+60*x12+90*x22+(x11+x12-950)+(x21+x22-950)*2
+55*x13+80*x23+(x11+x12+x13-1550)+(x21+x22+x23-1550)*2;
0.6*x11<=800;
0.8*x21<=1000;
x11>=500;
x21>=500;
x11>=x21;
x11+x12-950>=0;
x21+x22-950>=0;
0.6*x12<=700;
0.8*x22<=850;
x11+x12>=x21+x22;
x11+x12+x13-1550>=0;
x21+x22+x23-1550>=0;
0.6*x13<=550;
0.8*x23<=700;
x11+x12+x13>=x21+x22+x23;
end
gin7
5.志愿者排班问题
1)一家医院雇佣志愿者作为接待处的工作人员,接待时间是从早上八点到晚上十点,每名志愿者连续工作三小时,只有在晚上八点开始工作的人员除外,他们只工作两小时,对于志愿者的最小需求可以近似成2小时间隔的阶梯函数,其函数在早上八点开始,相应的需求人数分别是4、6、8、6、4、6、8.因为大多数志愿者是退休人员,他们愿意在一天的任何时间(早上八点到晚上十点)提供他们的服务,然而,由于大多数慈善团体竞争他们的服务,所需的数目必须保持尽可能的低。
为志愿者的开始时间确定最优的时间表。
2)在问题一中,考虑到午饭和晚饭,假定没有志愿者愿意在中午十二点和晚上六点开始工作,确定最优的时间表。
答:
时间段
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
X13
X14
人数
8
X1
4
9
X1
X2
10
X1
X2
X3
6
11
X2
X3
X4
12
X3
X4
X5
8
13
X4
X5
X6
14
X5
X6
X7
6
15
X6
X7
X8
16
X7
X8
X9
4
17
X8
X9
X10
18
X9
X10
X11
6
19
X10
X11
X12
20
X11
X12
X13
8
21
X12
X13
X14
1)假设每个小时段的Xi,i=1,2,3,-14
Lingo程序:
min=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+X14;
x1>=4;
x1+x2>=4;
x1+x2+x3>=6;
x2+x3+x4>=6;
x3+x4+x5>=8;
x4+x5+x6>=8;
x5+x6+x7>=6;
x6+x7+x8>=6;
x7+x8+x9>=4;
x8+x9+x10>=4;
x9+x10+x11>=6;
x10+x11+x12>=6;
x11+x12+x13>=8;
x12+x13+X14>=8;
end
运行结果
Globaloptimalsolutionfound.
Objectivevalue:
32.00000
Totalsolveriterations:
11
VariableValueReducedCost
X14.0000000.000000
X20.0000001.000000
X34.0000000.000000
X42.0000000.000000
X52.0000000.000000
X64.0000000.000000
X70.0000000.000000
X82.0000000.000000
X92.0000000.000000
X104.0000000.000000
X110.0000000.000000
X122.0000000.000000
X136.0000000.000000
X140.0000000.000000
RowSlackorSurplusDualPrice
132.00000-1.000000
20.000000-1.000000
30.0000000.000000
42.0000000.000000
50.0000000.000000
60.000000-1.000000
70.0000000.000000
80.0000000.000000
90.000000-1.000000
100.0000000.000000
114.0000000.000000
120.000000-1.000000
130.0000000.000000
140.0000000.000000
150.000000-1.000000
结果显示,最少需要32名志愿者参加志愿工作。
工作安排如下:
时段
8
9
10
11
12
13
14
15
16
17
18
19
20
21
人数
4
0
4
2
2
4
0
2
2
4
0
2
6
0
2),lingo程序
min=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+X14;
x1>=4;
x1+x2>=4;
x1+x2+x3>=6;
x2+x3+x4>=6;
x3+x4>=8;
x4+x6>=8;
x6+x7>=6;
x6+x7+x8>=6;
x7+x8+x9>=4;
x8+x9+x10>=4;
x9+x10>=6;
x10+x12>=6;
x12+x13>=8;
x12+x13+X14>=8;
end
运行结果
Globaloptimalsolutionfound.
Objectivevalue:
32.00000
Totalsolveriterations:
9
VariableValueReducedCost
X14.0000000.000000
X20.0000001.000000
X36.0000000.000000
X42.0000000.000000
X50.0000001.000000
X66.0000000.000000
X70.0000000.000000
X80.0000001.000000
X94.0000000.000000
X102.0000000.000000
X110.0000001.000000
X124.0000000.000000
X134.0000000.000000
X140.0000001.000000
RowSlackorSurplusDualPrice
132.00000-1.000000
20.000000-1.000000
30.0000000.000000
44.0000000.000000
52.0000000.000000
60.000000-1.000000
70.0000000.000000
80.000000-1.000000
90.0000000.000000
100.0000000.000000
112.0000000.000000
120.000000-1.000000
130.0000000.000000
140.000000-1.000000
150.0000000.000000
工作安排如下:
时段
8
9
10
11
12
13
14
15
16
17
18
19
20
21
总数
人数
4
0
6
2
0
6
0
0
4
2
0
4
4
0
32
6、下料问题
已知工厂有一批(数量充分多)长为180厘米的钢管,现需要70厘米长的不少于100根,52厘米长的不少于150根和35厘米长的不少于100根。
问怎么截法
1)使得所用的原料最少?
2)使得所剩余的边料最少?
试分析两种问题的答案是否相同。
答:
70
52
35
Left
Model1
2
0
1
5
Model2
1
2
0
6
Model3
1
0
3
5
Model4
0
2
2
6
Model5
0
0
5
5
(1)总余量最小
model:
min=5*x1+6*x2+5*x3+6*x4+5*x5;
2*x1+1*x2+1*x3>=100;
2*x2++2*x4>=150;
1*x1+3*x3+2*x4+5*x5>=100;
end
gin7
(2)总根数最小
model:
min=x1+x2+x3+x4+x5;
2*x1+1*x2+1*x3>=100;
2*x2++2*x4>=150;
1*x1+3*x3+2*x4+5*x5>=100;
end
gin7
两种答案是不相同的。
7、最小覆盖问题
ABC是一个小型的货物配送公司,需要每天给五个客户发送货物,表给出了每一条线路上的客户,由于卡车运送能力的约束,所以每一条线路都是事先制定的,例如,在线路1上,卡车的运送容量可以且只能满足客户1.2.3.4的需求,表给出了ABC总部和客户之间的距离。
目标就是找一个路程最短的日常配送方案,一满足五个客户的需求,得出的解中可能有客户会在多条选中的线路上,在配送执行中只选择其中一条线路来服务他,根据这个问题,建立整数线性模型,并求出最优解。
答:
根据要求应求出最佳的路径。
由已知共有6条路线供选择,从给出的各客户离ABC总部的距离我们可以知道各路线距离:
x1=80;x2=50;x3=70;x4=52;x5=60;x6=44(将彼此之间的距离相加即可得到)。
建立数学模型,编写如下程