一种物流机器人动态任务分配方法及系统与流程

专利2022-05-09  71



1.本发明涉及物流领域,具体涉及一种物流机器人动态任务分配方法及系统。


背景技术:

2.针对采用物流机器人进行货物拣选时,物流机器人任务分配系统的多机器人和动态性导致的复杂性使搜索空间巨大的问题,但是传统算法对物流机器人任务分配搜索过程中没有考虑收益变化的幅度对节点选择的影响。


技术实现要素:

3.本发明实施例提供一种物流机器人动态任务分配方法及系统,在物流机器人分配任务时,在一定的搜索时间范围内保证收益估计的准确度。
4.为达上述目的,一方面,本发明实施例提供一种物流机器人动态任务分配方法,包括:
5.选取仓库已经处理完毕的某一时段的所有订单,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置,将物流机器人运输货架的路径和时间代价简化为物流机器人与目标位置的曼哈顿距离,其中,目标位置是指货架和/或拣选台;以及,基于马尔可夫决策过程,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置和大小,构建物流机器人动态任务分配模型;构建所述物流机器人动态任务分配模型采用将订单分配给拣选台、将分配给拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人的任务分配方式;
6.采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解,使得得到的解为物流机器人分配相应的一个或多个任务、且被分配任务的所有物流机器人完成所有货架拣选的总成本最优,得到最优物流机器人动态任务分配模型;所述最优物流机器人动态任务分配模型,能够将新收到的订单分配给拣选台,将每个拣选台的订单分解成独立的任务,将每个任务分配到物流机器人,物流机器人根据为其分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将相应的货架运回原位;
7.在仓库接收到订单并根据订单拣选货物时,采用最优物流机器人动态任务分配模型将新收到的订单分配给拣选台、将每个拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人;物流机器人将其被分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将货架运回原位。
8.另一方面,本发明实施例提供一种物流机器人动态任务分配系统,包括:
9.构建任务分配模型单元,用于选取仓库已经处理完毕的某一时段的所有订单,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置,将物流机器人运输货架的路径和时间代价简化为物流机器人与目标位置的曼哈顿距离,其中,目标位置是指货架和/或拣选台;以及,基于
马尔可夫决策过程,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置和大小,构建物流机器人动态任务分配模型;构建所述物流机器人动态任务分配模型采用将订单分配给拣选台、将分配给拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人的任务分配方式;
10.训练模型单元,用于采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解,使得得到的解为物流机器人分配相应的一个或多个任务、且被分配任务的所有物流机器人完成所有货架拣选的总成本最优,得到最优物流机器人动态任务分配模型;所述最优物流机器人动态任务分配模型,能够将新收到的订单分配给拣选台,将每个拣选台的订单分解成独立的任务,将每个任务分配到物流机器人,物流机器人根据为其分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将相应的货架运回原位;
11.模型运用单元,用于在仓库接收到订单并根据订单拣选货物时,采用最优物流机器人动态任务分配模型将新收到的订单分配给拣选台、将每个拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人;物流机器人将其被分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将货架运回原位。
12.上述技术方案具有如下有益效果:在物流机器人分配任务时,在一定的搜索时间范围内保证收益估计的准确度。
附图说明
13.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1是本发明实施例的一种物流机器人动态任务分配方法的流程图;
15.图2是本发明实施例的一种物流机器人动态任务分配系统的结构图;
16.图3是本发明实施例的物流机器人无人仓的“货到人”拣选示意图;
17.图4是本发明实施例的物流机器人动态模型的状态演变过程;
18.图5是本发明实施例的改进后的蒙特卡洛搜索树原理图;
19.图6是本发明实施例的采用蒙特卡洛搜索树的节点扩展图;
20.图7是本发明实施例采用的启发规则构成图;
21.图8是本发明实施例的改进的蒙特卡洛搜索树算法流程;
22.图9是本发明实施例的某电商的仓库示意图;
23.图10是针对某电商仓库设计的四组方案,采用本发明实施例的改进后的蒙特卡洛搜索树算法训练以及采用传统的蒙特卡洛搜索树算法训练形成的总出库时间对比(左图);以及机器人完成任务行走总距离对比(右图);
24.图11是图10的某电商仓库设计的四组方案,采用本发明实施例的改进后的蒙特卡洛搜索树算法训练以及采用传统的蒙特卡洛搜索树算法训练形成的平均等待时间(左图)及拣选台利用率(右图);
25.图12是本发明实施例的针对某电商仓库设计的另外四组方案,采用本发明实施例
的改进后的蒙特卡洛搜索树算法训练以及采用传统的蒙特卡洛搜索树算法训练形成的总出库时间对比(左图);以及机器人完成任务行走总距离对比(右图);
26.图13是图12的某电商仓库设计的另外四组方案,采用本发明实施例的改进后的蒙特卡洛搜索树算法训练以及采用传统的蒙特卡洛搜索树算法训练形成的平均等待时间(左图)及拣选台利用率(右图)。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.如图1所示,结合本发明的实施例,提供一种物流机器人动态任务分配方法,包括:
29.选取仓库已经处理完毕的某一时段的所有订单,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置,将物流机器人运输货架的路径和时间代价简化为物流机器人与目标位置的曼哈顿距离,其中,目标位置是指货架和/或拣选台;以及,基于马尔可夫决策过程,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置和大小,构建物流机器人动态任务分配模型;构建所述物流机器人动态任务分配模型采用将订单分配给拣选台、将分配给拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人的任务分配方式;
30.采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解,使得得到的解为物流机器人分配相应的一个或多个任务、且被分配任务的所有物流机器人完成所有货架拣选的总成本最优,得到最优物流机器人动态任务分配模型;所述最优物流机器人动态任务分配模型,能够将新收到的订单分配给拣选台,将每个拣选台的订单分解成独立的任务,将每个任务分配到物流机器人,物流机器人根据为其分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将相应的货架运回原位;
31.在仓库接收到订单并根据订单拣选货物时,采用最优物流机器人动态任务分配模型将新收到的订单分配给拣选台、将每个拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人;物流机器人将其被分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将货架运回原位。
32.优选地,所述基于马尔可夫决策过程,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置和大小,构建物流机器人动态任务分配模型,具体包括:
33.根据订单内货物所在货架、运输货架的机器人、接收货架的拣选台确定物流机器人动态任务分配模型的基本变量和决策变量,根据基本变量和决策变量构建物流机器人动态任务分配模型,所述构建物流机器人动态任务分配模型包括为拣选台设置的状态转移方程;其中,所述基本变量包括:订单集合、货架集合、拣选台集合、物流机器人集合、物流机器人完成任务的集合、拣选台任务的集合、拣选任务的时间、物流机器人完成某一任务的成本、物流机器人到货架行走的距离、物流机器人自货架到货架需要行走的距离、物流机器人
从拣选台到拣选台需要行走的距离、物流机器人从货架到拣选台需要行走的距离;所述决策变量包括:根据任务分配情况,定义某订单是否在某拣选台进行拣选的函数表达式、定义订单中的货架是否分配给某物流机器人进行拣选的函数表达式、定义某机器人所运输的某货架是否在拣选台拣选的函数表达式、定义某订单是否包括货架的函数表达式。
34.优选地,采用优化的蒙特卡洛搜索树算法所述对物流机器人动态任务分配模型进行训练求解,具体包括:
35.物流机器人动态任务分配模型包括为拣选台设置的状态转移方程:p(s
t
,a
t
,s
t 1
)=1,通过对状态转移方程进行演变,得到所有拣选台的最大化动作序列(a1,a2,...,a
n
);所述所有拣选台的最大化动作序列则为物流机器人动态任务分配模型的求解结果;其中,s1,s2,...,s
terminal
分别表示拣选台的任务分配连续状态,s
t
表示拣选台的第t个状态,s
terminal
表示拣选台的终止状态;a
t
表示拣选台的状态由s
t
转变到s
t 1
是所选的动作;a1表示拣选台1的动作序列,a2表示拣选台2的动作序列,每个拣选台的动作序列为a1,a2,...,a
n
,n就是动作次数;
36.对状态转移方程进行演变包括如下3步:
37.第1步:构建拣选台的初始状态s1和拣选台的终止状态s
terminal
的n
×
s矩阵;其中,n是指n个拣选台,s是指所有拣选台的动作序列数量;
38.第2步:将拣选台的状态由s
t
演变为s
t 1
:s
t
~s
t 1
,设定拣选台访问订单的次数阈值;当拣选台的当前状态s
t
节点访问次数n(s
t
)<p时,使用启发式规则为拣选台选择动作,将订单分配给相应的拣选台;当n(s
t
)>p时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行收益q(s
t
,a
t
)评估,根据评估结果选出动作a
t
,将订单分配给动作a
t
所对应的拣选台,状态更新完毕,更新至状态s
t 1
;其中,q表示动作a
t
的收益评估,当前状态s
t
节点是指拣选台当前的工作状态,动作是指将订单选择拣选台;优化的蒙特卡洛搜索树算法是指在传统蒙特卡洛搜索树算法节点选择中加入节点收益的幅度,以对传统蒙特卡洛搜索树算法进行优化;
39.第3步:如果拣选台演变后的状态不等于终止状态:s
t 1
≠s
terminal
,重复执行第2步直至终止状态s
terminal

40.所述物流机器人动态任务分配模型还包括为物流机器人设置的状态转移方程,所述为物流机器人设置的状态转移方程是指在拣选台每进行一次状态演变后,将任务分配给物流机器人进行任务分配的状态转移:
41.第1步:构建所有物流机器人的初始状态和所有物流机器人的终止状态的矩阵;在矩阵中包含所有机器人自初始状态到终止状态的所有状态;
42.第2步:将所有物流机器人的状态由当前状态演变为下一状态,设定物流机器人访问任务的次数阈值;当物流机器人的当前状态访问次数小于访问任务的次数阈值时,使用启发式规则为物流机器人选择动作,将任务分配给相应的物流机器人;当当前状态访问次数大于访问任务的次数阈值时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,将任务分配给动作a
t
所对应的物流机器人,状态更新完毕,更新至状态s
t 1
;其中,当前状态s
t
节点是指物流机器人当前的工作状态,动作是指将任务选择物流机器人;
43.第3步:如果物流机器人演变后的状态不等于终止状态,重复执行第2步直至终止
状态。
44.优选地,为拣选台设置的状态转移方程,在对为拣选台设置的状态转移方程进行演变时,第2步:根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,将订单分配给动作a
t
所对应的拣选台,状态更新完毕,更新至状态s
t 1
;以及,第3步:如果拣选台演变后的状态不等于终止状态:s
t 1
≠s
terminal
,重复执行第2步直至终止状态s
terminal
,具体包括:
45.将订单动态分配给拣选台的过程看作优化的蒙特卡洛搜索树算法的落子;其中,拣选台的初始状态s1作为蒙特卡洛搜索树的根节点,拣选台的终止状态s
terminal
作为优化的蒙特卡洛搜索树的目标节点,除根节点和目标节点之外的节点为叶子节点,采用优化的蒙特卡洛树算法进行搜索确定订单分配给拣选台的过程包括选择阶段、扩展阶段、模拟阶段和回溯阶段,其中:
46.选择阶段:节点选择时在优化的蒙特卡洛搜索树算法中增加对该节点的收益变化幅度约束;
47.扩展阶段:如果当前节点为优化的蒙特卡洛搜索树的叶子节点,则对蒙特卡洛搜索树进行分支扩展,扩展的原则是在该叶子节点被选择后该叶子节点模拟的动作唯一、且自动跳转到下一状态被当做扩展节点s1所选择的子节点s
21
时,其子节点为s3,可扩展节点(s
21
,s3),使得订单分配动作确定时,假如其货架分配动作唯一,则直接扩展节点至下个状态,当下个状态存在多个订单分配动作(a
31
,a
32
)时扩展停止;
48.模拟阶段:在扩展停止后,通过贪心启发规则选择叶子节点中的某个叶子节点作为当前节点之后的节点;其中,将订单分配给拣选台所采用的启发规则包括:订单相似度、剩余任务量最少、剩余任务代价最小;
49.回溯阶段:每次模拟完成后,重新更新父节点信息,同时更新各个节点的收益历次平方和信息。
50.优选地,还包括:模拟阶段将对任务货架分配给物流机器人阶段所采用的启发规则包括:最短路径时间、最长路径时间、距离最近车辆、最长空闲时间车辆。
51.优选地,所述当n(s
t
)>p时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,具体包括:
52.在对动作序列a
t
进行收益q(s
t
,a
t
)评估时,动作节点收益时以初次迭代结果为标准,之后每次迭代计算当前收益与初次迭代收益之差;当前收益与初次迭代收益之差小于等于0时,收益为初次迭代收益与当前收益之差并加上1;
53.当前收益与初次迭代收益之差大于0时,收益为0;则重新分别进行启发规则选择、节点扩展、模拟和回溯直到达到终止条件得到动作选择的最优解,所述最优解是指具有最高收益的动作序列;自最优解中选择具有最小出库时间的最优解作为最终最优解。
54.优选地,所述使得得到的解为物流机器人分配相应的一个或多个任务、且被分配任务的所有物流机器人完成所有货架拣选的总成本最优,得到最优物流机器人动态任务分配模型,具体包括:
55.每次训练得到求解结果后,均需通过性能指标评估各求解结果,根据对各求解结果的评估结果确定最优求解结果,所述最优求解结果对应的物流机器人动态任务分配模型为最优物流机器人动态任务分配模型;其中,性能指标包括:所有物流机器人完成所有订单
拣选的总时间成本、以及完成所分配任务时间最长的物流机器人所用的时间成本。
56.优选地,还包括:
57.采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解时,为每个物流机器人设置相应的任务列表,所述任务列表表示相应物流机器人的任务序列,每个任务列表中包括该物流机器人所要执行的任务、以及该物流机器人所要执行任务所对应的货架的唯一顺序。
58.如图2所示,结合本发明的实施例,提供一种物流机器人动态任务分配系统,包括:
59.构建任务分配模型单元,用于选取仓库已经处理完毕的某一时段的所有订单,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置,将物流机器人运输货架的路径和时间代价简化为物流机器人与目标位置的曼哈顿距离,其中,目标位置是指货架和/或拣选台;以及,基于马尔可夫决策过程,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置和大小,构建物流机器人动态任务分配模型;构建所述物流机器人动态任务分配模型采用将订单分配给拣选台、将分配给拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人的任务分配方式;
60.训练模型单元,用于采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解,使得得到的解为物流机器人分配相应的一个或多个任务、且被分配任务的所有物流机器人完成所有货架拣选的总成本最优,得到最优物流机器人动态任务分配模型;所述最优物流机器人动态任务分配模型,能够将新收到的订单分配给拣选台,将每个拣选台的订单分解成独立的任务,将每个任务分配到物流机器人,物流机器人根据为其分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将相应的货架运回原位;
61.模型运用单元,用于在仓库接收到订单并根据订单拣选货物时,采用最优物流机器人动态任务分配模型将新收到的订单分配给拣选台、将每个拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人;物流机器人将其被分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将货架运回原位。
62.优选地,在所述构建任务分配模型单元内,所述基于马尔可夫决策过程,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置和大小,构建物流机器人动态任务分配模型,具体用于:
63.根据订单内货物所在货架、运输货架的机器人、接收货架的拣选台确定物流机器人动态任务分配模型的基本变量和决策变量,根据基本变量和决策变量构建物流机器人动态任务分配模型,所述构建物流机器人动态任务分配模型包括为拣选台设置的状态转移方程;其中,所述基本变量包括:订单集合、货架集合、拣选台集合、物流机器人集合、物流机器人完成任务的集合、拣选台任务的集合、拣选任务的时间、物流机器人完成某一任务的成本、物流机器人到货架行走的距离、物流机器人自货架到货架需要行走的距离、物流机器人从拣选台到拣选台需要行走的距离、物流机器人从货架到拣选台需要行走的距离;所述决策变量包括:根据任务分配情况,定义某订单是否在某拣选台进行拣选的函数表达式、定义订单中的货架是否分配给某物流机器人进行拣选的函数表达式、定义某机器人所运输的某货架是否在拣选台拣选的函数表达式、定义某订单是否包括货架的函数表达式。
64.优选地,所述训练模型单元具体用于:
65.物流机器人动态任务分配模型包括为拣选台设置的状态转移方程:p(s
t
,a
t
,s
t 1
)=1,通过对状态转移方程进行演变,得到所有拣选台的最大化动作序列(a1,a2,...,a
n
);所述所有拣选台的最大化动作序列则为物流机器人动态任务分配模型的求解结果;其中,s1,s2,...,s
terminal
分别表示拣选台的任务分配连续状态,s
t
表示拣选台的第t个状态,s
terminal
表示拣选台的终止状态;a
t
表示拣选台的状态由s
t
转变到s
t 1
是所选的动作;a1表示拣选台1的动作序列,a2表示拣选台2的动作序列,每个拣选台的动作序列为a1,a2,...,a
n
,n就是动作次数;
66.对状态转移方程进行演变包括如下3步:
67.第1步:构建拣选台的初始状态s1和拣选台的终止状态s
terminal
的n
×
s矩阵;其中,n是指n个拣选台,s是指所有拣选台的动作序列数量;
68.第2步:将拣选台的状态由s
t
演变为s
t 1
:s
t
~s
t 1
,设定拣选台访问订单的次数阈值;当拣选台的当前状态s
t
节点访问次数n(s
t
)<p时,使用启发式规则为拣选台选择动作,将订单分配给相应的拣选台;当n(s
t
)>p时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行收益q(s
t
,a
t
)评估,根据评估结果选出动作a
t
,将订单分配给动作a
t
所对应的拣选台,状态更新完毕,更新至状态s
t 1
;其中,q表示动作a
t
的收益评估,当前状态s
t
节点是指拣选台当前的工作状态,动作是指将订单选择拣选台;优化的蒙特卡洛搜索树算法是指在传统蒙特卡洛搜索树算法节点选择中加入节点收益的幅度,以对传统蒙特卡洛搜索树算法进行优化;
69.第3步:如果拣选台演变后的状态不等于终止状态:s
t 1
≠s
terminal
,重复执行第2步直至终止状态s
terminal

70.所述物流机器人动态任务分配模型还包括为物流机器人设置的状态转移方程,所述为物流机器人设置的状态转移方程是指在拣选台每进行一次状态演变后,将任务分配给物流机器人进行任务分配的状态转移:
71.第1步:构建所有物流机器人的初始状态和所有物流机器人的终止状态的矩阵;在矩阵中包含所有机器人自初始状态到终止状态的所有状态;
72.第2步:将所有物流机器人的状态由当前状态演变为下一状态,设定物流机器人访问任务的次数阈值;当物流机器人的当前状态访问次数小于访问任务的次数阈值时,使用启发式规则为物流机器人选择动作,将任务分配给相应的物流机器人;当当前状态访问次数大于访问任务的次数阈值时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,将任务分配给动作a
t
所对应的物流机器人,状态更新完毕,更新至状态s
t 1
;其中,当前状态s
t
节点是指物流机器人当前的工作状态,动作是指将任务选择物流机器人;
73.第3步:如果物流机器人演变后的状态不等于终止状态,重复执行第2步直至终止状态。
74.优选地,为拣选台设置的状态转移方程,在对为拣选台设置的状态转移方程进行演变时,第2步:根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,将订单分配给动作a
t
所对应的拣选台,状态更新完毕,更新至状态s
t 1
;以及,第3步:如果拣选台演变后的状态不等于终止状态:s
t 1
≠s
terminal
,重复执行第2步直至终止状态
s
terminal
,具体包括:
75.将订单动态分配给拣选台的过程看作优化的蒙特卡洛搜索树算法的落子;其中,拣选台的初始状态s1作为蒙特卡洛搜索树的根节点,拣选台的终止状态s
terminal
作为优化的蒙特卡洛搜索树的目标节点,除根节点和目标节点之外的节点为叶子节点,采用优化的蒙特卡洛树算法进行搜索确定订单分配给拣选台的过程包括选择阶段、扩展阶段、模拟阶段和回溯阶段,其中:
76.选择阶段:节点选择时在优化的蒙特卡洛搜索树算法中增加对该节点的收益变化幅度约束;
77.扩展阶段:如果当前节点为优化的蒙特卡洛搜索树的叶子节点,则对蒙特卡洛搜索树进行分支扩展,扩展的原则是在该叶子节点被选择后该叶子节点模拟的动作唯一、且自动跳转到下一状态被当做扩展节点s1所选择的子节点s
21
时,其子节点为s3,可扩展节点(s
21
,s3),使得订单分配动作确定时,假如其货架分配动作唯一,则直接扩展节点至下个状态,当下个状态存在多个订单分配动作(a
31
,a
32
)时扩展停止;
78.模拟阶段:在扩展停止后,通过贪心启发规则选择叶子节点中的某个叶子节点作为当前节点之后的节点;其中,将订单分配给拣选台所采用的启发规则包括:订单相似度、剩余任务量最少、剩余任务代价最小;
79.回溯阶段:每次模拟完成后,重新更新父节点信息,同时更新各个节点的收益历次平方和信息。
80.优选地,还包括:模拟阶段将对任务货架分配给物流机器人阶段所采用的启发规则包括:最短路径时间、最长路径时间、距离最近车辆、最长空闲时间车辆。
81.优选地,所述当n(s
t
)>p时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,具体包括:
82.在对动作序列a
t
进行收益q(s
t
,a
t
)评估时,动作节点收益时以初次迭代结果为标准,之后每次迭代计算当前收益与初次迭代收益之差;当前收益与初次迭代收益之差小于等于0时,收益为初次迭代收益与当前收益之差并加上1;
83.当前收益与初次迭代收益之差大于0时,收益为0;则重新分别进行启发规则选择、节点扩展、模拟和回溯直到达到终止条件得到动作选择的最优解,所述最优解是指具有最高收益的动作序列;自最优解中选择具有最小出库时间的最优解作为最终最优解。
84.优选地,所述使得得到的解为物流机器人分配相应的一个或多个任务、且被分配任务的所有物流机器人完成所有货架拣选的总成本最优,得到最优物流机器人动态任务分配模型,具体包括:
85.每次训练得到求解结果后,均需通过性能指标评估各求解结果,根据对各求解结果的评估结果确定最优求解结果,所述最优求解结果对应的物流机器人动态任务分配模型为最优物流机器人动态任务分配模型;其中,性能指标包括:所有物流机器人完成所有订单拣选的总时间成本、以及完成所分配任务时间最长的物流机器人所用的时间成本。
86.优选地,还包括:
87.采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解时,为每个物流机器人设置相应的任务列表,所述任务列表表示相应物流机器人的任务序列,每个任务列表中包括该物流机器人所要执行的任务、以及该物流机器人所要执行任务
所对应的货架的唯一顺序。
88.下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
89.本发明为基于改进蒙特卡洛搜索树的动态任务分配,针对物流机器人任务分配系统的多机器人和动态性导致的复杂性使搜索空间巨大的问题,且传统的蒙特卡洛搜索树算法在一定的搜索时间范围内不能保证收益估计的准确度,并且在搜索过程中没有考虑收益变化的幅度对节点选择的影响,本发明对传统的蒙特卡洛搜索树算法进行优化改进,研究针对收益估计和收益变化的幅度的蒙特卡洛搜索树算法,优化改进的蒙特卡洛搜索树算法能够对系统状态进行评估,反复模拟任务分配结果,模拟完成后汇总结果输出,从而达到基于改进的蒙特卡洛搜索树算法的动态任务分配。首先,构建了物流机器人动态任务分配模型;然后,根据马尔可夫决策过程建立状态转移的动态模型,运用启发规则和考虑收益变化的节点选择方法对蒙特卡洛搜索树算法进行优化;最后,通过对比实验验证改进蒙特卡洛搜索树算法的有效性。在验证有效性之后用于街道订单后根据订单拣选货物时对物流机器人进行动态任务分配。
90.1.1物流机器人动态任务分配模型构建
91.物流机器人动态任务分配(logistics robots dynamic task assignment,lrdta)是解决无人仓库中利用agv小车(物流机器人)进行“货到人”模式订单拣选的动态调度问题。动态调度问题的动态性指的是两个方面:第一,新的任务会在物流机器人执行任务的过程中动态产生,需要分配新任务;第二,物流机器人的移动可能会影响其他物流机器人的路径规划,需要避开其他机器人,各机器人之间不相撞。
92.在订单到达系统后:首先,使用智能算法将订单分配给拣选台;其次,将订单中需要的货架分配给物流机器人,根据物流机器人分配货架的位置信息进行路径规划,使得物流机器人从当前位置移动到目标位置搬运货架;之后,将货架运输到指定的拣选台,在拣选完成后将货架运回原位;最后,物流机器人从当前位置移动到目标货架位置,依次循环直至到达终止状态,即所有订单都已拣选完成。无人仓“货到人”拣选系统的示意图如图3所示:
93.lrdta描述为:n个订单经由p个拣选台进行拣选打包,仓库内有m个物流机器人将订单所需要的货物所在的货架搬运到所有需要该货架货物的拣选台前,并将货架搬回原位置,直至所有订单拣选完成。调度过程满足以下约束条件:
94.(1)任务分配时,订单i只能在一个拣选台上进行拣选,且每个拣选台在同一时刻只能处理p个订单。
95.(2)任务分配时,物流机器人j同一时刻只能搬运一台货架,并在拣选完成后需要将货架送回其原始位置。
96.(3)允许物流机器人在到达拣选台前等待。
97.1.1.1变量说明
98.1.基本变量
99.o为订单集合,o1,...,o
n
;o={s1,...,s
n
};其中,o1,...,o
n
分别表示第1个

n个订单,s1,...,s
n
表示某订单包括第1个

n个货架;
100.s为货架集合,s1,...,s
n
;表示所有订单中的货架集合;
101.p为拣选台集合,p1,..,p
l
;表示l个拣选台;
102.r为agv机器人集合,r1,...,r
m
;r1,...,r
m
分别表示第1个

m个agv机器人;
103.s
r
为agv机器人完成任务的集合,为agv机器人完成任务的集合,分别表示第r1个、r2个

r
m
个agv机器人各自完成的任务;
104.o
p
为拣选台的任务集合,
105.t
pick
为拣选任务的时间;
106.为agv机器人i完成任务j的成本;
107.c1为机器人空载成本系数;
108.c2为机器人负载成本系数;
109.为agv机器人i到货架j需要行走的距离,其中,x表示x方向,y表示y方向,且x方向、y方向互相垂直;
110.为agv机器人从货架i到货架j需要行走的距离,其中,x表示x方向,y表示y方向,且x方向、y方向互相垂直;
111.为agv机器人从拣选台i到拣选台j需要行走的距离,为agv机器人从拣选台i到拣选台j需要行走的距离,其中,x表示x方向,y表示y方向,且x方向、y方向互相垂直;
112.为agv机器人从货架i到拣选台j需要行走的距离,为agv机器人从货架i到拣选台j需要行走的距离,其中,x表示x方向,y表示y方向,且x方向、y方向互相垂直。
113.2.决策变量
114.为如果订单o
i
在拣选台p
j
进行拣选,则否则
115.为如果货架s
j
的运送操作任务分配给agv机器人r
i
,否则
116.为如果agv机器人i所搬运的货架j在拣选台s进行拣选,则否则
117.为如果订单包含货架,则否则
118.其中,在上述各种变量中以及后面所涉及的变量中,表示某机器人的下标符号、表示某货架的下标符号、表示某任务的下标符号、表示某拣选台的下标符号均处于各自总数量范围内。
119.1.1.2模型建立
120.为实现agv机器人任务量负载均衡,计算机器人被分配的两个相邻任务s
j
‑1和s
j
之间的相关性:若两个任务服务于同一个拣选台,则否则
121.因此agv机器人完成任务的成本分为以下两种情况:
[0122][0123]
[0124]
每个agv机器人维护一个任务的列表每个agv机器人维护一个任务的列表中有j个任务,则表示任务序列,且agv机器人搬运货架的顺序唯一。因此单个agv机器人完成所分配任务的执行成本为:
[0125][0126]
其中,ic为等待成本,当agv机器人到达拣选台时,若前面有其他agv机器人还有货物等待拣选,则agv机器人需要等待。
[0127][0128]
拣选台p完成已分配任务o
p
的拣选成本为:
[0129][0130]
此外,定义两个性能指标stc、tt。stc表示lrdta中所有agv机器人完成所有订单拣选的总成本,即订单拣选的总时间;tt表示所有agv机器人中,完成所分配任务成本最高的agv机器人的成本,即完成所有拣选的时间。
[0131][0132][0133]
以lrdta(任务分配)总出库时间最短为目标函数,即min最短stc和min最短tt,且约束条件为:
[0134][0135][0136][0137][0138][0139]
[0140]
其中,式(1

8)用来约束一个任务只被分配到一个拣选台上,式(1

9)确保一个任务只分配给一个机器人,式(1

10)指一个任务只在一个货架上,式(1

11)、式(1

12)和式(1

13)为随机变量取值约束。
[0141]
1.2改进蒙特卡洛搜索树算法
[0142]
传统的蒙特卡洛搜索树算法在相对有限的搜索时间内不能保证对价值估计的准确度,并且在搜索的过程中没有考虑收益变化的幅度对选择策略的影响。针对以上问题,基于蒙特卡洛搜索树算法求解物流机器人动态任务分配问题,其思路是将订单动态分配的过程看作落子的过程,将分配过程分为两个阶段,首先根据订单的相关性将订单分配给拣选台,每个拣选台被分配一个或者多个订单;然后将订单中的任务分解,每个任务包含一个货架,将任务分配给物流机器人,每个物流机器人被分配一个或多个任务。
[0143]
1.2.1任务分配动态模型
[0144]
本节基于mdp(马尔可夫决策过程)构建lrdta动态模型,设状态转移方程p(s
t
,a
t
,s
t 1
)=1,以s1,s2,...,s
terminal
描述任务分配连续状态,状态演变过程中动作序列为a1,a2,...,a
n
,目标是求解最大化动作序列(a1,a2,...,a
n
)。如图4所示,动态模型的演变分为3步:
[0145]
第1步 构建拣选台的初始状态s1和拣选台的终止状态s
terminal
的n
×
s矩阵;
[0146]
第2步 进行状态演变s
t
~s
t 1
,当前状态s
t
节点访问次数n(s
t
)<p时,使用启发式规则选择动作;当n(s
t
)>p时,根据改进蒙特卡洛搜索树算法的选择策略(公式1

16,按照大的数选)对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,然后更新至状态s
t 1

[0147]
第3步 如果s
t 1
≠s
terminal
,执行第2步直至环境终止状态s
terminal

[0148]
1.2.2改进蒙特卡洛搜索树算法求解过程
[0149]
蒙特卡洛搜索树算法存在搜索过程中收益估计准确度和没有考虑收益变化的幅度进行节点选择的问题,建立搜索树,以初始状态为根节点,终止状态为目标节点,搜索的过程分为选择、扩展、模拟和回溯4个阶段,如图5所示。
[0150]
1.选择
[0151]
在本阶段进行节点选择。在传统的蒙特卡洛搜索树算法中,在进行选择时往往只考虑访问次数,没有考虑收益变化的幅度,而在求解动态任务分配时,寻找的最优动作是收益更高的动作。因此,提出了一种考虑收益的节点选择方法。
[0152]
传统蒙特卡洛搜索树算法节点选择根据采用置信区间上界算法(upper confidence bounds applied to trees,uct):
[0153][0154]
其中,n(v
i
)表示节点被访问的次数,v
i
表示以节点为根节点的模拟结果的平均值,为参数,用以平衡搜索的深度优先与广度优先。
[0155]
本节将收益变化幅度作为第3项加入到节点选择中:
[0156]
[0157]
其中,n(s)表示节点被访问的次数,n(s,a)表示状态s时执行分配动作a的次数,q(s,a)表示节点s处选择动作a的结果平均值,即收益。∑q2(s,a)中表示搜索树中全部节点在模拟过程中的结果平均值的平方之和,是本小节加入的考虑节点收益的选择策略,能够在搜索时以合理的模拟次数扩展分支,一定程度上增加了收益估计的准确度。常量d的作用是避免选择频率不高的动作被忽略。
[0158]
当s节点存在多个分支时,需要对节点的子树进行剪枝,为节点的收益设定区间[q
l
,q
r
],,q
r
:q
l
(s,a1)=q(s,a1)

r
d
·
σ1·
q
r
(s,a1)=q(s,a1) r
d
·
σ1,其中,σ1和σ2是标准差,r
d
=1.1。当q
l
(s2,a1)>q
r
(s2,a2)时,剪掉a2所在的分支。然后再通过公式(1

15)估算q(s,a),并选择最大值:
[0159][0160]
2.扩展
[0161]
如果当前节点为搜索树叶子节点,要对搜索树进行分支扩展,lrdta在动态运行路径规划结果中,选择后该节点模拟的动作唯一,并且环境自动跳转到下一状态当扩展节点s1选择子节点s
21
时,其子节点为s3,可扩展节点(s
21
,s3),即在订单分配动作确定时,假如其货架分配动作唯一,则直接扩展节点至下个状态,当下个状态存在多个订单分配动作(a
31
,a
32
)时扩展停止,如图6所示。
[0162]
3.模拟
[0163]
在模拟阶段,任务分配被分为订单分配和货架分配两个阶段,分别对这两个阶段建立贪心启发规则,对订单分配阶段,取订单相似度(order similarity,os)、剩余任务量最少(minimum request queue,mrq)、剩余任务代价最小(minimum cost of request queue,mcrq)3种规则作为启发规则。
[0164]
订单相似度计算方式如下:
[0165][0166]
对货架分配阶段,取最短路径时间(shortest traveling time,stt)、最长路径时间(longest traveling time,ltt)、距离最近车辆(nearest vehicle,nv),最长空闲时间车辆(longest idle vehicle,liv)4种规则作为启发规则。启发规则的构成如图7所示。
[0167]
4.回溯
[0168]
模拟完成后,需要重新更新父节点信息,同时更新各个节点的收益历次平方和信息:
[0169]
∑q2(s,a)=∑q2(s,a) z2ꢀꢀ
式(1

18)
[0170]
其中z表示此次搜索到根节点所得收益。
[0171]
应用改进蒙特卡洛搜索树算法解决lrdta问题,计算收益的思路需要以初次迭代结果为标准,之后每次迭代计算t
n

t1。如果t
n

t1≤0,收益为t1‑
t
n
1,反之收益为0。之后需要分别进行策略选择、节点扩展、模拟和回溯直到达到终止条件选择最优解。以求解最小出库时间为优化目标,因此,最高收益的动作序列为最终最优解。
[0172]
根据本节提出的改进的蒙特卡洛搜索树算法和lrdta动态模型,算法流程如图8所示,根节点通过选择、扩展、模拟的步骤进行状态演变至终止节点s
terminal
,选择策略平衡了
深度搜索与广度搜索并考虑节点平均收益,目标是最大化收益。因此改进蒙特卡洛搜索树算法优化最大化收益和平均收益。
[0173]
1.3实验设计与结果分析
[0174]
为了更好地验证本章提出的蒙特卡洛搜索树算法的有效性,本节实验根据某电商公司的仓库数据和订单数据进行实验。对蒙特卡洛搜索树算法和改进前的算法针对不同应用场景下的效果进行对比实验并分析实验结果。
[0175]
1.3.1实验设计
[0176]
本节实验根据某电商公司的仓库数据和订单数据进行,仓库数据包含货架、货格、拣选台的位置及大小。根据仓库数据,仓库中包含13个拣选台,4行货架(其中每行货架有25对货架,共200个货架)。仓库示意如图9如下。
[0177]
为验证动态任务分配的效果,本文假设两个个基本条件:第一,物流机器人搬运货架的路径和时间代价被简化为物流机器人与目标位置(货架或拣选台)的曼哈顿距离;第二,新任务在机器人执行任务的过程中动态生成。
[0178]
订单集合为o1,...,o
n
;o={o1,...,o
n
};o={s1,...,s
n
},一批订单的集合包含n个订单,每个订单包含n个货架。机器人的集合表示为r1,...,r
m
,货架的集合可以表示为s1,...,s
n
,拣选台的集合表示为p1,..,p
l
。和分别表示机器人、货架和拣选台的坐标。此外,本文假设机器人系统由订单分配机器人、货架分配机器人和agv机器人组成。在多机器人系统中,机器人之间的通信是必不可少的。在实验中,假设agv机器人之间不进行通信,货架分配机器人和agv机器人之间点对点通信。机器人的功能与数量如表1所示:
[0179]
表1机器人功能与数量
[0180][0181][0182]
根据本章实验的仓库数据,货架和拣选台的坐标已知,且保持不变,因此机器人在完成拣选后需要将货架送回原位。如表2所示,给出其中20个货架和5个拣选台的坐标。
[0183]
表2货架和拣选台的坐标
[0184][0185]
实验数据中的订单共685个,订单包含了货物信息与货物所在的货架编号,每个订单包含若干个货架,此处给出其中10个订单的列表,如表3所示:
[0186]
表3订单列表
[0187][0188]
机器人的数量增加会导致机器人成本的增加,而拣选台数量的增加会导致人工成本的增加。为了验证本章提出算法的效果,并且在机器人成本和人工成本之间找到平衡,本节构建了8个实验方案,实验方案的设计如表4所示。
[0189]
表4实验方案
[0190][0191][0192]
1.3.2实验结果与分析
[0193]
为验证改进蒙特卡洛搜索树算法的性能,在windows10操作系统上,基于python语言进行实验。pc机配置为intel(r)core(tm)i7

8750h cpu@2.20ghz,16g内存,且本文所有实验均采用此硬件设置。实验中,设机器人平均行进速度为1m/s,将传统的蒙特卡洛搜索树算法与改进蒙特卡洛搜索树算法进行比较。
[0194]
本章分别比较算法在总出库时间、完成所有任务的总距离、机器人等待时间、拣选台利用率和搜索时间与任务完成率4个指标上的表现。其中,总出库时间指的是从第一个订单到达系统到最后一个订单出库所需的时间,单位为秒;完成所有任务的总距离指的是机器人完成所有任务需要行走的距离之和,单位为米;机器人等待时间指的是机器人到达拣选台前排队等待的时间,单位为秒;拣选台利用率指的是拣选台的拣选时间占总出库时间的比率;完成任务时间与任务完成率指的是算法搜索结果所需的时间与任务完成率的关系。
[0195]
将8个方案的实验结果分为两组进行分析,方案一到方案四为拣选台数量不变,机器人数量分别为5、10、15、20;方案五到方案八为机器人数量不变,拣选台数量分别为2、4、6、8。
[0196]
1.机器人数量变化
[0197]
第一组实验结果如图10、图11所示。从实验结果可以看出,改进后的算法相比于蒙特卡洛搜索树算法性能有所提升。当机器人数量增加时,总出库时间明显减少,这是因为机器人的平均等待时间更少,因此拣选台利用率也因此增加,订单完成率能够更快地达到100%。同时,机器人完成任务所需的总距离不受机器人数量的影响,这是因为订单的数据都相同,机器人完成任务所需行走的距离相对固定。虽然机器人数量越多,订单的总出库时间越短,但是当机器人数量达到15个后,总出库时间的下降趋势有所减缓,因此方案五到方案八选取15个机器人针对不同拣选台数量进行实验。
[0198]
2.拣选台数量变化
[0199]
第二组实验结果如图12、图13所示。从实验结果可以看出,改进后的算法相比蒙特卡洛搜索树算法性能有所提升。当机器人数量不变而拣选台数量增加时,总出库时间相对变化较小,这说明机器人数量的变化相对于拣选台数量变化对总出库时间影响更大。拣选台数量增加时,机器人的平均等待时间更短,这是因为任务分配到了更多的拣选台,机器人到达拣选台后排队的情况有所改善。
[0200]
综合以上两组实验结果可以得出结论,改进后的算法即改进的蒙特卡洛搜索树算法能够对动态任务分配进行求解,并且在不同的机器人数量和不同拣选台数量的情况下,表现均优于改进前的算法,鲁棒性更强。
[0201]
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
[0202]
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
[0203]
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。
因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
[0204]
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
[0205]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种物流机器人动态任务分配方法,其特征在于,包括:选取仓库已经处理完毕的某一时段的所有订单,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置,将物流机器人运输货架的路径和时间代价简化为物流机器人与目标位置的曼哈顿距离,其中,目标位置是指货架和/或拣选台;以及,基于马尔可夫决策过程,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置和大小,构建物流机器人动态任务分配模型;构建所述物流机器人动态任务分配模型采用将订单分配给拣选台、将分配给拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人的任务分配方式;采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解,使得得到的解为物流机器人分配相应的一个或多个任务、且被分配任务的所有物流机器人完成所有货架拣选的总成本最优,得到最优物流机器人动态任务分配模型;所述最优物流机器人动态任务分配模型,能够将新收到的订单分配给拣选台,将每个拣选台的订单分解成独立的任务,将每个任务分配到物流机器人,物流机器人根据为其分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将相应的货架运回原位;在仓库接收到订单并根据订单拣选货物时,采用最优物流机器人动态任务分配模型将新收到的订单分配给拣选台、将每个拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人;物流机器人将其被分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将货架运回原位。2.根据权利要求1所述的物流机器人动态任务分配方法,其特征在于,所述基于马尔可夫决策过程,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置和大小,构建物流机器人动态任务分配模型,具体包括:根据订单内货物所在货架、运输货架的机器人、接收货架的拣选台确定物流机器人动态任务分配模型的基本变量和决策变量,根据基本变量和决策变量构建物流机器人动态任务分配模型,所述构建物流机器人动态任务分配模型包括为拣选台设置的状态转移方程;其中,所述基本变量包括:订单集合、货架集合、拣选台集合、物流机器人集合、物流机器人完成任务的集合、拣选台任务的集合、拣选任务的时间、物流机器人完成某一任务的成本、物流机器人到货架行走的距离、物流机器人自货架到货架需要行走的距离、物流机器人从拣选台到拣选台需要行走的距离、物流机器人从货架到拣选台需要行走的距离;所述决策变量包括:根据任务分配情况,定义某订单是否在某拣选台进行拣选的函数表达式、定义订单中的货架是否分配给某物流机器人进行拣选的函数表达式、定义某机器人所运输的某货架是否在拣选台拣选的函数表达式、定义某订单是否包括货架的函数表达式。3.根据权利要求2所述的物流机器人动态任务分配方法,其特征在于,采用优化的蒙特卡洛搜索树算法所述对物流机器人动态任务分配模型进行训练求解,具体包括:物流机器人动态任务分配模型包括为拣选台设置的状态转移方程:p(s
t
,a
t
,s
t 1
)=1,通过对状态转移方程进行演变,得到所有拣选台的最大化动作序列(a1,a2,...,a
n
);所述所有拣选台的最大化动作序列则为物流机器人动态任务分配模型的求解结果;其中,s1,s2,...,s
terminal
分别表示拣选台的任务分配连续状态,s
t
表示拣选台的第t个状态,s
terminal
表示拣选台的终止状态;a
t
表示拣选台的状态由s
t
转变到s
t 1
是所选的动作;a1表示拣选台1的动作序列,a2表示拣选台2的动作序列,每个拣选台的动作序列为a1,a2,...,a
n
,n就是动作次数;对状态转移方程进行演变包括如下3步:第1步:构建拣选台的初始状态s1和拣选台的终止状态s
terminal
的n
×
s矩阵;其中,n是指n个拣选台,s是指所有拣选台的动作序列数量;第2步:将拣选台的状态由s
t
演变为s
t 1
:s
t
~s
t 1
,设定拣选台访问订单的次数阈值;当拣选台的当前状态s
t
节点访问次数n(s
t
)<p时,使用启发式规则为拣选台选择动作,将订单分配给相应的拣选台;当n(s
t
)>p时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行收益q(s
t
,a
t
)评估,根据评估结果选出动作a
t
,将订单分配给动作a
t
所对应的拣选台,状态更新完毕,更新至状态s
t 1
;其中,q表示动作a
t
的收益评估,当前状态s
t
节点是指拣选台当前的工作状态,动作是指将订单选择拣选台;优化的蒙特卡洛搜索树算法是指在传统蒙特卡洛搜索树算法节点选择中加入节点收益的幅度,以对传统蒙特卡洛搜索树算法进行优化;第3步:如果拣选台演变后的状态不等于终止状态:s
t 1
≠s
terminal
,重复执行第2步直至终止状态s
terminal
;所述物流机器人动态任务分配模型还包括为物流机器人设置的状态转移方程,所述为物流机器人设置的状态转移方程是指在拣选台每进行一次状态演变后,将任务分配给物流机器人进行任务分配的状态转移:第1步:构建所有物流机器人的初始状态和所有物流机器人的终止状态的矩阵;在矩阵中包含所有机器人自初始状态到终止状态的所有状态;第2步:将所有物流机器人的状态由当前状态演变为下一状态,设定物流机器人访问任务的次数阈值;当物流机器人的当前状态访问次数小于访问任务的次数阈值时,使用启发式规则为物流机器人选择动作,将任务分配给相应的物流机器人;当当前状态访问次数大于访问任务的次数阈值时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,将任务分配给动作a
t
所对应的物流机器人,状态更新完毕,更新至状态s
t 1
;其中,当前状态s
t
节点是指物流机器人当前的工作状态,动作是指将任务选择物流机器人;第3步:如果物流机器人演变后的状态不等于终止状态,重复执行第2步直至终止状态。4.根据权利要求3所述的物流机器人动态任务分配方法,其特征在于,为拣选台设置的状态转移方程,在对为拣选台设置的状态转移方程进行演变时,第2步:根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,将订单分配给动作a
t
所对应的拣选台,状态更新完毕,更新至状态s
t 1
;以及,第3步:如果拣选台演变后的状态不等于终止状态:s
t 1
≠s
terminal
,重复执行第2步直至终止状态s
terminal
,具体包括:将订单动态分配给拣选台的过程看作优化的蒙特卡洛搜索树算法的落子;其中,拣选台的初始状态s1作为蒙特卡洛搜索树的根节点,拣选台的终止状态s
terminal
作为优化的蒙特卡洛搜索树的目标节点,除根节点和目标节点之外的节点为叶子节点,采用优化的蒙特卡洛树算法进行搜索确定订单分配给拣选台的过程包括选择阶段、扩展阶段、模拟阶段和回溯阶段,其中:选择阶段:节点选择时在优化的蒙特卡洛搜索树算法中增加对该节点的收益变化幅度
约束;扩展阶段:如果当前节点为优化的蒙特卡洛搜索树的叶子节点,则对蒙特卡洛搜索树进行分支扩展,扩展的原则是在该叶子节点被选择后该叶子节点模拟的动作唯一、且自动跳转到下一状态被当做扩展节点s1所选择的子节点s
21
时,其子节点为s3,可扩展节点(s
21
,s3),使得订单分配动作确定时,假如其货架分配动作唯一,则直接扩展节点至下个状态,当下个状态存在多个订单分配动作(a
31
,a
32
)时扩展停止;模拟阶段:在扩展停止后,通过贪心启发规则选择叶子节点中的某个叶子节点作为当前节点之后的节点;其中,将订单分配给拣选台所采用的启发规则包括:订单相似度、剩余任务量最少、剩余任务代价最小;回溯阶段:每次模拟完成后,重新更新父节点信息,同时更新各个节点的收益历次平方和信息。5.据权利要求4所述的物流机器人动态任务分配方法,其特征在于,还包括:模拟阶段将对任务货架分配给物流机器人阶段所采用的启发规则包括:最短路径时间、最长路径时间、距离最近车辆、最长空闲时间车辆。6.根据权利要求4所述的物流机器人动态任务分配方法,其特征在于,所述当n(s
t
)>p时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,具体包括:在对动作序列a
t
进行收益q(s
t
,a
t
)评估时,动作节点收益时以初次迭代结果为标准,之后每次迭代计算当前收益与初次迭代收益之差;当前收益与初次迭代收益之差小于等于0时,收益为初次迭代收益与当前收益之差并加上1;当前收益与初次迭代收益之差大于0时,收益为0;则重新分别进行启发规则选择、节点扩展、模拟和回溯直到达到终止条件得到动作选择的最优解,所述最优解是指具有最高收益的动作序列;自最优解中选择具有最小出库时间的最优解作为最终最优解。7.根据权利要求3所述的物流机器人动态任务分配方法,其特征在于,所述使得得到的解为物流机器人分配相应的一个或多个任务、且被分配任务的所有物流机器人完成所有货架拣选的总成本最优,得到最优物流机器人动态任务分配模型,具体包括:每次训练得到求解结果后,均需通过性能指标评估各求解结果,根据对各求解结果的评估结果确定最优求解结果,所述最优求解结果对应的物流机器人动态任务分配模型为最优物流机器人动态任务分配模型;其中,性能指标包括:所有物流机器人完成所有订单拣选的总时间成本、以及完成所分配任务时间最长的物流机器人所用的时间成本。8.根据权利要求1所述的物流机器人动态任务分配方法,其特征在于,还包括:采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解时,为每个物流机器人设置相应的任务列表,所述任务列表表示相应物流机器人的任务序列,每个任务列表中包括该物流机器人所要执行的任务、以及该物流机器人所要执行任务所对应的货架的唯一顺序。9.一种物流机器人动态任务分配系统,其特征在于,包括:构建任务分配模型单元,用于选取仓库已经处理完毕的某一时段的所有订单,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置,将物流机器人运输货架的路径和时间代价简化为
物流机器人与目标位置的曼哈顿距离,其中,目标位置是指货架和/或拣选台;以及,基于马尔可夫决策过程,根据订单数量,订单内各任务所对应的货架,货架所在的货格的位置,运输货架的物流机器人数量、速度,接收货架的拣选台数量、位置和大小,构建物流机器人动态任务分配模型;构建所述物流机器人动态任务分配模型采用将订单分配给拣选台、将分配给拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人的任务分配方式;训练模型单元,用于采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解,使得得到的解为物流机器人分配相应的一个或多个任务、且被分配任务的所有物流机器人完成所有货架拣选的总成本最优,得到最优物流机器人动态任务分配模型;所述最优物流机器人动态任务分配模型,能够将新收到的订单分配给拣选台,将每个拣选台的订单分解成独立的任务,将每个任务分配到物流机器人,物流机器人根据为其分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将相应的货架运回原位;模型运用单元,用于在仓库接收到订单并根据订单拣选货物时,采用最优物流机器人动态任务分配模型将新收到的订单分配给拣选台、将每个拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人;物流机器人将其被分配的任务所对应的货架运输到拣选台,在拣选台拣选完成后将货架运回原位。10.根据权利要求9所述的物流机器人动态任务分配系统,其特征在于,所述训练模型单元具体用于:物流机器人动态任务分配模型包括为拣选台设置的状态转移方程:p(s
t
,a
t
,s
t 1
)=1,通过对状态转移方程进行演变,得到所有拣选台的最大化动作序列(a1,a2,...,a
n
);所述所有拣选台的最大化动作序列则为物流机器人动态任务分配模型的求解结果;其中,s1,s2,...,s
terminal
分别表示拣选台的任务分配连续状态,s
t
表示拣选台的第t个状态,s
terminal
表示拣选台的终止状态;a
t
表示拣选台的状态由s
t
转变到s
t 1
是所选的动作;a1表示拣选台1的动作序列,a2表示拣选台2的动作序列,每个拣选台的动作序列为a1,a2,...,a
n
,n就是动作次数;对状态转移方程进行演变包括如下3步:第1步:构建拣选台的初始状态s1和拣选台的终止状态s
terminal
的n
×
s矩阵;其中,n是指n个拣选台,s是指所有拣选台的动作序列数量;第2步:将拣选台的状态由s
t
演变为s
t 1
:s
t
~s
t 1
,设定拣选台访问订单的次数阈值;当拣选台的当前状态s
t
节点访问次数n(s
t
)<p时,使用启发式规则为拣选台选择动作,将订单分配给相应的拣选台;当n(s
t
)>p时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行收益q(s
t
,a
t
)评估,根据评估结果选出动作a
t
,将订单分配给动作a
t
所对应的拣选台,状态更新完毕,更新至状态s
t 1
;其中,q表示动作a
t
的收益评估,当前状态s
t
节点是指拣选台当前的工作状态,动作是指将订单选择拣选台;优化的蒙特卡洛搜索树算法是指在传统蒙特卡洛搜索树算法节点选择中加入节点收益的幅度,以对传统蒙特卡洛搜索树算法进行优化;第3步:如果拣选台演变后的状态不等于终止状态:s
t 1
≠s
terminal
,重复执行第2步直至终止状态s
terminal
;所述物流机器人动态任务分配模型还包括为物流机器人设置的状态转移方程,所述为物流机器人设置的状态转移方程是指在拣选台每进行一次状态演变后,将任务分配给物流机器人进行任务分配的状态转移:
第1步:构建所有物流机器人的初始状态和所有物流机器人的终止状态的矩阵;在矩阵中包含所有机器人自初始状态到终止状态的所有状态;第2步:将所有物流机器人的状态由当前状态演变为下一状态,设定物流机器人访问任务的次数阈值;当物流机器人的当前状态访问次数小于访问任务的次数阈值时,使用启发式规则为物流机器人选择动作,将任务分配给相应的物流机器人;当当前状态访问次数大于访问任务的次数阈值时,根据优化的蒙特卡洛搜索树算法对动作序列a
t
进行评估q(s
t
,a
t
),选出动作a
t
,将任务分配给动作a
t
所对应的物流机器人,状态更新完毕,更新至状态s
t 1
;其中,当前状态s
t
节点是指物流机器人当前的工作状态,动作是指将任务选择物流机器人;第3步:如果物流机器人演变后的状态不等于终止状态,重复执行第2步直至终止状态。
技术总结
本发明实施例提供一种物流机器人动态任务分配方法及系统,包括:选取仓库已经处理完毕的某一时段的所有订单,基于马尔可夫决策过程构建物流机器人动态任务分配模型;构建所述物流机器人动态任务分配模型采用将订单分配给拣选台、将分配给拣选台的订单分解成独立任务、将每个独立任务分配到物流机器人的任务分配方式;采用优化的蒙特卡洛搜索树算法对物流机器人动态任务分配模型进行训练求解,得到最优物流机器人动态任务分配模型;在仓库接收到订单并根据订单拣选货物时,采用最优物流机器人动态任务分配模型将新收到的订单动态分配给物流机器人。在物流机器人分配任务时,在一定的搜索时间范围内保证收益估计的准确度。定的搜索时间范围内保证收益估计的准确度。定的搜索时间范围内保证收益估计的准确度。


技术研发人员:唐恒亮 王安琪 薛菲 曹阳
受保护的技术使用者:北京物资学院
技术研发日:2021.03.25
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-12983.html

最新回复(0)