首页> 中国专利> 基于一品多位仓库的订单批次聚合方法、系统及设备

基于一品多位仓库的订单批次聚合方法、系统及设备

摘要

本发明涉及一种基于一品多位仓库的订单批次聚合方法、系统及设备,涉及电商仓储技术领域,方法包括:确定每种商品在目标仓库中的多个存储仓位;根据订单中的商品在目标仓库中的多个存储仓位,确定订单的最短路径拣货仓位;最短路径拣货仓位为对订单进行拣货时,位于行走最短路径上的存储仓位;将多个订单的最短路径拣货仓位确定为目标仓位组;根据目标仓位组、当前搜索段和批次订单设定数量,对目标仓位组中的订单进行批次聚合,以确定所有订单批次。本发明对于拣货区一品多位仓库中的商品进行订单批次聚合,从而使得聚合后的批次为全局最优解。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-06

    实质审查的生效 IPC(主分类):G06Q10/08 专利申请号:2022105038692 申请日:20220510

    实质审查的生效

说明书

技术领域

本发明涉及电商仓储技术领域,特别是涉及一种基于一品多位仓库的订单批次聚合方法、系统及设备。

背景技术

现有技术中,影响仓库拣货效率的因素为通道数、批次总数等。当以行走路径长度为批次聚合指标时,工作人员一般选择拣货距离最短的订单作为原点,然后以与该原点的订单距离最短为目标,将多个订单与原点的订单聚合为一个订单批次。但是上述方案中,仅是得到了当前批次中行走路径最优的订单选择,在进行下一批次的订单聚合时,需要从剩下的订单中再次选择拣货距离最短的订单作为原点,重新进行订单聚合,不同的批次聚合时彼此之间相互独立,互不干扰。当以SKU种类数最少的订单作为原点时,以与该原点的SKU种类数增量最小为目标,将多个订单与原点的订单聚合为一个订单批次。同样的,上述批次聚合,也仅是得到了该批次中行走路径最优的订单批次,而对其他的批次订单没有影响。

尤其对于一品多位仓库,即仓库中对同一种商品存在不同的拣货仓位,不同的仓位选择会对行走路径产生很大的影响。而如何对一品多位仓库中的商品进行批次聚合,并得到批次聚合之后的全局最优,是目前亟待解决的问题。

发明内容

本发明的目的是提供一种基于一品多位仓库的订单批次聚合方法、系统及设备,结合仓库中所有的商品仓位,对于拣货区一品多位(一种商品会存放在一个以上的仓位)仓库中的商品进行订单批次聚合,从而使得聚合后的批次为全局最优解。

为实现上述目的,本发明提供了如下方案:

一种基于一品多位仓库的订单批次聚合方法,包括:

确定每种商品在目标仓库中的多个存储仓位;

根据订单中的商品在目标仓库中的多个存储仓位,确定所述订单的最短路径拣货仓位;所述最短路径拣货仓位为对所述订单进行拣货时,位于行走最短路径上的存储仓位;

将多个所述订单的最短路径拣货仓位确定为目标仓位组;

根据所述目标仓位组、当前搜索段和批次订单设定数量,对所述目标仓位组中的订单进行批次聚合,以确定所有订单批次;所述当前搜索段是对所述目标仓位组进行分段得到的,且所述当前搜索段包括一个或多个连续仓位。

可选地,所述根据订单中的商品在目标仓库中的多个存储仓位,确定所述订单的最短路径拣货仓位,具体包括:

将商品在目标仓库中的多个存储仓位,按拣货顺序进行排序,得到排序队列;

将所述排序队列中的第i个存储仓位确定为拣货起始仓位;其中,i≥1;

判断当前拣货仓位是否为所述排序队列中的末尾存储仓位,得到第一结果;所述当前拣货仓位为排在所述拣货起始仓位后一位的仓位;

若所述第一结果表示是,则将设定拣货距离内所述订单中商品的存储仓位,确定为所述订单的最短路径拣货仓位;

若所述第一结果表示否,则判断第一距离是否大于设定拣货距离,得到第二结果;所述第一距离为所述拣货起始仓位至所述当前拣货仓位的距离;

若所述第二结果表示是,则将i更新为i+1,返回至将所述排序队列中的第i个存储仓位确定为拣货起始仓位的步骤;

若所述第二结果表示否,则判断所述第一距离内存储仓位中的商品种类与所述订单中的商品种类是否相同,得到第三结果;

若所述第三结果表示是,则将所述设定拣货距离更新为所述第一距离,然后将i更新为i+1,返回至将所述排序队列中的第i个存储仓位确定为拣货起始仓位的步骤;

若所述第三结果表示否,则将所述当前拣货仓位更新为排在所述当前拣货仓位后一位的存储仓位,返回至判断当前拣货仓位是否为所述排序队列中的末尾存储仓位,得到第一结果的步骤。

可选地,所述根据所述目标仓位组、当前搜索段和批次订单设定数量,对所述目标仓位组中的订单进行批次聚合,以确定所有订单批次,具体包括:

按照预设仓位数量对所述目标仓位组进行分段,以得到多个当前搜索段;

将所述当前搜索段的仓位数量与所述目标仓位组的仓位数量进行比较;

若所述当前搜索段的仓位数量不等于所述目标仓位组的仓位数量,则判断所述当前搜索段的订单数量是否大于或等于批次订单设定数量;

当所述当前搜索段的订单数量大于或等于批次订单设定数量时,将所述当前搜索段中的订单进行批次聚合,确定为一个订单批次;

当所述当前搜索段的订单数量小于批次订单设定数量时,将所述预设仓位数量增大设定数值,并返回至按照预设仓位数量对所述目标仓位组进行分段,以得到多个当前搜索段的步骤;

若所述当前搜索段的仓位数量等于所述目标仓位组的仓位数量,则输出所有所述订单批次。

可选地,所述当前搜索段的订单数量的确定过程,具体包括:

获取当前搜索段的头序号和尾序号;所述头序号为所述当前搜索段的起始仓位的序号,所述尾序号为所述当前搜索段的终止仓位的序号;

根据所述当前搜索段的头序号和尾序号,构建第一哈希表和第二哈希表;所述第一哈希表的哈希键为第一子仓库的仓库起始仓位至仓库终止仓位的序号对;所述第一子仓库的仓库起始仓位为所述当前搜索段的起始仓位;所述第一子仓库的仓库终止仓位为所述目标仓库的终止仓位;所述第一哈希表的哈希值为所述第一子仓库中的订单集合;所述第二哈希表的哈希键为第二子仓库的仓库起始仓位至仓库终止仓位的序号对;所述第二子仓库的仓库起始仓位为所述目标仓库的起始仓位;所述第二子仓库的的仓库终止仓位为所述当前搜索段的终止仓位;所述第二哈希表的哈希值为所述第二子仓库中的订单集合;

根据所述第一哈希表和所述第二哈希表,确定所述当前搜索段的订单集合;

根据所述当前搜索段的订单集合,确定所述当前搜索段的订单数量。

为达上述目的,本发明还提供了如下技术方案:

一种基于一品多位仓库的订单批次聚合系统,包括:

存储仓位确定模块,用于确定每种商品在目标仓库中的多个存储仓位;

最短路径拣货仓位确定模块,用于根据订单中的商品在目标仓库中的多个存储仓位,确定所述订单的最短路径拣货仓位;所述最短路径拣货仓位为对所述订单进行拣货时,位于行走最短路径上的存储仓位;

目标仓位组模块,用于将多个所述订单的最短路径拣货仓位确定为目标仓位组;

批次聚合模块,用于根据所述目标仓位组、当前搜索段和批次订单设定数量,对所述目标仓位组中的订单进行批次聚合,以确定所有订单批次;所述当前搜索段是对所述目标仓位组进行分段得到的,且所述当前搜索段包括一个或多个连续仓位。

可选地,所述最短路径拣货仓位确定模块,具体包括:

排序子模块,用于将商品在目标仓库中的多个存储仓位,按拣货顺序进行排序,得到排序队列;

起始仓位确定子模块,用于将所述排序队列中的第i个存储仓位确定为拣货起始仓位;其中,i≥1;

第一判断子模块,用于判断当前拣货仓位是否为所述排序队列中的末尾存储仓位,得到第一结果;所述当前拣货仓位为排在所述拣货起始仓位后一位的仓位;

第一返回子模块,用于若所述第一结果表示是,则将设定拣货距离内所述订单中商品的存储仓位,确定为所述订单的最短路径拣货仓位;

第二判断子模块,用于若所述第一结果表示否,则判断第一距离是否大于设定拣货距离,得到第二结果;所述第一距离为所述拣货起始仓位至所述当前拣货仓位的距离;

第二返回子模块,用于若所述第二结果表示是,则将i更新为i+1,返回至将所述排序队列中的第i个存储仓位确定为拣货起始仓位的步骤;

第三判断子模块,用于若所述第二结果表示否,则判断所述第一距离内存储仓位中的商品种类与所述订单中的商品种类是否相同,得到第三结果;

第三返回子模块,用于若所述第三结果表示是,则将所述设定拣货距离更新为所述第一距离,然后将i更新为i+1,返回至将所述排序队列中的第i个存储仓位确定为拣货起始仓位的步骤;

第四返回子模块,用于若所述第三结果表示否,则将所述当前拣货仓位更新为排在所述当前拣货仓位后一位的存储仓位,返回至判断当前拣货仓位是否为所述排序队列中的末尾存储仓位,得到第一结果的步骤。

可选地,所述批次聚合模块,具体包括:

第一划分子模块,用于按照预设仓位数量对所述目标仓位组进行分段,以得到多个当前搜索段;

仓位判断子模块,用于将所述当前搜索段的仓位数量与所述目标仓位组的仓位数量进行比较;

订单判断子模块,用于若所述当前搜索段的仓位数量不等于所述目标仓位组的仓位数量,则判断所述当前搜索段的订单数量是否大于或等于批次订单设定数量;

订单聚合子模块,用于当所述当前搜索段的订单数量大于或等于批次订单设定数量时,将所述当前搜索段中的订单进行批次聚合,确定为一个订单批次;

第二划分子模块,用于当所述当前搜索段的订单数量小于批次订单设定数量时,将所述预设仓位数量增大设定数值,并返回至按照预设仓位数量对所述目标仓位组进行分段,以得到多个当前搜索段的步骤;

订单输出子模块,用于若所述当前搜索段的仓位数量等于所述目标仓位组的仓位数量,则输出所有所述订单批次。

可选地,所述当前搜索段的订单数量的确定方面,所述订单判断子模块具体包括:

序号获取单元,用于获取当前搜索段的头序号和尾序号;所述头序号为所述当前搜索段的起始仓位的序号,所述尾序号为所述当前搜索段的终止仓位的序号;

哈希表构建单元,用于根据所述当前搜索段的头序号和尾序号,构建第一哈希表和第二哈希表;所述第一哈希表的哈希键为第一子仓库的仓库起始仓位至仓库终止仓位的序号对;所述第一子仓库的仓库起始仓位为所述当前搜索段的起始仓位;所述第一子仓库的仓库终止仓位为所述目标仓库的终止仓位;所述第一哈希表的哈希值为所述第一子仓库中的订单集合;所述第二哈希表的哈希键为第二子仓库的仓库起始仓位至仓库终止仓位的序号对;所述第二子仓库的仓库起始仓位为所述目标仓库的起始仓位;所述第二子仓库的的仓库终止仓位为所述当前搜索段的终止仓位;所述第二哈希表的哈希值为所述第二子仓库中的订单集合;

订单集合确定单元,用于根据所述第一哈希表和所述第二哈希表,确定所述当前搜索段的订单集合;

订单数量确定单元,用于根据所述当前搜索段的订单集合,确定所述当前搜索段的订单数量。

为达上述目的,本发明还包括如下技术方案:

一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现所述的基于一品多位仓库的订单批次聚合方法。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明提供一种基于一品多位仓库的订单批次聚合方法、系统及设备,根据一品多位(一种商品会存放在一个以上的仓位)仓库拣货特点,先确定所有订单的最短路径拣货仓位,即对所述订单进行拣货时,位于行走最短路径上的存储仓位。然后对多个订单的最短路径拣货仓位进行分段,得到当前搜索段;最后基于当前搜索段进行批次聚合,进而缩短整个仓库的拣货行走总路径,进而缩短拣货总耗时中的行走耗时。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于一品多位仓库的订单批次聚合方法的流程图;

图2为本发明基于一品多位仓库的订单批次聚合系统的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种基于一品多位仓库的订单批次聚合方法、系统及设备,根据一品多位仓库拣货特点,将所有订单确定其拣货最短行走路径的对应拣货仓位,再对确定完拣货仓位的所有订单进行最短行走距离的批次聚合计算,从而减少需要拣货总仓位数可缩短拣货总耗时中仓位取货耗时。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例一

如图1所示,本实施例提供一种基于一品多位仓库的订单批次聚合方法包括:

步骤100,确定每种商品在目标仓库中的多个存储仓位。

步骤200,根据订单中的商品在目标仓库中的多个存储仓位,确定所述订单的最短路径拣货仓位;所述最短路径拣货仓位为对所述订单进行拣货时,位于行走最短路径上的存储仓位。

步骤300,将多个所述订单的最短路径拣货仓位确定为目标仓位组。

步骤400,根据所述目标仓位组、当前搜索段和批次订单设定数量,对所述目标仓位组中的订单进行批次聚合,以确定所有订单批次;所述当前搜索段是对所述目标仓位组进行分段得到的,且所述当前搜索段包括一个或多个连续仓位。

具体地,步骤200包括:

1)将商品在目标仓库中的多个存储仓位,按拣货顺序进行排序,得到排序队列。

2)将所述排序队列中的第i个存储仓位确定为拣货起始仓位;其中,i≥1。在第一次确定拣货起始仓位时,将排序队列中的第1个存储仓位确定为拣货起始仓位。

3)判断当前拣货仓位是否为所述排序队列中的末尾存储仓位,得到第一结果;所述当前拣货仓位为排在所述拣货起始仓位后一位的仓位。

4)若所述第一结果表示是,则将设定拣货距离内所述订单中商品的存储仓位,确定为所述订单的最短路径拣货仓位。

5)若所述第一结果表示否,则判断第一距离是否大于设定拣货距离,得到第二结果;所述第一距离为所述拣货起始仓位至所述当前拣货仓位的距离。在第一次进行第一距离与设定拣货距离的判断时,将设定拣货距离确定为多个存储仓位排序队列的末尾-首位的值。

6)若所述第二结果表示是,则将i更新为i+1,返回至将所述排序队列中的第i个存储仓位确定为拣货起始仓位的步骤。

7)若所述第二结果表示否,则判断所述第一距离内存储仓位中的商品种类与所述订单中的商品种类是否相同,得到第三结果。

8)若所述第三结果表示是,则将所述设定拣货距离更新为所述第一距离,然后将i更新为i+1,返回至将所述排序队列中的第i个存储仓位确定为拣货起始仓位的步骤。

9)若所述第三结果表示否,则将所述当前拣货仓位更新为排在所述当前拣货仓位后一位的存储仓位,返回至判断当前拣货仓位是否为所述排序队列中的末尾存储仓位,得到第一结果的步骤。

具体地,步骤400包括:

(1)按照预设仓位数量对所述目标仓位组进行分段,以得到多个当前搜索段。具体地,当搜索段中包括多个连续仓位时,相邻两个搜索段中存在重复仓位,相邻两个搜索段中的前一个搜索段除重复仓位之外还包括位于重复仓位之前的一个仓位,相邻两个搜索段中的后一个搜索段除重复仓位之后还包括位于重复仓位之后的一个仓位。

(2)将所述当前搜索段的仓位数量与所述目标仓位组的仓位数量进行比较。

(3)若所述当前搜索段的仓位数量不等于所述目标仓位组的仓位数量,则判断所述当前搜索段的订单数量是否大于或等于批次订单设定数量。

(4)当所述当前搜索段的订单数量大于或等于批次订单设定数量时,将所述当前搜索段中的订单进行批次聚合,确定为一个订单批次。

(5)当所述当前搜索段的订单数量小于批次订单设定数量时,将所述预设仓位数量增大设定数值,并返回至按照预设仓位数量对所述目标仓位组进行分段,以得到多个当前搜索段的步骤。具体地,所述设定数值能够由工作人员根据实际仓库情况进行设定,可以为增加一个仓位,也可以为增加一个通道中的所有仓位,换而言之。对搜索段内的仓位数量进行调整时,搜索段的仓位增量可以根据实际情况进行设定。

(6)若所述当前搜索段的仓位数量等于所述目标仓位组的仓位数量,则输出所有所述订单批次。

对搜索段进行划分的举例如下:

设定一个仓位为最小搜索段(可设定任意个仓位为最小搜索段,且设定值越小越接近全局最优解);假设一个批次不超过m个订单,一个目标仓库中有22个仓位,那么搜索段划分具体过程如下:

首先,逐个仓位划分搜索段:0号仓位、1号仓位……22号仓位。搜索每个搜索段中包含的订单,若包含k个订单,生成k/m(取整数部分)个批次,将上述生成批次内的订单排除后的订单集合用于后续生成批次的计算。

其次,每2个仓位划分搜索段:0/1号仓位、1/2号仓位……21/22号仓位。搜索每个搜索段中包含的订单,若包含k个订单,生成k/m(取整数部分)个批次,将上述生成批次内的订单排除后的订单集合用于后续生成批次的计算。

然后,每4个仓位划分搜索段:0/1/2/3号仓位、1/2/3/4号仓位……19/20/21/22号仓位。搜索每个搜索段中的包括的订单,具体操作步骤同上。

……

最后,每22个仓位划分搜索段:0-21号仓位。搜索0-21号仓位组成的搜索段中的订单,具体操作步骤同上。

优选地,所述当前搜索段的订单数量的确定过程,具体包括:

获取当前搜索段的头序号和尾序号;所述头序号为所述当前搜索段的起始仓位的序号,所述尾序号为所述当前搜索段的终止仓位的序号。

根据所述当前搜索段的头序号和尾序号,构建第一哈希表和第二哈希表;所述第一哈希表的哈希键为第一子仓库的仓库起始仓位至仓库终止仓位的序号对;所述第一子仓库的仓库起始仓位为所述当前搜索段的起始仓位;所述第一子仓库的仓库终止仓位为所述目标仓库的终止仓位;所述第一哈希表的哈希值为所述第一子仓库中的订单集合;所述第二哈希表的哈希键为第二子仓库的仓库起始仓位至仓库终止仓位的序号对;所述第二子仓库的仓库起始仓位为所述目标仓库的起始仓位;所述第二子仓库的的仓库终止仓位为所述当前搜索段的终止仓位;所述第二哈希表的哈希值为所述第二子仓库中的订单集合。

根据所述第一哈希表和所述第二哈希表,确定所述当前搜索段的订单集合。

根据所述当前搜索段的订单集合,确定所述当前搜索段的订单数量。

在一个具体实施例中,所述基于一品多位仓库的订单批次聚合方法,具体包括:

预处理方面:

(1)按目标仓库中的拣货行走顺序,对目标仓库中的所有拣货仓位进行排序,从而将仓位与序号(从1开始的自然数)绑定。

(2)将目标仓库中无库存的订单,从所有待进行批次聚合的订单中剔除。

(3)根据仓库不同的业务需要将订单分到不同的订单集合,分别进行聚合批次计算。

订单聚合方面:

(1)确定订单的最短路径拣货仓位。

S1,查询出订单包含商品的所有仓位,将仓位按拣货顺序排序。

S2,按上述仓位排序,按序选择下一仓位(初始选择第一个仓位)。

S3,将2中选择仓位作为订单拣货起始仓位。

S4,按序往后增加一个拣货仓位,判断当前最后一个仓位-起始仓位的距离是否>最短行走距离(初始最短行走距离为无穷大),当大于跳转到步骤2;当不大于则判断当前经过仓位库存是否满足订单拣货,满足则更新最短行走距离为当前最后一个仓位-起始仓位并记录对应拣货仓位,然后跳转到步骤2,若不满足跳转到步骤4。

S5,当步骤4库存不满足拣货且按序往后无法增加拣货仓位(最后一个仓位已经是仓位排序末尾),计算结束,最后记录的拣货仓位为订单的最短路径拣货仓位。将多个所述订单的最短路径拣货仓位确定为目标仓位组。

(2)构建两个hashmap数据结构,用于后续的仓位段内订单搜索计算;其中,第一个hashmap键为仓位序号(从第一个仓位到最后一个仓位)、值为订单集合(订单起始仓位序号>该仓位序号加入集合),第二个hashmap键为仓位序号(从第一个仓位到最后一个仓位)、值为订单集合(订单终止仓位序号<该仓位序号加入集合)。设置当搜索a仓位到b仓位(a序号

(3)对目标仓位组中的仓位进行搜索段划分,并根据划分得到的搜索段确定搜索段的起始仓位和终止仓位,进而得到头序号和尾序号。并且,每次对搜索段中的仓位数量进行调整时,需要综合搜索段内的行走距离和搜索段内进行批次聚合时每个批次中的商品项数进行考虑,使得划分之后的搜索段中的行走距离与单个批次中的商品项数达到某种权重平衡。比如,当搜索段的仓位数量较大时,对应搜索段内的行走距离增大,那么单个批次中的商品项数相应减小。

(4)根据当前搜索段的头尾序号和步骤(2)中构建的hashmap数据结构,确定当前搜索段中的订单集合。

(5)判断订单集合中订单数量是否大于或等于批次可包含订单数的上限;如果否,表示该订单集合中商品数较少,则略过该搜索段,进行下一搜索段中订单集合确定以及订单集合中订单数量的判断;如果是,则将该订单集合中的订单确定为一个拣货批次,继续聚合下一批次。最后将不足批次内订单数上限的批次中的订单进行库存扣减归还(将拣货库存数加回),以将上述不满足订单集合批次的订单用于往后的搜索段中的订单聚合的计算。

(6)当所有搜索段均搜索完成之后,批次聚合结束,输出所有的批次聚合结果。以上,则完成订单批次聚合。

实施例二

如图2所示,本实施例提供了一种基于一品多位仓库的订单批次聚合系统,包括:

存储仓位确定模块101,用于确定每种商品在目标仓库中的多个存储仓位。

最短路径拣货仓位确定模块201,用于根据订单中的商品在目标仓库中的多个存储仓位,确定所述订单的最短路径拣货仓位;所述最短路径拣货仓位为对所述订单进行拣货时,位于行走最短路径上的存储仓位。

目标仓位组模块301,用于将多个所述订单的最短路径拣货仓位确定为目标仓位组。

批次聚合模块401,用于根据所述目标仓位组、当前搜索段和批次订单设定数量,对所述目标仓位组中的订单进行批次聚合,以确定所有订单批次;所述当前搜索段是对所述目标仓位组进行分段得到的,且所述当前搜索段包括一个或多个连续仓位。

具体地,所述最短路径拣货仓位确定模块,具体包括:

排序子模块,用于将商品在目标仓库中的多个存储仓位,按拣货顺序进行排序,得到排序队列。

起始仓位确定子模块,用于将所述排序队列中的第i个存储仓位确定为拣货起始仓位;其中,i≥1。

第一判断子模块,用于判断当前拣货仓位是否为所述排序队列中的末尾存储仓位,得到第一结果;所述当前拣货仓位为排在所述拣货起始仓位后一位的仓位。

第一返回子模块,用于若所述第一结果表示是,则将设定拣货距离内所述订单中商品的存储仓位,确定为所述订单的最短路径拣货仓位。

第二判断子模块,用于若所述第一结果表示否,则判断第一距离是否大于设定拣货距离,得到第二结果;所述第一距离为所述拣货起始仓位至所述当前拣货仓位的距离。

第二返回子模块,用于若所述第二结果表示是,则将i更新为i+1,返回至将所述排序队列中的第i个存储仓位确定为拣货起始仓位的步骤。

第三判断子模块,用于若所述第二结果表示否,则判断所述第一距离内存储仓位中的商品种类与所述订单中的商品种类是否相同,得到第三结果。

第三返回子模块,用于若所述第三结果表示是,则将所述设定拣货距离更新为所述第一距离,然后将i更新为i+1,返回至将所述排序队列中的第i个存储仓位确定为拣货起始仓位的步骤。

第四返回子模块,用于若所述第三结果表示否,则将所述当前拣货仓位更新为排在所述当前拣货仓位后一位的存储仓位,返回至判断当前拣货仓位是否为所述排序队列中的末尾存储仓位,得到第一结果的步骤。

进一步地,所述批次聚合模块,具体包括:

第一划分子模块,用于按照预设仓位数量对所述目标仓位组进行分段,以得到多个当前搜索段。

仓位判断子模块,用于将所述当前搜索段的仓位数量与所述目标仓位组的仓位数量进行比较。

订单判断子模块,用于若所述当前搜索段的仓位数量不等于所述目标仓位组的仓位数量,则判断所述当前搜索段的订单数量是否大于或等于批次订单设定数量。

订单聚合子模块,用于当所述当前搜索段的订单数量大于或等于批次订单设定数量时,将所述当前搜索段中的订单进行批次聚合,确定为一个订单批次。

第二划分子模块,用于当所述当前搜索段的订单数量小于批次订单设定数量时,将所述预设仓位数量增大设定数值,并返回至按照预设仓位数量对所述目标仓位组进行分段,以得到多个当前搜索段的步骤。

订单输出子模块,用于若所述当前搜索段的仓位数量等于所述目标仓位组的仓位数量,则输出所有所述订单批次。

在所述当前搜索段的订单数量的确定方面,所述订单判断子模块具体包括:

序号获取单元,用于获取当前搜索段的头序号和尾序号;所述头序号为所述当前搜索段的起始仓位的序号,所述尾序号为所述当前搜索段的终止仓位的序号。

哈希表构建单元,用于根据所述当前搜索段的头序号和尾序号,构建第一哈希表和第二哈希表;所述第一哈希表的哈希键为第一子仓库的仓库起始仓位至仓库终止仓位的序号对;所述第一子仓库的仓库起始仓位为所述当前搜索段的起始仓位;所述第一子仓库的仓库终止仓位为所述目标仓库的终止仓位;所述第一哈希表的哈希值为所述第一子仓库中的订单集合;所述第二哈希表的哈希键为第二子仓库的仓库起始仓位至仓库终止仓位的序号对;所述第二子仓库的仓库起始仓位为所述目标仓库的起始仓位;所述第二子仓库的的仓库终止仓位为所述当前搜索段的终止仓位;所述第二哈希表的哈希值为所述第二子仓库中的订单集合。

订单集合确定单元,用于根据所述第一哈希表和所述第二哈希表,确定所述当前搜索段的订单集合。

订单数量确定单元,用于根据所述当前搜索段的订单集合,确定所述当前搜索段的订单数量。

实施例三

本实施例提供了一种电子设备,包括:

一个或多个处理器;存储装置,用于存储一个或多个程序。

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现实施例一所述的基于一品多位仓库的订单批次聚合方法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号