基于遗传算法的货运列车开行方案优化建模【matlab源码】

0.背景介绍

为了在满足货运需求的同时,最大化列车开行收益,并且希望保证较高的开行效率(最小化停站次数),以下将列车开行方案及运载量进行建模。

1.模型及符号参数含义

S ——路网络中的车站集

本建模中,共有五个车站,分别为西安,成都,重庆,贵阳,昆明。

在本研究中,分别表示为A-E:

地名

成都

贵阳

重庆

西安

昆明

符号

A

B

C

D

E

E ——路网中的区段集

共有5个车站,因此对共有10个区段,分为上下行,即为20种开行班次。

上行方向

下行方向

序号

起点

终点

起点

终点

1

成都

贵阳

贵阳

成都

2

成都

重庆

重庆

成都

3

成都

西安

西安

成都

4

成都

昆明

昆明

成都

5

贵阳

重庆

重庆

贵阳

6

贵阳

西安

西安

贵阳

7

贵阳

昆明

昆明

贵阳

8

重庆

西安

西安

重庆

9

重庆

昆明

昆明

重庆

10

西安

昆明

昆明

西安

本建模需要求解的,即为每一个开行班次的频次,以及每一个开行班次的停站方案。

n(e) ——区段e 的通过能力

q(i,j)  ——i,j 站间每辆车平均装载的货物吨数,t/车;

q为固定值,本模型中q取7.55;此外,本次建模中,每一班列车的编排车组数量均为8,即为每一趟开行列车的最大运载能力为7.55*8=60.4吨。

C1 ——开行货物列车每吨公里的平均运营收入,元/t·km;

C2 ——每车公里的运营成本,包括线路使用费与机车牵引费,元/车;

C3 ——车站技术作业所需的费用,元/次;

C1, C2, C3为固定值,本模型中C1取2.5; C2=2.16;C3=100;

Q(i,j) ——i,j 站间货流量预测值,  i,j属于s  ,车/日;

成都

贵阳

重庆

西安

昆明

成都

0

59.14

106.12

85.55

80.19

贵阳

142.23

0

85.63

69.03

64.70

重庆

133.46

44.78

0

64.77

60.71

西安

196.59

65.97

118.36

0

89.44

昆明

188.34

63.20

113.40

91.41

0

k  ——车站 i,j 间每日可开行的列车数,列/日; k∈[0,a] ,其中 a 为任意 i,j 站间可开行的最大班列数.

成都

贵阳

重庆

西安

昆明

成都

0

1

2

1

1

贵阳

2

0

1

1

1

重庆

2

1

0

1

1

西安

3

1

2

0

1

昆明

3

1

2

2

0

d(i,j) —— i,j 站间运价里程,km

成都

贵阳

重庆

西安

昆明

成都

0

993

504

842

1100

贵阳

993

0

463

1272

638

重庆

504

463

0

790

1237

西安

842

1272

790

0

1942

昆明

1100

638

1237

1942

0

miu 为快捷货物编组辆数,本模型中,miu=8.

x(k,m) 列车k在m车站是否停车,0表示不停,1表示停车。

该变量也为决策变量,

n(k,i,j)——列车 k 挂运的车站 i,j 间的装车数,车/日;

这个为待求的决策变量。

2.模型的目标函数

本模型的优化目标主要有两个,

1.总的运营收益最大化。

2.总体停站次数最小。

min(Z2)=

为了方便求解,可以将上述两个目标通过一定的系数转化 一个综合指标。

3. 模型的约束条件

1.所有车站间的货运流量需求需要满足。

2.需要保证列车就近停靠

对于所有的i和j,

3.列车开行数量需要满足区间同行能力限制

本模型中,所有车站之间的最大可开行班次均用固定的a表示。

需要满足对于所有的ij组合,k均小于a。

3. 编码方式

每种起终点会对应有3个中途车站,我们可以用3个二进制数表示一种停站方案,共有8种情况,然后每种停站方案再使用3个二进制位表示改种停站方案的开行班次数量。

因此遗传算法的每一个染色体的长度应该为20*(3+3)*8=960;

从前到后的停站方案分别为:

中途站点1

中途站点2

中途站点3

0

0

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

0

0

0

0

0

0

0

0

1

0

1

0

1

1

1

0

1

0

共有8个片段,分别表示上述8种停站方案,000表示不停车方案,111表示站站停车的方案,之后的三位二进制表示其对应的班次数量。

遗传算法的种群规模设置为100,最大迭代次数可以设为500或者1000.

代码清单:

基于遗传算法的货运列车开行方案优化建模【matlab源码】_第1张图片

 

代码获取链接:

正在为您运送作品详情

你可能感兴趣的