防洪物资调运问题分析1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012集美大学数学建模竞赛
承诺书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违及竞赛规则的行为,我们将受到严肃处理。
所属学院(请填写完整的全名):_________________ 集美大学理学院__________________ 参赛队员(打印并签名):1. ______________________________________
2. _______________________________________________
3.
日期:2012 年8月22日
2012集美大学数学建模竞赛
编号专用页
评阅编号:
评阅记录:
C题防洪物资调运问题分析
摘要
我国地域辽阔,气候多变,近几年各种自然灾害的频发使得如何建立科学的防洪物资调运方案更是刻不容缓。
本文主要研究防洪物资调运的问题,在以图论、统筹规划知识为基础并综合word、lingo软件建立了公路交通网数学模型、最少天数调运模型和最小费用调运模型,并对问题进行了分析。
问题一:利用word的绘图工具结合附件1的信息建立公路交通网数学模型。
问题二:重点保护储备库的调运数学模型即储备库库存达到最大库存,各仓库库存达到预测库存的模型。
首先根据分布图将最优路线找出,运用lingo软件建立最少天数调运模型和最小费用调运模型,并根据现实情况选择。
问题三:将数据20天代入最少天数调运模型和最小费用调运模型即可得出。
问题四:从问题二的数学模型可以找出调运路线,运用word软件找出是否包含中断路线,若包含则只需重新找出最优路线,并在问题二的数学模型上重修修改数学模型即可。
关键词:调运路线;库存量;调运量;
一、问题重述
1>问题背景
长期以来自然灾害的频发给国家和人民财产带来的损失已不容小觑,尤其是近几年的洪涝问题更是迫在眉睦。
如何做好防洪物资调运,最大程度的保障国家和人民生命财产并减小洪涝灾害带来的损失已成为各级政府的一项重要任务。
2、提出问题
(1) 请根据信息建立该地区公路交通网的数学模型。
(2) 设计该物资合理的调运方案,包括调运量及调运线路,在重点保证国家级储备库的情况下,为给该地
区有关部门做出科学决策提供依据。
(3) 根据你的调运方案,20天后各库的库存量是多少
(4) 如果汛期下列路段因洪水交通中断,能否用问题二的模型解决紧急调运的问题,如果不能,请修改你
的模型。
中断路段:⑭㉓,⑪㉕,迪㉗,③㉛
二、问题分析
问题1:本体的关键是运用公路交通网数学模型分析最优调运路线,我们利用word的绘图工具并结合附件1的信息建立公路交通网数学模型。
问题2:从现实生活中可知,科学决策的调运方案应该是使得调运费用最少,于是我们必须先找出个点之间的最优路线即运输费用最少路线。
假设所有调运都能在当天完成,为了重点保证国家级储备库,则必须保证储备库的库存量达到最大库存量,其余仓库只需达到预测库存量即可。
从数据可得出仓库3和仓库5的现有库存量大于预测库存量,于是便考虑仓库3和5是否调运给仓库货储备库。
1)最短天数模型(附件1):由于天数最短,即仓库3和仓库5的多余库存便往外调运, 于是在用lingo建立模型时必须增加仓库3和5的多余库存量全部调运的约束条件。
另
外根据数据可以算出最短天数为24. 1天,于是便可假设天数为25天,大概知道企业1、
2、3的物资总量(现有库存+生产量)。
在最短天数已知前提建立模型寻找费用最低的调运方案。
2)最小费用模型(附件2):经过比较可知仓库3和仓库5调运到仓库或储备库的费用均大于企业调运到仓库或储备库的费用,于是为了得出最小费用仓库3和仓库5可不进行调运。
在比较3个企业调运到各仓库和储备库的费用,各仓库和储备库的调运均由3 个企业中调运费用最小的企业负责。
由于不考虑天数,于是我们便给3个企业的总库存量(现有库存+总生产量)赋很大的值(保证库存量能满足完成调运任务)。
问题3:
1)最短天数模型:由于20天时还未完成任务,于是我们只需将20天时3个企业的总库存量算出,并代入数据,运行模型即可得出答案。
2)最小费用模型:由问题二的最小费用模型可得出20天时各企业的总库存量,代入数据,运行模型即可得出答案。
问题4:从问题2的两个数学模型可以找出调运路线,运用word分别找出两个模型的调运路线中是否包含中断路线,若包含则只需重新找出最优路线,并在问题二的数学模型上修改数据即可。
若不包含中端路线则模型仍然适用。
三、模型假设
(1)所有运输在一天内都可抵达。
(2)运输过程中没有突发状况的发生。
(3)当天生产时间可忽略不计。
(3)运输过程中不会产生额外的费用。
(4)企业生产产生的费用可忽略不计。
(5)企业每天的产量可不达到最大值。
四、符号说明
j天数Y费用
恥= 1,2,3) 企业j的总调运量40 = 1,2,3) 企业i的现有库存
5,(/= 1,2... 8) 仓库j的现有库存C,(/ = 12) 储备库j的现有库存
切(12・・8) 仓库j的预测库存q Q = 1,2) 储备库j的最大库存
〃卫=123) 企业j每天的产量S& = 1,2,3) 企业i的总量
五、模型建立与求解
交通网数学模型
问题二:
最优路线即运输费用最少路线。
根据分布图计算得表1、表2、表3。
表
1调运到储备库的线路与费用
储备库1
储备库2
企业1
路线:24+20+13+27 费用:
路线:24+26+19+18+15+42+28+29+30 费用:312 企业2
路线:24+26+19+18+15+42+28+29+30 费用:
路线:41+6+4+30 费用:
企业3
路线:34+1+2+9+27 费用:
路线:34+32+39+30 费用:
仓库1
路线:28+42+41+6+40+27 费用:227
路线:28+29+30 费用:
问题一:
表2 企业调运到各仓库路线和费用
表3仓库3. 5到各仓库路线和费用
假设所有调运都能在当天完成,为了重点保证国家级储备库,则必须要求保证储备库的库存量达到最大库存量,其余仓库只需达到预测库存量即可。
从数据可得出仓库3 和仓库5的现有库存量大于预测库存量,于是便考虑仓库3和5是否调运给仓库和储备库。
1)最短天数模型:
求B, >b t,得23, 5o即仓库3和仓库5多余的库存需要向外调运,
尽-$ = 150 ,尽-4=400得仓库3向外调运150,仓库5向外调运400。
根据公式:
最短天数J鋅(以+铁-丈4-也厂
r-1 /-I /-I r-1 i-l i-1
代入数据求得最短天数为24. 1天,于是便可假设天数j min=25o
企业1、2、3的总量:
S,=A+^*Jnun (现有库存+生产总量)
解得S| = 1600, S2 =1100, S3 =1000
运用lingo软件建立最短天数数学模型(附件1),求得调运量(表4)
调运路线请结合表1、2、3、4查看。
结合表1、表2、表3、表4的数据可以求得最短天数的最小费用y^550824o
2)最小费用模型
从表2和表3的数据比较得仓库3和仓库5调运到仓库或储备库的费用均大于企业调运到仓库或储备库的费用,为了得到最小费用仓库3和仓库5可不进行调运。
给3个企业的总库存量S,赋值。
S,= 4000(2123)
运用lingo软件建立最小最小费用数学模型(附件2),求得调运量(表5)
调运路线请结合表J 2、3、4查看。
结合表仁表2、表3、表6的数据可以求得最小费用Y二498276。
问题三:
1)最短天数模型:
20天时3个企业的总库存量:
(j = 20,/ = 1,2,3)
解得$=1400, S2 =960 , S3 =900。
将数据代入模型求得调运量(表6)
2)最小费用模型:从问题二的最小费用模型可得出企业i的总调运量& 企业i生产天数:Z =(厶一4)/心
仓库 2: 35+32+31+9+27+26+19+18+23 486
把以上路线修改得:
企业 1——储备库 1
24+20+13+27
(50+68) *+50*2=
解得 J, =43.25, 72 =1.67,厶=47
因为久>20,厶>20,厶<20,所以20天时3个企业的总库存量: 由 S,=4+/*j (丿= 20J = l,3), 得51 = 1400 , 52=410, S 3 =900 o
将数据代入模型得求得调运量(表8),
因此可得各库的库存量(表9)
问题四:
将4个中断路线结合问题2的2个模型路线查看。
1)最短天数模型:
可得以下路线受到影响:
企业 1——储备库 1 24+26+27
(30+70) *=120
企业3——储备库1 仓库3——储备库1 34+32+31+9+27 (25+50+52+40)*= 35+32+31+9+27 (98+50+52+40) *=288 仓库5——储备库1 企业1——储备库2 22+19+26+27
(72+28+70)*=204
24+26+27+40+6+4+30
(30+70+30+30+70)*+32*2=340
企业1 企业1 企业1 企业2 企业2 企业3
•仓库 4 24+26+27+9+31
(30+70+40+52) *=
•仓库 6 24+26+27+9+2+3+36 (30+70+40+62+35+50) *= •仓库 8 24+26+27+9+31+32+38 (30+70+40+52+50+68) *=372
•仓库 4 41+6+40+9+31
(48+30+28+52) *=
•仓库 8 41+6+40+9+31+32+38 (48+30+28+52+50+68) *=
仓库 2 34+32+31+9+27+26+19+18+23 (25+50+52+40+70+28+22+45) *= 仓库3
储备库 1 34+1 +2+9+27 (45+40+62+40) *= 储备库 1 34+1 +2+9+27 (45+40+62+40) *= 储备库 1 35+32+34+1+2+9+27(98+25+45+40+62+40) *=372
储备库 1 22+20+13+27 (80+68) *+50*2=
储备库 2 24+26+27+40+6+4+30 (30+70+30+30+70) *+32*2=340
仓库 4 24+26+25+15+9+41 +6+40+9+31 (30+18+46+28+26+48+30+28+52) *=
仓库 6 24+20+13+12+10+3+36
(50+68+80+52+42+50) *=
仓库 8 24+20+13+12+10+3+36+33+37+38 (50+68+80+52+42+50+40+38+35) *=546
仓库 4
41 +6+4+30+39+32+31 (48+30+70+62+50 ) *=348
仓库 8 41+6+4+30+39+32+38 (48+30+70+15+62+68) *= 仓库 2 34+32+39+30+4+6+41+41+42+15+18+23
仓库 3——仓库 2: 35+32+39+30+29+28+42+15+18+23
552
由于紧急调用,因此需要用到最短天数模型。
将问题2的模型最短天数模型的数据 如以上数据修
改,可得新模型。
运行模型后结果如下表10
六、模型结果分析与检验
1、由于我们建立的是最少天数和最小费用的模型,若是要求最短时间则最少天数模型 可供选择,若时间比较充足考虑费用,则最少费用可供选择。
七、模型的评价与推广
一、模型的评价
优点:
1) 模型运用图论以及统筹规划知识对最小问题模型符合实际情况。
2) 从模型的建立可以得出即使库存、产量、路线发生变化也符合模型建立的基本思想, 因此模型具有通用性。
3) 最短天数与最小费用模型能够结合现实综合考虑,并依照实施情况选择模型。
缺点:
1) 该模型在处理问题时有假设与理想化的思想,与实际问题的求解还有一定距离 2) 该模型在设计时没有考虑人力成本.道路的现实路况.不同地区需求程度等问题,
企业 3 企业 3 仓库 3 仓库 5 企
业 企业 1 企业 1 企业 1 企业 2 企业 2 企业3
具有局限性。
3) 由于题目没有给出各企业的生产成本,因此费用最少模型有缺陷。
二、模型的推广
模型的运用的图论和统筹规划还可以普及到各个领域,如最大流最小费用问题。
该模型对我国防洪物资调运的科学性具有重要意义尤其是在我国日趋严重的洪涝等自然灾害。
八、参考文献
[1]萧树铁,数学实验(第二版),北京:高等教育出版社,2006
九、附录
附件1:最短天数数学模型
mode I:
sets:
cangku1/1,2, 4, 6, 7, 8/:a;
qiye/1.・ 3/:b;
chubei/1,2/:c;
cangku2/3,5/:d;
I inksl (qiye, cangkuD :x1, cos;
I inks2 (q iye, chube i) :x2, cost2;
Ii nks3 (cangku2,cangkul):x3, cost3;
Ii nks4(cangku2, chube i):x4, cost4;
endsets
mi n=@sum (Ii nks1:x1*cost1)+@sum(Ii nks2:x2*cost2) +@sum(Ii nks3:x3*cost3) +@s um(I inks4: x4*cost4);!目标函数即费用最小;
@for (cangkul (i):®sum (I i nks1 (j, i) : x1 (j, i)) +@sum (I i nks3 (j, i) : x3 (j, i)) =a (i) );!仓库(1,2,4, 6, 7,8)达到预测库存;
©for (chubei (i) :@sum(l inks2 (j, i) :x2(j, i))+@sum(l inks4(j, i) :x4(j, i)) =c(i)) ;!储备库达到最大库存;
@for (qiye (i) :@sum(I inks1 (i, j) : x1 (i, j))+@sum(l inks2 (i, j) :x2 (i, j)) <=b (i)) ; ! 企业的总运输量小于或等于其最大生产量;
@for (cangku2 (i) : @sum(l i nks3 (i, j) :x3(i, j))馳sum (I inks4(i, j) :x4(i, j))二d(i)) ;! 仓库(3,5)的总运输量等于其多出来的库存量;
data:
a二300 330 120 20 110 100;
c=2000 1200;
b二1600 1110 1000;
d二150 400;
cost1= 150 372
90 174
cost2=120 340
cost3= 486 174
456;
cost4二288 222
204 ;
enddata
附件2:最小费用数学模型
modeI:!最小费用(通过结果得企业1生产天,企业2生产天,企业3生产47天,仓库3、仓库5没有运出);
sets:
cangku1/1,2, 4, 6, 7, 8/:a;
qiye/1. . 3/:b;
chubei/1,2/:c;
cangku2/3,5/:d;
Iinksl (qiye, cangku1):x1,cos;
I inks2 (q iye, chube i) : x2, cost2;
Ii nks3 (cangku2, cangkul) :x3, cost3;
Ii nks4(cangku2, chube i):x4, cost4;
endsets
m i n=@sum (Ii nks1:x1*cost1)+@sum(Ii nks2:x2*cost2) +@sum(Ii nks3:x3*cost3) +@s um(l inks4: x4*cost4);!目标函数即费用最.小;
@for (cangkul (i) :©sum(I inks1 (j, i) :x1 (j, i))+@sum(l inks3 (j, i) :x3 (j, i)) =a (i) );!仓库(1,2,4, 6, 7,8)等于预测库存;
©for (chubei (i) :@sum(l inks2(j, i) :x2(j, i))+@sum(l inks4(j, i) :x4(j, i))=c(i)) ;!储备库达到最大库存;
@for (qiye (i) :@sum(l inksl (i, j) : x1 (i, j))+@sum(l inks2(i, j) :x2(i, j)) <=b (i)) ; ! 企业的总运输量小于或等于其最大生产量;
@for (cangku2 (i) :@sum(l i nks3 (i, j) : x3 (i, j))+@sum(l inks4(i, j) : x4(i, j)) <=d (i)) :! 仓库(3,5)的总输出量小于或等于其多余库存量;
data:
a二300 330 120 20 110 100;
c=2000 1200;
b=4000 4000 4000;
d二150 400;
cost1= 150 372
90 174
cost2=120 340
cost3= 486 174
456;
cost4二288 222
204 ;
enddata
附件3:最小费用20天模型
modeI:!最小费用(通过结果得企业1生产天,企业2生产天,企业3生产47天,仓库3、仓库5没有运出);
sets:
cangku1/1,2, 4, 6, 7, 8/:a;
qiye/1.・ 3/:b;
chubei/1,2/:c;
cangku2/3,5/:d;
I inksl (qiye, cangkuD :x1, cos;
I inks2 (q iye, chubei) :x2, cost2;
Ii nks3 (cangku2,cangkul):x3, cost3;
Ii nks4(cangku2, chube i):x4, cost4;
endsets
mi n=@sum (Ii nks1:x1*cost1)+@sum(Ii nks2:x2*cost2) +@sum(Ii nks3:x3*cost3) +@s um(I
inks4:x4*cost4);!目标函数即费用最小;
@for(cangkul(i):©sum(Iinks1(j, i):x1 (j, i))+@sum(Iinks3(j, i):x3 (j, i))<=a (i ));!仓库(1,2,4, 6, 7,8)小于或等于预测库存;
@for (chubei (i) :@sum(I inks2 (j, i) :x2(j, i))+@sum(l inks4(j, i) :x4(j, i))<=c(i) );!储备库小于或等于最大库存;
@for (qiye (i) : ©sum (I inksl (i, j) : x1 (i, j))+@sum(l inks2(i, j) :x2(i, j))=b(i)) ; ! 企业的总运输量等于其最大生产量;
@for (cangku2 (i) :@sum(l inks3(i, j) :x3(i, j))+@sum(l inks4(i, j):x4(i, j))<=d(i));
data:
a=300 330 120 20 110 100;
c=2000 1200;
b=1400 410 900;
d=150 400;
cost1= 150 372
90 174 ;
cost2=120 340
cost3= 486 174
456;
cost4二288 222
204 ;
enddata
附件4:疑短天数20天模型
mode I:
sets:
cangku1/1,2, 4, 6, 7, 8/:a;
qiye/1.・ 3/:b;
chubei/1,2/:c;
cangku2/3,5/:d;
I inks1 (qiye, cangkuD :x1, cos;
Iinks2 (q iye,chube i):x2,cost2;
Ii nks3 (cangku2, cangkul):x3, cost3;
Ii nks4(cangku2,chube i):x4, cost4;
endsets
mi n=@sum (Ii nks1:x1*cost1)+@sum (Ii nks2:x2*cost2)+@sum(Ii nks3:x3*cost3)+@s um(l
inks4:x4*cost4);!目标函数即费用最小;
©for (cangkul (i) :@sum(l inks1 (j, i) :x1 (j, i)) +@sum(I inks3 (j, i) :x3 (j, i)) <=a (i ));!仓库(1,2,4, 6, 7,8)小于或等于预测库存;
@for(chube i (i):©sum(Ii nks2 (j, i):x2 (j, i))+@sum(Ii nks4 (j, i):x4 (j, i))<=c (i) );!储备库小于或等于最大库存;
©for (qiye (i) :@sum(l inksl (i, j) : x1 (i, j))+@sum(l inks2(i, j) :x2(i, j))=b(i)) ; !
企业的总运输量等于其生产量;
@for (cangku2 (i) :@sum(I inks3(i, j) :x3(i, j))+^sum(l inks4(i, j) :x4(i, j))=d(i)) ;! 仓库(3,5)的总输出量等于其多出来的库存量;
data:
a=300 330 120 20 110 100;
c=2000 1200;
b=1400 960 900;
d二150 400;
cost1= 150 372
90 174 ;
cost2=120 340
*
cost3= 486 174
456;
cost4二288 222
204 ;
enddata
附件5:紧急调用模型
mode I:
sets:
cangku1/1,2, 4, 6, 7, 8/:a;
qiye/1. . 3/:b;
chubei/1,2/:c;
cangku2/3,5/:d;
I inksl (qiye, cangkuD :x1, cos;
I inks2 (q iye, chubei) :x2, cost2;
I i nks3 (cangku2, cangkul):x3, cost3;
Ii nks4 (cangku2, chube i):x4, cost4;
endsets
mi n=@sum (Ii nks1:x1*cost1)+@sum(Ii nks2:x2*cost2)+@sum(Ii nks3:x3*cost3) +@s um(I inks4:x4*cost4);!目标函数即费用最小;
@for (cangkul (i) :©sum(I inks1 (j, i) :x1 (j, i))+@sum(l inks3 (j, i) :x3 (j, i)) =a (i) );!仓库(1,2,4,6, 7,8)达到预测库存;
©for (chube i (i) :@sum(I inks2 (j, i) :x2 (j, i))+@sum(l inks4(j, i) :x4(j, i))=c (i)) ;!储备库达到最大库存;
@for (q i ye (i) : @sum (I i nks1 (i, j) :x1 (i, j))+@sum (I i nks2 (i, j) :x2(i, j)) <=b (i)) ; ! 企业的总运输量小于或等于其最大生产量;
@for (cangku2 (i) :@sum(I inks3 (i, j) :x3 (i, j))+@sum(l inks4(i, j) : x4(i, j)) =d (i)) ;! 仓库(3,5)的总运输量等于其多出来的库存量;data:
a=300 330 120 20 110 100;
c=2000 1200;
b=1600 1110 1000;
d二150 400;
cost1= 150 546
348
174 ;
cost2= 340
cost3= 552
592 582;
cost4= 372 222
enddata。