张军
主要内容
什么是VRP
VRP背景及应用
VRP问题定义
VRP问题的分类
VRP问题数学模型
VRP算法类型及简要介绍
近年来关于VRP的研究
一、什么是VRP
VRP(Vehicle Routing Problem)
车辆路径问题
当不考虑时间要求,仅根据空间位置安排线路时,称为车辆路径问题。
二、VRP的背景及应用
车辆路径问题是由和于1959年首先提出来的,很快引起运筹学、管理学、计算机应用、组合数学、图论等学科的专家学者的高度重视。
其研究结果在运输系统、物流配送系统、快递收发系统中都已得到广泛应用。
三、VRP问题定义
对一系列发货点或收货点,组织适当的行车路线,使车辆有序地通过它们,在满足一定的约束条件(如货物需求量、发送量、交发货时间、车辆容量限制、行驶里程限制、时间限制等) 下,达到一定的目标(如路程最短、费用最小、时间尽量少、使用车辆尽量少等)。
四、VRP问题的分类
按任务特征分类
装货问题(Pure Pick Up )、卸货问题(Pure Delivery)及装卸混合问题(Combined Pick Up and Delivery)
按任务性质分类
有对弧服务问题(如中国邮递员问题) 和对点服务问题(如旅行商问题)
以及混合服务问题(如交通车路线安排问题)
按车辆载货状况分类
有满载问题和非满载问题
按车场数目分类
有单车场问题和多车场问题
按车辆类型分类
有单车型问题和多车型问题
按车辆对车场的所属关系分类
有车辆开放问题(车辆可不返回车场)和车辆封闭问题(车辆必须返回车场)
按已知信息的特征分类
有确定性VRP和不确定性VRP,其中不确定性VRP 可进一步分为随机VRP(SVRP)和模糊VRP(FVRP)
按优化目标数来分类
有单目标问题和多目标问题
按约束条件分类
有距离约束的VRP问题(Distance Constrained Vehicle Routing Problem)
有能力约束的VRP问题(Vehicle Routing Problem with Capacity Restriction )
对称问题和非对称问题
三角不等式问题
按约束条件分类
有等需求问题(Equal Demand)和非等需求问题(Unequal Demand)
有时间窗的VRP问题(Vehicle Routing Problem with Time Window)
该问题中还包括柔性时间窗约束和刚性时间窗约束
五、VRP问题的数学模型
(1)问题
从一个配送中心出发,向多个客户点送货,然后在同一天内返回到该配送中心,要安排一个满意的运行路线。
(2)已知条件
配送中心拥有的车辆台数m及每辆车的载重量(吨位)为
需求点 数为n及每个点的需货量为
配送中心到各需求点的费用及各需求点之间的费用为
五、VRP问题的数学模型
(3)目标
各车辆行走的路径使总运输费用最小。
(4)模型中符号定义
所有收货点的货物量需求为
车辆的容量限制
决策变量
第k辆车从点i到点j
0 否则
需求点i由车辆k送货
0 否则
五、VRP问题的数学模型
数学模型为:
每辆车所运送的货物量不超过其载重量
每个需求点由且仅由一辆车送货
若客户点j由车辆k送货,则车辆k必由某点i到达点j
若客户点i由车辆k送货,则车辆k送完该点的货后必到达另一点j
六、VRP算法类型及简要介绍
VRP算法类型
精确解法
启发式算法
分枝定界法(Branch and Bound Approach)
割平面法(Cutting Planes Approach)
网络流算法(Network Flow Approach)
动态规划算法(Dynamic Programming Approach)
构造算法(Constructive Algorithm )
两阶段算法(Two Phase Algorithm)
亚启发式算法(Metaheuristics Algorithm)
C-W节约算法
算法的思想
假定有n个访问地,把每个访问地看成一个点,并取其中
的一个点作为基点。首先将每个点与基点相联接,构成
线路1-j-1(j=2,3,…,n)这样就得到一个具有n-1条
线路的图。旅行者按照此路线访问的n个点所走的路程总
为 z=2∑c1j ,其中c1j 为点1到点j(j=2,3,…,n)的路段
长度,这里假定c1j =cj1(对所有点j)。若联接点i和j,
即使旅行者走弧(i,j),所节约的路程值(i,j)可计算如
下:s(i,j)=2 c1i+2 c1j –(c1i + c1j + cij )。对不同的点对
s(i,j)越大,所节约的路程越多,因此应优先将这段弧插
入到旅行线路中。
C-W节约算法
算法的步骤
(1)选取基点,将基点与其他各点联接,得到n-1条线路1-j-1(j=2,3,…,n)
(2)对不违背条件的所有可联接点对(i,j)计算节约值s(i,j)=c1i + c1j – cij
(3)将所有的s(i,j)按其值由大到小排列。
(4)按s(i,j)值的上述顺序,逐个考察其端点i和j,若满足以下条件,就将弧(i,j)插入到线路中。其条件是:
点i和点j不在一条线路上
点i和点j均与基点相邻。
(5)返回步骤(4),直至考察完所有的弧为止。
通过上面的步骤,使问题的解逐步得到改善,最后
达到满意解。
y
25
20
15
10
5
0
5
10
15
20
25
x
A
B
C
D
E
F
G
各点坐标:
A(10,23)
B(0,13)
C(1,0)
D(21,2)
E(13,4)
F(11,6)
G(10,10)
例:用C-W节约算法求解下述TSP问题,已知访问点的位置如下所示
各点坐标:
A(10,23)
B(0,13)
C(1,0)
D(21,2)
E(13,4)
F(11,6)
G(10,10)
25
20
15
10
5
0
5
10
15
20
25
x
A
B
C
D
E
F
G
y
0
G
0
F
0
E
0
D
0
C
0
B
0
A
G
F
E
D
C
B
A
到
从
各点对之间的距离,cij=cji
(D,G)
11
(C,E)
3
(C,G)
10
(E,F)
2
(E,G)
9
(D,E)
1
(B,G)
14
(C,D)
6
(B,E)
13
(D,F)
5
(B,F)
12
(C,F)
4
(B,C)
8
(B,D)
15
(F,G)
7
节约值
弧
序号
节约值
弧
序号
按各段弧节约值由大到小的顺序进行排列
A-D-E-F-C-B-A,A-G-A
(B,C)
8
0
E点、C点与基点A不相邻,不插入
(E,G)
(C,G)
9,10
A-B-A,A-C-A,A-D-E-F-A,A-G-A
(E,F)
2
A-B-A,A-C-A,A-D-E-A,A-F-A,A-G-A
(D,E)
1
A-B-A,A-C-A,A-D-A,A-E-A,A-F-A,A-G-A
0
0
这些点已在同一条线路上
(D,F)
(C,D)
5,6
A-B-A,A-D-E-F-C-A,A-G-A
(C,F)
4
0
E点与基点A不相邻,不插入
(C,E)
3
A-G-D-E-F-C-B-A
(D,G)
11
0
F点与基点A不相邻,不插入
(F,G)
7
插入该弧的节约值
线路及说明
弧
序号
25
20
15
10
5
0
5
10
15
20
25
x
A
B
C
D
E
F
G
y
最后得到的线路为A-G-D-E-F-C-B-A,线路总长度为
插入法
算法思想
在已有的路径中插入别的需求点,从而不断扩大配送路径,在插入其他需求点时,需检验是否满足最大运距约束、最大载重量约束和作业时间约束等条件。
算法步骤
分别对于每台配送车辆适当选择客户群。
在配送中心与客户群之间构筑路径,以此作为初始路径。
对于客户群之外的客户k按照适当顺序,在具有实施可能性而且使总的费用增加最小。
Pi
Pj
P0
Pk
Pi
Pj
P0
Pk
Cik
Cki
Cij
由此带来的费用:
其中 为插入客户k时,客户j的等待时间增量
Sweep算法
算法思想
顾客点的位置以极坐标给出。仓库假设在原点的位置,客户点按照角度的逐步增加被排序,如果两个点有同样的角度,那么半径小的先访问。然后在满足可行性条件的前提下,按角度大小归并到不同的子路径中,最后再根据TSP的优化算法对所得到的子路径进行优化。
算法步骤
从仓库出发。
在目前的车辆路径中加入目前序号最小的顾客点,如果车辆超载了,选择一个新的车辆,回到步骤1
重复步骤2直到所有的客户点都被访问。
构造完初始路径后,通过交换路径中的节点来改善调度。
1
3
2
4
5
6
7
8
0度
先路径后分组算法
算法思想
先松弛模型中关于车辆载重和距离等的约束,构造一个或几个很长的路径,然后把这些很长的线路分解成一些短而可行的线路。
算法步骤
寻求对于每个节点通过一次且只通过一次的巡回路径。
在满足步骤1上的路径中节点的连续性和给定的条件(最大装载量或最大距离)下进行分组。
确定各组需求点的最优访问顺序。
常用的分组方法有集合划分算法(Set Partitioning Approach)、集合覆盖算法(Set Covering Approach)、最优划分法(Optimal Partitioning Method)和填充曲线法(Spacefilling Curve Method)
先分组后路径算法
算法思路
这种方法先按节点和/或弧的要求进行分组或划群,然后对每一组设计一条经济的路线。
算法步骤
先将客户按其地理位置和需求量合理地分成若干组,每组客户的需求总量不超过配送车辆的装载限量。
对各组加上仓库求巡回路径。
领域分派法
Gillett&Miller的
扇形分派法
Marchetti&Spaccamela的
极线分派法
领域分派法
Karp的
矩形分派法
Haimovitch&Rinnooy Kan的
圆形分派法
近年来关于VRP的研究
国内关于VRP研究的特点是:
(1)所研究的问题类型确定性占大多数。
(2)开始使用蚁群算法、粒子群、免疫算法等新的启发式算法解决VRP问题。
(3)研究具有时间窗约束的VRP。
(4)我国开始研究关于开路式VRP,但是文献非常少,仅1篇。
近年来关于VRP的研究
国外关于VRP研究的特点是:
国外对VRP问题研究比国内早大约30余年,因此国外关于VRP问题的文献相当丰富,而且对该问题的研究还有逐年增加的趋势。国外的VRP研究主要集中在新的约束条件或新的问题实例下VRP的建模及快速求解方法上,来更好的适用于不同的实际情况。
The End
Thank You
depot
customer
中国邮递员问题
一名邮递员带着要分发的邮件从邮局出发,经过要分发的每个街道,送完邮件后又返回邮局.如果他必须至少一次走过他管辖范围内的每一条街道,如何选择投递路线,使邮递员走尽可能少的路程.
TSP问题
旅行商问题,即TSP问题(Traveling Salesman Problem)是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。
VRP资源
学校的学术期刊网及英文全文数据库
搜索引擎,如google、baidu等
文摘索引数据库,如Scopus等