《车辆路径问题.doc》由会员分享,可在线阅读,更多相关《车辆路径问题.doc(7页珍藏版)》请在金锄头文库上搜索。
1、车辆路径问题(VRP)一般定义为:对一系列装货点和卸货点,组织适当的行车线路,使车辆有序地通过它们,在满足一定的约束条件(如货物需求量、发送量、交发货时间、车辆容量限制、行驶里程限制、时间限制等)下,达到一定问题的目标(如路程最短、费用最少、时间尽量少、使用车辆数尽量少等)。目前有关VRP的研究已经可以表示(如图1)为:给定一个或多个中心点(中心仓库,central depot)、一个车辆集合和一个顾客集合,车辆和顾客各有自己的属性,每辆车都有容量,所装载货物不能超过它的容量。起初车辆都在中心点,顾客在空间任意分布,车把货物从车库运送到每一个顾客(或从每个顾客处把货物运到车库),要求满足顾客的
2、需求,车辆最后返回车库,每个顾客只能被服务一次,怎样才能使运输费用最小。而顾客的需求或已知、或随机、或以时间规律变化。图1 VRP示意图一、在VRP中,最常见的约束条件有:(1) 容量约束:任意车辆路径的总重量不能超过该车辆的能力负荷。引出带容量约束的车辆路径问题(CapacitatedVehicle Routing Problem,CVRP)。(2) 优先约束:引出优先约束车辆路径问题(VehicleRouting Problem with precedence Constraints,VRPPC)。(3) 车型约束:引出多车型车辆路径问题(Mixed/Heterogeneous Fleet
3、 Vehicle Routing Problem,MFVRP/ HFVRP)。(4) 时间窗约束:包括硬时间窗(Hard Time windows)和软时间窗(Soft Time windows) 约束。引出带时间窗(包括硬时间窗和软时间窗)的车辆路径问题(Vehicle Routing Problem withTime windows,VRPTW)。(5) 相容性约束:引出相容性约束车辆路径问题(VehicleRouting Problem with Compatibility Constraints,VRPCC)。(6) 随机需求:引出随机需求车辆路径问题(VehicleRouting P
4、roblem with Stochastic Demand,VRPSD)。(7) 开路:引出开路车辆路径问题(Open Vehicle RoutingProblem)。(8) 多运输中心:引出多运输中心的车辆路径问题(Multi-Depot Vehicle Routing Problem)。(9) 回程运输:引出带回程运输的车辆路径问题(VehicleRouting Problem with Backhauls)。 (10) 最后时间期限:引出带最后时间期限的车辆路径问题(Vehicle Routing Problem with Time Deadlines)。(11) 车速随时间变化:引出车
5、速随时间变化的车辆路径问题(Time-Dependent Vehicle Routing Problem)。二、CVRP问题描述及其数学模型CVRP的描述:设某中心车场有k辆车,每辆配送车的最大载重量Q,需要对n个客户(节点)进行运输配送,每辆车从中心车场出发给若干个客户送货,最终回到中心车场,客户点i的货物需求量是qi (i=1,2,n),且qiQ。记配送中心编号为0,各客户编号为i(i=1,2 ,n), cij表示客户i到客户j的距离。求满足车辆数最小,车辆行驶总路程最短的运送方案。定义变量如下: 建立此问题的数学模型: minz = cijxijk (2.2)约束条件: yki =1 (
6、i=0,1,n ) (2.3) xijk=ykj (j=0,1,n k=1,2,m) (2.4) xjik=ykj (j=0,1,n k=1,2,m) (2.5) qiykiQ (k=1,2,m) (2.6)三、车辆路径问题算法综述目前,求解车辆路径问题的方法非常多,基本上可以分为精确算法和启发式算法2大类。3.1 精确算法精确算法是指可求出其最优解的算法,主要运用线性规划、整数规划、非线性规划等数学规划技术来描述物流系统的数量关系,以便求得最优决策。精确算法主要有: 分枝定界法(Branch and Bound Approach) 割平面法(Cutting Planes Approach)
7、网络流算法(Network Flow Approach) 动态规划算法(Dynamic Programming Approach)总的说来,精确性算法基于严格的数学手段,在可以求解的情况下,其解通常要优于人工智能算法。但由于引入严格的数学方法,计算量一般随问题规模的增大呈指数增长,因而无法避开指数爆炸问题,从而使该类算法只能有效求解中小规模的确定性VRP,并且通常这些算法都是针对某一特定问题设计的,适用能力较差,因此在实际中其应用范围很有限。3.2 启发式算法由于车辆路径优化问题是NP难题,高效的精确算法存在的可能性不大(除非P=NP),所以寻找近似算法是必要和现实的,为此专家主要把精力花在构
8、造高质量的启发式算法上。启发式算法是在状态空间中的改进搜索算法,它对每一个搜索的位置进行评价,得到最好的位置,再从这个位置进行搜索直到目标。在启发式搜索中,对位置的估价十分重要,采用不同的估价可以有不同的效果。目前已提出的启发式算法较多,分类也相当多,按Van Breedam的分类法,主要的启发式算法有以下几类:构造算法、两阶段法、智能化算法。3.2.1 构造算法(Constructive Algorithm)这类方法的基本思想是:根据一些准则,每一次将一个不在线路上的点增加进线路,直到所有点都被安排进线路为止。该类算法的每一步把当前的线路构形(很可能是不可行的)跟另外的构形(也可能是不可行的
9、)进行比较并加以改进,后者或是根据某个判别函数(例如总费用)会产生最大限度的节约的构形,或是以最小代价把一个不在当前构形上的需求对象插入进来的构形,最后得到一个较好的可行构形。这类算法中中最著名的是Clarke和Wright在1964年提出的节约算法。构造算法最早提出来解决旅行商问题,这些方法一般速度快,也很灵活,但这类方法有时找到的解离最优解差得很远。3.2.2 两阶段法(Two-phase Algorithm)学者们通过对构造算法的研究,认为由构造算法求得的解可以被进一步改进,为此提出了两阶段法。第一阶段得到一可行解,第二阶段通过对点的调整,在始终保持解可行的情况下,力图向最优目标靠近,每
10、一步都产生另一个可行解以代替原来的解,使目标函数值得以改进,一直继续到不能再改进目标函数值为止。Gillet和Miller于1974年提出的sweep算法,Christofides、Mingozzi和Toth的算法以及Fisher和Jaikumar的算法都属于两阶段法。一般第一阶段常用构造算法,在第二阶段常用的改进技术有2-opt(Lin,1965),3-opt(Lin Kernighan,1973)和Or-opt (Or,1976)交换法,这是一种在解的邻域中搜索,对初始解进行某种程度优化的算法,以改进初始解。一些基于数学规划的算法也属于两阶段法,把问题直接描述成一个数学规划问题,根据其模型
11、的特殊构形,应用一定的技术(如分解)进行划分,进而求解己被广泛研究过的子问题(Fisher和Jaikumar,1981)。在两阶段法求解过程中,常常采用交互式优化技术,把人的主观能动作用结合到问题的求解过程中,其主要思想是:有经验的决策者具有对结果和参数的某种判断能力,并且根据知识直感,把主观的估计加到优化模型中去。这样做通常会增加模型最终实现并被采用的可能性。此方法是目前成果最丰富、应用最多的一类方法。每一种方法讨论的情况不尽一致,适用范围也不完全相同。3.2.3 智能化算法(Intelligent Algorithm)这类算法以启发式准则来代替精确算法中的决策准则,以缩小解搜索的空间。总体
12、来看,尽管启发式算法能够在有限的时间内求出质量较高的解,但由于其搜索解空间的能力有所限制,因此经常无法达到预期的要求。20世纪90年代以来,由于人工智能方法在解决组合优化问题中的强大功能,不少学者开始将人工智能引入车辆路线问题的求解中,并构造了大量的基于人工智能的启发式算法(智能化启发式算法)。智能化启发式算法从本质上讲仍然属于启发式算法,其基本思想是从一初始解开始,通过对当前的解进行反复地局部扰乱(Perturbations)以达到较好的解。目前,最常见的智能化启发式算法包括模拟退火算法(Simulated Annealing)、禁忌搜索算法(Tabu Search)、遗传算法(Genetic Algorithm)、蚁群算法(Ant Colony)和神经网络(Neutral Networks)、粒子群算法(Particle Swarm Optimization,PSO)方法等。