钢管订购和运输论文.doc_第1页
钢管订购和运输论文.doc_第2页
钢管订购和运输论文.doc_第3页
钢管订购和运输论文.doc_第4页
钢管订购和运输论文.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

承 诺 书我们仔细阅读了全国大学生数学建模的竞赛规则()。我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与本队以外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们愿意承担由此引起的一切后果。我们的参赛(报名)队号为:32 参赛组别(研究生或本科):本科参赛队员 :兰潇根、柳达强、汪锡平钢管订购和运输摘要:本文拟建立一个最合理的钢管运输与铺设方案模型。利用离散数学和数据结构中图论相关知识,应用最短路径的floyd算法和灵敏度分析法建立一个以总费用为目标函数的非线性规划模型, 对于钢管订购和运输的总费用,分为三部分:购买钢管费用,由钢厂运送到站点的费用以及由站点开始铺设的费用,对于由钢厂运送到站点的费用,用Floyd算法,求出铁路网和公路网的最短路径,然后转化为最少运输费用,之后利用Lingo软件编程,求解分析,解决问题。关键词:Floyd算法,非线性规划,Lingo一 问题重述要铺设一条的输送天然气的主管道, 如题图一所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。为方便计,1km主管道钢管称为1单位钢管。一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:1234567800800100020002000200030001601551551601551501601单位钢管的铁路运价如下表:里程(km)300301350351400401450451500运价(万元)2023262932里程(km)5016006017007018008019009011000运价(万元)37445055601000km以上每增加1至100km运价增加5万元。公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)。钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。(1)请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。(2)请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。(3)如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情形给出一种解决办法,并对题图二按(1)的要求给出模型和结果。二 问题分析1.问题一所有的钢管必须通过铁路运送到铺设线路上的站点,之后再通过公路运输向左或右铺设。因此,总的费用由三部分组成:一部分为购买所有主管道钢管的总费用,一部分为由钢管厂运送到各个站点时的铁路运费和公路运费的总和,最后一部分为由站点向左右两边铺设时的运输费用。对于从钢管厂到各个站点的最小运费,由于在铁路和公路上的运费计算方法不同,所以,可以先用Floyd算法,求出钢管厂到铁路上任意结点的最小距离和路线,得到相应的单位钢管运费,同理再求出各个站点到公路上任意结点的最小距离和路线,得到相应的单位钢管运费,再将两运费求和求出最小值,于是就得到从某钢厂到某铺设地点运输单位钢管的最少运输费用。2.问题二题目中“哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大”可以理解为,当该模型达到最优解时,钢管销价或者产量上限变化一个单位时,对购运计划和总费用的影响的大小问题。可以利用Lingo编程运行得到结果。3.问题三要铺设的管道是一个树形图,是题图一的一种延拓,通过观察可知,只有9、11、17站点的铺设方向有三个,其它站点的铺设方向只有左右,因此,可以沿用问题一里的思路,在问题一的基础上再增加一个变量middle(j),用于表示向第三方向铺设的钢管数量。三 模型的假设与符号说明1、模型的假设 .沿管道或者原来有公路或者建有施工公路。 钢管全部由这7个钢厂生产,一个钢厂如果承担制造这种钢管,至少需要生产500个单位。 公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)。 由于公路运输费中,不足整公里部分按整公里计算,因此,从站点向左右两边运送钢管时,不应该是边运送边卸下钢管,这样也不符合实际,应当是走一个单位的公路,卸下一个单位的钢管。2、符号说明符号说明钢厂在指定期限内能生产该钢管的最大数量钢厂的钢管出厂单位销价(单位:万元)cost(i,j)单位钢管从钢厂运到的最小费用(单位:万元)l(j)从 到之间的距离(单位:千米)n(i,j)从钢厂运到的钢管数量left(j)运到站点向左铺设的钢管数量right(j)运到地的钢管向右铺设的钢管数量middle(j)运到站点的钢管向第三方向铺设的钢管数量c(i)=0钢厂不提供钢管c(i)=1钢厂提供钢管四 模型的建立与求解(一)、问题一的模型: 采用Floyd算法,用matlab编程可以求出单位钢管从运输到的最小运输费用,数据如下表:A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15S1170.7160.3140.298.63864.29296106121.2128142S2215.7205.3190.2171.611195.58671.2114.2142146156171.2178192S3230.7220.3200.2181.6121105.59686.248.2828696111.2118132S4260.7250.3235.2216.6156140.5131116.284.262516176.28397S5255.7245.3225.2206.6146130.5121111.279.257335171.27387S6265.7255.3235.2216.6156140.5131121.284.262514526.21128S7275.7265.3245.2226.6166150.5141131.299.276665638.2262 目标函数为总费用W,包括三个部分,购买所有主管道钢管的费用,将钢管从钢厂运到各个站点的费用,将钢管从站点运到铺设地点的费用W=+其中 则目标函数:minW=+约束条件: 1. 钢厂的钢管产量: 2. 运到各个站点的钢管刚好用完: (j=1,215) 3. 与之间的钢管: , (j=1,2, ,14) 4. 钢管数量的非负性:n(i,j)0 , left(j) 0 , right(j) 0 (i=1,2,7 , j=1,2,15) 5 钢管数量的整数性:n(i,j)N 运用数学软件Lingo编程求解 问题一的结果最优最小费用(万元) (二)、问题二的模型:用Lingo对问题一求解后,即可根据Lingo的结果对问题二进行解答。各钢厂销价的变化:p(1)p(2)p(3)p(4)p(5)p(6)p(7)对偶价格-800-800-10000-1320-1250.990对偶价格表示,在最优解的情况下,各钢厂钢管销价减少一个单位时,对总费用的影响。根据表中的数据,S(5)钢厂钢管的销价对购运计划和总费用影响最大。产量上限:s(1)s(2)s(3)s(4)s(5)s(6)s(7)对偶价格10335253.330016对偶价格表示,在最优解的情况下,各钢厂钢管生产上限每增加一个单位时,对总费用的影响。根据表中的数据,得S(1)钢厂钢管的产量上限的变化对购运计划和总费用的影响最大。(三)、问题三的模型: 采用Floyd算法,用matlab编程求出单位钢管从运输到的最小运输费用,数据如下表:A1A2A3A4A5A6A7A8A9A10S1170.7160.3140.298.63864.292S2215.7205.3190.2171.611195.58671.2114.2142S3230.7220.3200.2181.6121105.59686.248.282S4260.7250.3235.2216.6156140.5131116.284.262S5255.7245.3225.2206.6146130.5121111.279.257S6260.7250.3235.2216.6156140.5128.1116.284.261S7275.7265.3245.2226.6166150.5141131.299.276 (续表)A11A12A13A14A15A16A17A18A19A20A21S196106121.21281426095100105115125S2146156171.2178192110145150155165175S38696111.211813244859095105115S4516176.28397805055607080S5335171.27387753245506575S6473716.2112880463336100S7645638.2262956350553226由于树形图的出现,发现在站点9、11、17处出现了3条支路的情况。则模型一中模型的变量left(j),right(j)不再适用,此时可考虑增加一个支路变量middle(j),相应的增加约束条件,在目标函数中增加相应的从站点运到铺设地点的费用。目标函数: 约束条件: 1. 钢厂的钢管产量: 2. 运到各个站点的钢管刚好用完: (j=1, ,21且j9,11,17) (j=9,11,17)3. 与之间的钢管: (j=1,2, ,14) middle(9)+left(16)=42 middle(11)+middle(17)=10 left(17)+left(18)=130 right(17)+left(19)=190 right(19)+left(20)=260 right(20)+left(21)=1004. 钢管数量的非负性:n(i,j)0 , left(j) 0 , right(j) 0 ,middle(j) 0,(i=1,2,7 , j=1,2,21)5.钢管数量的整数性:n(i,j)N 运用数学软件Lingo编程求出 问题三的结果: 最优最小费用(万元)五 模型优缺点1.该模型通过简化运输网络,采用Floyd算法,具有技巧性和理论的保障。2.模型的所有运算均由计算机程序完成,误差只由计算机产生,具有精度高的特点。3.一般的图均可在该模型的基础上完善得出结果,故该模型具有较好的推广性。六 参考文献1 姜启源、谢金星 数学模型(第三版)高等教育出版社 20032 Floyd最短路算法的MATLAB程序/view/e5a6e4886529647d272852aa.html七 附录问题一:利用Floyd算法求解各钢管厂到各站点的最小费用路线的matlab程序:钢厂到铁路网结点的最短距离: n=24;a=zeros(n);a(1,2)=450;a(2,3)=80;a(2,4)=1150;a(4,8)=1100;a(5,6)=360;a(6,7)=195;a(7,18)=20;a(8,9)=720;a(8,18)=202;a(8,19)=1200;a(9,10)=520;a(9,20)=690;a(10,11)=170;a(11,12)=88;a(11,13)=160;a(11,21)=690;a(12,22)=462;a(13,14)=70;a(13,15)=320;a(15,16)=160;a(16,17)=290;a(16,24)=70;a(17,24)=30;a=a+a;M=max(max(a)*n2;%M为充分大的正实数a=a+(a=0)-eye(n)*M;path=zeros(n);for k=1:nfor i=1:nfor j=1:nif a(i,j)a(i,k)+a(k,j)a(i,j)=a(i,k)+a(k,j);path(i,j)=k;endendendenda, path站点到公路网结点的最短距离: n=32;b=zeros(n);b(1,2)=104;b(2,3)=301;b(2,16)=3;b(3,4)=750;b(3,17)=2;b(4,5)=606;b(4,18)=600;b(5,6)=194;b(5,19)=10;b(6,7)=205;b(6,20)=5;b(7,21)=10;b(7,22)=31;b(8,23)=12;b(8,9)=680;b(9,10)=480;b(9,24)=42;b(10,11)=300;b(10,25)=70;b(11,26)=10;b(12,27)=10;b(13,28)=62;b(14,29)=110;b(14,30)=30;b(15,31)=20;b(15,24)=20; b=b+b;M=mbx(mbx(b)*n2;%M为充分大的正实数 b=b+(b=0)-eye(n)*M; path=zeros(n); for k=1:n for i=1:n for j=1:n if b(i,j)b(i,k)+b(k,j) b(i,j)=b(i,k)+b(k,j); path(i,j)=k; end end end end b,path将最短路程换算成运输费用的程序:b=b*0.1; for k=1:300 m1(k)=k;endfor k=1:50 m2(k)=300+k; m3(k)=350+k; m4(k)=400+k; m5(k)=450+k;endfor k=1:100 m6(k)=500+k; m7(k)=600+k; m8(k)=700+k; m9(k)=800+k; m0(k)=900+k;endfor i=1:24for j=1:24 switch D(i,j) case 0 a(i,j)=0; case m1 a(i,j)=20; case m2 a(i,j)=23; case m3 a(i,j)=26; case m4 a(i,j)=29; case m5 a(i,j)=32; case m6 a(i,j)=37; case m7 a(i,j)=44; case m8 a(i,j)=50; case m9 a(i,j)=55; case m0 a(i,j)=60; otherwise a(i,j)=ceil(a(i,j)-1000)/100)*5+60; end endend各个钢厂到各个站点的最少运输费用的程序for i=1:7 for k=1:15 for j=8:24 if c(i,k)a(i,j)+b(k,j+8) c(i,k)=a(i,j)+b(k,j+8); end end endendfor i=1:7for k=1:15 if c(i,k)a(i,1)+b(k,33) c(i,k)=a(i,1)+b(k,33); end if c(i,k)a(i,6)+b(k,34) c(i,k)=a(i,6)+b(k,34); end if c(i,k)a(i,7)+b(k,35) c(i,k)=a(i,7)+b(k,35); endendend Lingo程序:model:sets:!七个生产厂c表示是否运输,p表示单位钢管的售价,s表示规定期限内的最大生产能力;sch/1.7/:p,s,c;!十五个站点,left表示某站点向左运输的量,right表示某站点向右运输的量,l表示相邻两个站点的距离;zd/1.15/:left,right,l;!cost表示最小单位运输费用,x表示某厂到某一处站点的运输量;link(sch,zd):cost,n;endsetsdata:s=file(data.txt);cost=file(data.txt);l=file(data.txt);enddata!目标函数;min=sum(link(i,j):n(i,j)*p(i)+n(i,j)*cost(i,j)+0.05*sum(zd(j):left(j)2+left(j)+right(j)2+right(j);!约束条件;!在第一个和第十五个站点分别不能向左和右铺设;left(1)=0;right(15)=0;!c为0-1约束条件;for(sch(i):bin(c(i);!运输量为整数约束;gin(sum(link(i,j):n(i,j);!总生产量为铺设管道的长度;sum(link(i,j):n(i,j)=5171;!若生产最低产量为500单位或者不生产,c(i,j)为1,n(i,j)不小于500,c(i,j)为0,n(i,j)为0;for(sch(i):sum(zd(j):n(i,j)=500*c(i);!各厂最大产量的约束;for(sch(i):sum(zd(j):n(i,j)=500*c(i);!各厂最大产量的约束;for(sch(i):sum(zd(j):n(i,j)=s(i)*c(i);!没有第三个铺设方向的站点;for(zd(j)|j#ne#9 #and# j#ne#11 #and# j#ne#17:middle(j)=0);!相邻两站点间管道的铺设量为站点间距;for(zd(j)|j#lt#15:right(j)+left(j+1)=l(j);!在某站点的运输量为左右铺设量的总和;for(zd(j):sum(sch(i):n(i,j)=left(j)+right(j)+middle(j);l(16)=middle(9)+left(16);l(17)=middle(11)+middle(17);l(18)=left(17)+left(18);l(19)=right(17)+left(19);l(20)=right(19)+left(20);l(21)=right(20)+left(21);enddata.txt中的数据:160,155,155,160,155,150,160800,800,1000,2000,2000,2000,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论