钢管的订购和运输问题数学建模论文1_第1页
钢管的订购和运输问题数学建模论文1_第2页
钢管的订购和运输问题数学建模论文1_第3页
钢管的订购和运输问题数学建模论文1_第4页
钢管的订购和运输问题数学建模论文1_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要本文针对钢管订购和运输的这一题目的要求,建立了非线性规划模型。在给定钢管运输方式、价格、厂家生产量上下限、运输路线等条件下,本文利用非线性规划模型和图论最短路算法等基础知识,得到了最优的钢管订购运输方案,使总费用最小,并进行了灵敏度分析。对于问题(1),本文选取钢管订购和运输的最小总费用作为该模型的目标函数,用floyd算法分别求出铁路最短路矩阵和公路最短路矩阵,进而转化为费用,得到两个矩阵的最小费用,将两者合并求得总体最小运输费用矩阵。然后用lingo求解得到最优的钢管订购运输方案,为表1:表1: 每家钢厂厂家的生产量:80080010000124513260总费用= 1278632万元

2、对于问题(2),本文根据题目要求改变钢厂钢管的售价和钢厂钢管的产量上限,然后用lingo求解,观察得到表格,对改变以上两个条件后总运费及方案受到的影响进行了分析,可知钢厂钢厂钢厂单位钢管销售价发生变化时,对方案中总运费的影响最大。钢厂的产量上限的变化对购运费用和总费用影响最大。对于问题(3),由于问(3)与问题(1)很相似,不同之处在于问题(3)中的钢管铺设路线变成了树形,本文仍然采用问题(1)的建模思路,仅对特殊之处进行修改。采用图论中的floyd算法,求得总体最小运输费用矩阵。然后用lingo求解得到最优的钢管订购运输方案,为表2:表2:每家厂家的生产量:80080010000136218

3、640总费用= 1407149 万元。关键词: floyd算法 非线性规划模型 最小总费用 正文1.问题重述要铺设一条的输送天然气的主管道(如图一所示),可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道 (铺设点有公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。为方便计,1km主管道钢管称为1单位钢管。一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:12345678008001000200020002000300016015515

4、51601551501601单位钢管的铁路运价如下表:里程(km)300301350351400401450451500运价(万元)2023262932里程(km)5016006017007018008019009011000运价(万元)37445055601000km以上每增加1至100km运价增加5万元。公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)。钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)(1)请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。(2)请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢

5、厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。(3)如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情形给出一种解决办法,并对图二按(1)的要求给出模型和结果。A13258010103120124270108810706270302020304501043017506061942052016804803002202104205006003060195202720690520170690462160320160110290115011001200A2A3A4A5A6A11A711A11A8A11A911A11A10A11A12A

6、13A14A15S1S2S3S4S5S6S7图一A13258010103120124270108810706270302020304501043017506061942052016804803002202104205006003060195202720690520170690462160320160110290115011001200A19130190260100A2A3A4A5A6A7A8A11A9A10A11A12A13A14A15S1S2S3S4S5S6S7A16A17A18A20(A21)图二2.问题分析对于问题(1),属于非线性规划问题,目标函数包含3部分:订购费用、运输费用、铺设费

7、用,订购费用的求法比较简单,等于在每个钢厂的订购量与每单位钢管的售价的乘积之和,此问题的关键是求运输费用和铺设费用,对于运输费用,本文可以这样考虑,首先仅仅考虑铁路运输方式(此时公路之间的距离视为无穷大),写出邻接矩阵,根据Floyd算法,可求出铁路的任意两点之间的最短路,进而求出最小费用,其次仅仅考虑公路运输方式(此时铁路之间的距离视为无穷大),写出邻接矩阵,根据Floyd算法,可求出公路的任意两点之间的最短路,进而求出最小费用,最后进行合并(关键是写费用矩阵),即可求出运输费用。对于问题(2),属于非线性规划问题中的灵敏度分析,要求钢厂钢管的售价和产量上限的变化对购运计划、总费用的影响,可

8、以在问题(1)模型的基础上,分别将和改变一个相同的单位,并计算出总费用,即可看出哪个钢厂钢管的售价和产量上限的变化总费用的影响钢最大,用同样的方法便可得出哪个钢厂钢管的售价和产量上限的变化对购运计划的影响最大。对于问题(3),由于问(3)与问题(1)很相似,本文仍然采用问题(1)的建模思路,仅对特殊之处进行修改,对由钢管厂家运往铺设站点的线路选择模型保留,对由站点点向铺设全程运输模型进行改变,将从站点向两边运输改为在某些站点处向三个方向运输,以满足问题(3)的要求。3.模型假设1)设1km钢管为1单位钢管。2)订购单价与订购数量、订购时间无关。3)公路距离不足整公里部分按整公里计算。4)将钢管

9、直接运输到15个暂存钢管的站点。5)运输单位可提供足够的火车与汽车运输钢管。6)只考虑订购费用、运输费用、铺设费用,不考虑装卸等其他费用。7)路中铺设的钢管只允许由其相邻站点提供。8)假设沿管道或者原来有公路,或者建有施工公路。4.符号说明:表示生产这种主管道钢管的钢厂(=1,2.7);:表示钢厂在指定期限内能生产该钢管的最大数量(=1,2.7);:表示1单位钢管的出厂销价(=1,2.7);:表示暂存钢管的站点(=1,2.15);:表示钢厂的生产量,即在每个钢厂的订购量(=1,2.7);:表示从钢厂运到站点的钢管量(=1,2.7),(=1,2.15);:表示管道段需要铺设的钢管量(=1,2.1

10、4);:表示从站点向左铺设的钢管量(=2.15);:表示从站点向右铺设的钢管量(=1,2.14);:表示总费用;:表示把单位钢管从钢厂运到站点的购运价格;:表示运到站点的钢管向第三个方向铺设的数目。5.模型的建立于求解5.1问题(1)模型的建立于求解对于问题(1),根据题中所给数据,本文可以先计算出从钢厂到站点的最小订购费用,然后再计算出从钢厂到站点的最小运输费用,再求出最小铺设费用,最后根据最小订购费用、最小运输费用、最小铺设费用即可求解最小总费用,最小总费用=最小订购费用+最小运输费用 +最小铺设费用。)单位钢管的订购及运输费用矩阵的计算模型计算铁路任意两点间的最小运输费用给各顶点编号并构

11、造铁路距离赋权图,写出邻接矩阵a=,其中 (表示两点之间的铁路路程)然后用Floyd 算法来计算任意两点间的最短铁路距离值,再依据题中的铁路运价表,最终计算出铁路任意两点间的最小运输费用(其中,路径值无穷大时的费用也为无穷大),得到铁路单位最小运输费用矩阵,为方便描述,以下用符号aa来代替。计算公路任意两点间的最小运输费用构造公路距离赋权图,写出邻接矩阵b=,其中 (表示两点之间的公路路程)然后用Floyd 算法来计算任意两点间的最短公路距离值,再依据题中的“公路运输费用为1 单位钢管每公里0.1 万元(不足整公里部分按整公里计算)”,最终计算出公路任意两点间的最小运输费用(其中,路径值无穷大

12、时的费用也为无穷大),得到公路单位最小运输费用矩阵,为方便描述,以下用符号bb来代替。计算任意两点间的最小运输费用由于可以用铁路、公路交叉运送,所以任意相邻两点间的最小运输费用为铁路、公路两者最小运输费用的最小值。构造铁路、公路的混合费用赋权图,应用Floyd 算法,写出Matlab程序,(见附录程序3)将铁路单位最小运输费用矩阵aa与公路单位最小运输费用矩阵bb进行合并,即,于是得到单位最小运输费用矩阵c。然后取出本文需要的单位钢管的最小运输费用,即钢厂(=1,2.7)运送到站点(=1,2.15)的最小运输费用,并作成的表格。在的表格的相应位置加上对应的单位钢管的出厂售价, 便得到单位钢管从

13、钢厂(=1,2.7)到站点(=1,2.15)的购买和运送最小费用,作成表格,下表3:表3:单位钢管从钢厂到站点的购运的最小费用最小费用330.7370.7385.7420.7410.7415.7435.7320.3360.3375.3410.3400.3405.3425.3300.2345.2355.2395.2380.2385.2405.2258.6326.6336.6376.6361.6366.6386.6198.0266.0276.0316.0301.0306.0326.0180.5250.5260.5300.5285.5290.5310.5163.1241.0251.0291.0276

14、.0281.0301.0181.2226.2241.2276.2266.2271.2291.2224.2269.2203.2244.2234.2234.2259.2252.0297.0237.0222.0212.0212.0236.0256.0301.0241.0211.0188.0201.0226.0266.0311.0251.0221.0206.0195.0216.0281.2326.2266.2236.2226.2176.2198.2288.0333.0273.0243.0228.0161.0186.0302.0347.0287.0257.0242.0178.0162.0)总费用的数学规

15、划模型由前面的问题分析可以知道目标函数=订购费用+运输费用+铺设费用订购费用+运输费用为:铺设费用为:故目标函数应该为:约束条件应包括:钢厂产量约束:运量约束:运量与铺量之间的约束:变量取值范围约束:故该优化模型为:编写LINGO程序后(见附录中的程序 1)可得出结果(见后面的模型的结果和分析)。5.2问题(2)模型的建立于求解对于问题(2),要求钢厂钢管的售价和产量上限的变化对总费用f、购运计划的影响,可以在问题(1)模型的基础上,分别将和改变一个相同的单位(此题均增加1),并在模型中计算出总费用(=1,2.7),与未改变的总费用(=1,2.7)进行比较,求出差值(=1,2.7),最后将(=

16、1,2.7)相比较,即可得出哪个钢厂钢管的售价和产量上限的变化总费用的影响钢最大,用同样的方法便可得出哪个钢厂钢管的售价和产量上限的变化对购运计划的影响最大。改变售价对总费用(=1,2.7)的影响 在题目中已知的的值的基础上,分别对的值增加10,其它的值不变,代入问题(1)中的规划模型,同样用LINGO软件求解,可以得到对应的总费用的值,并求出差值,具体的结果如下表4:表4: 的值增加10对总费用的影响钢厂原总费用改变后的总费用总费用之间的差值1278632128663280001278632128663280001278632128663280001278632127863201278632

17、12863747742127863212865117879127863212786320从上表比较总差值的大小可知,钢厂钢厂钢厂变化对购运费用和总费用影响最大。改变产量上限对总费用的影响 在题目中已知的的值的基础上,分别对的一个值增加100其它的值不变,代入问题(1)中的规划模型,同样用LINGO软件求解,可以得到对应的总费用的值,并求出差值。具体的结果如下表5: 表5: 的值增加100对总费用的影响钢厂原总费用改变后的总费用总费用之间的差值12786321268332103001278632127513235001278632127613225001278632127863201278632

18、12786320127863212786320127863212786320从上表比较总差值的大小可知,钢厂的产量上限的变化对购运费用和总费用影响最大。5.3问题(3)模型的建立于求解对于问题(3),本文仍然采取问题一的建立模型的思路,对由钢管厂家运往铺设站点的线路选择模型保留,对由站点点向铺设全程运输模型进行改变,将从站点向两边运输改为在某些站点处向三个方向运输,以满足问题三的要求。分析题目可以知道目标函数应该为:运输费用:订购费用:铺设费用: 故目标函数为: 约束条件应包括:钢厂产量约束: 运量约束: 运量与铺量之间的约束: 变量取值范围约束: 故该模型如下:编写LINGO程序后(见附录中

19、的程序4 )可得出结果(见后面的模型的结果和分析)。6.模型的结果与分析6.1模型的结果6.1.1问题1)模型的结果最优钢管订购运输方案如表5:表5:订购和调运方案S1S2S3S4S5S6S7订购量80080010000124513260A10000000A2017900000A30184.8501116.930206.211100A4171.658182.89042137.0091076.4423500A5162.841953.2595282.052070317.346500A6200000000A7265.5000000A8030000000A9006640000A100000229.59

20、32121.40600A11000041500A120000086014000006210主管道钢管的订购和运输计划,使总费用最小,为 1278632万元。6.1.2问题2)模型的结果通过分析表4的数据,可知钢厂钢厂钢厂变化对购运费用和总费用影响最大。通过分析表5的数据,可知钢厂的产量上限的变化对购运费用和总费用影响最大。6.1.3问题3)模型的结果最优钢管订购运输方案如表6:表6:订购和调运方案S1S2S3S4S5S6S7订购量80080010000143918640A10000000A2017900000A30228.743691.915

21、620187.350700A4261.641655.02526116.8912034.4419700A572.858337.2410985.193170420.207300A6200000000A7265.5000000A8030000000A9006640000A100000256.637594.362460A11000037500A120000011601400000571016004200001800000650A19000001000A20000002600A21000001000该主管道钢管的订购和运输计划

22、,使总费用最小,为1407149 万元6.2模型的分析6.2.1问题1)模型的分析本文在解决问题(1)时,把铁路和公路分开计算,最后进行合并,简化了计算,并且在求解钢厂到各铺设站点的最少运费时,采用MATLAB编程,而在求解最少费用时,用LINGO软件得到了最优的方案。通过采用多种软件使得问题的求解变得简单了。 6.2.2问题2)模型的分析 本文在解决问题(2)时,本文通过改变各钢厂的销价和最大生产量,得到新的方案,再将得到的方案与问题一的结果进行比较就可得出哪个钢厂对购运计划和总费用的影响。该方法既简单又可行。6.2.3问题3)模型的分析本文在解决问题(3)时,仍然采取了问题(1)的建立模型

23、的思路,对由钢管厂家运往铺设站点的线路选择模型保留,对由站点点向铺设全程运输模型进行改变,将从站点向两边运输改为在某些站点处向三个方向运输,满足了问题(3)的要求。该方法可行。7.模型的检验与推广7.1模型的检验:1)模型的稳定性,对于该模型,由于该题目中提供的数据比较少,所以当本文改变钢管的售价和产量上限时对总费用和购运计划有不同程度的影响,所求结果有一定的误差,与理论值相差不大,故该模型较稳定。2)模型的正确性本文建的模型的基本符合题目要求,且计算结果正确,所求得的最小费用与理论值比较接近。7.2模型的推广:在解决本题时,本文主要应用了图论中的邻接矩阵,及floyd算法解决了最短路径问题。

24、在工作、生活中,本文经常会遇到求最短路径的问题,所以本文可以对该模型稍加修改,使之符合问题的条件,进而进行求解。8.参考文献1 姜启源,数学模型(第三版),高等教育出版社,2003年8月。2 曾建军,matlab语言与数学建模,安徽大学出版社,2005年。附录:LINGO程序程序1(问题(1)model:!7发点15收点问题;sets:warehouses/w1.w7/:x,t,s;vendors/a1.a15/:z,y,n;!t(i)=1表示生产,t(i)=0表示不生产;links(warehouses,vendors): c,cost;endsetsmin=sum(links(i,j):c

25、*cost)+sum (vendors(j):0.1*(1+z(j)*z(j)/2+(1+y(j)*y(j)/2);for(warehouses(i):500*t(i)=x(i)*t(i);x(i)*t(i)=s(i)*t(i);!for(warehouses(i):sum();for(warehouses(i):bin (t(i);for(warehouses(i):sum(vendors(j):c(i,j)=500*t(i);for(vendors(j):sum (warehouses(i):c(i,j)=y(j)+z(j);for(vendors(j)|j #ne# 15:n(j)=y(

26、j+1)+z(j);y(1)=0;z(15)=0; gin(sum(links(i,j):c(i,j);!for(warehouses(i): sum (vendors(j):c(i,j)=y(j)+z(j);data: s=800 800 1000 2000 2000 2000 3000; n=104 301 750 606 194 205 201 680 480 300 220 210 420 500,; cost=330.7 320.3 300.2 258.6 198 180.5 163.1 181.2 224.2 252 256 266 281.2 288 302 370.7 360.

27、3 345.2 326.6 266 250.5 241 226.2 269.2 297 301 311 326.2 333 347 385.7 375.3 355.2 336.6 276 260.5 251 241.2 203.2 237 241 251 266.2 237 287 420.7 410.3 395.2 376.6 316 300.5 291 276.2 244.2 222 211 221 236.2 243 257 410.7 400.3 380.2 361.6 301 285.5 276 266.2 234.2 212 188 206 226.2 228 242 415.7

28、405.3 385.2 366.6 306 290.5 281 271.2 234.2 212 201 195 176.2 161 178 435.7 425.3 405.2 386.6 326 310.5 301 291.2 259.2 236 226 216 198.2 186 162;enddataend程序2(问题(3)程序)model: sets: warehouses/w1.w7/:p,s,t; vendors/a1.a21/:y,z,l,n; links(warehouses,vendors):c,cost; endsets data: p=160 155 155160 155

29、150 160; s=800 800 1000 2000 2000 2000 3000; n=104,301,750,606,194,205,201,680,480,300,220,210,420,500,42,10,130,190,260,100; cost=170.7, 160.3, 140.2, 98.6, 38, 20.5, 3.1, 21.2, 64.2, 92, 96, 106, 121.2, 128, 142, 60, 95, 100, 105, 115, 125215.7, 205.3, 190.2, 171.6, 111, 95.5, 86, 71.2, 114.2, 142

30、, 146, 156, 171.2, 178, 192, 110, 145, 150, 155, 165, 175230.7, 220.3, 200.2, 181.6, 121, 105.5, 96, 86.2, 48.2, 82, 86, 96, 111.2, 118, 132, 44, 85, 90, 95, 105, 115260.7, 250.3, 235.2, 216.6, 156, 140.5, 131, 116.2, 84.2, 62, 51, 61, 76.2, 83, 97, 80, 50, 55, 60, 70, 80255.7, 245.3, 225.2, 206.6,

31、146, 130.5, 121, 111.2, 79.2, 57, 33, 51, 71.2, 73, 87, 75, 32, 45, 50, 65, 75265.7, 255.3, 235.2, 216.6,156, 140.5, 131, 121.2, 84.2, 62, 51, 37, 16.2, 11, 28, 80, 50, 37, 36, 10, 0275.7, 265.3, 245.2, 226.6, 166, 150.5, 141, 131.2, 99.2, 77, 64, 56, 38.2, 26, 2, 95, 63, 50, 55, 32, 26; enddata min

32、=sum(links(i,j):(p(i)+cost(i,j)*c(i,j)+0.05*(sum(vendors(j)|j#GE#2 #AND# j#LE#21 :y(j)2+y(j)+sum(vendors(j)|j#LE#14 :z(j)2+z(j)+sum(vendors(j)|j#EQ#9 #OR# j#EQ#11 #OR# j#EQ#17 :l(j)2+l(j)+sum(vendors(j)|j#EQ#17 #OR# j#EQ#19 #OR# j#EQ#20 :z(j)2+z(j); for(warehouses(i):sum(vendors(j):c(i,j)=500*t(i);

33、for(warehouses(i):sum(vendors(j):c(i,j)a(i,k)+a(k,j)a(i,j)=a(i,k)+a(k,j);path(i,j)=k;endendendenda;path;for i=1:39 for j=1:39if a(i,j)=0 a(i,j)=0;else if a(i,j)=300 a(i,j)=20; else if a(i,j)=350 a(i,j)=23; else if a(i,j)=400 a(i,j)=26; else if a(i,j)=450 a(i,j)=29; else if a(i,j)=500 a(i,j)=32; else

34、 if a(i,j)=600 a(i,j)=37; else if a(i,j)=700 a(i,j)=44; else if a(i,j)=800 a(i,j)=50; else if a(i,j)=900 a(i,j)=55; else if a(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;c=zeros(39);for i=1:39 for j=1:39 if a(i,j)b(i,j) c(i,j)=b(i,j); else c(i,j)=a(i,j); end endendc;

35、path=zeros(39);for k=1:39for i=1:39for j=1:39if c(i,j)c(i,k)+c(k,j)c(i,j)=c(i,k)+c(k,j);path(i,j)=k;endendendendc程序4(问题(3)%铁路最小费用clc;clear;a=zeros(39);a(1,2:39)=inf;a(2,3:39)=inf;a(3,4:39)=inf;a(4,5:39)=inf;a(5,6:39)=inf;a(6,7:39)=inf;a(7,8:39)=inf;a(8,9:39)=inf;a(9,10:39)=inf;a(10,11:39)=inf;a(11,1

36、2:39)=inf;a(12,13:39)=inf;a(13,14:39)=inf;a(14,15:39)=inf;a(15,16:39)=inf;a(16,17:27)=inf;a(16,28)=450;a(16,29:39)=inf;a(17,18:27)=inf;a(17,28)=80;a(17,29:39)=inf;a(18,19)=306;a(18,20:39)=inf;a(19,20)=195;a(19,21:39)=inf;a(20,21)=20;a(20,22:39)=inf;a(21,22:29)=inf;a(21,30)=202;a(21,31:39)=inf;a(22,23)=520;a(22,24:29)=inf;a(22,30)=720;a(22,38)=690;a(22,31:37)=inf;a(22,39)=inf;a(23,24:30)=inf;a(23,31)=170;a(23,3

温馨提示

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

评论

0/150

提交评论