掌桥专利:专业的专利平台
掌桥专利
首页

一种包裹处理方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 19:30:30


一种包裹处理方法、装置、电子设备和存储介质

技术领域

本申请涉及电商领域,尤其涉及一种包裹处理方法、装置、电子设备和计算机存储介质。

背景技术

目前,配送员在摆放包裹前主要按照自身经验对配送地点进行规划,包裹分堆摆放规则也是在脑海中形成;然而,这种通过依赖配送员自身经验对配送路径进行规划的方式,难以实现对配送路径的合理规划,降低配送效率;另外,在进行包裹摆放时也未能充分与配送地点相结合,导致配送过程中需要来回翻找包裹,不仅工作量较大,而且配送时间大大增加。

发明内容

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的包裹处理方法、装置、电子设备和计算机存储介质。

本申请的技术方案是这样实现的:

本申请实施例提供了一种包裹处理方法,所述方法包括:

获取目标位置信息;所述目标位置信息包括配送员起始点的位置信息以及多个配送点的位置信息;

基于所述目标位置信息,使用遗传算法确定从所述起始点出发的目标配送路径;

根据所述目标配送路径,确定当前配送包裹的摆放顺序;所述当前配送包裹包括当前需要配送至所述多个配送点的各个包裹;

对所述当前配送包裹的待摆放区域进行虚拟划分,得到各个子区域;基于所述各个子区域和所述当前配送包裹的摆放顺序,确定所述当前配送包裹中每一包裹的摆放位置。

在一些实施例中,所述基于所述目标位置信息,使用遗传算法确定从所述起始点出发的目标配送路径,包括:

对所述目标位置信息进行编码操作,得到所述起始点和所述多个配送点中每一配送点对应的编号;

根据所述起始点和所述多个配送点中每一配送点对应的编号,随机产生若干个配送路径序列编码,构成初始种群;

对所述初始种群中的每个配送路径序列编码进行进化迭代直至达到终止条件,输出达到所述终止条件时适应度最高的配送路径序列编码;

根据适应度最高的所述配送路径序列编码,确定从所述起始点出发的目标配送路径。

在一些实施例中,所述方法还包括:

针对每次进化迭代后的目标种群,使用适应度函数确定所述目标种群中每个配送路径序列编码的适应度;其中,所述适应度函数被定义为配送路径序列编码对应的各连续位置点之间距离总和的倒数,所述位置点为所述起始点或所述多个配送点中的其中一个。

在一些实施例中,所述基于所述各个子区域和所述当前配送包裹的摆放顺序,确定所述当前配送包裹中每一包裹的摆放位置,包括:

基于所述当前配送包裹的摆放顺序,使用启发式搜索算法针对所述各个子区域,确定摆放层数和摆放覆盖率的最优摆放策略;

基于所述最优摆放策略,确定所述当前配送包裹中每一包裹的摆放位置。

在一些实施例中,在确定所述当前配送包裹中每一包裹的摆放位置后,所述方法还包括:

根据所述当前配送包裹中每一包裹的摆放位置,生成引导信息,以引导所述配送员对所述当前配送包裹进行摆放。

在一些实施例中,所述方法还包括:

获取当前配送包裹中每一包裹的基本信息;所述基本信息包括所属的配送点信息;

所述根据所述目标配送路径,确定当前配送包裹的摆放顺序,包括:

根据所述目标配送路径和所述每一包裹所属的配送点信息,确定所述当前配送包裹的摆放顺序。

在一些实施例中,所述基本信息还包括尺寸信息和重量信息,所述方法还包括:

根据所述每一包裹的尺寸信息和重量信息,确定所述每一包裹的泡重比;

所述根据所述目标配送路径和所述每一包裹所属的配送点信息,确定所述当前配送包裹的摆放顺序,包括

基于所述目标配送路径、所述每一包裹所属的配送点信息和泡重比,确定所述当前配送包裹的摆放顺序。

本申请实施例还提出了一种包裹处理装置,所述装置包括获取模块、路径确定模块、顺序确定模块和位置确定模块,其中,

获取模块,用于获取目标位置信息;所述目标位置信息包括配送员起始点的位置信息以及多个配送点的位置信息;

路径确定模块,用于基于所述目标位置信息,使用遗传算法确定从所述起始点出发的目标配送路径;

顺序确定模块,用于根据所述目标配送路径,确定当前配送包裹的摆放顺序;所述当前配送包裹包括当前需要配送至所述多个配送点的各个包裹;

位置确定模块,用于对所述当前配送包裹的待摆放区域进行虚拟划分,得到各个子区域;基于所述各个子区域和所述当前配送包裹的摆放顺序,确定所述当前配送包裹中每一包裹的摆放位置。

本申请实施例提供一种电子设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述一个或多个技术方案提供的包裹处理方法。

本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后能够实现前述一个或多个技术方案提供的包裹处理方法。

本申请实施例提出了一种包裹处理方法、装置、电子设备和计算机存储介质,该方法包括:获取目标位置信息;所述目标位置信息包括配送员起始点的位置信息以及多个配送点的位置信息;基于所述目标位置信息,使用遗传算法确定从所述起始点出发的目标配送路径;根据所述目标配送路径,确定当前配送包裹的摆放顺序;所述当前配送包裹包括当前需要配送至所述多个配送点的各个包裹;对所述当前配送包裹的待摆放区域进行虚拟划分,得到各个子区域;基于所述各个子区域和所述当前配送包裹的摆放顺序,确定所述当前配送包裹中每一包裹的摆放位置。

可以看出,本申请实施例使用遗传算法对当前配送包裹的各个配送点进行路径规划,并根据路径规划结果确定包裹摆放顺序,即,能够确保包裹的后续摆放与配送地点充分结合,提高包裹摆放效率的同时提高配送效率;此外,通过对当前配送包裹的待摆放区域进行虚拟划分,并将虚拟划分后的各个子区域和当前配送包裹的摆放顺序相结合,确定出每一包裹在各个子区域的最佳摆放位置,以引导配送员进行包裹摆放,如此,可以降低人为因素对包裹摆放的干扰,进一步提高配送效率。

附图说明

图1为本申请实施例中的一种包裹处理方法的流程示意图;

图2为本申请实施例中的一种使用启发式搜索算法进行虚拟划分的结构示意图;

图3为本申请实施例中的一种使用启发式搜索算法对子区域进行分层的结构示意图;

图4为本申请实施例的一种包裹处理装置的组成结构示意图;

图5为本申请实施例的电子设备的结构示意图。

具体实施方式

以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本申请,并不用于限定本申请。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。

需要说明的是,在本申请实施例中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其它要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,I和/或J,可以表示:单独存在I,同时存在I和J,单独存在J这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括I、J、R中的至少一种,可以表示包括从I、J和R构成的集合中选择的任意一个或多个元素。

例如,本申请实施例提供的包裹处理方法包含了一系列的步骤,但是本申请实施例提供的包裹处理方法不限于所记载的步骤,同样地,本申请实施例提供的包裹处理设备包括了一系列模块,但是本申请实施例提供的包裹处理设备不限于包括所明确记载的模块,还可以包括为获取相关时序数据、或基于时序数据进行处理时所需要设置的模块。

本申请实施例可以应用于终端设备和服务器组成的计算机系统中,并可以与众多其它通用或专用计算系统环境或配置一起操作。这里,终端设备可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等,服务器可以是服务器计算机系统小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

在本申请的一些实施例中,包裹处理方法可以利用包裹处理装置中的处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(DigitalSignal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。

图1为本申请实施例中的一种包裹处理方法的流程示意图,如图1所示,该方法包括如下步骤:

步骤100:获取目标位置信息。

本申请实施例中,包裹处理方法可以应用于移动终端等电子设备中,这里,以移动终端为例进行说明,移动终端在检测到配送指令的情况下,可以获取目标位置信息;其中,配送指令可以是配送员通过触发操作触发的指令;例如,可以是配送员对移动终端的显示界面中的配送控件进行点击、滑动或长按等触发操作。

这里,目标位置信息可以是配送员预先录入的,例如,配送员可以采用移动终端上的应用软件(application,app)或者直接通过扫码方式录入目标位置信息。

本申请实施例中,目标位置信息可以包括配送员起始点的位置信息以及多个配送点的位置信息;这里,位置信息对应经纬度坐标,即,配送员起始点的位置信息表示配送员起始点的经纬度坐标,类似地,多个配送点的位置信息则表示多个配送点中每一配送点的经纬度坐标。

示例性地,配送员起始点表示配送员的出发地,该出发地可以是配送员的居住地,也可以是配送员拿取包裹的位置,例如,配送仓库等。

需要说明的是,如果某个配送点有多个子配送点,则配送员在录入位置信息时,只需要录入各个子配送点的位置信息即可;示例性地,假设多个配送点中包括小区A,且本次需要配送至小区A的子配送点包括单元楼1、单元楼3和单元楼5,则在录入位置信息时,不需录入小区A的位置信息,而是直接录入单元楼1、单元楼3和单元楼5的位置信息即可。

步骤101:基于目标位置信息,使用遗传算法确定从起始点出发的目标配送路径。

在一些实施例中,基于目标位置信息,使用遗传算法确定从起始点出发的目标配送路径,可以包括:对目标位置信息进行编码操作,得到起始点和多个配送点中每一配送点对应的编号;根据起始点和多个配送点中每一配送点对应的编号,随机产生若干个配送路径序列编码,构成初始种群;对初始种群进行进化迭代直至达到终止条件,输出达到终止条件时适应度最高的配送路径序列编码;根据适应度最高的配送路径序列编码,确定从起始点出发的目标配送路径。

示例性地,对目标位置信息进行编码操作表示对配送员的起始点和多个配送点中每一配送点分别进行编码操作,通过该编码操作,可以得到起始点和多个配送点中每一配送点对应的编号。

这里,对于编码操作的方式不作限定;示例性地,假设起始点和多个配送点的总个数为L,通过某种编码操作,可以得到编码序列1,2,…,L;其中,编码序列中编号则代表起始点和多个配送点各自对应的编号,编号1为起始点对应的编号,编号2至L则分别为多个配送点中每一配送点对应的编号。

本申请实施例中,在得到起始点和多个配送点中每一配送点对应的编号后,进行种群初始化;该过程可以包括:随机产生若干个配送路径序列编码,构成初始种群,并初始化最大进化代数T;可以看出,初始种群相当于包括若干个配送路径序列编码的序列编码集;其中,初始种群中的每个配送路径序列编码可以看作是一个种群个体,简称个体。

这里,对于最大进化代数T的取值可以根据实际情况进行设置,本申请实施例对此不作限定,例如,可以取值为20、30等。

本申请实施例中,在种群初始化完成后,对初始种群进行进化迭代直至达到终止条件;这里,达到终止条件表示迭代次数达到最大进化代数T。

示例性地,对初始种群进行进化迭代直至达到终止条件,可以包括:对初始种群进行交叉、变异以及选择操作生成下一代种群;将下一代种群中的每个子代个体与其父代个体放在一起组成新的种群,即目标种群,对该种群中的所有个体按照适应度从大到小进行排序;仅保留前指定数量的个体作为下一轮进化的新初始种群,淘汰掉其余个体,以完成一次进化;反复进行该过程,直到满足迭代终止条件,输出最后一个种群中的最优个体,即适应度最高的配送路径序列编码。

示例性地,上述对目标种群中的所有个体按照适应度从大到小进行排序,可以包括:针对每次进化迭代后的目标种群,使用适应度函数确定目标种群中每个个体(对应配送路径序列编码)的适应度;在得到该种群中所有个体(包括子代个体与其父代个体)的适应度后,对这些个体按照适应度从大到小进行排序。

需要说明的是,在进行种群初始化时,可对应设计种群个体的适应度函数;这里,适应度函数被定义为配送路径序列编码对应的各连续位置点之间距离总和的倒数;这里,位置点为起始点或多个配送点中的其中一个;各连续位置点中两两位置点的距离可以通过上述步骤获取的位置信息(即经纬度坐标)计算得到。

这里,对适应度函数的设计过程进行说明;适应度即是代表各个种群个体的优劣程度,适应度越大,则代表个体越好。假设某个个体对应的配送路径序列编码为(1,2,…,n,1),其中,n为位置点的总个数,配送路径序列编码中编号代表各位置点的编号,编号1为快递员起始点,该起始点既是配送路径的起点,也是配送路径的终点;此时,适应度函数V(person)的计算方式可以参见公式(1):

其中,函数dist(i,i+1)表示编号为i、i+1的两个位置点之间的距离。

可以理解地,因为适应度函数为配送路径序列编码对应的各连续位置点之间距离总和的倒数,这样,当采用适应度函数对种群中的个体进行适应度计算时,若个体的适应度越大,则说明该个体对应的配送距离越短,即,对应的配送路径越优;进而,可减少依赖人工经验进行路径规划所带来的误差,提高配送效率。

需要说明的是,在对初始种群进行进化迭代的过程中,若确定当前进化代数t未达到最大进化代数T,则利用进化后的目标种群继续重复上述步骤;反之,若确定当前进化代数t达到最大进化代数,则结束迭代,输出最后一代种群中的最优个体,此时遗传算法结束。

本申请实施例中,在得到适应度最高的配送路径序列编码后,可以根据配送路径序列编码,确定该序列中各个编码对应的位置点,进而,得到从起始点出发的目标配送路径,即,最优配送路径。

示例性地,上述对初始种群进行交叉、变异以及选择操作生成下一代种群,包括:采用交叉算子、变异算子以及选择算子对初始种群中的个体进行交叉、变异以及选择操作生成下一代种群。

示例性地,对于采用交叉算子对初始种群中的个体进行交叉操作的实现方式可以为:在初始种群中随机选择两个父代个体,假设为配送路径序列编码S1和配送路径序列编码S2,然后根据序列编码长度随机产生起始位置a和结束位置b,以一定概率进行交叉操作;将S1中位置从a到b的编码和S2中位置从a到b的编码进行替换,分别产生下一代的配送路径序列编码,即子代个体。

示例性地,对于采用变异算子对初始种群中的个体进行变异操作的实现方式可以为:在初始种群中随机选择一个父代个体,假设为配送路径序列编码H1,以一定概率进行变异操作;根据序列编码长度产生两个随机数,将随机数作为H1的下标,交换两下标对应的值。

示例性地,对于采用选择算子对初始种群中的个体进行选择操作的实现方式可以为:根据适应度函数计算个体的适应度大小,选择较高适应度的个体遗传到下一代。

这里,结合表1对采用交叉算子与变异算子产生下一代种群个体的过程进行示例性说明;假设有8个配送点,编号分别为1到8。在交叉算子运算中,父代个体1中编码子序列3-5-7与父代个体2中编码子序列5-7-2进行交叉替换,其余编码按顺序填充,形成子代个体1和子代个体2。在变异算子运算中,父代个体1中编码3突变为编码8,对应编码8突变为编码3,形成子代个体1;父代个体2中编码5突变为编码4,对应编码4突变为编码5,形成子代个体2。

表1

步骤102:根据目标配送路径,确定当前配送包裹的摆放顺序。

示例性地,当前配送包裹可以包括当前需要配送至多个配送点的各个包裹;这里,对于当前配送包裹中每一包裹的形状和重量不作限定。

在一些实施例中,上述方法还可以包括:获取当前配送包裹中每一包裹的基本信息;这里,基本信息可以包括所属的配送点信息;需要说明的是,当前配送包裹中每一包裹所属的配送点信息为多个配送点中的其中一个。

本申请实施例中,在确定每一包裹所属的配送点信息后,可以结合上述步骤确定的目标配送路径,共同确定当前配送包裹中每一包裹的摆放顺序,确保摆放顺序满足先送后摆原则。

示例性地,先送后摆原则表示先配送至所属配送点的包裹最后摆放,后配送至所属配送点的包裹先摆放;上述步骤使用遗传算法已经确定出一条最优配送路径,即目标配送路径,此时,各个包裹的摆放顺序则是将这条最优配送路径反过来。

示例性地,假设最优配送路径对应的各配送点编号为1->3->2,即,编号为1配送点的包裹最先配送,接着是编号为3配送点的包裹,最后配送编号为2配送点的包裹;则对应包裹的摆放顺序应为:2->3->1,即,编号为2配送点的包裹最先摆放,接着是编号为3配送点的包裹,最后摆放配送编号为2配送点的包裹。

需要说明的是,在确保当前配送包裹的摆放顺序满足先送后摆原则的基础上,还可以进一步确保摆放顺序满足重不压轻原则;示例性地,重不压轻原则表示重的包裹摆放在下面,轻的包裹摆放在上面;该原则可以通过确定每一包裹的泡重比进行优化。

在一些实施例中,基本信息还可以包括尺寸信息和重量信息,上述方法还可以包括:根据每一包裹的尺寸信息和重量信息,确定每一包裹的泡重比。

这里,泡重比表示包裹的体积与重量的比率;示例性地,可以先根据每一包裹的尺寸信息,确定对应的体积;再通过计算每一包裹的体积与重量的比率,确定每一包裹的泡重比。若包裹的泡重比越小,说明包裹的重量越大,那么包裹应该摆放在下面。此外,由于包裹形状的复杂多样性,可以将泡重比相差较小的包裹进行组合,让包裹近似成长方体,有利于提升空间利用率和后续算法的分析计算。对于那些形状非常奇特的包裹,则给与配送员提示,让其放在车顶或者合适的位置。

本申请实施例中,可以基于上述步骤确定的目标配送路径、每一包裹所属的配送点信息和泡重比,共同确定当前配送包裹的摆放顺序,如此,可以确保当前配送包裹的摆放顺序做到先送后摆和重不压轻的基本原则。

步骤103:对当前配送包裹的待摆放区域进行虚拟划分,得到各个子区域;基于各个子区域和当前配送包裹的摆放顺序,确定当前配送包裹中每一包裹的摆放位置。

这里,待摆放区域表示配送员需要摆放当前配送包裹的空间,例如,可以是快递小车的车厢区域。

示例性地,对当前配送包裹的待摆放区域进行虚拟划分,得到各个子区域,可以包括:根据每一配送点的信息,使用启发式搜索算法对当前配送包裹的待摆放区域进行虚拟划分,得到各个子区域;这里,子区域的数目可以是一个,也可以是多个;每一配送点的信息可以包括配送点的配送顺序、位置等信息。下面,以快递小车的车厢区域为例,对得到各个子区域的过程进行说明。

图2为本申请实施例中的一种使用启发式搜索算法进行虚拟划分的结构示意图,如图2所示,快递小车的车厢区域是长方体APQD-ETUH。首先,启发式搜索算法会根据每一配送点的信息,对需要摆放当前配送包裹的车厢区域进行虚拟划分,得到各个子区域。这里,假设现在有配送点8个,编号分别从1到8,上述遗传算法给出的这8个配送点对应的最优配送路径是1->3->5->6->8->2->7->4。此时,启发式搜索算法将车厢区域划分成三个子区域,分别为:长方体ABCD-EFGH、长方体BIRC-FMNG和长方体IPQR-MTUN,对应地,编号为2、7、4配送点的包裹最后配送,相关包裹应摆放到车厢最里边区域,即长方体ABCD-EFGH,编号为5、6、8配送点的包裹应摆放在快递小车的BIRC-FMNG区域中,编号为1、3配送点的包裹应摆放在快递小车的IPQR-MTUN区域中。

在一些实施例中,基于各个子区域和当前配送包裹的摆放顺序,确定当前配送包裹中每一包裹的摆放位置,可以包括:基于当前配送包裹的摆放顺序,使用启发式搜索算法针对各个子区域,确定摆放层数和摆放覆盖率的最优摆放策略;基于最优摆放策略,确定当前配送包裹中每一包裹的摆放位置。

示例性地,启发式搜索算法会根据当前配送包裹的摆放顺序向各个子区域摆放包裹,而在包裹的摆放过程中,该算法会对包裹所摆放的子区域进行分层,分层后的区域用于下一包裹的摆放,直至将当前配送包裹摆放完毕。

需要说明的是,对于当前配送包裹,不同摆放结果对应不同的摆放策略,通过该算法可以搜索出摆放层数和摆放覆盖率均符合要求的最优摆放策略;这里,最优摆放策略用于指示当前配送包裹中每一包裹的最佳摆放位置;可见,基于最优摆放策略,便可确定出当前配送包裹中每一包裹在各个子区域的最佳摆放位置。下面,在图2所示的子区域ABCD-EFGH的基础上,对子区域进行分层的过程作进一步说明。

图3为本申请实施例中的一种使用启发式搜索算法对子区域进行分层的结构示意图,如图3所示,启发式搜索算法根据当前配送包裹的摆放顺序,在车厢区域最里边的子区域ABCD-EFGH放入一个包裹,该包裹对应的空间区域为AIJK-LMNO,随后对子区域ABCD-EFGH进行分层,得到多个分层区域,分别为区域AIJK-LMNO、区域LMNO-EPRQ、区域KJTD-QRSH和区域IBCT-PFGS。其中区域LMNO-EPRQ为第二层区域,其余是第一层区域,在后面摆放的时候应优先考虑较低层的区域,即,每进行一次包裹摆放,启发式搜索算法便会对包裹所在的子区域进行分层,用于进行下一包裹的摆放,以此类推,直至将当前配送包裹摆放完毕,此时,可以得到对应的摆放策略。之后,会将该摆放策略与启发式搜索算法确定的另一摆放策略进行比较,确定出最优摆放策略。需要说明的是,启发式搜索算法主要从摆放层数和摆放覆盖率这两个方面确定出最优摆放策略。

示例性地,首先可以比较两种摆放策略的区域层数,如果层数越小,那么说明更符合包裹摆放先下后上的原则,符合现场实操。然后计算每层的摆放覆盖率,从下层往上层比较,若覆盖率越高,则说明摆放策略越优。另外,如果两种摆放策略中同一层的覆盖率相差很小,比如不到1%,那么就应该比较它们上层的覆盖率来决定谁是最优摆放策略。

进一步地,在使用启发式搜索算法确定出最优摆放策略后,可以对应确定当前配送包裹中每一包裹的最佳摆放位置,之后,可以根据当前配送包裹中每一包裹的最佳摆放位置,生成引导信息,以引导配送员对当前配送包裹进行摆放;如此,可以降低人为因素对包裹摆放的干扰,提高包裹配送效率。

可以理解地,随着当前配送包裹的不断摆放,启发式搜索算法对各个子区域不断拆分,使得各个子区域被越拆越小,摆放就会越来越局限。所以,在误差允许的范围内,对拆分后的空间进行整合显得尤为重要;算法认为对于车厢区域中各个子区域的分层区域,如果其分层区域之间长、宽、高误差在很小的范围内,那么就可以将这些分层区域进行整合,形成更大的区域空间,以便于对包裹进行最佳摆放。

本申请实施例提出了一种包裹处理方法,该方法包括:获取目标位置信息;目标位置信息包括配送员起始点的位置信息以及多个配送点的位置信息;基于目标位置信息,使用遗传算法确定从起始点出发的目标配送路径;根据目标配送路径,确定当前配送包裹的摆放顺序;当前配送包裹包括当前需要配送至多个配送点的各个包裹;对当前配送包裹的待摆放区域进行虚拟划分,得到各个子区域;基于各个子区域和当前配送包裹的摆放顺序,确定当前配送包裹中每一包裹的摆放位置。可以看出,本申请实施例使用遗传算法对当前配送包裹的各个配送点进行路径规划,并根据路径规划结果确定包裹摆放顺序,即,能够确保包裹的后续摆放与配送地点充分结合,提高包裹摆放效率的同时提高配送效率;此外,通过对当前配送包裹的待摆放区域进行虚拟划分,并将虚拟划分后的各个子区域和当前配送包裹的摆放顺序相结合,确定出每一包裹在各个子区域的最佳摆放位置,以引导配送员进行包裹摆放,如此,可以降低人为因素对包裹摆放的干扰,进一步提高配送效率。

这里,以快递小车的车厢区域为例,对使用启发式搜索算法确定最优配送策略的过程进行说明:首先,初始化快递小车的车厢区域数据结构vehicle、最优快递小车的车厢区域数据结构bestVehicle以及当前配送包裹toPutPackages;然后,按照当前配送包裹的摆放顺序依次摆放每一包裹。

示例性地,在摆放每一包裹的过程中,若当前配送包裹toPutPackages为空,则说明当前配送包裹中的所有包裹摆放完毕,此时,比较vehicle与bestVehicle的摆放情况,选择最优摆放结果(即最优配送策略对应的摆放结果)存入bestVehicle中,算法结束;反之,若当前配送包裹toPutPackages不为空,则按照先内后外,先下后上的原则选择对车厢区域划分后的子区域vehicleRegion;接着,在子区域vehicleRegion进行当前包裹的摆放,并对子区域vehicleRegion进行分层,进入下一个包裹的摆放;可选地,还可以将分层后的某些区域进行空间整合,再进入下一个包裹的摆放。

图4为本申请实施例的一种包裹处理装置的组成结构示意图,如图4所示,装置包括:获取模块400、路径确定模块401、顺序确定模块402和位置确定模块403,其中,

获取模块400,用于获取目标位置信息;所述目标位置信息包括配送员起始点的位置信息以及多个配送点的位置信息;

路径确定模块401,用于基于所述目标位置信息,使用遗传算法确定从所述起始点出发的目标配送路径;

顺序确定模块402,用于根据所述目标配送路径,确定当前配送包裹的摆放顺序;所述当前配送包裹包括当前需要配送至所述多个配送点的各个包裹;

位置确定模块403,用于对所述当前配送包裹的待摆放区域进行虚拟划分,得到各个子区域;基于所述各个子区域和所述当前配送包裹的摆放顺序,确定所述当前配送包裹中每一包裹的摆放位置。

在一些实施例中,所述路径确定模块401,用于基于所述目标位置信息,使用遗传算法确定从所述起始点出发的目标配送路径,包括:

对所述目标位置信息进行编码操作,得到所述起始点和所述多个配送点中每一配送点对应的编号;

根据所述起始点和所述多个配送点中每一配送点对应的编号,随机产生若干个配送路径序列编码,构成初始种群;

对所述初始种群中的每个配送路径序列编码进行进化迭代直至达到终止条件,输出达到所述终止条件时适应度最高的配送路径序列编码;

根据适应度最高的所述配送路径序列编码,确定从所述起始点出发的目标配送路径。

在一些实施例中,所述路径确定模块401,还用于:

针对每次进化迭代后的目标种群,使用适应度函数确定所述目标种群中每个配送路径序列编码的适应度;其中,所述适应度函数被定义为配送路径序列编码对应的各连续位置点之间距离总和的倒数,所述位置点为所述起始点或所述多个配送点中的其中一个。

在一些实施例中,所述位置确定模块403,用于基于所述各个子区域和所述当前配送包裹的摆放顺序,确定所述当前配送包裹中每一包裹的摆放位置,包括:

基于所述当前配送包裹的摆放顺序,使用启发式搜索算法针对所述各个子区域,确定摆放层数和摆放覆盖率的最优摆放策略;

基于所述最优摆放策略,确定所述当前配送包裹中每一包裹的摆放位置。

在一些实施例中,在确定所述当前配送包裹中每一包裹的摆放位置后,所述装置还包括引导模块,所述引导模块,用于:

根据所述当前配送包裹中每一包裹的摆放位置,生成引导信息,以引导所述配送员对所述当前配送包裹进行摆放。

在一些实施例中,所述获取模块400,还用于:

获取当前配送包裹中每一包裹的基本信息;所述基本信息包括所属的配送点信息;

所述顺序确定模块402,用于根据所述目标配送路径,确定当前配送包裹的摆放顺序,包括:

根据所述目标配送路径和所述每一包裹所属的配送点信息,确定所述当前配送包裹的摆放顺序。

在一些实施例中,所述基本信息还包括尺寸信息和重量信息,所述顺序确定模块402,还用于:

根据所述每一包裹的尺寸信息和重量信息,确定所述每一包裹的泡重比;

所述顺序确定模块402,用于根据所述目标配送路径和所述每一包裹所属的配送点信息,确定所述当前配送包裹的摆放顺序,包括

基于所述目标配送路径、所述每一包裹所属的配送点信息和泡重比,确定所述当前配送包裹的摆放顺序。

在实际应用中,上述获取模块400、路径确定模块401、顺序确定模块402、位置确定模块403和引导模块均可以由位于电子设备中的处理器实现,该处理器可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。

另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

具体来讲,本实施例中的一种包裹处理方法对应的计算机程序指令可以被存储在光盘、硬盘、U盘等存储介质上,当存储介质中的与一种包裹处理方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种包裹处理方法。

基于前述实施例相同的技术构思,参见图5,其示出了本申请提供的电子设备500,可以包括:存储器501和处理器502;其中,

存储器501,用于存储计算机程序和数据;

处理器502,用于执行存储器中存储的计算机程序,以实现前述实施例的任意一种包裹处理方法。

在实际应用中,上述存储器501可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM、快闪存储器(flash memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器502提供指令和数据。

上述处理器502可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的包裹处理设备,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。

在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。

本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程包裹处理设备的处理器以产生一个机器,使得通过计算机或其他可编程包裹处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可装载到计算机或其他可编程包裹处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

技术分类

06120115930502