调度路径的规划方法技术

技术编号:21548967 阅读:27 留言:0更新日期:2019-07-06 22:04
本发明专利技术涉及调度路径问题领域,具体涉及一种调度路径的规划方法,旨在解决分区较多时容易陷入局部最优的问题。该方法包括:步骤S1,根据每个客户的地理位置,将所有客户划分为多个分区进而构建一个R树;步骤S2,对每个分区采用贪心算法为该分区规划车辆调度路径作为对应目标函数的初始解;步骤S3,对每个分区求出该分区对应目标函数的最优解;步骤S4,将拥有相同父节点的分区自底向上进行合并,并对合并后的分区求该分区对应目标函数的最优解,直到到达R树的根节点,将根节点处分区的最优解作为车辆调度路径规划的最终结果。本发明专利技术利用分区复制扩大了搜索范围,采用自下而上的分区合并,避免了搜索过程缺乏全局信息,有效提高了获得的解的质量。

Scheduling Path Planning Method

【技术实现步骤摘要】
调度路径的规划方法
本专利技术涉及调度路径问题领域,具体涉及一种调度路径的规划方法。
技术介绍
车辆调度路径问题是指给定一定数量的客户,他们各自有不同数量的货物需求,仓库利用一定数量的车辆来为这些客户提供货物运输服务。为了解决车辆调度路径问题,需要安排适当的行车路线,在不违反一定约束的情况下满足所有客户的需求,并且使得目标函数(路径总长度、成本或耗时等)最小。在2017年发表的论文《Aspatialparallelheuristicapproachforsolvingverylarge-scalevehicleroutingproblems》中,作者提出了一个用于处理大规模车辆调度路径问题的并行算法。算法的主要思想是将整个数据进行切分,将空间距离相近的对象放在一个分区内,从而实现将一个大规模的车辆调度路径问题切分为多个小规模的车辆调度路径问题。算法将数据中的空间对象按照空间位置划分成多个互不相交的分区。图1是该算法的分区示意图。如图1所示,黑色的圆点代表客户数据,数据被分为4个分区,每个虚线方框区域代表一个分区,其中的灰色区域为边界区域。算法的一个基本操作单元分为两个步骤,第一个步骤使用4个线程同时处理4个分区,第二个步骤使用3个线程同时处理3个边界区域。循环执行若干次基本操作单元直至无法得到更好的解。如果采用上述论文中的算法,为了提高并行度,需要提高线程的使用数量,从而需要增加分区数量。但是当划分的分区越来越多,每个分区中包含的数据量也就越来越少,则每个线程获取的信息也就越来越少。由于算法无法获得数据的全局信息,因此优化空间很小,极易陷入局部最优。有鉴于此,特提出本专利技术。
技术实现思路
为了解决现有技术中的上述问题,本专利技术提出了一种调度路径的规划方法,在加快规划速度的基础上,提高了解的质量。本专利技术的一方面,提出一种调度路径的规划方法,所述方法包括以下步骤:步骤S1,根据每个客户的地理位置,以及预设的每个节点最大客户数,将所有客户划分为多个分区,进而构建一个R树;其中,R树的每个叶节点对应一个分区,叶节点包含的是客户,中间节点包含的是位于该节点的所有客户的最小外接矩形;步骤S2,对每个分区,根据该分区中每个客户的地理位置和货物需求量,以及仓库的地理位置,采用贪心算法为该分区规划车辆调度路径,作为该分区对应目标函数的初始解,使每个客户均被访问一次,且每辆车均不超过预设的最大负载;步骤S3,对每个分区,根据该分区对应目标函数的初始解、每个客户的地理位置和货物需求量,求出该分区对应目标函数的最优解;步骤S4,将拥有相同父节点的分区自底向上进行合并,并在每一次合并后,均对合并后的分区求该分区对应目标函数的最优解,直到到达R树的根节点,求出根节点处分区对应目标函数的最优解,作为车辆调度路径规划的最终结果。优选地,步骤S3中“对每个分区,根据该分区对应目标函数的初始解、每个客户的地理位置和货物需求量,求出该分区对应目标函数的最优解”具体包括:步骤S31,对分区进行复制,使得每个分区对应一个或多个分区实例,且所有所述分区实例的总个数等于预设的线程数;为每个分区实例分配一个线程;步骤S32,根据每个客户的地理位置和货物需求量,采用分布式计算方法对每个所述分区实例对应目标函数的初始解进行优化,得到各分区实例对应目标函数的优化解;步骤S33,对每个分区,根据该分区对应的每个所述分区实例对应目标函数的优化解,选择该分区对应目标函数的最优解。优选地,步骤S4中“将拥有相同父节点的分区自底向上进行合并,并在每一次合并后,均对合并后的分区求该分区对应目标函数的最优解,直到到达R树的根节点,求出根节点处分区对应目标函数的最优解,作为车辆调度路径规划的最终结果”具体包括:步骤S41,将分区的层数记为L,L=1为最底层;步骤S42,将第L层中所有拥有相同父节点的分区向上合并得到第L+1层的分区,并将所述第L层中所有拥有相同父节点的分区对应目标函数的最优解的并集作为对应的第L+1层分区对应目标函数的初始解;步骤S43,对第L+1层的每个分区求对应目标函数的最优解;步骤S44,L=L+1;若第L层中分区的数量大于1,则转至步骤S42;否则,转至步骤S45;步骤S45,判断第L层分区对应目标函数的最优解中包含的路径总数是否大于预设的车辆总数,若是,则将包含客户数量最少的路径上的客户重新插入到其他路径中,直到路径总数等于所述预设的车辆总数。优选地,所述方法还包括:步骤S5,判断重分区次数是否小于预设的阈值,若是,则转至步骤S6;步骤S6,根据步骤S4得到的所述根节点处分区对应目标函数的最优解,取该最优解对应的各条路径作为重分区对象;根据每条路径上的首位客户在步骤S1构建的R树中所属的叶节点位置进行重分区,将首位客户属于同一叶节点的路径划分到同一分区中;转至步骤S3。优选地,步骤S32中“根据每个客户的地理位置和货物需求量,采用分布式计算方法对每个所述分区实例对应目标函数的初始解进行优化,得到各分区实例对应目标函数的优化解”具体包括:步骤S321,设定禁忌搜索各参数的选择范围,并在设定的选择范围内随机选择各参数的值构成当前分区实例的禁忌搜索的参数集;步骤S322,在cross、insertion和swap这三种操作中随机选取一种操作,获得通过该操作产生的所有移动,所述移动用于记录客户所在路径的变化;并从中选择一个最优的且没有位于禁忌表中的移动来生成当前解,或者选择一个位于禁忌表中且生成的解比当前分区实例对应目标函数的最优解更优的移动来生成当前解,更新禁忌表和最优解;步骤S323,重复执行步骤S322,当步骤S322的执行次数超过预设的禁忌搜索次数阈值时,执行分散搜索。优选地,所述目标函数为用来计算对应分区内路径总长度、总成本或总耗时的函数;相应地,所述最优解为所述目标函数值最小时对应的车辆调度路径。优选地,所述目标函数为用来计算对应分区内路径总长度的函数;相应地,步骤S323中“执行分散搜索”的步骤具体包括:步骤S3231,对每一条路径执行2-opt操作,得到多条不同的新路径;从所述新路径中选择一条路径来代替执行2-opt前的原始路径,其中目标函数值越低的路径,被选择的概率越大;步骤S3232,对当前分区实例中每一个客户,计算该客户与其所在路径中前驱的距离,得到第一距离;计算该客户与当前分区实例中离它距离最短的客户的距离,得到第二距离;将当前分区实例中所有客户按照对应的所述第一距离与所述第二距离的差值进行降序排序;根据所述排序,依次将当前分区中的客户进行重新插入或交换,直到当前得到的解与步骤S3232开始时的解之间的差值满足预设的条件;步骤S3233,将当前分区实例中每条路径上的客户在该路径内进行重新插入,直到该路径的目标函数值不再降低。优选地,步骤S2332中所述预设的条件为:其中,costnew为所述当前得到的解,costpre为所述步骤S3232开始时的解,α为预设的参数。本专利技术的第二方面,提出一种存储设备,其中存储有多条程序,所述程序适于由处理器加载并执行,以实现上面所述的调度路径的规划方法。本专利技术的第三方面,提出一种处理设备,包括:处理器,适于加载程序;以及存储器,适于存储所述程序;所述程序适于由所述处理器加载并执行,以实现上面本文档来自技高网
...

【技术保护点】
1.一种调度路径的规划方法,其特征在于,所述方法包括以下步骤:步骤S1,根据每个客户的地理位置,以及预设的每个节点最大客户数,将所有客户划分为多个分区,进而构建一个R树;其中,R树的每个叶节点对应一个分区,叶节点包含的是客户,中间节点包含的是位于该节点的所有客户的最小外接矩形;步骤S2,对每个分区,根据该分区中每个客户的地理位置和货物需求量,以及仓库的地理位置,采用贪心算法为该分区规划车辆调度路径,作为该分区对应目标函数的初始解,使每个客户均被访问一次,且每辆车均不超过预设的最大负载;步骤S3,对每个分区,根据该分区对应目标函数的初始解、每个客户的地理位置和货物需求量,求出该分区对应目标函数的最优解;步骤S4,将拥有相同父节点的分区自底向上进行合并,并在每一次合并后,均对合并后的分区求该分区对应目标函数的最优解,直到到达R树的根节点,求出根节点处分区对应目标函数的最优解,作为车辆调度路径规划的最终结果。

【技术特征摘要】
1.一种调度路径的规划方法,其特征在于,所述方法包括以下步骤:步骤S1,根据每个客户的地理位置,以及预设的每个节点最大客户数,将所有客户划分为多个分区,进而构建一个R树;其中,R树的每个叶节点对应一个分区,叶节点包含的是客户,中间节点包含的是位于该节点的所有客户的最小外接矩形;步骤S2,对每个分区,根据该分区中每个客户的地理位置和货物需求量,以及仓库的地理位置,采用贪心算法为该分区规划车辆调度路径,作为该分区对应目标函数的初始解,使每个客户均被访问一次,且每辆车均不超过预设的最大负载;步骤S3,对每个分区,根据该分区对应目标函数的初始解、每个客户的地理位置和货物需求量,求出该分区对应目标函数的最优解;步骤S4,将拥有相同父节点的分区自底向上进行合并,并在每一次合并后,均对合并后的分区求该分区对应目标函数的最优解,直到到达R树的根节点,求出根节点处分区对应目标函数的最优解,作为车辆调度路径规划的最终结果。2.根据权利要求1所述的调度路径的规划方法,其特征在于,步骤S3中“对每个分区,根据该分区对应目标函数的初始解、每个客户的地理位置和货物需求量,求出该分区对应目标函数的最优解”具体包括:步骤S31,对分区进行复制,使得每个分区对应一个或多个分区实例,且所有所述分区实例的总个数等于预设的线程数;为每个分区实例分配一个线程;步骤S32,根据每个客户的地理位置和货物需求量,采用分布式计算方法对每个所述分区实例对应目标函数的初始解进行优化,得到各分区实例对应目标函数的优化解;步骤S33,对每个分区,根据该分区对应的每个所述分区实例对应目标函数的优化解,选择该分区对应目标函数的最优解。3.根据权利要求1所述的调度路径的规划方法,其特征在于,步骤S4中“将拥有相同父节点的分区自底向上进行合并,并在每一次合并后,均对合并后的分区求该分区对应目标函数的最优解,直到到达R树的根节点,求出根节点处分区对应目标函数的最优解,作为车辆调度路径规划的最终结果”具体包括:步骤S41,将分区的层数记为L,L=1为最底层;步骤S42,将第L层中所有拥有相同父节点的分区向上合并得到第L+1层的分区,并将所述第L层中所有拥有相同父节点的分区对应目标函数的最优解的并集作为对应的第L+1层分区对应目标函数的初始解;步骤S43,对第L+1层的每个分区求对应目标函数的最优解;步骤S44,L=L+1;若第L层中分区的数量大于1,则转至步骤S42;否则,转至步骤S45;步骤S45,判断第L层分区对应目标函数的最优解中包含的路径总数是否大于预设的车辆总数,若是,则将包含客户数量最少的路径上的客户重新插入到其他路径中,直到路径总数等于所述预设的车辆总数。4.根据权利要求1所述的调度路径的规划方法,其特征在于,所述方法还包括:步骤S5,判断重分区次数是否小于预设的阈值,若是,则转至步骤S6;步骤S6,根据步骤S4得到的所述根节点处分区对应目标函数的最优解...

【专利技术属性】
技术研发人员:张东祥刘艺李启林陈李江
申请(专利权)人:海南阿凡题科技有限公司
类型:发明
国别省市:海南,46

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1