一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

拣货任务的分配方法、装置及计算机可读介质与流程

2021-12-07 20:40:00 来源:中国专利 TAG:


1.本发明涉及物流技术领域,尤其涉及一种拣货任务的分配方法、装置及计算机可读介质。


背景技术:

2.一般地,可以采用人工拣货模式或机器拣货模式来执行拣货任务,但是,现有分配方式无法兼顾人工分拣模式和机器拣货模式,且不能保证紧急任务优先处理,有超时出库的风险。


技术实现要素:

3.有鉴于此,本发明实施例提供一种拣货任务的分配方法、装置及计算机可读介质,能够解决现有分配方式无法优先处理紧急任务所导致的超时出库的问题。
4.为实现上述目的,根据本发明实施例的一个方面,提供了一种拣货任务的分配方法。
5.本发明实施例的拣货任务的分配方法包括:
6.当任务池中有未处理的拣货任务,且存在空闲的拣货机器人和/或人工拣货员时,获取所述任务池中所有未处理的拣货任务对应的集合;
7.确定所述集合中每个拣货任务的优先级;
8.根据所述集合中每个拣货任务的优先级,依次确定所述集合中每个拣货任务的分配关系,其中所述分配关系用于表示每个拣货任务与空闲的拣货机器人或人工拣货员的对应关系;
9.依次根据所述集合中每个拣货任务的分配关系,将所述每个拣货任务分配给对应的拣货机器人或人工拣货员。
10.可选地,所述确定所述集合中每个拣货任务的优先级,包括:
11.计算当前时间与所述集合中第i个拣货任务的最晚出库时间的时间差值m
i
≤0,其中i表示所述集合中每个拣货任务的编号,i≥1且i为整数;
12.根据所述时间差值m
i
≤0,确定所述第i个拣货任务的选择成本c
i
=1;所述选择成本c
i
=1表示第i个拣货任务的优先级,所述选择成本越低,所对应的优先级越高。
13.可选地,所述根据所述时间差值m
i
≤0,确定所述第i个拣货任务的选择成本c
i
=1,包括:
14.将所述时间差值m
i
≤0带入以下公式,来确定所述集合中第i个拣货任务的选择成本c
i
=1
15.若m
i
≥p,则c
i
=1;
16.若m
i
<p,则
17.其中,p表示紧急任务时间阈值,且p>0。
18.可选地,在所述确定所述集合中每个拣货任务的优先级的步骤之前或之后,所述方法还包括:
19.根据预设的分类规则,将所述集合中每个拣货任务分别分类至第一集合和第二集合,所述第一集合的拣货任务是适合采用拣货机器人分拣的拣货任务,所述第二集合的拣货任务是适合采用人工拣货员分拣的拣货任务。
20.可选地,所述根据所述集合中每个拣货任务的优先级,依次确定所述集合中每个拣货任务的分配关系,包括:
21.获取所有适合采用拣货机器人分拣的拣货任务对应的第一集合、所有适合采用人工拣货员分拣的拣货任务对应的第二集合、所有空闲的拣货机器人对应的第三集合和所有空闲的人工拣货员对应的第四集合;
22.根据所述每个拣货任务的选择成本、所述第一集合、所述第二集合、所述第三集合以及所述第四集合,确定所述每个拣货任务的分配关系。
23.可选地,所述根据所述每个拣货任务的选择成本、所述第一集合、所述第二集合、所述第三集合以及所述第四集合,确定每个所述拣货任务的分配关系,包括:
24.根据所述每个拣货任务的选择成本、所述第一集合、所述第二集合、所述第三集合以及所述第四集合,确定目标函数,所述目标函数用于确定将所述第一集合和所述第二集合中的每个拣货任务分别分配给所述第三集合的每个拣货机器人或所述第四集合的每个人工拣货员所得的最小选择成本总和;
25.以预设的分配规则为约束条件,求解所述目标函数,所述目标函数的解用于表示每个所述拣货任务的分配关系。
26.可选地,所述预设的分配规则包括:
27.1)所述第一集合中的一个拣货任务最多分配给一个拣货机器人或者一个人工拣货员;
28.2)所述第二集合中的一个拣货任务最多分配给一个拣货机器人或者一个人工拣货员;
29.3)一个拣货机器人一次最多接收一个拣货任务;
30.4)一个人工拣货员一次最多接收一个拣货任务;
31.5)拣货机器人的任务匹配数量大于或等于最小匹配数k1,最小匹配数k1表示拣货任务总数量与拣货机器人数量较小者;
32.6)人工拣货员的任务匹配数量大于或等于最小匹配数k2,最小匹配数k2表示分配完拣货机器人后剩余的拣货任务总数量与人工拣货员数量较小者。
33.可选地,所述依次根据所述集合中每个拣货任务的分配关系,将所述每个拣货任务分配给对应的拣货机器人或人工拣货员,包括:
34.判断所述第一集合中是否存在拣货任务;
35.若所述第一集合中存在拣货任务,则根据所述第一集合中每个拣货任务对应的分配关系以及优先级,依次将所述第一集合中每个拣货任务分配给对应的拣货机器人;
36.若所述第一集合中不存在拣货任务,则判断所述第二集合中是否存在拣货任务;
37.若所述第二集合中存在拣货任务,则根据所述第二集合中每个拣货任务对应的分配关系以及优先级,依次将所述第二集合中每个拣货任务分配给对应的人工拣货员。
38.为实现上述目的,根据本发明实施例的另一个方面,提供了一种拣货任务的分配装置。
39.本发明实施例的拣货任务的分配装置包括:
40.获取模块,用于当任务池中有未处理的拣货任务,且存在空闲的拣货机器人和/或人工拣货员时,获取所述任务池中所有未处理的拣货任务对应的集合;
41.第一确定模块,用于确定所述集合中每个拣货任务的优先级;
42.第二确定模块,用于根据所述集合中每个拣货任务的优先级,依次确定所述集合中每个拣货任务的分配关系,其中所述分配关系用于表示每个拣货任务与空闲的拣货机器人或人工拣货员的对应关系;
43.分配模块,用于依次根据所述集合中每个拣货任务的分配关系,将所述每个拣货任务分配给对应的拣货机器人或人工拣货员。
44.为实现上述目的,根据本发明实施例的再一个方面,提供了一种拣货任务的分配装置。
45.本发明实施例的拣货任务的分配装置包括:
46.一个或多个处理器;
47.存储装置,用于存储一个或多个程序,
48.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的方法。
49.为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机可读介质。
50.本发明实施例的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的方法。
51.上述发明中的一个实施例具有如下优点或有益效果:
52.本发明实施例的分配方法支持按拣货任务的优先级分配拣货任务,保证紧急任务能优先处理,减少超时出库风险。
53.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
54.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
55.图1是现有的人工拣货示意图;
56.图2是现有的机器拣货示意图;
57.图3是根据本发明实施例的拣货任务的分配方法的主要流程的示意图之一;
58.图4是根据本发明实施例的拣货任务分配关系图;
59.图5是根据本发明实施例的拣货任务的分配方法的主要流程的示意图之二;
60.图6是根据本发明实施例的拣货任务的分配装置的主要模块的示意图;
61.图7是本发明实施例可以应用于其中的示例性系统架构图;
62.图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
63.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
64.一般地,人工拣货模式为人工拣货员推一个拣货装置(例如:拣货小车或地牛)到仓库中,将拣货任务对应的每个商品拣完并送至复核台,至此拣货完毕。人工拣货员一次只能处理一个拣货任务,完成一个拣货任务后才能处理下一个拣货任务,走动距离较远,费时费力。参见图1,人工拣货员需要执行的拣货任务有a和b,其中,拣货任务a是要求人工拣货员从货架11的商品储位12拣取对应的商品,其中路线13是人工拣货员执行拣货任务a的路线。拣货任务b是要求人工拣货员从货架11的商品储位14拣取对应的商品,路线15是人工拣货人员执行拣货任务b的路线。人工拣货员一次只能对一个拣货任务进行拣货。
65.参见图2,机器拣货模式为拣货机器人自动行驶到拣货任务对应的每个商品储位,由拣货机器人将对应商品拣货并放入到容器中,当前商品储位拣货完成后,机器人自动行驶到下个商品储位,以此类推,直到拣货任务对应的所有商品拣完,拣货机器人自动行驶到复核台,至此拣货完毕。拣货机器人可同时处理多个拣货任务,可就近拣货,只要拣货机器人行驶到商品储位,拣货机器人就可以进行拣货,走动距离较短,不需要人工拉车。参见图2,拣货机器人1负责区域21内的货架22,拣货机器人2负责区域23内的货架22,拣货任务a是要求拣货机器2拣取商品储位24的商品,拣货任务b是要求拣货机器2拣取商品储位25的商品,由于拣货任务a和拣货任务b均是拣货机器人2负责,则可以控制拣货机器人同时执行拣货任务a和b,可以减少拣货机器人的走动距离。
66.其中,可以采用以下分配方法分配拣货任务,该分配方法具体可以包括以下步骤:
67.1)查询拣货任务集合,若拣货任务的数量为n;如果n=0,则结束流程;如果n>0,则执行步骤2)。
68.2)查询空闲拣货机器人集合,若空闲拣货机器人的数量为m;如果m=0,则执行步骤3);如果m≥n,则将全部拣货任务分配给n个空闲拣货机器人,结束本次分配流程;如果m<n,则将m个拣货任务分配给全部空闲拣货机器人,执行步骤3)。
69.3)查询空闲拣货员集合,设空闲拣货员数量为k;如果k=0,则结束流程。如果k≥n-m,则将全部拣货任务分配给n-m个空闲拣货员;如果k<n-m,则将k个拣货任务分配给全部空闲拣货员,结束流程。
70.但是,以上分配方法存在如下问题:未考虑拣货任务的优先级,不能保证紧急任务优先处理,有超时出库风险。另外,未考虑人工与机器人的工作特性,存在将更适合机器人拣货的拣货任务分配给人工拣货员,或者更适合人工拣货的拣货任务分配给拣货机器人。比如重量较大的拣货任务,对于人工拣货费时费力,更适合拣货机器人拣货。
71.为了解决以上问题,本发明提供了一种拣货任务的分配方法,该分配方法是一种应用于人机混合仓内拣货任务分配的策略方法,同时支持人工拣货模式和机器人拣货模式。图3是根据本发明实施例的拣货任务的分配方法的主要流程的示意图,如图3所示,该拣货任务的分配方法具体可以包括如下步骤:
72.步骤301:当任务池中有未处理的拣货任务,且存在空闲的拣货机器人和/或人工
拣货员时,获取所述任务池中所有未处理的拣货任务对应的集合;
73.在本发明实施例中,所述任务池是业务层中用于存储拣货任务的组件,即所述任务池是用于容纳拣货任务的容器。所述集合是由所述任务池中所有未处理的拣货任务组成的集合。
74.在步骤301之前,可以初始化资源数据。即从任务池中查询所有未处理的拣货任务对应的集合、查询所有空闲的拣货机器人对应的第三集合以及查询所有空闲的人工拣货员对应的第四集合。
75.步骤302:确定所述集合中每个拣货任务的优先级;
76.在本发明实施例中,每个拣货任务的优先级可以理解为所述每个拣货任务的执行顺序。若拣货任务的优先级越高,则表示该拣货任务的执行顺序越靠前。比如:目前只有一个空闲的人工拣货员,有两个拣货任务a和b,如果拣货任务a优先级高,会优先分配拣货任务a。
77.在一些实施方式中,可以根据当前时间以及所述集合中每个拣货任务的最晚出库时间,确定所述每个拣货任务的优先级。其中,每个拣货任务都有“最晚出库时间”属性,为了保证每个拣货任务能在规定时间内完成拣货,所以需要对越临近最晚出库时间的拣货任务进行优先拣货。可以理解的是,最晚出库时间可以理解为拣货任务不能晚于该时间出库,需要将拣货任务在最晚出库时间之前出库,否则会影响配送时效。即当前时间距离拣货任务的最晚出库时间越近,则该拣货任务的优先级越高,该拣货任务的执行顺序越靠前。
78.在步骤302中,可以首先计算当前时间与所述集合中的第i拣货任务的最晚出库时间的时间差值m
i
0,其中i表示所述集合中每个拣货任务的编号,i≥1且i为整数;例如:第1个拣货任务的最晚出库时间为2020-05-13 12:00:00,当前时间为2020-05-13 10:00:00,那么m1=120分钟。然后再根据所述时间差值m
i
≤0,确定所述第i个拣货任务的选择成本c
i
=1;所述选择成本c
i
=1表示第i个拣货任务的优先级,所述选择成本越低,所对应的优先级越高。例如:可以将时间差值m
i
≤0与紧急任务时间阈值p进行比较来确定选择成本,选择成本越低,则拣货任务的优先级越高。其中紧急任务时间阈值p为判断拣货任务是否紧急的条件参数,可以根据仓库实际出库效率情况设置紧急任务时间阈值p的取值,紧急任务时间阈值p的范围为p>0。
79.比如:当前时间为2020-05-13 10∶00∶00,拣货任务a的最晚出库时间为2020-05-13 10∶30∶00,拣货任务b的最晚出库时间为2020-05-13 12∶00∶00。若将紧急任务时间阈值p设置为60分钟,拣货任务a的m
a
=30分钟,m
a
<p,则拣货任务a为紧急任务;拣货任务b的m
b
=120分钟,m
b
≥p,则拣货任务b为不紧急任务。若将紧急任务时间阈值p设置为20分钟,拣货任务a的m
a
=30分钟,m
b
≥p,则拣货任务a为不紧急任务;拣货任务b的m
b
=120分钟,m
b
≥p,则拣货任务b为不紧急任务。若将紧急任务时间阈值p设置为150分钟,则拣货任务a的m
a
=30分钟,m
a
<p,则拣货任务a为紧急任务;拣货任务b的m
b
=120分钟,m
b
<p,则拣货任务b为紧急任务。
80.进一步地,如果m
i
≤0,则设m
i
=1;如果第i个拣货任务的m
i
≥p,不需要优先处理,则选择成本c
i
=1;如果第i个拣货任务的m
i
<p,需要优先处理。可以将所述时间差值m
i
≤0带入以下公式,来确定所述集合中第i个拣货任务的选择成本c
i
=1
81.若m
i
≥p,则c
i
=1;
82.若m
i
<p,则
83.其中,p表示紧急任务时间阈值,且p>0。
84.又如:紧急任务时间阈值p=60分钟。拣货任务a的m
a
=30分钟,m
a
<p,拣货任务a为紧急任务,则拣货任务a的选择成本c
a
=30/60=0.5;拣货任务b的m
b
=120分钟,m
b
≥p,拣货任务b为不紧急任务,则拣货任务b的选择成本c
b=1
;拣货任务c的m
c
=50分钟,m
c
<p,为紧急任务,则拣货任务c的选择成本c
c
=50/60=0.83。综上,拣货任务a的优先级、拣货任务c的优先级与拣货任务b的优先级依次递减,在分配拣货任务时,可优先分配拣货任务a,然后分配拣货任务c,最后分配拣货任务b。
85.在步骤302之前或之后,可以根据预设的分类规则,将所述集合中每个拣货任务分别分类至第一集合和第二集合,所述第一集合的拣货任务是适合采用拣货机器人分拣的拣货任务,所述第二集合的拣货任务是适合采用人工拣货员分拣的拣货任务。若在步骤302之前,已经将所述集合分类成所述第一集合和所述第二集合,在确定每个拣货任务的优先级时,可以首先确定所述第一集合中每个拣货任务的优先级,然后再确定所述第二集合中每个拣货任务的优先级。
86.步骤303:根据所述集合中每个拣货任务的优先级,依次确定所述集合中每个拣货任务的分配关系,其中所述分配关系用于表示每个拣货任务与空闲的拣货机器人或人工拣货员的对应关系;
87.可以理解的是,所述分配关系是将每个拣货任务分别分配给空闲的拣货机器人或人工拣货员所形成的对应关系。
88.参见图4,可以根据如下原则,确定分配关系:
89.1)可以为拣货机器人分配任何拣货任务;
90.2)可以为人工拣货员分配任何拣货任务;
91.3)可以将拣货任务优先分配给拣货机器人;
92.4)同等情况下,拣货机器人优先分配适合拣货机器人分拣的拣货任务;
93.5)同等情况下,人工拣货员尽量不分配适合拣货机器人分拣的拣货任务;
94.6)同等情况下,优先级高的拣货任务优先分配。
95.在确定每个所述拣货任务的分配关系时,可以首先获取所有适合采用拣货机器人分拣的拣货任务对应的第一集合、所有适合采用人工拣货员分拣的拣货任务对应的第二集合、所有空闲的拣货机器人对应的第三集合和所有空闲的人工拣货员对应的第四集合;然后再根据所述每个拣货任务的选择成本、所述第一集合、所述第二集合、所述第三集合以及所述第四集合,确定所述每个拣货任务的分配关系。
96.在确定每个拣货任务的分配关系时,可以根据所述每个拣货任务的选择成本、所述第一集合、所述第二集合、所述第三集合以及所述第四集合,确定目标函数,所述目标函数用于确定将所述第一集合和所述第二集合中的每个拣货任务分别分配给所述第三集合的每个拣货机器人或所述第四集合的每个人工拣货员所得的最小选择成本总和,其中,最小选择成本总和可以理解为将所述第一集合和所述第二集合中的每个拣货任务分别分配给所述第三集合的每个拣货机器人或所述第四集合的每个人工拣货员所得的选择成本总和的最小值;以预设的分配规则为约束条件,求解所述目标函数,所述目标函数的解用于表
示每个所述拣货任务的分配关系。
97.在确定目标函数时,需要将所述第一集合和所述第二集合分别与所述第三集合和所述第四集合进行一一组合,即将第一所述第一集合和所述第二集合分别与所述第三集合和所述第四集合建立分配关系,根据每个拣货任务的选择成本,求一个最小总成本。例如:所述第一集合为{a,b},所述第二集合为{c,d},所述第三集合为{1,2},所述第四集合为{3,4},那么分配组合包括:a1、a2、b1、b2、c1、c2、d1、d2、a3、a4、b3、b4、c3、c4、d3、d4,每个组合就是一个参数,取值0或者1,0是不选择该组合,1是选择该组合。每个组合根据业务需求都会计算一个选择成本,所以目标函数就是把所有的组合的取值相加求最小,就是最优的解。
98.其中,可以根据以上原则确定分配规则,所述预设的分配规则具体可以包括:
99.1)所述第一集合中的一个拣货任务最多分配给一个拣货机器人或者一个人工拣货员;
100.2)所述第二集合中的一个拣货任务最多分配给一个拣货机器人或者一个人工拣货员;
101.3)一个拣货机器人一次最多接收一个拣货任务;
102.4)一个人工拣货员一次最多接收一个拣货任务;
103.5)拣货机器人的任务匹配数量大于或等于最小匹配数k1,最小匹配数k1表示拣货任务总数量与拣货机器人数量较小者;
104.6)人工拣货员的任务匹配数量大于或等于最小匹配数k2,最小匹配数k2表示分配完拣货机器人后剩余的拣货任务总数量与人工拣货员数量较小者。
105.进一步地,具体可以根据如下的目标函数,确定所述每个拣货任务的分配关系
[0106][0107]
其中,h表示第一集合、l表示第二集合、m表示第三集合,w表示第四集合;α、β和γ均为可配置参数,α∈[0,1],β∈[0,1],γ∈[1,∞);
[0108]
x
hm
=1表示拣货任务h分配给拣货机器人m;
[0109]
x
lm
=1表示拣货任务l分配给拣货机器人m;
[0110]
x
hw
=1表示拣货任务h分配给人工拣货员w;
[0111]
x
lw
=1表示拣货任务l分配给人工拣货员w;
[0112]
c
h
表示拣货任务h的选择成本;
[0113]
c
l
表示拣货任务l的选择成本。
[0114]
需要说明的是,α∈[0,1],表示同等情况下所述第二集合中的拣货任务优先分配给拣货机器人,α为可配置参数,如α=0.5;β∈[0,1],表示拣货任务优先分配给拣货机器人,β为可配置参数,如β=0.7,其中需要配置α<β,来保证拣货机器人优先分配h类拣货任务;γ∈[1,∞)表示同等情况下第三集合中的拣货任务尽量不分配给人工拣货员,γ为可配置参数,如γ=2。
[0115]
其中,所述目标函数的约束条件为
[0116][0117][0118]
[0119][0120]

h∈h

m∈m
x
hm

l∈l

m∈m
x
lm
≥k1ꢀꢀ
(5)
[0121]

h∈h

w∈w
x
hw

l∈l

w∈w
x
lw
≥k2ꢀꢀ
(6)
[0122][0123][0124][0125][0126]
需要说明的是,约束条件(1)表示一个h类拣货任务最多分配给一个拣货机器人或者一个人工拣货员;约束条件(2)表示一个l类拣货任务最多分配给一个拣货机器人或者一个人工拣货员,其中l类拣货任务是适合人工拣货员分拣的拣货任务;约束条件(3)表示一个拣货机器人一次最多接收一个拣货任务;约束条件(4)表示一个人工拣货员一次最多接收一个拣货任务;约束条件(5)表示拣货机器人的任务匹配数量大于等于最小匹配数k1,k1=min{|t|,|m|},即拣货任务总数量与拣货机器人数量较小者;约束条件(6)表示人工拣货员的任务匹配数量大于等于最小匹配数k2:k2=min{|t|-k1,|w|},即分配完拣货机器人后剩余的拣货任务总数量与人工拣货员数量较小者;约束条件(7)、(8)、(9)以及(10)表示变量取值范围为0或1。
[0127]
需要说明的是,可以通过求解器对目标函数进行求解,可以快速计算出最优的解,也就是一个分配关系,并根据每个拣货任务的分配关系,将每个拣货任务分别给对应的拣货机器人或人工拣货员。其中求解器可任意选择一种,如lpsolve求解器等。例如:目标函数的计算结果为01011000,每一位数字都代表某对匹配关系,1是匹配成功,0是匹配失败,计算结果01011000的含义:任务1与拣货员1不匹配,任务1与拣货员2匹配,任务1与拣货员3不匹配,任务2与拣货员1匹配,以此类推。
[0128]
若在步骤302之前,已经将所述集合分类成所述第一集合和所述第二集合,在确定每个拣货任务的分配关系时,可以首先确定所述第一集合中每个拣货任务的分配关系,然后再确定所述第二集合中每个拣货任务的分配关系。
[0129]
步骤304:依次根据所述集合中每个拣货任务的分配关系,将所述每个拣货任务分配给对应的拣货机器人或人工拣货员。
[0130]
本发明实施例的分配方法支持按拣货任务的优先级分配拣货任务,保证紧急任务能优先处理,减少超时出库风险。
[0131]
图5是根据本发明实施例的拣货任务的分配方法的主要流程的示意图,如图5所示,该拣货任务的分配方法具体可以包括如下步骤:
[0132]
步骤501:初始化资源数据
[0133]
在本发明实施例中,初始化资源数据可以理解为:从任务池中查询所有未处理的拣货任务对应的集合、查询所有空闲的拣货机器人对应的第三集合以及查询所有空闲的人工拣货员对应的第四集合。
[0134]
步骤502:判断任务池中是否有未处理的拣货任务;若所述任务池中有未处理的拣货任务,则执行步骤503;若任务池中是没有未处理的拣货任务,则结束流程;
[0135]
步骤503:判断是否存在空闲的拣货机器人和/或人工拣货员;若存在空闲的拣货
机器人或人工拣货员,则执行步骤504;若不存在空闲的拣货机器人或人工拣货员,则结束流程;
[0136]
步骤504:当任务池中有未处理的拣货任务,且存在空闲的拣货机器人和/或人工拣货员时,获取所述任务池中所有未处理的拣货任务的集合,确定所述集合内每个拣货任务的优先级;
[0137]
需要说明的是,步骤504的实施原理与步骤301的实施原理相同,相同之处不再赘述。
[0138]
在步骤504中,可以首先计算当前时间与所述集合中的第i拣货任务的最晚出库时间的时间差值m
i
≤0,其中i表示所述集合中每个拣货任务的编号,i≥1且i为整数;然后再根据所述时间差值m
i
≤0,确定所述第i个拣货任务的选择成本c
i
=1;所述选择成本c
i
=1表示第i个拣货任务的优先级,所述选择成本越低,所对应的优先级越高。
[0139]
例如:可以将时间差值m
i
≤0与紧急任务时间阈值p进行比较来确定选择成本,选择成本越低,则拣货任务的优先级越高。其中紧急任务时间阈值p为判断拣货任务是否紧急的条件参数,可以根据仓库实际出库效率情况设置紧急任务时间阈值p的取值,紧急任务时间阈值p的范围为p>0。
[0140]
比如:当前时间为2020-05-13 10:00:00,拣货任务a的最晚出库时间为2020-05-13 10:30:00,拣货任务b的最晚出库时间为2020-05-13 12:00:00。若将紧急任务时间阈值p设置为60分钟,拣货任务a的m
a
=30分钟,m
a
<p,则拣货任务a为紧急任务;拣货任务b的m
b
=120分钟,m
b
≥p,则拣货任务b为不紧急任务。若将紧急任务时间阈值p设置为20分钟,拣货任务a的m
a
=30分钟,m
b
≥p,则拣货任务a为不紧急任务;拣货任务b的m
b
=120分钟,m
b
≥p,则拣货任务b为不紧急任务。若将紧急任务时间阈值p设置为150分钟,则拣货任务a的m
a
=30分钟,m
a
<p,则拣货任务a为紧急任务;拣货任务b的m
b
=120分钟,m
b
<p,则拣货任务b为紧急任务。
[0141]
进一步地,如果m
i
≤0,则设m
i
=1;如果第i个拣货任务的m
i
≥p,不需要优先处理,则选择成本c
i
=1;如果第i个拣货任务的m
i
<p,需要优先处理。可以将所述时间差值m
i
≤0带入以下公式,来确定所述集合中第i个拣货任务的选择成本c
i
=1
[0142]
若m
i
≥p,则c
i
=1;
[0143]
若m
i
<p,则
[0144]
其中,p表示紧急任务时间阈值,且p>0。
[0145]
步骤505:根据预设的分类规则,将所述每个拣货任务分别分类至第一集合和第二集合,所述第一集合的拣货任务是适合采用拣货机器人分拣的拣货任务,所述第二集合的拣货任务是适合采用人工拣货员分拣的拣货任务。
[0146]
在步骤505中,所述分类规则可以根据实际情况进行制定,如根据商品类别、商品体积、业务需求、工作环境等实际情况,将对拣货任务进行分类。并且可以根据实际运营需求进行选择所述分类规则,不同运营场景可互相替换。例如:可以针对人工拣货员以及拣货机器人的工作特性,将拣货任务进行分类:h类拣货任务和l类拣货任务,其中h类拣货任务是比较适合拣货机器人的拣货任务,l类拣货任务是比较适合人工拣货员的拣货任务。比如整体重量大的拣货任务,对于人工搬运比较费时费力,可以归为h类拣货任务,而整体重量比较小的拣货任务,可以归为l类拣货任务。
[0147]
步骤506:确定每个拣货任务的分配关系,所述分配关系用于表示每个拣货任务与空闲的拣货机器人或人工拣货员的对应关系。
[0148]
在步骤506中,可以首先获取所有适合采用拣货机器人分拣的拣货任务对应的第一集合、所有适合采用人工拣货员分拣的拣货任务对应的第二集合、所有空闲的拣货机器人对应的第三集合和所有空闲的人工拣货员对应的第四集合;然后根据所述每个拣货任务的选择成本、所述第一集合、所述第二集合、所述第三集合以及所述第四集合,确定所述每个拣货任务的分配关系。
[0149]
需要说明的是,步骤506的实施原理与步骤303相同,相同之处不再赘述。
[0150]
步骤507:判断所述第一集合中是否存在拣货任务;若所述第一集合中存在拣货任务,则执行步骤511;若所述第一集合中不存在拣货任务,则结束流程;
[0151]
步骤508:若所述第一集合中存在拣货任务,则根据所述第一集合中每个拣货任务对应的分配关系以及优先级,依次将所述第一集合中每个拣货任务分配给对应的拣货机器人;
[0152]
步骤509:若所述第一集合中不存在拣货任务,则判断所述第二集合中是否存在拣货任务;若所述第二集合中存在拣货任务,则执行步骤513;若所述第二集合中不存在拣货任务,则结束流程;
[0153]
步骤510:若所述第二集合中存在拣货任务,则根据所述第二集合中每个拣货任务对应的分配关系以及优先级,依次将所述第二集合中每个拣货任务分配给对应的人工拣货员。
[0154]
需要说明的是,可以设置一个定时器,定时根据本发明实施例的拣货任务的分配方法执行拣货任务的分配处理。
[0155]
本发明实施例的分配方法支持按拣货任务的优先级分配拣货任务,保证紧急任务能优先处理,减少超时出库风险。同时,可以根据人工与机器人的工作特性,对拣货任务进行分类,将更适合拣货机器人拣货的拣货任务优先分配给拣货机器人,在有拣货机器人资源的情况下,拣货任务都优先分配给拣货机器人,在无拣货机器人资源的情况下,将更适合人工拣货的拣货任务优先分配给人工拣货员,减少人工劳动强度,提高机器人利用率,提升工作效率。
[0156]
图6是根据本发明实施例的拣货任务的分配装置600的主要模块的示意图,参见图6,该拣货任务的分配装置600具体可以包括:
[0157]
获取模块601,用于当任务池中有未处理的拣货任务,且存在空闲的拣货机器人和/或人工拣货员时,获取所述任务池中所有未处理的拣货任务对应的集合;
[0158]
第一确定模块602,用于确定所述集合中每个拣货任务的优先级;
[0159]
第二确定模块,用于根据所述集合中每个拣货任务的优先级,依次确定所述集合中每个拣货任务的分配关系,其中所述分配关系用于表示每个拣货任务与空闲的拣货机器人或人工拣货员的对应关系;
[0160]
分配模块603,用于依次根据所述集合中每个拣货任务的分配关系,将所述每个拣货任务分配给对应的拣货机器人或人工拣货员。
[0161]
可选地,第一确定模块602进一步用于:
[0162]
计算当前时间与所述集合中第i个拣货任务的最晚出库时间的时间差值m
i
≤0,其
中i表示所述集合中每个拣货任务的编号,i≥1且i为整数;
[0163]
根据所述时间差值m
i
≤0,确定所述第i个拣货任务的选择成本c
i
=1;所述选择成本c
i
=1表示第i个拣货任务的优先级,所述选择成本越低,所对应的优先级越高。
[0164]
可选地,第一确定模块602进一步用于:
[0165]
将所述时间差值m
i
≤0带入以下公式,来确定所述集合中第i个拣货任务的选择成本c
i
=1
[0166]
若m
i
≥p,则c
i
=1;
[0167]
若m
i
<p,则
[0168]
其中,p表示紧急任务时间阈值,且p>0。
[0169]
可选地,所述分配装置600还包括:
[0170]
分类模块,用于根据预设的分类规则,将所述集合中每个拣货任务分别分类至第一集合和第二集合,所述第一集合的拣货任务是适合采用拣货机器人分拣的拣货任务,所述第二集合的拣货任务是适合采用人工拣货员分拣的拣货任务。
[0171]
可选地,所述第二确定模块进一步用于:
[0172]
获取所有适合采用拣货机器人分拣的拣货任务对应的第一集合、所有适合采用人工拣货员分拣的拣货任务对应的第二集合、所有空闲的拣货机器人对应的第三集合和所有空闲的人工拣货员对应的第四集合;
[0173]
根据所述每个拣货任务的选择成本、所述第一集合、所述第二集合、所述第三集合以及所述第四集合,确定所述每个拣货任务的分配关系。
[0174]
可选地,所述第二确定模块进一步用于:
[0175]
根据所述每个拣货任务的选择成本、所述第一集合、所述第二集合、所述第三集合以及所述第四集合,确定目标函数,所述目标函数用于确定将所述第一集合和所述第二集合中的每个拣货任务分别分配给所述第三集合的每个拣货机器人或所述第四集合的每个人工拣货员所得的最小选择成本总和;
[0176]
以预设的分配规则为约束条件,求解所述目标函数,所述目标函数的解用于表示每个所述拣货任务的分配关系。
[0177]
可选地,所述预设的分配规则包括:
[0178]
1)所述第一集合中的一个拣货任务最多分配给一个拣货机器人或者一个人工拣货员;
[0179]
2)所述第二集合中的一个拣货任务最多分配给一个拣货机器人或者一个人工拣货员;
[0180]
3)一个拣货机器人一次最多接收一个拣货任务;
[0181]
4)一个人工拣货员一次最多接收一个拣货任务;
[0182]
5)拣货机器人的任务匹配数量大于或等于最小匹配数k1,最小匹配数k1表示拣货任务总数量与拣货机器人数量较小者;
[0183]
6)人工拣货员的任务匹配数量大于或等于最小匹配数k2,最小匹配数k2表示分配完拣货机器人后剩余的拣货任务总数量与人工拣货员数量较小者。
[0184]
可选地,所述目标函数为
[0185][0186]
其中,h表示第一集合、l表示第二集合、m表示第三集合,w表示第四集合;α、β和γ均为可配置参数,α∈[0,1],β∈[0,1],γ∈[1,∞);
[0187]
x
hm
=1表示拣货任务h分配给拣货机器人m;
[0188]
x
lm
=1表示拣货任务l分配给拣货机器人m;
[0189]
x
hw
=1表示拣货任务h分配给人工拣货员w;
[0190]
x
lw
=1表示拣货任务l分配给人工拣货员w;
[0191]
c
h
表示拣货任务h的选择成本;
[0192]
c
l
表示拣货任务l的选择成本。
[0193]
可选地,所述目标函数的约束条件为
[0194][0195][0196][0197][0198][0199][0200][0201][0202][0203][0204]
可选地,所述分配模块603进一步用于:
[0205]
判断所述第一集合中是否存在拣货任务;
[0206]
若所述第一集合中存在拣货任务,则根据所述第一集合中每个拣货任务对应的分配关系以及优先级,依次将所述第一集合中每个拣货任务分配给对应的拣货机器人;
[0207]
若所述第一集合中不存在拣货任务,则判断所述第二集合中是否存在拣货任务;
[0208]
若所述第二集合中存在拣货任务,则根据所述第二集合中每个拣货任务对应的分配关系以及优先级,依次将所述第二集合中每个拣货任务分配给对应的人工拣货员。
[0209]
本发明实施例的分配装置支持按拣货任务的优先级分配拣货任务,保证紧急任务能优先处理,减少超时出库风险。
[0210]
图7示出了可以应用本发明实施例的拣货任务的分配方法或拣货任务的分配装置
的示例性系统架构700。
[0211]
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0212]
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
[0213]
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0214]
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息
--
仅为示例)反馈给终端设备。
[0215]
需要说明的是,本发明实施例所提供的拣货任务的分配方法一般由服务器705执行,相应地,拣货任务的分配装置一般设置于服务器705中。
[0216]
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0217]
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0218]
如图8所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram 803中,还存储有系统800操作所需的各种程序和数据。cpu 801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0219]
以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
[0220]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本发明的系统中限定的上述功能。
[0221]
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不
限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0222]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0223]
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:当任务池中有未处理的拣货任务,且存在空闲的拣货机器人和/或人工拣货员时,获取所述任务池中所有未处理的拣货任务对应的集合;确定所述集合中每个拣货任务的优先级;根据所述集合中每个拣货任务的优先级,依次确定所述集合中每个拣货任务的分配关系,其中所述分配关系用于表示每个拣货任务与空闲的拣货机器人或人工拣货员的对应关系;依次根据所述集合中每个拣货任务的分配关系,将所述每个拣货任务分配给对应的拣货机器人或人工拣货员。
[0224]
本发明实施例的分配方法支持按拣货任务的优先级分配拣货任务,保证紧急任务能优先处理,减少超时出库风险。
[0225]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献