车辆路径问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第14章车辆路径问题

14.1 物流配送车辆优化调度概述

14.1.1 概述

车辆路径问题:对一系列装货点和(或)卸货点,组织适当的行车路线,使车辆有序地通过它们,在满足一定的约束条件(如货物需求量、发送量、交发货时间、车辆容量限制、行驶里程限制、时间限制等)下,达到一定的目标(如路程最短、费用最少、时间尽量少,使用车辆数尽量少等)。

又称运输调度问题,包括两部分:一是行车路线的设计;二是出行时间表的安排。

最基本的车辆路径问题,是客户需求位置已知的情况下,确定车辆在各个客户之间的行程路线,使得运输路线最短或运输成本最低,通过研究车辆路径问题,可以合理使用运输工具,优化运输路线,降低企业物流成本。

14.1.2 路径特性

(1)地址特性:车场数目、需求类型、作业要求

(2)车辆特性:车辆数量、载重量约束、可运载品种约束、运行路线约束、工作时间约束

(3)问题的其他特性:道路网络可能是有向的,或者是无向的;单项作业是否可以分割完成;每一辆车是否可以承担多条线路,是否完成作业后必须回到出发点。

(4)目标函数可能是总成本极小化,或者极小化最大作业成本,或者最大化准时作业。

14.1.3 常见的基本问题

(1)旅行商问题

在一个配送中心p有一辆容量为q的货车,现有m个需求点的货运任务需要完成,已知需求点i的货运量为gi(i=1,2,…,m),且Σgi≤q,求在满足各收点需求的约束条件下,总发送距离最短的货车送货路线。

在运筹学中,旅行商问题是这样解释的:有一个推销员,要到n个城市去推销商品,当各个城市间的距离已知,并规定每个城市只访问一次,问按什么样的顺序访问,其距离最短。

(2)带容量约束的车辆路线问题

在一个配送中心p,有一个车队Qj(j=1,2,…,n),这个车队每辆车容量均为q,且有足够的运力保证任务的完成,需求点i的货运量gi满足:nq≥Σgi≥q。这样一来,配送中心需要派出若干的车辆来完成配送任务,每个车可能要为多个需求点服务然后返回配送中心。

该问题包括两个要解决的小问题:一是哪些用户要被分配到一条路线上;二是每条路线上的用户的绕行次序。可以将这个问题看作是一个广义分配问题和多个旅行商问题的结合。

(3)带时间窗的车辆路线问题

由于客户会提出配送的时间要求,因此在上述的问题基础上,要增加时间约束。假设一组有n个需求点要求送货,并表示为1,…,i,…,n,需求点i有一个固定的完成时间Ti,一个服务时间Si,在任何两个需求点i和j之间的运输时间为DH(i,j),距离用dij表示。这个问题首先在无圈有向网络中寻找i到j,并经过所有节点的路径的最小条数(用最大流或最小费用最大流算法来解),它的解为完成所有需求点运输任务所必需的最小车辆数,然后固定车辆数或求解有关的最小费用流问题,这个解保证最小车队规模的同时,使路线运行费用最小。

(4)收集和分发问题

这是对以上问题的推广,假设有多个配送中心,或是允许车辆从需求点发车,问题就升级为有几个封闭循环线路的旅行商问题的组合,这是一个组合优化问题。车辆调度的目标是以最少的车辆通过最经济的线路完成所有的运输任务。

(5)多车型车辆路线问题

(6)优先约束车辆路线问题

(7)相容性约束车辆路线问题

(8)随机需求车辆路线问题

14.1.4 车辆路径问题的求解方法

(1)数学解析法

如动态规划法、整数规划法、树状搜寻法等。对于配送点的问题,可以求得一个最优的解,但若求解的节点数增加,其结果相对变差,与实际配送的情况相差较大。

(2)人机互动法

提供使用者人机互动的方式,结合使用者过去的经验,调整该模型的参数,以作为配送路线规划决策的依据。

(3)先分组再排路线法

先将所有的配送点分成若干的群组,再分别对各个群组进行路线规划,如扫描法。

(4)先排路线再分组法

先进行路线的规划,再进行分割,如巨集分割法。又可以分为单巨集分割法和多巨集分割法。

单巨集分割法:取所有配送点进行旅行商问题的求解,建立一个自原点出发,经过所有结点,最后回到原点的巡回路线,然后以最短路径解法对此路线进行分割,求得所需结果。

多巨集分割法:与单巨集分割法相似,最大的差异在于建立巡回路线时并不包含原点,因此在切割路线时,可以有较多的切割方式。

(5)节省或插入法

节省法:以三角不等式为基础,一部车只以一个配送点为起始点,如此若有N个配送点就有N条路线,计算节省量,可将较短的路线与原始路线交换,缩短配送距离。

插入法:将节省法中的节省值观念应用于循序路线构建上,并以距离物流中心最远的配送点作为起始点,再以最临近的一点作为下一个插入点的配送点,求其节省值,根据取值最大者决定插入的位置并进行插入,重复选取与插入的步骤,直到所有配送点均被服务到为止。

(6)改善或交换法

以其它方法产生的解为初始解,再利用节点或节线交换的方式,对求出的路线解进行改善,达到更好的目标函数值。

(7)数学规划近似法

此法针对放松后的数据模式进行最优化处理。如可以将车辆路径问题,转换成两个相关的子问题组成的数学规划,其中一个为一般化配送点的指派问题,另一个则为旅行商问题,并提出一些准则用来产生路径种子点,再利用节省值产生一个指派问题的目标函数,然后先解指派问题,再针对每辆车的旅行商问题求解。

14.2 旅行商问题

旅行商问题属于数学NP难题,所谓NP难题,是完全多项式非确定问题。有些计算问题是确定性的,比如加减乘除之类,你只要按照公式推导,按部就班一步步来,就可以得到结果。但是,有些问题是无法按部就班直接地计算出来。比如,找大质数的问题。有没有一个公式,你一套公式,就可以一步步推算出来,下一个质数应该是多少呢?这样的公式是没有的。再比如,大的合数分解质因数的问题,也没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少。

这种问题的答案,是无法直接计算得到的,只能通过间接的“猜算”来得到结果。这也就是非确定性问题。而这些问题的通常有个算法,它不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案还是错误的。这个可以告诉你“猜算”的答案正确与否的算法,假如可以在多项式时间内算出来,就叫做多项式非确定性问题。而如果这个问题的所有可能答案,都是可以在多项式时间内进行正确与否的验算的话,就叫完全多项式非确定问题。

完全多项式非确定性问题可以用穷举法得到答案,一个个检验下去,最终便能得到结果。但是这样算法的复杂程度,是指数关系,因此计算的时间随问题的复杂程度成指数的增长,很快便变得不可计算了。

旅行商问题有很多种解法,有分枝定界解法、整数规划的解法、动态规划的解法、遗传算法的解法等,随着城市数量的增加,其精确解越难找出,只能找出近似解。这里介绍一种简单的算法,称为最小增量法。设有N个城市,每个城市之间的距离已知,要从某一个城市出发,再回到该城市,其余每个城市都仅到一次,选择经过城市的顺序,使总路程最短。最小增量法计算的步骤:

(1)选择离出发点最近的点作为初始回路,设这两个点为(i,j)

(2)在已知回路上(i,j)中插入一个城市点k,计算增加的路程数,即:δ

(3)比较所有的点的δk值,取最小的δk值所对应的点作为新插入点。

(4)重复前两步,直到所有的点都被插入为止,所得的回路即为要求的最优解。

8

出发,再回到城市8,找一个最短的回路

(2)将剩余的点1、2、3、4、5、6六个点分别插入到7→8和8→7之间,算出每个δk值,计算结果见表1。

相关文档
最新文档