装载方案生成方法、装置、电子设备和存储介质与流程
- 国知局
- 2024-09-05 14:43:09
本公开涉及计算机,更具体地说,涉及装载方案生成方法、装置、电子设备和存储介质。
背景技术:
1、“三维装箱”是指将给定的一系列规则长方体箱子装入规则长方体容器内,例如,装入集装箱内,并且需要使装载容器中箱子的总体积尽可能大,即需要尽可能提升空间装载率。
2、在电商业务飞速发展的当下,“三维装箱”有比较广泛的应用场景,例如,在物流货车装箱场景下,或者,在同订单商品打包场景下,“三维装箱”方案可以指导实际的装箱流程,可以实现将物品快速、高效的装入容器内。相关技术中,主要采用较为低效的背包问题动态规划算法、遗传算法等等算法来解决三维装箱问题。但是,相关技术中的三维装箱方法难以满足实际装箱场景中对于高空间装载率的需求。
技术实现思路
1、本公开提供装载方案生成方法、装置、电子设备和存储介质,以至少解决上述相关技术中,三维装箱方法难以满足实际装箱场景中对于高空间装载率的需求的问题。
2、根据本公开实施例的第一方面,提供一种装载方案生成方法,包括:基于多个虚拟箱子中每个虚拟箱子对应的预设约束条件,获取多个虚拟箱子块,其中,每个所述虚拟箱子块包含至少一个所述虚拟箱子;基于所述多个虚拟箱子块以及所述预设约束条件,采用多种搜索策略并行构建搜索树,其中,所述搜索树的树节点用于指示虚拟装载容器装载所述虚拟箱子块的装载状态;基于构建的搜索树获取每种搜索策略对应的装载方案;将获取到的多种装载方案中空间装载率最高的装载方案,确定为用于指导实际装箱流程的装载方案。
3、可选地,所述搜索策略包含优先队列搜索策略,所述基于所述多个虚拟箱子块以及所述预设约束条件,采用多种搜索策略并行构建搜索树,包括:基于所述多个虚拟箱子块以及所述预设约束条件,通过迭代的方式构建所述优先队列搜索策略对应的队列搜索树;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时所述队列搜索树中的当前最下层所包含的至少一个树节点;通过贪心算法获取所述至少一个树节点中每个树节点对应的临时空间装载率,其中,所述临时空间装载率为采用所述贪心算法拓展所述每个树节点的贪心子节点所获得的临时装载方案的空间装载率;将所述至少一个树节点中对应最大临时空间装载率的第一树节点的下一层的多个正式子节点,作为下一次迭代开始时所述队列搜索树中的当前最下层所包含的至少一个树节点。
4、可选地,还包括:确定所述第一树节点对应的至少一个切分空间,其中,所述至少一个切分空间为将所述虚拟装载容器中的其他空间进行切分获得的切分空间,所述其他空间为所述虚拟装载容器中除所述第一树节点所包含的虚拟箱子块所占空间之外的空间;按照对应的有效使用空间体积从大到小的顺序,对所述多个虚拟箱子块中未被装入所述虚拟装载容器的虚拟箱子块进行排序,获得排序后的虚拟箱子块,其中,所述有效使用空间体积为可放入所述虚拟装载容器的虚拟箱子块的总体积与浪费掉的空间的体积的差值;针对所述至少一个切分空间中的每个切分空间,从所述排序后的虚拟箱子块中选择对应的体积小于所述每个切分空间的体积、且对应的有效使用空间体积排在前面的预设第一数量个虚拟箱子块;将所述预设第一数量个虚拟箱子块中每个虚拟箱子块模拟装入所述每个切分空间,获得所述第一树节点的下一层的多个正式子节点。
5、可选地,所述通过贪心算法获取所述至少一个树节点中每个树节点对应的临时空间装载率,包括:针对所述至少一个树节点中每个树节点,通过迭代的方式获取所述每个树节点对应的存在上下级关系的多个贪心子节点;将所述多个贪心子节点中最下层的贪心子节点对应的临时装载方案的空间装载率作为所述临时空间装载率;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时的当前树节点;确定所述当前树节点对应的至少一个切分空间中体积最大的最大切分空间;确定所述多个虚拟箱子块中对应的有效使用空间体积最大的、对应的体积小于所述最大切分空间的体积、且未被装入所述虚拟装载容器的目标虚拟箱子块;将所述目标虚拟箱子块置入所述最大切分空间获得当前树节点的贪心子节点,并将所述贪心子节点作为下一次迭代开始时的当前树节点。
6、可选地,通过迭代的方式获取所述每个树节点对应的多个贪心子节点的迭代终止条件为:当前树节点对应的至少一个切分空间中任一个切分空间均无法容纳所述多个虚拟箱子块中的任何虚拟箱子块。
7、可选地,所述搜索策略包含深度优先搜索策略,所述基于所述多个虚拟箱子块以及所述预设约束条件,采用多种搜索策略并行构建搜索树,包括:基于所述多个虚拟箱子块以及所述预设约束条件,通过迭代的方式构建所述深度优先搜索策略对应的深度搜索树;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时所述深度搜索树中的当前最下层所包含的至少一个树节点;针对所述至少一个树节点中的每个树节点,获取所述每个树节点下一层多个正式子节点对应的多个临时空间装载率,并将所述多个临时空间装载率中的最大临时空间装载率作为所述每个树节点的临时空间装载率;将所述至少一个树节点中对应最大临时空间装载率的第二树节点的下一层的多个正式子节点,确定为下一次迭代开始时所述深度搜索树中的当前最下层所包含的至少一个树节点。
8、可选地,所述搜索策略包含固定搜索策略,所述基于所述多个虚拟箱子块以及所述预设约束条件,采用多种搜索策略并行构建搜索树,包括:基于所述多个虚拟箱子块以及所述预设约束条件,通过迭代的方式构建所述固定搜索策略对应的固定搜索树;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时所述固定搜索树中的当前最下层所包含的至少一个树节点;针对所述至少一个树节点中的每个树节点,获取所述每个树节点的下n层的多个测试子节点对应的多个临时空间装载率,并将所述多个临时空间装载率中的最大临时空间装载率作为所述每个树节点的临时空间装载率,其中,n>1;将所述至少一个树节点中对应最大临时空间装载率的第三树节点的下一层的多个正式子节点,确定为下一次迭代开始时所述固定搜索树中的当前最下层所包含的至少一个树节点。
9、可选地,所述搜索策略包含随机采样搜索策略,所述基于所述多个虚拟箱子块以及所述预设约束条件,采用多种搜索策略并行构建搜索树,包括:基于所述多个虚拟箱子块以及所述预设约束条件,执行预设第二数量次迭代操作,获得所述随机采样搜索策略对应的所述预设第二数量个随机搜索树;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时所述随机搜索树中的当前最下层所包含的至少一个树节点;获取所述至少一个树节点中每个树节点对应的临时空间装载率;确定所述至少一个树节点中对应的临时空间装载率排在前预设第三数量位置的所述预设第三数量的树节点;从所述预设第三数量的树节点中随机选择一个第四树节点,并将所述第四树节点的下一层的多个正式子节点,作为下一次迭代开始时所述随机搜索树中的当前最下层所包含的至少一个树节点。
10、可选地,所述搜索策略包含两阶段搜索策略,所述基于所述多个虚拟箱子块以及所述预设约束条件,采用多种搜索策略并行构建搜索树,包括:基于所述多个虚拟箱子块以及所述预设约束条件,通过第一阶段的随机采样搜索策略构建所述随机采样搜索策略对应的随机搜索树,其中,所述随机搜索树所包含的树节点对应多个已使用虚拟箱子块;基于所述多个已使用虚拟箱子块,通过第二阶段的目标搜索策略构建所述目标搜索策略对应的目标树,其中,所述目标搜索策略为优先队列搜索策略、深度优先搜索策略、固定搜索策略、随机采样搜索策略中的任一种搜索策略。
11、可选地,通过所述搜索策略构建搜索树的迭代终止条件为:所述搜索树所包含的正式子节点的数量达到预设第一阈值,或者,所述搜索树所包含的层的数量达到预设第二阈值。
12、可选地,所述基于多个虚拟箱子中每个虚拟箱子对应的预设约束条件,获取多个虚拟箱子块,包括:基于所述多个虚拟箱子中每个虚拟箱子对应的预设约束条件,将多个同种类型的虚拟箱子在预设方向上进行拓展堆叠,获得所述多个虚拟箱子块。
13、可选地,所述基于所述多个虚拟箱子中每个虚拟箱子对应的预设约束条件,将多个同种类型的虚拟箱子在预设方向上进行拓展堆叠,获得所述多个虚拟箱子块,包括:基于所述多个虚拟箱子中每个虚拟箱子对应的预设约束条件,将所述多个同种类型的虚拟箱子在所述预设方向上进行拓展堆叠,获得单一虚拟箱子块;将多个单一虚拟箱子块在所述预设方向上进行拓展堆叠,获得多个复合虚拟箱子块。
14、可选地,所述预设约束条件为:虚拟箱子是否允许在长宽高三个维度上进行旋转放置,和/或,虚拟箱子的上方是否允许堆叠其他虚拟箱子,和/或,虚拟箱子的上方所允许堆叠的其他虚拟箱子的最大数量。
15、可选地,所述基于所述多个虚拟箱子块以及所述预设约束条件,采用多种搜索策略并行构建搜索树,包括:基于所述多个虚拟箱子块以及所述预设约束条件,采用所述多种搜索策略中的每种搜索策略分别构建所述每种搜索策略的单一搜索树。
16、可选地,所述基于所述多个虚拟箱子块以及所述预设约束条件,采用多种搜索策略并行构建搜索树,包括:基于所述多个虚拟箱子块以及所述预设约束条件,采用多个混合搜索策略中的每个混合搜索策略分别构建所述每个混合搜索策略的混合搜索树,其中,所述混合搜索策略包含所述多种搜索策略中的至少两种搜索策略。
17、根据本公开实施例的第二方面,提供一种装载方案生成装置,包括:虚拟箱子块获取模块,被配置为基于多个虚拟箱子中每个虚拟箱子对应的预设约束条件,获取多个虚拟箱子块,其中,每个所述虚拟箱子块包含至少一个所述虚拟箱子;搜索树构建模块,被配置为基于所述多个虚拟箱子块以及所述预设约束条件,采用多种搜索策略并行构建搜索树,其中,所述搜索树的树节点用于指示虚拟装载容器装载所述虚拟箱子块的装载状态;装载方案获取模块,被配置为基于构建的搜索树获取每种搜索策略对应的装载方案;装载方案确定模块,被配置为将获取到的多种装载方案中空间装载率最高的装载方案,确定为用于指导实际装箱流程的装载方案。
18、可选地,所述搜索策略包含优先队列搜索策略,所述搜索树构建模块被配置为:基于所述多个虚拟箱子块以及所述预设约束条件,通过迭代的方式构建所述优先队列搜索策略对应的队列搜索树;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时所述队列搜索树中的当前最下层所包含的至少一个树节点;通过贪心算法获取所述至少一个树节点中每个树节点对应的临时空间装载率,其中,所述临时空间装载率为采用所述贪心算法拓展所述每个树节点的贪心子节点所获得的临时装载方案的空间装载率;将所述至少一个树节点中对应最大临时空间装载率的第一树节点的下一层的多个正式子节点,作为下一次迭代开始时所述队列搜索树中的当前最下层所包含的至少一个树节点。
19、可选地,所述装载方案生成装置还包括:切分空间确定模块,被配置为确定所述第一树节点对应的至少一个切分空间,其中,所述至少一个切分空间为将所述虚拟装载容器中的其他空间进行切分获得的切分空间,所述其他空间为所述虚拟装载容器中除所述第一树节点所包含的虚拟箱子块所占空间之外的空间;排序模块,被配置为按照对应的有效使用空间体积从大到小的顺序,对所述多个虚拟箱子块中未被装入所述虚拟装载容器的虚拟箱子块进行排序,获得排序后的虚拟箱子块,其中,所述有效使用空间体积为可放入所述虚拟装载容器的虚拟箱子块的总体积与浪费掉的空间的体积的差值;选择模块,被配置为针对所述至少一个切分空间中的每个切分空间,从所述排序后的虚拟箱子块中选择对应的体积小于所述每个切分空间的体积、且对应的有效使用空间体积排在前面的预设第一数量个虚拟箱子块;装载模块,被配置为将所述预设第一数量个虚拟箱子块中每个虚拟箱子块模拟装入所述每个切分空间,获得所述第一树节点的下一层的多个正式子节点。
20、可选地,所述搜索树构建模块被配置为:针对所述至少一个树节点中每个树节点,通过迭代的方式获取所述每个树节点对应的存在上下级关系的多个贪心子节点;将所述多个贪心子节点中最下层的贪心子节点对应的临时装载方案的空间装载率作为所述临时空间装载率;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时的当前树节点;确定所述当前树节点对应的至少一个切分空间中体积最大的最大切分空间;确定所述多个虚拟箱子块中对应的有效使用空间体积最大的、对应的体积小于所述最大切分空间的体积、且未被装入所述虚拟装载容器的目标虚拟箱子块;将所述目标虚拟箱子块置入所述最大切分空间获得当前树节点的贪心子节点,并将所述贪心子节点作为下一次迭代开始时的当前树节点。
21、可选地,通过迭代的方式获取所述每个树节点对应的多个贪心子节点的迭代终止条件为:当前树节点对应的至少一个切分空间中任一个切分空间均无法容纳所述多个虚拟箱子块中的任何虚拟箱子块。
22、可选地,所述搜索策略包含深度优先搜索策略,所述搜索树构建模块被配置为:基于所述多个虚拟箱子块以及所述预设约束条件,通过迭代的方式构建所述深度优先搜索策略对应的深度搜索树;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时所述深度搜索树中的当前最下层所包含的至少一个树节点;针对所述至少一个树节点中的每个树节点,获取所述每个树节点下一层多个正式子节点对应的多个临时空间装载率,并将所述多个临时空间装载率中的最大临时空间装载率作为所述每个树节点的临时空间装载率;将所述至少一个树节点中对应最大临时空间装载率的第二树节点的下一层的多个正式子节点,确定为下一次迭代开始时所述深度搜索树中的当前最下层所包含的至少一个树节点。
23、可选地,所述搜索策略包含固定搜索策略,所述搜索树构建模块被配置为:基于所述多个虚拟箱子块以及所述预设约束条件,通过迭代的方式构建所述固定搜索策略对应的固定搜索树;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时所述固定搜索树中的当前最下层所包含的至少一个树节点;针对所述至少一个树节点中的每个树节点,获取所述每个树节点的下n层的多个测试子节点对应的多个临时空间装载率,并将所述多个临时空间装载率中的最大临时空间装载率作为所述每个树节点的临时空间装载率,其中,n>1;将所述至少一个树节点中对应最大临时空间装载率的第三树节点的下一层的多个正式子节点,确定为下一次迭代开始时所述固定搜索树中的当前最下层所包含的至少一个树节点。
24、可选地,所述搜索策略包含随机采样搜索策略,所述搜索树构建模块被配置为:基于所述多个虚拟箱子块以及所述预设约束条件,执行预设第二数量次迭代操作,获得所述随机采样搜索策略对应的所述预设第二数量个随机搜索树;其中,针对每一次迭代过程,执行以下操作,直至迭代终止:确定本次迭代开始时所述随机搜索树中的当前最下层所包含的至少一个树节点;获取所述至少一个树节点中每个树节点对应的临时空间装载率;确定所述至少一个树节点中对应的临时空间装载率排在前预设第三数量位置的所述预设第三数量的树节点;从所述预设第三数量的树节点中随机选择一个第四树节点,并将所述第四树节点的下一层的多个正式子节点,作为下一次迭代开始时所述随机搜索树中的当前最下层所包含的至少一个树节点。
25、可选地,所述搜索策略包含两阶段搜索策略,所述搜索树构建模块被配置为:基于所述多个虚拟箱子块以及所述预设约束条件,通过第一阶段的随机采样搜索策略构建所述随机采样搜索策略对应的随机搜索树,其中,所述随机搜索树所包含的树节点对应多个已使用虚拟箱子块;基于所述多个已使用虚拟箱子块,通过第二阶段的目标搜索策略构建所述目标搜索策略对应的目标树,其中,所述目标搜索策略为优先队列搜索策略、深度优先搜索策略、固定搜索策略、随机采样搜索策略中的任一种搜索策略。
26、可选地,通过所述搜索策略构建搜索树的迭代终止条件为:所述搜索树所包含的正式子节点的数量达到预设第一阈值,或者,所述搜索树所包含的层的数量达到预设第二阈值。
27、可选地,所述虚拟箱子块获取模块被配置为:基于所述多个虚拟箱子中每个虚拟箱子对应的预设约束条件,将多个同种类型的虚拟箱子在预设方向上进行拓展堆叠,获得所述多个虚拟箱子块。
28、可选地,所述虚拟箱子块获取模块被配置为:基于所述多个虚拟箱子中每个虚拟箱子对应的预设约束条件,将所述多个同种类型的虚拟箱子在所述预设方向上进行拓展堆叠,获得单一虚拟箱子块;将多个单一虚拟箱子块在所述预设方向上进行拓展堆叠,获得多个复合虚拟箱子块。
29、可选地,所述预设约束条件为:虚拟箱子是否允许在长宽高三个维度上进行旋转放置,和/或,虚拟箱子的上方是否允许堆叠其他虚拟箱子,和/或,虚拟箱子的上方所允许堆叠的其他虚拟箱子的最大数量。
30、可选地,所述搜索树构建模块被配置为:基于所述多个虚拟箱子块以及所述预设约束条件,采用所述多种搜索策略中的每种搜索策略分别构建所述每种搜索策略的单一搜索树。
31、可选地,所述搜索树构建模块被配置为:基于所述多个虚拟箱子块以及所述预设约束条件,采用多个混合搜索策略中的每个混合搜索策略分别构建所述每个混合搜索策略的混合搜索树,其中,所述混合搜索策略包含所述多种搜索策略中的至少两种搜索策略。
32、根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现根据本公开的装载方案生成方法。
33、根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行根据本公开的装载方案生成方法。
34、本公开的实施例提供的技术方案至少带来以下有益效果:
35、本公开采用树搜索算法并整合多种搜索策略,并行对箱子块的装载方案进行高效搜索,从多种搜索策略对应的多种装载方案中获取最优的装载方案(即空间装载率最高的装载方案)用于指导实际装箱流程,可以有效提升实际装箱场景中容器的空间装载率。此外,在搜索装载方案时,预先将箱子组装成箱子块,通过考虑箱子块而非单个箱子来有效缩短搜索装载方案的时间,大大提升了装载方案的搜索效率,同时也为装箱的稳定性提供了保证。
36、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本文地址:https://www.jishuxx.com/zhuanli/20240905/287808.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表