




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.z.承诺书我们仔细阅读了全国大学生数学建模的竞赛规那么〔..〕。我们完全明白,在竞赛开场后参赛队员不能以任何方式〔包括、电子、网上咨询等〕与本队以外的任何人〔包括指导教师〕研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规那么的,如果引用别人的成果或其他公开的资料〔包括网上查到的资料〕,必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们重承诺,严格遵守竞赛规那么,以保证竞赛的公正、公平性。如有违反竞赛规那么的行为,我们愿意承当由此引起的一切后果。我们的参赛〔报名〕队号为:32参赛组别〔研究生或本科〕:本科参赛队员:兰潇根、柳达强、汪锡平钢管订购和运输摘要:本文拟建立一个最合理的钢管运输与铺设方案模型。利用离散数学和数据构造中图论相关知识,应用最短路径的floyd算法和灵敏度分析法建立一个以总费用为目标函数的非线性规划模型,对于钢管订购和运输的总费用,分为三局部:购置钢管费用,由钢厂运送到站点的费用以及由站点开场铺设的费用,对于由钢厂运送到站点的费用,用Floyd算法,求出铁路网和公路网的最短路径,然后转化为最少运输费用,之后利用Lingo软件编程,求解分析,解决问题。关键词:Floyd算法,非线性规划,Lingo-.z.一问题重述要铺设一条的输送天然气的主管道,如题图一所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。为方便计,1km主管道钢管称为1单位钢管。一个钢厂如果承当制造这种钢管,至少需要生产500个单位。钢厂在指定期限能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:1234567800800100020002000200030001601551551601551501601单位钢管的铁路运价如下表:里程(km)≤300301~350351~400401~450451~500运价(万元)2023262932里程(km)501~600601~700701~800801~900901~1000运价(万元)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,2…15〕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且j≠9,11,17)〔j=9,11,17〕3.与之间的钢管:〔j=1,2,…,14〕middle(9)+left(16)=42middle(11)+middle(17)=10left(17)+left(18)=130right(17)+left(19)=190right(19)+left(20)=260right(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]启源、金星"数学模型"〔第三版〕高等教育2003[2]"Floyd最短路算法的MATLAB程序"wenku.baidu./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))*n^2;%M为充分大的正实数a=a+((a==0)-eye(n))*M;path=zeros(n);fork=1:nfori=1:nforj=1:nifa(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))*n^2;%M为充分大的正实数b=b+((b==0)-eye(n))*M;path=zeros(n);fork=1:nfori=1:nforj=1:nifb(i,j)>b(i,k)+b(k,j)b(i,j)=b(i,k)+b(k,j);path(i,j)=k;endendendendb,path将最短路程换算成运输费用的程序:b=b*0.1;fork=1:300m1(k)={k};endfork=1:50m2(k)={300+k};m3(k)={350+k};m4(k)={400+k};m5(k)={450+k};endfork=1:100m6(k)={500+k};m7(k)={600+k};m8(k)={700+k};m9(k)={800+k};m0(k)={900+k};endfori=1:24forj=1:24switchD(i,j)case0a(i,j)=0;casem1a(i,j)=20;casem2a(i,j)=23;casem3a(i,j)=26;casem4a(i,j)=29;casem5a(i,j)=32;casem6a(i,j)=37;casem7a(i,j)=44;casem8a(i,j)=50;casem9a(i,j)=55;casem0a(i,j)=60;otherwisea(i,j)=ceil((a(i,j)-1000)/100)*5+60;endendend各个钢厂到各个站点的最少运输费用的程序fori=1:7fork=1:15forj=8:24ifc(i,k)>a(i,j)+b(k,j+8)c(i,k)=a(i,j)+b(k,j+8);endendendendfori=1:7fork=1:15ifc(i,k)>a(i,1)+b(k,33)c(i,k)=a(i,1)+b(k,33);endifc(i,k)>a(i,6)+b(k,34)c(i,k)=a(i,6)+b(k,34);endifc(i,k)>a(i,7)+b(k,35)c(i,k)=a(i,7)+b(k,35);endendendLingo程序: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))<=s(i)*c(i));!相邻两站点间管道的铺设量为站点间距;for(zd(j)|j#le#14:right(j)+left(j+1)=l(j));!在某站点的运输量为左右铺设量的总和;for(zd(j):sum(sch(i):n(i,j))=left(j)+right(j));p(1)=160;p(2)=155;p(3)=155;p(4)=160;p(5)=155;p(6)=150;p(7)=160;enddata.txt中的数据:800,800,1000,2000,2000,2000,3000~170.7160.3140.298.638.020.53.121.264.292.096.0106.0121.2128.0142.0215.7205.3190.2171.6111.095.586.071.2114.2142.0146.0156.0171.2178.0192.0230.7220.3200.2181.6121.0105.596.086.248.282.086.096.0111.2118.0132.0260.7250.3235.2216.6156.0140.5131.0116.284.262.051.061.076.283.097.0255.7245.3225.2206.6146.0130.5121.0111.279.257.033.051.071.273.087.0265.7255.3235.2216.6156.0140.5131.0121.284.262.051.045.026.211.028.0275.7265.3245.2226.6166.0150.5141.0131.299.277.066.056.038.226.02.0~104,301,750,606,194,205,201,680,480,300,220,210,420,500,0~问题三:用Floyd算法求铁路最短距离和公路最短距离,matlab编程与问题一一样,再调用程序转化成费用,求出最小值。Lingo程序:model:sets:!七个生产厂c表示是否运输,p表示单位钢管的售价,s表示规定期限的最大生产能力;sch/1..7/:p,s,c;!十五个站点,left表示某站点向左运输的量,right表示某站点向右运输的量,middle表示第三个铺设方向,l表示相邻两个站点的距离;zd/1..21/:left,right,middle,l;!cost表示最小单位运输费用,x表示某厂到某一处站点的运输量;link(sch,zd):cost,n;endsetsdata:p=file('data.txt');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)|j#GE#2#AND#j#LE#21:left(j)^2+left(j))+sum(zd(j)|j#LE#14:right(j)^2+right(j))+sum(zd(j)|j#EQ#9#OR#j#EQ#11#OR#j#EQ#17:middle(j)^2+middle(j))+sum(zd(j)|j#EQ#17#OR#j#EQ#19#OR#j#EQ#20:right(j)^2+right(j)));!约束条件;!c为0-1约束条件;for(sch(i):bin(c(i)));!运输量为整数约束;gin(sum(link(i,j):n(i,j)));!假设生产最低产量为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))<=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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购买插画版权合同范本
- 预防医学知到课后答案智慧树章节测试答案2025年春滨州医学院
- 财务数据分析模板
- 制作安装窗户合同范本
- 2025 网点店铺租赁合同 标准版 模板
- 2024年中山市沙溪镇招聘真题
- 2024年榆林市吴堡县县属国有企业招聘真题
- 2025年高层管理人员劳动合同的认定与合同续签策略
- 2024年龙岩市市属事业单位考试真题
- 2024年雷州市市属事业单位考试真题
- 供电所春季安全大检查方案
- 2024年度医院内镜室检查内容分析报告课件
- 毛泽东思想的形成与发展
- 文化集市体验活动策划
- 细菌性痢疾教学演示课件
- 连铸机扇形段对弧测量方法及保证措施
- 村级巡察培训课件
- 七年级历史下册期中复习资料
- 景观生态规划与设计景观生态学与景观生态原理
- 【完整版】中压燃气管道工程施工组织设计
- 酒店西餐厅物品采购清单
评论
0/150
提交评论