装箱方法、系统和计算机可读存储介质与流程

文档序号:20686989发布日期:2020-05-08 18:54阅读:125来源:国知局
装箱方法、系统和计算机可读存储介质与流程

本发明涉及物流分拣领域,特别涉及装箱方法、系统和计算机可读存储介质。



背景技术:

目前装箱通常是依据经验来进行人工装箱。为了能够提高装箱的合理性和高效性,可以采用智能算法来辅助装箱。

装箱问题是一个经典的学术问题,同时拥有着广泛的商业应用价值。在物流领域中,常常会出现需要将指定的一系列货物装入指定容器,比如车厢,进行运输的问题。

现存的绝大多数算法可分为两类,(一)使用人为制定规则的启发式搜索算法(二)将其视为非线性优化以解决的优化算法如遗传算法,与深度学习算法。

但是,因物流领域中装箱的业务场景不尽相同,以及装箱本身的属性,已有的装箱算法往往只能解决一些特定场景下的装箱问题。在场景和算法本身假设条件不相符时,算法得出的装箱结果往往远低于人工计算的结果。

相应的,装箱操作人员在计算一些复杂装箱问题时往往也具有自身的局限性。尤其是待装箱物体数量多,属性尺寸多样,计算要求高的场景中,操作人员需要大量的工时才能计算出理想且准确的结果。



技术实现要素:

本发明的主要目的是提供一种装箱方法、系统和计算机可读存储介质,能够更有效地解决一些复杂装箱问题。

为实现上述目的,本发明提出的一种装箱方法,适用于装箱系统,所述装箱方法包括:

获取容器的容纳信息,所述容纳信息包括容器的信息和禁区的信息、已容纳货物的信息;

获取待装箱货物的装箱信息;

获取支撑结构信息,所述支撑结构为在容器中模拟的立体结构,所占的空间禁止装箱;

根据所述容纳信息、支撑结构信息、装箱信息,采用任意时间anytime算法获得装箱方案,在计算装箱方案过程中,如果收到计算终止指令,则终止anytime算法,返回装箱方案。

本发明还提供一种装箱系统,所述装箱系统包括:

容器操作模块,用于获取容器的容纳信息,所述容纳信息包括容器的信息和禁区的信息、已容纳货物的信息;

货物操作模块,用于获取待装箱货物的装箱信息;

结构创建模块,用于获取支撑结构信息,所述支撑结构为在容器中模拟的立体结构,所占的空间禁止装箱;

算法模块,用于根据所述容器操作模块、货物操作模块、结构创建模块获得的容纳信息、装箱信息、支撑结构信息,采用任意时间anytime算法获得装箱方案,在计算装箱方案过程中,如果收到计算终止指令,则终止anytime算法,返回装箱方案;

介入模块,用于跟踪算法模块的计算,当接收到计算终止指令时,将所述计算终止指令发送给算法模块。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有装箱程序,所述装箱程序被处理器执行时实现如上述的装箱方法的步骤。

本发明所提供的装箱方法,通过获得容器的容纳信息、支撑结构的禁区信息、以及待装箱货物的装箱信息,采用anytime算法进行模拟装箱,由于支撑结构的引入以及anytime算法的特性,用户可以根据实际需求在计算过程中设置容器的空间限制条件和调整算法的计算时间,如此一来将人工和智能耦合在一起,可以更有效地解决许多复杂的装箱问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明实施例提供的装箱方法的流程图;

图2为本发明实施例提供的装箱系统的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,如果使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

本发明实施例一提供了一种装箱方法。本实施例的装箱适用于装箱系统。

请参阅图1,方法流程包括:

步骤s101、获取容器的容纳信息,所述容纳信息包括容器的信息和禁区的信息、已容纳货物的信息;

容器的信息包括容器的形状信息、物理信息。

例如,c代表容器,包含了容器的形状信息和物理信息。cs指容器内部空间。

禁区指的是任何货物都被限定不得接触禁区的内边界或者内部。

例如,fs={(dim,l)}指禁区的集合。ws={(dim,l)}指可放空间的集合,在装箱计算结果中,任何货物只能被放置在可放空间的内部且不得超过可放空间的内边界。

所述已容纳货物的信息包括货物的形状、尺寸和位置信息。

例如,iw={(dim,o,l,p)}指所有待装箱货物的集合,尺寸和位置信息包含长宽高(d),朝向(o),和初始位置(l)和相关属性(p)。

ie={(dim,o,l,p)}指已装箱的货物集合。

步骤s102、获取待装箱货物的装箱信息;

所述装箱信息包括所述待装箱货物的形状、尺寸、重量和承重信息。

步骤s103、获取支撑结构信息,所述支撑结构为在容器中模拟的立体结构,所占的空间禁止装箱;

所述支撑结构为模拟的不可穿透且不受重力影响的静态物体,质量无限大。由于支撑结构可以处在容器可放空间的任意位置。当空间装载有特殊要求时,例如:某些货物一定距离范围内不可装箱,某些不规则货物特殊的装箱要求等等。引入支撑结构可以将容器内部的可放空间在重力方向上进行分割。

步骤s104、根据所述容纳信息、装箱信息、支撑结构信息,采用任意时间anytime算法获得装箱方案,在计算装箱方案过程中,如果收到计算终止指令,则终止anytime算法,返回装箱方案。

本实施例中,任意时间anytime算法具有anytime属性,即算法可以被随时终止并能返回当前结果,计算结果的品质随着计算时间延长而提高,直到收敛到某个最优解或者次优解。

例如,采用蒙特卡洛树搜索方法来进行装箱模拟计算。

通过蒙特卡洛树搜索方法来进行装箱模拟计算,用以将一系列具有不同形状与物理特性的货物放入指定容器,并满足一定空间与物理上的限制要求。

通过蒙特卡洛树搜索方法计算装箱的过程包括:

首先,将蒙特卡洛树搜索方法的计算过程设置好。

然后,算法的输入可以为:

a.包括目标容器的长宽高;

b.还可以包括目标容器里面已存在的物体的形状和位置信息;

c.还可以包括已存在物体的重量和承重信息;

d.包括待装箱货物的长宽高信息;

e.还可以包括待装箱货物的重量信息,以及承重信息;

f.还包括支撑结构的信息。

最终,算法的输出可以为:

g.包括每个货物最终在容器中的位置信息;

h.还可以包括每个货物的朝向orientation信息。

通过设置好了蒙特卡洛树搜索计算方法之后,输入容器的信息、装箱的信息和支撑结构的信息,然后可以计算得出最优的装箱方案。

例如,假设一个装箱问题(i,c),其中i指初始需要装箱的货物集合,c代表容器,ie指已装箱的货物集合,iw为剩下待装箱货物集合,那么iw=i-ie。

在步骤s104中,经过一次或者多次调用装箱算法直至ie=i,iw=0,即所有初始需要装箱的货物全部完成装箱。

装箱方案包括每个货物最终在容器中的位置及朝向信息。除了蒙特卡洛树搜索方法,其他具有anytime特性的算法也适用,这里不做一一描述。

在计算过程中,当收到计算终止指令时,则在当前计算周期(例如一次搜索运算)完成后,停止当前计算,返回当前计算所得出的最优结果。

所述计算终止指令是由用户发送的计算终止指令或者是预先设置的最长计算时间,当计算时间达到时,由系统自动发出计算终止指令。

本实施例所提供的装箱方法,通过获得容器的容纳信息、支撑结构的禁区信息、以及待装箱货物的装箱信息,采用anytime算法进行模拟装箱,由于支撑结构的引入以及anytime算法的特性,用户可以根据实际需求在计算过程中设置容器的空间限制条件和调整算法的计算时间,如此一来将人工和智能耦合在一起,可以更有效地解决许多复杂的装箱问题。

请继续参阅图2,本发明实施例提供的装箱系统,包括:

容器操作模块201,用于获取容器的容纳信息,所述容纳信息包括容器的信息和禁区的信息、已容纳货物的信息;

所述容器的信息包括容器的形状信息、物理信息。

所述禁区指的是任何货物都被限定不得接触禁区的内边界或者内部。在装箱计算结果中,任何货物只能被放置在可放空间的内部且不得超过可放空间的内边界。

所述已容纳货物的信息包括货物的形状、尺寸和位置信息。

货物操作模块202,用于获取待装箱货物的装箱信息;

所述装箱信息包括所述待装箱货物的形状、尺寸、重量和承重信息。

用户可以通过装箱系统的用户交互界面,选择和设置上述容器属性、禁区、已容纳货物信息、和待装箱货物的信息。

结构创建模块203,用于获取支撑结构信息,所述支撑结构为在容器中模拟的立体结构,所占的空间禁止装箱;

用户可以通过装箱系统的用户交互界面,在容器的空间内创建一个或多个形状为立方体的支撑结构。

所述支撑结构为模拟的不可穿透且不受重力影响的静态物体,质量无限大。由于支撑结构可以处在容器可放空间的任意位置。当空间装载有特殊要求时,例如:某些货物一定距离范围内不可装箱,某些不规则货物特殊的装箱要求等等。引入支撑结构可以将容器内部的可放空间在重力方向上进行分割。

算法模块204,用于根据容器操作模块201、货物操作模块202、结构创建模块203获得的所述容纳信息、装箱信息、支撑结构信息,采用任意时间anytime算法获得装箱方案,在计算装箱方案过程中,如果收到计算终止指令,则终止anytime算法,返回装箱方案;

本实施例中,任意时间anytime算法具有anytime属性,即算法可以被随时终止并能返回当前结果,计算结果的品质随着计算时间延长而提高,直到收敛到某个最优解或者次优解。

例如,采用蒙特卡洛树搜索方法来进行装箱模拟计算。

通过设置好了蒙特卡洛树搜索计算方法之后,输入容器的信息、装箱的信息和支撑结构的信息,然后可以计算得出最优的装箱方案。装箱方案包括每个货物最终在容器中的位置及朝向信息。

除了蒙特卡洛树搜索方法,其他具有anytime特性的算法也适用,这里不做一一描述。

用户可以手动激活算法模块204,也可以预设算法模块204的激活条件,当达到条件时,自动激活算法模块204进行装箱方案计算。

介入模块205,用于跟踪算法模块204的计算,当接收到计算终止指令时,将所述计算终止指令发送给算法模块。

当所述算法模块204激活时,介入模块204也自动激活。并且,所述介入模块205通过和算法模块204连接的接口跟踪算法模块204的计算。

在计算过程中,当所述介入模块205收到计算终止指令时,则在当前计算周期(例如一次搜索运算)完成后,向算法模块204发送计算终止指令,所述算法模块204返回当前计算得出的最优装箱方案。

可选地,所述介入模块205还可以设置算法模块204的最长计算时间,当计算时间达到时,介入模块205向算法模块204发送计算终止指令,所述算法模块204返回当前计算得出的最优装箱方案。

本实施例所提供的装箱系统,在工作时,通过获得容器的容纳信息、支撑结构的禁区信息、以及待装箱货物的装箱信息,采用anytime算法进行模拟装箱,由于支撑结构的引入以及anytime算法的特性,用户可以根据实际需求在计算过程中设置容器的空间限制条件和调整算法的计算时间,如此一来将人工和智能耦合在一起,可以更有效地解决许多复杂的装箱问题。

本发明实施例还提供了一种计算机可读存储介质。

所述计算机可读存储介质上存储有装箱程序,所述装箱程序被处理器执行上述任一项所述的装箱方法的步骤。

由于本实施例具有上述装箱方法的所有技术特征,因此本实施例也具有上述装箱方法所具有的有益效果。具体请参看上述实施例,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1