一种配送路径摧毁重建方法、装置、存储介质及设备与流程

文档序号:17995877发布日期:2019-06-22 01:12阅读:290来源:国知局
一种配送路径摧毁重建方法、装置、存储介质及设备与流程

本发明涉及物流行业中路径规划领域,尤其涉及适用于一种配送路径摧毁重建方法、装置、存储介质及设备。



背景技术:

在路径规划领域的算法中,通常使用的是基于动作(activity)的邻域搜索算法。在路径规划的实际问题中,基于动作的邻域搜索算法存在较多无用搜索的问题,增加了搜索难度。



技术实现要素:

为了解决上述技术问题,本发明提出一种配送路径摧毁重建方法、装置、存储介质及设备,提高了算法的运算速度。

为了实现上述目的,本发明的技术方案为:

一种配送路径摧毁重建方法,包括:

生成初始路径;其中,所述初始路径包括若干路径,所述路径包括若干基于对象的动作;

将需要变更路径的各动作中基于同一对象的动作按照执行顺序进行排序后打包为任务集;

将所述任务集作为最小单元对所述初始路径进行摧毁重建。

所述物件为快递包裹。

所述动作为被揽收,被派送。

所述初始解通过贪婪算法获取。

一种配送路径摧毁重建装置,包括:

生成单元,配置用于生成初始路径;

打包单元,配置用于将需要变更路径的动作打包为任务集;

摧毁重建单元,配置用于对所述初始路径进行摧毁重建。

所述动作是基于同一对象的,所述任务集为所述动作按照执行顺序进行排序后打包的。

在所述摧毁重建单元中,所述摧毁重建的最小单元为所述任务集。

一种设备,所述设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行所述的一种配送路径摧毁重建方法。

一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现所述的一种配送路径摧毁重建方法。

本发明的有益效果是:将被揽收与被派送按照执行顺序进行排序打包,作为一个集合被摧毁与重建,省去了很多不必要的摧毁与重建过程,提高了算法的运算效率。

附图说明

图1示出了根据本申请的实施例的方法流程图。

具体实施方式

为了更好的了解本发明的技术方案,下面结合附图1对本发明作进一步说明。

物流领域的路径规划的过程为:运用大规模邻域搜索算法,对输入的快递包裹进行实时的路径求解,实现包裹配送的路径规划。快递包裹的基本信息作为算法的输入,输出即为路径规划算法的路线集合。

大规模领域搜索算法的核心是摧毁重建策略,即通过对路线中的包裹进行有策略的摧毁及重建以达到更优的新路线。

通常,摧毁重建是基于动作(简称activity)。简单来说,经由一次贪婪运算,得到一条随机路线r。假设在r中,pp1表示p1这个快递包裹被揽收(pickup),dp1表示p1这个快递包裹被派送(delivery)。pp1和dp1是p1这个包裹的独立activity,一条随机路线r包含了众多包裹,也就是说,一条路线r包含了众多独立的activity。而在常用的摧毁重建中,是基于动作的,具体描述:

假设生成的初始路线集合为{r0,r1,r2},每条路线对应的包裹动作如下:

r0={pp1,pp2,dp2,pp4,pp6,dp1,dp4,dp6}

r1={pp3,pp5,dp5,pp9,dp3,dp9}

r2={pp7,pp8,dp7,pp10,dp10,d8}

此时假设摧毁策略是将r2路线中的pp8和dp8插入r1,由于插入动作到路线时是随机无序的,因此可能存在dp8在pp8之前的异常,即派送在揽收之前。而通常算法中避免这个异常的方法是后续再添加一步全局时间判断,导致整个算法时间效率差。

假设快件数是m,快件途径的地点数目是n,经验告诉我们,m>>n,以一个快件为例:

现有技术方案的时间复杂度是(2m)*(2m-1);

采用本技术方案的时间复杂度是(2n)*(2n-1);

由于m>>n,所以,(2m)*(2m-1)>>(2n)*(2n-1)

由此可见,采用本技术方案整个算法效率获得了大幅度的提高。

如图1所示,一种配送路径摧毁重建方法,包括:

生成初始路径;其中,所述初始路径包括若干路径,所述路径包括若干基于对象的动作;

将需要变更路径的各动作中基于同一对象的动作按照执行顺序进行排序后打包为任务集;

将所述任务集作为最小单元对所述初始路径进行摧毁重建。

所述物件为快递包裹。

所述动作为被揽收,被派送。

所述初始解通过贪婪算法获取。

一种配送路径摧毁重建装置,包括:

生成单元,配置用于生成初始路径;

打包单元,配置用于将需要变更路径的动作打包为任务集;

摧毁重建单元,配置用于将所述任务集作为最小单元对所述初始路径进行摧毁重建。

所述动作是基于同一对象的,所述任务集为所述动作按照执行顺序进行排序后打包的。

一种设备,所述设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行所述的一种配送路径摧毁重建方法。

一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现所述的一种配送路径摧毁重建方法。

具体在本实施例的过程为:

路线摧毁重建的过程如下:对于采用贪婪算法得出的路径集合,每个算法迭代器会随机选择初始路线集合中的某些路线。移除某些路线中的快件(摧毁过程),同时将这些快件插入到其他路线中去(重建过程)。

摧毁重建的过程中,将需要摧毁的包裹以队列的方式摧毁,再以队列的方式插入到新路线中。在上述举例中,即将r2路线中的p8以{pp8,dp8}以一个任务集合的形式插入r1,这样就可以减少时间判断这一步,提高了算法的效率。

伪代码如下:

foreachunassignedjobsj(p,d)in{j1,j2,…,jn}

foreachinsertionpairsp={ip,id}inroutes{r}in{solutions}

s’=functiontryinsert(p,s)

puts’in{newsolutions}

endfor

s=theminimumcostofnewsolutionin{newsolutions}

endfor

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1