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

一种分拣行走路径优化方法及系统与流程

2022-12-10 00:38:23 来源:中国专利 TAG:


1.本发明涉及电商拣货技术领域,特别是涉及一种分拣行走路径优化方法及系统。


背景技术:

2.在电商仓库面积比较大、商品种类数比较多的情况下,需要采用一定算法对多个订单进行批次聚合,以确定出一个批次中需要完成拣货的商品,然后对每个批次中的商品进行拣货。
3.现有技术中,在对一个批次中的商品进行拣选时,一般是从头走到尾,但是这样的拣货方式可能需要大量时间。如果没有合理的路径规划,可能会走较多重复路线,拣货人员也需要付出大量不必要的劳动。因此,亟需一种对分拣行走路径进行优化的方法。


技术实现要素:

4.本发明的目的是提供一种分拣行走路径优化方法及系统,快速准确地对拣货行走路径进行规划,以得到行走距离最短的路径,从而提高拣货人员的拣货效率。
5.为实现上述目的,本发明提供了如下方案:
6.第一方面,本发明提供一种分拣行走路径优化方法,包括:
7.确定拣货起始点;所述拣货起始点为任一拣货点;
8.针对每个拣货起始点,以所述拣货起始点为起点,基于广度优先搜索算法遍历所有拣货点,以确定第一距离组;所述第一距离组包括多个第一距离;所述第一距离为所述拣货起始点与所述拣货点之间的最短距离;
9.根据每个所述拣货起始点以及所述拣货起始点对应的第一距离组,基于克里斯托菲德斯算法,计算经过所有拣货点的最短行走路径。
10.可选地,所述以所述拣货起始点为起点,基于广度优先搜索算法遍历所有拣货点,以确定第一距离组,具体包括:
11.确定分拣行走地图;所述分拣行走地图上记录有所有拣货点和障碍点;
12.建立与所述分拣行走地图对应的二维矩阵;所述二维矩阵中的点阵数据分别与所述拣货点、所述障碍点对应;
13.以所述拣货起始点对应的点阵数据为原点,结合预设点值规则,对所述二维矩阵进行广度优先搜索,以得到更新后的二维矩阵;
14.根据更新后的二维矩阵中的点阵数据,确定多个第一距离。
15.可选地,所述预设点值规则包括拣货起始点阵赋值规则、障碍物点阵赋值规则和拣货点阵赋值规则;
16.所述以所述拣货起始点对应的点阵数据为原点,结合预设点值规则,对所述二维矩阵进行广度优先搜索,以得到更新后的二维矩阵,具体包括:
17.根据所述拣货起始点阵赋值规则,对所述拣货起始点对应的点阵数据赋值,以得到起始点阵值;
18.根据所述起始点阵值、所述障碍物点阵赋值规则和所述拣货点阵赋值规则,计算所述起始点阵值对应的四方向点阵组;所述四方向点阵组包括第一点阵数据、第二点阵数据、第三点阵数据和第四点阵数据;所述第一点阵数据表示在二维矩阵中的向上方向上相邻的点阵数据;所述第二点阵数据表示在二维矩阵中的向下方向上相邻的点阵数据;所述第三点阵数据表示在二维矩阵中的向左方向上相邻的点阵数据;所述第四点阵数据表示在二维矩阵中的向右方向上相邻的点阵数据;
19.针对所述起始点阵值对应的四方向点阵组中的每个点阵数据,根据所述障碍物点阵赋值规则和所述拣货点阵赋值规则,分别计算每个点阵数据对应的四方向点阵组,直至所述二维矩阵中的所有点阵数据确定;所有点阵数据被赋值确定后的二维矩阵为更新后的二维矩阵。
20.可选地,所述根据每个所述拣货起始点以及所述拣货起始点对应的第一距离组,基于克里斯托菲德斯算法,计算经过所有拣货点的最短行走路径,具体包括:
21.根据每个所述拣货起始点以及所述拣货起始点对应的第一距离组,构造最小生成树;
22.根据度数从所述最小生成树中确定点集o;所述度数表示所述最小生成树中节点的连接边数;所述点集o包括多个度数为奇数的节点;
23.构造所述点集o对应的最小完全匹配;所述最小完全匹配包括多个至多与一条边相连的节点;
24.根据所述最小完全匹配和所述最小生成树,构造重图;所述重图中的每个节点的度数均为偶数;
25.根据所述重图,确定出经过所有拣货点的最短行走路径。
26.第二方面,本发明还提供一种分拣行走路径优化系统,包括:
27.起始点确定模块,用于确定拣货起始点;所述拣货起始点为任一拣货点;
28.距离计算模块,用于针对每个拣货起始点,以所述拣货起始点为起点,基于广度优先搜索算法遍历所有拣货点,以确定第一距离组;所述第一距离组包括多个第一距离;所述第一距离为所述拣货起始点与所述拣货点之间的最短距离;
29.路径计算模块,用于根据每个所述拣货起始点以及所述拣货起始点对应的第一距离组,基于克里斯托菲德斯算法,计算经过所有拣货点的最短行走路径。
30.可选地,所述距离计算模块,具体包括:
31.地图确定子模块,用于确定分拣行走地图;所述分拣行走地图上记录有所有拣货点和障碍点;
32.矩阵确定子模块,用于建立与所述分拣行走地图对应的二维矩阵;所述二维矩阵中的点阵数据分别与所述拣货点、所述障碍点对应;
33.矩阵更新子模块,用于以所述拣货起始点对应的点阵数据为原点,结合预设点值规则,对所述二维矩阵进行广度优先搜索,以得到更新后的二维矩阵;
34.距离确定子模块,用于根据更新后的二维矩阵中的点阵数据,确定多个第一距离。
35.可选地,所述预设点值规则包括拣货起始点阵赋值规则、障碍物点阵赋值规则和拣货点阵赋值规则;
36.所述矩阵更新子模块,具体包括:
37.起始点值计算单元,用于根据所述拣货起始点阵赋值规则,对所述拣货起始点对应的点阵数据赋值,以得到起始点阵值;
38.四方向点值计算单元,用于根据所述起始点阵值、所述障碍物点阵赋值规则和所述拣货点阵赋值规则,计算所述起始点阵值对应的四方向点阵组;所述四方向点阵组包括第一点阵数据、第二点阵数据、第三点阵数据和第四点阵数据;所述第一点阵数据表示在二维矩阵中的向上方向上相邻的点阵数据;所述第二点阵数据表示在二维矩阵中的向下方向上相邻的点阵数据;所述第三点阵数据表示在二维矩阵中的向左方向上相邻的点阵数据;所述第四点阵数据表示在二维矩阵中的向右方向上相邻的点阵数据;
39.矩阵更新计算单元,用于针对所述起始点阵值对应的四方向点阵组中的每个点阵数据,根据所述障碍物点阵赋值规则和所述拣货点阵赋值规则,分别计算每个点阵数据对应的四方向点阵组,直至所述二维矩阵中的所有点阵数据确定;所有点阵数据被赋值确定后的二维矩阵为更新后的二维矩阵。
40.可选地,所述路径计算模块,具体包括:
41.树生成子模块,用于根据每个所述拣货起始点以及所述拣货起始点对应的第一距离组,构造最小生成树;
42.点集确定子模块,用于根据度数从所述最小生成树中确定点集o;所述度数表示所述最小生成树中节点的连接边数;所述点集o包括多个度数为奇数的节点;
43.匹配构造子模块,用于构造所述点集o对应的最小完全匹配;所述最小完全匹配包括多个至多与一条边相连的节点;
44.重图构造子模块,用于根据所述最小完全匹配和所述最小生成树,构造重图;所述重图中的每个节点的度数均为偶数;
45.路径计算子模块,用于根据所述重图,确定出经过所有拣货点的最短行走路径。
46.根据本发明提供的具体实施例,本发明公开了以下技术效果:
47.本发明公开一种分拣行走路径优化方法及系统,首先确定一个拣货起始点作为原点,然后基于广度优先搜索算法遍历所有拣货点,确定出每个拣货点与拣货起始点之间的最短距离,即得到第一距离组;根据每个拣货起始点及对应的第一距离组,基于克里斯托菲德斯算法,计算出经过所有拣货点的最短行走路径。本发明所得到的最短行走路径为拣货行走过程中的最优路径,能够大大提高拣货人员的拣货效率。
附图说明
48.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
49.图1为本发明分拣行走路径优化方法的流程示意图;
50.图2为本发明分拣行走路径优化方法中的二维矩阵示意图一;
51.图3为本发明分拣行走路径优化方法中的二维矩阵示意图二;
52.图4为本发明分拣行走路径优化方法中的二维矩阵示意图三;
53.图5为本发明分拣行走路径优化系统的结构示意图。
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
56.实施例一
57.如图1所示,本实施例提供了一种分拣行走路径优化方法,包括:
58.步骤100,确定拣货起始点;所述拣货起始点为任一拣货点。在具体的实际应用中,还可根据需要对拣货起始点进行设置。
59.步骤200,针对每个拣货起始点,以所述拣货起始点为起点,基于广度优先搜索算法遍历所有拣货点,以确定第一距离组;所述第一距离组包括多个第一距离;所述第一距离为所述拣货起始点与所述拣货点之间的最短距离。
60.步骤200,具体包括:
61.1)确定分拣行走地图;所述分拣行走地图上记录有所有拣货点和障碍点。
62.2)建立与所述分拣行走地图对应的二维矩阵;所述二维矩阵中的点阵数据分别与所述拣货点、所述障碍点对应。在一个具体实施例中,二维矩阵的示意图如下图2所示,其中,a表示拣货起始点,b和c表示不同的拣货点,x表示不能行走的障碍物。
63.3)以所述拣货起始点对应的点阵数据为原点,结合预设点值规则,对所述二维矩阵进行广度优先搜索,以得到更新后的二维矩阵。
64.具体地,所述预设点值规则包括拣货起始点阵赋值规则、障碍物点阵赋值规则和拣货点阵赋值规则。所述拣货起始点阵赋值规则表示对拣货起始点(a)进行第一数字赋值,且赋值数字随机;所述障碍物点阵赋值规则表示对不能行走的障碍物区域(x)进行第二数字赋值,且赋值数字随机;所述拣货点阵赋值规则表示对拣货过程中经过的点阵进行第三数字赋值加法计算,且赋值数字随机。同时,第一数字赋值、第二数字赋值和第三数字赋值之间的大小关系根据实际需要进行限定,以便于计算和区分为前提条件。在一个具体实施例中,拣货起始点a对应的初始数字赋值为0,不能行走的障碍物区域对应的初始数字赋值为-1,其他的区域均暂赋初始值为0,拣货过程中经过的点阵数据进行加一计算(也可以根据需要,设置加2或者加3)。由于障碍物区域不能行走,障碍物区域所对应的点阵数据不会发生改变,始终为-1。上述初步赋值在二维矩阵中的映射如图3所示。
65.基于此,步骤3)具体包括:
66.(1)根据所述拣货起始点阵赋值规则,对所述拣货起始点对应的点阵数据赋值,以得到起始点阵值。具体地,将起始点阵值赋值为0。
67.(2)根据所述起始点阵值、所述障碍物点阵赋值规则和所述拣货点阵赋值规则,计算所述起始点阵值对应的四方向点阵组;所述四方向点阵组包括第一点阵数据、第二点阵数据、第三点阵数据和第四点阵数据;所述第一点阵数据表示在二维矩阵中的向上方向上相邻的点阵数据;所述第二点阵数据表示在二维矩阵中的向下方向上相邻的点阵数据;所述第三点阵数据表示在二维矩阵中的向左方向上相邻的点阵数据;所述第四点阵数据表示
在二维矩阵中的向右方向上相邻的点阵数据。
68.具体地,对拣货起始点在上下左右四个方向上的点阵数据分别加一,即拣货起始点对应的第一点阵数据、第二点阵数据、第三点阵数据和第四点阵数据的最终值均为1。对于拣货起始点对应的第一点阵数据,继续在上下左右四个方向上进行加一,由于拣货起始点对应的第一点阵数据的左边的点阵数据为步行行走的障碍物区域,其初始值为-1且不会发生改变,始终为-1,换而言之,不能行走的障碍物区域对应的点阵数据为初始赋值数据,且不会发生改变。
69.(3)针对所述起始点阵值对应的四方向点阵组中的每个点阵数据,根据所述障碍物点阵赋值规则和所述拣货点阵赋值规则,分别计算每个点阵数据对应的四方向点阵组,直至所述二维矩阵中的所有点阵数据确定;所有点阵数据被赋值确定后的二维矩阵为更新后的二维矩阵,具体如图4所示。在一个具体实施例中,在第i次更新时可能存在某个点阵数据已被赋值或者已被更新的情况,那么将此次将要更新的点阵数据与已被更新的点阵数据进行比较,选择其中较小的值作为最终更新后的点阵数据。即如果当前更新的点阵数据大于或者等于已被更新的点阵数据,则舍弃当前更新的点阵数据,将已存在的被更新的点阵数据作为最终点阵数据值。
70.4)根据更新后的二维矩阵中的点阵数据,确定多个第一距离。具体地,结合图4,根据回溯法找到拣货起始点和拣货点之间的一条最短路径:拣货起始点a与拣货点b之间的第一距离为7,拣货起始点a与拣货点c之间的第二距离也为7。所述根据回溯法找到拣货起始点和拣货点之间的一条最短路径,具体包括:对以得到的拣货点的数值依次递减1,从而找到一条与拣货起始点a连接的最短路径。
71.优选地,将二维矩阵命名为map,二维矩阵中每个点阵数据的坐标为(i,j),坐标对应的点阵数据的数值为map(i,j)。那么以a点为拣货起始点,a对应的数值为map(i,j)=0。对其使用广度优先搜索的方式更新矩阵值数据时,若(i-1,j)中出现i《0或者j《0或者map(i,j)=-1,继续遍历下一个点。其中,map(i,j)=-1表示遇到不能行走的障碍物区域;i《0或者j《0表示已经超出二维矩阵的范围,具体算法如下:
72.若map(i-1,j)=-1,不做任何处理,继续遍历(i 1,j)、(i,j 1)、(i,j-1);
73.若map(i-1,j)=0,map(i-1,j)=map(i,j) 1;
74.若map(i-1,j)》0,map(i-1,j)=min(map(i-1,j),map(i,j) 1)。
75.算法说明如下:对一个点的上下左右方向进行判断时,以(i,j)的左边举例:如果(i,j)左边点(i-1,j)是-1,表示左边点为障碍物,继续遍历其他三个方向;如果左边点(i-1,j)是0,表示左边点没有行走过, 1更新;如果左边点(i-1,j)大于0,表示左边点更新过,那么 1之后和当前位置上的值比较,取较小的值对左边点进行更新。以a的上下左右四个点的上下左右四个点为初始点继续按照以上方式搜索,直到所有点全部搜索结束,此时二维矩阵更新完成。
76.步骤300,根据每个所述拣货起始点以及所述拣货起始点对应的第一距离组,基于克里斯托菲德斯算法,计算经过所有拣货点的最短行走路径。
77.克里斯托菲德斯算法(christofides algorithm)是旅行商问题在度量空间(即距离对称且满足三角不等式)上的一个近似算法,该算法可以保证相对最优哈密尔顿回路长度有3/2的近似比。
78.步骤300,具体包括:
79.1)根据每个所述拣货起始点以及所述拣货起始点对应的第一距离组,构造最小生成树。在一个具体实施例中,假如有a,b,c,d,e,f,g,h这8个点,则根据这些点以及彼此之间的第一距离,可得到由8个点,7条边构成的总长度最小的生成树t。
80.2)根据度数从所述最小生成树中确定点集o;所述度数表示所述最小生成树中节点的连接边数;所述点集o包括多个度数为奇数的节点。
81.3)构造所述点集o对应的最小完全匹配;所述最小完全匹配包括多个至多与一条边相连的节点。
82.4)根据所述最小完全匹配和所述最小生成树,构造重图;所述重图中的每个节点的度数均为偶数。具体地,将最小完全匹配和所述最小生成树进行边集合并,生成一个每个顶点都是偶数度的重图k,重图k可以形成一个欧拉回路(欧拉回路指的是从任意一点出发经过图中所有边和点又回到出发点,且每个边只经过一次)。
83.5)根据所述重图,确定出经过所有拣货点的最短行走路径。具体地,将欧拉回路改造为对应的哈密尔顿回路,并对哈密尔顿回路进行剪枝(跳过欧拉回路中的重复顶点),从而得到最短行走路径。
84.实施例二
85.如图5所示,本实施例提供一种分拣行走路径优化系统,包括:
86.起始点确定模块101,用于确定拣货起始点;所述拣货起始点为任一拣货点。
87.距离计算模块201,用于针对每个拣货起始点,以所述拣货起始点为起点,基于广度优先搜索算法遍历所有拣货点,以确定第一距离组;所述第一距离组包括多个第一距离;所述第一距离为所述拣货起始点与所述拣货点之间的最短距离。
88.具体地,所述距离计算模块201,具体包括:
89.地图确定子模块,用于确定分拣行走地图;所述分拣行走地图上记录有所有拣货点和障碍点。
90.矩阵确定子模块,用于建立与所述分拣行走地图对应的二维矩阵;所述二维矩阵中的点阵数据分别与所述拣货点、所述障碍点对应。
91.矩阵更新子模块,用于以所述拣货起始点对应的点阵数据为原点,结合预设点值规则,对所述二维矩阵进行广度优先搜索,以得到更新后的二维矩阵。
92.距离确定子模块,用于根据更新后的二维矩阵中的点阵数据,确定多个第一距离。
93.具体地,所述预设点值规则包括拣货起始点阵赋值规则、障碍物点阵赋值规则和拣货点阵赋值规则;所述矩阵更新子模块,具体包括:
94.起始点值计算单元,用于根据所述拣货起始点阵赋值规则,对所述拣货起始点对应的点阵数据赋值,以得到起始点阵值。
95.四方向点值计算单元,用于根据所述起始点阵值、所述障碍物点阵赋值规则和所述拣货点阵赋值规则,计算所述起始点阵值对应的四方向点阵组;所述四方向点阵组包括第一点阵数据、第二点阵数据、第三点阵数据和第四点阵数据;所述第一点阵数据表示在二维矩阵中的向上方向上相邻的点阵数据;所述第二点阵数据表示在二维矩阵中的向下方向上相邻的点阵数据;所述第三点阵数据表示在二维矩阵中的向左方向上相邻的点阵数据;所述第四点阵数据表示在二维矩阵中的向右方向上相邻的点阵数据。
96.矩阵更新计算单元,用于针对所述起始点阵值对应的四方向点阵组中的每个点阵数据,根据所述障碍物点阵赋值规则和所述拣货点阵赋值规则,分别计算每个点阵数据对应的四方向点阵组,直至所述二维矩阵中的所有点阵数据确定;所有点阵数据被赋值确定后的二维矩阵为更新后的二维矩阵。
97.路径计算模块301,用于根据每个所述拣货起始点以及所述拣货起始点对应的第一距离组,基于克里斯托菲德斯算法,计算经过所有拣货点的最短行走路径。
98.所述路径计算模块301,具体包括:
99.树生成子模块,用于根据每个所述拣货起始点以及所述拣货起始点对应的第一距离组,构造最小生成树。
100.点集确定子模块,用于根据度数从所述最小生成树中确定点集o;所述度数表示所述最小生成树中节点的连接边数;所述点集o包括多个度数为奇数的节点。
101.匹配构造子模块,用于构造所述点集o对应的最小完全匹配;所述最小完全匹配包括多个至多与一条边相连的节点。
102.重图构造子模块,用于根据所述最小完全匹配和所述最小生成树,构造重图;所述重图中的每个节点的度数均为偶数。
103.路径计算子模块,用于根据所述重图,确定出经过所有拣货点的最短行走路径。
104.相对于现有技术,本发明还具有如下优点:
105.本发明分拣行走路径优化方法及系统,结合广度优先搜索算法和克里斯托菲德斯算法,实现了包括起始点和货物点之间的任意两点之间的最短行走路径的确定和计算,相比于贪婪算法,能够减少10%以上的路径优化比例。
106.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
107.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献