一、问题重述

要铺设一条输送天然气的主管道:A1→A2→…→A15,
能生产这种钢管的厂家一共有:S1,S2,…,S7。
厂家与管道间的交通网络已知。粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿着管道或者原来有公路,或者建有施工公路)
在这里插入图片描述一个钢厂如果承担制造这种钢管,至少需要生产 500 个单位。钢厂Si在指定期限内能生产 该钢管的最大数量为si个单位,钢管出厂销价1单位钢管为pi万元。如下表。
在这里插入图片描述1单位钢管的铁路运价如下表,另外1000km以上每增加1至100km运价增加5万元。
在这里插入图片描述公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)。
钢管可由铁路、公路运往铺设地点(不只是运到主管道结点A1,A2,…,A15,而是管道全线)。

需要解决的问题

(1)请定制一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
(2)请就(1)的模型分析:哪个钢厂钢管的销量的变化运购计划总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和费用的影响最大,并给出相应的数字结果。
(3)如果要铺设的管道不是一条直线,而是一个树形图,铁路、公路和管道构成的网络,请就这种更一般的情况给出一种解决办法,并对图(2)的情形给出模型结果。

二、模型假设

  1. 铺设的主管道以有公路或者有施工公路。
  2. 在主管道上,每公里卸1单位的钢管。
  3. 公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)
  4. 在计算总费用时,只考虑运输费和购买钢管的费用,而不考虑其他费用。
  5. 在计算钢厂的产量对购运计划的影响时,只考虑钢厂的产量足够满足需要的情况,即钢厂的产量不受限制。
  6. 假设钢管在铁路运输路程超过1000km时,铁路每增加1至100km,1单位钢管的运价增加5万元。

三、符号说明

S i : 第 i 个 钢 厂 ; i = 1 , 2 , . . . , 7 S_i:第i个钢厂;\qquad i=1,2,...,7 Siii=1,2,...,7
s i : 第 i 个 钢 厂 的 最 大 产 量 ; i = 1 , 2 , . . . , 7 s_i:第i个钢厂的最大产量;\qquad i=1,2,...,7 si:ii=1,2,...,7
A j : 输 送 管 道 ( 主 管 道 ) 上 的 第 j 个 点 ; j = 1 , 2 , . . . , 15 A_j:输送管道(主管道)上的第j个点;\qquad j=1,2,...,15 Aj:jj=1,2,...,15
p i : 第 i 个 钢 厂 1 单 位 钢 管 的 销 价 ; i = 1 , 2 , . . . , 7 p_i:第i个钢厂1单位钢管的销价;\qquad i=1,2,...,7 pii1i=1,2,...,7
x i j : 钢 厂 S i 向 点 A j 运 输 的 钢 管 量 ; i = 1 , 2 , . . . , 7 j = 1 , 2 , . . . , 15 x_{ij}:钢厂S_i向点A_j运输的钢管量;\qquad i=1,2,...,7\qquad j=1,2,...,15 xij:SiAji=1,2,...,7j=1,2,...,15
y j : 在 点 A j 与 点 A j + 1 之 间 的 公 路 上 , 运 输 点 A j 向 点 A j + 1 方 向 铺 设 的 钢 管 量 ; j = 1 , 2 , 3 , . . . , 14 y_j:在点A_j与点A_{j+1}之间的公路上,运输点A_j向点A_{j+1}方向铺设的钢管量;\qquad j=1,2,3,...,14 yj:AjAj+1AjAj+1j=1,2,3,...,14
A i j : 1 单 位 钢 管 从 钢 厂 S i 到 点 A j 的 最 少 总 费 用 , 即 公 路 运 费 、 铁 路 运 费 和 钢 管 销 价 之 和 ; i = 1 , 2 , . . . , 7 j = 1 , 2 , . . . , 15 A_{ij}:1单位钢管从钢厂S_i到点A_j的最少总费用,即公路运费、铁路运费和钢管销价之和;\qquad i=1,2,...,7 \qquad j=1,2,...,15 Aij:1SiAji=1,2,...,7j=1,2,...,15

四、模型的分析、建立、求解

1. 模型的分析与决策变量的设置

在这里插入图片描述先看总费用:总费用由三部分组成:
1.钢管的订购费。
2.运费。
3.铺设费用。
在这里插入图片描述再看订购和运输计划:
所谓订购计划:就是向每个钢厂订购多少钢管。
所谓运输计划:就是将每个钢厂订购的钢管运输到那些结点?运多少?

故 可 设 : 向 第 i 个 钢 厂 订 购 x i 单 位 的 钢 管 , 第 i 个 钢 厂 运 往 第 j 个 结 点 x i j 单 位 的 钢 管 。 故可设:向第i个钢厂订购x_{i}单位的钢管,第i个钢厂运往第j个结点x_{ij}单位的钢管。 ixiijxij
i = 1 , 2 , . . . , 7 j = 1 , 2 , . . . , 15 i=1,2,...,7\qquad j=1,2,...,15 i=1,2,...,7j=1,2,...,15

在这里插入图片描述再决定每个结点分别向左右铺设多少
当钢管从钢厂Si运到点Aj后,钢管就要向运输点Aj的两边AjAj+1段和Aj-1Aj段运输(铺设)管道。
在这里插入图片描述设yi是结点Aj向右铺设与Aj+1向左铺设之间的交点(y1=0,y15=0)。(j=2,3,…,14)

2.模型的建立

1)目标函数

总费用=铺设总费用+成本及运输总费用=C+W

(1)铺设总费用

当钢管从钢厂运到点Aj后,钢管就要向运输点Aj的两边AjAj+1端和Aj-1Aj段运输(铺设)管道。
yj:表示结点Aj到Aj+1之间的分界点(y1=0,y15=0),铺设方法如下图:
在这里插入图片描述 设 A j 向 A j A j + 1 段 的 运 输 费 为 0.1 × ( 1 + 2 + . . . + y j ) = y j ( y j + 1 ) 20 ; 由 于 相 邻 运 输 点 A j 与 A j + 1 之 间 的 距 离 为 d j , 那 么 A j + 1 向 A j A j + 1 段 铺 设 的 管 道 长 为 d j − y j , 所 以 对 应 铺 设 的 费 用 为 ( d j − y j + 1 ) ( d j + y j ) 20 设A_j向A_jA_{j+1}段的运输费为0.1×(1+2+...+y_j)=\frac{y_j(y_j+1)}{20};由于相邻运输点A_j与A_{j+1}之间的距离为d_j,那么A_{j+1}向A_j A_{j+1}段铺设的管道长为d_j-y_j,所以对应铺设的费用为\frac{(d_j-y_j+1)(d_j+y_j)}{20} AjAjAj+10.1×(1+2+...+yj)=20yj(yj+1);AjAj+1djAj+1AjAj+1djyj20(djyj+1)(dj+yj)
故总的铺设费用为:
在这里插入图片描述

注意变量j的取值是从1到14,不取0和15。

(2)成本和运输总费用

若 运 输 点 A j 向 钢 厂 S i 订 购 x i j 单 位 钢 管 , A i j 是 1 单 位 钢 管 从 钢 厂 S i 到 点 A j 的 最 少 总 费 用 , 即 公 路 运 费 、 铁 路 运 费 和 钢 管 销 价 之 和 ; 则 钢 管 从 钢 厂 S i 运 到 运 输 点 A j 所 需 的 费 用 为 A i j x i j 若运输点A_j向钢厂S_i订购x_{ij}单位钢管,A_{ij}是1单位钢管从钢厂S_i到点A_j的最少总费用,即公路运费、铁路运费和钢管销价之和;则钢管从钢厂S_i运到运输点A_j所需的费用为A_{ij}x_{ij} AjSixijAij1SiAjSiAjAijxij
由于钢管运到A1必须经过A2,所以可以不考虑A1,那么所有钢管从钢厂运到各个运输点上的总费用为:
在这里插入图片描述目标函数为:
在这里插入图片描述综合上述分析,得非线性规划模型
在这里插入图片描述

(3)求单位钢管从钢厂运到运输点的最小费用Aij

方法:将图一转换为一个以单位钢管的运输费 用为权的赋权图,再求最短路的权.
由于运输过程中既有铁路,也有公路。 铁路的运费还是分段函数,与全程运输总距离有 关;各路运费却是线性函数

在数学建模中,时常会出现最短路问题。
最短路问题是指:若从图中的某一顶点(源点) 到达另一顶点(终点)的路径不止一条,如何寻找 一条路径,使得沿此路径各边上的权值总和(源点 到终点的距离)最小,这条路径称为最短路径。
许多优化问题都等价于在一个图中寻找最短路。 例如,管道的铺设、线路的安排、厂址的选取和 布局、设备的更新等。

定义:若将图G的每一条边e都对应一个实数w(e),称w(e)为边的权, 并称图G为赋权图.

思路: 由于钢厂Si直接与铁路相连,所以可先求出钢厂Si到铁路与公路相交点bj(对应于Aj)的最短路径。

1. 将铁路图转化成费用图

将铁路与公路交界的点编号 bj
在这里插入图片描述
计算Si到bi的最小费用
在这里插入图片描述在这里插入图片描述

2.合并铁路和公路图得以费用为权的交通网络图

思路:①再将与bj相连的公路、运输点Ai及其与之相连的要铺设管 道的线路(也是公路)添加到图上。
②同时根据单位钢管在公路上的运价规定,得出每一段公路的 运费,并把此费用作为边权赋给相应的边。以S1为例得图:
在这里插入图片描述

3.计算S1到结点Ai的最小费用

再用图论软件包或MATLAB或LINGO求解,如S1到Ai的最小费用(万元)为:
在这里插入图片描述

4.计算单位钢管从S1到Ai的订购与运输的最小费用

在这里插入图片描述在这里插入图片描述

5.从Si购买单位钢管运到结点Ai的最小费用Aij

同理,可用同样的方法求出钢厂S2、S3、S4、S5、S6、S7到点Aj的最小费用,从而得出从钢厂Si购买单位钢管运到结点Aj的最小总费用 Aij(单位:万元)为:
在这里插入图片描述

3.模型的求解

在这里插入图片描述用LINGO求解(gangguan):
在这里插入图片描述
不让S7生产的模型:
在这里插入图片描述要求钢厂S7的产量不小于500个单位的模型
在这里插入图片描述在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐