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

一种装载数据处理方法、装置及存储介质与流程

2022-07-22 21:39:32 来源:中国专利 TAG:


1.本技术涉及装载技术领域,尤其涉及一种装载数据处理方法、装置及存储介质。


背景技术:

2.在待装载对象的运输过程中,装载容器的装载率在运输成本中占有很大的比重,因此,为待装载对象合理匹配装载容器从而提高装载容器的装载率成为降低运输成本的重要手段。然而,待装载对象的种类众多,不同待装载对象对应多种装载的规则,并且运输中包含承载体(如托盘)和不同尺寸规格的装载容器(如货车车箱)两种存储类型,这些实际操作中的规则都会对待装载对象的运输装载率造成影响。
3.如果仅依靠人工配载很难从总体上快速获得较优的配载方案,并且装载容器的装载率的高低与人工经验相关。所以,有必要通过智能算法快速获取合理的装载方案,三维装载属于np-hard问题,并且,待装载对象的装载场景复杂,计算复杂度高,现有的装载算法往往存在较强的问题依赖性,泛化性能差,或者计算量过大,处理效率低下。


技术实现要素:

4.本技术提供了一种装载数据处理方法、装置及存储介质,通过将预设的第一堆垛数据作为空间搜索算法的输入项,并且对目标装载容器剩余空间的多个子空间同时进行模拟堆垛,能够实现空间搜索算法效率的提升;通过局部搜索算法和强化学习算法的结合计算,提高了算法在解空间的搜索范围,同时也提升了算法性能,进而显著提高装载数据处理效率;本技术能够快速准确的得到待装载对象的优化堆垛方式。
5.一方面,本技术提供一种装载数据处理方法,所述方法包括:
6.获取待装载对象信息、承载件信息和装载容器信息,所述待装载对象信息包括至少一种需组托对象的第一对象信息或至少一种非组托对象的第二对象信息;
7.在存在所述需组托对象的情况下,调用线性规划模型,基于所述第一对象信息和所述承载件信息确定所述需组托对象的第一堆垛数据;所述第一堆垛数据指示单层所述需组托对象在承载件上的堆垛方式;
8.调用空间搜索算法,基于所述待装载对象信息、所述第一堆垛数据和所述装载容器信息,对目标装载容器当前剩余空间的至少一个子空间进行待装载对象的模拟堆垛处理,得到所述待装载对象在所述目标装载容器中的第二堆垛数据;其中,所述至少一个子空间为基于所述目标装载容器当前剩余空间中的可堆叠平面信息划分的;
9.调用目标局部搜索算法和目标强化学习算法,对所述第二堆垛数据进行数据优化,得到所述第二堆垛数据对应的目标堆垛数据,所述目标堆垛数据指示所述待装载对象在所述目标装载容器中的目标堆垛方式。
10.可选的,所述第一对象信息包括所述需组托对象的尺寸信息,所述需组托对象包括非标对象,所述调用线性规划模型,基于所述第一对象信息和所述承载件信息确定所述需组托对象的第一堆垛数据之前,所述方法还包括:
11.基于预设形状对所述非标对象进行尺寸映射,得到所述非标对象的尺寸信息。
12.可选的,在所述基于所述待装载对象信息、所述第一堆垛数据和所述装载容器信息,对目标装载容器当前剩余空间的至少一个子空间进行待装载对象的模拟堆垛处理之前,装载数据处理方法还包括:
13.获取所述目标装载容器当前剩余空间中的可堆叠平面信息;
14.基于所述可堆叠平面信息,在所述目标装载容器当前剩余空间中针对每一可堆叠平面进行空间划分,得到所述至少一个子空间。
15.可选的,所述基于所述待装载对象信息、所述第一堆垛数据和所述装载容器信息,对目标装载容器当前剩余空间的至少一个子空间进行待装载对象的模拟堆垛处理,得到所述待装载对象在所述目标装载容器中的第二堆垛数据,包括:
16.获取所述至少一个子空间的子空间信息;
17.针对所述目标装载容器的每一子空间,调用所述空间搜索算法基于所述子空间信息、所述待装载对象信息和所述第一堆垛数据,从当前剩余的所述待装载对象中确定出所述每一子空间对应的至少一个目标装载对象和所述目标装载对象的堆垛参数;
18.基于所述每一子空间对应的至少一个目标装载对象和所述目标装载对象的堆垛参数,更新所述目标装载容器的所述可堆叠平面信息;
19.重复所述针对每一可堆叠平面进行空间划分、所述获取所述至少一个子空间的子空间信息和所述从当前剩余的所述待装载对象中确定出所述每一子空间对应的至少一个目标装载对象的步骤,至全部所述待装载对象完成模拟堆垛或所述目标装载容器内不存在有效剩余空间;
20.基于全部所述待装载对象完成模拟堆垛或不存在所述有效剩余空间时的所述目标装载容器中所述目标装载对象的堆垛参数生成所述第二堆垛数据。
21.可选的,所述调用所述空间搜索算法基于所述子空间信息、所述待装载对象信息和所述第一堆垛数据,从当前剩余的所述待装载对象中确定出所述每一子空间对应的至少一个目标装载对象和所述目标装载对象的堆垛参数,包括:
22.在存在所述非组托对象的情况下,调用所述空间搜索算法基于所述子空间信息和所述第二对象信息,从当前剩余的所述非组托对象中确定出至少一个目标非组托对象和所述目标非组托对象的堆垛参数;
23.在存在所述需组托对象的情况下,调用所述空间搜索算法基于所述子空间信息、所述第一对象信息和所述第一堆垛数据,从当前剩余的所述需组托对象中确定出至少一个目标需组托对象、对应的目标承载件以及所述目标需组托对象的堆垛参数。
24.可选的,所述调用目标局部搜索算法和目标强化学习算法,对所述第二堆垛数据进行数据优化,得到所述第二堆垛数据对应的目标堆垛数据,包括:
25.调用所述目标局部搜索算法,基于当前操作算子对所述第二堆垛数据进行优化计算,至满足迭代终止条件,得到所述目标堆垛数据;
26.其中,在所述优化计算的过程中,提取所述目标局部搜索算法所述优化计算的中间参数;并调用所述目标强化学习算法,基于所述中间参数更新所述目标局部搜索算法的所述当前操作算子。
27.可选的,所述调用所述目标局部搜索算法,基于当前操作算子对所述第二堆垛数
据进行优化计算,至满足迭代终止条件,得到所述目标堆垛数据,包括:
28.基于所述第二堆垛数据确定所述目标局部搜索算法的当前初始解;
29.调用所述目标局部搜索算法,基于所述当前操作算子对所述当前初始解进行搜索计算,得到当前局部最优解;
30.若未满足迭代终止条件,则将所述当前局部最优解更新为所述当前初始解;
31.调用所述目标强化学习算法更新所述当前操作算子;
32.重复所述调用所述目标局部搜索算法,基于所述当前操作算子对所述当前初始解进行搜索计算,得到当前局部最优解的步骤,在满足迭代终止条件的情况下,将满足迭代终止条件的所述当前局部最优解确定为所述目标堆垛数据。
33.可选的,所述目标局部搜索算法为变邻域搜索算法,所述目标强化学习算法为q-learning算法。
34.另一方面,本技术提供一种装载数据处理装置,所述装载数据处理装置包括:
35.第一获取模块:用于获取待装载对象信息、承载件信息和装载容器信息,所述待装载对象信息包括至少一种需组托对象的第一对象信息或至少一种非组托对象的第二对象信息;
36.第一确定模块:用于在存在所述需组托对象的情况下,调用线性规划模型,基于所述第一对象信息和所述承载件信息确定所述需组托对象的第一堆垛数据;所述第一堆垛数据指示单层所述需组托对象在承载件上的堆垛方式;
37.第一处理模块:用于调用空间搜索算法,基于所述待装载对象信息、所述第一堆垛数据和所述装载容器信息,对目标装载容器当前剩余空间的至少一个子空间进行待装载对象的模拟堆垛处理,得到所述待装载对象在所述目标装载容器中的第二堆垛数据;其中,所述至少一个子空间为基于所述目标装载容器当前剩余空间中的可堆叠平面信息划分的;
38.第一优化模块:用于调用目标局部搜索算法和目标强化学习算法,对所述第二堆垛数据进行数据优化,得到所述第二堆垛数据对应的目标堆垛数据,所述目标堆垛数据指示所述待装载对象在所述目标装载容器中的目标堆垛方式。
39.另一方面,本技术提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如权利要求1至8任一项所述的装载数据处理方法。
40.本技术提供的一种装载数据处理方法、装置及存储介质,具有如下有益效果:
41.本技术通过将预设的第一堆垛数据作为空间搜索算法的输入项,并且对目标装载容器剩余空间的多个子空间同时进行模拟堆垛,能够实现空间搜索算法效率的提升;通过局部搜索算法和强化学习算法的结合计算,提高了算法在解空间的搜索范围,同时也提升了算法性能,进而显著提高装载数据处理效率;本技术能够快速准确的得到待装载对象的优化堆垛方式。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,
还可以根据这些附图获得其它附图。
43.图1为本技术实施例提供的一种装载数据处理方法的流程示意图;
44.图2为本技术实施例提供的一种子空间获取方法的流程示意图;
45.图3为一个实施例中目标装载容器当前剩余空间的可堆叠平面示意图;
46.图4为本技术实施例提供的一种对子空间进行待装载对象的模拟堆垛处理方法的流程示意图;
47.图5为本技术实施例提供的一种优化第二堆垛数据方法的流程示意图;
48.图6为本技术实施例提供的一种调用目标局部搜索算法获取当前局部最优解的方法流程示意图;
49.图7为本技术实施例提供的一种调用目标强化学习算法更新当前操作算子的方法流程示意图;
50.图8为本技术实施例提供的一种装载数据处理装置的结构示意图;
51.图9为本技术实施例提供的一种用于实现装载数据处理方法的电子设备的硬件结构框图。
具体实施方式
52.为了使本技术领域的人员更好地的理解本技术的方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
54.以下结合图1介绍本技术实施例提供的一种装载数据处理方法,可以应用于装载技术领域,如可以应用于汽车零部件的装箱。
55.图1为本技术实施例提供的一种装载数据处理方法的流程示意图,请参考图1,本技术实施例提供的一种装载数据处理方法包括:
56.s101.获取待装载对象信息、承载件信息和装载容器信息,待装载对象信息包括至少一种需组托对象的第一对象信息或至少一种非组托对象的第二对象信息;
57.本技术实施例中,待装载对象是指需要装载的对象,如需要装载的货物;待装载对象包括至少一种需组托对象和至少一种非组托对象;需组托对象是指需要预装载在承载件上的待装载对象,可以包括但不限于料架和小尺寸待装载对象,非组托对象是指不需要预装载在承载件上而直接装载在装载容器中的待装载对象;需组托对象的第一对象信息包括但不限于需组托对象的形状、尺寸、可装载方向、重量、承重、稳定性信息和按照第一预设规
则进行排序的需组托对象排序信息,非组托对象的第二对象信息包括但不限于非组托对象的形状、尺寸、可装载方向、重量、承重、稳定性信息和按照第二预设规则进行排序的非组托对象排序信息;待装载对象信息包括至少一种需组托对象的第一对象信息或至少一种非组托对象的第二对象信息。其中,第一预设规则和第二预设规则包括但不限于由大到小和由重到轻;基于需组托对象排序信息和非组托对象排序信息依次选取目标待装载对象。
58.本技术实施例中,承载件是指具有容置面的装载装置,如托盘,承载件信息包括但不限于承载件的长、宽、限定可装载高度和按照第三预设规则进行排序的承载件排序信息;其中,第三预设规则包括但不限于承载件的容置面的面积由大到小;基于承载件排序信息依次选取目标承载件。
59.本技术实施例中,装载容器是指具有容置空间的装载装置,如车厢和集装箱,装载容器信息包括但不限于装载容器的容置空间的长、宽、高和按照第四预设规则进行排序的装载容器排序信息。其中,第四预设规则包括但不限于装载容器容置空间的体积由大到小;基于装载容器排序信息依次选取目标装载容器。
60.s103.在存在需组托对象的情况下,调用线性规划模型,基于第一对象信息和承载件信息确定需组托对象的第一堆垛数据;第一堆垛数据指示单层需组托对象在承载件上的堆垛方式;
61.本技术实施例中,线性规划模型为混合整数线性规划模型。
62.本技术实施例中,待装载对象包括需组托对象,调用线性规划模型,基于需组托对象的第一对象信息和承载件信息,计算并确定需组托对象的第一堆垛数据,其中,第一堆垛数据是指单层需组托对象在承载件上的堆垛方式,包括但不限于单层需组托对象在承载件上的摆放方向、摆放总数、在承载件的宽度方向上的摆放数量和在承载件长度方向上的摆放数量。
63.本技术实施例中,需组托对象包括非标对象,如料架;
64.本技术实施例中,存在非标对象,调用线性规划模型,基于第一对象信息和承载件信息确定需组托对象的第一堆垛数据之前,装载数据处理方法还包括:
65.基于预设形状对非标对象进行尺寸映射,得到非标对象的尺寸信息。
66.具体的,预设形状包括长方体等规则六面体。
67.本技术实施例中,基于预设形状对非标对象进行尺寸映射,得到非标对象的尺寸信息,即,将非标对象抽象为包含该非标对象的最小长方体或最小正方体,得到抽象的最小长方体或最小正方体的尺寸信息。
68.在对非标需组托对象进行装载时,需要在目标承载件上进行预装载,具体为:调用线性规划模型,基于非标需组托对象的第一对象信息和承载件信息,计算并确定非标需组托对象的第一堆垛数据;其中,第一堆垛数据是指单层非标需组托对象在承载件上的堆垛方式,包括但不限于单层非标需组托对象在承载件上的摆放方向、摆放总数、在承载件的宽度方向上的摆放数量和在承载件长度方向上的摆放数量。
69.在一个实施例中,需组托对象包括尺寸小于预设阈值的待装载对象,其中,预设阈值具体可以是20cm,即,待装载对象的长宽高均小于20cm则视为需组托对象。
70.在对尺寸小于预设阈值的需组托对象进行装载时,需要在目标承载件上进行预装载,具体为:调用线性规划模型,基于尺寸小于预设阈值的需组托对象的第一对象信息和承
载件信息,计算并确定尺寸小于预设阈值的需组托对象的第一堆垛数据;其中,第一堆垛数据是指单层尺寸小于预设阈值的需组托对象在承载件上的堆垛方式,包括但不限于单层尺寸小于预设阈值的需组托对象在承载件上的摆放方向、摆放总数、在承载件的宽度方向上的摆放数量和在承载件长度方向上的摆放数量。
71.在存在需组托对象的情况下,调用线性规划模型,基于第一对象信息和承载件信息确定需组托对象的第一堆垛数据,能够实现空间搜索算法效率的提升。
72.s105.调用空间搜索算法,基于待装载对象信息、第一堆垛数据和装载容器信息,对目标装载容器当前剩余空间的至少一个子空间进行待装载对象的模拟堆垛处理,得到待装载对象在目标装载容器中的第二堆垛数据;其中,至少一个子空间为基于目标装载容器当前剩余空间中的可堆叠平面信息划分的;
73.图2为本技术实施例提供的一种子空间获取方法的流程示意图,在基于待装载对象信息、第一堆垛数据和装载容器信息,对目标装载容器当前剩余空间的至少一个子空间进行待装载对象的模拟堆垛处理之前,装载数据处理方法还包括子空间获取方法,请参考图2,本技术实施例提供的一种子空间获取方法包括:
74.s201.获取目标装载容器当前剩余空间中的可堆叠平面信息;
75.本技术实施例中,依次选取装载容器为目标装载容器,依次选择待装载对象在目标装载容器当前剩余空间的至少一个子空间进行模拟堆垛处理。在对目标装载容器当前剩余空间的至少一个子空间进行待装载对象的模拟堆垛处理之前,需要获取目标装载容器当前剩余空间中的可堆叠平面信息。
76.其中,目标装载容器当前剩余空间是指目标装载容器在当前状态下的剩余容置空间,包括未堆垛待装载对象时的完整的目标装载容器的容置空间和部分堆垛待装载对象时的剩余的目标装载容器的剩余容置空间;可堆叠平面是指可堆叠待装载对象的平面,可堆叠平面信息包括但不限于可堆叠平面的数量和各可堆叠平面的尺寸信息,其中,可堆叠平面的数量可以为1,2...n。
77.图3为一个实施例中目标装载容器当前剩余空间的可堆叠平面示意图,请参考图3,在一个实施例中,第一待装载对象和第二待装载对象在目标装载容器中堆垛完成后,目标装载容器当前剩余容置空间的可堆叠平面有三个,分别为第一堆叠平面、第二堆叠平面和第三堆叠平面。
78.s203.基于可堆叠平面信息,在目标装载容器当前剩余空间中针对每一可堆叠平面进行空间划分,得到至少一个子空间。
79.基于可堆叠平面信息,针对每一个可堆叠平面,将目标装载容器当前剩余空间划分为至少一个子空间;至少一个子空间均为目标装载容器当前剩余空间的一部分。
80.其中,子空间的数量可以为1,2...n。
81.在一个实施例中,每个子空间都为长方体或正方体。
82.图4为本技术实施例提供的一种对子空间进行待装载对象的模拟堆垛处理方法的流程示意图,请参考图4,本技术实施例提供的一种对子空间进行待装载对象的模拟堆垛处理方法包括:
83.s401.获取至少一个子空间的子空间信息;
84.本技术实施例中,基于可堆叠平面信息将目标装载容器当前剩余空间划分得到至
少一个子空间,获取至少一个子空间的子空间信息,子空间信息包括但不限于子空间的长、宽和高信息。
85.s403.针对目标装载容器的每一子空间,调用空间搜索算法基于子空间信息、待装载对象信息和第一堆垛数据,从当前剩余的待装载对象中确定出每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数;
86.本技术实施例中,目标装载容器当前剩余空间划分得到至少一个子空间,针对目标装载容器的每一子空间,调用空间搜索算法,基于每一子空间信息、待装载对象信息和第一堆垛数据,从当前剩余的待装载对象中确定出每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数。
87.其中,目标装载对象是指可以模拟堆垛至目标装载容器子空间的待装载对象,如因超重或超尺寸等原因导致待装载对象无法模拟堆垛至任一目标装载容器当前剩余空间的子空间,则依次选取下一目标装载容器进行模拟堆垛;目标装载对象的堆垛参数是指目标装载对象在目标装载容器子空间的堆垛方式,包括目标装载对象的堆垛方向信息。
88.其中,目标装载容器的每一子空间中的目标装载对象不重复。
89.目标装载容器的每一子空间中的目标装载对象和目标装载对象的堆垛参数的确定同时进行,可以提高空间搜索算法的效率。
90.在一个实施例中,待装载对象包括非组托对象,调用空间搜索算法基于子空间信息和非组托对象的第二对象信息,从当前剩余的非组托对象中确定出至少一个目标非组托对象和目标非组托对象的堆垛参数;其中,目标装载容器的每一子空间中的目标非组托对象不重复;其中,目标非组托对象的堆垛参数包括目标非组托对象的第一堆垛方向信息。
91.在另一个实施例中,待装载对象包括需组托对象,调用空间搜索算法基于子空间信息、需组托对象的第一对象信息和第一堆垛数据,从当前剩余的需组托对象中确定出至少一个目标需组托对象、对应的目标承载件以及目标需组托对象的堆垛参数;其中,目标装载容器的每一子空间中的需组托对象不重复;其中,目标需组托对象的堆垛参数包括目标需组托对象在目标承载件上的堆垛层数和模拟堆垛完成时的目标承载件和目标需组托对象组成的整体的尺寸信息和第二堆垛方向信息。
92.其中,目标需组托对象在目标承载件上的堆垛层数是指基于目标子空间信息和目标需组托对象的第一对象信息计算并确定的目标承载件上目标需组托对象的总层数,目标承载件上目标需组托对象的总层数可以为1、2...n。
93.s405.基于每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数,更新目标装载容器的可堆叠平面信息;
94.本技术实施例中,基于每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数,计算目标装载容器的剩余空间,更新目标装载容器的当前剩余空间,更新目标装载容器当前剩余空间的可堆叠平面信息。
95.s407.重复针对每一可堆叠平面进行空间划分、获取至少一个子空间的子空间信息和从当前剩余的待装载对象中确定出每一子空间对应的至少一个目标装载对象的步骤,至全部待装载对象完成模拟堆垛或目标装载容器内不存在有效剩余空间;
96.在一个实施例中,重复如下步骤:
97.s203:基于可堆叠平面信息,在目标装载容器当前剩余空间中针对每一可堆叠平
面进行空间划分,得到至少一个子空间;
98.s401:获取至少一个子空间的子空间信息;
99.s403:针对目标装载容器的每一子空间,调用空间搜索算法基于子空间信息、待装载对象信息和第一堆垛数据,从当前剩余的待装载对象中确定出每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数;
100.s405:基于每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数,更新目标装载容器的可堆叠平面信息。
101.至全部待装载对象在一个目标装载容器中完成模拟堆垛。
102.在另一个实施例中,重复如下步骤:
103.s203:基于可堆叠平面信息,在目标装载容器当前剩余空间中针对每一可堆叠平面进行空间划分,得到至少一个子空间;
104.s401:获取至少一个子空间的子空间信息;
105.s403:针对目标装载容器的每一子空间,调用空间搜索算法基于子空间信息、待装载对象信息和第一堆垛数据,从当前剩余的待装载对象中确定出每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数;
106.s405:基于每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数,更新目标装载容器的可堆叠平面信息。
107.至目标装载容器内不存在有效剩余空间,但待装载对象有剩余,则依次选取下一目标装载容器继续重复执行上述步骤以进行当前剩余待装载对象的模拟堆垛,至所有待装载对象完成模拟堆垛。
108.s409.基于全部待装载对象完成模拟堆垛或不存在有效剩余空间时的目标装载容器中目标装载对象的堆垛参数生成第二堆垛数据。
109.在一个实施例中,当全部待装载对象在一个目标装载容器中完成模拟堆垛时,基于此时的目标装载容器中目标装载对象的堆垛参数生成第二堆垛数据;其中,第二堆垛数据是指待装载对象在目标装载容器中的堆垛方式。
110.在另一个实施例中,当目标装载容器内不存在有效剩余空间,但待装载对象有剩余,则依次选取下一目标装载容器继续重复执行上述步骤以进行当前剩余待装载对象的模拟堆垛,至所有待装载对象完成模拟堆垛,基于此时的目标装载容器中目标装载对象的堆垛参数生成第二堆垛数据;其中,第二堆垛数据是指待装载对象在目标装载容器中的堆垛方式。
111.s107.调用目标局部搜索算法和目标强化学习算法,对第二堆垛数据进行数据优化,得到第二堆垛数据对应的目标堆垛数据,目标堆垛数据指示待装载对象在目标装载容器中的目标堆垛方式。
112.本技术实施例中,调用目标局部搜索算法,基于当前操作算子对第二堆垛数据进行优化计算,至满足迭代终止条件,则停止迭代,得到目标堆垛数据;其中,目标堆垛数据是指待装载对象在目标装载容器中的目标堆垛方式。
113.本技术实施例中,在优化计算的过程中,提取目标局部搜索算法中优化计算的中间参数;并调用目标强化学习算法,基于优化计算的中间参数更新目标局部搜索算法的当前操作算子。
114.本技术实施例中,目标局部搜索算法为变邻域搜索算法,目标强化学习算法为q-learning算法。
115.其中,操作算子包括第一操作算子和第二操作算子。
116.第一操作算子定义为:基于第二堆垛数据,计算并确定目标装载容器中待装载对象尺寸差值最大的堆垛层,并对尺寸差值最大的堆垛层中的待装载对象按照尺差值的大小由大到小进行排序,确定尺寸差值较大的待装载对象并对其堆垛方式进行旋转。
117.本技术实施例中,基于目标装载容器中待装载对象尺寸差值最大的堆垛层中的待装载对象的数量的百分比来确定尺寸差值较大的待装载对象的数量,具体可以为10%;即,基于待装载对象尺寸差值最大的堆垛层中的待装载对象的数量的10%来确定需要执行旋转操作的待装载对象的数量,结合尺寸差值最大的堆垛层中的待装载对象由大到小的排序确定需要执行旋转操作的尺寸差值较大的待装载对象。
118.第二操作算子定义为:基于各装载容器的装载率,确定装载率最低的装载容器,随机交换装载率最低的装载容器中的至少2个待装载对象的堆垛顺序。
119.其中,各装载容器的装载率通过如下公式计算:
[0120][0121]
其中,r为目标装载容器的装载率;li、wi和hi分别为目标装载容器中的待装载对象i的长、宽和高;l、w和h分别为目标装载容器的长、宽和高。
[0122]
本技术实施例中,随机交换装载率最低的装载容器中的2个待装载对象的堆垛顺序。
[0123]
在一个实施例中,所有待装载对象在一个目标装载容器中完成模拟堆垛,调用目标局部搜索算法,基于第一操作算子对第二堆垛数据进行优化计算。
[0124]
在另一个实施例中,所有待装载对象在至少两个目标装载容器中完成模拟堆垛,调用目标局部搜索算法,基于第一操作算子和第二操作算子对第二堆垛数据进行优化计算。
[0125]
图5为本技术实施例提供的一种获取目标堆垛数据的方法流程示意图,请参考图5,本技术实施例提供的一种获取目标堆垛数据的方法包括:
[0126]
s501.基于第二堆垛数据确定目标局部搜索算法的当前初始解;
[0127]
本技术实施例中,基于第二堆垛数据,确定目标局部搜索算法的当前初始解。
[0128]
s503.调用目标局部搜索算法,基于当前操作算子对当前初始解进行搜索计算,得到当前局部最优解;
[0129]
图6为本技术实施例提供的一种调用目标局部搜索算法获取当前局部最优解的方法流程示意图,请参考图6,本技术实施例提供的一种调用目标局部搜索算法获取当前局部最优解的方法包括:
[0130]
s601.扰动当前初始解,获取当前扰动的邻域解;
[0131]
本技术实施例中,调用目标局部搜索算法,扰动当前初始解,获取当前扰动的邻域解。
[0132]
s603.基于当前操作算子,对当前扰动的邻域解进行搜索计算,获取当前局部搜索的邻域解;
[0133]
本技术实施例中,调用目标局部搜索算法,对当前扰动的邻域解进行搜索计算,获取当前局部搜索的邻域解。
[0134]
s605.计算当前局部搜索的邻域解的目标函数值;
[0135]
s607.若当前局部搜索的邻域解的目标函数值更优,则将当前局部搜索的邻域解更新为当前局部最优解;
[0136]
本技术实施例中,若当前局部搜索的邻域解的目标函数值更优,则将当前局部搜索的邻域解更新为当前局部最优解;否则,不更新当前局部最优解。
[0137]
s505.若未满足迭代终止条件,则将当前局部最优解更新为当前初始解;
[0138]
s507.调用目标强化学习算法更新当前操作算子;
[0139]
图7为本技术实施例提供的一种调用目标强化学习算法更新当前操作算子的方法流程示意图,请参考图7,本技术实施例提供的一种调用目标强化学习算法更新当前操作算子的方法包括:
[0140]
s701.获取目标强化学习算法的初始参数;
[0141]
本技术实施例中,目标强化学习算法的参数包括但不限于状态、动作和q表,获取目标强化学习算法的参数并进行初始化,得到目标强化学习算法的初始参数。
[0142]
s703.基于s601、s603和s605步骤的动作、状态和反馈值获取目标局部搜索算法的中间参数;
[0143]
s705.基于目标局部搜索算法的中间参数和目标强化学习算法的初始参数进行随机探索动作,获取目标强化学习算法的反馈和奖励;
[0144]
本技术实施例中,基于目标局部搜索算法的中间参数和目标强化学习算法的初始参数进行贪婪策略随机探索动作,获取目标强化学习算法的反馈和奖励。
[0145]
s707.基于目标强化学习算法的反馈和奖励更新目标强化学习算法的q表;
[0146]
s709.基于更新的q表,调整目标局部搜索算法的当前操作算子。
[0147]
至此,得到更新的当前操作算子。
[0148]
s509.重复调用目标局部搜索算法,基于当前操作算子对当前初始解进行搜索计算,得到当前局部最优解的步骤,在满足迭代终止条件的情况下,将满足迭代终止条件的当前局部最优解确定为目标堆垛数据。
[0149]
本技术实施例中,重新s601、s603、s605和s607步骤,至满足迭代终止条件,则停止迭代,将满足迭代终止条件的当前局部最优解确定为目标堆垛数据。
[0150]
现有的装载数据处理方法一方面采用近似算法、启发式算法等来求解此类问题,但是通常的启发式算法往往有着较强的问题依赖性;另一方面采用精确算法,建立一个混合整数规划模型来求解最优解,然而,当数据量增加时,精确算法往往很难在合理的时间范围内求解。
[0151]
本技术实施例中,通过局部搜索算法和强化学习算法的结合计算,提高了算法在解空间的搜索范围,同时也提升了算法性能,进而显著提高装载数据处理效率。
[0152]
由上述本技术实施例提供的装载数据处理方法可见,本技术实施例获取待装载对象信息、承载件信息和装载容器信息,待装载对象信息包括至少一种需组托对象的第一对象信息或至少一种非组托对象的第二对象信息;在存在需组托对象的情况下,调用线性规划模型,基于第一对象信息和承载件信息确定需组托对象的第一堆垛数据;第一堆垛数据
指示单层需组托对象在承载件上的堆垛方式;调用空间搜索算法,基于待装载对象信息、第一堆垛数据和装载容器信息,对目标装载容器当前剩余空间的至少一个子空间进行待装载对象的模拟堆垛处理,得到待装载对象在目标装载容器中的第二堆垛数据;其中,至少一个子空间为基于目标装载容器当前剩余空间中的可堆叠平面信息划分的;调用目标局部搜索算法和目标强化学习算法,对第二堆垛数据进行数据优化,得到第二堆垛数据对应的目标堆垛数据,目标堆垛数据指示待装载对象在目标装载容器中的目标堆垛方式;本技术实施例提供的装载数据处理方法通过将预设的第一堆垛数据作为空间搜索算法的输入项,并且对目标装载容器剩余空间的多个子空间同时进行模拟堆垛,能够实现空间搜索算法效率的提升;通过局部搜索算法和强化学习算法的结合计算,提高了算法在解空间的搜索范围,同时也提升了算法性能;本技术实施例提供的装载数据处理方法能够快速准确的得到待装载对象的优化堆垛方式。
[0153]
本技术实施例还提供了一种装载数据处理装置,请参考图8,本技术实施例提供的一种装载数据处理装置包括:
[0154]
第一获取模块810:用于获取待装载对象信息、承载件信息和装载容器信息,待装载对象信息包括至少一种需组托对象的第一对象信息或至少一种非组托对象的第二对象信息;
[0155]
第一确定模块820:用于在存在需组托对象的情况下,调用线性规划模型,基于第一对象信息和承载件信息确定需组托对象的第一堆垛数据;第一堆垛数据指示单层需组托对象在承载件上的堆垛方式;
[0156]
第一处理模块830:用于调用空间搜索算法,基于待装载对象信息、第一堆垛数据和装载容器信息,对目标装载容器当前剩余空间的至少一个子空间进行待装载对象的模拟堆垛处理,得到待装载对象在目标装载容器中的第二堆垛数据;其中,至少一个子空间为基于目标装载容器当前剩余空间中的可堆叠平面信息划分的;
[0157]
第一优化模块840:用于调用目标局部搜索算法和目标强化学习算法,对第二堆垛数据进行数据优化,得到第二堆垛数据对应的目标堆垛数据,目标堆垛数据指示待装载对象在目标装载容器中的堆垛方式。
[0158]
本技术实施例中,还包括:
[0159]
第二获取模块:用于获取目标装载容器当前剩余空间中的可堆叠平面信息;
[0160]
第三获取模块:基于可堆叠平面信息,在目标装载容器当前剩余空间中针对每一可堆叠平面进行空间划分,得到至少一个子空间。
[0161]
本技术实施例中,第一处理模块830包括:
[0162]
第一获取单元:用于获取至少一个子空间的子空间信息;
[0163]
第一确定单元:用于针对目标装载容器的每一子空间,调用空间搜索算法基于子空间信息、待装载对象信息和第一堆垛数据,从当前剩余的待装载对象中确定出每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数;
[0164]
第一更新单元:用于基于每一子空间对应的至少一个目标装载对象和目标装载对象的堆垛参数,更新目标装载容器的可堆叠平面信息;
[0165]
第二确定单元:用于重复针对每一可堆叠平面进行空间划分、获取至少一个子空间的子空间信息和从当前剩余的待装载对象中确定出每一子空间对应的至少一个目标装
载对象的步骤,至全部待装载对象完成模拟堆垛或目标装载容器内不存在有效剩余空间;
[0166]
第二获取单元:用于基于全部待装载对象完成模拟堆垛或不存在有效剩余空间时的目标装载容器中目标装载对象的堆垛参数生成第二堆垛数据。
[0167]
本技术实施例中,第一优化模块840包括:
[0168]
第三确定单元:用于基于第二堆垛数据确定目标局部搜索算法的当前初始解;
[0169]
第一计算单元:用于调用目标局部搜索算法,基于当前操作算子对当前初始解进行搜索计算,得到当前局部最优解;
[0170]
第一更新单元:用于若未满足迭代终止条件,则将当前局部最优解更新为当前初始解;
[0171]
第二更新单元:用于调用目标强化学习算法更新当前操作算子;
[0172]
第四确定单元:用于重复调用目标局部搜索算法,基于当前操作算子对当前初始解进行搜索计算,得到当前局部最优解步骤,在满足迭代终止条件的情况下,将满足迭代终止条件的当前局部最优解确定为目标堆垛数据。
[0173]
本技术实施例中,第一计算单元包括:
[0174]
第一获取子单元:用于扰动当前初始解,获取当前扰动的邻域解;
[0175]
第二获取子单元:用于基于当前操作算子,对当前扰动的邻域解进行搜索计算,获取当前局部搜索的邻域解;
[0176]
第一计算子单元:用于计算当前局部搜索的邻域解的目标函数值;
[0177]
第一更新子单元:用于若当前局部搜索的邻域解的目标函数值更优,则将当前局部搜索的邻域解更新为当前局部最优解。
[0178]
本技术实施例中,第一更新单元包括:
[0179]
第三获取子单元:用于获取目标强化学习算法的初始参数;
[0180]
第四获取子单元:用于基于扰动当前初始解,获取当前扰动的邻域解、基于当前操作算子,对当前扰动的邻域解进行搜索计算,获取当前局部搜索的邻域解和计算当前局部搜索的邻域解的目标函数值步骤的动作、状态和反馈值获取中间参数;
[0181]
第五获取子单元:用于基于中间参数和目标强化学习算法的初始参数进行随机探索动作,获取目标强化学习算法的反馈和奖励;
[0182]
第二更新子单元:用于基于目标强化学习算法的反馈和奖励更新目标强化学习算法的q表;
[0183]
第三更新子单元:用于基于更新的q表,调整目标局部搜索算法的当前操作算子。
[0184]
所述的装置实施例中的装置与方法实施例基于同样地申请构思。
[0185]
请参考图9,本技术实施例提供了一种用于实现上述装载数据处理方法的电子设备,该电子设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的装载数据处理方法。
[0186]
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括
非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
[0187]
本技术实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行,即上述电子设备可以包括移动终端、计算机终端、服务器或者类似的运算装置。其中,上述的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
[0188]
图9是本技术实施例提供的一种用于实现上述装载数据处理方法的电子设备的硬件结构框图。如图9所示,该电子设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)910(处理器910可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在电子设备900上执行存储介质920中的一系列指令操作。电子设备900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
,freebsd
tm
等等。
[0189]
处理器910可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0190]
输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0191]
操作系统921可以包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
[0192]
本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备900还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
[0193]
本技术的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于电子设备之中以保存用于实现方法实施例中一种装载数据处理方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的装载数据处理方法。
[0194]
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中
的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0195]
本技术的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的各种可选实现方式中提供的方法。
[0196]
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0197]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0198]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0199]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献