发明内容
有鉴于此,本发明实施例提供一种优化组单的方法和装置,能够自动完成相似订单的组单,提高生产效率。
为实现上述目的,根据本发明的一个方面,提供了一种优化组单的方法,包括:在订单进入订单池后,确定所述订单的优先级;将所述订单池的当前波次中优先级最高的订单设置为基础订单,以所述基础订单为基础建立集合单;选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,加入所述集合单;当所述集合单满足预设的集合条件时,完成组单。
可选的,所述确定所述订单的优先级包括:根据所述订单的货物量、订单储位数量和/或订单内所有货物的体积,计算所述订单的优先级。
可选的,选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,加入所述集合单,包括:确定所述订单池内的订单与所述基础订单之间的相似度;按照相似度由高到低的顺序,依次将所述订单池内的订单加入所述集合单。
可选的,所述确定所述订单池内的订单与所述基础订单之间的相似度,包括:根据订单中货物的储位、订单中货物的相近储位、货主信息和/或其他信息,确定所述订单池内的订单与所述基础订单之间的相似度。
可选的,选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,还包括:按照预设时间点,将所述当前订单池的当前波次中的订单划分为至少2个区间;将所述订单池内的订单按照订单下达时间划分至相对应的区间中;在选择所述订单池内与所述基础订单之间满足预设相似度条件的订单时,优先选择与所述基础订单位于同一所述区间的订单。
为实现上述目的,根据本发明实施例的另一方面,提供了一种优化组单的装置,包括:优先级计算模块,用于在订单进入订单池后,确定所述订单的优先级;集合单生成模块,用于将当前订单池的当前波次中优先级最高的订单设置为基础订单,以所述基础订单为基础建立集合单;集合单处理模块,用于选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,加入所述集合单;组单模块,用于当所述集合单满足预设的集合条件时,完成组单。
可选的,所述优先级计算模块还用于根据所述订单的货物量、订单储位数量和/或订单内所有货物的体积,计算所述订单的优先级。
可选的,所述集合单处理模块包括:相似度计算模块,用于确定所述订单池内的订单与所述基础订单之间的相似度;订单合并模块,用于按照相似度由高到低的顺序,依次将所述订单池内的订单加入所述集合单。
可选的,所述相似度计算模块还用于根据订单中货物的储位、订单中货物的相近储位、货主信息和/或其他信息,确定所述订单池内的订单与所述基础订单之间的相似度。
可选的,所述集合单处理模块还包括:期限管理模块,用于按照预设时间点,将所述当前订单池的当前波次中的订单划分为至少2个区间;将所述订单池内、当前排产波次中的订单按照订单下达时间划分至相对应的区间中;还用于在选择所述订单池内与所述基础订单之间满足预设相似度条件的订单时,优先选择与所述基础订单位于同一所述区间的订单。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种AA的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器至少实现:在订单进入订单池后,确定所述订单的优先级;将所述订单池的当前波次中优先级最高的订单设置为基础订单,以所述基础订单为基础建立集合单;选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,加入所述集合单;当所述集合单满足预设的集合条件时,完成组单。
为实现上述目的,根据本发明实施例的又一个方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时至少实现:在订单进入订单池后,确定所述订单的优先级;将所述订单池的当前波次中优先级最高的订单设置为基础订单,以所述基础订单为基础建立集合单;选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,加入所述集合单;当所述集合单满足预设的集合条件时,完成组单。
上述发明中的一个实施例具有如下优点或有益效果:因为采用优先级选择基础订单,并以其为基础,搜索其他相似订单组成集合单,以供安排后续拣货的技术手段,解决了现有技术无法适应大规模仓储需求、无法有效提高生产效率的技术问题,达到了提高仓储排产效率的技术效果。通过采用适当的优先级计算方法,以优先级高的订单作为基础订单,再选择其他订单时,其他订单与基础订单的相似度会更高,两订单中货物存放的位置等会更加容易吻合,可以有效减少工作人员的行走路程,提高拣货效率。通过在组单时加入时间条件,能够更好地适应大规模仓储的时限要求,有效避免订单延误,提高用户体验。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例提出了一种组合订单的方法,首先根据预设规则计算订单优先级,再以优先级最高的订单为基础,建立集合单,将其他满足相似度等条件的订单加入组合单中,以完成组单。如此一来,既能够满足大规模仓储的计算需求,且由于集合单中的订单之间相似度高,在拣货时可以有效提高效率,从而提高了仓储生产效率。
图2是根据本发明实施例的优化组单的方法的主要步骤的示意图。
如图2所示,本发明实施例的一种优化组单的方法主要包括如下步骤:
S20,在订单进入订单池后,计算所述订单的优先级。订单的优先级是由多个方面的因素计算确定的,例如订单中货物量(货物的数量、体积、重量等)的多少,货物在各储位的分布情况,货物总体积的多少等。货物数量越多、涵盖的储位越多、拣选时需要的容量越大的订单,具备越高的优先级。
S21,获取当前排产波次中优先级最高的订单作为基础订单,以所述基础订单为基础建立集合单。集合单可以被视为一个规模较大的“订单”,但准确地说是一个订单的集合。以基础订单为基础建立的集合单中,最初仅包含基础订单一个订单,在后续步骤中,集合单中包含的订单数量会逐渐增加。
S22,选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,加入所述集合单。在将订单池中的其他订单加入集合单的过程中,优先选择与所述基础订单之间满足预设相似度条件的订单;例如优先选择与所述基础订单相似度高的订单,这些订单的发起人、订单内货物的储位等信息与基础订单较为相似,在拣货时有相当一部分可以一起完成,从而减少了工作人员的行走路程,提高了拣货效率。具体计算相似度时,可以采用elastic search等搜索引擎完成,能够满足大规模仓储的计算要求。
S23,当所述集合单满足预设的集合条件时,完成组单。集合单里包含的订单数量也不是没有上限的:例如,在使用拣货车进行拣货时,拣货车的容量是有限的,一次能够容纳的货物也是有限的;另外,拣货车的载重量也是有限的;因此集合单内的订单所包含的货物就受到了限制。根据这些限制条件,或这些限制条件的综合,制定了集合条件,当集合单中各订单的货物达到集合条件时,即判定组单完成。
通过执行上述步骤S20-S23,完成了一次集合单的组单过程,被加入集合单的订单会被从订单池中取出;通过重复执行上述步骤,即可逐渐减少订单池内订单的数量。
从上面所述可以看出,本发明一个实施例提供的优化组单的方法,因为采用优先级选择基础订单,并以基础订单为基础,搜索其他相似订单组成集合单,以供安排后续拣货,解决了现有技术无法适应大规模仓储需求、无法有效提高生产效率的问题,达到了提高仓储排产效率的技术效果。
在一些可选的实施例中,S20,计算所述订单的优先级,包括:
根据所述订单的货物量、订单储位数量和/或订单内所有货物的体积,计算所述订单的优先级。在前面已经说明,订单的优先级是由多个方面的因素计算确定的,例如订单中货物量(货物的数量、体积、重量等)的多少,货物在各储位的分布情况,货物总体积的多少等。总体来说,货物数量越多、涵盖的储位越多、拣选时需要的容量越大的订单,具备越高的优先级。本步骤中各优先级有关参数的计算,以及在前步骤中订单优先级的计算都对并发计算能力有着较高的需求,可以采用分布式计算工具完成处理,例如采用基于akka的Actor并发模型处理。
订单的货物量用来描述订单中货物的状态,例如货物的数量、重量等;货物在各储位的分布情况,可以体现订单所覆盖的区域,以及拣货的难以程度。货物量可以大致表示该订单取货需要耗费的时间,货物量越大则需要耗费越多的时间。而由于储位分布不同,两个订单有相同的订单量,但取货时耗费的时间却可以完全不同,例如一个订单有4个货物,分别分布在不同的储位,那么在拣货时工作人员就要分别去这4处储位取货以完成订单;另一个订单也有4个货物,但都是相同的货物,那么工作人员就可以在同一个储位直接完成这个订单。可见,订单的货物量和储位分布情况共同决定了完成该订单可能耗费的时间。
下面通过一个例子简单说明一下优先级计算的相关内容。
有订单A和订单B,两个订单的状态如下:
订单A,包含4种货物,具体如下:
[货物1,储位1,货物量=2]
[货物2,储位2,货物量=1]
[货物3,储位3,货物量=2]
[货物4,储位4,货物量=1]
订单B,包含2种货物,具体如下:
[货物1,储位1,货物量=2]
[货物2,储位2,货物量=1]
则订单A的货物量=4+2+2+1=9
订单B的货物量=4+2=6
订单A的储位数量=4
订单B的储位数量=2
订单A和订单B的货物的体积,可以根据预先记录的数据进一步计算获得,例如可以根据SKU计算。SKU是Stock Keeping Unit(库存量单位)的简称。即库存进出计量的基本单元,可以是以件,盒,托盘等为单位。SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法。现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号。单品:对一种商品而言,当其品牌、型号、配置、等级、花色、包装容量、单位、生产日期、保质期、用途、价格、产地等属性与其他商品存在不同时,可称为一个单品。
订单的货物总体积决定了拣货时需要占用的货仓容量。在一次拣货中,希望拣货车的货仓尽可能装满,以最大限度地提高效率。所以作为集合单的基础订单,应当具备尽可能大的货物总体积,以便于达到装满拣货车货仓的目标。
可以通过一个计算式表示订单优先级的计算,如下:
订单优先级=货物量*密度权重+订单储位数量*储位数量权重+订单所有商品的体积*体积权重。其中密度权重、储位数量权重和体积权重都可以根据实际需要进行确定。
根据本实施例的方法,以优先级高的订单作为基础订单,再选择其他订单时,其他订单与基础订单的相似度会更高,两订单中货物存放的位置等会更加容易吻合,可以有效减少工作人员的行走路程,提高拣货效率。
在一些可选的实施例中,S22,选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,加入所述集合单,包括:
计算所述订单池内的订单与所述基础订单之间的相似度。相似度高的订单,则说明它们包含的货物种类完全或部分相同、货物储位相同或接近、订单发起人相同等,在根据相似度高的订单组成的集合单进行拣货时,可以有效减少工作人员的行走路程,并提高拣货效率。
按照相似度由高到低的顺序,依次将所述订单池内的订单加入所述集合单。
在执行上述排序步骤时,由于一些特殊情况,无法完全依靠相似度选择订单加入集合单。例如,集合单中各订单的总货物量已经快要达到拣货车货仓的容量了,而按照相似度顺序下一个订单的货物量会大于拣货车货仓的剩余容量。那么这个时候就可以继续查找其他相似度更低的订单,直到找到满足容量条件的订单,完成组单。可见,相似度是选择订单加入集合单时的主要参考值,但出于特殊考虑,也可以综合其他要求进行订单的选择。
在一些可选的实施例中,所述计算所述订单池内的订单与所述基础订单之间的相似度,包括:
根据订单中货物的储位、订单中货物的相近储位、货主信息和/或其他信息,计算所述订单池内的订单与所述基础订单之间的相似度。每个订单都是包含了一些项目信息的,例如货物编码、货物名称、货物储位、相近储位、货主信息以及其他信息等,这些项目信息就是判断两个订单之间相似度的依据。需要说明的项目是“相近储位”,现有的订单是没有包含这个特征的,在本实施例中,由于考虑到相近储位的货物在拣货时也可以一起取出,因此加入了这个项目。相近储位可以包括该货物实际储位相邻、相对或者相隔一个储位的其他储位,即与该货物实际储位靠近的储位,能够方便工作人员一同拣货;通过增加“相近储位”的项目,可以将原本点状的货物储位扩展为一个个的小型区域,这样在判断订单相似度时,可以有效地提高相似度计算的精确度。
在前面实施例中指出,相似度是选择订单加入集合单时的主要参考值,但出于特殊考虑,也可以综合其他要求进行订单的选择。例如,出于对订单出货时间的考虑,可以进一步加入时间上的限制。在仓储物流排产过程中,是按照“波次”这一时间进行安排的,譬如一天有8个波次,其中8点到10点是一个波次(白天和晚上一个波次的长度是不同的,例如晚上4小时一个波次,白天2小时一个波次等等,相邻两个波次之间是没有间隔的)。每个波次需要完成组单的订单是根据订单的预定期限确定的。本发明实施例方案可以设置为在每个波次开始时启动,进行订单组单,直到该波次内需要完成组单的订单处理完毕,然后等待下一波次再进行处理。
在一些可选的实施例中,S22,选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,还包括:
将所述当前排产波次按照预设时间点划分为至少2个区间。虽然多个订单处于同一波次,但它们实际订单下达的时间并不相同,那么就可以根据订单下达的时间,结合该波次订单数量,对订单进行均分,并分时间段地进行组单。例如,将订单下达时间较早的订单划入靠前的区间。
将所述订单池内、当前排产波次中的订单按照订单下达时间划分至所述区间中。例如,波次在8:00-10:00之间,就可以每半小时为一区间,将该波次划分为4个区间,将该波次订单按照上述分类法放进这些区间中。
在选择所述订单池内与所述基础订单之间满足预设相似度条件的订单时,优先选择与所述基础订单位于同一所述区间的订单。在一些特殊情况下,例如当订单量非常大时,每个区间内的订单可能无法在该区间全部完成,没有完成的订单则会被划入下一区间,继续进行组单。
本实施例的方法,通过在组单时加入时间条件,能够更好地适应大规模仓储的时限要求,有效避免订单延误,提高用户体验。
根据本发明实施例的优化组单的方法可以看出,因为采用优先级选择基础订单,并以基础订单为基础,搜索其他相似订单组成集合单,以供安排后续拣货的技术手段,解决了现有技术无法适应大规模仓储需求、无法有效提高生产效率的技术问题,达到了提高仓储排产效率的技术效果。通过采用适当的优先级计算方法,以优先级高的订单作为基础订单,再选择其他订单时,其他订单与基础订单的相似度会更高,两订单中货物存放的位置等会更加容易吻合,可以有效减少工作人员的行走路程,提高拣货效率。通过在组单时加入时间条件,能够更好地适应大规模仓储的时限要求,有效避免订单延误,提高用户体验。
本发明实施例的优化组单的装置30,主要包括:优先级计算模块301、集合单生成模块302、集合单处理模块303以及组单模块304。其中:
优先级计算模块301可用于在订单进入订单池后,计算所述订单的优先级;集合单生成模块302可用于获取当前排产波次中优先级最高的订单作为基础订单,以所述基础订单为基础建立集合单;集合单处理模块303可用于选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,加入所述集合单;组单模块304可用于当所述集合单满足预设的集合条件时,完成组单。
在一些可选的实施例中,所述优先级计算模块301还可用于根据所述订单的订单量、订单储位数量和/或订单内所有货物的体积,计算所述订单的优先级。
在一些可选的实施例中,所述集合单处理模块303包括相似度计算模块和订单合并模块。其中:
相似度计算模块可用于计算所述订单池内的订单与所述基础订单之间的相似度;订单合并模块可用于按照相似度由高到低的顺序,依次将所述订单池内的订单加入所述集合单。
在一些可选的实施例中,所述相似度计算模块还用于根据订单中货物的储位、订单中货物的相近储位、货主信息和/或其他信息,计算所述订单池内的订单与所述优先级最高的订单之间的相似度。
在一些可选的实施例中,所述集合单处理模块303还包括:
期限管理模块,用于将所述当前排产波次按照预设时间点划分为至少2个区间;将所述订单池内、当前排产波次中的订单按照订单下达时间划分至所述区间中;还用于在选择所述订单池内与所述基础订单之间满足预设相似度条件的订单时,优先选择与所述基础订单位于同一所述区间的订单。
根据本发明实施例的优化组单的装置可以看出,因为采用优先级选择基础订单,并以基础订单为基础,搜索其他相似订单组成集合单,以供安排后续拣货,解决了现有技术无法适应大规模仓储需求、无法有效提高生产效率的问题,达到了提高仓储排产效率的技术效果。通过采用适当的优先级计算方法,以优先级高的订单作为基础订单,再选择其他订单时,其他订单与基础订单的相似度会更高,两订单中货物存放的位置等会更加容易吻合,可以有效减少工作人员的行走路程,提高拣货效率。通过在组单时加入时间条件,能够更好地适应大规模仓储的时限要求,有效避免订单延误,提高用户体验。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
图4是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
下面参考图4,其示出了适于用来实现本发明实施例的终端设备的计算机系统400的结构示意图。图4示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本发明的实施例,上文主要步骤的示意图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤的示意图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括优先级计算模块、集合单生成模块、集合单处理模块和组单模块。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,组单模块还可以被描述为“当所述集合单满足预设的集合条件时完成组单的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
在订单进入订单池后,确定所述订单的优先级;将所述订单池的当前波次中优先级最高的订单设置为基础订单,以所述基础订单为基础建立集合单;选择所述订单池内与所述基础订单之间满足预设相似度条件的订单,加入所述集合单;当所述集合单满足预设的集合条件时,完成组单。
根据本发明实施例的技术方案,因为采用优先级选择基础订单,并以基础订单为基础,搜索其他相似订单组成集合单,以供安排后续拣货,解决了现有技术无法适应大规模仓储需求、无法有效提高生产效率的问题,达到了提高仓储排产效率的技术效果。通过采用适当的优先级计算方法,以优先级高的订单作为基础订单,再选择其他订单时,其他订单与基础订单的相似度会更高,两订单中货物存放的位置等会更加容易吻合,可以有效减少工作人员的行走路程,提高拣货效率。通过在组单时加入时间条件,能够更好地适应大规模仓储的时限要求,有效避免订单延误,提高用户体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。