CN114852566A - 订单处理方法、装置、设备、仓储系统及存储介质 - Google Patents

订单处理方法、装置、设备、仓储系统及存储介质 Download PDF

Info

Publication number
CN114852566A
CN114852566A CN202210374390.3A CN202210374390A CN114852566A CN 114852566 A CN114852566 A CN 114852566A CN 202210374390 A CN202210374390 A CN 202210374390A CN 114852566 A CN114852566 A CN 114852566A
Authority
CN
China
Prior art keywords
order
distribution result
distributed
orders
distribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210374390.3A
Other languages
English (en)
Inventor
喻润方
艾鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Kubo Software Co Ltd
Original Assignee
Shenzhen Kubo Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Kubo Software Co Ltd filed Critical Shenzhen Kubo Software Co Ltd
Priority to CN202210374390.3A priority Critical patent/CN114852566A/zh
Publication of CN114852566A publication Critical patent/CN114852566A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping

Abstract

本申请实施例提供一种订单处理方法、装置、设备、仓储系统及存储介质,该订单处理方法包括:当第一操作台存在空闲槽位时,根据对应的订单的优先级,为第一操作台的空闲槽位分配第一订单,以将第一订单下发至第一操作台;根据第一订单的订单需求以及待搬运料箱对应的订单需求,确定第一操作台对应的至少一个目标料箱,其中,待搬运料箱为至少一个第二订单对应的存放在存储货架上的料箱,第二订单为在第一订单下发至第一操作台之前已下发至第一操作台且未执行完成的订单;控制机器人将至少一个目标料箱搬运至第一操作台,减少了第一订单以及第一操作台未完成的订单所需搬运的料箱的数量,提高了料箱搬运的效率以及订单处理的效率。

Description

订单处理方法、装置、设备、仓储系统及存储介质
技术领域
本申请涉及避障控制技术领域,尤其涉及一种订单处理方法、装置、设备、仓储系统及存储介质。
背景技术
基于机器人的仓储系统采用智能操作系统,通过系统指令实现货物的自动取出和存放,同时可以24小时不间断运行,代替了人工管理和操作,提高了仓储的效率,受到了广泛地应用和青睐。
随着仓储量的日益剧增,对仓储系统的订单处理效率提出了更高的要求。现有的仓储系统设置有多个操作台,每一操作台设置有多个槽位,每个槽位可以用于放置一个订单对应的货物,从而机器人和拣货人员可以在该槽位处对货物进行分拣、打包等操作。当某个槽位对应的订单处理完成后,该槽位空出,系统可以再发一个订单到这个槽位,为该订单分配库位。如此循环,直到所有订单都被处理完。
在为下发至操作台的新增订单分配库位时,通常仅考虑新增订单自身的需求进行,导致料箱搬运效率较低,订单处理整体效率较低。
发明内容
本申请提供一种订单处理方法、装置、设备、仓储系统及存储介质,实现了基于订单需求的动态料箱分配策略,从而减少了机器人搬运料箱的数量,提高了料箱搬运效率,进而提高了订单处理效率。
第一方面,本申请实施例提供了一种订单处理方法,所述方法包括:当第一操作台存在空闲槽位时,根据所述第一操作台对应的订单的优先级,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台;根据所述第一订单的订单需求以及待搬运料箱对应的订单需求,确定所述第一操作台对应的至少一个目标料箱,其中,所述待搬运料箱为至少一个第二订单对应的存放在存储货架上的料箱,所述第二订单为在所述第一订单下发至所述第一操作台之前已下发至所述第一操作台且未执行完成的订单;控制机器人将所述至少一个目标料箱搬运至所述第一操作台。
第二方面,本申请实施例还提供了一种订单处理装置,所述装置包括:挑单模块,用于当第一操作台存在空闲槽位时,根据所述第一操作台对应的订单的优先级,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台;库存分配模块,用于根据所述第一订单的订单需求以及待搬运料箱对应的订单需求,确定所述第一操作台对应的至少一个目标料箱,其中,所述待搬运料箱为至少一个第二订单对应的存放在存储货架上的料箱,所述第二订单为在所述第一订单下发至所述第一操作台之前已下发至所述第一操作台且未执行完成的订单;搬运控制模块,用于控制机器人将所述至少一个目标料箱搬运至所述第一操作台。
第三方面,本申请实施例还提供了一种订单处理设备,包括:存储器和至少一个处理器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行本申请第一方面对应的任意实施例提供的订单处理方法。
第四方面,本申请实施例还提供了一种仓储系统,包括个操作台,机器人,以及本申请第三方方面对应的实施例提供的订单处理设备。
第五方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如本申请第一方面对应的任意实施例提供的订单处理方法。
第六方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本申请第一方面对应的任意实施例提供的订单处理方法。
本申请实施例提供的订单处理方法、装置、设备、仓储系统及存储介质,当仓储系统的任意一个操作台,即第一操作台,存在空闲槽位时,基于订单优先级,从操作台对应的多个订单中为该操作台分配一个订单,即第一订单,从而将该第一订单下发至该操作台,以优先处理优先级高的订单;进而结合该第一订单的订单需求以及第一操作台对应的尚未搬运的料箱对应的订单需求,为该第一操作台分配需要搬运的目标料箱,控制机器人将所确定的目标料箱搬运至第一操作台,从而完成该第一订单以及第一操作台尚未完成的订单,通过整合订单需求,重新规划搬运至该第一操作台的料箱,减少了所需搬运料箱的数量,降低了搬运成本,提高了订单所需料箱的搬运效率,进而提高了下操作台对应的订单整体的处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的订单处理方法的一种应用场景图;
图2为本申请一个实施例提供的订单处理方法的流程图;
图3为本申请一个实施例提供的订单分配方法的流程示意图;
图4为本申请另一个实施例提供的订单分配方法的流程示意图;
图5为本申请另一个实施例提供的订单分配方法的流程图;
图6为本申请图5所示实施例中步骤S503的流程图;
图7为本申请图6所示实施例中步骤S602和步骤S603的流程图;
图8为本申请另一个实施例提供的订单分配方法的流程图;
图9为本申请图8所示实施例中步骤S808的流程示意图;
图10为本申请另一个实施例提供的订单分配方法的流程示意图;
图11为本申请另一个实施例提供的订单分配方法的流程示意图;
图12为本申请另一个实施例提供的订单分配方法的流程示意图;
图13为本申请另一个实施例提供的订单分配方法的流程示意图;
图14为本申请另一个实施例提供的订单分配方法的流程示意图;
图15为本申请另一个实施例提供的订单分配方法的流程示意图;
图16为本申请一个实施例提供的订单处理设备的结构示意图;
图17为本申请一个实施例提供的仓储系统的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
首先对本申请涉及的名词进行解释:
SKU:Stock Keeping Unit,库存存储单位,为产品统一编号的简称,每种产品均对应一个唯一的SKU。
出库订单:从仓储系统仓库中出库一个或多个料箱的订单,或出库料箱内存放的一种或多种货物的订单。
为订单分配库存:确定满足订单需求的料箱。
待分配订单:未分配操作台的订单。
预下发的订单:已分配操作台,但未分配槽位的订单。
已下发的订单或下发的订单:已分配操作台和已分配槽位的订单。
原始订单:用户下发的或者基于用户需求生成的订单。
组合订单:由多个原始订单组合而成的订单。
订单追加:将待分配订单或原始订单追加到操作台上某个正在处理的订单中,该待分配订单对应的操作台即为所追加的订单对应的操作台,该待分配订单对应的槽位即为所追加的订单对应的槽位。
订单组合:将多个待分配订单或原始订单组合为一个组合订单。
订单聚类:将多个待分配订单按照操作台的数量进行划分,得到每个操作台对应的一组待分配订单。
槽位:设置在操作台处,用于缓存订单对应的货物或料箱的空间。
下面对本申请实施例的应用场景进行解释:
图1为本申请实施例提供的订单处理方法的一种应用场景图,如图1所示,仓储系统100设置有多个操作台102,图1中以3个操作台102为例,在每个操作台102处,可以进行拣选、打包、盘点、出库、入库等操作。订单池用于存放未处理的订单,图1中以订单池中包括未处理的订单1至订单N为例。订单处理设备104先将订单池中的订单,如出库订单、拣选订单等,分配给各个操作台102,得到各个操作台102对应的订单,并为每个操作台102对应的订单分配槽位,槽位用于存放订单所需的货物,从而实现订单的下发,进而基于控制指令,控制机器人106将该订单所需的料箱搬运至对应的操作台102,如搬运至对应的操作台102的输送线上。当槽位对应订单所需的货物均被放置于该槽位时,可以将槽位上的货物送去打包或分拣,以完成对应的订单,从而该槽位更新为一个空闲槽位,上述订单1可以是原始订单,也可以是组合订单。
当操作台102存在一个空闲槽位时,如槽位12,订单处理设备104从订单池中选取一个新的订单,如订单2,下发至该空闲槽位12,并为订单2分配库存,即确定订单2所需搬运的料箱,如料箱LX01和料箱LX02(图1中未示出),控制机器人将料箱LX01和料箱LX02,以及操作台102在接收到订单2之前正在处理的订单(如订单5和订单7)所需搬运的料箱,如料箱LX03至料箱LX04(图1中未示出),搬运至操作台102,以完成订单2、订单5和订单7。
在相关技术中,在为操作台新增的订单(如订单2)分配库存时,通常仅考虑订单自身或仅考虑新增的一个或多个订单的需求进行分配,未将新增订单与操作台102正在处理的订单(如订单5和订单7)的需求结合,导致机器人需要搬运较多的料箱,以完成下发至操作台的订单,搬运成本高、效率低,从而导致订单处理效率较低,无法满足需求。
为了减少机器人搬运料箱的数量,提高订单处理的效率,本申请实施例提供了一种订单处理方法,针对出库料箱内货物的订单,在为操作台的空闲槽位分配一个新的订单之后,即下发一个新增订单至操作台之后,对该新增订单的订单需求以及在该新增订单下发之时操作台需要搬运的料箱对应的订单需求进行整合,基于整合后的需求,重新分配料箱,从而通过订单需求的合并,减少整体搬运料箱的数量。
图2为本申请一个实施例提供的订单处理方法的流程图,如图2所示,该订单处理方法适用于仓储系统,可以由订单处理设备执行,该订单处理设备可以为仓储系统中的任意一个设备,主要负责进行订单的调度,还可以负责机器人、料箱的调度,其形式可以为计算机或服务器。本实施例提供的订单处理方法包括以下步骤:
步骤S201,当第一操作台存在空闲槽位时,根据第一操作台对应的订单的优先级,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台。
其中,第一操作台为仓储系统的多个操作台中的任意一个操作台。空闲槽位为不对应任何订单且未存放任何货物的槽位。不对应任何订单可以包括未被任何订单预约或占用。操作台对应的订单可以为需要在操作台处进行处理的订单,如预下发至操作台的订单、订单池中的订单等。第一订单为需要下发至第一操作台的空闲槽位的一个未处理的订单,为第一操作台的一个新增订单。
具体的,订单处理设备可以实时检测各个操作台的各个槽位的状态,当其中一个槽位的状态为空闲状态,即该槽位为空闲槽位时,需要基于步骤S201从第一操作台对应的订单中为空闲槽位分配一个订单,即第一订单。
可以直接将第一操作台对应的订单中优先级最高的订单,确定为分配至该第一操作台的空闲槽位的订单,即第一订单,并将该第一订单下发至第一操作台,如发送至第一操作台处的显示终端,以显示该第一订单的订单需求。
在一个实施例中,操作台对应一些属性,如操作台对下发的订单的限制、操作台能够处理的货物种类或SKU的限制,则可以根据第一操作台的属性以及第一操作台对应的订单的优先级,从第一操作台对应的订单中确定分配至该第一操作台的空闲槽位的第一订单。
示例性的,操作台的属性可以包括操作台对应的货物,即可以在该操作台处分拣的货物。操作台的属性还可以包括优先级属性,以限制操作台可以处理的订单的优先级。
具体的,可以根据第一操作台的属性,对第一操作台对应的订单进行筛选,基于订单的优先级,从筛选后的第一操作台对应的订单中,确定第一订单。
订单的优先级可以手动设置,如由用户或系统指定,还可以根据订单的截止时间、订单对应的用户的优先级等自动确定,本申请对订单优先级的确定方式不进行限定。
可选的,所述第一操作台对应的订单包括预下发至所述第一操作台的仍未分配槽位的订单、待分配订单以及第三订单中的一个或多个订单;其中,第三订单为预下发至第二操作台的仍未分配槽位的订单,所述第二操作台为不存在空闲槽位的操作台,所述待分配订单为未分配操作台的订单。
其中,第二操作台与第一操作台为不同的两个操作台,第三订单为预下发至第二操作台的未分配槽位的订单。待分配订单可以存储在订单池中。
可选的,所述第一操作台对应的订单包括预下发至所述第一操作台的仍未分配槽位的订单以及待分配订单中的一个或多个订单,若在将所述第一订单下发至所述第一操作台之后,所述第一操作台仍存在空闲槽位,所述方法还包括:
为所述第一操作台的空闲槽位分配至少一个第三订单。
其中,第三订单为预下发至第二操作台的仍未分配槽位的订单,所述第二操作台为不存在空闲槽位的操作台。
当第一操作台对应的订单均已下发时,或当第一操作台不存在对应的订单时,若第一操作台存在一个空闲槽位,则为该空闲槽位分配一个预下发至其他操作台的第三订单,从而由第一操作台处理其他操作台的订单,以提高槽位的利用率,从而提高订单处理效率。
具体的,可以根据订单的优先级、订单所需的货物的种类等因素,从各个第三订单中选择一个下发至该第一操作台,并分配给该空闲槽位。具体方式与确定第一订单类似,仅将第一操作台对应的订单替换为各个第三订单即可。
可选的,根据所述第一操作台对应的订单的优先级,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台,包括:根据所述第一操作台对应的各个订单的优先级以及所述第一操作台对应的各个订单所需的货物的种类,确定所述第一操作台对应的各个订单的分配顺序;按照所述分配顺序,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台。
其中,货物的种类可以采用SKU表示,一个SKU对应一种货物。
具体的,可以根据订单的优先级以及订单所需的货物的种类,计算第一操作台对应的各个订单的订单得分,基于订单得分对第一操作台对应的各个订单进行排序,得到上述分配顺序。其中,订单得分与订单的优先级成正比。
在一个实施例中,订单所需的货物的种类越少,订单的订单得分越高。
进一步地,还可以根据第一操作台正在处理的订单所需的货物的种类、第一操作台对应的订单的优先级以及第一操作台对应的订单所需的货物的种类,从第一操作台对应的订单中确定下发至第一操作台空闲槽位的订单,即第一订单。
在一个实施例中,优先选择优先级高,且所需货物的种类与第一操作台正在处理的订单所需货物种类一致性高的订单为第一订单。
步骤S202,根据所述第一订单的订单需求以及待搬运料箱对应的订单需求,确定所述第一操作台对应的至少一个目标料箱。
其中,订单的订单需求可以为订单所需的至少一种货物的数量。待搬运料箱为至少一个第二订单对应的存放在存储货架上的料箱,所述第二订单为在所述第一订单下发至所述第一操作台之前已下发至所述第一操作台且未执行完成的订单。第二订单为第一操作台正在处理的订单,第二订单所需的货物尚未全部被放置于第二订单对应的槽位上。待搬运料箱为第一操作台正在处理的一个或多个第二订单所需搬运的料箱。
待搬运料箱为存放在存储货架上,且被第二订单预约的料箱,即待搬运料箱用于满足第二订单的订单需求。
具体的,可以将第一订单的订单需求与至少一个待搬运料箱对应的订单需求合并或整合,得到整合订单需求,并基于该整合订单需求,进行库存分配,即确定满足该整合订单需求的至少一个目标料箱。
具体的,可以基于至少一个第二订单的订单需求以及已被搬运的至少一个第二订单对应的料箱的存放信息确定待搬运料箱对应的订单需求。其中,已被搬运的至少一个第二订单对应的料箱包括已被搬运至第一操作台的料箱以及机器人正在运输的第二订单对应的料箱。
在为订单分配库位之后,为该订单分配的满足该订单的订单需求的料箱,被该订单占用或预约,为该订单对应的料箱。
可选的,根据所述第一订单的订单需求以及待搬运料箱对应的订单需求,确定所述第一操作台对应的至少一个目标料箱,包括:整合所述第一操作台的各个空闲槽位对应的第一订单的订单需求以及所述待搬运料箱对应的订单需求,得到整合订单需求;根据整合订单需求,从存储货架存放的各个料箱中,确定所述第一操作台对应的各个所述目标料箱。
具体的,当第一操作台存在多个空闲槽位时,为各个空闲槽位分配一个第一订单,得到各个空闲槽位对应的第一订单。将各个第一订单的订单需求与各个待搬运料箱对应的订单需求合并,得到整合订单需求,进而基于整合订单需求进行库存分配,即从存储货架存放的各个料箱中,确定满足该整合订单需求的各个目标料箱。
通过整合操作台新增订单和正在处理订单的订单需求,减少了需要搬运至操作台的料箱的数量,提高了料箱搬运效率。
示例性的,以第一操作台对应一个第二订单为例,该第二订单的订单需求为100件SKU1的货物和50件SKU2的货物,在库存分配时,第二订单对应的料箱为:料箱A、料箱B和料箱C,其中,料箱A内存放有50件SKU1的货物,料箱B内存放25件SKUI的货物,料箱C内存放25件SKU1的货物和60件SKU2的货物,当前料箱B和料箱C存放在存储货架上,为待搬运料箱,料箱A已经被机器人搬运。则料箱B和料箱C对应的订单需求,即待搬运料箱对应的订单需求为50件SKU1的货物和50件SKU2的货物。以第一订单的订单需求为25件SKU1的货物为例,则整合订单需求为75件SKU1的货物和50件SKU2的货物。可以基于整合订单需求重新进行库存分配,如确定料箱C和料箱D(存放有50件SKU1的货物)为目标料箱,从而取消原本需要搬运的料箱B。若采用相关技术的方案,为第一订单单独进行库存分配,如确定料箱E(存放有30件SKU1的货物)为第一订单对应的料箱,则目标料箱为料箱B、料箱C和料箱E,相比整合之后进行库存分配的方式多了一个料箱。
也就是说,可以针对至少一个第一订单的订单需求和第二订单对应的未搬运料箱对应的订单需求重新分配料箱,以在操作台对应的订单变更之后,选择最优的满足整合后需求的库存料箱。
步骤S203,控制机器人将所述至少一个目标料箱搬运至所述第一操作台。
具体的,根据至少一个目标料箱的料箱标识,生成机器人的控制指令,以基于该控制指令控制机器人将至少一个目标料箱搬运至第一操作台,以完成第一订单以及第一操作台中正在处理的各个第二订单。还可以根据各个目标料箱的存放位置以及料箱标识,生成机器人的控制指令。
本申请实施例提供的订单处理方法,当仓储系统的任意一个操作台,即第一操作台,存在空闲槽位时,基于订单优先级,从操作台对应的多个订单中为该操作台分配一个订单,即第一订单,从而将该第一订单下发至该操作台,以优先处理优先级高的订单;进而结合该第一订单的订单需求以及第一操作台对应的尚未搬运的料箱对应的订单需求,为该第一操作台分配需要搬运的目标料箱,控制机器人将所确定的目标料箱搬运至第一操作台,从而完成该第一订单以及第一操作台尚未完成的订单,通过整合订单需求,重新规划搬运至该第一操作台的料箱,减少了所需搬运料箱的数量,降低了搬运成本,提高了订单所需料箱的搬运效率,进而提高了下操作台对应的订单整体的处理效率。
进一步地,在根据所述第一操作台对应的订单的优先级,为所述第一操作台的空闲槽位分配第一订单时、之前或之后,还可以实时或按照一定周期更新第一操作台对应的订单。
可选的,所述方法还包括以下订单分配方法的步骤:为接收到的待分配订单分配操作台,以更新操作台对应的订单,其中,所述待分配订单为未分配操作台的订单。
具体的,仓储系统会陆续接收到多个需要进行处理的订单,即待分配订单,进而由订单处理设备为接收到的各个待分配订单分配操作台,从而更新至少一个操作台对应的订单。
通过上述步骤更新各个操作台对应的订单,从而在任意一个操作台即第一操作台存在空闲槽位时,基于订单的优先级,从第一操作台对应的订单中,确定上述第一订单。
在为待分配订单分配操作台时,可以通过订单追加、订单组合、订单聚类等中的至少一种方式进行。
可选的,基于订单追加的方式,为接收到的待分配订单分配操作台,包括:针对每个待分配订单,从已下发至各个操作台的订单中确定所述待分配订单对应的目标订单,将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位。
其中,待分配订单为未分配操作台的订单。已下发至操作台的订单可以为原始订单,也可以为组合订单。
具体的,可以根据待分配订单的订单需求,从已下发至各个操作台的订单中确定该待分配订单对应的目标订单。
具体的,可以根据订单需求中的货物的种类,如SKU,从已下发至各个操作台的订单中,确定与该待分配订单所需的货物的种类一致的订单为该待分配订单对应的目标订单。
在一个实施例中,待分配订单与对应的目标订单所需货物的种类相同。
在一个实施例中,待分配订单与对应的目标订单的截止时间的时间差小于预设时间差,如3min、5min、10min或者其他值。
通过将待分配订单追加至其中一个已下发订单,减少了订单所需槽位的数量,使得操作台可以同时处理较多的订单,提高了订单处理效率。
可选的,从已下发至各个操作台的订单中确定所述待分配订单对应的目标订单,包括:
确定与所述待分配订单满足第一组合条件的已下发至各个操作台的订单,为所述待分配订单对应的目标订单。
其中,第一组合条件为用于判定两个订单,如上述待分配订单及其对应的目标订单,是否可以进行追加的条件,即将待分配订单下发至对应的目标订单对应的操作台和槽位。第一组合条件可以为所有订单均适用的条件,也可以为不同优先级的订单设置不同的第一组合条件。
具体的,针对每个已下发至操作台的订单或每个已下发的订单,判断该已下发的订单所需的货物的种类与待分配订单所需的货物的种类是否一致,若是,则该待分配订单与该已下发的订单满足第一组合条件,并确定该已下发的订单为该待分配订单对应的目标订单。
其中,若已下发的订单所需的货物的种类中均包括待分配订单所需的货物的种类,则该已下发的订单所需的货物的种类与待分配订单所需的货物的种类一致。
具体的,若两个订单所需货物的种类一致,且两个订单截止时间的时间差小于预设时间差,则这两个订单满足第一条件。所指两个订单为上述待分配订单和已下发的订单。
具体的,可以根据已下发至各个操作台的订单对应的槽位,确定已下发的各个订单对应的第一组合条件。按照一定顺序,根据待分配订单的订单需求,依次判断待分配订单是否满足当前已下发的订单的第一组合条件,若是,则确定当前已下发的订单为待分配订单对应的目标订单。
示例性的,第一组合条件可以由已下发的订单对应的槽位的存放空间确定,以判断待分配订单所需的货物是否均可以放置于该已下发的订单对应的槽位,若是,则确定该已下发的订单为目标订单。
具体的,可以根据已下发至各个操作台订单的订单需求,确定已下发的各个订单对应的第一组合条件。按照一定顺序,根据待分配订单的订单需求,依次判断待分配订单是否满足当前已下发的订单的第一组合条件,若是,则确定当前已下发的订单为待分配订单对应的目标订单。
可选的,所述第一组合条件包括订单对应的槽位的存放限制条件、订单的截止时间限制条件和订单属性限制条件中的一项或多项。
其中,槽位的存放限制条件可以根据槽位的存放空间确定。具体可以根据槽位在存放对应的已下发的订单所需的货物之后,剩余的空间确定。
其中,订单的截止时间限制条件用于限制在已下发的订单的截止时间之前完成该已下发的订单。
示例性的,已下发的订单的截止时间限制条件,可以为该已下发的订单的截止时间距当前时间至少30min、1小时或者其他时间间隔。
在一个实施例中,可以根据待分配订单的订单需求,预估待分配订单所需的货物均放置于槽位的时间,记为第一时间,基于该第一时间判断待分配订单是否满足已下发的订单的截止时间限制条件。
其中,订单属性限制条件可以包括订单所需货物的种类一致、订单的优先级一致、订单对环境的要求一致等中的一项或多项。订单的优先级一致可以为追加相关的两个订单的优先级相同或相差较小。订单对环境的要求包括订单或订单所需的货物对温度的要求,还可以包括订单或订单所需的货物对湿度的要求。
具体的,可以根据订单需求、截止时间、优先级、对环境的要求等中的一项或多项,判断待分配订单与已下发的订单是否满足第一组合条件,若满足,则确定该已下发的订单为该待分配订单对应的目标条件,以将该待分配订单追加至该已下发的订单。
图3为本申请一个实施例提供的订单分配方法的流程示意图,本实施例针对基于订单组合的方式进行待分配订单的分配的情况,如图3所示,本实施提供的订单分配方法包括以下步骤:
步骤S301,对各个待分配订单进行分组,得到各个待分配订单组。
具体的,可以根据待分配订单的订单需求,对各个待分配订进行分组,得到一个或多个待分配订单组。
在一个实施例中,待分配订单组中的各个待分配订单的订单需求中所需的货物的种类一致。
具体的,可以根据待分配订单的截止时间、优先级等,对各个待分配订进行分组,得到一个或多个待分配订单组。
在一个实施例中,同一待分配订单组中各个待分配订单的应满足下述至少一项,优先级一致或相同,订单类型相同,截止时间相差小于第一时间差,如30min、45min、60min或者其他时间差。订单类型可以包括单品类型和多品类型,单品类型的订单仅需一种货物,多品类型的订单则至少需要两种货物。订单类型可以根据订单需求确定,以表征对应的订单所需的各种货物。
步骤S302,获取预下发至操作台的各个订单集合。
其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成,订单集合为组合订单,订单集合的订单需求为组成该订单集合的各个原始订单的订单需求之和。原始订单为用户下发的或基于用户需求生成的最初的订单。订单集合为已分配操作台,但未分配槽位的组合订单。待分配订单即为新增的原始订单。
在一个实施例中,已下发至操作台的各个订单集合,可以存储在订单处理设备的预下发订单池中,在预下发订单池中,可以单独设置每个操作台对应的区域,以存放预下发至该操作台的各个订单集合。
具体的,可以按照以一定的策略将各个原始订单预下发至各个操作台,从而由预下发至同一个操作台的各个原始订单组成该操作台对应的一个或多个订单集合,一个订单集合在分配槽位时,可以仅对应一个槽位。
在接收到新的一批待处理的原始订单,即接收到待分配订单后,可以先对待分配订单进行分组,进而为每个待分配订单组分配一个订单集合,以进行订单重组。
步骤S303,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个原始订单。
在一个实施例中,一个待分配订单组可以对应一个或多个目标订单集合。
具体的,可以根据优先级、截止时间、订单需求等因素,从各个订单集合中确定待分配订单组的目标订单集合。
订单集合的优先级可以根据组成该订单集合的各个原始订单的优先级确定,如优先级的众数、中位数、最低值等,订单集合的截止时间可以为组成该订单集合的各个原始订单的最近的截止时间。
对于未被确定为目标订单集合的订单集合,则不进行分解操作,该未被确定为目标订单集合的订单集合作为操作台对应的一个订单,可以在后续分配槽位时,按照优先级,为未被确定为目标订单集合的订单集合以及其他预下发至该操作台的订单分配槽位。
可选的,所述方法还包括:判断各个所述订单集合中,是否存在与所述待分配订单组满足第二组合条件的订单集合;若是,则确定与所述待分配订单组满足第二组合条件的订单集合,为所述待分配订单组的目标订单集合。
其中,第二组合条件与前述第一组合条件可以为不同的限制条件,也可以为相同的限制条件,如均限制订单类型和/或订单优先级相同。
若订单集合的优先级与待分配订单组的优先级相同,和/或,订单集合的订单类型与待分配订单组的订单类型相同,则该订单集合与待分配订单满足第二组合条件,该订单集合即为该待分配订单组的目标订单集合。
其中,待分配订单组的优先级可以由该待分配订单组包括的各个待分配订单的优先级确定,如为各个待分配订单的优先级的众数、中位数、最大值、最小值等。待分配订单组的订单类型,可以由待分配订单组包括的各个待分配订单的订单类型确定。
具体的,第二组合条件包括目标订单集合中存在至少一个原始订单与待分配订单组中的至少一个待分配订单的订单优先级和/或订单类型相同。
可选的,所述第二组合条件包括所述目标订单集合存在与所述待分配订单组中待分配订单的订单优先级相同和/或订单类型相同的原始订单。
步骤S304,将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单;并为每个所述第一组合订单分配一个操作台。
具体的,可以根据订单需求,将待分配订单组中的待分配订单与目标订单集合中的原始订单进行重组,得到一个或多个第一组合订单。
在一个实施例中,可以限制每个第一组合订单中包括的订单(原始订单和待分配订单)的总数量,如最多为5个,还可以限制第一组合订单所需的货物的数量,如小于设定阈值,如1000、500、100等。
在一个实施例中,第一组合订单分配的操作台即为第一组合订单中原始订单原本所在的订单集合对应的操作台。
可选的,可以将所述第一组合订单分配至所述第一组合订单对应的目标订单集合的操作台。
具体的,可以采用任务均分原则,为每个第一组合订单分配操作台。第一组合订单即为上述操作台对应的其中一个订单。
具体的,可以优先将所需货物的种类相同的待分配订单与原始订单组合为第一组合订单。
示例性的,第一组合订单可以对应一个或多个待分配订单,可以对应一个或多个原始订单。
可以将未与待分配订单组合的原始订单进行组合,如组合为第五组合订单,并为每个第五组合订单分配一个操作台。
可选的,将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单,包括:基于所述第二组合条件,将所述待分配订单组中的各个所述待分配订单以及各个所述原始订单划分为多组;针对每组,基于组单限制条件,将所述组对应的至少一个所述待分配订单和至少一个所述原始订单进行组合为至少一个第一组合订单。
其中,组单限制条件可以为组成的第一组合订单整体所需的货物的件数小于设定阈值,还可以包括第一组合订单整体所需的货物的种类之和小于第一数量,还可以包括订单优先级相同,所需货物的种类相同,订单种类相同等中的一项或多项。
在一个实施例中,第二组合条件为订单优先级相同且货物的种类相同,则组单限制条件可以仅为组成的第一组合订单整体所需的货物的件数小于设定阈值。
在组单时,通过对货物数量的限制,避免了第一组合订单所需货物数量过多,处理时间过长,从而影响截止时间较近的订单的交付;通过货物种类的限制,减少了搬运货箱的数量,提升出库效率。
可选的,基于组单限制条件,将所述组的至少一个所述待分配订单和至少一个所述原始订单进行组合为至少一个第一组合订单,包括:基于组单限制条件,对所述组的至少一个所述待分配订单和至少一个所述原始订单进行组合,生成满足所述组单限制条件的多种组合方案;针对每一组合方案,根据所述组合方案对应的第一组合订单的总数量和/或所述组合方案对应的各个第一组合订单对应的货物种类之和,计算所述组合方案的组合评分;根据所述组的组合评分最高的组合方案,将所述组的至少一个原始订单和至少一个待分配订单组合为至少一个第一组合订单。
其中,第一组合订单对应的货物种类,为第一组合订单对应的各个订单,原始订单和待分配订单,订单需求之和所需的货物种类。
组合方案对应的第一组合订单的总数量越少,组合方案对应的各个第一组合订单对应的货物种类之和越小,则组合方案的组合评分越高。
示例性的,以第一组合订单由一个待分配订单(订单需求为100件SKU1的货物和50件SKU2的货物)和一个原始订单(订单需求为100件SKU2的货物)为例,则第一组合订单的订单需求为100件SKU1的货物和150件SKU2的货物,第一组合订单对应的货物种类为2种,SKU1和SKU2。
图4为本申请另一个实施例提供的订单分配方法的流程示意图,本实施例针对基于订单聚类的方式进行待分配订单的分配的情况,如图4所示,本实施提供的订单分配方法包括以下步骤:
步骤S401,随机将每个待分配订单预分配至一个操作台,生成第一分配结果。
本申请实施例所指的分配结果,可以为第一分配结果、备选分配结果,或后续的第二分配结果、邻域分配结果、临时分配结果等,指的是待分配订单与操作台的对应关系,待分配订单对应的操作台即为在分配结果中为待分配订单预分配的操作台。
在一个实施例中,每得到一个新的分配结果,可以基于预设目标函数,计算该分配结果的分配分数,即在生成第一分配结果之后,基于预设目标函数,计算第一分配结果的分配分数。
其中,预设目标函数可以为预先设置的用于评估分配结果的分配分数的函数。预分配指的是预先分配,尚未将订单下发至对应的操作台。
具体的,当接收到一个或多个待分配订单时,可以随机为每个待分配订单预分配一个操作台,如从可用操作台列表中为每个待分配订单随机预分配一个操作台,得到各个待分配订单对应的操作台,即得到第一分配结果。将第一分配结果输入该预设目标函数中,从而得到第一分配结果的分配分数。
可选的,所述预设目标函数的参数包括下述一项或多项:各个操作台对应的货物的种类;各个操作台对应的货物的种类之和;各个操作台对应的任务量;稀缺货物对应的操作台的数量;各个操作台对应的待分配订单的搬运成本之和。
其中,操作台对应的任务量可以由操作台对应的待分配订单的订单需求确定;仓储系统的仓储货架中存放有所述稀缺货物的货箱的数量小于第一数量。第一数量可以为一个较小的数值,如2、3或者其他值。稀缺货物即库存量较少的货物。
在一些实施例中,预设目标函数的函数值越小,则分配结果的分配分数越大。如当第一分配结果对应的参数输入该预设目标函数之后,预设目标函数的函数值为0,则第一分配结果的分配分数可以为100。
具体的,可以预先建立目标函数的函数值与分配分数的第一对应关系,基于预设目标函数,计算分配结果的分配分数可以具体为:将分配结果输入该预设目标函数中,得到预设目标函数的函数值,根据第一对应关系以及该分配结果对应的预设目标函数的函数值,确定该分配结果的分配分数。
在一些实施例中,操作台对应的搬运成本可以根据将操作台对应的各个待分配订单的货箱搬运至该操作台所花费的时间、调度的机器人的数量等因素确定,用于描述将满足操作台对应的各个待分配订单的订单需求的货箱搬运至该操作台所花费的时间成本和资源占用成本。
具体的,可以统计各个操作台对应的货物的种类,各个操作台对应的货物的种类越均衡,如所组成的数列的方差或均方差越小,则分配结果的分配分数越大。货物的种类越均衡即不同的操作台对应的货物的种类之差越小。
具体的,可以根据各个操作台对应的货物的SKU种类之和,进行分配结果(第一分配结果或第二分配结果)的分配分数的计算,各个操作台对应的货物的SKU种类之和越小,则分配结果的分配分数越大。
在一些实施例中,操作台对应的任务量可以根据操作台所需分拣的货物的件数确定,如根据操作台对应的各个待分配订单的订单需求中各类货物的数量之和确定。
具体的,各个操作台对应的任务量越均衡,如所组成的数列的方差或均方差越小,则分配结果的分配分数越大。操作台对应的任务量越均衡即不同的操作台对应的任务量之差越小。
具体的,稀缺货物对应的操作台的数量越小,则分配结果的分配分数越大。若各个待分配订单的订单需求中均不包括稀缺货物,则可以忽略该参数,或将该参数的值设置为0或者最大值。
进一步地,可以为预设目标函数的各个参数设置权重,进而基于各个参数加权之后的和值确定预设目标函数的函数值。
示例性的,预设目标函数F()的表达式可以为:
Figure BDA0003590224130000111
其中,wi,i=1,2,…,n,为预设的权重;n为小于等于5的正整数;xi,i=1,2,…,n,可以为各个操作对应的货物的种类的均方差、各个操作台对应的货物的种类之和、各个操作台对应的任务量的均方差、稀缺货物对应的操作台的数量和各个操作台对应的待分配订单的搬运成本之和五个参数中的任意一个。
在一些实施例中,预设目标函数可以为平方和型。
步骤S402,重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果。
其中,第一次迭代对应的备选分配结果为所述第一分配结果。备选分配结果为每次迭代时更换操作的对象,可以将备选分配结果,理解为更换操作对应的算子的输入,临时分配结果则为该更换操作对应的算子的输出。
在每次迭代,对备选分配结果中待分配订单对应的操作台进行至少一次更换,得到临时分配结果,从该临时分配结果和备选分配结果中,确定下次迭代所需的备选分配结果。即每次迭代时,输出下次迭代对应的或所需的备选分配结果。
在一个实施例中,可以基于扰动算子,至少一次更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台。
其中,扰动算子可以为预先设计好的,用于更换备选分配结果中待分配订单对应的操作台,从而得到新的分配结果,即临时分配结果。
具体的,可以基于扰动算子,更换备选分配结果中一个或多个待分配订单对应的操作台。
具体的,基于扰动算子每轮换一次或更换多次当前分配结果中待分配订单对应的操作台,便得到一个临时分配结果,从而通过多轮扰动便可以得到多个临时分配结果。
具体的,可以基于扰动算子,随机将一个或多个待分配订单对应的操作台更换为不同的操作台。
在一些实施例中,可以设置迭代次数的上限值,循环执行下述步骤,直至迭代次数达到该上限值:基于扰动算子,至少一次更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台,得到一个临时分配结果,并基于所述预设目标函数,计算新得到的临时分配结果的分配分数;基于分配分数,从临时分配结果和备选分配结果中,确定分数更高的分配结果为下一迭代次数对应的备选分配结果,迭代次数增加1。
步骤S403,根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
具体的,确定各个操作台对应的待分配订单,可以为确定需要下发至各个操作台的待分配订单或者确定由各个操作台处理的待分配订单。
在一个实施例中,可以直接基于最后一次迭代输出的备选分配结果,或者最后一次迭代的下一迭代次数对应的备选分配结果,确定各个操作台对应的待分配订单。
在一个实施例中,可以根据分配分数,从各个备选分配结果中,确定分配分数最高的分配结果,基于该分配分数最高的分配结果,确定各个待分配订单对应的操作台或者确定各个操作台对应的待分配订单,即将分配分数最高的分配结果中各个待分配订单对应的操作台,确定为用于处理各个待分配订单的操作台,
图5为本申请另一个实施例提供的订单分配方法的流程图,本实施例本实施例提供的订单处理方法是在图4所示实施例的基础上,对步骤S402以及步骤S403的进一步细化,如图5所示,本实施例提供的订单处理方法可以包括以下步骤:
步骤S501,随机为各个待分配订单预分配一个操作台,生成第一分配结果,并基于预设目标函数,计算第一分配结果的分配分数。
步骤S502,重复执行步骤S503至步骤S505,直至当前迭代次数达到次数上限值或者当前计算时间超过时间上限值。
其中,迭代次数的次数上限值可以为10、50、100或者其他值。时间上限值可以为1min、3min、10min或者其他值。可以根据仓储系统的规模确定迭代次数的次数上限值和计算时间的时间上限值。
步骤S503,至少一次更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台,生成临时分配结果,并基于预设目标函数,计算所述临时分配结果的分配分数。
其中,每个迭代次数对应一个备选分配结果和一个临时分配结果,第一次迭代对应的备选分配结果为第一分配结果,即备选分配结果的初始值为第一分配结果。当前迭代次数对应的备选分配结果为上一次迭代产生的临时分配结果或上一备选分配结果。
具体的,每次迭代之后,可以得到下一迭代次数对应的备份分配结果,可以为当前代次数对应的备份分配结果或者为当前迭代次数对应的临时分配结果。当前迭代次数对应的临时分配结果即为基于扰动算子,至少一次更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台得到的分配结果。
可选的,更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台,包括:随机生成一个扰动数量,其中,所述扰动数量为正整数,所述扰动数量小于或等于待分配订单的数量;更换当前迭代次数对应的备选分配结果中所述扰动数量的待分配订单中各个待分配订单对应的操作台。
其中,扰动数量为一个位于[1,N]之间的随机数,N为待分配订单的数量。
具体的,在每次更换待分配订单对应的操作台时,如基于扰动算子更换待分配订单对应的操作台时,可以先确定一个扰动数量,进而基于该扰动算子,更换扰动数量的待分配订单中各个待分配订单对应的操作台,得到一个新的分配结果。
在一个实施例中,可以预先生成由多个扰动数量组成的扰动数量列表,每次更换时,从该扰动数量列表中取出一个扰动数量,作为该次更换时需要更换操作台的待分配订单的数量。
步骤S504,获取当前迭代次数对应的备选分配结果的分配分数。
由于每生成一个新的分配结果时,基于预设目标函数,计算了该分配结果的分配分数,且备选分配结果是从新生成的分配结果中选取的一个分配结果,则相当于计算了备选分配结果的分配分数。
示例性的,当前迭代次数对应的备选分配结果的分配分数可以为之前某一次迭代时生成的临时分配结果的分配分数,或者为第一分配结果的分配分数。
步骤S505,根据分配分数,从所述临时分配结果和当前迭代次数对应的备选分配结果中,确定下一迭代次数对应的备选分配结果。
具体的,可以将当前迭代次数对应的临时分配结果和当前迭代次数对应的备选分配结果中分配分数较高的分配结果,更新为下一迭代次数对应的备选分配结果。
具体的,在随机为各个待分配订单预分配一个操作台,生成第一分配结果之后,可以设置一个中间变量,以存放各个迭代次数对应的备选分配结果,该中间变量的初始值为第一分配结果。针对每次迭代,将当前迭代次数对应的临时分配结果以及当前迭代次数对应的备选分配结果中分配分数较高的分配结果赋值给该中间变量,从而得到下一迭代次数对应的备选分配结果。
具体的,若当前迭代次数对应的临时分配结果的分配分数大于或等于当前迭代次数对应的备选分配结果的分配分数,则更新下一迭代次数对应的备选分配结果为当前迭代次数对应的临时分配结果。
具体的,若当前迭代次数对应的临时分配结果的分配分数小于当前迭代次数对应的备选分配结果的分配分数,则保持当前迭代次数对应的备选分配结果为下一迭代次数对应的备选分配结果。
在一些实施例中,当前迭代次数对应的临时分配结果的分配分数小于当前迭代次数对应的备选分配结果的分配分数时,可以以一定概率将当前迭代次数对应的临时分配结果确定为下一迭代次数对应的备选分配结果。该概率可以根据当前迭代次数对应的临时分配结果的分配分数减去当前迭代次数对应的备选分配结果的分配分数的差值(即为第一差值)和预设衰减函数确定,该预设衰减函数随计算时间衰减,计算时间越长、第一差值越大,则对应的概率越高。
可选的,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果,包括:若当前迭代次数对应的临时分配结果的分配分数小于当前迭代次数对应的备选分配结果的分配分数,则根据当前迭代次数对应的临时分配结果的分配分数减去当前迭代次数对应的备选分配结果的分配分数的差值以及预设关系式,判断当前迭代次数对应的临时分配结果是否满足预设条件;若满足预设条件,则更新当前迭代次数对应的临时分配结果为下一迭代次数对应的备选分配结果。若不满足,则确定当前迭代次数对应的备选分配结果为下一迭代次数对应的备选分配结果。
具体的,预设关系式可以为一个不等式,若当前迭代次数对应的临时分配结果(或后续的邻域分配结果)的分配分数减去当前迭代次数对应的备选分配结果(或后续的第二分配结果)的分配分数的差值输入该预设关系式,使得预设关系式不等式成立,则确定当前迭代次数对应的临时分配(或后续的邻域分配结果)结果满足预设条件。
具体的,预设关系式可以为一个不等式,以判断当前迭代次数对应的临时分配结果(或后续的邻域分配结果)对应的概率值是否大于预设概率,若是,则当前迭代次数对应的临时分配结果(或后续的邻域分配结果)满足预设条件。预设概率可以为随机生成的一个概率值,或者默认的一个固定的概率值。
具体的,当前迭代次数对应的临时分配结果(或后续的邻域分配结果)对应的概率值可以根据当前迭代次数对应的临时分配结果(或后续的邻域分配结果)的分配分数减去当前迭代次数对应的备选分配结果(或后续的第二分配结果)的分配分数的差值(小于0的负数)确定。
进一步地,可以根据当前迭代次数对应的临时分配结果(或后续的邻域分配结果)对应的概率值可以根据当前迭代次数对应的临时分配结果(或后续的邻域分配结果)的分配分数减去当前迭代次数对应的备选分配结果(或后续的第二分配结果)的分配分数的差值与预设参数的比值确定。
可选的,所述预设关系式为:
Figure BDA0003590224130000141
其中,si为临时分配结果或邻域分配结果的分配分数;sn为备选分配结果或第二分配结果的分配分数;T为随迭代次数衰减的预设参数;rand(0,1)表示位于(0,1)之间的随机数。
在一些实施例中,预设参数T的初始值可以为远高于分配分数的最大值的数值,如一万、十万、一百万等,具体可以根据迭代次数的次数上限值和分配分数的最大值确定。
在一些实施例中,当前迭代次数对应的预设参数可以为上一迭代次数对应的预设参数与预设衰减速率的乘积,该预设衰减速率可以为0.5、0.8等位于(0,1)之间的小数。
具体的,可以设置一个初始值为0自增变量,该自增变量用于记录临时分配结果未被更新为下一迭代次数对应的备选结果的连续次数,若当前迭代次数对应的临时分配结果被更新为下一迭代次数对应的备选分配结果,则该自增变量归零,若前迭代次数对应的备选分配结果被更新为下一迭代次数对应的备选分配结果,则该自增变量增1。当自增变量的值达到预设阈值时,停止上述迭代过程,并将当前迭代次数对应的备选分配结果中各个操作台对应的待分配订单,确定为各个操作台对应的待分配订单。
通过设置备选分配结果,实现了对分配结果的不断优化,使得分配结果朝向满足预设目标函数对应的期望的方向发展,从而实现了待分配订单的分配策略的不断优化。
具体的,完成一次迭代之后,将当前迭代次数加1,以进行下一轮迭代。
具体的,在迭代开始至迭代终止的期间,可以统计计算时间,以得到各个当前计算时间,以免迭代所花费的时间过长。
进一步地,还可以设置循环提前退出条件,若某一个迭代次数对应的临时分配结果的分配分数高于预设分数时,则退出循环,停止迭代,将该迭代次数对应的临时分配结果确定为目标分配结果。
步骤S506,根据至少一个备选分配结果,确定各个操作台对应的待分配订单,以经由各个操作台处理对应的待分配订单。
具体的,在基于步骤S502至步骤S505对应的多次迭代之后,可以得到多个备选分配结果,进而当迭代终止之后,可以基于各个备选分配结果的分配分数,将分配分数最高的分配结果中各个操作台对应的待分配订单,确定为各个操作台对应的待分配订单。
具体的,在迭代终止之后,可以将当前的或者最新的备选分配结果中各个操作台对应的待分配订单,确定为各个操作台对应的待分配订单。通过上述循环的步骤可知,最新的备选分配结果可能为第一分配结果或者为其中一个临时分配结果。
可选的,根据至少一个备选分配结果,确定各个操作台对应的待分配订单,以经由各个操作台处理对应的待分配订单,包括:基于分配分数,从各个迭代次数对应的备选分配结果中,确定目标分配结果;根据所述目标分配结果中各个操作台对应的待分配订单,确定为各个操作台对应的待分配订单。
其中,目标分配结果可以为分配分数最高的分配结果,或者最新的备选分配结果。
可选的,根据至少一个备选分配结果,确定各个操作台对应的待分配订单,包括:当前迭代次数达到次数上限值或者当前计算时间超过时间上限值时,根据当前迭代次数的下一迭代次数对应的备份分配结果,确定各个操作台对应的待分配订单。即将最后得到的或者最新的备份分配结果,确定为目标分配结果,并确定该目标分配结果中各个操作台对应的待分配订单,为各个操作台对应的待分配订单。
可选的,图6为本申请图5所示实施例中步骤S503的流程图,如图6所示,步骤S503可以包括以下步骤:
步骤S601,更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台,生成当前迭代次数对应的第二分配结果,并基于预设目标函数,计算当前迭代次数对应的第二分配结果的分配分数。
在一个实施例中,可以基于扰动算子,更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台,生成当前迭代次数对应的第二分配结果。
步骤S602,交换所述第二分配结果中至少两个待分配订单对应的操作台,生成邻域分配结果,并基于预设目标函数计算所述邻域分配结果的分配分数。
具体的,交换操作指的是,将多个待分配订单对应的操作台互换,如待分配订单A对应的操作台为操作台a,待分配订单B对应的操作台为操作台b,执行交换操作后,待分配订单A对应的操作台为操作台b,待分配订单B对应的操作台为操作台a。即交换操作为改变多个待分配订单与该多个待分配订单对应的操作台之间的映射关系。可知,该交换操作与前述更换操作不同,更换是改变待分配订单对应的操作台,可以是任意一个与该待分配订单之前对应的操作台不同的操作台,更换操作可以选择的操作台的范围大于交换操作可以选择的范围。
在一个实施例中,可以基于邻域算子或限制更换范围为交换范围的扰动算子,交换当前迭代次数对应的第二分配结果中至少两个待分配订单对应的操作台,生成当前迭代次数对应的邻域分配结果。
步骤S603,根据分配分数,从所述第二分配结果和所述邻域分配结果中,确定所述临时分配结果。
本步骤与上述实施例中的“根据分配分数,从所述临时分配结果和当前迭代次数对应的备选分配结果中,确定下一迭代次数对应的备选分配结果”类似,仅将其中的临时分配结果替换为邻域分配结果,将当前迭代次数对应的备选分配结果替换为第二分配结果,将下一迭代次数对应的备选分配结果替换为临时分配即可。如可以第二分配结果和邻域分配结果中分配分数更高者为临时分配结果。
可选的,根据分配分数,从所述第二分配结果和所述邻域分配结果中,确定所述临时分配结果,包括:若所述邻域分配结果的分配分数高于所述第二分配结果的分配分数,则确定所述邻域分配结果为所述临时分配结果。
可选的,若所述邻域分配结果的分配分数小于或等于所述第二分配结果的分配分数,则重复执行下述步骤,直至新的邻域分配结果的分配分数高于所述第二分配结果的分配分数,并确定所述新的邻域分配结果为所述临时分配结果,或者直至交换次数达到次数上限值,并确定所述第二分配结果为所述临时分配结果:交换所述第二分配结果中至少两个待分配订单对应的操作台,生成新的邻域分配结果,交换次数加1;基于预设目标函数计算所述新的邻域分配结果的分配分数。
可选的,从所述第二分配结果和所述邻域分配结果中,确定所述临时分配结果,包括:
若所述邻域分配结果的分配分数小于或等于所述第二分配结果的分配分数,则重复执行下述步骤,直至确定所述临时分配结果,或者直至交换次数达到次数上限值,并确定所述第二分配结果为所述临时分配结果:根据当前交换次数对应的邻域分配结果的分配分数减去当前交换次数对应的第二分配结果的分配分数的差值以及预设关系式,判断当前交换次数对应的邻域分配结果是否满足预设条件;若满足,则确定当前交换次数对应的所述邻域分配结果为所述临时分配结果;若不满足,则交换所述第二分配结果中至少两个待分配订单对应的操作台,生成下一交换次数对应的邻域分配结果,交换次数加1;基于预设目标函数计算下一交换次数对应的邻域分配结果的分配分数;若下一交换次数对应的邻域分配结果的分配分数高于所述第二分配结果的分配分数,则确定所述邻域分配结果为所述临时分配结果。
通过多次交换第二分配结果中待分配订单对应的操作台,以得到优于第二分配结果的分配结果,以提高订单分配的均衡性。
可选的,图7为本申请图6所示实施例中步骤S602和步骤S603的流程图,如图7所示,步骤S602和步骤S603可以包括以下步骤:
步骤S701,交换所述第二分配结果中至少两个待分配订单对应的操作台,生成邻域分配结果,并基于预设目标函数计算所述邻域分配结果的分配分数。
步骤S702,判断邻域分配结果的分配分数是否大于第二分配结果的分配分数;若是,则执行步骤S703;若否,则执行步骤S704。
步骤S703,确定当前交换次数对应的邻域分配结果为临时分配结果。
步骤S704,根据当前交换次数对应的邻域分配结果的分配分数减去当前交换次数对应的第二分配结果的分配分数的差值以及预设关系式,判断当前交换次数对应的邻域分配结果是否满足预设条件;若满足,则执行步骤S703;若不满足,则执行步骤S705。
其中,预设条件可以为前述实施例中提供的预设条件,判断方式也可以参照前述部分的描述进行,仅将前述相关描述中的当前迭代次数对应的临时分配结果替换为当前交换次数对应的邻域分配结果,当前迭代次数对应的备选分配结果替换为当前交换次数对应的第二分配结果即可。
步骤S705,交换次数加1。
步骤S706,判断交换次数是否到达次数上限值;若是,则执行步骤S707;若否,则跳转至步骤S701。
步骤S707,确定第二分配结果为临时分配结果。
可选的,若连续多个交换次数(如连续3次、5次、7次等)对应的邻域分配结果的分配分数呈衰减趋势,则确定所述第二分配结果为所述临时分配结果。
若连续多次交换操作对应的邻域分配结果的分配分数均小于该第二分配结果,且该连续多次交换操作对应的邻域分配结果的分配分数呈衰减趋势,则可以说明该第二分配结果为其领域内的一个较优的分配结果,则可以直接确定该第二分配结果为临时分配结果,无需执行后续的交换操作,以缩短确定临时分配结果的时间,提高订单分配的效率。
可选的,所述方法还包括:获取历史最优分配结果,其中,所述历史最优分配结果对应的分配分数为当前迭代次数之前得到各个分配结果中分配分数最高的分配结果;若下一迭代次数对应的备选分配结果的分配分数大于所述历史最优分配结果的分配分数,则更新历史最优分配结果为下一迭代次数对应的备选分配结果。相应的,根据至少一个备选分配结果,确定各个操作台对应的待分配订单,包括:若当前迭代次数达到次数上限值或者当前计算时间超过时间上限值,则根据当前的历史最优分配结果,确定各个操作台对应的待分配订单。
具体的,在每次迭代时,可以先获取当前迭代次数对应的备份分配结果和历史最优分配结果;进而基于扰动算子,更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台,生成当前迭代次数对应的临时分配结果,并基于预设目标函数,计算当前迭代次数对应的临时分配结果的分配分数;若确定临时分配结果为下一迭代次数对应的备选分配结果,则比较下一迭代次数对应的备选分配结果的分配分数与当前的历史最优分配结果的分配分数;若下一迭代次数对应的备选分配结果的分配分数大于当前的历史最优分配结果的分配分数,则更新历史最优分配结果为下一迭代次数对应的备选分配结果;若下一迭代次数对应的备选分配结果的分配分数小于或等于当前的历史最优分配结果的分配分数,则不更新该历史最优分配结果。
在一个实施例中,可以基于每次迭代时得到的临时分配结果的分配分数进行历史最优分配结果的更新。进而,当迭代次数达到次数上限值或者当前计算时间超过时间上限值时,确定最新的历史最优分配结果为目标分配结果,即将最新的历史最优分配结果中各个待分配订单对应的操作台确定为各个待分配订单的目标操作台。
通过设置历史最优分配结果,以存储分配分数更高的分配结果,当循环终止时,基于当前的历史最优分配结果进行各个待分配订单与操作台之间的分配,提高了订单分配的准确度,进而使得各个操作台的任务量均衡化,提高订单的整体处理效率。
图8为本申请另一个实施例提供的订单分配方法的流程图,本实施例提供的订单处理方法是在图5所示实施例的基础上,在步骤S505之后增加获取历史最优分配结果以及历史最优分配结果更新的步骤,同时,增加了提前退出循环的相关步骤,如图8所示,本实施例提供的订单处理方法包括以下步骤:
步骤S801,生成第一分配结果。
具体的,随机为各个待分配订单预分配一个操作台,生成第一分配结果,并基于预设目标函数,计算第一分配结果的分配分数。
在本步骤,还可以设置迭代次数的上限值和计算时间的时间上限值,并将第一分配结果确定为历史最优分配结果。
步骤S802,更换待分配订单对应的操作台,生成第二分配结果。
具体的,更换第一分配结果中待分配订单对应的操作台,得到第一个第二分配结果。在后续的迭代过程中,更换最新的备选分配结果或下一迭代次数对应的备选分配结果中待分配订单对应的操作台,得到一个新的第二分配结果,即当前迭代次数对应的第二分配结果。
具体的,更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台,生成当前迭代次数对应的第二分配结果,并基于预设目标函数,计算当前迭代次数对应的第二分配结果的分配分数。
其中,所述备选分配结果的初始值为所述第一分配结果。
步骤S803,交换待分配订单对应的操作台,生成邻域分配结果。
具体的,交换当前迭代次数对应的第二分配结果中至少两个待分配订单对应的操作台,生成当前迭代次数对应的邻域分配结果,并基于预设目标函数计算当前迭代次数对应的邻域分配结果的分配分数。
步骤S804,根据分配分数,从第二分配结果和邻域分配结果中,确定临时分配结果。
具体的,根据分配分数,从当前迭代次数对应的第二分配结果和当前迭代次数对应的邻域分配结果中,确定当前迭代次数对应的临时分配结果。
步骤S805,根据临时分配结果和备选分配结果,生成新的备选分配结果。
具体的,根据当前迭代次数对应的临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果,即新的备选分配结果。
步骤S806,判断新的备选分配结果的分配分数是否大于历史最优分配结果的分配分数;若是,则执行步骤S807;若否,则跳转至步骤S810。
具体的,判断下一迭代次数对应的备选分配结果的分配分数是否大于历史最优分配结果的分配分数,若是,则执行步骤S807,若否,则跳转至步骤S810。
步骤S807,更新历史最优分配结果。
具体的,更新历史最优分配结果为下一迭代次数对应的备选分配结果或者新的备选分配结果。
步骤S808,判断新的备选分配结果是否满足提前退出条件;若是,则提前退出循环,执行步骤S809;若否,则跳转至步骤S810,以进行下一轮迭代。
在一个实施例中,提前退出条件可以为:下一迭代次数对应的备选分配结果或新的备选分配结果的分配分数大于预设分数。
在一个实施例中,提前退出条件可以为:下一迭代次数对应的备选分配结果或新的备选分配结果的分配分数大于预设分数,下一迭代次数与预设次数之和小于次数上限值,且下一迭代次数及其后连续预设次数的各个迭代次数对应的备选分配结果的分配分数呈衰减趋势,即当前得到的备选分配结果与其之后连续多个迭代次数得到的备选分配结果的分配分数呈衰减趋势。
其中,预设分数可以为一个较高的分数,以满分为100分为例,预设分数可以为90分、95分或者其他较高值。
具体的,多个迭代次数对应的备选分配结果的分配分数呈衰减趋势,即为分配分数随迭代次数的增加而减小,若下一迭代次数及其后连续预设次数的各个迭代次数对应的备选分配结果的分配分数呈衰减趋势,则可以确定下一迭代次数对应的备选分配结果的分配分数为下一迭代次数及之后连续预设次数的各个迭代次数对应的备选分配结果的分配分数的最大值,则可以确定下一迭代次数对应的备选分配结果的分配分数足够高,即下一迭代次数对应的备选分配结果是一个优质的分配结果,可以确定下一迭代次数对应的备选分配结果为目标分配结果,则可以提前退出循环,以减少寻找目标分配结果所花费的时间,提高订单分配的效率,同时,保证所确定的目标分配结果足够优质,以提高订单分配的准确度和订单的整体处理效率。
通过步骤S808,提供了循环提前退出的判定条件,即上述提前退出条件,该判定条件针对分配分数大于历史最优分配结果的分配分数的下一迭代次数对应的备选分配结果,具体包括:该备选分配结果的分配分数大于预设分数,且该分配分数与下一迭代次数之后连续预设次数的各个迭代次数对应的备选分配结果的分配分数呈衰减趋势。
示例性的,以迭代次数的次数上限值为1000为例,若循环迭代至第56次时,得到了第一个大于预设分数(如95分)的备选分配结果,其分数为98分(即第57次迭代对应的备选分配结果的分配分数为98),继续迭代5次后,得到第58至62次迭代对应的备选分配结果,其分数依次为96、94、90、86和82分,可知98、96、94、90、86和82这六个分数呈衰减趋势,则可以提前退出循环,将迭代至第57次时得到的备选分配结果确定为目标分配结果,从而使得仅迭代61次便得到目标分配结果,大大提高了确定目标分配结果的速度,减少了订单分配所需的时间。
步骤S809,根据新的备选分配结果,确定各个操作台对应的待分配订单。
当下一次迭代次数对应的备选分配结果,即当前得到的最新的备选分配结果,满足提前退出条件时,基于下一次迭代次数对应的备选分配结果,确定各个操作台对应的待分配订单。
步骤S810,迭代次数加1。
步骤S811,判断迭代次数是否小于次数上限值;若是,则返回执行步骤S802,以得到新的备选分配结果,即下下一迭代次数对应的备选分配结果;若否,则执行步骤S812。
步骤S812,根据当前的历史最优分配结果,确定各个操作台对应的待分配订单。
或者可以为根据当前的历史最优分配结果,确定各个待分配订单对应的操作台。
进一步地,在执行步骤S802至步骤S811中的每一个步骤之后,可以更新当前计算时间,并判断当前计算时间是否超出时间上限值,若否,则继续执行下一步骤;若是,则执行步骤S812。
可选的,图9为本申请图8所示实施例中步骤S808的流程示意图,如图9所示,针对每一当前迭代次数,判断当前迭代次数对应的备选分配结果是否满足提前退出条件的步骤具体包括以下步骤:
步骤S901,判断当前备选分配结果的分配分数是否大于预设分数;若是,则执行步骤S902;若否,则跳转至步骤S907,以确定该备选分配结果不满足提前退出条件。
其中,当前备选分配结果为当前得到的最新的备选分配结果,可以为上述下一迭代次数对应的备选分配结果。
步骤S902,判断下一迭代次数与预设次数之和是否小于次数上限值;若是,则执行步骤S903;若否,则跳转至步骤S907。
在一个实施例中,步骤S901和步骤S902可以并行执行,或者先执行步骤S902再执行步骤S901,当步骤S901和步骤S902中任意一个步骤的判断结果为否时,则跳转转至步骤S907;当步骤S901和步骤S902两个步骤的判断结果均为是时,方执行步骤S903。
步骤S903,循环次数加1,并获取下一备选分配结果。
其中,循环次数的初始值可以为0,或者为下一迭代次数。
可以通过图8所示实施中的一次迭代,得到下一备选分配结果,如执行步骤S810、S811、S802至S806得到下一备选分配结果,在此不再赘述。
示例性的,若当前的备选分配结果为“下一迭代次数对应的备选分配结果”,则下一备选分配结果则为下下一迭代次数对应的备选分配结果。
步骤S904,判断下一备选分配结果的分配分数是否小于上一备选分配结果的分配分数;若是,则执行步骤S905;若否,则跳转至步骤S907。
其中,上一备选分配结果为下一备选分配结果之前依次循环得到的备选分配结果,上一备选分配结果的初始值为上述当前备选分配结果。
步骤S905,判断循环次数是否增加预设次数;若是,则执行步骤S906;若否,则返回步骤S903。
步骤S906,当前备选分配结果满足提前退出条件。
步骤S907,当前备选分配结果不满足提前退出条件。
通过将步骤S903和步骤S904循环预设次数,得到预设次数加1个备选分配结果,若该预设次数加1个备选分配结果的分配分数随迭代次数衰减,则确定当前迭代次数对应的备选分配结果满足提前退出条件。
图10为本申请另一个实施例提供的订单分配方法的流程示意图,本实施例针对先基于订单追加再订单组合的方式进行待分配订单的分配的情况,如图10所示,本实施提供的订单分配方法包括以下步骤:
步骤S1001,针对每个待分配订单,判断已下发至各个操作台的订单中,是否存在所述待分配订单的目标订单。
步骤S1002,针对存在目标订单的各个待分配订单,将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位。
步骤S1003,针对不存在目标订单的各个待分配订单,对各个待分配订单进行分组,得到各个待分配订单组。
步骤S1004,获取预下发至操作台的各个订单集合。
其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成。
步骤S1005,针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个待分配订单组对应的原始订单。
步骤S1006,将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单。
步骤S1007,为每个所述第一组合订单分配一个操作台。
第一组合订单为对应的操作台对应的其中一个订单。
可选的,为了进一步提高订单分配的准确度,可以采用下述方式为每个所述第一组合订单分配一个操作台:
随机为每个第一组合订单预分配一个操作台,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述第一组合订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果;根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;根据至少一个备选分配结果,确定各个所述第一组合订单对应的操作台。
可以参照图4至图9所示实施例中任意实施例提供的订单分配方法为第一组合订单分配操作台,仅需将其中的“待分配订单”替换为“第一组合订单”即可,具体分配方式参见图4至图9对应的实施例,在此不再赘述。
图11为本申请另一个实施例提供的订单分配方法的流程示意图,本实施例针对先基于订单组合再订单追加的方式进行待分配订单的分配的情况,如图11所示,本实施提供的订单分配方法包括以下步骤:
步骤S1101,对各个待分配订单进行分组,得到各个待分配订单组。
步骤S1102,获取预下发至操作台的各个订单集合。
其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成。
步骤S1103,针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对各个所述目标订单集合进行分解,以得到各个原始订单。
步骤S1104,将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单。
步骤S1105,针对每个第一组合订单,从已下发至各个操作台的订单中确定所述第一组合订单的目标订单。
具体的,确定第一组合订单的目标订单的方式与确定待分配订单的目标订单的方式类似,仅需将待分配订单替换为第一组合订单即可,如可以基于第一组合条件,从已下发至各个操作台的订单中确定第一组合订单的目标订单,在此不再赘述。
步骤S1106,将所述第一组合订单分配至所述目标订单对应的操作台,且确定所述第一组合订单对应的槽位为所述目标订单的槽位。
存在目标订单的第一组合订单不需要占用所对应的操作台额外的槽位,可以与其目标订单共用同一个槽位,从而节约了槽位资源,提高了操作台可以同时处理的订单的数量,提高了订单处理效率。
可选的,对于未追加订单的第一组合订单,可以通过以下方式为其分配操作台:
针对已下发至各个操作台的订单中不存在目标订单的各个所述第一组合订单,随机为每个第一组合订单预分配一个操作台,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述第一组合订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果;根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;根据至少一个备选分配结果,确定各个所述第一组合订单对应的操作台。
为不存在目标订单的第一组合订单分配对应的操作台的方式,与前述实施例中的步骤S1007类似,仅将“各个第一组合订单”替换为“已下发至各个操作台的订单中不存在目标订单的各个所述第一组合订单”即可,在此不再赘述。
可选的,为进一步提高订单分配的准确度,可以基于下述方法为对应多个目标订单的第一组合订单,从其对应的多个目标订单对应的操作台中,确定其对应的操作台:
针对对应多个目标订单的各个第一组合订单,随机将每个待分配订单预分配至对应的其中一个目标订单下发的操作台,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述第一组合订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;根据至少一个备选分配结果,确定各个所述第一组合订单对应的操作台。
对于对应多个目标订单的第一组合订单,可以参照图4至图9所示实施例中任意实施例提供的订单分配方法,为第一组合订单分配操作台,仅需将其中的“待分配订单”替换为“第一组合订单”,以及将可分配的操作台的范围由所有可用的操作台替换为“目标订单下发的操作台”即可,具体方式可以参见图4至图9,在此不再赘述。
图12为本申请另一个实施例提供的订单分配方法的流程示意图,本实施例针对先基于订单组合再基于订单聚类的方式进行待分配订单的分配的情况,如图12所示,本实施提供的订单分配方法包括以下步骤:
步骤S1201,对各个待分配订单进行分组,得到各个待分配订单组。
步骤S1202,获取预下发至操作台的各个订单集合。
其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成。
步骤S1203,针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个原始订单。
步骤S1204,将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单。
步骤S1205,随机将第一组合订单以及剩余的待分配订单中的每个订单预分配至一个操作台,生成第一分配结果。
其中,剩余的待分配订单为未与原始订单组合的待分配订单,剩余的待分配订单包括不存在目标订单集合的待分配订单组中各个待分配订单。
步骤S1206,重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果;根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果。
步骤S1207,根据至少一个备选分配结果,确定第一组合订单以及剩余的待分配订单中的各个订单对应的操作台。
第一组合订单以及剩余的待分配订单中的各个订单即为上述操作台对应的订单,以当操作台存在空闲槽位时,从其对应的订单中确定一个订单,即第一订单,下发至该操作台的该空闲库位。
为第一组合订单以及剩余的待分配订单分配操作台的方式,即步骤S1205至步骤S1207,可以参见图4至图9所示实施例中任意实施例提供的订单分配方法进行,仅需将其中的“各个待分配订单”替换为“第一组合订单以及剩余的待分配订单中的每个订单”即可,具体方式可以参见图4至图9,在此不再赘述。
可选的,为了减少订单所需的槽位的数量,可以对第一组合订单以及剩余的待分配订单中各个订进行订单追加操作,即在根据至少一个备选分配结果,确定第一组合订单以及剩余的待分配订单中的各个订单对应的操作台之后,所述方法还包括:针对第一组合订单以及剩余的待分配订单中的各个订单,从已下发至所述订单对应的操作台的各个订单中,确定所述订单的目标订单,并确定所述订单对应的槽位为所述目标订单的槽位。
上述为订单确定目标订单的方式可以参照确定待分配订单的目标订单的方式进行,仅将对象由“待分配订单”替换为“第一组合订单以及剩余的待分配订单中的订单”即可。
图13为本申请另一个实施例提供的订单分配方法的流程示意图,本实施例针对先基于订单聚类再基于订单组合的方式进行待分配订单的分配的情况,如图13所示,本实施提供的订单分配方法包括以下步骤:
步骤S1301,获取各个订单分组。
其中,每一所述订单分组对应一个操作台,且所述订单分组中的各个订单均未下发至对应的操作台。
订单分组为由多个未下发至操作台的订单组成,订单分组不是组合订单。
步骤S1302,随机将每个待分配订单预分配至一个订单分组,生成第一分配结果。
步骤S1303,重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果。
步骤S1304,根据至少一个备选分配结果,确定各个待分配订单对应的订单分组。
为各个待分配订单,分配订单分组的方式,即步骤S1302至步骤S1304,可以参见图4至图9所示实施例中任意实施例提供的订单分配方法进行,仅需将其中的“操作台”替换为“订单分组”即可,具体方式可以参见图4至图9,在此不再赘述。
步骤S1305,将各个待分配订单与对应的订单分组进行合并,得到各个新订单分组。
其中,所述新订单分组与其中的订单分组对应同一个操作台。新订单分组中包括订单分组及其对应的一个或多个待分配订单,新订单分组不是组合订单,仅为多个订单的集合。
步骤S1306,针对每个操作台,基于第二组合条件,对所述操作台对应的新订单分组中的各个订单进行组合,得到所述操作台对应的各个第二组合订单,以在所述操作台存在空闲槽位时,为所述空闲槽位分配其中一个所述第二组合订单。
第二组合订单为对应的操作台对应的其中一个订单。
对多个订单进行组合,即将多个订单的订单需求合并,组合后的订单为一个组合订单,如上述第一组合订单、第二组合订单,组合订单作为一个整体进行操作台和槽位的分配,通常一个组合订单仅对应一个槽位。
可选的,为了减少槽位资源的占用,可以为各个第二组合订单进行订单追加操作,即在得到各个第二组合订单之后,针对每个第二组合订单,从已下发至所述第二组合订单对应的操作台的订单中,确定所述第二组合订单的目标订单;确定所述第二组合订单对应的槽位为所述目标订单的槽位。
确定第二组合订单的目标订单的方式,与确定待分配订单的目标订单的方式类似,仅需将“待分配订单”替换为“第二组合订单”即可。
图14为本申请另一个实施例提供的订单分配方法的流程示意图,本实施例针对先基于订单追加再基于订单聚类的方式进行待分配订单的分配的情况,如图14所示,本实施提供的订单分配方法包括以下步骤:
步骤S1401,针对每个待分配订单,判断已下发至各个操作台的订单中,是否存在所述待分配订单的目标订单。
步骤S1402,针对存在目标订单的各个待分配订单,将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位。
步骤S1403,针对不存在目标订单的各个待分配订单,随机将每个待分配订单预分配至一个操作台,生成第一分配结果。
步骤S1404,重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果。
步骤S1405,根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
可以参照图4至图9所示实施例中任意实施例提供的订单分配方法,为不存在目标订单的各个待分配订单分配操作台,即确定各个待分配订单对应的操作台,在此不再赘述。
可选的,针对对应多个目标订单的各个待分配订单,随机将每个待分配订单预分配至对应的其中一个目标订单下发的操作台,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
对于对应多个目标订单的待分配订单,可以参照图4至图9所示实施例中任意实施例提供的订单分配方法,为待分配订单分配操作台,仅需将可分配的操作台的范围由所有可用的操作台替换为“目标订单下发的操作台”即可,具体方式可以参见图4至图9,在此不再赘述。
可选的,在根据至少一个备选分配结果,确定各个待分配订单对应的操作台之后,所述方法还包括:
针对对应同一操作台的各个待分配订单,对所述各个待分配订单进行组合,得到第三组合订单,以为每个所述第三组合订单分配所述操作台的一个槽位。
为了减少订单所需的槽位,可以对对应同一操作台的待分配订单进行组合,即可以基于第二组合条件,对对应同一操作台的各个待分配订单进行组合,得到各个第三组合订单,从而第三组合订单作为操作台对应的订单,每个第三组合订单由多个待分配订单组合而成,一个第三组合订单仅需一个槽位进行处理。
图15为本申请另一个实施例提供的订单分配方法的流程示意图,本实施例针对先基于订单聚类再基于订单追加的方式进行待分配订单的分配的情况,如图15所示,本实施提供的订单分配方法包括以下步骤:
步骤S1501,获取各个订单分组。
其中,每一所述订单分组对应一个操作台,且所述订单分组中的各个订单均未下发至对应的操作台。
步骤S1502,随机将每个待分配订单预分配至一个订单分组,生成第一分配结果。
步骤S1503,重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果。
步骤S1504,根据至少一个备选分配结果,确定各个待分配订单对应的订单分组。
其中,步骤S1502至步骤S1504的具体方式可以参照图4至图9所示实施例中任意实施例提供的订单分配方法进行,仅需将其中的“操作台”替换为“订单分组”即可,具体分配方式参见图4至图9对应的实施例,在此不再赘述。
步骤S1505,将各个待分配订单与对应的订单分组进行合并,得到各个新订单分组。
其中,所述新订单分组与其中的订单分组对应同一个操作台。
步骤S1506,针对每个新订单分组,从已下发至所述新订单分组对应的操作台的订单中确定所述新订单分组对应的目标订单。
步骤S1507,确定所述新订单分组对应的槽位为对应的目标订单的槽位。
新订单分组对应的操作台也为该新订单分组对应的目标订单的操作台,即将新订单分组下发至对应的目标订单的操作台,且与该目标订单占用同一个槽位。
对于不存在目标订单的新订单分组,可以采用上述实施例任意实施例提供的订单分配方法为其分配操作台,如订单组合、订单聚类等方式。
可选的,对于不存在目标订单的各个新订单分组,可以采用订单组合的方式,确定其对应的操作台,具体为:
获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;针对不存在目标订单的各个新订单分组,若各个所述订单集合中存在所述新订单分组的目标订单集合,则对所述目标订单集合进行分解,以得到各个新订单分组对应的原始订单;将所述新订单分组中的订单与对应的原始订单组合为至少一个第四组合订单;将所述第四组合订单分配至所述第四组合订单对应的目标订单集合的操作台。
可以参照图3所示实施例提供的方法,得到至少一个第四组合订单,仅需将“待分配订单”替换为“新订单分组”,以及将“第一组合订单”替换为“第四组合订单”即可,在此不再赘述。
本申请实施例提供一种订单处理装置,所述装置包括:挑单模块,用于当第一操作台存在空闲槽位时,根据所述第一操作台对应的订单的优先级,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台;库存分配模块,用于根据所述第一订单的订单需求以及待搬运料箱对应的订单需求,确定所述第一操作台对应的至少一个目标料箱,其中,所述待搬运料箱为至少一个第二订单对应的存放在存储货架上的料箱,所述第二订单为在所述第一订单下发至所述第一操作台之前已下发至所述第一操作台且未执行完成的订单;搬运控制模块,用于控制机器人将所述至少一个目标料箱搬运至所述第一操作台。
可选的,挑单模块,具体用于:根据所述第一操作台对应的各个订单的优先级以及所述第一操作台对应的各个订单所需的货物的种类,确定所述第一操作台对应的各个订单的分配顺序;按照所述分配顺序,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台。
可选的,库存分配模块,具体用于:整合所述第一操作台的各个空闲槽位对应的第一订单的订单需求以及所述待搬运料箱对应的订单需求,得到整合订单需求;根据所述整合订单需求,从存储货架存放的各个料箱中,确定所述第一操作台对应的各个所述目标料箱。
可选的,所述装置还包括:订单分配模块,用于为接收到的待分配订单分配操作台,以更新操作台对应的订单,其中,所述待分配订单为未分配操作台的订单。
可选的,所述订单分配模块,包括:追单单元,用于针对每个待分配订单,从已下发至各个操作台的订单中确定所述待分配订单对应的目标订单,将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位;或,组单单元,用于对各个待分配订单进行分组,得到各个待分配订单组;获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个原始订单;将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单;为每个所述第一组合订单分配一个操作台;或,聚类单元,用于随机将每个待分配订单预分配至一个操作台,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
可选的,所述追单单元,包括:目标订单确定子单元,用于针对每个待分配订单,确定与所述待分配订单满足第一组合条件的已下发至各个操作台的订单,为所述待分配订单对应的目标订单;订单追加子单元,用于将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位。
可选的,所述装置还包括:条件判断子单元,用于判断各个所述订单集合中,是否存在与所述待分配订单组满足第二组合条件的订单集合;若是,则确定与所述待分配订单组满足第二组合条件的订单集合,为所述待分配订单组的目标订单集合。
可选的,所述组单单元,包括:分组子单元,用于对各个待分配订单进行分组,得到各个待分配订单组;集合获取子单元,用于获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;订单分解子单元,用于针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个原始订单;重新分组子单元,用于基于所述第二组合条件,将所述待分配订单组中的各个所述待分配订单以及各个所述原始订单划分为多组;订单重组子单元,针对每组,基于组单限制条件,将所述组对应的至少一个所述待分配订单和至少一个所述原始订单进行组合为至少一个第一组合订单;订单分配子单元,用于为每个所述第一组合订单分配一个操作台。
可选的,所述订单重组子单元,具体用于:针对每组,基于组单限制条件,对所述组的至少一个所述待分配订单和至少一个所述原始订单进行组合,生成满足所述组单限制条件的多种组合方案;针对每一组合方案,根据所述组合方案对应的第一组合订单的总数量和/或所述组合方案对应的各个第一组合订单对应的货物种类之和,计算所述组合方案的组合评分;根据所述组的组合评分最高的组合方案,将所述组的至少一个原始订单和至少一个待分配订单组合为至少一个第一组合订单。
可选的,所述聚类单元,包括:初始化子单元,用于随机将每个待分配订单预分配至一个操作台,生成第一分配结果;循环子单元,用于重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;分配子单元,用于根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
可选的,循环子单元,具体用于:重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果;基于预设目标函数,计算所述临时分配结果的分配分数;获取当前迭代次数对应的备选分配结果的分配分数;根据分配分数,从所述临时分配结果和当前迭代次数对应的备选分配结果中,确定下一迭代次数对应的备选分配结果。
可选的,循环子单元,包括:复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台,生成当前迭代次数对应的第二分配结果,并基于预设目标函数,计算当前迭代次数对应的第二分配结果的分配分数;交换所述第二分配结果中至少两个待分配订单对应的操作台,生成邻域分配结果,并基于预设目标函数计算所述邻域分配结果的分配分数;根据分配分数,从所述第二分配结果和所述邻域分配结果中,确定所述临时分配结果;基于预设目标函数,计算所述临时分配结果的分配分数;获取当前迭代次数对应的备选分配结果的分配分数;根据分配分数,从所述临时分配结果和当前迭代次数对应的备选分配结果中,确定下一迭代次数对应的备选分配结果。
可选的,根据分配分数,从所述第二分配结果和所述邻域分配结果中,确定所述临时分配结果,包括:若所述邻域分配结果的分配分数小于或等于所述第二分配结果的分配分数,则重复执行下述步骤,直至新的邻域分配结果的分配分数高于所述第二分配结果的分配分数,并确定所述新的邻域分配结果为所述临时分配结果,或者直至交换次数达到次数上限值,并确定所述第二分配结果为所述临时分配结果:交换所述第二分配结果中至少两个待分配订单对应的操作台,生成新的邻域分配结果,交换次数加1;基于预设目标函数计算所述新的邻域分配结果的分配分数。
可选的,根据分配分数,从所述第二分配结果和所述邻域分配结果中,确定所述临时分配结果,包括:若所述邻域分配结果的分配分数小于或等于所述第二分配结果的分配分数,则重复执行下述步骤,直至确定所述临时分配结果,或者直至交换次数达到次数上限值,并确定所述第二分配结果为所述临时分配结果:根据当前交换次数对应的邻域分配结果的分配分数减去当前交换次数对应的第二分配结果的分配分数的差值以及预设关系式,判断当前交换次数对应的邻域分配结果是否满足预设条件;若满足,则确定当前交换次数对应的所述邻域分配结果为所述临时分配结果;若不满足,则交换所述第二分配结果中至少两个待分配订单对应的操作台,生成下一交换次数对应的邻域分配结果,交换次数加1;基于预设目标函数计算下一交换次数对应的邻域分配结果的分配分数;若下一交换次数对应的邻域分配结果的分配分数高于所述第二分配结果的分配分数,则确定所述邻域分配结果为所述临时分配结果。
可选的,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果,包括:若当前迭代次数对应的临时分配结果的分配分数大于或等于当前迭代次数对应的备选分配结果的分配分数,则更新当前迭代次数对应的临时分配结果为下一迭代次数对应的备选分配结果;或,若当前迭代次数对应的临时分配结果的分配分数小于当前迭代次数对应的备选分配结果的分配分数,则根据当前迭代次数对应的临时分配结果的分配分数减去当前迭代次数对应的备选分配结果的分配分数的差值以及预设关系式,判断当前迭代次数对应的临时分配结果是否满足预设条件;若满足预设条件,则确定当前迭代次数对应的临时分配结果为下一迭代次数对应的备选分配结果。
可选的,所述订单分配模块,包括:第一订单追加单元,用于针对每个待分配订单,判断已下发至各个操作台的订单中,是否存在所述待分配订单的目标订单,针对存在目标订单的各个待分配订单,将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位;第一订单组合单元,用于针对不存在目标订单的各个待分配订单,对各个待分配订单进行分组,得到各个待分配订单组;获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个待分配订单组对应的原始订单;将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单;第一订单分配单元,用于为每个所述第一组合订单分配一个操作台。
可选的,所述第一订单分配单元,具体用于:随机为每个第一组合订单分配一个操作台,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述第一组合订单对应的操作台,生成临时分配结果,第一次迭代对应的备选分配结果为所述第一分配结果;根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;根据至少一个备选分配结果,确定各个第一组合订单对应的操作台。
可选的,所述订单分配模块,包括:第二订单组合单元,用于对各个待分配订单进行分组,得到各个待分配订单组,获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成,针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对各个所述目标订单集合进行分解,以得到各个原始订单,将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单;第二订单追加单元,用于针对每个第一组合订单,从已下发至各个操作台的订单中确定所述第一组合订单的目标订单;第二订单分配单元,用于将所述第一组合订单分配至所述目标订单对应的操作台,且确定所述第一组合订单对应的槽位为所述目标订单的槽位。
可选的,所述装置还包括:第二订单聚类单元,用于针对已下发至各个操作台的订单中不存在目标订单的各个所述第一组合订单,随机为每个第一组合订单预分配一个操作台,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述第一组合订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为第一分配结果;根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;根据至少一个备选分配结果,确定各个所述第一组合订单对应的操作台。
可选的,所述订单分配模块,包括:第三订单组合单元,用于对各个待分配订单进行分组,得到各个待分配订单组,获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个原始订单,将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单;第三订单聚类单元,用于随机将第一组合订单以及剩余的待分配订单中的每个订单预分配至一个操作台,生成第一分配结果,其中,剩余的待分配订单为不存在目标订单集合的待分配订单组中各个待分配订单;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果;根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果,根据至少一个备选分配结果,确定第一组合订单以及剩余的待分配订单中的各个订单对应的操作台。
可选的,所述订单分配模块,还包括:第三订单追加单元,用于在根据至少一个备选分配结果,确定第一组合订单以及剩余的待分配订单中的各个订单对应的操作台之后,针对第一组合订单以及剩余的待分配订单中的各个订单,从已下发至所述订单对应的操作台的各个订单中,确定所述订单的目标订单,并确定所述订单对应的槽位为目标订单的槽位。
可选的,所述订单分配模块,包括:第四订单聚类单元,用于获取各个订单分组,其中,每一所述订单分组对应一个操作台,且所述订单分组中的各个订单均未下发至对应的操作台,随机将每个待分配订单预分配至一个订单分组,生成第一分配结果,重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果,根据至少一个备选分配结果,确定各个待分配订单对应的订单分组;第四订单组合单元,用于将各个待分配订单与对应的订单分组进行合并,得到各个新订单分组,所述新订单分组与其中的订单分组对应同一个操作台,针对每个操作台,基于第二组合条件,对所述操作台对应的新订单分组中的各个订单进行组合,得到所述操作台对应的各个第二组合订单,以在所述操作台存在空闲槽位时,为所述空闲槽位分配其中一个所述第二组合订单。
可选的,所述订单分配模块,还包括:第四订单追加单元,用于在得到各个第二组合订单之后,针对每个第二组合订单,从已下发至第二组合订单对应的操作台的订单中,确定第二组合订单的目标订单;确定所述第二组合订单对应的槽位为所述目标订单的槽位。
可选的,所述订单分配模块,包括:第五订单追加单元,用于针对每个待分配订单,判断已下发至各个操作台的订单中,是否存在所述待分配订单的目标订单,针对存在目标订单的各个待分配订单,将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位;第五订单聚类单元,用于针对不存在目标订单的各个待分配订单,随机将每个待分配订单预分配至一个操作台,生成第一分配结果。重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果,根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
可选的,所述订单分配模块,还包括:第六订单聚类单元,用于针对对应多个目标订单的各个待分配订单,随机将每个待分配订单预分配至对应的其中一个目标订单下发的操作台,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
可选的,所述订单分配模块,还包括:第六订单追加单元,用于在根据至少一个备选分配结果,确定各个待分配订单对应的操作台之后,针对对应同一操作台的各个待分配订单,对所述各个待分配订单进行组合,得到第三组合订单,以为所述第三组合订单分配所述操作台的一个槽位。
可选的,所述订单分配模块,包括:第七订单聚类单元,用于获取各个订单分组,其中,每一所述订单分组对应一个操作台,且所述订单分组中的各个订单均未下发至对应的操作台,随机将每个待分配订单预分配至一个订单分组,生成第一分配结果,重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果,根据至少一个备选分配结果,确定各个待分配订单对应的订单分组;第七订单追加单元,用于将各个待分配订单与对应的订单分组进行合并,得到各个新订单分组,所述新订单分组与其中的订单分组对应同一个操作台;针对每个新订单分组,从已下发至所述新订单分组对应的操作台的订单中确定所述新订单分组对应的目标订单;确定所述新订单分组对应的槽位为所述目标订单的槽位。
可选的,所述订单分配模块,还包括:
第七订单组合单元,用于获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;针对不存在目标订单的各个新订单分组,若各个所述订单集合中存在所述新订单分组的目标订单集合,则对所述目标订单集合进行分解,以得到各个新订单分组对应的原始订单;将所述新订单分组中的订单与对应的原始订单组合为至少一个第四组合订单;将所述第四组合订单分配至所述第四组合订单对应的目标订单集合的操作台。
本申请实施例所提供的订单处理装置可执行本申请任意实施例所提供的订单处理方法,具备执行方法相应的功能模块和有益效果。
图16为本申请一个实施例提供的订单处理设备的结构示意图,如图16所示,该订单处理设备包括:存储器1610,至少一个处理器1620以及计算机程序。
其中,计算机程序存储在存储器1610中,并被配置为由至少一个处理器1620执行以实现本申请任意一个实施例提供的方法。
其中,存储器1610和处理器1620通过总线1630连接。
相关说明可以对应参见图2至图15的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
图17为本申请一个实施例提供的仓储系统的结构示意图,如图17所示,该仓储系统包括:多个操作台1710,机器人1720和本申请图16提供的订单处理设备1730,图17中以2个操作台为例。
在一些实施例中,该仓储系统还包括存储货架,用于存放料箱。还包括卸料机、提升机、运输线等料箱的中转装置。
本申请一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本申请图2至图15所对应的实施例中任一实施例提供的方法。
其中,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请还提供一种程序产品,该程序产品包括可执行计算机程序,该可执行计算机程序存储在可读存储介质中。订单处理设备或仓储系统的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得订单处理装置实施上述任一实施方式提供的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (37)

1.一种订单处理方法,其特征在于,所述方法包括:
当第一操作台存在空闲槽位时,根据所述第一操作台对应的订单的优先级,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台;
根据所述第一订单的订单需求以及待搬运料箱对应的订单需求,确定所述第一操作台对应的至少一个目标料箱,其中,所述待搬运料箱为至少一个第二订单对应的存放在存储货架上的料箱,所述第二订单为在所述第一订单下发至所述第一操作台之前已下发至所述第一操作台且未执行完成的订单;
控制机器人将所述至少一个目标料箱搬运至所述第一操作台。
2.根据权利要求1所述的方法,其特征在于,根据所述第一操作台对应的订单的优先级,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台,包括:
根据所述第一操作台对应的各个订单的优先级以及所述第一操作台对应的各个订单所需的货物的种类,确定所述第一操作台对应的各个订单的分配顺序;
按照所述分配顺序,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台。
3.根据权利要求1所述的方法,其特征在于,所述第一操作台对应的订单包括预下发至所述第一操作台的仍未分配槽位的订单、待分配订单以及第三订单中的一个或多个订单;
其中,第三订单为预下发至第二操作台的仍未分配槽位的订单,所述第二操作台为不存在空闲槽位的操作台,所述待分配订单为未分配操作台的订单。
4.根据权利要求1所述的方法,其特征在于,所述第一操作台对应的订单包括预下发至所述第一操作台的仍未分配槽位的订单以及待分配订单中的一个或多个订单,若在将所述第一订单下发至所述第一操作台之后,所述第一操作台仍存在空闲槽位,所述方法还包括:
为所述第一操作台的空闲槽位分配至少一个第三订单;
其中,第三订单为预下发至第二操作台的仍未分配槽位的订单,所述第二操作台为不存在空闲槽位的操作台。
5.根据权利要求1所述的方法,其特征在于,根据所述第一订单的订单需求以及待搬运料箱对应的订单需求,确定所述第一操作台对应的至少一个目标料箱,包括:
整合所述第一操作台的各个空闲槽位对应的第一订单的订单需求以及所述待搬运料箱对应的订单需求,得到整合订单需求;
根据所述整合订单需求,从存储货架存放的各个料箱中,确定所述第一操作台对应的各个所述目标料箱。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
为接收到的待分配订单分配操作台,以更新操作台对应的订单,其中,所述待分配订单为未分配操作台的订单。
7.根据权利要求6所述的方法,其特征在于,为接收到的待分配订单分配操作台,包括:
针对每个待分配订单,从已下发至各个操作台的订单中确定所述待分配订单对应的目标订单,将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位;或,
对各个待分配订单进行分组,得到各个待分配订单组;获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个原始订单;将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单;为每个所述第一组合订单分配一个操作台;或,
随机将每个待分配订单预分配至一个操作台,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
8.根据权利要求7所述的方法,其特征在于,从已下发至各个操作台的订单中确定所述待分配订单对应的目标订单,包括:
确定与所述待分配订单满足第一组合条件的已下发至各个操作台的订单,为所述待分配订单对应的目标订单。
9.根据权利要求8所述的方法,其特征在于,所述第一组合条件包括订单对应的槽位的存放限制条件、订单的截止时间限制条件和订单属性限制条件中的一项或多项。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
判断各个所述订单集合中,是否存在与所述待分配订单组满足第二组合条件的订单集合;
若是,则确定与所述待分配订单组满足第二组合条件的订单集合,为所述待分配订单组的目标订单集合。
11.根据权利要求10所述的方法,其特征在于,所述第二组合条件包括所述目标订单集合存在与所述待分配订单组中待分配订单的订单优先级相同和/或订单类型相同的原始订单。
12.根据权利要求10所述的方法,其特征在于,将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单,包括:
基于所述第二组合条件,将所述待分配订单组中的各个所述待分配订单以及各个所述原始订单划分为多组;
针对每组,基于组单限制条件,将所述组对应的至少一个所述待分配订单和至少一个所述原始订单进行组合为至少一个第一组合订单。
13.根据权利要求12所述的方法,其特征在于,基于组单限制条件,将所述组的至少一个所述待分配订单和至少一个所述原始订单进行组合为至少一个第一组合订单,包括:
基于组单限制条件,对所述组的至少一个所述待分配订单和至少一个所述原始订单进行组合,生成满足所述组单限制条件的多种组合方案;
针对每一组合方案,根据所述组合方案对应的第一组合订单的总数量和/或所述组合方案对应的各个第一组合订单对应的货物种类之和,计算所述组合方案的组合评分;
根据所述组的组合评分最高的组合方案,将所述组的至少一个原始订单和至少一个待分配订单组合为至少一个第一组合订单。
14.根据权利要求7所述的方法,其特征在于,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果,包括:
基于预设目标函数,计算所述临时分配结果的分配分数;
获取当前迭代次数对应的备选分配结果的分配分数;
根据分配分数,从所述临时分配结果和当前迭代次数对应的备选分配结果中,确定下一迭代次数对应的备选分配结果。
15.根据权利要求7所述的方法,其特征在于,至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,包括:
更换当前迭代次数对应的备选分配结果中待分配订单对应的操作台,生成当前迭代次数对应的第二分配结果,并基于预设目标函数,计算当前迭代次数对应的第二分配结果的分配分数;
交换所述第二分配结果中至少两个待分配订单对应的操作台,生成邻域分配结果,并基于预设目标函数计算所述邻域分配结果的分配分数;
根据分配分数,从所述第二分配结果和所述邻域分配结果中,确定所述临时分配结果。
16.根据权利要求15所述的方法,其特征在于,根据分配分数,从所述第二分配结果和所述邻域分配结果中,确定所述临时分配结果,包括:
若所述邻域分配结果的分配分数小于或等于所述第二分配结果的分配分数,则重复执行下述步骤,直至新的邻域分配结果的分配分数高于所述第二分配结果的分配分数,并确定所述新的邻域分配结果为所述临时分配结果,或者直至交换次数达到次数上限值,并确定所述第二分配结果为所述临时分配结果:交换所述第二分配结果中至少两个待分配订单对应的操作台,生成新的邻域分配结果,交换次数加1;基于预设目标函数计算所述新的邻域分配结果的分配分数。
17.根据权利要求15所述的方法,其特征在于,根据分配分数,从所述第二分配结果和所述邻域分配结果中,确定所述临时分配结果,包括:
若所述邻域分配结果的分配分数小于或等于所述第二分配结果的分配分数,则重复执行下述步骤,直至确定所述临时分配结果,或者直至交换次数达到次数上限值,并确定所述第二分配结果为所述临时分配结果:
根据当前交换次数对应的邻域分配结果的分配分数减去当前交换次数对应的第二分配结果的分配分数的差值以及预设关系式,判断当前交换次数对应的邻域分配结果是否满足预设条件;
若满足,则确定当前交换次数对应的所述邻域分配结果为所述临时分配结果;
若不满足,则交换所述第二分配结果中至少两个待分配订单对应的操作台,生成下一交换次数对应的邻域分配结果,交换次数加1;
基于预设目标函数计算下一交换次数对应的邻域分配结果的分配分数;
若下一交换次数对应的邻域分配结果的分配分数高于所述第二分配结果的分配分数,则确定所述邻域分配结果为所述临时分配结果。
18.根据权利要求7所述的方法,其特征在于,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果,包括:
若当前迭代次数对应的临时分配结果的分配分数大于或等于当前迭代次数对应的备选分配结果的分配分数,则更新当前迭代次数对应的临时分配结果为下一迭代次数对应的备选分配结果;或,
若当前迭代次数对应的临时分配结果的分配分数小于当前迭代次数对应的备选分配结果的分配分数,则根据当前迭代次数对应的临时分配结果的分配分数减去当前迭代次数对应的备选分配结果的分配分数的差值以及预设关系式,判断当前迭代次数对应的临时分配结果是否满足预设条件;
若满足预设条件,则确定当前迭代次数对应的临时分配结果为下一迭代次数对应的备选分配结果。
19.根据权利要求6所述的方法,其特征在于,为接收到的待分配订单分配操作台,包括:
针对每个待分配订单,判断已下发至各个操作台的订单中,是否存在所述待分配订单的目标订单;
针对存在目标订单的各个待分配订单,将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位;
针对不存在目标订单的各个待分配订单,对各个待分配订单进行分组,得到各个待分配订单组;获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个待分配订单组对应的原始订单;将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单;为每个所述第一组合订单分配一个操作台。
20.根据权利要求6所述的方法,其特征在于,为接收到的待分配订单分配操作台,包括:
对各个待分配订单进行分组,得到各个待分配订单组;
获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;
针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对各个所述目标订单集合进行分解,以得到各个原始订单;
将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单;
针对每个第一组合订单,从已下发至各个操作台的订单中确定所述第一组合订单的目标订单;
将所述第一组合订单分配至所述目标订单对应的操作台,且确定所述第一组合订单对应的槽位为所述目标订单的槽位。
21.根据权利要求6所述的方法,其特征在于,为接收到的待分配订单分配操作台,包括:
对各个待分配订单进行分组,得到各个待分配订单组;
获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;
针对每个待分配订单组,若各个所述订单集合中存在所述待分配订单组的目标订单集合,则对所述目标订单集合进行分解,以得到各个原始订单;
将所述待分配订单组中的待分配订单与至少一个所述原始订单组合为至少一个第一组合订单;
随机将第一组合订单以及剩余的待分配订单中的每个订单预分配至一个操作台,生成第一分配结果,其中,剩余的待分配订单为不存在目标订单集合的待分配订单组中各个待分配订单;
重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果;根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;
根据至少一个备选分配结果,确定第一组合订单以及剩余的待分配订单中的各个订单对应的操作台。
22.根据权利要求6所述的方法,其特征在于,为接收到的待分配订单分配操作台,包括:
获取各个订单分组,其中,每一所述订单分组对应一个操作台,且所述订单分组中的各个订单均未下发至对应的操作台;
随机将每个待分配订单预分配至一个订单分组,生成第一分配结果;重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;
根据至少一个备选分配结果,确定各个待分配订单对应的订单分组;
将各个待分配订单与对应的订单分组进行合并,得到各个新订单分组,所述新订单分组与其中的订单分组对应同一个操作台;
针对每个操作台,基于第二组合条件,对所述操作台对应的新订单分组中的各个订单进行组合,得到所述操作台对应的各个第二组合订单,以在所述操作台存在空闲槽位时,为所述空闲槽位分配其中一个所述第二组合订单。
23.根据权利要求6所述的方法,其特征在于,为接收到的待分配订单分配操作台,包括:
针对每个待分配订单,判断已下发至各个操作台的订单中,是否存在所述待分配订单的目标订单;
针对存在目标订单的各个待分配订单,将所述待分配订单分配至所述目标订单对应的操作台,且确定所述待分配订单对应的槽位为所述目标订单的槽位;
针对不存在目标订单的各个待分配订单,随机将每个待分配订单预分配至一个操作台,生成第一分配结果;
重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;
根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
24.根据权利要求6所述的方法,其特征在于,为接收到的待分配订单分配操作台,包括:
针对每个待分配订单,判断已下发至各个操作台的订单中,是否存在所述待分配订单的目标订单;
针对对应多个目标订单的各个待分配订单,随机将每个待分配订单预分配至对应的其中一个目标订单下发的操作台,生成第一分配结果;
重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;
根据至少一个备选分配结果,确定各个待分配订单对应的操作台。
25.根据权利要求6所述的方法,其特征在于,为接收到的待分配订单分配操作台,包括:
获取各个订单分组,其中,每一所述订单分组对应一个操作台,且所述订单分组中的各个订单均未下发至对应的操作台;
随机将每个待分配订单预分配至一个订单分组,生成第一分配结果;
重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述待分配订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;
根据至少一个备选分配结果,确定各个待分配订单对应的订单分组;
将各个待分配订单与对应的订单分组进行合并,得到各个新订单分组,所述新订单分组与其中的订单分组对应同一个操作台;
针对每个新订单分组,从已下发至所述新订单分组对应的操作台的订单中确定所述新订单分组对应的目标订单;
确定所述新订单分组对应的槽位为所述目标订单的槽位。
26.根据权利要求19所述的方法,其特征在于,为每个所述第一组合订单分配一个操作台,包括:
随机为每个第一组合订单预分配一个操作台,生成第一分配结果;
重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述第一组合订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果;根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;
根据至少一个备选分配结果,确定各个所述第一组合订单对应的操作台。
27.根据权利要求20所述的方法,其特征在于,针对已下发至各个操作台的订单中不存在目标订单的各个所述第一组合订单,所述方法还包括:
随机为每个第一组合订单预分配一个操作台,生成第一分配结果;
重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述第一组合订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果;根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;
根据至少一个备选分配结果,确定各个所述第一组合订单对应的操作台。
28.根据权利要求20所述的方法,其特征在于,所述方法还包括:
针对对应多个目标订单的各个第一组合订单,随机将每个待分配订单预分配至对应的其中一个目标订单下发的操作台,生成第一分配结果;
重复执行下述步骤,直至当前迭代次数达到次数上限值或当前计算时间超过时间上限值:至少一次更换当前迭代次数对应的备选分配结果中所述第一组合订单对应的操作台,生成临时分配结果,其中,第一次迭代对应的备选分配结果为所述第一分配结果,根据所述临时分配结果和当前迭代次数对应的备选分配结果,生成下一迭代次数对应的备选分配结果;
根据至少一个备选分配结果,确定各个所述第一组合订单对应的操作台。
29.根据权利要求21所述的方法,其特征在于,在根据至少一个备选分配结果,确定第一组合订单以及剩余的待分配订单中的各个订单对应的操作台之后,所述方法还包括:
针对第一组合订单以及剩余的待分配订单中的各个订单,从已下发至所述订单对应的操作台的各个订单中,确定所述订单的目标订单,并确定所述订单对应的槽位为所述目标订单的槽位。
30.根据权利要求22所述的方法,其特征在于,在得到各个第二组合订单之后,所述方法还包括:
针对每个第二组合订单,从已下发至所述第二组合订单对应的操作台的订单中,确定所述第二组合订单的目标订单;
确定所述第二组合订单对应的槽位为所述目标订单的槽位。
31.根据权利要求23或24所述的方法,其特征在于,在根据至少一个备选分配结果,确定各个待分配订单对应的操作台之后,所述方法还包括:
针对对应同一操作台的各个待分配订单,对所述各个待分配订单进行组合,得到第三组合订单,以为所述第三组合订单分配所述操作台的一个槽位。
32.根据权利要求25所述的方法,其特征在于,所述方法还包括:
获取预下发至操作台的各个订单集合,其中,每个订单集合对应一个操作台,每个所述订单集合由多个原始订单组成;
针对不存在目标订单的各个新订单分组,若各个所述订单集合中存在所述新订单分组的目标订单集合,则对所述目标订单集合进行分解,以得到各个新订单分组对应的原始订单;
将所述新订单分组中的订单与对应的原始订单组合为至少一个第四组合订单;
将所述第四组合订单分配至所述第四组合订单对应的目标订单集合的操作台。
33.一种订单处理装置,其特征在于,所述装置包括:
挑单模块,用于当第一操作台存在空闲槽位时,根据所述第一操作台对应的订单的优先级,为所述第一操作台的空闲槽位分配第一订单,以将所述第一订单下发至所述第一操作台;
库存分配模块,用于根据所述第一订单的订单需求以及待搬运料箱对应的订单需求,确定所述第一操作台对应的至少一个目标料箱,其中,所述待搬运料箱为至少一个第二订单对应的存放在存储货架上的料箱,所述第二订单为在所述第一订单下发至所述第一操作台之前已下发至所述第一操作台且未执行完成的订单;
搬运控制模块,用于控制机器人将所述至少一个目标料箱搬运至所述第一操作台。
34.一种订单处理设备,其特征在于,包括:
存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-32任一项所述的订单处理方法。
35.一种仓储系统,其特征在于,包括多个操作台,机器人,以及权利要求34所述的订单处理设备。
36.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-32任一项所述的订单处理方法。
37.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-32任一项所述的订单处理方法。
CN202210374390.3A 2022-04-11 2022-04-11 订单处理方法、装置、设备、仓储系统及存储介质 Pending CN114852566A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210374390.3A CN114852566A (zh) 2022-04-11 2022-04-11 订单处理方法、装置、设备、仓储系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210374390.3A CN114852566A (zh) 2022-04-11 2022-04-11 订单处理方法、装置、设备、仓储系统及存储介质

Publications (1)

Publication Number Publication Date
CN114852566A true CN114852566A (zh) 2022-08-05

Family

ID=82629842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210374390.3A Pending CN114852566A (zh) 2022-04-11 2022-04-11 订单处理方法、装置、设备、仓储系统及存储介质

Country Status (1)

Country Link
CN (1) CN114852566A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115496445A (zh) * 2022-09-26 2022-12-20 江苏衫数科技集团有限公司 一种基于订单标签的智能分组分拣方法

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160009493A1 (en) * 2014-07-11 2016-01-14 Dematic Corp. Picking station with automated warehouse
CN109472523A (zh) * 2017-09-07 2019-03-15 北京京东尚科信息技术有限公司 用于分拣货物的方法和装置
US20190138978A1 (en) * 2017-11-09 2019-05-09 Locus Robotics Corporation Order grouping in warehouse order fulfillment operations
CN110040411A (zh) * 2019-04-23 2019-07-23 武汉智能装备工业技术研究院有限公司 一种智能选箱装箱包装线归集区参数优化方法
CN110070312A (zh) * 2018-01-24 2019-07-30 北京京东尚科信息技术有限公司 订单处理方法和装置
CN110097414A (zh) * 2018-01-31 2019-08-06 北京京东尚科信息技术有限公司 订单处理方法和装置
CN110245890A (zh) * 2019-05-28 2019-09-17 深圳市海柔创新科技有限公司 货品分拣方法及货品分拣系统
CN110998620A (zh) * 2017-06-21 2020-04-10 轨迹机器人公司 排队完成订单操作的机器人
CN111754176A (zh) * 2020-06-28 2020-10-09 北京理工大学 一种面向多移动货架的两阶段智能订单分拣方法
CN111932186A (zh) * 2020-09-17 2020-11-13 深圳市海柔创新科技有限公司 订单处理方法、装置、设备、系统及存储介质
CN112085453A (zh) * 2020-09-24 2020-12-15 深圳市海柔创新科技有限公司 订单处理方法、装置、设备、系统及存储介质
CN112407743A (zh) * 2020-11-12 2021-02-26 深圳市鲸仓科技有限公司 仓储系统物品出库控制方法、仓储控制系统及仓储系统
CN112678407A (zh) * 2020-06-28 2021-04-20 田伟 一种控制物料入库、出库、盘点的方法及物料管理系统
CN112722675A (zh) * 2020-12-16 2021-04-30 深圳市海柔创新科技有限公司 订单处理方法、装置、设备、仓储系统和存储介质
CN112950123A (zh) * 2021-03-29 2021-06-11 深圳市库宝软件有限公司 订单分配方法、装置、系统、存储介质及程序产品
CN113044462A (zh) * 2021-04-23 2021-06-29 深圳市库宝软件有限公司 机器人调度的方法、装置、系统、存储介质及程序产品
CN113044458A (zh) * 2021-03-25 2021-06-29 北京物资学院 一种物流机器人动态任务分配方法及系统
CN113104468A (zh) * 2021-05-08 2021-07-13 深圳市库宝软件有限公司 订单分拣出库方法、系统及存储介质
US20210269244A1 (en) * 2018-06-25 2021-09-02 Robert D. Ahmann Automated warehouse system and method for optimized batch picking
CN113689167A (zh) * 2021-08-25 2021-11-23 深圳市库宝软件有限公司 料箱分配方法、装置、服务器、存储介质和仓储系统
CN113998352A (zh) * 2021-10-12 2022-02-01 北京迈格威科技有限公司 拣选调度方法、装置、电子设备、存储介质及仓储系统
CN114249055A (zh) * 2021-12-31 2022-03-29 深圳市海柔创新科技有限公司 料箱处理方法、装置、设备、仓储系统及存储介质

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160009493A1 (en) * 2014-07-11 2016-01-14 Dematic Corp. Picking station with automated warehouse
CN110998620A (zh) * 2017-06-21 2020-04-10 轨迹机器人公司 排队完成订单操作的机器人
CN109472523A (zh) * 2017-09-07 2019-03-15 北京京东尚科信息技术有限公司 用于分拣货物的方法和装置
US20190138978A1 (en) * 2017-11-09 2019-05-09 Locus Robotics Corporation Order grouping in warehouse order fulfillment operations
CN110070312A (zh) * 2018-01-24 2019-07-30 北京京东尚科信息技术有限公司 订单处理方法和装置
CN110097414A (zh) * 2018-01-31 2019-08-06 北京京东尚科信息技术有限公司 订单处理方法和装置
US20210269244A1 (en) * 2018-06-25 2021-09-02 Robert D. Ahmann Automated warehouse system and method for optimized batch picking
CN110040411A (zh) * 2019-04-23 2019-07-23 武汉智能装备工业技术研究院有限公司 一种智能选箱装箱包装线归集区参数优化方法
CN110245890A (zh) * 2019-05-28 2019-09-17 深圳市海柔创新科技有限公司 货品分拣方法及货品分拣系统
CN111754176A (zh) * 2020-06-28 2020-10-09 北京理工大学 一种面向多移动货架的两阶段智能订单分拣方法
CN112678407A (zh) * 2020-06-28 2021-04-20 田伟 一种控制物料入库、出库、盘点的方法及物料管理系统
CN111932186A (zh) * 2020-09-17 2020-11-13 深圳市海柔创新科技有限公司 订单处理方法、装置、设备、系统及存储介质
US11276036B1 (en) * 2020-09-17 2022-03-15 Hai Robotics Co., Ltd. Order processing method, apparatus, device, system, and storage medium
TWI741957B (zh) * 2020-09-17 2021-10-01 大陸商深圳市海柔創新科技有限公司 訂單處理方法及裝置、控制設備、倉儲系統及存儲介質
CN112085453A (zh) * 2020-09-24 2020-12-15 深圳市海柔创新科技有限公司 订单处理方法、装置、设备、系统及存储介质
CN112407743A (zh) * 2020-11-12 2021-02-26 深圳市鲸仓科技有限公司 仓储系统物品出库控制方法、仓储控制系统及仓储系统
CN112722675A (zh) * 2020-12-16 2021-04-30 深圳市海柔创新科技有限公司 订单处理方法、装置、设备、仓储系统和存储介质
CN113044458A (zh) * 2021-03-25 2021-06-29 北京物资学院 一种物流机器人动态任务分配方法及系统
CN112950123A (zh) * 2021-03-29 2021-06-11 深圳市库宝软件有限公司 订单分配方法、装置、系统、存储介质及程序产品
CN113044462A (zh) * 2021-04-23 2021-06-29 深圳市库宝软件有限公司 机器人调度的方法、装置、系统、存储介质及程序产品
CN113104468A (zh) * 2021-05-08 2021-07-13 深圳市库宝软件有限公司 订单分拣出库方法、系统及存储介质
CN113689167A (zh) * 2021-08-25 2021-11-23 深圳市库宝软件有限公司 料箱分配方法、装置、服务器、存储介质和仓储系统
CN113998352A (zh) * 2021-10-12 2022-02-01 北京迈格威科技有限公司 拣选调度方法、装置、电子设备、存储介质及仓储系统
CN114249055A (zh) * 2021-12-31 2022-03-29 深圳市海柔创新科技有限公司 料箱处理方法、装置、设备、仓储系统及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115496445A (zh) * 2022-09-26 2022-12-20 江苏衫数科技集团有限公司 一种基于订单标签的智能分组分拣方法
CN115496445B (zh) * 2022-09-26 2023-11-21 江苏衫数科技集团有限公司 一种基于订单标签的智能分组分拣方法

Similar Documents

Publication Publication Date Title
US11544645B2 (en) Inventory scheduling method and device and non-transitory computer readable storage medium
CN111932186B (zh) 订单处理方法、装置、设备、系统及存储介质
CN112085453A (zh) 订单处理方法、装置、设备、系统及存储介质
CN112801565B (zh) 一种智能仓储的货位分配调度方法、系统和存储介质
CN109146349B (zh) 订单分配方法及装置
CN112101881B (zh) 智能仓储的库位分配方法、装置、计算机设备和存储介质
CN106934577B (zh) 货物布局方法和装置
WO2023040659A1 (zh) 任务分配方法、装置、设备、仓储系统及存储介质
CN111582781B (zh) 一种根据补货订单分配货架的方法及计算机可读存储介质
Öztürkoğlu A bi‐objective mathematical model for product allocation in block stacking warehouses
WO2023066278A1 (zh) 物料入库方法、物料出库方法、装置、调度设备及系统
CN113200275A (zh) 货箱整理方法、装置、设备、仓储系统及存储介质
CN111126857A (zh) 密集仓储的任务管理方法、装置及电子设备
CN114852566A (zh) 订单处理方法、装置、设备、仓储系统及存储介质
CN110422541B (zh) 立体库入库货位地址按巷道均匀分配方法及系统
CN110334993B (zh) 一种对播种货位进行管控的方法、装置及计算机设备
CN116542365A (zh) 移动机器人履行系统中订单分配和agv调度联合优化方法
CN114648221A (zh) 订单处理方法、装置、设备、仓储系统及存储介质
CN112785025B (zh) 仓库布局方法和装置
Paveenchana et al. Optimal storage locations for warehouse efficiency improvement in a haircare manufacturer
WO2023020213A1 (zh) 任务分配的方法、装置、设备、存储介质及程序产品
Zgurovsky et al. Algorithms and software of the four-level model of planning and decision making
CN112907170B (zh) 订单处理方法、装置、设备、仓储系统及存储介质
JPH038602A (ja) 自動倉庫の棚決定方法
CN113496364A (zh) 一种出库的方法、出库端及仓储系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination