钢管订购和运输问题一代码和结果

合集下载

19569-数学建模-钢管订购和运输 (1)

19569-数学建模-钢管订购和运输 (1)

钢管订购和运输张伟 丁林阁 邓小涛 指导教师:数模组 海军航空工程学院摘要 本模型研究了管道铺设过程中钢管的订购和运输问题,它通过图论和非线性规划的知识建立。

模型使总费用达到最小,很好地解决了向哪个钢厂定货,定货多少,如何运输的问题,并且可以推广到更一般的网络。

同时针对模型中涉及的变量多、求解复杂这一问题,我们对模型进行了适当的简化,大大减少了变量的个数,从而减少了计算量。

一、问题重述要铺设一条1521A A A →→→ 的天然气主管道,可以生产这种主管道钢管的钢厂有721,,S S S 七家。

钢厂的位置,管道的铺设路线,以及从钢厂到铺设地的运输网络(运输网络包括沿管道的公路)均已知。

每个钢厂的钢管价格及其生产能力不全一样,且一个钢厂若要生产这种钢管,至少需要生产500个单位(1千米钢管记为1个单位)。

铁路的运价和公路的运价不一样。

要求在这种情况下,(1)制定一个钢管的订购和运输计划,使总费用最小,并给出总费用。

(2)分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,给出相应的数字结果。

(3)如果铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,就这种更一般的情形给出一种解决办法,并对图二按(1)的要求给出模型和结果。

二、问题的假设在问题所给条件成立的前提下,我们进一步作如下假设: 1. 假设公路运输费用不是整公里的按整公里计算是合理的。

2. 假设沿管道的公路(施工公路)运输费用也为每公里0.1万元(不足整公里部分按整公里计算)。

3. 假设不考虑铁路、公路及施工公路的运输能力限制。

4. 假设运输费用为单程运输的费用,即从出发点到目的地的单程费用,不考虑空车返回的费用。

5. 假设运输费用已包含装卸费用。

关于假设的一点说明:根据上述假设我们认为在铺设管道的过程中每隔一公里,卸下一单位钢管供工人铺设是合理的。

三、符号约定i S :生产主管道钢管的钢厂 ;j A :管道节点 ;1,+j j l :从j A 到1+j A 铺设钢管的路段长度(单位:公里,14,...,1=j ); i s : 钢厂i S 在指定期限内生产钢管的最大数量(单位:单位钢管); i P : 钢厂i S 单位钢管的出厂价格(单位:万元); ij x :从 钢厂i S 运到j A 的钢管数量(单位:单位钢管); ij c :表示1单位钢管从 钢厂i S 到j A 的最小费用(单位:万元); j X :运到j A 的钢管总数(单位:单位钢管); j L : 从j A 往左铺设的钢管总数(单位:单位钢管),j L 为j X 的一部分; j R : 从j A 往右铺设的钢管总数(单位:单位钢管),这里j j j L X R -=; 其中 15,...,1;7,...,1==j i 四、问题分析本问题分两部分:一部分是图论中的最短路径的问题:确定1单位钢管从 钢厂i S 到j A 的最小费用;另一部分是非线性规划问题:求总的最小费用。

钢管订购与运输问题一的数学模型与求解

钢管订购与运输问题一的数学模型与求解

钢管订购与运输问题一的数学模型与求解
钢管订购与运输问题是一种组合优化问题,它涉及到钢管的订购和运输,旨在找到最佳的订购和运输方案,以最小的成本获得最大的收益。

这个问题通常可以用数学模型来表示。

设 n 个工地需要订购 m 根钢管,钢管订购和运输费用分别为
c1(订购费用)、c2(运输费用),订购钢管的最早时间 t0 为早订购时间,最迟时间为 t1 为晚订购时间,运输时间不计费用。

则钢管订购与运输问题的数学模型可以表示为:
minimize Σi=1~n c1(t1-t0) + Σj=i+1~n c2(t2-t1)
subject to:
t1≤t0
t2≥t1
t1+t2≤t0+30
x1=1, x2=1, ..., xnm=1
其中,x1、x2、...、xnm 是订购钢管的数量,1 表示订购,0 表示不订购。

通过这个数学模型,我们可以制定出钢管订购与运输问题的求解方法,以找到最佳的订购和运输方案。

在实际问题中,我们通常需要对求解结果进行评估和优化,以便找到更加优秀的方案。

因此,钢管订购与运输问题的数学模型和求解方法只是问题的第一步,实际应用中还需要进行进一步的分析和优化。

数学建模 钢管订购和运输

数学建模 钢管订购和运输

钢管的订购和运输优化模型摘要本文建立的多元非线性优化模型。

问题一在保证天然气管道铺设可以顺利实施的情况下,给出了钢管的订购与运输总费用最小的方案。

在求钢管由钢厂运输到站点的费用和铺设钢管时产生的运输费,根据图一,我们通过深度优先遍历的方法对整个图一进行路径搜索,然后根据每条搜索到的路径上的铁路和公路上的不同权重,找到了各个钢厂到各个天然气管道上的站点的最佳路径。

对于整个优化过程我们给出了相关的算法,并用matlab 软件编程,经过一系列计算之后,得出了最优的订购与运输方案。

对于问题 1,我们求得的最优解为(具体方案见对于问题2我们经过计算比较得出:6S 钢管销价的变化对购运计划和总费用影响最大。

1S 的生产上限的变化购运计划和总费用影响最大。

对于问题 3,当天然气管道呈现的是一个树状图的时候,我们得到的最优解一、问题重述要铺设一条1521A A A →→→ 的输送天然气的主管道, 如图一所示(见下页)。

经筛选后可以生产这种主管道钢管的钢厂有721,,S S S 。

图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。

为方便计,1km 主管道钢管称为1单位钢管。

一个钢厂如果承担制造这种钢管,至少需要生产500个单位。

钢厂i S 在指定期限内能生产该钢管的最大数量为i s 个单位,钢管出厂销价1单位钢管为i p 万1公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)。

钢管可由铁路、公路运往铺设地点(不只是运到点1521,,,A A A ,而是管道全线)。

(1)请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。

(2)请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。

钢管订购笔记

钢管订购笔记

第三次培训钢管订购与运输问题要求:铺设天然气管道制造钢管一个钢厂至少生产500单位钢管(1单位钢管 == 1km 钢管)钢厂记为Si ,钢厂i S 在指定期限内能生产该钢管的最大数量为 i s 个单位,钢管出厂销价1单位钢管为i p 万元钢管运输(公路、铁路)铁路运输1000km 以上每增加1至100km 运价增加5万元。

公路运输公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)。

钢管可由铁路、公路运往铺设地点(不只是运到点1521,,,A A A ,而是管道全线连续问题离散化)。

图示图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。

待求解问题问题可能需要的知识:1.需要将管道送到各自位置处-----连续的问题离散化2.优化问题-----查看《数学模型》3.Flody算法(最短路问题)----在matlab或lingo中实现或调用相关算法4.Lingo ---- 解决优化问题5.动态规划(多阶段决策过程的最优化问题)(背包问题、最短路径问题)求解思路:1.路程转化为运输单价2.求钢厂到火车站点的最小花费路(dijkstra)3.约束条件:钢厂生产力有限钢厂分配给各火车站的量的比例、量可知总运费+订购费最少Lingo使用说明注释----- 感叹号!(结尾加分号)每条语句结尾要加分号Lingo sets(集)的概念Lingo把相联系的对象聚合为集sets集分为原始集和派生集语法首先,要先定义集集的名字/成员名字/:属性名字;成员间、属性间用逗号或空格链接sets:开始endsets结束例:sets:students/John Jill, Rose Mike/: sex, age; Endsets隐式罗列成员setname/member1..memberN/: attribute_list; 集成员设置数据data:!代码enddata定义派生集setname(parent_set_list)[/member_list/][:attribute_list]; Lingo参考代码Lingo中使用函数Lingo中函数一律用@开头@abs(x);@sin(x); @cos(x); @tan(x);@exp(x); @log(x);@sign(x); x < 0 返回-1 否则返回1@floor(x); 返回整数部分@smax(x1,x2,..,xn); 返回x1,x2,..,xn中的最大值@smin(x1,x2,..,xn); 返回x1,x2,..,xn中的最小值@bin(x); 限制x为0或1@bnd(L,x,U); L<=x<=U@free(x); 取消对变量x的默认下界为0的限制@gin(x); 限制x为整数@if(判断条件,结果为真时执行语句,结果为假时执行语句);注:默认情况下,lingo的变量都是非负的,用@free(x)函数取消限制Lingo逻辑运算符#not# !#eq# ==#ne# !=#gt# > greater than#ge# >= greater&equal#lt# < less than#le# <= less&equal#and# &&#or# ||优先级模型求解状态@status(); 返回LINGO求解模型结束后的状态:0 Global Optimum(全局最优)1 Infeasible(不可行)2 Unbounded(无界)3 Undetermined(不确定)4 Feasible(可行)5 Infeasible or Unbounded(通常需要关闭“预处理”选项后重新求解模型,以确定模型究竟是不可行还是无界)6 Local Optimum(局部最优)7 Locally Infeasible(局部不可行,尽管可行解可能存在,但是LINGO并没有找到一个)8 Cutoff(目标函数的截断值被达到)9 Numeric Error(求解器因在某约束中遇到无定义的算术运算而停止)通常,如果返回值不是0、4或6时,那么解将不可信,几乎不能用。

钢管的订购和运输模型程序

钢管的订购和运输模型程序

模型一的matlab程序!A为邻接矩阵;T,T2分别为铁路的矩阵和铁路的费用矩阵;R,R2分别为公路的矩阵和公路的费用矩阵;w,Q为总费用矩阵;cost为S到A的各项费用矩阵A=ones(39,39);for i=1:39;for j=1:39;if i==j A(i,j)=0;else A(i,j)=inf;endendendA(8,10)=450;A(9,10)=80;A(10,11)=1150;A(11,16)=1100;A(12,13)=306;A(13,14)=195;A(1,14)=20;A(1,16)=202;A(2,16)=1200;A(16,17)=720;A(3,17)=690;A(17,18)=520;A(18,19)=170;A(4,19)=690;A(19,20)=160;A(5,15)=462;A(15,19)=88;A(20,21)=70;A(20,22)=320;A(22,23)=160;A(6,23)=70;A(23,24)=290;A(7,24)=30;for j=1:39;for i=1:j-1;A(j,i)=A(i,j);endendT=A;m=1;while m<=39for i=1:39for j=1:39if T(i,j)>T(i,m)+T(m,j);T(i,j)=T(i,m)+T(m,j);endendendm=m+1;endT2=ones(39,39);for i=1:39;for j=1:39;if T(i,j)==0 T2(i,j)=T(i,j);elseif T(i,j)>0&T(i,j)<=300 T2(i,j)=20;elseif T(i,j)>300&T(i,j)<=350 T2(i,j)=23;elseif T(i,j)>350&T(i,j)<=400 T2(i,j)=26;elseif T(i,j)>400&T(i,j)<=450 T2(i,j)=29;elseif T(i,j)>450&T(i,j)<=500 T2(i,j)=32;elseif T(i,j)>500&T(i,j)<=600 T2(i,j)=37;elseif T(i,j)>600&T(i,j)<=700 T2(i,j)=44;elseif T(i,j)>700&T(i,j)<=800 T2(i,j)=50;elseif T(i,j)>800&T(i,j)<=900 T2(i,j)=55;elseif T(i,j)>900&T(i,j)<=1000 T2(i,j)=60;else T2(i,j)=60+ceil((T(i,j)-1000)/100)*5;endendendB=ones(39,39);for i=1:39;for j=1:39;if i==j B(i,j)=0;else B(i,j)=inf;endendendB(8,26)=3;B(9,27)=2;B(11,28)=600;B(12,29)=10;B(13,30)=5;B(14,31)=10;B(1,31)=31;B(16,32)=12;B(17,33)=42;B(18,34)=70;B(15,35)=10;B(21,36)=10;B(22,37)=62;B(6,38)=110;B(23,38)=30;B(24,39)=20;B(7,39)=20;B(25,26)=104;B(26,27)=301;B(27,28)=750;B(28,29)=606;B(29,30)=194; B(30,31)=205;B(31,32)=201;B(32,33)=680;B(33,34)=480;B(34,35)=300;B(35,36)=220;B(36,37)=210;B(37,38)=420;B(38,39)=500; for j=1:39;for i=1:j-1;B(j,i)=B(i,j);endendR=B;g=1;while g<=39;for i=1:39;for j=1:39;if R(i,j)>R(i,g)+R(g,j);R(i,j)=R(i,g)+R(g,j);endendendg=g+1;endR2=0.1.*R;w=ones(39,39);for i=1:39;for j=1:39;if T2(i,j)>R2(i,j) w(i,j)=R2(i,j);else w(i,j)=T2(i,j);endendendf=1;while f<=39for i=1:39for j=1:39if w(i,j)>w(i,f)+w(f,j)w(i,j)=w(i,f)+w(f,j);endendendf=f+1;endQ=ones(39,39);for i=1:7for j=25:39cost(i,j)=w(i,j)endend模型一的matlab结果cost =Columns 25 through 39170.7000 160.3000 140.2000 98.6000 38.0000 20.5000 3.1000 21.2000 64.2000 92.0000 96.0000 106.0000 121.2000 128.0000 142.0000215.7000 205.3000 190.2000 171.6000 111.0000 95.5000 86.0000 71.2000 114.2000 142.0000 146.0000 156.0000 171.2000 178.0000 192.0000230.7000 220.3000 200.2000 181.6000 121.0000 105.5000 96.0000 86.2000 48.2000 82.0000 86.0000 96.0000 111.2000 118.0000 132.0000260.7000 250.3000 235.2000 216.6000 156.0000 140.5000 131.0000 116.2000 84.2000 62.0000 51.0000 61.0000 76.2000 83.0000 97.0000255.7000 245.3000 225.2000 206.6000 146.0000 130.5000 121.0000 111.2000 79.2000 57.0000 33.0000 51.0000 71.2000 73.0000 87.0000265.7000 255.3000 235.2000 216.6000 156.0000 140.5000 131.0000 121.2000 84.2000 62.0000 51.0000 45.0000 26.2000 11.0000 28.0000275.7000 265.3000 245.2000 226.6000 166.0000 150.5000 141.0000 131.2000 99.2000 76.0000 66.0000 56.0000 38.2000 26.0000 2.0000模型一的lingo程序model:!钢管购买与运输铺优化设问;sets:!cj表示厂家;md表示目的地;cj/1..7/:p,s,t;md/1..15/:y,z,D;link(cj,md):cost,x;endsets!这里是数据;data:s=800 800 1000 2000 2000 2000 3000;D=104,301,750,606,194,205,201,680,480,300,220,210,420,500,0;p=160,155,155,160,155,150,160;cost=170.7 160.3 140.2 98.6 38.0 20.5 3.1 21.2 64.2 92.0 96.0 106.0 121.2 128.0 142.0215.7 205.3 190.2 171.6 111.0 95.5 86.0 71.2 114.2 142.0 146.0 156.0 171.2 178.0 192.0230.7 220.3 200.2 181.6 121.0 105.5 96.0 86.2 48.2 82.0 86.0 96.0 111.2 118.0 132.0260.7 250.3 235.2 216.6 156.0 140.5 131.0 116.2 84.2 62.0 51.0 61.0 76.2 83.0 97.0255.7 245.3 225.2 206.6 146.0 130.5 121.0 111.2 79.2 57.0 33.0 51.0 71.2 73.0 87.0265.7 255.3 235.2 216.6 156.0 140.5 131.0 121.2 84.2 62.0 51.0 45.0 26.2 11.0 28.0275.7 265.3 245.2 226.6 166.0 150.5 141.0 131.2 99.2 77.0 66.0 56.0 38.2 26.0 2.0;enddata!目标函数;min=w;w=@sum(link(i,j):(p(i)+cost(i,j))*x(i,j))+0.1/2*@sum(md(j):y(j)^2+y(j)+z(j)^2+z(j));!约束条件;@for(cj(i):@sum(md(j):x(i,j))>=500*t(i);s(i)*t(i)>=@sum(md(j):x(i,j));@bin(t(i)));@for(md(j):@sum(cj(i):x(i,j))=y(j)+z(j));@for(md(j)|j#ne#15:D(j)=y(j)+z(j+1));z(15)=0;y(1)=0;@gin(@sum(link(i,j):x(i,j)));end铺设方案Variable Value Reduced CostY( 1) 0.000000 0.000000Y( 2) 75.00000 0.000000Y( 3) 282.0000 0.000000Y( 4) 0.000000 0.000000Y( 5) 9.500000 0.000000Y( 6) 15.50000 0.000000Y( 7) 76.00000 0.000000Y( 8) 175.0000 0.000000Y( 9) 159.0000 0.000000Y( 10) 30.00000 0.000000Y( 11) 145.0000 0.000000Y( 12) 11.00000 0.000000Y( 13) 134.0000 0.000000Y( 14) 500.0000 0.000000Y( 15) 0.000000 141.0500Z( 1) 0.000000 405.7500Z( 2) 104.0000 0.000000Z( 3) 226.0000 0.000000Z( 4) 468.0000 0.000000Z( 5) 606.0000 0.000000Z( 6) 184.5000 0.000000Z( 7) 189.5000 0.000000Z( 8) 125.0000 0.000000Z( 9) 505.0000 0.000000Z( 10) 321.0000 0.000000Z( 11) 270.0000 0.000000Z( 12) 75.00000 0.000000Z( 13) 199.0000 0.000000Z( 14) 286.0000 0.000000Z( 15) 0.000000 0.000000 厂家分配方案X( 1, 1) 0.000000 28.00000X( 1, 2) 0.000000 28.00000X( 1, 3) 0.000000 23.00000X( 1, 4) 250.4441 0.000000X( 1, 5) 84.05588 0.000000X( 1, 7) 265.5000 0.000000 X( 1, 8) 0.000000 23.00000 X( 1, 9) 0.000000 99.00000 X( 1, 10) 0.000000 143.0000 X( 1, 11) 0.000000 171.0000 X( 1, 12) 0.000000 174.0000 X( 1, 13) 0.000000 208.0000 X( 1, 14) 0.000000 230.0000 X( 1, 15) 0.000000 264.0000 X( 2, 1) 0.000000 0.000000 X( 2, 2) 179.0000 0.000000 X( 2, 3) 321.0000 0.000000 X( 2, 4) 0.000000 0.000000 X( 2, 5) 0.000000 0.000000 X( 2, 6) 0.000000 2.000000 X( 2, 7) 0.000000 9.900000 X( 2, 8) 300.0000 0.000000 X( 2, 9) 0.000000 76.00000 X( 2, 10) 0.000000 120.0000 X( 2, 11) 0.000000 148.0000 X( 2, 12) 0.000000 151.0000X( 2, 14) 0.000000 207.0000 X( 2, 15) 0.000000 241.0000 X( 3, 1) 0.000000 5.000000 X( 3, 2) 0.000000 5.000000 X( 3, 3) 147.2817 0.000000 X( 3, 4) 119.7061 0.000000 X( 3, 5) 69.01229 0.000000 X( 3, 6) 0.000000 2.000000 X( 3, 7) 0.000000 9.900000 X( 3, 8) 0.000000 5.000000 X( 3, 9) 664.0000 0.000000 X( 3, 10) 0.000000 50.00000 X( 3, 11) 0.000000 78.00000 X( 3, 12) 0.000000 81.00000 X( 3, 13) 0.000000 115.0000 X( 3, 14) 0.000000 137.0000 X( 3, 15) 0.000000 171.0000 X( 4, 1) 0.000000 5.000000 X( 4, 2) 0.000000 5.000000 X( 4, 3) 0.000000 5.000000 X( 4, 4) 0.000000 5.000000X( 4, 6) 0.000000 7.000000 X( 4, 7) 0.000000 14.90000 X( 4, 8) 0.000000 5.000000 X( 4, 9) 0.000000 6.000000 X( 4, 10) 0.000000 0.000000 X( 4, 11) 0.000000 13.00000 X( 4, 12) 0.000000 16.00000 X( 4, 13) 0.000000 50.00000 X( 4, 14) 0.000000 72.00000 X( 4, 15) 0.000000 106.0000 X( 5, 1) 0.000000 5.000000 X( 5, 2) 0.000000 5.000000 X( 5, 3) 39.71834 0.000000 X( 5, 4) 97.84982 0.000000 X( 5, 5) 462.4318 0.000000 X( 5, 6) 0.000000 2.000000 X( 5, 7) 0.000000 9.900000 X( 5, 8) 0.000000 5.000000 X( 5, 9) 0.000000 6.000000 X( 5, 10) 262.7391 0.000000 X( 5, 11) 415.0000 0.000000X( 5, 13) 0.000000 50.00000 X( 5, 14) 0.000000 67.00000 X( 5, 15) 0.000000 101.0000 X( 6, 1) 0.000000 10.00000 X( 6, 2) 0.000000 10.00000 X( 6, 3) 0.000000 5.000000 X( 6, 4) 0.000000 5.000000 X( 6, 5) 0.000000 5.000000 X( 6, 6) 0.000000 7.000000 X( 6, 7) 0.000000 14.90000 X( 6, 8) 0.000000 10.00000 X( 6, 9) 0.000000 6.000000 X( 6, 10) 88.26093 0.000000 X( 6, 11) 0.000000 13.00000 X( 6, 12) 86.00000 0.000000 X( 6, 13) 333.0000 0.000000 X( 6, 14) 786.0000 0.000000 X( 6, 15) 0.000000 37.00000 X( 7, 1) 0.000000 9.000000 X( 7, 2) 0.000000 9.000000 X( 7, 3) 0.000000 4.000000X( 7, 5) 0.000000 4.000000X( 7, 6) 0.000000 6.000000X( 7, 7) 0.000000 13.90000X( 7, 8) 0.000000 9.000000X( 7, 9) 0.000000 10.00000X( 7, 10) 0.000000 4.000000X( 7, 11) 0.000000 17.00000X( 7, 12) 0.000000 0.000000X( 7, 13) 0.000000 1.000000X( 7, 14) 0.000000 4.000000X( 7, 15) 0.000000 0.000000 最少总费用Local optimal solution found.Objective value: 1281354.Extended solver steps: 0Total solver iterations: 36模型三的matlab程序A=ones(39,39);for i=1:39;for j=1:39;if i==j A(i,j)=0;else A(i,j)=inf;endendendA(8,10)=450;A(9,10)=80;A(10,11)=1150;A(11,16)=1100;A(12,13)=306; A(13,14)=195;A(1,14)=20;A(1,16)=202;A(2,16)=1200;A(16,17)=720;A(3,17)=690;A(17,18)=520;A(18,19)=170;A(4,19)=690;A(19,20)=160; A(5,15)=462;A(15,19)=88;A(20,21)=70;A(20,22)=320;A(22,23)=160;A(6,23)=70;A(23,24)=290;A(7,24)=30;for j=1:39;for i=1:j-1;A(j,i)=A(i,j);endendT=A;m=1;while m<=39for i=1:39for j=1:39if T(i,j)>T(i,m)+T(m,j);T(i,j)=T(i,m)+T(m,j);endendendm=m+1;endT2=ones(39,39);for i=1:39;for j=1:39;if T(i,j)==0 T2(i,j)=T(i,j);elseif T(i,j)>0&T(i,j)<=300 T2(i,j)=20;elseif T(i,j)>300&T(i,j)<=350 T2(i,j)=23;elseif T(i,j)>350&T(i,j)<=400 T2(i,j)=26;elseif T(i,j)>400&T(i,j)<=450 T2(i,j)=29;elseif T(i,j)>450&T(i,j)<=500 T2(i,j)=32;elseif T(i,j)>500&T(i,j)<=600 T2(i,j)=37;elseif T(i,j)>600&T(i,j)<=700 T2(i,j)=44;elseif T(i,j)>700&T(i,j)<=800 T2(i,j)=50;elseif T(i,j)>800&T(i,j)<=900 T2(i,j)=55;elseif T(i,j)>900&T(i,j)<=1000 T2(i,j)=60;else T2(i,j)=60+ceil((T(i,j)-1000)/100)*5;endendB=ones(39,39);for i=1:39;for j=1:39;if i==j B(i,j)=0;else B(i,j)=inf;endendendB(8,26)=3;B(9,27)=2;B(11,28)=600;B(12,29)=10;B(13,30)=5;B(14,31)=10;B(1,31)=31;B(16,32)=12;B(18,34)=70;B(21,36)=10;B(22,37)=62;B(6,38)=110;B(23,38)=30;B(24,39)=20;B(7,39)=20;B(25,26)=104;B(26,27)=301;B(27,28)=750;B(28,29)=606;B(29,30)=194; B(30,31)=205;B(31,32)=201;B(32,33)=680;B(33,34)=480;B(34,35)=300; B(35,36)=220;B(36,37)=210;B(37,38)=420;B(38,39)=500;for j=1:39;for i=1:j-1;B(j,i)=B(i,j);endendg=1;while g<=39;for i=1:39;for j=1:39;if R(i,j)>R(i,g)+R(g,j);R(i,j)=R(i,g)+R(g,j);endendendg=g+1;endR2=0.1.*R;w=ones(39,39);for i=1:39;for j=1:39;if T2(i,j)>R2(i,j) w(i,j)=R2(i,j);else w(i,j)=T2(i,j);endendendf=1;while f<=39for i=1:39for j=1:39if w(i,j)>w(i,f)+w(f,j)w(i,j)=w(i,f)+w(f,j);endendendf=f+1;endQ=ones(39,39);for i=1:7for j=19:39cost(i,j)=w(i,j)endend模型三的matlab结果Columns 19 through 3995.0000 100.0000 105.0000 115.0000 125.0000 140.0000 170.7000160.3000 140.2000 98.6000 38.0000 20.5000 3.1000 21.2000 89.2000 92.0000 122.0000 106.0000 121.2000 128.0000 142.0000145.0000 150.0000 155.0000 165.0000 175.0000 190.0000 215.7000 205.3000 190.2000 171.6000 111.0000 95.5000 86.0000 71.2000 139.2000 142.0000 172.0000 156.0000 171.2000 178.0000 192.000080.0000 90.0000 95.0000 105.0000 115.0000 130.0000 230.7000 220.3000 200.2000 181.6000 121.0000 105.5000 96.0000 86.2000 130.0000 82.0000 112.0000 96.0000 111.2000 118.0000 132.000044.0000 55.0000 60.0000 70.0000 80.0000 95.0000 260.7000 250.3000 235.2000 216.6000 156.0000 140.5000 131.0000 116.2000 110.0000 62.0000 83.0000 61.0000 76.2000 83.0000 97.000037.0000 50.0000 50.0000 65.0000 70.0000 85.0000 255.7000 245.3000 225.2000 206.6000 146.0000 130.5000 121.0000 111.2000 105.0000 57.0000 73.0000 51.0000 71.2000 73.0000 87.000050.0000 37.0000 44.0000 20.0000 14.0000 26.0000 265.7000 255.3000 235.2000 216.6000 156.0000 140.5000 131.0000 121.2000 110.0000 62.0000 67.0000 45.0000 26.2000 11.0000 28.000060.0000 50.0000 55.0000 32.0000 23.0000 4.0000 275.7000265.3000 245.2000 226.6000 166.0000 150.5000 141.0000 131.2000 124.0000 76.0000 78.0000 56.0000 38.2000 26.0000 2.0000模型三的lingo程序model:!钢管购买与运输铺优化设问;sets:cj/1..7/:p,s,t;md/1..21/:y,z,v,D;link(cj,md):cost,x;endsets!这里是数据;data:s=800 800 1000 2000 2000 2000 3000;D=104 301 750 606 194 205 201 680 480 300 220 210 420 500 0 0 0 0 0 0 0;p=168 155 155 160 155 150 160;cost= 95 100 105 115 125 140 170.7 160.3 140.2 98.6 38 20.5 3.1 21.2 89.2 92 122 106 121.2 128 142145 150 155 165 175 190 215.7 205.3 190.2 171.6111 95.5 86 71.2 139.2 142 172 156 171.2 178 19280 90 95 105 115 130 230.7 220.3 200.2 181.6 121 105.5 96 86.2 130 82 112 96 111.2 118 13244 55 60 70 80 95 260.7 250.3 235.2 216.6 156 140.5 131 116.2 110 62 83 61 76.2 83 9737 50 50 65 70 85 255.7 245.3 225.2 206.6 146 130.5 121 111.2 105 57 73 51 71.2 73 8750 37 44 20 14 26 265.7 255.3 235.2 216.6 156 140.5 131 121.2 110 62 67 45 26.2 11 2860 50 55 32 23 4 275.7 265.3 245.2 226.6 166 150.5 141 131.2 124 76 78 56 38.2 26 2;!目标函数;min=@sum(link(i,j):(p(i)+cost(i,j))*x(i,j))+0.05*(@sum(md(j)|j#ge#2#and#j#le#21:y(j)^2+y(j))+ @sum(md(j)|j#le#14:z(j)^2+z(j))+@sum(md(j)|j#eq#9#or#j#eq#11#or#j#eq#17:v(j)^2+v(j))+@ sum(md(j)|j#eq#17#or#j#eq#19#or#j#eq#20:z(j)^2+z(j)));@for(cj(i):@sum(md(j):x(i,j))>=500*t(i));@for(cj(i):@sum(md(j):x(i,j))<=s(i)*t(i));@for(cj(i):@bin(t(i)));@for(md(j)|j#ne#9#and#j#ne#11#and#j#ne#17:v(j)=0); @for(md(j):@sum(cj(i):x(i,j))=y(j)+z(j)+v(j));@for(md(j)|j#lt#15:D(j)=y(j)+z(j+1));v(9)+y(16)=42;v(11)+v(17)=10;y(17)+z(18)=130;z(17)+y(19)=190;z(19)+y(20)=260;z(20)+y(21)=100;@gin(@sum(link(i,j):x(i,j)));endWelcome To Download !!!欢迎您的下载,资料仅供参考!。

钢管的运输与订购问题(数学建模)

钢管的运输与订购问题(数学建模)

管道订购与运输问题摘要:本文通过研究了题目所给图并结合题目所给条件信息,理解到钢管的订购与运输问题可通过合理假并简化为单一的公路运输问题,构架了产量未定的单一运输优化模型。

运用运筹学原理求得钢管厂到铺设点的最小距离,通过线性规划的思想列出目标函数,在求得目标函数的同时,我们要考虑到目标最小费用函数中管道的铺设费用,在从铺设点向两边铺设的过程两端开始的1千米是不需要铺设费的,运用等差数列的思想构造一个子函数作为目标函数的一部分,从而得到优化的数学模型,运用lingo软件求得最小运费为1274296。

我们的数学模型是综合考虑运费与钢管单价及铺设费用问题,是整个钢管订购铺设总费用最小。

关键词:管道订购与运输;运筹学;LINGO软件;产量未定的运输模型;线性规划(一)问题重述:要铺设一条1521A A A →→→ 的输送天然气的主管道, 如图一所示(见附录一)筛选后可以生产这种主管道钢管的钢厂有721,,S S S 。

图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。

为方便计,1km 主管道钢管称为1单位钢管。

一个钢厂如果承担制造这种钢管,至少需要生产500个单位。

钢厂i S 在指定期限内能生产该钢管的最大数量为i s 个单位,钢管出厂销价1单位钢管为i p 万元,如下表:i1 2 3 4 5 6 7 i s800 800 1000 2000 2000 2000 3000 i p1601551551601551501601单位钢管的铁路运价如下表:里程(km) ≤300 301~350 351~400 401~450 451~500 运价(万元) 2023262932里程(km) 501~600 601~700 701~800 801~900 901~1000运价(万元)37445055601000km 以上每增加1至100km 运价增加5万元。

数学建模---钢管订购和运输优化

数学建模---钢管订购和运输优化

数学建模---钢管订购和运输优化要铺设一条1521A A A →→→ 的输送天然气的主管道, 如图1所示(见反面).经筛选后可以生产这种主管道钢管的钢厂有127,,,S S S .图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位:km).为方便计,1km 主管道钢管称为1单位钢管.一个钢厂如果承担制造这种钢管,至少需要生产500个单位.钢厂i S 在指定期限内能生产该钢管的最大数量为i s 个单位,钢管出厂销价1单位钢管为i p 万元,如下表:i1 2 3 4 5 6 7 i s800 800 1000 2000 2000 2000 3000 i p1601551551601551501601单位钢管的铁路运价如下表:里程(km) ≤300 301~350 351~400 401~450 451~500 运价(万元) 2023262932里程(km) 501~600 601~700 701~800 801~900 901~1000运价(万元) 37445055601000km 以上每增加1至100km 运价增加5万元.公路运输费用为1单位钢管每千米0.1万元(不足整千米部分按整千米计算). 钢管可由铁路、公路运往铺设地点(不只是运到点1521,,,A A A ,而是管道全线).问题:(1)请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用).思考题:(2)请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果.(3)如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情形给出一种解决办法,并对图2按(1)的要求给出模型和结果.71一、 基本假设1. 沿铺设的主管道以有公路或者有施工公路. 2. 在主管道上,每千米卸1单位的钢管.3. 公路运输费用为1单位钢管每千米0.1万元(不足整千米部分按整千米计算) 4. 在计算总费用时,只考虑运输费和购买钢管的费用,而不考虑其他费用. 5. 在计算钢厂的产量对购运计划影响时,只考虑钢厂的产量足够满足需要的情况,即钢厂的产量不受限制.6. 假设钢管在铁路运输路程超过1000km 时,铁路每增加1至100km ,1单位钢管17的运价增加5万元.二、符号说明:i S :第i 个钢厂; 7,,2,1 =i i s :第i 个钢厂的最大产量; 7,,2,1 =i j A :输送管道(主管道)上的第j 个点; 15,,2,1 =ji p :第i 个钢厂1单位钢管的销价; 7,,2,1 =iij x :钢厂i S 向点j A 运输的钢管量; 7,,2,1 =i 15,,2,1 =jj t :在点j A 与点1+j A 之间的公路上,运输点j A 向点1+j A 方向铺设的钢管量;14,,3,2,1 =j (01=t )ij a :1单位钢管从钢厂i S 运到结点j A 的最少总费用,即公路运费﹑铁路运费和钢管销价之和; 7,,2,1 =i 15,,2,1 =jj b :与点j A 相连的公路和铁路的相交点; 15,,3,2 =j1.+j j A :相邻点j A 与1+j A 之间的距离; 14,,2,1 =j三、模型的建立与求解问题一:讨论如何调整主管道钢管的订购和运输方案使总费用最小由题意可知,钢管从钢厂i S 到运输结点j A 的费用ij a 包括钢管的销价﹑钢管的铁路运输费用和钢管的公路运输费用.在费用ij a 最小时,对钢管的订购和运输进行分配,可得出本问题的最佳方案.1. 求钢管从钢厂i S 运到运输点j A 的最小费用1)将图1转换为一系列以单位钢管的运输费用为权的赋权图.由于钢管从钢厂i S 运到运输点j A 要通过铁路和公路运输,而铁路运输费用是分段函数,与全程运输总距离有关.又由于钢厂i S 直接与铁路相连,所以可先求出钢厂i S 到铁路与公路相交点j b 的最短路径.如图3图3 铁路网络图依据钢管的铁路运价表,算出钢厂i S 到铁路与公路相交点j b 的最小铁路运输费用,并把费用作为边权赋给从钢厂i S 到j b 的边.再将与j b 相连的公路、运输点i A 及其与之相连的要铺设管道的线路(也是公路)添加到图上,根据单位钢管在公路上的运价规定,得出每一段公路的运费,并把此费用作为边权赋给相应的边.以1S 为例得图4.图4 钢管从钢厂1S 运到各运输点j A 的铁路运输与公路运输费用权值图2)计算单位钢管从1S 到j A 的最少运输费用根据图4,借助图论软件包中求最短路的方法求出单位钢管从1S 到j A 的最少运输费用依次为:170.7,160.3,140.2,98.6,38,20.5,3.1,21.2,64.2,92,96,106,121.2,128,142(单位:万元).加上单位钢管的销售价i p ,得出从钢厂1S 购买单位钢管运输到点j A 的最小费用j a 1依次为:330.3,320.3,300.2,258.6,198,180.5,163.1,181.2,224.2,252,256,266,281.2,288,302(单位:万元).同理,可用同样的方法求出钢厂2S ﹑3S ﹑4S ﹑5S ﹑6S ﹑7S 到点j A 的最小费用,从而得出钢厂到点的最小总费用(单位:万元)为:表1 i S 到点j A 最小费用A 2A 3A 4 A 5A 6A 7 A 8A 9A 10 A 11 A 12 A 13A 14 A 15S 1 320.3 300.2 258.6 198 180.5 163 181.2 224.2 252 256 266 281.2 288 3022S 360.3 345.2 326.6 266 250.5 241 226.2 269.2 297 301 311 326.2 333 347 3S 375.3 355.2 336.6 276 260.5 251 241.2 203.2 237 241 251 266.2 273 2874S 410.3 395.2 376.6 316 300.5 291 276.2 244.2 222 211 221 236.2 243 257 5S 400.3 380.2 361.6 301 285.5 276 266.2 234.2 212 188 206 226.2 228 242 6S 405.3 385.2 366.6 306 290.5 281 271.2 234.2 212 201 195 176.2 161 1782. 建立模型运输总费用可分为两部分:运输总费用=钢厂到各点的运输费用+铺设费用.运输费用:若运输点j A 向钢厂i S 订购ij x 单位钢管,则钢管从钢厂i S 运到运输点j A 所需的费用为ij ij x a .由于钢管运到1A 必须经过2A ,所以可不考虑1A ,那么所有钢管从各钢厂运到各运输点上的总费用为:∑∑==15271j i ijijax .铺设费用:当钢管从钢厂i S 运到点j A 后,钢管就要向运输点j A 的两边1+j j A A 段和j j A A 1-段运输(铺设)管道.设j A 向1+j j A A 段铺设的管道长度为j y ,则j A 向1+j j A A 段的运输费用为()201)21(1.0+=+++⨯j j j t t y (万元);由于相邻运输点j A 与1+j A 之间的距离为1.+j j A ,那么1+j A 向1+j j A A 段铺设的管道长为j j j t A -+1.,所对应的铺设费用为()()2011.1.jj j j j j t A t A-+-++(万元).所以,主管道上的铺设费用为:()()()∑=++⎪⎪⎭⎫⎝⎛-+-++1411.1.201201j j j j j j j j j t A t A t t 总费用为:()()()∑∑∑===++⎪⎪⎭⎫⎝⎛-+-+++=711521411.1.201201i j j j j j j j j j j ij ij t A t A t t a x f 又因为一个钢厂如果承担制造钢管任务,至少需要生产500个单位,钢厂i S 在指定期限内最大生产量为i s 个单位,故i j ijs x≤≤∑=152500 或0152=∑=j ij x 因此本问题可建立如下的非线性规划模型:14157.1.112171151522.1(1)()(1)min (2020j 2,3,,15500 0s.t. 0 1,,7,2,,150j j j j j j j j ij ijj j i ij j i ij i ij j j ij j j j t t A t A t f x a x n x s x x i j t A ++======++-+-=++⋅⎧==⎪⎪⎪⎪≤≤=⎨⎪⎪≥==⎪≤≤⎪∑∑∑∑∑∑或3. 模型求解:由于MATLAB 不能直接处理约束条件:i j ijs x≤≤∑=152500或0152=∑=j ij x ,我们可先将此条件改为i j ijs x≤∑=152,得到如下模型:用MATLAB 求解,分析结果后发现购运方案中钢厂7S 的生产量不足500单位,下面我们采用不让钢厂7S 生产和要求钢厂7S 的产量不小于500个单位两种方法计算:1)不让钢厂7S 生产计算结果:=1f 1278632(万元)(此时每个钢厂的产量都满足条件). 2)要求钢厂7S 的产量不小于500个单位计算结果:=2f 1279664 (万元) (此时每个钢厂的产量都满足条件). 比较这两种情况,得最优解为, 121),m in(m in f f f f ===1278632(万元) 具体的购运计划如表2:表2 问题一的订购和调运方案14157.1.112171152.1(1)()(1)min (2020j 2,3,,15 s.t. 0 1,,7,2,,150j j j j j j j j ij ijj j i ij j i ij ij ij j j j t t A t A t f x a x n x s x i j t A ++=====++-+-=++⋅⎧==⎪⎪⎪⎪≤⎨⎪⎪≥==⎪≤≤⎪⎩∑∑∑∑∑。

数学建模-钢管订购和运输

数学建模-钢管订购和运输

221案例10 订购和运输一、问题重述和分析要铺设一条1521A A A →→→ 的输送天然气的主管道,如图1所示,经筛选后可以生产这种主管道的钢厂有721,,,S S S . 图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km ).图1为了方便,1km 主管道称为1单位钢管. 一个钢厂如果承担制造这种钢管,至少需要生产500个单位. 钢厂i S 在指定期限内能生产该钢管的最大生产数量为i s 个单位,钢厂出厂销价为i p 万元,如下表:72221单位钢管的铁路运价如下表:表21000以上每增加1至100运价增加5万元. 公路运输费用为1单位管道每公里0.1万元(不足整公里的按整公里计算). 管道可由铁路、公路运往铺设地点(不只是运到点1521A A A →→→ ,而是管道全线).问题1. 制定一个主管道钢管的订购和运输计划,使总费用最小,并给出总费用. 问题2. 就(1)的模型进行分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果.二、基本假设1. 在计算运费时,沿管道铺设路线上的公路与其它普通公路相同(1单位钢管每公里0.1万元);2. 订购的钢管数量刚好等于需要铺设的钢管数量;3. 管道可由铁路、公路、管道全线运往铺设地点(不只是运到点1521,,,A A A ); 4. 模型只考虑钢管销价费用和钢管从钢管厂运送到铺设点的钢管运费,而不考虑其它费用,如不计换车、转站的时间和费用,不计装卸费用等;5. 不计运输时由于运输工具出现故障等意外事故引起工期延误造成损失; 6. 销售价和运输价不受市场价格变化的影响.三、符号说明i S : 第i 钢管厂i s :表示i S 的最大生产能力j A : 表示需要铺设管道路径上的车站 i j x :从所有i S 运往j A 的钢管数223c i j :表示单位钢管从i S 地运往j A 地的最小费用 i p :从i S 订购钢管的单位价格Q : 订购的所有钢管全部运到)15,,2,1( =j A j 点的总运费 T : 当钢管从钢厂i S 运到点j A 后,钢管向j A 的左右两边运输(铺设)管道的运输费用Z :用于订购和运输的总费用j y : 运到j A 地向左铺设的数目 j z : 运到j A 地向右铺设的数目d : 单位钢管1公里的公路运输费用1 ,+j j A : 表示1+j j A A 和之间需要铺设的管道长度四、模型的建立与求解问题1.1、 模型的建立钢管的订购和运输方案是直接影响工程费用的主要原因,因此,选取费用最小的路线运送货物,合理的订购计划是决定该工程费用的重要因素,首先利用图论的方法,来确定从钢管生产厂家到施工结点的费用最小路线,然后建立工程费用的优化模型,从中优化出最佳购运方案.对本问题而言,实际上是一个要求制定订购和运输计划,使总费用最小的优化问题. 本模型的总费用包括钢管的销价和运输总的费用. 首先,向某厂订购钢管,然后将在每个厂订购的钢管运往需要铺设的全路段. 欲解决本问题可以按以下方案进行思考:首先,需要确定将货物从i 地运往j 地的最优路线(费用最小);然后,求出向每个钢管厂的订购计划,并确定出运输计划;最后计算将运往j 地的钢管铺到各个管道上的运输费用,我们不妨假设运往以j 为终点的钢管只铺到与j 点相邻的两段管道上. 因此,本问题可以按以下步骤求解.第一步:确定从i 地到j 地的最优路径,从而确定出单位钢管从i 地运往j 地的最小运费.)7,2,1( =i s i 表示钢管厂)7,2,1( =i S i 的最大生产能力,)15,,2,1( =j A j 表示需要铺设钢管路径上的车站. 假设从i S 运往j A 的钢管用于铺设j A 点左右侧的钢管数为j i x ,单位,单位产品从i S 到j A 地的运费为j i F ,万元,用j i ,c 表示单位钢管从i S 地224 运往j A 地的最小费用,则:j c min ij i F =(1)第二步:建立从i S 厂运送j ,i x 单位钢管到j A 点的运费的模型: 用Q 表示订购的所有钢管全部运到)15,,2,1( =j A j 点的总运费,则:15711Q c i j i j j i x ===∑∑;(2)第三步:将运到j A 处的钢管铺到相邻两段路上的运输费用对于运到j A 的钢管,它向左运输的总量j y ,它向左运输的总费用为:(1)(2)1j j j y d y d y dd ⨯+-⨯+-⨯⨯=()0.1(12)0.051j j j y y y ⨯+++=+(万元); 同理它向右运输的总费用为j j z z d2)1(+=()0.051j j z z +用T 表示当钢管从钢厂i S 运到点j A 后,钢管向j A 的左右两边运输(铺设)管道的运输费用,得()()15j j j 1T 0.051y y 1j j z z =⎡⎤=+++⎣⎦∑(3)j z j y 和之间存在的关系为7i j i 11,1x ;(1,2,,15);(1,2,,14)j j jj j j y z j z y A j =++⎧=+=⎪⎨⎪+==⎩∑ (4)(1 ,+j j A 表示1+j j A A 和之间需要铺设的管道长度)第四步:建立订购费用的模型设W 表示订购管道的总费用,则可建立如下模型:225715, 1j 1W i i j i p x ===∑∑(5)又因为一个钢厂如果承担制造钢管任务,至少需要生产500个单位,钢厂i S 在指定期限内最大生产量为i s 个单位,故i j ijs x≤≤∑=152500 或0152=∑=j ij x , 用Z 表示订购和运输的总费用,由(2)、(3)、(4)、(5),本问题可建立如下的非线性规划模型:目标函数()()71515i 111min W Q T ()0.0511i i j i j j j j j j j Z p c x y y z z ===⎡⎤=++=+++++⎣⎦∑∑∑约束条件7i j i 11,1151522x ;(1,2,,15);(1,2,,14)5000;(1,2,,7)0 1,,7,2,,15j j j j j j ij i ij j j ij y z j z y A j x s x i x i j =++==⎧=+=⎪⎪+==⎪⎪⎨⎪≤≤==⎪⎪≥==⎪⎩∑∑∑或 (6)其中1 ,+j j A 表示1+j j A A 和之间需要铺设的管道长度.2、模型的求解(1)首先求解 i j c 由于钢管从钢厂i S 运到运输点j A 要通过铁路和公路运输,而铁路运输费用是分段函数,与全程运输总距离有关. 又由于钢厂i S 直接与铁路相连,所以可先求出钢厂i S 到铁路与公路相交点j b 的最短路径. 依据钢管的铁路运价表,算出钢厂i S 到铁路与公路相交点j b 的最小铁路运输费用,并把费用作为边权赋给从钢厂i S 到j b 的边. 再将与j b 相连的公路、运输点i A 及其与之相连的要铺设管道的线路(也是公路)添加到图上,根据单位钢管在公路上的运价规定,得出每一段公路的运费,并把此费用作为边权赋给相应的边. 这样就转换为以单位钢管的运输费用为权的赋权图,再利用E.W.Dijkstra 的最短路算法计算出一个单位钢管从钢厂运到工地的最少费用系数阵()ij c ,MA TLAB 程序(略).226(2)根据以上结果, 继续求解非线性规划模型:()()71515i 111min ()0.0511i i j i j j j j j j j Z p c x y y z z ===⎡⎤=+++++⎣⎦∑∑∑7i j i 11,1151522x ;(1,2,,15);(1,2,,14).5000;(1,2,,7)0 1,,7,2,,15j j j j j j ij i ij j j ij y z j z y A j s t x s x i x i j =++==⎧=+=⎪⎪+==⎪⎪⎨⎪≤≤==⎪⎪≥==⎪⎩∑∑∑或由于不能直接处理约束条件:i j ijs x≤≤∑=152500或0152=∑=j ij x ,我们可先将此条件改为i j ijs x≤∑=152,得到如下模型:()()71515i 111min ()0.0511i i j i j j j j j j j Z p c x y y z z ===⎡⎤=+++++⎣⎦∑∑∑2277i j i 11,1152x ;(1,2,,15);(1,2,,14).;(1,2,,7)0 1,,7,2,,15j j j j j j ij i j ij y z j z y A j s t x s i x i j =++=⎧=+=⎪⎪+==⎪⎪⎨⎪≤=⎪⎪≥==⎪⎩∑∑用LINGO 求解(程序略). 分析结果后发现购运方案中钢厂7S 的生产量不足500单位,下面我们采用不让钢厂7S 生产和要求钢厂7S 的产量不小于500个单位两种方法计算:1)不让钢厂7S 生产,程序略.计算结果:1Z =1278632(万元)(此时每个钢厂的产量都满足条件). 2)要求钢厂7S 的产量不小于500个单位,程序略.计算结果:2Z =1285281(万元) (此时每个钢厂的产量都满足条件). 比较这两种情况,得最优解为,121min min(,)Z Z Z Z ===1278632(万元). 所以根据上述的模型,得运输总费用最小为1278632(万元). 具体的购运计划和铺设方案如表4,表5.228问题2. 针对问题一的求解模型,讨论钢厂钢管的销售价格变化对购运计划和总费用影响及钢厂钢管产量的上限变化对购运计划和总费用的影响.定义 方案中运往各点i A 的运输量的变化量的绝对值之和称为运输方案变化量. 1、讨论钢厂钢管的销售价格变化对购运计划和总费用的影响当钢厂钢管销售价格变化时,会对购运计划和总费用造成影响. 为了更好地观察每一个钢厂钢管销售价格所造成的影响,采用比较法,即每次只让一个钢厂钢管的销售价格发生相同的变化,其余钢厂钢管的销售价格不发生变化.我们将各个钢厂单位钢管的销价分别增加1万元和减少1万元,借助LINGO 软件得出相应的总费用、运输方案、订购方案变化情况如表6、表7所示由上述表格观察分析可得: 6S 钢厂销价变化对总费用影响最大,56,S S 钢厂钢管的销价的变化对购运计划影响最大.2、讨论钢厂钢管产量的上限的变化对购运计划和总费用的影响同样采用比较法,即每次只让一个钢厂钢管产量的上限的发生相同的变化,其余钢厂钢管产量的上限不发生变化. 将各个钢厂的产量的上限分别增加100个单位和减少100个单位,分别计算,得到购运计划和总费用变化情况如表8、表9所示.S钢厂钢管的产量的上限的变化对总费用影响最大,由上述表格观察分析可得:1购运计划影响较小.五、模型的评价及改进由于总费用由订购费用和运输费两部分组成,运输费又由一般线路上的运输费和铺设管道上的运输费组成. 利用求网络中最短路径的Dijkstra算法,进行改进得到新的算法,可对含多种权重计算方式的网络进行搜索,得出最小费用路径(最短路径),算出两点之间的最优路径,进而根据非线性规划,借助于Lingo软件求解即可求出相应的结果.1.优点1)本问题中运用了求网络中最短路径的Dijkstra算法的思想,进行改进和修改得到新的算法,可对含多种权重计算方式的网络进行搜索,算出两点之间的最优路径,计算结果准确,从而得出相应的购运单价的矩阵.2)本问题构造出的模型算法较简单,也可以运用相应的其他编程软件来得到比较满意的结果.3)本模型计算步骤清晰,借助于Lingo软件求解,可靠性较高.2.缺点1)由于题意中不考虑铁路公路间转运的中转费用,也不限制转运次数,因此在算法设计中存在着考虑不周全的缺限,如我们考虑是先通过铁路再通过公路到铺设点,但这不一定是最小费用路径,有可能先通过公路,然后经铁路再经公路运到铺设点,费用更少,这里没有理论证明.2292) 问题二要求根据问题一的分析,指出哪家钢厂销价的变化对购运计划和总费用影响最大,哪家钢厂钢管产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果. 这个问题属于规划问题的灵敏度分析,一般来说,应该对于销价的变化△p 和产量上限的变化△s求出相应的总费用的变化△w,但要得到△w关于△p和△s的函数关系,几乎是不可能的,只对每个钢厂进行单独讨论.3.模型改进这个数学模型可以应用于西部开发中"天然气东送”问题,当然,西部开发中"天然气东送”问题远比我们的假设还要复杂的多,但无论如何,他们的本质一样,我们可将本问题运用于时间的变化等范围的推广. 本文还可以把问题1归结为网络最小费用流问题,建立了线性和非线性最小费用流模型,并运用相应的解法和分支定界法求解,简洁,层次分明.参考文献:[1] 甘应爱,田丰等等. 运筹学.清华大学出版社,北京,1994.[2] 袁亚湘.孙文瑜著. 最优化理论与方法.科学出版社,北京,1997.[3] 徐俊明著. 图论及其应用.中国科学技术大学出版社,合肥,1997.[4] 赵静,但琦. 数学建模与数学实验[M].北京:高等教育出版社,2003.习题1. 如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络(图2),请就这种更一般的情形给出一种解决办法,制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用).230231图217。

数学建模2000B题

数学建模2000B题


i 1
m
ai

ji
n
bj
从发点A到收点B的距离(或单位运费)是已知的,设为
c ij ( i 1, 2 ,..., m , j 1, 2 ,..., n )

问题:寻求一个调运方案,使总运输费用达到最小。
一个调运方案主要由一组从发点
Ai
到收点 B j 的输
送量来描述。
发点
收点
B1
B2
290 S4 S3 S2 320 160 70 30 70 170 720 202 1100 20 12 195 1150 600 306 0 10 31 201 A8 480 680 A10 S1 70 42 10 520 88 462 S5 10 220 300 A11 S2 S6 110
30
70
A1
480
31
1150
A9 680
A10
300
A11
201
205 A7
A8
450
80 2 750 A4 606
图二
3
104 A1 301 A2
A3
问题
所属类型 做题 思路和关键点 结果 表示形式
优化模型
1、问题的分析
优化问题
1)优化模型的数学描述
求函数
u f (x)
x ( x 1 , x 2 , x 3 ,..., x n )
在约束条件 h i ( x ) 0 , i 1, 2 ,..., m . 和
g i ( x ) 0 ( g i ( x ) 0 ), i 1, 2 ,..., p .
下的最大值或最小值,其中 设计变量(决策变量) x

钢管订购和运输问题一代码和结果

钢管订购和运输问题一代码和结果

function f=result(t)%求解问题1tic;x0=zeros(8,15);vlb=zeros(8,15);m=zeros(1,7);s=[800 800 1000 2000 2000 2000 3000];s(t)=s(t)-50;N=[1 1 1 0 1 1 0];%每公里钢管从Si到达Ai站点的最小费用C=[330.7 320.3000 300.2000 258.6000 198.0000 180.5000 163.1000 181.2000 224.2000 252.0000 256.0000 266.0000 281.2000 288.0000302.0000;370.7 360.3000 345.2000 326.6000 266.0000 249.6000 241.0000 226.2000 269.2000 297.0000 301.0000 311.0000 326.2000 333.0000347.0000;385.7 375.3000 355.2000 336.6000 276.0000 260.5000 251.0000 241.2000 203.2000 237.0000 241.0000 251.0000 266.2000 273.0000287.0000;420.7 410.3000 395.2000 376.6000 316.0000 299.6000 291.0000 276.2000 244.2000 222.0000 211.0000 221.0000 236.2000 243.0000257.0000;410.7 400.3000 380.2000 361.6000 301.0000 285.5000 276.0000266.2000 234.2000 212.0000 188.0000 206.0000 226.2000 228.0000242.0000;415.7 405.3000 385.2000 366.6000 306.0000 290.5000 281.0000 271.2000 234.2000 212.0000 201.0000 195.0000 176.2000 161.0000178.0000;435.7 425.3000 405.2000 386.6000 326.0000 310.5000 301.0000 291.2000 259.2000 236.0000 226.0000 216.0000 198.2000 186.0000162.0000];options=optimset('LargeScale','off','Algorithm' ,'active-set','MaxFunEvals' ,50000);%,' Tolx',1.0000e-032);[x,f]=fmincon('myfun',x0,[],[],[],[],vlb,[],'mycon',options,C,N,s);for i=1:7for j=1:15m(i)=m(i)+N(i)*x(i,j);endendx,m,f;b=(f-1278600)/1278600*(s(t)+50)/50tocfunction f=myfun(XX,C,N,s)%问题1的目标函数x=XX(1:7,1:15);rl=XX(8,1:15);L=[104 301 750 606 194 205 201 680 480 300 220 210 420 500];f=0;for i=1:7for j=1:15f=f+N(i)*x(i,j)*C(i,j);%运输费和成本费endendfor i=1:14f=f+(rl(i)*(rl(i)+1)/2+(L(i)-rl(i))*(L(i)-rl(i)+1)/2)*0.1;%铺设时的运输费endffunction[c,ceq]=mycon(XX,C,N,s)%问题1的约束条件x=XX(1:7,1:15);rl=XX(8,1:15);L=[104 301 750 606 194 205 201 680 480 300 220 210 420 500];m=zeros(1,7);a=zeros(1,15);cc=0;for i=1:7for j=1:15m(i)=m(i)+N(i)*x(i,j);endc(i)=m(i)-s(i);cc=cc+m(i);endfor i=1:14c(i+7)=rl(i)-L(i);endfor i=2:14for j=1:7a(i)=a(i)+N(j)*x(j,i);endceq(i-1)=a(i)-rl(i)+rl(i-1)-L(i-1); endt1=0;t2=0;for i=1:7t1=t1+N(i)*x(i,1); t2=t2+N(i)*x(i,15); endceq(14)=t1-rl(1); ceq(15)=rl(15); ceq(16)=cc-5171;结果:表一 i S 到i A 的最小费用(单位:万元/单位)1S 2S 3S 4S 5S 6S 7S1A 170.7 215.7 230.7 260.7 255.7 265.7 275.7 2A160.3 205.3 220.3 250.3 245.3 255.3 265.3 3A140.2 190.2 200.2 235.2 225.2 235.2 245.2 4A98.6 171.6 181.6 216.6 206.6 216.6 226.6 5A38111121156146156166表二各厂的生产量及总费用(生产量可小于500)(单位:单位、万元)表三各厂的生产量及总费用(单位:单位、万元)表四问题一订购和运输方案(不足1km的按整数计)(单位:单位、万元)。

(交通运输)钢管订购和运输计划精编

(交通运输)钢管订购和运输计划精编

(交通运输)钢管订购和运输计划(交通运输)钢管订购和运输计划钢管的订购和运输计划摘要在钢管的订购和运输计划中,在第壹问中用最短路算法,求解出每个钢厂到站点的最小费用(包括运输费和出厂销售价),考虑到在铺设时管道要沿铺设路线离散地卸货,即运货到A j后,仍要在铺设路线上运输,因为不足整公里部分要按照整公里计算,所以我们认为沿管道路线每铺设1公里就要卸下1单位钢管,因此从某点A j向左铺设或向右铺设y时,此段运费应为:点A j向右铺设z j,从A j+1向左铺设y j+1,为了保证合拢,则z j+y j+1=a j,在这些条件之下,利用软件,求解出总费用最小。

分析模型的销售价灵敏度的时候,将各个钢厂单位钢管的销售价分别增加和减少若干万元,再用求解第壹问题的模型,见总费用的变化大小,变化大的就是影响结果比较大的;用同样的方法能够分析生产上限的灵敏度。

第三问得时候,我们利用求解第壹问的方式来求解问题。

关键字:最短路算法,,分别改变同样的条件来对比壹,问题重述(略)二,符号说明:a ij站点A j至A j+1的里程(铺设管道需要的钢管量)s i s i钢厂的最大生产量x ij从钢厂s i到A j的钢管数量c ij从钢厂s i运往A j的单位钢材费用最短路,即亮点运输单位钢材所需的最少费用,包括运输费和出厂销价y j A j点往左铺设的钢管数量zjA j点往右铺设钢管的数量f总费用三,问题分析:(1)对问题壹的分析:从钢厂s i向点A j运输钢管时,为了降低费用,应该走费用最小的路径,从壹个工厂s i到壹个点A j的路线且不唯壹,需要从中找出费用最短的路,相应的最小费用为c ij,包括运输费和销售费。

从图我们能够见到,七个钢材厂要到A1这点必须要经过A2,所以在考虑最低费用路径的时候,能够把A1和A2见做壹个点来考虑,。

根据图,我们由最短路问题的算法。

例:从s1到最短的铁路为:2902km,根据1单位钢管的铁路运价表,可知铁路花费为:60+5*20=160万元,公路运费为3*0.1=0.3万元,且且s1钢厂出厂1单位刚窜为160万元,所以,总费用=铁路运费+公路运费+销售价即=320.3(万元);用同样的方法,我们能够得到A j的最小费用(单位:万元):A2 A3 A4 A5 A6 A7 A8 A9A10A11A12A13A14A15S 1 320.3300.2258.6198180.5163.1181.2224.2252256266281.2288302S 2 360.3345.2326.6266250.5241226.2269.2297301311326.2333347S37353327262524202324252627283 5.3 5.2 6.6 6 0.5 1 1.2 3.2 7 1 1 6.2 3 7S 4 410.3395.2376.6316300.5291276.2244.2222211221236.2243257S 5 400.3380.2361.6301285.5276266.2234.2212188206226.2228242S 6 405.3385.2366.6306290.5281271.2234.2212201195176.2161178S 7 425.3405.2386.6326310.5301291.2259.2236226216198.2186162在铺设时管道要沿铺设路线离散地卸货,即运货到A j后,仍要在铺设路线上运输,因为不足整公里部分要按照整公里计算,所以我们认为沿管道路线每铺设1公里就要卸下1单位钢管,因此从某点A j向左铺设或向右铺设y时,此段运费应为:设从点A j向右铺设z j,从A j+1向左铺设y j+1,为了保证合拢,则z j+y j+1=a j,j=1,2…15.问题的实质是确定从钢厂向运输钢管的数量,以及从A j向左,右铺设的里程(km)数,使总费用最小。

钢管订购和运输问题

钢管订购和运输问题

钢管订购和运输问题摘要:我们利用Floyd 算法求出铁路网和公路网各点间最短路线,然后转化成最少运输,去掉了铁路和公路的性质,使运输网络变成一张供需运输价格表,然后建立了一个以总费用为目标函数的非线性规划模型,利用Lingo 软件,求出问题一的最优解为1278632万元。

通过对问题一中lingo 运行结果的分析,我们得出S5钢厂钢管的销价的变化对购运计划和总费用影响最大,S1钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大。

问题三模型的建立原理和问题一的相同,利用Lingo 软件,求得最优解为1407149万元.关键词:非线性方程组 Floyd 算法 灵敏度1.问题重述要铺设一条1521A A A →→→ 的输送天然气的主管道, 如图一所示(见下页)。

经筛选后可以生产这种主管道钢管的钢厂有721,,S S S 。

图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。

为方便计,1km 主管道钢管称为1单位钢管。

一个钢厂如果承担制造这种钢管,至少需要生产500个单位。

钢厂i S 在指定期限内能生产该钢管的最大数量为i s 个单位,钢管出厂销价1单位钢管为i p 万元,如下表:i1 2 3 4 5 6 7 i s800 800 1000 2000 2000 2000 3000 i p1601551551601551501601单位钢管的铁路运价如下表:里程(km) ≤300301~350 351~400 401~450 451~500运价(万元) 2023262932里程(km) 501~600 601~700 701~800 801~900901~1000运价(万元) 37445055601000km 以上每增加1至100km 运价增加5万元。

公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)。

钢管订购的运输

钢管订购的运输

CUMCM2000B 钢管订购的运输一单位钢管的铁路运价如下表?1000公里友上每增加100公里,运价增加5万元。

公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按1公里计算)。

钢管可由铁路、公路运往铺设地点,不只是运到j A ,而是运到管道全线。

: , , .500 , .11 ).( , ).( , , .,,, .1 , 7211521如下表万元钢管钢管出厂销价为每单位个单位钢管的最大数量为在指定期限内能生产钢厂个单位至少生产这种钢管一个钢厂如果承担生产个单位主管道钢管称为为方便计单位的阿拉伯数字表示里程每段铁路公路和管道旁站圆圈表示火车路有公路或者建有施工公假设沿管道线或者原来线表示要铺设的管道双细单细线表示公路图中粗线表示铁路钢厂有生产这种主管道钢管的可以经筛选所示如图的输送天然气的主管道要铺设一条从i p s S km km S S S A A A →→→ 题.(1)2,, 2, , ).3(给出模型和结果的要求按并对图给出一种解决方法请就这种更一般的情形的网络图铁路公路管线构成如而是一个树形图一条线如果要铺设的管道不是)( , ).1(给出总费用使总费用最小的订购和运输计划请制定一个主管道钢管.,,)1( ).2(据结果并给出相应的数费用影响最大的变化对购运计划和总哪个钢厂钢管产量上限划和总费用影响最大管销价的变化对购运计的模型分析哪个钢厂钢请就管道订购与运输问题杨志江, 李国欣, 张 敏 指导老师: 中国矿业大学数模教练组 (中国矿业大学.江苏徐州 221008)编者按:本文采用将待铺设管道按单位长度分解成n 个需求点,建立运输模型的方法.避免了问题一和三的差别.模型切合原赛题要求.并针对原问题的规模,对算法作y--定的改进,得到了较好的结果.本刊予以摘要发表.摘 要:本文在详细分析的基础上,通过合理假设并引人等价转换原则,将管道订购与运输问题转化为单一的公路运输问题.运用组合优化的思想和方法,给出了数学模型·——产量未定的运输模型.针对此模型,我们设计了“改进的最小元素法”和“改进的伏格尔Ph",先求得了—个初始解。

钢管订购与运输

钢管订购与运输

15
7
s.t. 0 xij si , xij y j z j ,j 1Fra biblioteki 1
y j z j1 l j , xij , y j , z j 0, z1 y15 0
问题1旳其他模型和解法 1)运送问题旳0-1规划模型
将全长5171km旳管道按公里分段,共5171个需求点, 钢厂为7个供给点,构成如下旳运送问题
≤300 20
301~350 23
351~400 26
401~450 29
451~500 32
里程(km) 运价(万元)
501~600 37
601~700 44
701~800 50
801~900 55
901~1000 60
1000km以上每增长1至100km运价增长5万元
1单位钢管旳公路运价:0.1万元/km(不足整公里部分按整公里计)
基本模型
二次规划
7 15
0.1 15
min
cij xij
i1 j1
2
(z j (z j 1) y j ( y j 1))
j 1
(1)
15
s.t. xij {0} [500, si ] i 1,2,,7
(2)
j 1
7
xij z j y j
j 1,2,,15
(3)
i 1
y j z j1 l j
约束条件
钢厂产量约束:上限和下限(假如生产旳话) 运量约束:xij对i求和等于zj 加yj;
yj与 zj+1之和等于Aj Aj+1段旳长度lj
由Aj向Aj Aj-1段铺设旳运量为 1+ … +zj= zj( zj+1)/2 由Aj向Aj Aj+1段铺设旳运量为 1+ … +yj= yj( yj+1)/2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

function f=result(t)
%求解问题1
tic;
x0=zeros(8,15);vlb=zeros(8,15);
m=zeros(1,7);
s=[800 800 1000 2000 2000 2000 3000];
s(t)=s(t)-50;
N=[1 1 1 0 1 1 0];
%每公里钢管从Si到达Ai站点的最小费用
C=[ ;
;
;
;
;
;
];
options=optimset('LargeScale','off','Algorithm' ,'active-set','MaxFunEvals' ,50000);%,'Tolx',;
[x,f]=fmincon('myfun',x0,[],[],[],[],vlb,[],'mycon',options,C,N,s);
for i=1:7
for j=1:15
m(i)=m(i)+N(i)*x(i,j);
end
end
x,m,f;
b=(f-1278600)/1278600*(s(t)+50)/50
toc
function f=myfun(XX,C,N,s)
%问题1的目标函数
x=XX(1:7,1:15);
rl=XX(8,1:15);
L=[104 301 750 606 194 205 201 680 480 300 220 210 420 500];
f=0;
for i=1:7
for j=1:15
f=f+N(i)*x(i,j)*C(i,j);%运输费和成本费
end
end
for i=1:14
f=f+(rl(i)*(rl(i)+1)/2+(L(i)-rl(i))*(L(i)-rl(i)+1)/2)*;%铺设时的运输费end
f
function [c,ceq]=mycon(XX,C,N,s)
%问题1的约束条件
x=XX(1:7,1:15);
rl=XX(8,1:15);
L=[104 301 750 606 194 205 201 680 480 300 220 210 420 500];
m=zeros(1,7);
a=zeros(1,15);
cc=0;
for i=1:7
for j=1:15
m(i)=m(i)+N(i)*x(i,j);
end
c(i)=m(i)-s(i);
cc=cc+m(i);
end
for i=1:14
c(i+7)=rl(i)-L(i);
end
for i=2:14
for j=1:7
a(i)=a(i)+N(j)*x(j,i);
end
ceq(i-1)=a(i)-rl(i)+rl(i-1)-L(i-1);
end
t1=0;t2=0;
for i=1:7
t1=t1+N(i)*x(i,1);
t2=t2+N(i)*x(i,15);
end
ceq(14)=t1-rl(1);
ceq(15)=rl(15);
ceq(16)=cc-5171;
结果:
表一 i S 到i A 的最小费用(单位:万元/单位)
1S 2S 3S 4S 5S 6S 7S
1A 2A
3A
4A
5A 38
11
1 121 156
14
6 15
6 166 6A 7A 86 96 131
12
1 13
1 141 8A 9A 10A
92
142 82 62 57 62 76 11A
96
14
6
86
51
33
51
66
表二 各厂的生产量及总费用(生产量可小于500)(单位:单位 、万元)
6
表三 各厂的生产量及总费用(单位:单位
、万元)
6
6
表四 问题一订购和运输方案(不足1km 的按整数计)(单位:单位 、万元)。

相关文档
最新文档