CN111275231B - 任务分配方法、装置、***和介质 - Google Patents
任务分配方法、装置、***和介质 Download PDFInfo
- Publication number
- CN111275231B CN111275231B CN201811477027.4A CN201811477027A CN111275231B CN 111275231 B CN111275231 B CN 111275231B CN 201811477027 A CN201811477027 A CN 201811477027A CN 111275231 B CN111275231 B CN 111275231B
- Authority
- CN
- China
- Prior art keywords
- task
- pick
- picking
- determining
- unassigned
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000006870 function Effects 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0835—Relationships between shipper or supplier and carriers
- G06Q10/08355—Routing methods
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Manipulator (AREA)
Abstract
本公开提供了一种任务分配方法,包括:接收未分配拣货任务数据,未分配拣货任务数据表示一项或多项未分配拣货任务;获取多个第一任务集合数据,每个第一任务集合对应一个拣货执行体,第一任务集合中包括零个或至少一个拣货执行体需执行的已分配拣货任务数据;确定多个第一任务集合分别对应的多个第一等待时间;确定多个第一任务集合分别对应的多个第二任务集合,每个第二任务集合中包括其对应的第一任务集合中的已分配拣货任务数据以及该未分配拣货任务数据;确定多个第二任务集合分别对应的多个第二等待时间;基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体;将该未分配拣货任务数据输出给第一拣货执行体。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种任务分配方法、装置、***和计算机可读介质。
背景技术
随着计算机和网络技术的快速发展,电子商务和物流行业越来越多地出现在人们的日常工作和生活等诸多场景中。通常各大电商会将货物存储在仓库中,当需要时再从仓库中拣选相应的货物。然而,随着用户对于物流速度的要求越来越高,如何实现快速的拣选已经成为各大电商企业竞争的着力点。
在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题,即,在现有技术中,通常是由拣货人员随拣货车一起完成拣选任务,此种方式拣货人员需要随车移动很长的距离,并且需要大量的拣货人员与拣货车配合工作,或者大量拣货车需要排队等待拣货人员,导致拣货效率低,甚至存在挂单的风险。
发明内容
有鉴于此,本公开提供了一种优化的任务分配方法和任务分配装置。
本公开的一个方面提供了一种任务分配方法,包括:接收未分配拣货任务数据,所述未分配拣货任务数据表示一项或多项未分配拣货任务,获取多个第一任务集合数据,每个所述第一任务集合对应一个拣货执行体,所述第一任务集合中包括零个或者至少一个所述拣货执行体需要执行的已分配拣货任务数据,确定所述多个第一任务集合分别对应的多个第一等待时间,确定所述多个第一任务集合分别对应的多个第二任务集合,每个第二任务集合中包括其对应的第一任务集合中的已分配拣货任务数据以及所述未分配拣货任务数据,确定所述多个第二任务集合分别对应的多个第二等待时间,基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体,以及将表示所述未分配拣货任务的未分配拣货任务数据输出给所述第一拣货执行体。
根据本公开的实施例,上述确定所述多个第二任务集合分别对应的多个第二等待时间,包括:确定所述第二任务集合中的拣货任务的最短拣货路径,以及基于所述最短拣货路径确定所述第二任务集合中的各拣货任务对应的等待时间之和。
根据本公开的实施例,上述确定第二任务集合中的拣货任务的最短拣货路径,包括:通过旅行商问题确定所述第二任务集合中的拣货任务的最短拣货路径。
根据本公开的实施例,上述通过旅行商问题确定所述第二任务集合中的拣货任务的最短拣货路径,包括:在所述旅行商问题对应的目标函数中加入惩罚函数,所述惩罚函数与所述第二任务集合中的各拣货任务的已等待时间相关,以及基于所述旅行商问题对应的目标函数以及所述惩罚函数确定所述第二任务集合中的拣货任务的最短拣货路径。
根据本公开的实施例,上述基于所述最短拣货路径确定所述第二任务集合中的各拣货任务对应的等待时间之和,包括:基于所述最短拣货路径确定各拣货任务对应的需等待时间,以及基于所述各拣货任务的需等待时间和各拣货任务的已等待时间确定所述各拣货任务对应的等待时间之和。
根据本公开的实施例,上述基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体,包括:确定所述时间差值中最小的时间差值对应的第一任务集合,所述第一任务集合对应的拣货执行体为所述第一拣货执行体。
根据本公开的实施例,上述将表示所述未分配拣货任务的未分配拣货任务数据输出给所述第一拣货执行体,包括:将所述未分配拣货任务数据以及所述第一拣货执行对应的第二任务集合的最短拣货路径输出给所述第一拣货执行体。
本公开的另一个方面提供了一种任务分配装置,包括接收模块、获取模块、第一确定模块、第二确定模块、第三确定模块、第四确定模块和输出模块。其中,接收模块接收未分配拣货任务数据,所述未分配拣货任务数据表示一项或多项未分配拣货任务。获取模块获取多个第一任务集合数据,每个所述第一任务集合对应一个拣货执行体,所述第一任务集合中包括零个或者至少一个所述拣货执行体需要执行的已分配拣货任务数据。第一确定模块确定所述多个第一任务集合分别对应的多个第一等待时间。第二确定模块确定所述多个第一任务集合分别对应的多个第二任务集合,每个第二任务集合中包括其对应的第一任务集合中的已分配拣货任务数据以及所述未分配拣货任务数据。第三确定模块确定所述多个第二任务集合分别对应的多个第二等待时间。第四确定模块基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体。输出模块将表示所述未分配拣货任务的未分配拣货任务数据输出给所述第一拣货执行体。
根据本公开的实施例,上述确定所述多个第二任务集合分别对应的多个第二等待时间,包括:确定所述第二任务集合中的拣货任务的最短拣货路径,以及基于所述最短拣货路径确定所述第二任务集合中的各拣货任务对应的等待时间之和。
根据本公开的实施例,上述确定第二任务集合中的拣货任务的最短拣货路径,包括:通过旅行商问题确定所述第二任务集合中的拣货任务的最短拣货路径。
根据本公开的实施例,上述通过旅行商问题确定所述第二任务集合中的拣货任务的最短拣货路径,包括:在所述旅行商问题对应的目标函数中加入惩罚函数,所述惩罚函数与所述第二任务集合中的各拣货任务的已等待时间相关,以及基于所述旅行商问题对应的目标函数以及所述惩罚函数确定所述第二任务集合中的拣货任务的最短拣货路径。
根据本公开的实施例,上述基于所述最短拣货路径确定所述第二任务集合中的各拣货任务对应的等待时间之和,包括:基于所述最短拣货路径确定各拣货任务对应的需等待时间,以及基于所述各拣货任务的需等待时间和各拣货任务的已等待时间确定所述各拣货任务对应的等待时间之和。
根据本公开的实施例,上述基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体,包括:确定所述时间差值中最小的时间差值对应的第一任务集合,所述第一任务集合对应的拣货执行体为所述第一拣货执行体。
根据本公开的实施例,上述将表示所述未分配拣货任务的未分配拣货任务数据输出给所述第一拣货执行体,包括:将所述未分配拣货任务数据以及所述第一拣货执行对应的第二任务集合的最短拣货路径输出给所述第一拣货执行体。
本公开的另一方面提供了一种任务分配***,包括:一个或多个存储器,存储有可执行指令,以及一个或多个处理器,执行所述可执行指令,以实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,可以至少部分地解决现有技术中拣货效率低的问题,并因此可以实现提高拣货效率,快速完成拣货任务的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的任务分配方法和装置的应用场景;
图2示意性示出了根据本公开实施例的任务分配方法的流程图;
图3示意性示出了根据本公开实施例的第一任务集合的示意图;
图4示意性示出了根据本公开实施例的第二任务集合的示意图;
图5示意性示出了根据本公开实施例的任务分配装置的框图;以及
图6示意性示出了根据本公开实施例的任务分配***的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
本公开的实施例提供了一种任务分配方法,包括:接收未分配拣货任务数据,未分配拣货任务数据表示一项或多项未分配拣货任务,获取多个第一任务集合数据,每个第一任务集合对应一个拣货执行体,第一任务集合中包括零个或者至少一个拣货执行体需要执行的已分配拣货任务数据,确定多个第一任务集合分别对应的多个第一等待时间,确定多个第一任务集合分别对应的多个第二任务集合,每个第二任务集合中包括其对应的第一任务集合中的已分配拣货任务数据以及未分配拣货任务数据,确定多个第二任务集合分别对应的多个第二等待时间,基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体,以及将表示未分配拣货任务的未分配拣货任务数据输出给第一拣货执行体。
图1示意性示出了根据本公开实施例的任务分配方法和装置的应用场景100。
如图1所示,该应用场景100包括自动导引车(Automated Guided Vehicle,简称AGV)110、拣货执行体120以及任务分配***130。根据本公开实施例,该应用场景可以包括多个自动导引车110以及多个拣货执行体120。
自动导引车110例如可以接收订单集合,并根据订单集合对应的路线自主行驶到各拣货点,自动导引车110可以与任务分配***130通信连接。
拣货执行体120例如可以是拣货人员,也可以是拣货机器人等,拣货执行体120例如可以将拣货储位上相应的货品放置到自动导引车110上。在本公开实施例中,当拣货执行体120为拣货机器人时,拣货执行体120可以直接与任务分配***130通信连接。当拣货执行体120为拣货人员时,可以将拣货人员使用的电子设备与任务分配***130通信连接。
本公开实施例的应用场景100例如可以是人机协作的仓储场景。例如,自动导引车110可以根据其接收的订单集合自主行驶到拣货储位,然后该拣货储位附近的适合的拣货执行体120可以将该拣货储位上的货品放置到自动导引车110上以完成拣货任务,随后自动导引车110继续前往订单集合中的下一拣货点,由下一拣货点附近的适合的拣货执行体120完成该点的拣货任务,如此循环,直到订单集合中的拣货任务全部完成,自动导引车110可以将车上的货物投放到相应位置,然后继续领取下一个订单集合。
可以理解,如果以距离作为自动导引车任务的分配标准,如果某自动导引车所在的位置较偏,又有其他自动导引车任务不断进入,则偏远的自动导引车任务可能存在挂单的风险。如果以顺序作为自动导引车任务的分配标准,则会导致拣货执行体行走的距离不够优化,效率不高。
有鉴于此,本公开实施例提供了一种任务分配方法,当有自动导引车110就位后,任务分配***130可以接收到该自动导引车的拣货任务,可以将该拣货任务加入到每个拣货执行体的任务集合中,计算每个拣货执行体如果接受该拣货任务造成的任务集合等待时间的增加值,然后将该拣货任务分配给等待时间的增加值最少的拣货执行体,从而提高拣货效率。
需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
图2示意性示出了根据本公开实施例的任务分配方法的流程图。
如图2所示,该方法包括操作S201~S207。
在操作S201,接收未分配拣货任务数据,未分配拣货任务数据表示一项或多项未分配拣货任务。
在操作S202,获取多个第一任务集合数据,每个第一任务集合对应一个拣货执行体,第一任务集合中包括零个或者至少一个该拣货执行体需要执行的已分配拣货任务数据。
在操作S203,确定多个第一任务集合分别对应的多个第一等待时间。
在操作S204,确定多个第一任务集合分别对应的多个第二任务集合,每个第二任务集合中包括其对应的第一任务集合中的已分配拣货任务数据以及该未分配拣货任务数据。
在操作S205,确定多个第二任务集合分别对应的多个第二等待时间。
在操作S206,基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体。
在操作S207,将表示该未分配拣货任务的未分配拣货任务数据输出给第一拣货执行体。
根据本公开实施例,任务分配***可以在自动导引车处于就位状态时,接收到来自自动导引车的未分配拣货任务数据,该未分配拣货任务数据例如可以包括该任务的位置信息、该任务的货品信息等。
例如,当自动导引车处于就位状态时,可以将该拣货点的拣货任务数据发送给任务分配***,由任务分配***将该拣货任务分配给相应的拣货执行体。其中,自动导引车处于就位状态可以是自动导引车行驶到目的拣货点的预定范围内,也可以是自动导引车已经位于目的拣货点等待,还可以是自动导引车已经进入目的拣货点所在的巷道等。
本公开实施例在接收到新的未分配的拣货任务数据后,可以先获取拣货执行体对应的第一任务集合,第一任务集合中包括该拣货执行体需要执行的已经分配的拣货任务数据。例如,可以获取处于工作状态的拣货人员对应的已分配任务的集合。
例如,如图3所示,处于工作状态的拣货执行体包括拣货执行体1、2和3。拣货执行体1对应的第一任务集合310中包括已分配任务A和B,拣货执行体1需要完成拣货任务A和B。拣货执行体2对应的第一任务集合320中包括已分配任务C、D和E,拣货执行体2需要完成拣货任务C、D和E。拣货执行体3对应的第一任务集合330中包括已分配任务F,拣货执行体3需要完成拣货任务F。
根据本公开实施例,可以将未分配的拣货任务分别加入到各拣货执行体对应的第一任务集合中,得到第二任务集合。例如,如图4所示,在各拣货执行体需要执行的任务集合中,加入该未分配任务,则拣货执行体1对应的第二任务集合410中包括已分配任务A、B和该未分配任务,拣货执行体2对应的第二任务集合420中包括已分配任务C、D、E和该未分配任务,拣货执行体3对应的第二任务集合430中包括已分配任务F和该未分配任务。
在本公开实施例中,可以分别计算各拣货执行体对应的第一任务集合和第二任务集合对应的等待时间。
例如,可以确定任务集合中的拣货任务的最短拣货路径,基于该最短拣货路径确定任务集合中的各拣货任务对应的等待时间之和。
根据本公开实施例,可以通过旅行商问题确定任务集合中的拣货任务的最短拣货路径。
可以理解,由于任务集合中的已分配拣货任务已经处于等待状态,该等待时间越长,挂单的风险越高,因此在确定拣货路径时,需要考虑每个已分配拣货任务的已等待时间。例如,可以在旅行商问题对应的目标函数中加入惩罚函数,该惩罚函数可以与任务集合中的各拣货任务的已等待时间相关,然后基于旅行商问题对应的目标函数以及该惩罚函数确定任务集合中的拣货任务的最短拣货路径。
例如,现在对任务k分配拣货人员,目标函数考虑让所有待拣货任务的等待时间之和最短,从而可以尽快的完成拣选任务。
假设将任务k分配给某个拣货执行体l,其第二任务集合为Vl={Tl∪k},其中,Tl为拣货执行体l的第一任务集合(第一任务集合例如可以是有序集合),当有任务(有序集合的第一个元素)被完成之后,从这个集合中删除,则可以通过如下模型计算最短拣货路径:
xij∈{0,1}
其中,xij代表任务i的下一个任务是否为j,此旅行商问题中的距离成本为用惩罚函数f罚过的距离成本,dij代表两个任务点之间的最短路距离。惩罚函数f例如可以表示为:/>t0=5min(仅为示例)。t越小,惩罚越小,随着t的增加,惩罚指数增长。
需要注意的是,如果拣货执行体处于空闲未领取任务时,可以将拣货执行体的位置也加到旅行商问题的计算中,并且起始点可以为拣货执行体的当前位置;如果拣货执行体已经领取任务,起始点可以为已经领取任务的地点。在本公开一些实施例中,可以令起始点的下标为1,从而可以使目标函数中减去回到起始点的距离成本。
根据本公开实施例,基于最短拣货路径确定所述第二任务集合中的各拣货任务对应的等待时间之和,可以包括:基于最短拣货路径确定各拣货任务对应的需等待时间,以及基于各拣货任务的需等待时间和各拣货任务的已等待时间确定各拣货任务对应的等待时间之和。
例如,对第l个拣货执行体,其对应的任务集合的等待时间可以表示为:
其中,为任务j的已等待时间,/>为任务j还需等待时间。
还需等待时间可以根据任务执行顺序计算得到,例如, 其中,Pti为任务i需要的拣选时间(例如可以通过统计的方法得到各种货品的拣选时间),v0为人的行走速度。即,本任务需要还需等待时间=前一个任务的等待时间+前一任务需要的执行时间Pt+从前一任务到本任务的行走时间。
需要注意的是集合中的第一个任务,如果该任务已被领取,其等待时间和还需等待时间均为0;如果第一个任务未被领取,其前一个任务的等待时间为0,前一任务需要的执行时间
本公开实施例可以通过上述方法确定各任务集合所对应的等待时间。例如,可以通过上述方法确定多个拣货执行体对应的第一任务集合的第一等待时间和第二任务集合的第二等待时间。
本公开实施例可以基于多个相对应的第一等待时间和第二等待时间之间的时间差值中最小的时间差值对应的第一任务集合,该第一任务集合对应的拣货执行体为第一拣货执行体,可以将未分配拣货任务分配给该第一拣货执行体。
例如,拣货执行体1的第一任务集合310的最短拣货路径是已分配任务A→已分配任务B,对应的第一等待时间时2min,拣货执行体1的第二任务集合410的最短拣货路径是已分配任务A→未分配任务→已分配任务B,对应的第二等待时间为3min,其时间差值为1min。拣货执行体2的第一任务集合320的最短拣货路径是已分配任务D→已分配任务C→已分配任务E,对应的第一等待时间时3min,拣货执行体2的第二任务集合420的最短拣货路径是已分配任务D→已分配任务C→已分配任务E→未分配任务,对应的第二等待时间为3.5min,其时间差值为0.5min。拣货执行体3的第一任务集合330的最短拣货路径是已分配任务F,对应的第一等待时间时0.5min,拣货执行体3的第二任务集合430的最短拣货路径是未分配任务→已分配任务F,对应的第二等待时间为2min,其时间差值为1.5min。因此,可以选择拣货执行体2作为该未分配拣货任务的拣货执行体。
在本公开实施例中,可以将该未分配拣货任务数据发送给第一拣货执行体或者第一拣货执行体的设备,以使第一拣货执行体获得该拣货任务。或者,本公开实施例也可以将该未分配拣货任务数据以及第一拣货执行对应的第二任务集合的最短拣货路径发送给第一拣货执行体或者第一拣货执行体的设备,以使第一拣货执行体可以参考该拣货路径进行拣货。例如,可以将拣货执行体2对应的第二集合420的最短拣货路径(已分配任务D→已分配任务C→已分配任务E→未分配任务)发送给拣货执行体2,以使拣货执行体2按照该拣货顺序完成任务。
本公开实施例的任务分配方法全局考虑所有处于工作状态的拣货执行体,将新来的未分配拣货任务分配到适合的拣货执行体,并根据各任务的位置对其拣选顺序进行调整,使得所有的拣货任务等待时间最短,减小挂单风险的同时,还提高了拣货效率。
本公开实施例在计算拣选顺序时,考虑到各任务的已等待时间,增加惩罚函数,避免了某一任务由于距离拣货执行体较远一直***队,导致挂单的风险。
图5示意性示出了根据本公开实施例的任务分配装置500的框图。
如图5所示,任务分配装置500包括接收模块510、获取模块520、第一确定模块530、第二确定模块540、第三确定模块550、第四确定模块560以及输出模块570。
接收模块510接收未分配拣货任务数据,未分配拣货任务数据表示一项或多项未分配拣货任务。
获取模块520获取多个第一任务集合数据,每个第一任务集合对应一个拣货执行体,第一任务集合中包括零个或者至少一个拣货执行体需要执行的已分配拣货任务数据。
第一确定模块530确定多个第一任务集合分别对应的多个第一等待时间。
第二确定模块540确定多个第一任务集合分别对应的多个第二任务集合,每个第二任务集合中包括其对应的第一任务集合中的已分配拣货任务数据以及未分配拣货任务数据。
第三确定模块550确定多个第二任务集合分别对应的多个第二等待时间。
第四确定模块560基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体.
输出模块570将表示未分配拣货任务的未分配拣货任务数据输出给第一拣货执行体。
根据本公开实施例,确定多个第二任务集合分别对应的多个第二等待时间,可以包括:确定第二任务集合中的拣货任务的最短拣货路径,以及基于最短拣货路径确定第二任务集合中的各拣货任务对应的等待时间之和。
根据本公开实施例,确定第二任务集合中的拣货任务的最短拣货路径,可以包括:通过旅行商问题确定第二任务集合中的拣货任务的最短拣货路径。
根据本公开实施例,通过旅行商问题确定第二任务集合中的拣货任务的最短拣货路径,可以包括:在旅行商问题对应的目标函数中加入惩罚函数,惩罚函数与第二任务集合中的各拣货任务的已等待时间相关,以及基于旅行商问题对应的目标函数以及惩罚函数确定第二任务集合中的拣货任务的最短拣货路径。
根据本公开实施例,基于最短拣货路径确定第二任务集合中的各拣货任务对应的等待时间之和,可以包括:基于最短拣货路径确定各拣货任务对应的需等待时间,以及基于各拣货任务的需等待时间和各拣货任务的已等待时间确定各拣货任务对应的等待时间之和。
根据本公开实施例,基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体,可以包括:确定时间差值中最小的时间差值对应的第一任务集合,第一任务集合对应的拣货执行体为第一拣货执行体。
根据本公开实施例,将表示未分配拣货任务的未分配拣货任务数据输出给第一拣货执行体,可以包括:将未分配拣货任务数据以及第一拣货执行对应的第二任务集合的最短拣货路径输出给第一拣货执行体。
根据本公开实施例,如图5所示的任务分配装置500例如可以实现上文参考图2描述的方法,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,接收模块510、获取模块520、第一确定模块530、第二确定模块540、第三确定模块550、第四确定模块560以及输出模块570中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,接收模块510、获取模块520、第一确定模块530、第二确定模块540、第三确定模块550、第四确定模块560以及输出模块570中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接收模块510、获取模块520、第一确定模块530、第二确定模块540、第三确定模块550、第四确定模块560以及输出模块570中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的任务分配***600的方框图。图6示出的任务分配***仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,根据本公开实施例的任务分配***600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有***600操作所需的各种程序和数据。处理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,***600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。***600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (14)
1.一种任务分配方法,包括:
接收未分配拣货任务数据,所述未分配拣货任务数据表示一项或多项未分配拣货任务;
获取多个第一任务集合数据,每个所述第一任务集合对应一个拣货执行体,所述第一任务集合中包括零个或者至少一个所述拣货执行体需要执行的已分配拣货任务数据;
确定所述多个第一任务集合分别对应的多个第一等待时间;
确定所述多个第一任务集合分别对应的多个第二任务集合,每个第二任务集合中包括其对应的第一任务集合中的已分配拣货任务数据以及所述未分配拣货任务数据;
确定所述多个第二任务集合分别对应的多个第二等待时间;
基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体;
将表示所述未分配拣货任务的未分配拣货任务数据输出给所述第一拣货执行体;
其中,所述基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体,包括:
确定所述时间差值中最小的时间差值对应的第一任务集合,所述第一任务集合对应的拣货执行体为所述第一拣货执行体。
2.根据权利要求1所述的方法,其中,所述确定所述多个第二任务集合分别对应的多个第二等待时间,包括:
确定所述第二任务集合中的拣货任务的最短拣货路径;
基于所述最短拣货路径确定所述第二任务集合中的各拣货任务对应的等待时间之和。
3.根据权利要求2所述的方法,其中,所述确定第二任务集合中的拣货任务的最短拣货路径,包括:
通过旅行商问题确定所述第二任务集合中的拣货任务的最短拣货路径。
4.根据权利要求3所述的方法,其中,所述通过旅行商问题确定所述第二任务集合中的拣货任务的最短拣货路径,包括:
在所述旅行商问题对应的目标函数中加入惩罚函数,所述惩罚函数与所述第二任务集合中的各拣货任务的已等待时间相关;
基于所述旅行商问题对应的目标函数以及所述惩罚函数确定所述第二任务集合中的拣货任务的最短拣货路径。
5.根据权利要求2所述的方法,其中,所述基于所述最短拣货路径确定所述第二任务集合中的各拣货任务对应的等待时间之和,包括:
基于所述最短拣货路径确定各拣货任务对应的需等待时间;
基于所述各拣货任务的需等待时间和各拣货任务的已等待时间确定所述各拣货任务对应的等待时间之和。
6.根据权利要求1所述的方法,其中,所述将表示所述未分配拣货任务的未分配拣货任务数据输出给所述第一拣货执行体,包括:
将所述未分配拣货任务数据以及所述第一拣货执行对应的第二任务集合的最短拣货路径输出给所述第一拣货执行体。
7.一种任务分配装置,包括:
接收模块,接收未分配拣货任务数据,所述未分配拣货任务数据表示一项或多项未分配拣货任务;
获取模块,获取多个第一任务集合数据,每个所述第一任务集合对应一个拣货执行体,所述第一任务集合中包括零个或者至少一个所述拣货执行体需要执行的已分配拣货任务数据;
第一确定模块,确定所述多个第一任务集合分别对应的多个第一等待时间;
第二确定模块,确定所述多个第一任务集合分别对应的多个第二任务集合,每个第二任务集合中包括其对应的第一任务集合中的已分配拣货任务数据以及所述未分配拣货任务数据;
第三确定模块,确定所述多个第二任务集合分别对应的多个第二等待时间;
第四确定模块,基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体;
输出模块,将表示所述未分配拣货任务的未分配拣货任务数据输出给所述第一拣货执行体;
其中,所述基于多个相对应的第一等待时间和第二等待时间之间的时间差值确定相应的第一拣货执行体,包括:
确定所述时间差值中最小的时间差值对应的第一任务集合,所述第一任务集合对应的拣货执行体为所述第一拣货执行体。
8.根据权利要求7所述的装置,其中,所述确定所述多个第二任务集合分别对应的多个第二等待时间,包括:
确定所述第二任务集合中的拣货任务的最短拣货路径;
基于所述最短拣货路径确定所述第二任务集合中的各拣货任务对应的等待时间之和。
9.根据权利要求8所述的装置,其中,所述确定第二任务集合中的拣货任务的最短拣货路径,包括:
通过旅行商问题确定所述第二任务集合中的拣货任务的最短拣货路径。
10.根据权利要求9所述的装置,其中,所述通过旅行商问题确定所述第二任务集合中的拣货任务的最短拣货路径,包括:
在所述旅行商问题对应的目标函数中加入惩罚函数,所述惩罚函数与所述第二任务集合中的各拣货任务的已等待时间相关;
基于所述旅行商问题对应的目标函数以及所述惩罚函数确定所述第二任务集合中的拣货任务的最短拣货路径。
11.根据权利要求8所述的装置,其中,所述基于所述最短拣货路径确定所述第二任务集合中的各拣货任务对应的等待时间之和,包括:
基于所述最短拣货路径确定各拣货任务对应的需等待时间;
基于所述各拣货任务的需等待时间和各拣货任务的已等待时间确定所述各拣货任务对应的等待时间之和。
12.根据权利要求7所述的装置,其中,所述将表示所述未分配拣货任务的未分配拣货任务数据输出给所述第一拣货执行体,包括:
将所述未分配拣货任务数据以及所述第一拣货执行对应的第二任务集合的最短拣货路径输出给所述第一拣货执行体。
13.一种任务分配***,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现根据权利要求1~6中任一项所述的方法。
14.一种计算机可读介质,其上存储有可执行指令,所述指令在被处理器执行时实现根据权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811477027.4A CN111275231B (zh) | 2018-12-04 | 2018-12-04 | 任务分配方法、装置、***和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811477027.4A CN111275231B (zh) | 2018-12-04 | 2018-12-04 | 任务分配方法、装置、***和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111275231A CN111275231A (zh) | 2020-06-12 |
CN111275231B true CN111275231B (zh) | 2023-12-08 |
Family
ID=71003135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811477027.4A Active CN111275231B (zh) | 2018-12-04 | 2018-12-04 | 任务分配方法、装置、***和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111275231B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113762664A (zh) * | 2020-06-22 | 2021-12-07 | 北京京东乾石科技有限公司 | 拣货任务的分配方法、装置及计算机可读介质 |
CN113781135A (zh) * | 2020-08-21 | 2021-12-10 | 北京京东乾石科技有限公司 | 订单处理方法、装置、计算设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503150A (zh) * | 2002-11-19 | 2004-06-09 | ��ʽ���綫֥ | 多处理器***中的任务分配方法和多处理器*** |
JP2010006594A (ja) * | 2008-06-30 | 2010-01-14 | Takenaka Komuten Co Ltd | ピッキング支援システム及びピッキング支援方法 |
CN106325984A (zh) * | 2015-06-30 | 2017-01-11 | 上海证大喜马拉雅网络科技有限公司 | 一种大数据任务调度装置 |
CN106483943A (zh) * | 2016-10-13 | 2017-03-08 | 北京京东尚科信息技术有限公司 | 机器人的调度方法、装置以及计算机可读存储介质 |
CN107844879A (zh) * | 2017-06-27 | 2018-03-27 | 北京小度信息科技有限公司 | 订单分配方法和装置 |
CN108335071A (zh) * | 2018-02-06 | 2018-07-27 | 北京小度信息科技有限公司 | 配送任务分配方法、装置、电子设备及计算机存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100010859A1 (en) * | 2008-07-08 | 2010-01-14 | International Business Machines Corporation | Method and system for allocating dependent tasks to teams through multi-variate optimization |
US20140136255A1 (en) * | 2012-11-14 | 2014-05-15 | Wal-Mart Stores, Inc. | Dynamic Task Management |
US11158017B2 (en) * | 2016-12-28 | 2021-10-26 | Sap Se | Warehouse management system |
CN108357886A (zh) * | 2017-01-26 | 2018-08-03 | 菜鸟智能物流控股有限公司 | 物品拣选方法及相关设备 |
US10456912B2 (en) * | 2017-05-11 | 2019-10-29 | King Fahd University Of Petroleum And Minerals | Dynamic multi-objective task allocation |
-
2018
- 2018-12-04 CN CN201811477027.4A patent/CN111275231B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503150A (zh) * | 2002-11-19 | 2004-06-09 | ��ʽ���綫֥ | 多处理器***中的任务分配方法和多处理器*** |
JP2010006594A (ja) * | 2008-06-30 | 2010-01-14 | Takenaka Komuten Co Ltd | ピッキング支援システム及びピッキング支援方法 |
CN106325984A (zh) * | 2015-06-30 | 2017-01-11 | 上海证大喜马拉雅网络科技有限公司 | 一种大数据任务调度装置 |
CN106483943A (zh) * | 2016-10-13 | 2017-03-08 | 北京京东尚科信息技术有限公司 | 机器人的调度方法、装置以及计算机可读存储介质 |
CN107844879A (zh) * | 2017-06-27 | 2018-03-27 | 北京小度信息科技有限公司 | 订单分配方法和装置 |
CN108335071A (zh) * | 2018-02-06 | 2018-07-27 | 北京小度信息科技有限公司 | 配送任务分配方法、装置、电子设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111275231A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11597082B2 (en) | Dispatching method and device, and non-transitory readable storage medium | |
CN107122866B (zh) | 预估乘客取消订单行为的方法、设备及存储介质 | |
CN108960506B (zh) | 一种机器人调度方法、装置、服务器和存储介质 | |
CN109945884B (zh) | 实时路径规划方法、装置、计算机终端和可读存储介质 | |
CN110807236A (zh) | 一种基于多机器人的仓储物流仿真*** | |
CN107545315B (zh) | 订单处理方法及装置 | |
JP7226702B2 (ja) | 自動誘導輸送車のスケジューリング方法及びスケジューリング装置 | |
CN111724015B (zh) | 一种搬运任务切换方法、装置、设备和存储介质 | |
CN109902975B (zh) | 调度方法、***、装置以及计算机可读存储介质 | |
CN111275231B (zh) | 任务分配方法、装置、***和介质 | |
CN110119861A (zh) | 调度无人车的方法、装置及计算机可读存储介质 | |
CN111316308A (zh) | 用于识别错误订单请求的***及方法 | |
CN106663191B (zh) | 用于对像素进行分类的***和方法 | |
CN112232726A (zh) | 拣货方法、装置、服务器及存储介质 | |
CN109242320B (zh) | 订单分配方法、装置、服务器及存储介质 | |
CN112101831A (zh) | 货物的出库方法、装置、介质及电子设备 | |
CN114611896A (zh) | 机器人任务调度方法、计算机设备及存储介质 | |
CN103970606A (zh) | 用于分配资源的设备和方法 | |
CN110807612A (zh) | 确定剩余产能的方法和装置 | |
US11699130B2 (en) | Method, system and device of accumulating order-goods, and electronic apparatus | |
CN110050268A (zh) | 基于增量的数据处理方法及装置 | |
CN112749930A (zh) | 推荐订单分拣顺序的方法、装置、存储介质以及电子设备 | |
CN112785212A (zh) | 一种运输设备管理方法和装置 | |
CN112101834A (zh) | 仓库中储位的定位方法、装置、***及介质 | |
CN111768065B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |