生成拣货任务的方法、装置、存储介质及电子设备与流程

文档序号:21367906发布日期:2020-07-04 04:43阅读:323来源:国知局
生成拣货任务的方法、装置、存储介质及电子设备与流程
本公开涉及订单拣货领域,具体地,涉及一种生成拣货任务的方法、装置、存储介质及电子设备。
背景技术
:在b2b商业模式下的仓配业务场景中,客户在下单截止时间前下单,下单截止后,仓配管理系统可以根据订单配送地址编排配送线路(即排线阶段),排线结束后,可以根据排线线路中的订单需求生成拣货任务,之后仓配工作人员可以按照该拣货任务进行拣货,以便在拣货完成后进行货物的配送,在该业务场景下,生成的拣货任务合理不合理,直接影响工作人员的拣货效率。拣货任务生成的优化方法中多从订单分批和路径规划两个方面进行优化,现有研究中主要针对b2c仓配拣货场景,并且在进行路径规划时的距离计算和估计考虑的都是在拣货区内的行进距离,而在b2b业务场景下,拣货的作业范围并不局限于拣货区,因此,采用现有技术的方案,会导致生成的拣货任务不合理,从而影响拣货效率。技术实现要素:本公开的目的是提供一种生成拣货任务的方法、装置、存储介质及电子设备。第一方面,提供一种生成拣货任务的方法,所述方法包括:针对多个目标订单中的每个所述目标订单,确定该目标订单中每个货物对应的拣货信息;针对多个所述拣货信息中的任意两个拣货信息,根据预设位置对应关系确定该任意两个拣货信息分别对应的货物所在储位的第一距离,和该任意两个拣货信息分别对应的拣货存放位置的第二距离;其中,所述预设位置对应关系包括货物与仓库中存储该货物的储位的对应关系,以及不同排线信息与拣货存放位置的对应关系,所述拣货存放位置为在拣货完成后存放相同排线信息对应货物的位置;针对多个所述拣货信息中的每个拣货信息,根据所述预设位置对应关系确定该拣货信息对应货物所在储位,与该拣货信息对应拣货存放位置的第三距离;根据多个所述目标订单对应的拣货信息、所述第一距离、所述第二距离以及所述第三距离生成拣货任务。可选地,所述根据多个所述目标订单对应的拣货信息、所述第一距离、所述第二距离、所述第三距离生成拣货任务包括:根据每个拣货信息对应的货物生成所述拣货任务节点,所述拣货任务节点与所述货物一一对应;确定两个所述拣货任务节点之间的第一连接边,以及预设节点与任一所述拣货任务节点之间的第二连接边,所述预设节点表示每次拣货的起始节点和终止节点;将所述第一连接边连接的两个拣货任务节点对应的所述第一距离和所述第二距离的和值,作为所述第一连接边的权重,并将所述第二连接边连接的拣货任务节点对应的所述第三距离,作为所述第二连接边对应的权重;根据所述预设节点、多个所述拣货任务节点、所述第一连接边的权重以及所述第二连接边的权重生成所述拣货任务图;根据所述拣货任务图生成所述拣货任务。可选地,所述拣货任务图包括拣货任务有向图,在所述根据所述预设节点、多个所述拣货任务节点、所述第一连接边的权重以及所述第二连接边的权重生成所述拣货任务图之前,所述方法还包括:根据预设堆叠约束规则确定所述拣货任务节点之间的连接边的方向,所述预设堆叠约束规则用于表征任意两个所述拣货信息对应的货物之间是否可以堆叠;所述根据所述预设节点、多个所述拣货任务节点、所述第一连接边的权重以及所述第二连接边的权重生成所述拣货任务图包括:根据所述预设节点、多个所述拣货任务节点、所述第一连接边的权重、所述第二连接边的权重以及所述方向生成所述拣货任务有向图。可选地,所述根据所述拣货任务图生成所述拣货任务包括:在所述拣货任务有向图的多个节点中确定第一根节点;按照预设树形图生成算法生成以所述第一根节点为根的最小树形图;根据所述最小树形图生成所述拣货任务。可选地,所述在所述拣货任务有向图的多个节点中确定第一根节点包括:将所述拣货任务有向图的节点中出度最小的节点作为所述第一根节点。可选地,所述根据所述最小树形图生成所述拣货任务包括:分别以所述最小树形图中的每个节点为第二根节点,确定所述最小树形图对应的多个子树,所述子树与所述第二根节点一一对应;确定每个子树分别对应的有向边的权重和,以及每个子树的拣货任务节点对应货物的参数之和,所述参数之和包括重量和,和/或体积和;获取所述拣货设备对应的预设参数和阈值;从多个所述子树中确定目标子树,所述目标子树为所述参数之和小于或者等于所述预设参数和阈值,并且所述权重和最小的子树;根据所述目标子树的全部拣货任务节点对应的货物生成所述拣货任务。可选地,在所述根据所述目标子树的全部拣货任务节点对应的货物生成所述拣货任务后,所述方法还包括:在所述拣货任务有向图中删除所述目标子树对应的节点,得到更新后的拣货任务有向图;若更新后的拣货任务有向图对应的节点集合为非空,生成更新后的拣货任务有向图对应的新的最小树形图,并根据所述新的最小树形图重新生成所述拣货任务;若更新后的拣货任务有向图对应的节点集合为空,确定拣货任务生成完毕。第二方面,提供一种生成拣货任务的装置,所述装置包括:货物信息确定模块,用于针对多个目标订单中的每个所述目标订单,确定该目标订单中每个货物对应的拣货信息;第一确定模块,用于针对多个所述拣货信息中的任意两个拣货信息,根据预设位置对应关系确定该任意两个拣货信息分别对应的货物所在储位的第一距离,和该任意两个拣货信息分别对应的拣货存放位置的第二距离;其中,所述预设位置对应关系包括货物与仓库中存储该货物的储位的对应关系,以及不同排线信息与拣货存放位置的对应关系,所述拣货存放位置为在拣货完成后存放相同排线信息对应货物的位置;第二确定模块,用于针对多个所述拣货信息中的每个拣货信息,根据所述预设位置对应关系确定该拣货信息对应货物所在储位,与该拣货信息对应拣货存放位置的第三距离;任务生成模块,用于根据多个所述目标订单对应的拣货信息、所述第一距离、所述第二距离以及所述第三距离生成拣货任务。可选地,所述任务生成模块,用于根据每个拣货信息对应的货物生成所述拣货任务节点,所述拣货任务节点与所述货物一一对应;确定两个所述拣货任务节点之间的第一连接边,以及预设节点与任一所述拣货任务节点之间的第二连接边,所述预设节点表示每次拣货的起始节点和终止节点;将所述第一连接边连接的两个拣货任务节点对应的所述第一距离和所述第二距离的和值,作为所述第一连接边的权重,并将所述第二连接边连接的拣货任务节点对应的所述第三距离,作为所述第二连接边对应的权重;根据所述预设节点、多个所述拣货任务节点、所述第一连接边的权重以及所述第二连接边的权重生成所述拣货任务图;根据所述拣货任务图生成所述拣货任务。可选地,所述拣货任务图包括拣货任务有向图,所述任务生成模块,还用于根据预设堆叠约束规则确定所述拣货任务节点之间的连接边的方向,所述预设堆叠约束规则用于表征任意两个所述拣货信息对应的货物之间是否可以堆叠,并根据所述预设节点、多个所述拣货任务节点、所述第一连接边的权重、所述第二连接边的权重以及所述方向生成所述拣货任务有向图。可选地,所述任务生成模块,用于在所述拣货任务有向图的多个节点中确定第一根节点,按照预设树形图生成算法生成以所述第一根节点为根的最小树形图,并根据所述最小树形图生成所述拣货任务。可选地,所述任务生成模块,用于将所述拣货任务有向图的节点中出度最小的节点作为所述第一根节点。可选地,所述任务生成模块,用于分别以所述最小树形图中的每个节点为第二根节点,确定所述最小树形图对应的多个子树,所述子树与所述第二根节点一一对应;确定每个子树分别对应的有向边的权重和,以及每个子树的拣货任务节点对应货物的参数之和,所述参数之和包括重量和,和/或体积和;获取所述拣货设备对应的预设参数和阈值;从多个所述子树中确定目标子树,所述目标子树为所述参数之和小于或者等于所述预设参数和阈值,并且所述权重和最小的子树;根据所述目标子树的全部拣货任务节点对应的货物生成所述拣货任务。可选地,所述装置还包括:更新模块,用于在所述拣货任务有向图中删除所述目标子树对应的节点,得到更新后的拣货任务有向图;树形图生成模块,用于若更新后的拣货任务有向图对应的节点集合为非空,生成更新后的拣货任务有向图对应的新的最小树形图,并根据所述新的最小树形图重新生成所述拣货任务;若更新后的拣货任务有向图对应的节点集合为空,确定拣货任务生成完毕。第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。通过上述技术方案,本公开融合了拣货信息、货物储位之间的路由距离、拣货存放位置之间的路由距离,以及货物储位与对应拣货存放位置之间的距离等多项信息数据生成拣货任务,在为拣货任务优化提供了更有效的数据结构和高度融合的信息的同时,也使得生成的该拣货任务更符合实际的拣货场景,这样,工作人员在基于该拣货任务进行拣货时,一方面可以有效地避免拣货过程中在仓库中无目的地寻找货物,减少无效时间,另一方面能够有效减少拣货过程中的行进距离、缩短拣货作业时间,提高拣货效率。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是一种实际b2b商业模式涉及的仓配业务流程示意图;图2是一种实际b2b商业模式涉及的拣货场景示意图;图3是根据一示例性实施例示出的第一种生成拣货任务的方法的流程图;图4是根据一示例性实施例示出的第二种生成拣货任务的方法的流程图;图5是根据一示例性实施例示出的一种对仓库进行网格划分的场景示意图;图6是根据一示例性实施例示出的一种拣货任务有向图的示意图;图7是根据一示例性实施例示出的一种堆叠约束有向图的示意图;图8是根据一示例性实施例示出的一种最小树形图的示意图;图9是根据一示例性实施例示出的第一种生成拣货任务的装置的框图;图10是根据一示例性实施例示出的第二种生成拣货任务的装置的框图;图11是根据一示例性实施例示出的一种电子设备的结构框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。首先,对本公开的应用场景进行介绍,本公开主要应用于b2b商业模式中的仓配业务场景中,例如,图1是一种典型的实际b2b商业模式涉及的仓配业务流程示意图,如图1所示,客户在下单截止时间(t1)前下单,下单截止后仓配管理系统可以根据下单数量和订单配送位置编排配送线路和分配配送力量(此为排线阶段),排线结束后(t2),根据排线线路中的订单需求,在t2至t3时间段内生成拣货任务,并在拣货任务生成完毕后,由仓配工作人员按照该拣货任务进行拣货,然后按分配的配送力量进行配送,这种业务场景下,通常采用批量配送模式,其典型的拣货场景如图2所示,仓库主要分成存储区、拣货区、拣货码头等几大功能区,批量排线拣货作业中,仓库工作人员需要将每条排线包含的订单货物从拣货区的货物储位上拣选出来,运送到排线对应的拣货存放位置(如图2所示的拣货码头,并且排线线路与该拣货码头一一对应),而仓库工作人员进行拣货的基本依据是仓配管理系统生成的拣货任务,生成的拣货任务合不合理,直接影响工作人员的拣货效率。拣货任务生成的优化方法中多从订单分批和路径规划两个方面进行优化,现有研究中主要针对b2c仓配拣货场景,并且在进行路径规划时的距离计算和估计考虑的都是在拣货区内的行进距离,而在b2b业务场景下,拣货并不只是在拣货区内作业,还包括拣货码头所在的区域,因此,只考虑拣货区内的距离,会导致生成的拣货任务没有考虑拣货码头的相关距离,使得生成的拣货任务不符合实际的拣货场景,从而影响工作人员的拣货效率,并且,大规模批量配送的拣货和配送任务非常繁重,而拣货作业只有在拣货任务生成完毕后才能开始,并且为了尽可能多地接收订单,通常会将下单截止时间推后,这两个方面都挤压了拣货任务生成时间,从而导致该拣货任务的较慢,进而导致整个拣货效率较低。为解决上述存在的问题,本公开提供一种生成拣货任务的方法、装置、存储介质及电子设备,可以先针对多个目标订单中的每个该目标订单,确定该目标订单中每个货物对应的拣货信息,之后针对多个该拣货信息中的任意两个拣货信息,根据预设位置对应关系确定该任意两个拣货信息分别对应的货物所在储位的第一距离,和该任意两个拣货信息分别对应的拣货存放位置的第二距离;其中,该预设位置对应关系包括货物与仓库中存储该货物的储位的对应关系,以及不同排线信息与拣货存放位置的对应关系,该拣货存放位置为在拣货完成后存放相同排线信息对应货物的位置,并针对多个该拣货信息中的每个拣货信息,根据该预设位置对应关系确定该拣货信息对应货物所在储位,与该拣货信息对应拣货存放位置的第三距离,最后,根据多个该目标订单对应的拣货信息、该第一距离、该第二距离以及该第三距离生成拣货任务,该拣货任务用于指示拣货设备拣货,从而为拣货任务优化提供了更有效的数据结构和高度融合的信息的同时,也使得生成的该拣货任务更符合实际的拣货场景,这样,工作人员在基于该拣货任务进行拣货时,一方面可以有效地避免拣货过程中在仓库中无目的地寻找货物,减少无效时间,另一方面能够有效减少拣货过程中的行进距离、缩短拣货作业时间,提高拣货效率。下面结合附图对本公开的具体实施方式进行详细说明。图3是根据一示例性实施例示出的一种生成拣货任务的方法的流程图,如图3所示,该方法包括以下步骤:在步骤301中,针对多个目标订单中的每个该目标订单,确定该目标订单中每个货物对应的拣货信息。在本步骤中,可以获取多个待拣货的目标订单,以及每个目标订单的排线信息,然后根据该排线信息确定该目标订单中每个货物对应的拣货信息。其中,该目标订单可以包括客户在预设下单截止时间之前下单的订单,仓配管理系统在获取到多个该目标订单后,可以根据每个目标订单的配送地址编排配送线路,得到该排线信息,该过程即为排线过程,该排线信息可以包括配送线路(或者称之为排线)的标识、该配送线路中待配送的货物及其数量等信息。该拣货信息可以从排线和货物品项两个维度进行定义,其具体形式可以为:<排线,货物品项,数量>,即某一排线中某一货物品项需要拣货的数量,一般可以表示为:tki=(linej,skui,q)其中,skui表示货物品项,q表示货物品项为skui的货物的数量,tki表示根据第j条排线linej上需配送的货物品项为skui的货物对应的第i条拣货信息。在步骤302中,针对多个该拣货信息中的任意两个拣货信息,根据预设位置对应关系确定该任意两个拣货信息分别对应的货物所在储位的第一距离,和该任意两个拣货信息分别对应的拣货存放位置的第二距离。其中,该预设位置对应关系包括货物与仓库中存储该货物的储位的对应关系,以及不同排线信息与拣货存放位置的对应关系,该拣货存放位置为在拣货完成后存放相同排线信息对应货物的位置,例如,该拣货存放位置即为图2所示的单条排线码头,在进行拣货的过程中,可以将在同一条排线上进行配送的货物拣货完成后放置在该同一条排线对应的单条排线码头上统一进行配送。在步骤304中,针对多个该拣货信息中的每个拣货信息,根据该预设位置对应关系确定该拣货信息对应货物所在储位,与该拣货信息对应拣货存放位置的第三距离。在步骤305中,根据多个该目标订单对应的拣货信息、该第一距离、该第二距离以及该第三距离生成拣货任务。其中,该拣货任务用于指示工作人员进行拣货。在一种可能的实现方式中,可以通过以下步骤生成拣货任务:s1、根据每个拣货信息对应的货物生成该拣货任务节点。其中,该拣货任务节点与该货物一一对应。s2、确定两个该拣货任务节点之间的第一连接边,以及预设节点与任一该拣货任务节点之间的第二连接边,并将该第一连接边连接的两个拣货任务节点对应的该第一距离和该第二距离的和值,作为该第一连接边的权重,并将该第二连接边连接的拣货任务节点对应的该第三距离,作为该第二连接边对应的权重。其中,该预设节点表示每次拣货的起始节点和终止节点。s3、根据该预设节点、多个该拣货任务节点、该第一连接边的权重以及该第二连接边的权重生成该拣货任务图。在本步骤中,可以先创建一个空的拣货任务图,并将预设节点添加到该拣货任务图,然后再将多个该拣货任务节点添加到该拣货任务图,并连接两个该拣货任务节点得到第一连接边,以及连接及预设节点与任一该拣货任务节点得到第二连接边,并设置该第一连接边和该第二连接边的权重,从而得到该拣货任务图。需要说明的是,考虑到现有的拣货任务中大都假设货物可以在拣货车上任意堆放,这样对于一些小件货物或者重量较轻的货物可能影响不大,但是,对于一些无法承受堆放的货物,可能会造成货物的损坏,比如,有些货物属于易碎货物(如玻璃制品等),在这些易碎货物上堆放其他货物可能会使得这些易碎货物被压碎,因此,为了解决该问题,在本公开另一实施例中,在生成拣货任务图的过程中,还可以通过拣货任务节点之间的边的方向表征任意两个该拣货信息对应的货物之间是否可以堆叠,从而将各个货物之间的堆叠关系作为生成拣货任务图的参考因素,进而得到拣货任务有向图。示例地,在本步骤s3之前,还可以根据预设堆叠约束规则确定该拣货任务节点之间的连接边的方向,该预设堆叠约束规则用于表征任意两个该拣货信息对应的货物之间是否可以堆叠,从而在本步骤s3中,可以根据该预设节点、多个该拣货任务节点、该第一连接边的权重、该第二连接边的权重以及该方向生成该拣货任务有向图。这样,通过上述方式得到的拣货任务有向图,能够清楚的表明不同货物之间是否可以堆叠,从而使得后续根据该拣货任务有向图生成的拣货任务更加合理、准确。s4、根据该拣货任务图生成该拣货任务。在本步骤中,在该拣货任务图为拣货任务有向图的情况下,可以根据拣货任务有向图通过以下方式生成拣货任务:首先,可以在该拣货任务有向图的多个节点中确定第一根节点。示例地,可以在将该拣货任务有向图的节点中出度最小的节点作为该第一根节点。这里需要说明的是,在上述生成拣货任务图的过程中不考虑货物之间的堆叠关系的情况下,则生成的拣货任务图中的各个连接边不包括方向,即该拣货任务图相当于一个无向图,也就不存在出度的说法,此时,可以将该拣货任务有向图的节点中度最小的节点作为该第一根节点。其次,按照预设树形图生成算法生成以该第一根节点为根的最小树形图。最后,根据该最小树形图生成该拣货任务。在一种可能的实现方式中,在得到最小树形图后,可以分别以该最小树形图中的每个节点为第二根节点,确定该最小树形图对应的多个子树,该子树与该第二根节点一一对应,并确定每个子树分别对应的有向边的权重和,以及每个子树的拣货任务节点对应货物的参数之和,该参数之和包括重量和,和/或体积和,并获取该拣货设备对应的预设参数和阈值,并从多个该子树中确定目标子树,该目标子树为该参数之和小于或者等于该预设参数和阈值,并且该权重和最小的子树,最后,根据该目标子树的全部拣货任务节点对应的货物生成该拣货任务。这样,根据拣货任务图的最小树形图生成拣货任务,无需遍历整个拣货任务图,大大降低了搜索空间,提高了拣货任务的生成速度,从而提高了拣货任务的生成效率。需要说明的是,上述根据该拣货任务图生成该拣货任务的实现方式,是以拣货任务图为拣货任务有向图为例进行的说明,对于不考虑货物之间是否堆叠的情况,生成的拣货任务图可以是一个无向图,在这种情况下,根据拣货任务图生成该拣货任务的实现方式可以参考上述根据拣货任务有向图生成该拣货任务的方式,本实施例不再赘述。采用上述方法,通过融合拣货信息、货物储位之间的路由距离、拣货存放位置之间的路由距离、以及货物储位与对应拣货存放位置之间的距离等多项信息数据生成拣货任务,在为拣货任务优化提供了更有效的数据结构和高度融合的信息的同时,也使得生成的该拣货任务更符合实际的拣货场景,这样,工作人员在基于该拣货任务进行拣货时,一方面可以有效地避免拣货过程中在仓库中无目的地寻找货物,减少无效时间,另一方面能够有效减少拣货过程中的行进距离、缩短拣货作业时间,提高拣货效率。图4是根据一示例性实施例示出的一种生成拣货任务的方法的流程图,如图4所示,在该实施例中,以拣货任务图为拣货任务有向图为例进行说明,该方法包括以下步骤:在步骤401中,获取多个待拣货的目标订单,以及每个目标订单的排线信息。其中,该目标订单可以包括客户在预设下单截止时间之前下单的订单,仓配管理系统在获取到多个该目标订单后,可以根据每个目标订单的配送地址编排配送线路,得到该排线信息,该过程即为排线过程,该排线信息可以包括配送线路(或者称之为排线)的标识、该配送线路中待配送的货物及其数量等信息。示例地,假设获取到订单1、订单2以及订单3三个目标订单,其中,订单1中包含货物a,并且货物a的数量为10,订单1对应的配送地址为地址1;订单2中包含货物b,并且货物b的数量为20,订单2对应的配送地址为地址2;订单3中包含货物c,并且货物c的数量为30,订单3对应的配送地址为地址3,假设地址1和地址2可以在一条配送线路上进行配送,地址3需在另一配送线路上进行配送,在对该三个目标订单进行排线后,得到订单1和订单2对应的排线信息即为(l1;a:10;b:20),订单3对应的排线信息为(l2;c:30),其中,li即为该配送线路的标识,表示第i条排线,(l1;a:10;b:20)表示在l1排线上需配送a货物和b货物,且a货物的数量为10,b货物的数量为20;(l2;c:30)表示在l2排线上需配送c货物,且c货物的数量为30,上述示例仅是举例说明,本公开对此不作限定。在步骤402中,针对多个该目标订单中的每个该目标订单,根据该排线信息确定该目标订单中每个货物对应的拣货信息。在一种可能的实现方式中,该拣货信息可以从排线和货物品项两个维度进行定义,其具体形式可以为:<排线,货物品项,数量>,即某一排线中某一货物品项需要拣货的数量,一般可以表示为:tki=(linej,skui,q)其中,skui表示货物品项,q表示货物品项为skui的货物的数量,tki表示根据第j条排线linej上需配送的货物品项为skui的货物对应的第i条拣货信息。在本步骤一种可能的实现方式中,可以根据该排线信息中的排线标识、该排线标识对应的排线上待配送的货物及其数量确定每个货物对应的该拣货信息。示例地,继续以步骤401中的示例为例,假设订单1和订单2对应的排线信息为(l1;a:10;b:20),订单3对应的排线信息为(l2;c:30),即排线信息l1上需配送a货物和b货物,排线信息l2上需配送c货物,那么根据该排线信息可以确定货物a对应的该拣货信息为(l1,a,10),货物b对应的该拣货信息为(l1,b,20),货物c对应的该拣货信息为(l2,c,30),上述示例仅是举例说明,本公开对此不作限定。在步骤403中,针对多个该拣货信息中的任意两个拣货信息,根据预设位置对应关系确定该任意两个拣货信息分别对应的货物所在储位的第一距离,和该任意两个拣货信息分别对应的拣货存放位置的第二距离;针对多个该拣货信息中的每个拣货信息,根据该预设位置对应关系确定该拣货信息对应货物所在储位,与该拣货信息对应拣货存放位置的第三距离。其中,该预设位置对应关系包括货物与仓库中存储该货物的储位的对应关系,以及不同排线信息与拣货存放位置的对应关系,该拣货存放位置为在拣货完成后存放相同排线信息对应货物的位置,例如,该拣货存放位置即为图2所示的单条排线码头,在进行拣货的过程中,可以将在同一条排线上进行配送的货物拣货完成后放置在该同一条排线对应的单条排线码头上统一进行配送。例如,以步骤402示例中的三个拣货信息(l1,a,10)、(l1,b,20)以及(l2,c,30)为例,该第一距离包括存放a货物的储位与存放b货物的储位之间的距离,存放a货物的储位与存放c货物的储位之间的距离,以及存放b货物的储位与存放c货物的储位之间的距离,该第二距离包括排线li对应的单条排线码头与排线l2对应的单条排线码头之间的距离,该第三距离包括a货物的储位与排线l1(与a货物对应排线)对应的单条排线码头之间的距离,b货物的储位与排线l1对应的单条排线码头之间的距离,以及c货物的储位与排线l2对应的单条排线码头之间的距离。在本步骤一种可能的实现方式中,可以先对仓库中的目标区域进行网格划分,该目标区域包括拣货区和拣货存放位置区,然后根据该目标区域的预设布局确定每个网格的属性信息,该属性信息包括储位标识、巷道标识或者拣货完成位置标识,这样,可以通过该预设位置对应关系,根据该属性信息利用预设距离算法确定该第一距离、该第二距离以及该第三距离,其中,该预设距离算法可以包括a*算法。示例地,图5是根据一示例性实施例示出的一种对如图2所示的业务场景下的仓库进行网格划分的场景示意图,如图5所示,可以对仓库中的拣货区和拣货码头区进行网格划分,例如,进行网格划分时,每个网格的大小可以按照每个储位的大小进行设置,然后根据拣货区和拣货码头区的仓库布局对每个网格进行属性设置,得到每个网格的属性信息(例如,若某一网格仅包含图2所示的巷道区域,记录该网格的属性为表示巷道的标识,若某一网格包含图2所示的储位区域,记录该网格的属性为表示储位的标识),两两选取储位所在的网格,采用a*算法计算当前选取的两个储位所在网格的距离,并记录在如表1所示的储位之间的距离矩阵中,类似地,两两选取单条排线码头所在的网格,采用a*算法计算当前选取的两个单条排线码头所在网格的距离,并记录在如表2所示的码头之间的距离矩阵中;选取任一储位所在的网格和任一码头所在的网格,采用a*算法计算当前选取的储位所在的网格与码头所在的网格之间的距离,并记录在如表3所示的码头与储位之间的距离矩阵中,从而通过表格的方式记录下拣货作业场景中的三种距离数据,上述示例仅是举例说明,本公开对此不作限定,又因为三种距离基本是静态的,只要仓库布局不变,不需要每次都计算;如果仓库布局发生改变,则重新计算一次,计算结果可以作为基础数据存储在数据库中,其中,表1中的si表示第i个储位,ds,ij表示第i个储位与第j个储位之间的距离,表2中的ki表示第i个码头,dk,ij表示第i个码头与第j个码头之间的距离,表3中的si表示第i个储位,ki表示第i个码头,dsi,ki表示第i个储位与第i个码头之间的距离。另外,基于网格划分后通过a*算法计算上述三种距离的具体计算方式可以参考现有文献中的相关描述,本公开对此不作限定。s1s2.......si.......sns10ds,12.......ds,1i.......ds,1ns2ds,210.......ds,2i.......ds,2n.............................................sids,i1ds,i2.......0.......ds,in................................................snds,n1ds,n2.......ds,ni.......0表1储位之间的距离矩阵表2码头之间的距离矩阵表3码头与储位之间的距离矩阵在得到如表1、表2以及表3所示的三种距离数据后,即可进一步结合该预设位置对应关系得到该第一距离、第二距离以及第三距离。示例地,以(l1,a,10)、(l1,b,20)以及(l2,c,30)三个拣货信息为例,在计算(l1,a,10)、(l1,b,20)两个拣货信息中存放a货物的储位与存放b货物的储位之间的第一距离时,可以根据该预设位置对应关系中货物与仓库中存储该货物的储位的对应关系找到a货物对应的储位,以及b货物对应的储位,然后在表1所示的距离矩阵中通过查表的方式获取到a货物对应的储位与b货物对应的储位之间的该第一距离;在计算(l1,b,20)、(l2,c,30)两个拣货信息中排线l1对应的单条排线码头与排线l2对应的单条排线码头之间的第二距离时,可以根据该预设位置对应关系中不同拣货信息与拣货存放位置的对应关系找到排线l1对应的单条排线码头,以及排线l2对应的单条排线码头,然后在表2所示的距离矩阵中通过查表的方式获取到排线l1对应的单条排线码头与排线l2对应的单条排线码头之间的该第二距离;在计算(l1,a,10)拣货信息中货物a对应的储位与排线l1对应的单条排线码头之间的第三距离时,可以根据该预设位置对应关系找到a货物所在的储位,以及排线l1对应的单条排线码头,然后在表3所示的距离矩阵中通过查表的方式获取到a货物所在的储位与排线l1对应的单条排线码头之间的该第三距离,上述示例仅是举例说明,本公开对此不作限定。在本实施例中,在得到该拣货信息、该第一距离、该第二距离以及该第三距离后,可以通过执行步骤404至步骤408根据多个该目标订单对应的拣货信息、该第一距离、该第二距离、该第三距离以及预设堆叠约束规则生成拣货任务有向图。在步骤404中,根据每个拣货信息对应的货物生成该拣货任务节点。其中,该拣货任务节点与该货物一一对应。在本步骤中,由于拣货信息与货物也为一一对应的关系,因此可以将一个拣货信息作为一个该拣货任务节点,不同的拣货信息生成不同的拣货任务节点,例如,图6是根据一示例性实施例示出的一种拣货任务有向图的示意图,如图6所示,以(l1,a,10)、(l1,b,20)以及(l2,c,30)三个拣货信息为例,拣货信息(l1,a,10)可以生成图6中的a节点,拣货信息(l1,b,20)可以生成图6中的b节点,拣货信息(l2,c,30)可以生成图6中的c节点,此处仅是举例说明,本公开对此不作限定。在步骤405中,确定两个该拣货任务节点之间的第一连接边,以及预设节点与任一该拣货任务节点之间的第二连接边。其中,该预设节点表示每次拣货的起始节点和终止节点。在步骤406中,将该第一连接边连接的两个拣货任务节点对应的该第一距离和该第二距离的和值,作为该第一连接边的权重,并将该第二连接边连接的拣货任务节点对应的该第三距离,作为该第二连接边对应的权重。其中,该第一连接边包括两个该拣货任务节点之间的边,该第二连接边包括该预设节点与任一该拣货任务节点之间的边,如图6所示,该第一连接边即为a、b、c、d、x节点中任意两节点之间的连接边,该第二连接边即为a、b、c、d、x节点中任意一个节点与0节点之间的连接边。示例地,假设图6中的a节点对应的拣货信息为(l1,a,10),c节点对应的拣货信息为(l2,c,30),在计算a节点与c节点之间的第一连接边的权重的过程中,可以将拣货信息(l1,a,10)和拣货信息(l2,c,30)之间的第一距离和第二距离(可以按照步骤403中该的方法确定该第一距离和该第二距离)的和值作为该a节点与c节点之间的第一连接边的权重,在计算a节点与0节点之间的第二连接边的权重的过程中,可以将通过步骤403中该的方法计算得到的(l1,a,10)对应的该第三距离作为a节点与0节点之间的第二连接边的权重,上述示例只是举例说明,本公开对此不作限定。在步骤407中,根据预设堆叠约束规则确定该拣货任务节点之间的连接边的方向。其中,该预设堆叠约束规则用于表征任意两个该拣货信息对应的货物之间是否可以堆叠。例如,拣货过程中的货物堆叠时,要遵循重不压轻、大不压小的原则,从而使得生成的拣货任务更符合实际的拣货场景。如图6所示,拣货任务节点之间连接边的方向表示两个节点对应的拣货信息中货物之间的堆叠约束,例如,若图6中的a节点对应的拣货信息为(l1,a,10),c节点对应的拣货信息为(l2,c,30),若a货物可以堆叠在c货物,则存在a节点到c节点之间的一条连接边,且该一条连接边的方向为a节点指向c节点,若c货物也可以堆叠在a货物上,则存在c节点到a节点之间的另一条连接边,且该另一条连接边的方向为c节点指向a节点。需要说明的是,在一种可能的实现方式中,该预设堆叠约束规则可以用如图7所示的堆叠约束有向图来表达,如图7所示,该堆叠约束有向图的节点为货物sku(即货物品项),对于skui和skuj,如果skui可以堆叠在skuj上,并且最大堆叠数为lij,则存在skui到skuj的连接边,且该连接边的方向为skui到skuj,该连接边的权值为lij。在另一种可能的实现方式中,该预设堆叠约束规则还可以用表4所示的堆叠约束矩阵来表示,如表4所示,对于skui和skuj,如果skui可以堆叠在skuj上,并且最大堆叠数为lij,则矩阵的i行j列为lij;如果不可堆叠,则i行j列为0。表4基于矩阵表达的堆叠约束在步骤408中,根据预设节点、多个该拣货任务节点、每条该连接边分别对应的权重以及方向生成该拣货任务有向图。在本步骤一种可能的实现方式中,可以先创建一个空的拣货任务图,并将预设节点(如图6中的0节点)添加到该拣货任务图,然后再将多个该拣货任务节点添加到该拣货任务图,并根据每条该连接边分别对应的权重以及方向设置该第一连接边以及第二连接边的权重和方向,从而生成如图6所示的该拣货任务有向图。由于该拣货任务有向图融合了拣货信息、货物储位之间的路由距离、拣货存放位置之间的路由距离、货物储位与对应拣货存放位置之间的距离以及货物之间的堆叠约束等多项信息数据,这为拣货任务优化提供了更有效的数据结构和高度融合的信息的同时,也使得后续生成的该拣货任务更符合实际的拣货场景,进而提高工作人员基于该拣货任务进行拣货时的拣货效率。考虑到实际业务的需求中需要以尽可能快的速度生成该拣货任务,为保证拣货任务的生成效率,在本公开一种可能的实现方式中,可以根据拣货任务有向图的最小树形图生成拣货任务,这样,无需遍历整个拣货任务有向图生成拣货任务,从而提高了拣货任务的生成速度,在本实施例中可以按照以拣货任务图的最小树形图为启发信息的分支-定界搜索算法生成拣货任务,示例地,如步骤409至步骤415所示。在步骤409中,在该拣货任务有向图的多个节点中确定第一根节点。由于拣货任务有向图的边的方向表达的是拣货信息中货物之间的堆叠约束,因此,在本步骤中,可以将该拣货任务有向图的节点中出度最小的节点作为该第一根节点,其中,对于有向图来说,节点的出边条数即为该节点的出度。在步骤410中,按照预设树形图生成算法生成以该第一根节点为根的最小树形图。其中,该预设树形图生成算法可以包括chu-liu-edmonds算法,由于该chu-liu-edmonds算法为本领域中的常用技术,因此,此处不再赘述,如图8所示,即为按照预设树形图生成算法生成的最小树形图的示意图。在步骤411中,根据该最小树形图生成拣货任务。在本步骤中,分别以该最小树形图中的每个节点为第二根节点,确定该最小树形图对应的多个子树,该子树与该第二根节点一一对应;确定每个子树分别对应的连接边的权重和,以及每个子树的拣货任务节点对应货物的参数之和,该参数之和包括重量和,和/或体积和;获取该拣货设备(如拣货车)对应的预设参数和阈值;从多个该子树中确定目标子树,该目标子树为该参数之和小于或者等于该预设参数和阈值,并且该权重和最小的子树;根据该目标子树的全部拣货任务节点对应的货物生成该拣货任务。其中,该预设参数和阈值可以包括预设重量和阈值,和/或预设体积和阈值,并且该预设参数和阈值与该参数对应。示例地,以图8所示的最小树形图为例,分别以该最小树形图中的每个节点为第二根节点,确定出的该最小树形图对应的多个子树包括:以x节点为该第二根节点的子树一(如图8所示,子树一包括图8中的全部节点),以b节点为该第二根节点的子树二(如图8所示,子树二包括图8中除x节点以外的其它节点),以a节点为该第二根节点的子树三(如图8所示,子树三包括图8中的a节点和c节点),其中,子树一对应的权重和为dxb+dba+dac+dbd,子树一对应的重量和为货物品项分别为skux、skub、skua、skuc、skud的货物重量之和,子树一对应的体积和为货物品项分别为skux、skub、skua、skuc、skud的货物体积之和;子树二对应的权重和为dba+dac+dbd,子树二对应的重量和为货物品项分别为skub、skua、skuc、skud的货物重量之和,子树二对应的体积和为货物品项分别为skub、skua、skuc、skud的货物体积之和;子树三对应的权重和为dac,子树三对应的重量和为货物品项分别为skua、skuc的货物重量之和,子树三对应的体积和为货物品项分别为skua、skuc的货物体积之和,假设该参数之和为某一子树上全部节点对应的货物的重量之和,在从上述三个子树中确定目标子树时,可以取货物重量之和小于或者等于该预设重量和阈值,并且权重和最小的子树为该目标子树,之后,可以将该目标子树的全部拣货任务节点对应的货物在该同一个拣货任务中进行拣货,即拣货车从0节点出发,可以在拣货区将该目标子树的全部拣货任务节点对应的货物在同一次拣货任务中完成,上述示例仅是举例说明,本公开对此不作限定。在步骤412中,在该拣货任务有向图中删除该目标子树对应的节点,得到更新后的拣货任务有向图。示例地,若该目标子树为步骤411示例中的子树三,在执行本步骤的过程中,在图6所示的拣货任务有向图中删除a节点和c节点,得到更新后的拣货任务有向图。在步骤413中,确定更新后的拣货任务有向图对应的节点集合是否为非空。其中,该节点集合即为该拣货任务有向图中的全部节点组成的集合,若该节点集合为空,表示已经将该拣货任务有向图中表示的全部货物分到不同的拣货任务中,即拣货任务生成完毕,否则,表示还未将该拣货任务有向图中表示的全部货物分到不同的拣货任务中。因此,在本步骤中,若确定更新后的拣货任务有向图对应的节点集合为非空,执行步骤414;否则,执行步骤415。在步骤414中,生成更新后的拣货任务有向图对应的新的最小树形图,并根据该新的最小树形图重新生成拣货任务。其中,可以参考上述步骤409至步骤411重新生成拣货任务,不再赘述。在步骤415中,拣货任务生成完毕。采用上述方法,可以融合拣货信息、货物储位之间的路由距离、拣货存放位置之间的路由距离、货物储位与对应拣货存放位置之间的距离以及货物之间的堆叠约束等多项信息数据生成拣货任务,在为拣货任务优化提供了更有效的数据结构和高度融合的信息的同时,也使得生成的该拣货任务更符合实际的拣货场景,这样,工作人员在基于该拣货任务进行拣货时,一方面可以有效地避免拣货过程中在仓库中无目的地寻找货物,减少无效时间,另一方面能够有效减少拣货过程中的行进距离、缩短拣货作业时间,提高拣货效率;另外,该拣货任务可以包括拣货任务图,为保证拣货任务的生成效率,本公开还可以进一步根据拣货任务图的最小树形图生成单次拣货任务,无需遍历整个拣货任务图生成拣货任务,从而提高了拣货任务的生成速度。图9是根据一示例性实施例示出的一种生成拣货任务的装置的框图,如图9所示,该装置包括:货物信息确定模块901,用于针对多个目标订单中的每个该目标订单,确定该目标订单中每个货物对应的拣货信息;第一确定模块902,用于针对多个该拣货信息中的任意两个拣货信息,根据预设位置对应关系确定该任意两个拣货信息分别对应的货物所在储位的第一距离,和该任意两个拣货信息分别对应的拣货存放位置的第二距离;其中,该预设位置对应关系包括货物与仓库中存储该货物的储位的对应关系,以及不同排线信息与拣货存放位置的对应关系,该拣货存放位置为在拣货完成后存放相同排线信息对应货物的位置;第二确定模块903,用于针对多个该拣货信息中的每个拣货信息,根据该预设位置对应关系确定该拣货信息对应货物所在储位,与该拣货信息对应拣货存放位置的第三距离;任务生成模块904,用于根据多个该目标订单对应的拣货信息、该第一距离、该第二距离以及该第三距离生成拣货任务。可选地,该任务生成模块904,用于根据每个拣货信息对应的货物生成该拣货任务节点,该拣货任务节点与该货物一一对应;确定两个该拣货任务节点之间的第一连接边,以及预设节点与任一该拣货任务节点之间的第二连接边,该预设节点表示每次拣货的起始节点和终止节点;将该第一连接边连接的两个拣货任务节点对应的该第一距离和该第二距离的和值,作为该第一连接边的权重,并将该第二连接边连接的拣货任务节点对应的该第三距离,作为该第二连接边对应的权重;根据该预设节点、多个该拣货任务节点、该第一连接边的权重以及该第二连接边的权重生成该拣货任务图;根据该拣货任务图生成该拣货任务。可选地,该拣货任务图包括拣货任务有向图,该任务生成模块904,还用于根据预设堆叠约束规则确定该拣货任务节点之间的连接边的方向,该预设堆叠约束规则用于表征任意两个该拣货信息对应的货物之间是否可以堆叠,并根据该预设节点、多个该拣货任务节点、该第一连接边的权重、该第二连接边的权重以及该方向生成该拣货任务有向图。可选地,该任务生成模块904,用于在该拣货任务有向图的多个节点中确定第一根节点,按照预设树形图生成算法生成以该第一根节点为根的最小树形图,并根据该最小树形图生成该拣货任务。可选地,该任务生成模块904,用于将该拣货任务有向图的节点中出度最小的节点作为该第一根节点。可选地,该任务生成模块904,用于分别以该最小树形图中的每个节点为第二根节点,确定该最小树形图对应的多个子树,该子树与该第二根节点一一对应;确定每个子树分别对应的有向边的权重和,以及每个子树的拣货任务节点对应货物的参数之和,该参数之和包括重量和,和/或体积和;获取该拣货设备对应的预设参数和阈值;从多个该子树中确定目标子树,该目标子树为该参数之和小于或者等于该预设参数和阈值,并且该权重和最小的子树;根据该目标子树的全部拣货任务节点对应的货物生成该拣货任务。可选地,如图10所示,该装置还包括:更新模块905,用于在该拣货任务有向图中删除该目标子树对应的节点,得到更新后的拣货任务有向图;树形图生成模块906,用于若更新后的拣货任务有向图对应的节点集合为非空,生成更新后的拣货任务有向图对应的新的最小树形图,并根据该新的最小树形图重新生成该拣货任务;若更新后的拣货任务有向图对应的节点集合为空,确定拣货任务生成完毕。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。采用上述装置,可以融合拣货信息、货物储位之间的路由距离、拣货存放位置之间的路由距离,以及货物储位与对应拣货存放位置之间的距离等多项信息数据生成拣货任务,在为拣货任务优化提供了更有效的数据结构和高度融合的信息的同时,也使得生成的该拣货任务更符合实际的拣货场景,这样,工作人员在基于该拣货任务进行拣货时,一方面可以有效地避免拣货过程中在仓库中无目的地寻找货物,减少无效时间,另一方面能够有效减少拣货过程中的行进距离、缩短拣货作业时间,提高拣货效率。图11是根据一示例性实施例示出的一种电子设备1100的框图。如图11所示,该电子设备1100可以包括:处理器1101,存储器1102。该电子设备1100还可以包括多媒体组件1103,输入/输出(i/o)接口1104,以及通信组件1105中的一者或多者。其中,处理器1101用于控制该电子设备1100的整体操作,以完成上述的生成拣货任务的方法中的全部或部分步骤。存储器1102用于存储各种类型的数据以支持在该电子设备1100的操作,这些数据例如可以包括用于在该电子设备1100上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1203可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1102或通过通信组件1105发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口1104为处理器1101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1105用于该电子设备1100与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件1105可以包括:wi-fi模块,蓝牙模块,nfc模块等等。在一示例性实施例中,电子设备1100可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的生成拣货任务的方法。在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的生成拣货任务的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1102,上述程序指令可由电子设备1100的处理器1101执行以完成上述的生成拣货任务的方法。在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的生成拣货任务的方法的代码部分。以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1