数学建模生产计划问题.docx
《数学建模生产计划问题.docx》由会员分享,可在线阅读,更多相关《数学建模生产计划问题.docx(19页珍藏版)》请在冰豆网上搜索。
数学建模生产计划问题
第一题:
生产计划安排
某工厂生产ABC三种产品,所需劳动力、材料等有关数据见下表
产品
可用量
(单位)
资源
A
B
C
劳动力
6
3
5
45
材料
3
4
5
30
产品利润(元/件)
3
1
4
1)确定获利最大的生产方案
2)产品ABC的利润分别在什么范围内变动时,上述最优方案不变
3)如果劳动力数量不增,材料不足时可从市场购买,每单位元,问该厂要不要购进原材料扩大生产,以购多少为宜
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.甲利润在—元之间变动,最优生产计划不变
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
开始
结束
50
工程2
开始
结束
70
工程3
开始
结束
150
工程4
开始
结束
20
预算
(千万元)
工程1和工程4必须在规定的周期内全部完成,必要时,其余的二项工程可以在预算的限制内完成部分。
然而,每个工程在他的规定时间内必须至少完成25%。
每年底,工程完成的部分立刻入住,并且实现一定比例的收入。
例如,如果工程1在第一年完成40%,在第三年完成剩下的60%,在五年计划范围内的相应收入是*50(第二年)+*50(第三年)+(+)*50(第四年)+(+)*50(第五年)=(4*+2*)*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≥
X22+X23+X24+X25≤1
X31+X32+X33+X34+X35≥
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>=;X31+X32+X33+X34+X35<=1;X31+X32+X33+X34+X35>=;X43+X44=1;
End
输出结果:
Objectivevalue:
Totalsolveriterations:
9
VariableValueReducedCost
X11
X12
X13
X22
X23
X24
X31
X32
X33
X34
X43
X44
X25
X35
RowSlackorSurplusDualPrice
1
2
3
4
5
6
7
8
9
10
11
12
结果分析:
要获得最大利润,需在第一年投资3000万的资金在工程3上,第二年投资6000万资金在工程3上,第三年投资5000万在工程1上,1200万在工程4上,800万投资在工程3上,第四年投资1800万在工程2上,5200万在工程3上,第五年投资200万在工程2上,剩余6800万,获得的最大利润万元。
3.投资问题
假设投资者有如下四个投资机会,A在三年内,投资人应在每年的年初投资,每年每元投资可获利息元,每年取息后可重新将本息投入生息,B在三年内,投资人应在第一年年初投资,每两年每元投资可获利息元。
两年后取息,可重新将本息投入生息,这种投资最多不得超过20万元。
C,在三年内,投资人应在第二年年初投资,两年后每元可获利息元,这种投资最多不得超过15万元。
D在三年内,投资人应在第三年年初投资,一年内每元可获得利息元,这种投资不得超过10万元,假定在这三年为一期的投资中,每期的开始有30万元的资金可供投资,投资人应怎样决定投资计划,才能在第三年底获得最高的收益。
答:
用xiA,xiB,xiC,xiD,i=1,2,3,表示第i年初给项目A,B,C,D的投资金额,则
max++
s.t.x1A+x1B=30
=x2A+x2C
x3B+x3A+x3D=+
x1B≤20
x2C≤15
x3D≤10
程序如下:
model:
1]max=*X3a+*X2c+*X3d;
2]X1a+X1b=30;
3]X2a+*X1a=0;
4]X3b+X3a+**X1b=0;
5]@bnd(0,X1b,20);
6]@bnd(0,X2c,15);
7]@bnd(0,X3d,10);
End
运行结果如下:
Globaloptimalsolutionfoundatiteration:
4
Objectivevalue:
VariableValueReducedCost
X3A
X2C
X3D
X1A
X1B
X2A
X3B
RowSlackorSurplusDualPrice
1
2
3
4
因此,第一年在机会A上投资万元,在机会B上投资万元,第二年在机会C上投资15万元,第三年在机会A上投资万元,在机会D上投资10万元,可获得最大收益万元。
4.生产计划与库存问题
某产品的制造过程由前后两道工序一和二组成。
下表提供了在未来的6-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;
*x11<=800;
*x21<=1000;
x11>=500;
x21>=500;
x11>=x21;
x11+x12-950>=0;
x21+x22-950>=0;
*x12<=700;
*x22<=850;
x11+x12>=x21+x22;
x11+x12+x13-1550>=0;
x21+x22+x23-1550>=0;
*x13<=550;
*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:
Totalsolveriterations:
11
VariableValueReducedCost
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
X13
X14
RowSlackorSurplusDualPrice
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
结果显示,最少需要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:
Totalsolveriterations:
9
VariableValueReducedCost
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
X13
X14
RowSlackorSurplusDualPrice
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
工作安排如下:
时段
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上,卡车的运送容量可以且只能满足客户的需求,表给出了ABC总部和客户之间的距离。
目标就是找一个路程最短的日常配送方案,一满足五个客户的需求,得出的解中可能有客户会在多条选中的线路上,在配送执行中只选择其中一条线路来服务他,根据这个问题,建立整数线性模型,并求出最优解。
答:
根据要求应求出最佳的路径。
由已知共有6条路线供选择,从给出的各客户离ABC总部的距离我们可以知道各路线距离:
x1=80;x2=50;x3=70;x4=52;x5=60;x6=44(将彼此之间的距离相加即可得到)。
建立数学模型,编写如下程序:
min=80*x1+50*x2+70*x3+52*x4+60*x5+44*x6;
x1+x2+x5>=1;
x1+x2+x4+x6>=1;
x1+x3+x5+x6>=1;
x1+x3+x4+x5>=1;
x2+x3+x4+x6>=1;
@bin(x1);
@bin(x2);
@bin(x3);
@bin(x4);
@bin(x5);
@bin(x6);
输入以上程序,运行结果如下:
Globaloptimalsolutionfound.
Objectivevalue:
Extendedsolversteps:
0
Totalsolveriterations:
0
VariableValueReducedCost
X1
X2
X3
X4
X5
X6
RowSlackorSurplusDualPrice
1
2
3
4
5
6
从上面的结果可以看出,应选择线路5和线路6,这样最短的路程为104英里。