1、车辆路径问题概念、模型及算法1、定义车辆路径问题车辆路径问题(VRP)一般定义为:对一系列装货点一般定义为:对一系列装货点和卸货点,组织适当的行车线路,使车辆有序地通和卸货点,组织适当的行车线路,使车辆有序地通过它们,在满足一定的约束条件过它们,在满足一定的约束条件(如货物需求量、如货物需求量、发送量、交发货时间、车辆容量限制、行驶里程限发送量、交发货时间、车辆容量限制、行驶里程限制、时间限制等制、时间限制等)下,达到一定问题的目标下,达到一定问题的目标(如路程如路程最短、费用最少、时间尽量少、使用车辆数尽量少最短、费用最少、时间尽量少、使用车辆数尽量少等等)。目前有关目前有关VRP的研究已经
2、可以表示(如图的研究已经可以表示(如图1)为:)为:给定一个或多个中心点(中心仓库,给定一个或多个中心点(中心仓库,central depot)、一个车辆集合和一个顾客集合,车辆和)、一个车辆集合和一个顾客集合,车辆和顾客各有自己的属性,每辆车都有容量,所装载货顾客各有自己的属性,每辆车都有容量,所装载货物不能超过它的容量。起初车辆都在中心点,顾客物不能超过它的容量。起初车辆都在中心点,顾客在空间任意分布,车把货物从车库运送到每一个顾在空间任意分布,车把货物从车库运送到每一个顾客(或从每个顾客处把货物运到车库),要求满足客(或从每个顾客处把货物运到车库),要求满足顾客的需求,车辆最后返回车库,
3、每个顾客只能被顾客的需求,车辆最后返回车库,每个顾客只能被服务一次,怎样才能使运输费用最小。而顾客的需服务一次,怎样才能使运输费用最小。而顾客的需求或已知、或随机、或以时间规律变化。求或已知、或随机、或以时间规律变化。2、VRP问题约束(1)容量约束:任意车辆路径的总重量不能超过该容量约束:任意车辆路径的总重量不能超过该车辆的能力负荷。引出带容量约束的车辆路径问题车辆的能力负荷。引出带容量约束的车辆路径问题(CapacitatedVehicle Routing Problem,CVRP)。(2)优先约束:引出优先约束车辆路径问题优先约束:引出优先约束车辆路径问题(VehicleRouting
4、Problem with precedence Constraints,VRPPC)。(3)车型约束:引出多车型车辆路径问题车型约束:引出多车型车辆路径问题(Mixed/Heterogeneous Fleet Vehicle Routing Problem,MFVRP/HFVRP)。(4)时间窗约束:包括硬时间窗时间窗约束:包括硬时间窗(Hard Time windows)和软时间窗和软时间窗(Soft Time windows)约束。引约束。引出带时间窗出带时间窗(包括硬时间窗和软时间窗包括硬时间窗和软时间窗)的车辆路径的车辆路径问题问题(Vehicle Routing Problem wi
5、thTime windows,VRPTW)。(5)相容性约束:引出相容性约束车辆路径问题相容性约束:引出相容性约束车辆路径问题(VehicleRouting Problem with Compatibility Constraints,VRPCC)。(6)随机需求:引出随机需求车辆路径问题随机需求:引出随机需求车辆路径问题(VehicleRouting Problem with Stochastic Demand,VRPSD)。(7)开路:引出开路车辆路径问题开路:引出开路车辆路径问题(Open Vehicle RoutingProblem)。(8)多运输中心:引出多运输中心的车辆路径问题多运
6、输中心:引出多运输中心的车辆路径问题(Multi-Depot Vehicle Routing Problem)。(9)回程运输:引出带回程运输的车辆路径问题回程运输:引出带回程运输的车辆路径问题(VehicleRouting Problem with Backhauls)。(10)最后时间期限:引出带最后时间期限的车辆路径问最后时间期限:引出带最后时间期限的车辆路径问题题(Vehicle Routing Problem with Time Deadlines)。(11)车速随时间变化:引出车速随时间变化的车辆路径车速随时间变化:引出车速随时间变化的车辆路径问题问题(Time-Dependent
7、 Vehicle Routing Problem)。3、CVRP CVRP问题描述及其数学模型问题描述及其数学模型CVRP的描述:设某中心车场有的描述:设某中心车场有k辆车,每辆配送车辆车,每辆配送车的最大载重量的最大载重量Q,需要对,需要对n个客户个客户(节点节点)进行运输配进行运输配送,每辆车从中心车场出发给若干个客户送货,最送,每辆车从中心车场出发给若干个客户送货,最终回到中心车场,客户点终回到中心车场,客户点i的货物需求量是的货物需求量是qi(i=1,2,n),且,且qiQ。记配送中心编号为。记配送中心编号为0,各客,各客户编号为户编号为i(i=1,2,n),cij表示客户表示客户i到
8、客户到客户j的距的距离。求满足车辆数最小,车辆行驶总路程最短的运离。求满足车辆数最小,车辆行驶总路程最短的运送方案。送方案。定义变量如下定义变量如下:建立此问题的数学模型建立此问题的数学模型:4、车辆路径问题算法综述目前,求解车辆路径问题的方法非常多,基本上可以分目前,求解车辆路径问题的方法非常多,基本上可以分为精确算法和启发式算法为精确算法和启发式算法2大类。大类。精确算法是指可求出其最优解的算法,主要运用线性规精确算法是指可求出其最优解的算法,主要运用线性规划、整数规划、非线性规划等数学规划技术来描述物流划、整数规划、非线性规划等数学规划技术来描述物流系统的数量关系,以便求得最优决策。(运
9、筹学领域)系统的数量关系,以便求得最优决策。(运筹学领域)精确算法主要有精确算法主要有:分枝定界法分枝定界法(Branch and Bound Approach)割平面法割平面法(Cutting Planes Approach)网络流算法网络流算法(Network Flow Approach)动态规划算法动态规划算法(Dynamic Programming Approach)分枝定界法分枝定界法(Branch and Bound Approach)以求相应的线性规划问题的最优解为出发点,如果得到以求相应的线性规划问题的最优解为出发点,如果得到的解不符合整数条件,就将原规划问题分成几支,每支的解
10、不符合整数条件,就将原规划问题分成几支,每支增加了约束条件,即缩小了可行解区域,可行解范围也增加了约束条件,即缩小了可行解区域,可行解范围也随之缩小了,因而整数规划的最优值不会优于相应的线随之缩小了,因而整数规划的最优值不会优于相应的线性规划最优值。性规划最优值。“定界定界”是指为目标函数定上下界,以便自动舍去那些是指为目标函数定上下界,以便自动舍去那些最优值较差的子问题,提高计算效率。当整数规划问题最优值较差的子问题,提高计算效率。当整数规划问题的最优目标函数值的上下界相等时,该整数规划最优解的最优目标函数值的上下界相等时,该整数规划最优解已求出。已求出。首先,不考虑变量的整数约束,求解松弛
11、问题首先,不考虑变量的整数约束,求解松弛问题线性规划的最优解。如果线性规划的最优解恰好是线性规划的最优解。如果线性规划的最优解恰好是整数解,则这个解就是整数规划的最优解。整数解,则这个解就是整数规划的最优解。如果线性规划的最优解中至少有一个变量不是如果线性规划的最优解中至少有一个变量不是整数,把线性规划的可行域切割成两部分,分别求整数,把线性规划的可行域切割成两部分,分别求解两个线性规划的最优解。解两个线性规划的最优解。如果这两个线性规划的最优解还不是整数解,如果这两个线性规划的最优解还不是整数解,分别把每一个可行域再进行分割。这个过程,叫做分别把每一个可行域再进行分割。这个过程,叫做“分支分
12、支”。分支过程得到的整数解中,目标函数值最优的分支过程得到的整数解中,目标函数值最优的一个叫做整数规划目标函数值的一个叫做整数规划目标函数值的“界界”。分支过程。分支过程中非整数的线性规划的最优解,如果目标函数值劣中非整数的线性规划的最优解,如果目标函数值劣于或等于这个于或等于这个“界界”,就停止继续分支。这个过程,就停止继续分支。这个过程,叫做叫做“定界定界”。割平面法割平面法(Cutting Planes Approach)用割平面法求解整数规划的基本思路是:先不考虑整数用割平面法求解整数规划的基本思路是:先不考虑整数约束条件,求松弛问题的最优解,如果获得整数最优解,约束条件,求松弛问题的
13、最优解,如果获得整数最优解,即为所求,运算停止。如果所得到最优解不满足整数约即为所求,运算停止。如果所得到最优解不满足整数约束条件,则在此非整数解的基础上增加新的约束条件重束条件,则在此非整数解的基础上增加新的约束条件重新求解。这个新增加的约束条件的作用就是去切割相应新求解。这个新增加的约束条件的作用就是去切割相应松弛问题的可行域,即割去松弛问题的部分非整数解松弛问题的可行域,即割去松弛问题的部分非整数解(包括原已得到的非整数最优解包括原已得到的非整数最优解)。而把所有的整数解都。而把所有的整数解都保留下来,故称新增加的约束条件为割平面。当经过多保留下来,故称新增加的约束条件为割平面。当经过多
14、次切割后,就会使被切割后保留下来的可行域上有一个次切割后,就会使被切割后保留下来的可行域上有一个坐标均为整数的顶点,它恰好就是所求问题的整数最优坐标均为整数的顶点,它恰好就是所求问题的整数最优解。即切割后所对应的松弛问题,与原整数规划问题具解。即切割后所对应的松弛问题,与原整数规划问题具有相同的最优解。有相同的最优解。网络流算法网络流算法(Network Flow Approach)图论图论中的一种理论与方法,研究网络上的一类最优化问中的一种理论与方法,研究网络上的一类最优化问题题 。1955年年 ,T.E.哈里斯哈里斯在研究铁路最大通量时首先在研究铁路最大通量时首先提出在一个给定的网络上寻求
15、两点间最大运输量的问题。提出在一个给定的网络上寻求两点间最大运输量的问题。1956年,年,L.R.福特和福特和 D.R.富尔克森等人给出了解决这富尔克森等人给出了解决这类问题的算法,从而建立了类问题的算法,从而建立了网络流理论网络流理论。所谓网络或容。所谓网络或容量网络指的是一个连通的赋权有向图量网络指的是一个连通的赋权有向图 D=(V、E、C),其中其中V 是该图的顶点集,是该图的顶点集,E是有向边是有向边(即弧即弧)集,集,C是是弧上的容量。此外顶点集中包括一个起点和一个终点。弧上的容量。此外顶点集中包括一个起点和一个终点。网络上的流就是由起点流向终点的可行流,这是定义在网络上的流就是由起
16、点流向终点的可行流,这是定义在网络上的非负函数,它一方面受到容量的限制,另一方网络上的非负函数,它一方面受到容量的限制,另一方面除去起点和终点以外,在所有中途点要求保持流入量面除去起点和终点以外,在所有中途点要求保持流入量和流出量是平衡的。和流出量是平衡的。动态规划算法动态规划算法(Dynamic Programming Approach)动态规划是一种求解多阶段决策问题的系统技术。动态规划是一种求解多阶段决策问题的系统技术。如果一类活动过程可以分为若干个互相联系的阶段,在如果一类活动过程可以分为若干个互相联系的阶段,在每一个阶段都需作出决策,一个阶段的决策确定以后,每一个阶段都需作出决策,一个阶段的决策确定以后,常常影响到下一个阶段的决策,从而就完全确定了一个常常影响到下一个阶段的决策,从而就完全确定了一个过程的活动路线,则称它为多阶段决策问题。过程的活动路线,则称它为多阶段决策问题。各个阶段的决策构成一个决策序列,称为一个策略。每各个阶段的决策构成一个决策序列,称为一个策略。每一个阶段都有若干个决策可供选择,因而就有许多策略一个阶段都有若干个决策可供选择,因而就有许多策略供我们选取
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1