一种基于改进的聚类算法堆垛机路径规划方法

文档序号:32213241发布日期:2022-11-16 06:43阅读:79来源:国知局
一种基于改进的聚类算法堆垛机路径规划方法

1.本发明涉及堆垛机路径规划技术领域,具体是一种解决堆垛机路径规划的方法。


背景技术:

2.自动化仓储系统(automated storage and retrieval system,as/rs)是一种新型的仓储技术,作为现代物流系统的核心部分,正越来越多地应用于各个行业。仓库的出入库效率直接影响到整个物流系统的效率,因此出入库路径的优化就成为提高整个物流系统效率的关键问题。堆垛机是as/rs中的运输和存取货物的主要设备,其中堆垛机拣选出入库货物的时间占其整个作业周期的50%左右,因此解决堆垛机行驶路径优化问题是提高自动化仓库效率的有效手段。
3.路径规划技术是堆垛机研究领域的一个重要组成部分,主要目的是在初始化有若干进出货物任务的环境中,根据一定的准则(如路径最短,用时最短等),寻求一个从出入库口依次存取货物的最优策略。
4.路径规划技术的发展在一定程度上标志着堆垛机智能水平的高低,而路径规划方法的优劣直接影响路径规划效果。
5.目前,在堆垛机路径规划问题上,由于一系列基于穷举思想的传统算法的时间复杂度极易受到问题规模的影响,因而现多用启发式算法来解决该问题,常见的有遗传算法,蚁群算法等。而聚类算法难以在该问题上进行应用的主要原因是,通常聚类算法都是根据聚类对象之间的欧式距离为衡量尺度,但在堆垛机问题中,欧式距离难以作为任务节点之间的聚类标准,因此,一般难以直接应用聚类算法来解决该问题。


技术实现要素:

6.本发明的目的在于提供一种基于时间距离尺度聚类算法的堆垛机路径规划方法,该方法能够较好地克服传统聚类算法难以应用于堆垛机路径规划问题的缺陷。
7.一般来说,在堆垛机路径规划问题中,将堆垛机看成是一个仅能沿着轨道进行水平平移的移动机器人,在运动的过程中,堆垛机的升降杆可同时进行移动,即堆垛机的运动等效一个质点在水平、垂直移动,其水平、垂直速度设为v
x
、vy,仓库储存单元为统一标准尺寸,宽和高尺寸分别设为l、h。为简化问题模型,忽略存取货物的时间。堆垛机的容量通常设为1,即每次作业时,堆垛机可以执行一次入库任务再执行一次出库任务,最后再回到终点,此时为复合任务模式;或者仅执行一次入库任务或出库任务,此时为单一任务模式。图1为堆垛机执行一次复合任务的示意图。一般来说,对于既定的若干个出入库任务,复合任务数量越大,完成所有出入库任务的时间越短,存储效率越高。因此,堆垛机的路径规划问题,又可以理解成是将若干出库任务分配给入库任务的一种分配问题。
8.聚类算法在该问题上难以使用的主要原因为,在空间域下,任务节点之间的空间位置距离长短并非与节点任务“顺路”程度成正比。如图2所示,堆垛机从起点出发来到a点,随后要从b1跟b2中选择一个点进行下一步任务,若从空间距离角度来看,b2距离a点更近,
但事实上,b1点距离虽远,由于其在起点与a的连线上,因此,选择b1点能使得本轮复合任务的时间最短。
9.由上述案例的分析可知,任务节点的分配原则,不应是以距离尺度去衡量,而应该以时间尺度为标准,因此,本发明首先提出一种将任务节点由空间域映射到时间域的方法,如图3所示,空间域下的任务节点的坐标为(x,y),其含义为对应节点相对于起点在水平与垂直方向上的储存单元序号。而在时间域中,任务节点的坐标为(t
x
,ty),其含义为堆垛机由起点向对应节点进行移动时,水平、垂直方向到达节点的所需时间,两种域下坐标的转换函数如式(1)所示:
10.(t
x
,ty)=((x
·
l)/v
x
,(y
·
h)/vy)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
11.而两个任务节点的“顺路程度”,即时间尺度距离(length of time,lt)的远近由公式(2)确定,lt越小,即为节点b距离a越近,也越“顺路”。
12.lt(a,b)=max{|t
xa-t
xb
|,|t
ya-t
yb
|}+max{t
xb
,t
yb
}-max{t
xa
,t
ya
}
ꢀꢀꢀꢀꢀ
(2)
13.对于时间域下的所有节点,以所有的入库任务为聚类中心,基于式(2)计算出的时间尺度距离将所有出库节点聚类于最近的入库节点,由于堆垛机容量限制,使得每个入库仅能被分配一个出库任务,因此,随后需要检测是否存在多个出库被分配给同一个入库任务,若是,则取出存在分配冲突的一组类,计算其中所有出库节点距离其他聚类中心(排除禁忌表中的中心,表初始为空)的时间距离,并将所得结果最近的那个出库节点重新分配给新的聚类中心,同时将旧的聚类中心添加进被移动的出库节点的禁忌表中,之后再次检测,若存在冲突,重复上述操作,直至消除所有分配冲突。
14.以图4所示的简单案例进行说明,相关参数及数据如表1。节点a1、a2为入库节点,b1、b2为出库节点,如图4(a)所示,根据式(1)将节点映射至时间域中,如图4(b)所示,根据式(2)计算所有出库任务至入库节点的lt,可得:
[0015][0016]
因此,b1’跟b2’按照距离最近原则聚类给a1’,如图4(c)所示。此时,这组聚类存在多个出库任务,因此需要进行冲突消除处理,即先计算b1’跟b2’与其他聚类中心(即a2’)的时间尺度距离,因为lt(a2',b1')较小,则将b1’重新分配给a2’,如图4(d)所示。该方案对应的总用时为:
[0017][0018]
在式(4)中,为从起点s运动到所有入库任务节点再回到s的时间和,显然这是一个定值,lt(a1',b2')+lt(a2',b1')为堆垛机在完成入库任务的途中“顺便”解决出库任务所需的额外时间尺度之和,显然,该部分的值越小越好,这和上文聚类的目标是一致的。因此通过本案例的分析过程,可以证明本发明的逻辑可行性。
[0019]
表1相关参数及数据
[0020][0021]
本发明解决其技术问题所采用的技术方案是:
[0022]
一种基于改进的聚类算法堆垛机路径规划方法,包括以下步骤:
[0023]
s1、初始化算法相关参数与数据;
[0024]
s2、根据式(1)将所有节点映射到时间域中;
[0025]
(t
x
,ty)=((x
·
l)/v
x
,(y
·
h)/vy)
ꢀꢀꢀꢀꢀꢀ
(1)
[0026]
s3、根据式(2)计算所有出库任务相对入库任务的时间尺度距离lt;
[0027]
lt(a,b)=max{|t
xa-t
xb
|,|t
ya-t
yb
|}+max{t
xb
,t
yb
}-max{t
xa
,t
ya
}
ꢀꢀꢀ
(2)
[0028]
s4、根据所得lt数据将所有出库任务聚类于最近的聚类中心(入库任务);
[0029]
s5、检测是否存在分配冲突的类,若是,则执行s6;否则执行s9;
[0030]
s6、取出一组存在冲突的类进行下述冲突消除操作;
[0031]
s7、计算该类中所有出库任务与其他聚类中心(非禁忌表中记录的中心)的lt;
[0032]
s8、找到lt结果中最小的那个对应出库任务节点,并分配给相应的新聚类中心,将旧聚类中心添加进该节点的禁忌表中,执行s5;
[0033]
s9、输出聚类结果,完成路径规划任务。
[0034]
本发明的有益效果是,通过先将任务节点映射进时间域中,并提出一种时间距离尺度(length of time,lt)指标,并依据lt使得聚类思想得以应用,后针对聚类结果可能存在分配冲突的问题,提出一种迭代消除策略,最终实现基于时间距离尺度的聚类思想的堆垛机路径规划。
附图说明
[0035]
图1堆垛机复合任务示意图;
[0036]
图2空间域下的距离与“顺路”程度呈非正比关系的案例;
[0037]
图3空间域与时间域的关系;
[0038]
图4简单案例仿真过程;
[0039]
图5本发明方法的流程图;
[0040]
图6本发明方法路径规划仿真结果;
[0041]
图7分配冲突消除过程迭代图;
[0042]
图8本发明路径规划仿真结果;
[0043]
图9分配冲突消除过程迭代图;
[0044]
图10传统遗传算法迭代图。
具体实施方式
[0045]
本发明提供的一种基于时间距离尺度聚类的解决堆垛机路径规划的方法,如图5所示,包括以下步骤:
[0046]
s1、初始化算法相关参数与数据;
[0047]
s2、根据式(1)将所有节点映射到时间域中;
[0048]
(t
x
,ty)=((x
·
l)/v
x
,(y
·
h)/vy)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0049]
s3、根据式(2)计算所有出库任务相对入库任务的时间尺度距离lt;
[0050]
lt(a,b)=max{|t
xa-t
xb
|,|t
ya-t
yb
|}+max{t
xb
,t
yb
}-max{t
xa
,t
ya
}
ꢀꢀꢀ
(2)
[0051]
s4、根据所得lt数据将所有出库任务聚类于最近的聚类中心(入库任务);
[0052]
s5、检测是否存在分配冲突的类,若是,则执行s6;否则执行s9;
[0053]
s6、取出一组存在冲突的类进行下述冲突消除操作;
[0054]
s7、计算该类中所有出库任务与其他聚类中心(非禁忌表中记录的中心)的lt;
[0055]
s8、找到lt结果中最小的那个对应出库任务节点,并分配给相应的新聚类中心,将旧聚类中心添加进该节点的禁忌表中,执行s5;
[0056]
s9、输出聚类结果,完成路径规划任务。
[0057]
本发明的有益效果是,通过先将任务节点映射进时间域中,并提出一种时间距离尺度(length of time,lt)指标,并依据lt使得聚类思想得以应用,后针对聚类结果可能存在分配冲突的问题,提出一种迭代消除策略,最终实现基于时间距离尺度的聚类思想的堆垛机路径规划。
[0058]
本发明的效果可以通过以下仿真实验进一步说明:
[0059]
为验证本方法的正确性和合理性,在ubuntu20.04系统上运用python语言编程,将本文算法与传统穷举法进行性能比较。算法参数见表2,节点坐标数据见表3,仿真结果如图6、图7和表4所示。
[0060]
表2算法仿真参数
[0061][0062][0063]
表3节点坐标数据
[0064][0065]
表4两种算法仿真数据对比
[0066][0067]
从仿真结果数据中可以得知,本发明算法与穷举法所得结果一致,最优方案总时间均为141s,但在运行时间方面,传统穷举法耗费了108.98ms,而本发明算法仅用了4.311ms,仅为穷举法用时的3.96%,因此,综合的来看,本发明在保证结果良好的同时,时间成本相对于穷举法有了大大的提升,因此具备一定可行性与创新性。
[0068]
为了进一步验证本发明提出的算法的有效性,将本发明与传统遗传算法以及另外一种基于代价矩阵的改进贪婪算法进行比较,该改进的贪婪算法为期刊《symmetry》在2021年13卷第8期中1483-1500页《path planning of as/rs based on cost matrix and improved greedy algorithm》中记录的算法,选取文献中表2的任务数据进行测试,并将实验结果与文献数据进行对比,如图8-10以及表5所示。
[0069]
表5两种算法仿真数据对比
[0070]
[0071]
由分析仿真结果数据可知,本发明算法、传统遗传算法以及文献改进算法都能得到最优值126s,但本发明算法的运行时间仅为7.288ms,明显优于传统遗传算法的运行时间214.251ms以及文献改进算法的运行时间93.372ms,分别仅为传统遗传算法和文献改进算法用时的3.402%和7.805%。因此,上述案例的仿真结果可以说明,本发明算法的路径规划能力较好,同时本发明算法在堆垛机的路径规划方面的具备一定的可行性与实用性。
[0072]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同替换、等效变化及修饰,均仍属于本发明技术方案保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1