CN110097315B - 容器确定方法、容器确定装置、介质和计算设备 - Google Patents
容器确定方法、容器确定装置、介质和计算设备 Download PDFInfo
- Publication number
- CN110097315B CN110097315B CN201910336287.8A CN201910336287A CN110097315B CN 110097315 B CN110097315 B CN 110097315B CN 201910336287 A CN201910336287 A CN 201910336287A CN 110097315 B CN110097315 B CN 110097315B
- Authority
- CN
- China
- Prior art keywords
- container
- accommodating space
- objects
- object set
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q10/0875—Itemisation or classification of parts, supplies or services, e.g. bill of materials
Landscapes
- Business, Economics & Management (AREA)
- Economics (AREA)
- Engineering & Computer Science (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Container Filling Or Packaging Operations (AREA)
Abstract
本发明的实施方式提供了一种容器确定方法,包括获取容器的尺寸信息和对象集合中的对象的尺寸信息,容器的尺寸信息表征容器的轮廓,对象集合中包括多个对象,多个对象中的每个对象的尺寸信息表征对应对象的轮廓;根据对象集合中的对象的尺寸信息和容器的尺寸信息,将容器分成多层容纳空间;判断多层容纳空间是否能够填充对象集合中的所有对象;在多层容纳空间能够填充对象集合中的所有对象的情况下,确定容器与对象集合匹配,输出对象集合中的对象在容器的多层容纳空间中的摆放位置。本发明的方法可以显著地提升订单处理效率,并且降低容器的包材成本。此外,本发明的实施方式还提供了一种容器确定装置、一种介质和一种计算设备。
Description
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及一种容器确定方法、一种容器确定装置、一种介质和一种计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着互联网与仓储物流的不断发展,越来越多的大数据技术与算法应用于订单处理过程中,以提升整个仓储和供应链的运作效率,降低经营成本。
具体地,例如,在订单处理过程中,将订单中所包含的物品进行装箱是订单物流配送的前提,订单装箱在整个仓储物流领域中起到重要的作用。例如,合适的箱型既能够减少包材的消耗,降低开支,保护自然环境,还能够提升箱子的空间利用率,保证物品的完好性,提升用户体验,并且还可以减少人工选择箱型和装箱的时间成本。
但是,发明人发现采用相关技术导致订单处理时间较长,影响用户体验,降低了订单的处理效率。
发明内容
为此,非常需要一种改进的容器确定方法、一种容器确定装置、一种介质和一种计算设备,以使降低订单的处理时长,提高订单的处理效率。
在本上下文中,本发明的实施方式期望提供一种容器确定方法、一种容器确定装置、一种介质和一种计算设备。
在本发明实施方式的第一方面中,提供了一种容器确定方法,包括获取容器的尺寸信息和对象集合中的对象的尺寸信息,其中,上述容器的尺寸信息表征上述容器的轮廓;上述对象集合中包括多个对象,上述多个对象中的每个对象的尺寸信息表征对应对象的轮廓;根据上述对象集合中的对象的尺寸信息和上述容器的尺寸信息,将上述容器分成多层容纳空间;判断上述多层容纳空间是否能够填充上述对象集合中的所有对象;以及在上述多层容纳空间能够填充上述对象集合中的所有对象的情况下,确定上述容器与上述对象集合匹配,输出上述对象集合中的对象在上述容器的多层容纳空间中的摆放位置。
在本发明的一个实施例中,上述方法还包括:构建候选层列表,其中,上述候选层列表包括上述多层容纳空间中的每个容纳空间以及每个容纳空间的度量值,上述每个容纳空间的度量值是根据容纳空间的候选层高和上述对象集合中的对象的尺寸信息得到的;根据上述候选层列表中上述每个容纳空间的度量值,确定上述每个容纳空间在上述容器中的空间位置;按照上述每个容纳空间在上述容器中的空间位置,将上述对象集合中的对象先填充至上述容器中处于最底层位置的容纳空间,在填满上述处于最底层位置的容纳空间之后,再填充与上述处于最底层位置的容纳空间相邻的上一层容纳空间,直到上述多层容纳空间全部填充满或者上述对象集合中的所有对象都已填充至上述多层容纳空间中;以及判断上述多层容纳空间是否能够填充上述对象集合中的所有对象包括:判断上述对象集合中的所有对象是否都已填充至上述多层容纳空间中。
在本发明的另一实施例中,将上述对象集合中的对象先填充至上述容器中处于最底层位置的容纳空间包括将上述对象集合中的对象的尺寸信息与上述处于最底层位置的容纳空间的候选层高进行比较,确定满足第一摆放条件的第一目标对象,其中,上述第一目标对象包括一个或多个对象;以及将上述满足第一摆放条件的第一目标对象填充在上述处于最底层位置的容纳空间中。
在本发明的又一个实施例中,将上述满足第一摆放条件的第一目标对象填充在上述处于最底层位置的容纳空间中包括构建双向链表,其中,上述双向链表包括与上述当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息;以及根据上述双向链表所包括的与上述当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息,在上述当前填充节点填充满足第二摆放条件的第一匹配对象,其中,上述第一目标对象包括上述第一匹配对象。
在本发明的再一个实施例中,在填充完上述处于最底层位置的容纳空间之后,再填充与上述处于最底层位置的容纳空间相邻的上一层容纳空间之后,上述方法还包括判断上述处于最底层位置的容纳空间与上述上一层容纳空间之间是否存在剩余空闲间隙;在判断存在剩余空闲间隙的情况下,获取上述剩余空闲间隙的空间尺寸;确定满足第三摆放条件的第二匹配对象,其中,上述第三摆放条件是根据上述剩余空闲间隙的空间尺寸确定的;以及在上述剩余空闲间隙填充上述第二匹配对象。
在本发明的再一个实施例中,上述每个容纳空间的度量值按照如下公式计算得到:
其中,Ak表示第k个容纳空间的度量值;li表示第i种对象的长度;wi表示第i种对象的宽度;hi表示第i种对象的高度;ak表示第k个容纳空间的候选层高;ni表示第i种对象的数量;N表示对象种类数量。
在本发明的再一个实施例中,上述方法还包括将上述对象集合与历史对象集合库中的历史对象集合进行匹配,确定与上述对象集合相匹配的目标历史对象集合,其中,上述历史对象集合库中的历史对象集合具有对应的容器;以及将上述目标历史对象集合对应的容器确定为用于容纳上述对象集合中的所有对象的目标容器。
在本发明的再一个实施例中,上述方法还包括获取上述对象集合中的对象的类型信息;根据上述对象集合中的对象的类型信息判断是否需要配置特定容器;以及在判断需要配置上述特定容器的情况下,推荐上述特定容器。
在本发明实施方式的第二方面中,提供了一种容器确定装置,包括:第一获取模块,用于获取容器的尺寸信息和对象集合中的对象的尺寸信息,其中,上述容器的尺寸信息表征上述容器的轮廓;上述对象集合中包括多个对象,上述多个对象中的每个对象的尺寸信息表征对应对象的轮廓;划分模块,用于根据上述对象集合中的对象的尺寸信息和上述容器的尺寸信息,将上述容器分成多层容纳空间;第一判断模块,用于判断上述多层容纳空间是否能够填充上述对象集合中的所有对象;以及输出模块,用于在上述多层容纳空间能够填充上述对象集合中的所有对象的情况下,确定上述容器与上述对象集合匹配,输出上述对象集合中的对象在上述容器的多层容纳空间中的摆放位置。
在本发明的一个实施例中,上述装置还包括:构建模块,用于构建候选层列表,其中,上述候选层列表包括上述多层容纳空间中的每个容纳空间以及每个容纳空间的度量值,上述每个容纳空间的度量值是根据容纳空间的候选层高和上述对象集合中的对象的尺寸信息得到的;第一确定模块,用于根据上述候选层列表中上述每个容纳空间的度量值,确定上述每个容纳空间在上述容器中的空间位置;填充模块,用于按照上述每个容纳空间在上述容器中的空间位置,将上述对象集合中的对象先填充至上述容器中处于最底层位置的容纳空间,在填满上述处于最底层位置的容纳空间之后,再填充与上述处于最底层位置的容纳空间相邻的上一层容纳空间,直到上述多层容纳空间全部填充满或者上述对象集合中的所有对象都已填充至上述多层容纳空间中;以及上述第一判断模块用于判断上述对象集合中的所有对象是否都已填充至上述多层容纳空间中。
在本发明的另一实施例中,上述填充模块包括:确定单元,用于将上述对象集合中的对象的尺寸信息与上述处于最底层位置的容纳空间的候选层高进行比较,确定满足第一摆放条件的第一目标对象,其中,上述第一目标对象包括一个或多个对象;以及填充单元,用于将上述满足第一摆放条件的第一目标对象填充在上述处于最底层位置的容纳空间中。
在本发明的又一个实施例中,上述填充单元用于:构建双向链表,其中,上述双向链表包括与上述当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息;以及根据上述双向链表所包括的与上述当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息,在上述当前填充节点填充满足第二摆放条件的第一匹配对象,其中,上述第一目标对象包括上述第一匹配对象。
在本发明的再一个实施例中,上述装置还包括:第二判断模块,用于在填充完上述处于最底层位置的容纳空间之后,再填充与上述处于最底层位置的容纳空间相邻的上一层容纳空间之后,判断上述处于最底层位置的容纳空间与上述上一层容纳空间之间是否存在剩余空闲间隙;第二获取模块,用于在判断存在剩余空闲间隙的情况下,获取上述剩余空闲间隙的空间尺寸;第二确定模块,用于确定满足第三摆放条件的第二匹配对象,其中,上述第三摆放条件是根据上述剩余空闲间隙的空间尺寸确定的;以及上述填充模块还用于在上述剩余空闲间隙填充上述第二匹配对象。
在本发明的再一个实施例中,上述每个容纳空间的度量值按照如下公式计算得到:
其中,Ak表示第k个容纳空间的度量值;li表示第i种对象的长度;wi表示第i种对象的宽度;hi表示第i种对象的高度;ak表示第k个容纳空间的候选层高;ni表示第i种对象的数量;N表示对象种类数量。
在本发明的再一个实施例中,上述装置还包括:第三确定模块,用于将上述对象集合与历史对象集合库中的历史对象集合进行匹配,确定与上述对象集合相匹配的目标历史对象集合,其中,上述历史对象集合库中的历史对象集合具有对应的容器;以及第四确定模块,用于将上述目标历史对象集合对应的容器确定为用于容纳上述对象集合中的所有对象的目标容器。
在本发明的再一个实施例中,上述装置还包括:第三获取模块,用于获取上述对象集合中的对象的类型信息;第三判断模块,用于根据上述对象集合中的对象的类型信息判断是否需要配置特定容器;以及推荐模块,用于在判断需要配置上述特定容器的情况下,推荐上述特定容器。
在本发明实施方式的第三方面中,提供了一种介质,存储有计算机可执行指令,上述指令在被处理单元执行时用于实现如上所述的方法。
在本发明实施方式的第四方面中,提供了一种计算设备,包括:处理单元;以及存储单元,存储有计算机可执行指令,上述指令在被上述处理单元执行时用于实现如上所述的方法。
通过本发明实施方式的容器确定方法及装置、介质和计算设备,根据能够表征对象轮廓的尺寸信息和能够表征容器轮廓的尺寸信息将容器分成多层容纳空间,判断多层容纳空间是否能够填充对象集合中的所有对象,在多层容纳空间能够填充对象集合中的所有对象的情况下,不但可以确定容器与对象集合匹配,而且还可以输出对象集合中的对象在容器的多层容纳空间中的摆放位置。通过合适的容器,既能够减少包材的消耗,而且还可以降低开支;通过将容器分成多层容纳空间,并输出对象在多层容纳空间中的摆放位置,不仅能够提高对象集合的处理效率,而且能够提升容器的空间利用率,保证物品的完好性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的应用场景示意图;
图2示意性地示出了根据本发明实施方式的推荐箱型的流程图;
图3示意性地示出了根据本发明实施例的容器确定方法的流程图;
图4示意性地示出了根据本发明实施例的多层容纳空间的示意图;
图5示意性地示出了根据本发明实施例的以容器顶点为三维坐标系原点的示意图2
图6示意性示出了根据本发明另一实施例的箱型推荐系统的架构图;
图7示意性示出了根据本发明另一实施例的容器确定方法的流程图;
图8示意性示出了根据本发明实施例的将满足第一摆放条件的第一目标对象填充在处于最底层位置的容纳空间中的流程图;
图9示意性示出了根据本发明实施例的不同物品在容器中摆放的示意图;
图10示意性示出了根据本发明另一实施例的不同物品在容器中摆放的示意图2
图11示意性示出了根据本发明另一实施例的将物品摆放在容纳空间中的流程图;
图12示意性示出了根据本发明实施例的剩余空闲间隙的示意图;
图13示意性示出了根据本发明另一实施例的箱型确定方法和将物品摆放在容纳空间中的流程图;
图14示意性地示出了根据本发明实施例的容器确定装置的框图;
图15示意性地示出了根据本发明实施方式的用于实现容器确定方法的程序产品示意图;以及
图16示意性地示出了根据本发明实施例的用于实现容器确定方法的计算设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种容器确定方法及装置、介质和计算设备。
在本文中,需要理解的是,所涉及的术语包括如下。
启发式方法:指人类在解决问题时所采取的根据经验规则发现解决问题的方法。其特点是在解决问题时,利用过去的经验,选择已经行之有效的方法,而不是系统地以确定的步骤去寻求答案。
运筹优化方法:对实际生产、管理问题的一种优化方法,通过数学建模和算法寻找复杂问题的最优或近似最优解。
最优箱型:对于某个订单,该箱型能够装下订单中所有物品且达到最优的业务目标,例如体积最小或面积最小的箱型。
包材:指包裹订单物品的纸箱纸袋以及内部填充物等。
填充率:指订单物品总体积和箱子体积的比值。
层高:指在同一空间层中,该空间层在箱子中的高度,可能是某个物品的长宽高之一。
推用一致率:指订单推荐箱型和实际使用箱型一致的比例。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,随着互联网与仓储物流的不断发展,越来越多的大数据技术与算法应用于订单处理过程中,以提升整个仓储和供应链的运作效率,降低经营成本。
在订单处理过程中,将订单中所包含的物品进行装箱是订单物流配送的前提,订单装箱在整个仓储物流领域中起到重要的作用。
在相关技术中,能够进行箱型推荐的方法较多,比如蚁群算法、禁忌搜索、模拟退火或者运筹优化的相关算法等等,方法各有千秋。但是,发明人发现,这些箱型推荐的方法无法同时保证高填充率和高实时性,总体上缺乏鲁棒性。
例如,在相关技术中,订单从用户下单到到达仓库的时间很短,相关技术在保证填充率的情况下一般要花费较长的时间,导致系统订单处理时效较长,影响用户体验,也影响了整个订单系统的负担,增加了订单系统的不稳定性。同时,采用相关技术提供最优箱型无法提供物品在箱内的摆放方法,这增加了相关人员摆放物品的人工成本和时间成本,间接影响了整体订单打包的时效。相关技术未结合历史相同或类似订单的实际使用箱型,导致资源无法得到有效利用。因为在实际订单装箱时往往考虑到人工成本、时间成本和物品属性,存在推荐箱型和实际使用箱型不一致的情况,实际使用的箱型代表着针对该订单物品组合的最优箱型,如果不使用历史信息,直接计算推荐结果的方式不仅增加了整体计算复杂度,而且还降低了推荐使用一致率,无法保证有效的节省包材。
因此,采用相关技术并不能合理的为订单配置合适的容器,订单处理效率低,导致资源浪费较为严重。
基于以上分析,发明人构想到根据能够表征对象轮廓的尺寸信息和能够表征容器轮廓的尺寸信息将容器分成多层容纳空间,判断多层容纳空间是否能够填充对象集合中的所有对象,在多层容纳空间能够填充对象集合中的所有对象的情况下,不但可以确定容器与对象集合匹配,而且还可以输出对象集合中的对象在容器的多层容纳空间中的摆放位置。
通过合适的容器,既能够减少包材的消耗,而且还可以降低开支;通过将容器分成多层容纳空间,运用了仿人工装箱的启发式装箱方法,可以保证较高填充率的同时,能够在毫秒级时间内确定出合适箱型,不仅能够提高对象集合的处理效率,而且能够提升容器的空间利用率;通过输出对象在多层容纳空间中的摆放位置,在给出适合某订单的最优箱型的同时,也可以给出装箱方案,即订单中各物品在箱子中的相互位置、摆放方向和摆放顺序,使得物品之间的摆放有相互支撑,不会出现悬空等问题,更加贴合实际装箱的过程,便于相关人员直接打包装箱,减少了相关人员摆放物品的人工成本和时间成本,提高了作业效率。
同时,通过将对象集合与历史对象集合库中的历史对象集合进行匹配,确定与对象集合相匹配的目标历史对象集合,将目标历史对象集合对应的容器确定为用于容纳对象集合中的所有对象的目标容器。通过使用历史信息确定推荐结果的方式不仅降低了整体计算复杂度,而且还提高了推荐使用一致率,能够有效的节省包材。
为了适应真实的仓内环境,一些特殊商品可能需要特殊的包装,为突出针对性,可通过规则配置特殊商品的容器,在确定容器时,可以先判断是否需要配置特定容器,从而达到推荐结果可配置的效果,提高了推用一致率。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1详细阐述本发明实施例的用于容器确定方法及其装置的应用场景。
图1示意性地示出了根据本发明实施方式的应用场景示意图。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型的网络,例如有线和/或无线通信网络等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如订单处理系统,网上交易系统等(仅为示例)。
终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如为终端设备101、102、103提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的数据进行分析等处理,并将处理结果(例如用户输入的订单数据等)反馈给终端设备。
需要说明的是,本发明实施例所提供的容器确定方法可以由终端设备101、102、或103执行,或者也可以由不同于终端设备101、102、或103的其他终端设备执行。相应地,本发明的实施例所提供的容器确定装置也可以设置于终端设备101、102、或103中,或设置于不同于终端设备101、102、或103的其他终端设备中。
或者,本发明实施例所提供的容器确定方法可以由服务器105执行,或者也可以由不同于服务器105的其他服务器执行。相应地,本发明的实施例所提供的容器确定装置也可以设置于服务器105中,或设置于不同于服务器105的其他服务器中。
图2示意性地示出了根据本发明实施方式的推荐箱型的流程图。
根据本发明的实施例,如图2所示,以推荐最小化箱子体积为例,基于终端设备101、102、或103输入订单物品集合(即对象集合,包括物品的尺寸信息,例如长宽高信息)和候选箱型(即容器,包括箱子的尺寸信息,例如长宽高信息),然后根据订单物品集合的物品的尺寸信息和候选箱型的尺寸信息,将候选箱型分成多层容纳空间,判断多层容纳空间是否能够填充订单物品集合中的所有物品。
以10个候选箱型为例,对于每个订单,从至少一个箱子中确定能够用于容纳订单物品集合中的所有物品的目标箱子,并输出物品在箱子中的摆放位置的算法执行流程可以如下:
(1)根据最小化纸箱体积的业务目标对10个候选箱型进行排序,按照箱子体积从小到大排序。若业务目标为纸箱成本最低,则按照纸箱成本从小到大排序。其它业务目标在此不再赘述。
(2)对候选箱型按照预设的规则进行预处理,其目的是滤除部分候选箱型。例如,滤除箱子体积小于订单中物品总体积的箱型。
(3)按照候选箱型的排序,进行3D装箱模型求解,从小到大依次判断滤除部分候选箱型之后的箱子是否能装下所有物品,如果能够装下所有物品则确定该箱子为推荐箱型,并输出箱型和物品在箱子中的摆放位置,其中,进行3D装箱模型求解过程中,执行根据订单物品集合的物品的尺寸信息和候选箱型的尺寸信息,将候选箱型分成多层容纳空间,判断多层容纳空间是否能够填充订单物品集合中的所有物品。3D装箱模型求解主要使用的是仿人工装箱方式的3D快速装箱算法,通过依次计算每个候选箱型能否装下所有物品。
(4)若所有箱型都无法装下所有物品,则返回空(图2中未示出)。
需要说明的是,本发明实施方式不仅适用于拣货打包时的箱子推荐场景,还可应用于箱子、物流箱装车时选择最优车辆的场景等等,本发明不限定具体的应用场景。
示例性方法
下面结合图1和图2的应用场景,参考图3来描述根据本发明示例性实施方式的容器确定方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图3示意性地示出了根据本发明实施例的容器确定方法的流程图。
如图3所示,根据本发明实施例的容器确定方法包括操作S310~操作S340。
在操作S310,获取容器的尺寸信息和对象集合中的对象的尺寸信息,其中,容器的尺寸信息表征容器的轮廓,对象集合中包括多个对象,多个对象中的每个对象的尺寸信息表征对应对象的轮廓。
根据本发明的实施例,一个对象集合可以是一个订单或者清单,订单或者清单中可以包括一个或多个物品。每个物品的尺寸信息至少能够表征对应物品的轮廓。例如,物品具有对应的长宽高信息,通过物品对应的长宽高信息可以表征物品的轮廓。再例如,对于不规则物品,每个物品具有对应的边界信息,通过物品对应的边界信息可以表征物品的轮廓,当然,不规则物品的边界信息可以通过物品的长宽高信息来确定。
根据本发明的实施例,容器的类型不做限定。例如,容器可以是箱子,可以是圆桶,对于存放物品的仓库或车厢也可以作为一种容器。能够表征容器轮廓的尺寸信息可以参考上述对物品的尺寸信息的描述,在此不再赘述。
在操作S320,根据对象集合中的对象的尺寸信息和容器的尺寸信息,将容器分成多层容纳空间。
图4示意性地示出了根据本发明实施例的多层容纳空间的示意图。
如图4所示,可以将一长方体形状的箱子分成三层容纳空间,其中,第一层容纳空间具有对应的第一层高,第二层容纳空间具有对应的第二层高,第三层容纳空间具有对应的第三层高。第一层高、第二层高和第三层高可以相同,也可以不同。
在操作S330,判断多层容纳空间是否能够填充对象集合中的所有对象。
根据本发明的实施例,以对象集合为订单为例,为了能够将订单中的所有物品容纳在多层容纳空间中,可以通过使物品在容器中可以进行90度旋转,确定物品在多层容纳空间中的合理位置,从而将订单中的所有物品容纳在箱子中,可以避免因物品在箱子中的不合理摆放而导致所有物品不能装箱的情况。将物品装入箱子时可以对物品进行90度旋转,但是不能倾斜物品,可以提高确定的目标箱子的准确性。
图5示意性地示出了根据本发明实施例的以容器顶点为三维坐标系原点的示意图。
如图5所示,可以在三维坐标系中确定容器的边界,物品可以在容器中进行90度旋转以确定合适的位置。
根据本发明的实施例,在判断多层容纳空间是否能够填充对象集合中的所有对象时,可以将相应容纳空间确定后的层高与物品摆放在容器中时的高进行比较。如果物品摆放在容器中时的高小于或等于相应容纳空间确定后的层高,则说明物品可以容纳在该容纳空间中,否则,该物品就不能摆放在该容纳空间中。需要说明的是,物品摆放在容器中时,要求物品之间不得交叉重合,对于长方体等类似形状的物品,物品的长宽高只能水平于X轴、Y轴或者Z轴,并且物品不能超出箱子的长宽高范围。
在操作S340,在多层容纳空间能够填充对象集合中的所有对象的情况下,确定容器与对象集合匹配,输出对象集合中的对象在容器的多层容纳空间中的摆放位置。
根据本发明的实施例,对象集合中的对象在容器的多层容纳空间中的摆放位置包括对象具体所在的容纳空间,对象左右两侧的对象类型和尺寸信息等等。
本发明基于启发式方法,模拟人在装箱过程中习惯分层装箱,从底部往上装,一层一层的铺满,借鉴该思想,可以使用启发式策略和动态数据结构去模拟人工装箱的方式实现装箱算法,在满足高时效的同时也保证了较高的填充率。
根据能够表征对象轮廓的尺寸信息和能够表征容器轮廓的尺寸信息将容器分成多层容纳空间,判断多层容纳空间是否能够填充对象集合中的所有对象,在多层容纳空间能够填充对象集合中的所有对象的情况下,不但可以确定容器与对象集合匹配,而且还可以输出对象集合中的对象在容器的多层容纳空间中的摆放位置。
通过合适的容器,既能够减少包材的消耗,而且还可以降低开支;通过将容器分成多层容纳空间,运用了仿人工装箱的启发式装箱方法,可以在保证较高填充率的同时,能够在毫秒级时间内确定出合适箱型,不仅能够提高对象集合的处理效率,而且能够提升容器的空间利用率;通过输出对象在多层容纳空间中的摆放位置,在给出适合某订单的最优箱型的同时,也可以给出装箱方案,即订单中各物品在箱子中的相互位置、摆放方向和摆放顺序,使得物品之间的摆放有相互支撑,不会出现悬空等问题,更加贴合实际装箱的过程,便于相关人员直接打包装箱,减少了相关人员摆放物品的人工成本和时间成本,提高了作业效率。
下面参考图6~图8,结合具体实施例对图3所示的方法做进一步说明。
根据本发明的实施例,将对象集合与历史对象集合库中的历史对象集合进行匹配,确定与对象集合相匹配的目标历史对象集合,其中,历史对象集合库中的历史对象集合具有对应的容器,将目标历史对象集合对应的容器确定为用于容纳对象集合中的所有对象的目标容器。
根据本发明的实施例,以对象集合为订单、容器为箱子、历史对象集合库为历史订单库为例,历史订单库中包括多个历史订单,每个历史订单具有对应的箱型,对应箱型可以用于容纳历史订单中所包含的物品。
根据本发明的实施例,通过系统提供的外部接口,可以接入订单履约系统,通过订单履约系统中的历史订单库,将当前需要确定目标容器的订单与历史订单库中的订单进行匹配,通过自动化计算和求解出适合当前订单的最优箱型和装箱方案,计算过程无需人工干预。
图6示意性示出了根据本发明另一实施例的箱型推荐系统的架构图。
如图6所示,以对象集合为订单为例,该箱型推荐系统架构可以包括箱型推荐模块和规则配置模块。订单履约系统主要用于输出订单信息。仓库是实际装箱的仓库,订单以及订单对应的箱型推荐信息到达仓库后,仓库人员进行拣货装箱。
箱型推荐系统主要用于接收订单履约系统推送的订单信息,根据订单信息完成数据推荐。
规则配置模块用于配置特定商品指定箱型和一般箱型的设置,特定商品详细配置可以是针对超宽超大超重商品、轻奢贵重商品等商品配置固定箱型。
箱型推荐模块是箱型推荐系统的核心,会对订单完成箱型的推荐。该箱型推荐模块可以把历史箱型和启发式箱型推荐方法融合到一起,既结合了实际使用箱型的反馈信息,又能对新出现订单完成实时性推荐,进一步提升了系统稳定性和推用一致率。
根据本发明的实施例,在获取到对象集合之后,可以获取对象集合中的对象的类型信息,根据对象集合中的对象的类型信息判断是否需要配置特定容器,在判断需要配置特定容器的情况下,推荐特定容器。
以对象集合为订单为例,如果订单中包含古董,首先查询该订单中的古董是否命中配置规则,如果命中就直接返回规则配置的箱型,如果没有命中则进行查询历史相同订单。查询历史订单箱型主要是在历史订单中查询有无和本订单物品和数量都一致的订单,如果有,就使用该订单实际使用的箱型进行推荐,如果没有和本订单物品和数量都一致的订单,就按照图3所示的方法进行处理。
图7示意性示出了根据本发明另一实施例的容器确定方法的流程图。在该实施例中,除了包括上文参考图2描述的操作S210~S240之外,还包括操作S710~S740。为了描述的简洁起见,这里省略对操作S210~S240的描述。
如图7所示,根据本发明实施例的容器确定方法还包括操作S710~S740。
在操作S710,构建候选层列表,其中,候选层列表包括多层容纳空间中的每个容纳空间以及每个容纳空间的度量值,每个容纳空间的度量值是根据容纳空间的候选层高和对象集合中的对象的尺寸信息得到的。
根据本发明的实施例,候选层列表中的每个容纳空间的度量值用于评估所有可能层高(例如,以物品的长宽高作为可能层高)与容纳空间的候选层高之间的接近程度。可以通过计算每个对象的长宽高与候选层高的差值进行评估接近程度,差值越小说明对象的长宽高与该容纳空间的候选层高越接近。同时,也说明该容纳空间中的对象的高度越接近,说明该候选层高越合适。
根据本发明的实施例,每个容纳空间的度量值可以按照如下公式计算得到:
其中,Ak表示第k个容纳空间的度量值;li表示第i种对象的长度;wi表示第i种对象的宽度;hi表示第i种对象的高度;ak表示第k个容纳空间的候选层高;ni表示第i种对象的数量;N表示对象种类数量。根据本发明的实施例,以对象集合为订单为例,订单中包括10个商品,一共包括5种类型的商品,每种类型的商品可以包括2个商品。则N等于5,ni等于2。
根据本发明的实施例,可以将商品的形状视为长方体,每个商品具有对应的长宽高。例如,10个商品中的每个商品都具有对应的长宽高,一共包括30个数,去除这30个数中数值大小相等的数,得到15个大小不同的数,可以将该15个大小不同的数作为容纳空间的候选层高,数字15可以作为容纳空间的候选个数,记为K。即可以将商品的长宽高去重后得到的数量记为K,去重后的长宽高作为候选层高ak。当所有候选层高相加之后得到的数值大于容器的高时,可以将度量值Ak按照从大到小进行排序,将最大度量值Ak对应的候选层高剔除,如果剔除最大度量值Ak对应的候选层高之后,剩下的候选层高相加之后得到的数值仍然大于容器的高时,继续剔除排序为第二大的度量值Ak对应的候选层高,依次类推,直到剩下的候选层高相加之后得到的数值小于或等于容器的高。
在操作S720,根据候选层列表中每个容纳空间的度量值,确定每个容纳空间在容器中的空间位置。
根据本发明的实施例,可以将候选层列表中的度量值Ak按照从小到大进行排序,排序结果越靠前说明候选层高ak越接近最优,因此当前最优层的候选层高就是最小度量值Ak对应的ak,可以将最优层作为最底层位置的容纳空间。根据本发明的实施例,容纳空间的层高是从多个候选层高中确定的。例如,按照从小到大的顺序,取出一定数量的度量值Ak,确定该一定数量的度量值Ak对应的候选层高ak,容纳空间的层高可以是该一定数量的度量值Ak对应的候选层高ak。根据本发明的实施例,可以根据度量值Ak对应的候选层高和容器本身的高确定所述一定数量的度量值Ak。
在操作S730,按照每个容纳空间在容器中的空间位置,将对象集合中的对象先填充至容器中处于最底层位置的容纳空间,在填满处于最底层位置的容纳空间之后,再填充与处于最底层位置的容纳空间相邻的上一层容纳空间,直到多层容纳空间全部填充满或者对象集合中的所有对象都已填充至多层容纳空间中。
在操作S740,判断对象集合中的所有对象是否都已填充至多层容纳空间中。
根据本发明的实施例,将对象集合中的对象先填充至容器中处于最底层位置的容纳空间包括:将对象集合中的对象的尺寸信息与处于最底层位置的容纳空间的候选层高进行比较,确定满足第一摆放条件的第一目标对象,将满足第一摆放条件的第一目标对象填充在处于最底层位置的容纳空间中。其中,第一目标对象包括一个或多个对象。
根据本发明的实施例,例如,可以将对象集合中的对象的长宽高与最底层位置的容纳空间的候选层高进行比较,第一摆放条件可以是对象的长宽高中的长或宽或高,小于或等于候选层高。当第一目标对象数量较多时,如果处于最底层位置的容纳空间不能全部装下所有的第一目标对象,可以将多余的第一目标对象装入相邻的上一层容纳空间中。
图8示意性示出了根据本发明实施例的将满足第一摆放条件的第一目标对象填充在处于最底层位置的容纳空间中的流程图。
如图8所示,根据本发明实施例的容器确定方法还包括操作S810~S820。
根据本发明的实施例,将满足第一摆放条件的第一目标对象填充在处于最底层位置的容纳空间中包括操作S810~S820。
在操作S810,构建双向链表,双向链表包括与当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息。
在操作S820,根据双向链表所包括的与当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息,在当前填充节点填充满足第二摆放条件的第一匹配对象,其中,第一目标对象包括第一匹配对象。
根据本发明的实施例,第二摆放条件可以是待摆放物品的尺寸小于或等于当前填充节点的尺寸。
根据本发明的实施例,当物品的高小于或等于容纳空间的候选层高时,将物品填充在容纳空间中只需要考虑物品长度和宽度,因此可以把三维装箱问题映射为二维问题。在二维矩形摆放中,只需要寻找该容纳空间中需要被填充的空隙,并找到最合适的物品填充该空隙。可以通过动态双向链表实现将物品填充在容纳空间中,通过双向链表记录当前填充节点前后的物品是什么,以及该物品的位置、方向和尺寸信息。将需要被填充的空隙记为gap,通过寻找当前双向链表中Y值最小的节点进行计算,获取gap尺寸信息后,寻找合适的物品尽可能的去填充满当前gap。
图9示意性示出了根据本发明实施例的不同物品在容器中摆放的示意图。
如图9所示,目前当前容纳空间已包含物品901、902和903,不同物品之间的位置关系可以使用双向链表进行表示,如表1所示。
表1
前节点 | X | Y | 后节点 | 物品序号 |
null | 36 | 21 | 901 | |
36+23=59 | 13 | 902 | ||
59+38=97 | 23 | null | 903 |
由表1可以看出,Y轴方向的数值可以是物品的宽,X轴方向的数值可以是不同物品的长相加之后得到的和。
双向链表可以表示出不同物品之间的相互关系,比如物品901左侧为空,所以前置节点为空,右边放置了物品902。根据本发明的实施例,可以将物品的右上侧的顶点在坐标系中的位置作为物品的位置坐标。具体地,可以用X和Y表示物品902的位置坐标,因为物品902长宽为23和13,放置在物品901右侧后,X和Y值记为59和13,因此类推,物品903的X和Y为97和23。
根据本发明的实施例,为了放入新的物品,可以确定双向链表中当前Y值最小的物品。如表1所示,双向链表中当前Y值最小的物品为物品902,Y值为13,gap可以记为物品901和物品903之间的空隙,放入物品904。可以将物品904放置在物品902上方,因此在物品902前面插入节点,X和Y值记为49和23,可以理解为物品904放置在物品901右侧和物品902左侧。
图10示意性示出了根据本发明另一实施例的不同物品在容器中摆放的示意图。
如图10所示,目前当前容纳空间已包含物品901、902、903和904,不同物品之间的位置关系可以使用双向链表进行表示,如表2所示。
表2
前节点 | X | Y | 后节点 | 物品序号 |
null | 36 | 21 | 901 | |
36+13=49 | 10+13=23 | 904 | ||
36+23=59 | 13 | 902 | ||
59+38=97 | 23 | null | 903 |
图11示意性示出了根据本发明另一实施例的将物品摆放在容纳空间中的流程图。
在填充完处于最底层位置的容纳空间之后,再填充与处于最底层位置的容纳空间相邻的上一层容纳空间之后,如图11所示,将物品摆放在容纳空间中还包括操作S1110~S1140。
在操作S1110,判断处于最底层位置的容纳空间与上一层容纳空间之间是否存在剩余空闲间隙。
在操作S1120,在判断存在剩余空闲间隙的情况下,获取剩余空闲间隙的空间尺寸。
在操作S1130,确定满足第三摆放条件的第二匹配对象,其中,第三摆放条件是根据剩余空闲间隙的空间尺寸确定的。
在操作S1140,在剩余空闲间隙填充第二匹配对象。
根据本发明的实施例,在填充容纳空间后,由于物品的高不同,将导致容纳空间中存在高度参差不齐的问题,层中层处理可以解决容纳空间中高度参差不齐的问题。因此,可以设置用于记录层高变化的变量,判断相邻两层容纳空间之间是否存在剩余空闲间隙,如果剩余空闲间隙仍然能填充物品,可以将第二匹配对象填充到该剩余空闲间隙中。第三摆放条件可以是待摆放物品的尺寸小于或等于剩余空闲间隙的尺寸。其中,判断相邻两层容纳空间之间是否存在剩余空闲间隙的方式可以是:将容纳空间中的物品的高与相应的容纳空间的层高进行比较,如果容纳空间中的物品的高小于相应的容纳空间的层高,则可以确定存在剩余空闲间隙,并且,可以基于容纳空间中的物品的高与相应的容纳空间的层高之间的差值的绝对值确定剩余空闲间隙的尺寸信息。
图12示意性示出了根据本发明实施例的剩余空闲间隙的示意图。
如图12所示,虚线部分所围成的区域为剩余空闲间隙,该区域可以认为是层中层,可以对该区域进行填充。
根据本发明的实施例,容器中的任何相邻两个容纳空间之间如果存在空闲间隙,都可以参照图11所示的流程图对剩余空闲间隙进行填充,在此不再赘述。
图13示意性示出了根据本发明另一实施例的箱型确定方法和将物品摆放在容纳空间中的流程图。
如图13所示,箱型确定方法和将物品摆放在容纳空间中包括如下步骤:
(1)获取箱子的尺寸信息,物品的长宽高信息和数量,然后初始化运行参数。
(2)获取箱子的一个摆放方式。
(3)构建候选层列表。
(4)对候选层列表中的度量值进行排序。
(5)将最小度量值对应的候选层高作为初始容纳空间厚度。
(6)对容纳空间进行填充。
(7)判断是否存在剩余可装空间,若存在剩余可装空间,则对该空间进行填充;若不存在剩余可装空间,判断该容纳空间是否还能装下物品,若容纳空间还能装下物品,再次对容纳空间进行填充,若容纳空间不能装下物品,执行步骤(8)。
(8)判断箱子是否还能继续装下物品,若箱子不能继续装下物品,计算当前箱子的装箱填充率,选择最优装箱参数,判断是否装下所有物品,若已经装下所有物品,则获取最优参数,输出箱子的尺寸信息和物品摆放位置信息,若没有装下所有物品,执行步骤(9)。
(9)判断是否所有容纳空间都全部计算,若不是,返回执行步骤(5),若是,返回执行步骤(10)。
(10)判断是否对箱子的六个方位都已尝试,如果没有对箱子的六个方位都尝试,获取箱子的另一个摆放方式,重新执行步骤(1)及之后的步骤;若对箱子的六个方位都已尝试,获取最优参数。
根据本发明的实施例,需要说明的是,上述流程步骤并未按照图13中所记载的内容一一具体描述,对上述流程步骤的处理顺序可以参考图13中所记载的顺序,图13中所记载的任何内容都应该是本发明需要公开的部分。
本发明的优化方案可以保证在满足一定业务条件下,能寻找到近似全局最优解,即提供最优箱型。提供订单最优的箱型,一方面可以减少仓库在包材方面的开支,另一方面增加了箱内空间利用率,降低物品损坏的概率。获取订单数据后直接进行箱型推荐,在仓内人员获取到订单数据的同时也能够获取到箱型推荐信息和装箱信息,全程无人参与。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图14对本发明示例性实施方式的容器确定装置进行描述。
图14示意性地示出了根据本发明实施例的容器确定装置的框图。
如图14所示,该容器确定装置1400包括第一获取模块1410、划分模块1420、第一判断模块1430和输出模块1440。
第一获取模块1410用于获取容器的尺寸信息和对象集合中的对象的尺寸信息,其中,上述容器的尺寸信息表征上述容器的轮廓;上述对象集合中包括多个对象,上述多个对象中的每个对象的尺寸信息表征对应对象的轮廓;
划分模块1420用于根据上述对象集合中的对象的尺寸信息和上述容器的尺寸信息,将上述容器分成多层容纳空间;
第一判断模块1430用于判断上述多层容纳空间是否能够填充上述对象集合中的所有对象;以及
输出模块1440用于在上述多层容纳空间能够填充上述对象集合中的所有对象的情况下,确定上述容器与上述对象集合匹配,输出上述对象集合中的对象在上述容器的多层容纳空间中的摆放位置。
根据能够表征对象轮廓的尺寸信息和能够表征容器轮廓的尺寸信息将容器分成多层容纳空间,判断多层容纳空间是否能够填充对象集合中的所有对象,在多层容纳空间能够填充对象集合中的所有对象的情况下,不但可以确定容器与对象集合匹配,而且还可以输出对象集合中的对象在容器的多层容纳空间中的摆放位置。
通过合适的容器,既能够减少包材的消耗,而且还可以降低开支;通过将容器分成多层容纳空间,运用了仿人工装箱的启发式装箱方法,可以在保证较高填充率的同时,能够在毫秒级时间内给出合适箱型,不仅能够提高对象集合的处理效率,而且能够提升容器的空间利用率;通过输出对象在多层容纳空间中的摆放位置,在给出适合某订单的最优箱型的同时,也可以给出装箱方案,即订单中各物品在箱子中的相互位置、摆放方向和摆放顺序,使得物品之间的摆放有相互支撑,不会出现悬空等问题,更加贴合实际装箱的过程,便于相关人员直接打包装箱,减少了相关人员摆放物品的人工成本和时间成本,提高了作业效率。
根据本发明的实施例,该容器确定装置1400还包括:构建模块,用于构建候选层列表,其中,上述候选层列表包括上述多层容纳空间中的每个容纳空间以及每个容纳空间的度量值,上述每个容纳空间的度量值是根据容纳空间的候选层高和上述对象集合中的对象的尺寸信息得到的;第一确定模块,用于根据上述候选层列表中上述每个容纳空间的度量值,确定上述每个容纳空间在上述容器中的空间位置;填充模块,用于按照上述每个容纳空间在上述容器中的空间位置,将上述对象集合中的对象先填充至上述容器中处于最底层位置的容纳空间,在填满上述处于最底层位置的容纳空间之后,再填充与上述处于最底层位置的容纳空间相邻的上一层容纳空间,直到上述多层容纳空间全部填充满或者上述对象集合中的所有对象都已填充至上述多层容纳空间中;以及上述第一判断模块1430用于判断上述对象集合中的所有对象是否都已填充至上述多层容纳空间中。
根据本发明的实施例,上述填充模块包括:确定单元,用于将上述对象集合中的对象的尺寸信息与上述处于最底层位置的容纳空间的候选层高进行比较,确定满足第一摆放条件的第一目标对象,其中,上述第一目标对象包括一个或多个对象;以及填充单元,用于将上述满足第一摆放条件的第一目标对象填充在上述处于最底层位置的容纳空间中。
根据本发明的实施例,上述填充单元用于:构建双向链表,其中,上述双向链表包括与上述当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息;以及根据上述双向链表所包括的与上述当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息,在上述当前填充节点填充满足第二摆放条件的第一匹配对象,其中,上述第一目标对象包括上述第一匹配对象。
根据本发明的实施例,该容器确定装置1400还包括:第二判断模块,用于在填充完上述处于最底层位置的容纳空间之后,再填充与上述处于最底层位置的容纳空间相邻的上一层容纳空间之后,判断上述处于最底层位置的容纳空间与上述上一层容纳空间之间是否存在剩余空闲间隙;第二获取模块,用于在判断存在剩余空闲间隙的情况下,获取上述剩余空闲间隙的空间尺寸;第二确定模块,用于确定满足第三摆放条件的第二匹配对象,其中,上述第三摆放条件是根据上述剩余空闲间隙的空间尺寸确定的;以及上述填充模块还用于在上述剩余空闲间隙填充上述第二匹配对象。
根据本发明的实施例,上述每个容纳空间的度量值按照如下公式计算得到:
其中,Ak表示第k个容纳空间的度量值;li表示第i种对象的长度;wi表示第i种对象的宽度;hi表示第i种对象的高度;ak表示第k个容纳空间的候选层高;ni表示第i种对象的数量;N表示对象种类数量。
根据本发明的实施例,该容器确定装置1400还包括:第三确定模块,用于将上述对象集合与历史对象集合库中的历史对象集合进行匹配,确定与上述对象集合相匹配的目标历史对象集合,其中,上述历史对象集合库中的历史对象集合具有对应的容器;以及第四确定模块,用于将上述目标历史对象集合对应的容器确定为用于容纳上述对象集合中的所有对象的目标容器。
根据本发明的实施例,该容器确定装置1400还包括:第三获取模块,用于获取上述对象集合中的对象的类型信息;第三判断模块,用于根据上述对象集合中的对象的类型信息判断是否需要配置特定容器;推荐模块,用于在判断需要配置上述特定容器的情况下,推荐上述特定容器。
示例性介质
在介绍了本发明示例性实施方式的装置之后,接下来,参考图15对本发明示例性实施方式的、用于存储有计算机可执行指令,该指令在被处理单元执行时用于实现上述容器确定方法的介质进行描述。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的容器确定方法中的操作,例如,所述计算设备可以执行如图3中所示的操作S310~操作S340。在操作S310,获取容器的尺寸信息和对象集合中的对象的尺寸信息。在操作S320,根据对象集合中的对象的尺寸信息和容器的尺寸信息,将容器分成多层容纳空间。在操作S330,判断多层容纳空间是否能够填充对象集合中的所有对象。在操作S340,在多层容纳空间能够填充对象集合中的所有对象的情况下,确定容器与对象集合匹配,输出对象集合中的对象在容器的多层容纳空间中的摆放位置。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
图15示意性地示出了根据本发明实施方式的用于实现容器确定方法的程序产品示意图。
图15所示,描述了根据本发明的实施方式的用于实现容器确定方法的程序产品40,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言诸如Java,C++等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图16对本发明示例性实施方式的计算设备进行描述,该计算设备包括处理单元和存储单元,存储单元存储有计算机可执行指令,上述指令在被上述处理单元执行时用于实现上述容器确定方法。
本发明实施例还提供了一种计算设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的容器确定方法中的步骤。例如,所述处理单元可以执行如图3中所示的操作S310~操作S340。在操作S310,获取容器的尺寸信息和对象集合中的对象的尺寸信息。在操作S320,根据对象集合中的对象的尺寸信息和容器的尺寸信息,将容器分成多层容纳空间。在操作S330,判断多层容纳空间是否能够填充对象集合中的所有对象。在操作S340,在多层容纳空间能够填充对象集合中的所有对象的情况下,确定容器与对象集合匹配,输出对象集合中的对象在容器的多层容纳空间中的摆放位置。
图16示意性地示出了根据本发明实施例的用于实现容器确定方法的计算设备的框图。
下面参照图16来描述根据本发明的这种实施方式的用于实现容器确定方法的计算设备50。如图16所示的计算设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图16所示,计算设备50以通用计算设备的形式表现。计算设备50的组件可以包括但不限于:上述至少一个处理单元501、上述至少一个存储单元502、连接不同系统组件(包括存储单元502和处理单元501)的总线503。
总线503包括数据总线、地址总线和控制总线。
存储单元502可以包括易失性存储器,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022,还可以进一步包括只读存储器(ROM)5023。
存储单元502还可以包括具有一组(至少一个)程序模块5024的程序/实用工具5025,这样的程序模块5024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备50也可以与一个或多个外部设备504(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/0)接口505进行。并且,计算设备50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器506通过总线503与计算设备50的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (18)
1.一种容器确定方法,包括:
获取容器的尺寸信息和对象集合中的对象的尺寸信息,其中,所述容器的尺寸信息表征所述容器的轮廓;所述对象集合中包括多个对象,所述多个对象中的每个对象的尺寸信息表征对应对象的轮廓;
根据所述对象集合中的对象的尺寸信息和所述容器的尺寸信息,将所述容器分成多层容纳空间;
构建候选层列表,其中,所述候选层列表包括所述多层容纳空间中的每个容纳空间以及每个容纳空间的度量值,所述每个容纳空间的度量值是根据容纳空间的候选层高和所述对象集合中的对象的尺寸信息得到的;
根据所述候选层列表中所述每个容纳空间的度量值,确定所述每个容纳空间在所述容器中的空间位置;
判断所述多层容纳空间是否能够填充所述对象集合中的所有对象;以及
在所述多层容纳空间能够填充所述对象集合中的所有对象的情况下,确定所述容器与所述对象集合匹配,输出所述对象集合中的对象在所述容器的多层容纳空间中的摆放位置。
2.根据权利要求1所述的方法,还包括:
按照所述每个容纳空间在所述容器中的空间位置,将所述对象集合中的对象先填充至所述容器中处于最底层位置的容纳空间,在填满所述处于最底层位置的容纳空间之后,再填充与所述处于最底层位置的容纳空间相邻的上一层容纳空间,直到所述多层容纳空间全部填充满或者所述对象集合中的所有对象都已填充至所述多层容纳空间中;以及
判断所述多层容纳空间是否能够填充所述对象集合中的所有对象包括:判断所述对象集合中的所有对象是否都已填充至所述多层容纳空间中。
3.根据权利要求2所述的方法,其中,将所述对象集合中的对象先填充至所述容器中处于最底层位置的容纳空间包括:
将所述对象集合中的对象的尺寸信息与所述处于最底层位置的容纳空间的候选层高进行比较,确定满足第一摆放条件的第一目标对象,其中,所述第一目标对象包括一个或多个对象;以及
将所述满足第一摆放条件的第一目标对象填充在所述处于最底层位置的容纳空间中。
4.根据权利要求3所述的方法,其中,将所述满足第一摆放条件的第一目标对象填充在所述处于最底层位置的容纳空间中包括:
构建双向链表,其中,所述双向链表包括与当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息;以及
根据所述双向链表所包括的与所述当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息,在所述当前填充节点填充满足第二摆放条件的第一匹配对象,其中,所述第一目标对象包括所述第一匹配对象。
5.根据权利要求2所述的方法,其中,在填充完所述处于最底层位置的容纳空间之后,再填充与所述处于最底层位置的容纳空间相邻的上一层容纳空间之后,所述方法还包括:
判断所述处于最底层位置的容纳空间与所述上一层容纳空间之间是否存在剩余空闲间隙;
在判断存在剩余空闲间隙的情况下,获取所述剩余空闲间隙的空间尺寸;
确定满足第三摆放条件的第二匹配对象,其中,所述第三摆放条件是根据所述剩余空闲间隙的空间尺寸确定的;以及
在所述剩余空闲间隙填充所述第二匹配对象。
7.根据权利要求1所述的方法,还包括:
将所述对象集合与历史对象集合库中的历史对象集合进行匹配,确定与所述对象集合相匹配的目标历史对象集合,其中,所述历史对象集合库中的历史对象集合具有对应的容器;以及
将所述目标历史对象集合对应的容器确定为用于容纳所述对象集合中的所有对象的目标容器。
8.根据权利要求1所述的方法,还包括:
获取所述对象集合中的对象的类型信息;
根据所述对象集合中的对象的类型信息判断是否需要配置特定容器;以及
在判断需要配置所述特定容器的情况下,推荐所述特定容器。
9.一种容器确定装置,包括:
第一获取模块,用于获取容器的尺寸信息和对象集合中的对象的尺寸信息,其中,所述容器的尺寸信息表征所述容器的轮廓;所述对象集合中包括多个对象,所述多个对象中的每个对象的尺寸信息表征对应对象的轮廓;
划分模块,用于根据所述对象集合中的对象的尺寸信息和所述容器的尺寸信息,将所述容器分成多层容纳空间;
构建模块,用于构建候选层列表,其中,所述候选层列表包括所述多层容纳空间中的每个容纳空间以及每个容纳空间的度量值,所述每个容纳空间的度量值是根据容纳空间的候选层高和所述对象集合中的对象的尺寸信息得到的;
第一确定模块,用于根据所述候选层列表中所述每个容纳空间的度量值,确定所述每个容纳空间在所述容器中的空间位置;
第一判断模块,用于判断所述多层容纳空间是否能够填充所述对象集合中的所有对象;以及
输出模块,用于在所述多层容纳空间能够填充所述对象集合中的所有对象的情况下,确定所述容器与所述对象集合匹配,输出所述对象集合中的对象在所述容器的多层容纳空间中的摆放位置。
10.根据权利要求9所述的装置,还包括:
填充模块,用于按照所述每个容纳空间在所述容器中的空间位置,将所述对象集合中的对象先填充至所述容器中处于最底层位置的容纳空间,在填满所述处于最底层位置的容纳空间之后,再填充与所述处于最底层位置的容纳空间相邻的上一层容纳空间,直到所述多层容纳空间全部填充满或者所述对象集合中的所有对象都已填充至所述多层容纳空间中;以及
所述第一判断模块用于判断所述对象集合中的所有对象是否都已填充至所述多层容纳空间中。
11.根据权利要求10所述的装置,其中,所述填充模块包括:
确定单元,用于将所述对象集合中的对象的尺寸信息与所述处于最底层位置的容纳空间的候选层高进行比较,确定满足第一摆放条件的第一目标对象,其中,所述第一目标对象包括一个或多个对象;以及
填充单元,用于将所述满足第一摆放条件的第一目标对象填充在所述处于最底层位置的容纳空间中。
12.根据权利要求11所述的装置,其中,所述填充单元用于:
构建双向链表,其中,所述双向链表包括与当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息;以及
根据所述双向链表所包括的与当前填充节点相邻的第一对象和/或第二对象的位置信息和尺寸信息,在所述当前填充节点填充满足第二摆放条件的第一匹配对象,其中,所述第一目标对象包括所述第一匹配对象。
13.根据权利要求10所述的装置,其中,所述装置还包括:
第二判断模块,用于在填充完所述处于最底层位置的容纳空间之后,再填充与所述处于最底层位置的容纳空间相邻的上一层容纳空间之后,判断所述处于最底层位置的容纳空间与所述上一层容纳空间之间是否存在剩余空闲间隙;
第二获取模块,用于在判断存在剩余空闲间隙的情况下,获取所述剩余空闲间隙的空间尺寸;
第二确定模块,用于确定满足第三摆放条件的第二匹配对象,其中,所述第三摆放条件是根据所述剩余空闲间隙的空间尺寸确定的;以及
所述填充模块还用于在所述剩余空闲间隙填充所述第二匹配对象。
15.根据权利要求9所述的装置,还包括:
第三确定模块,用于将所述对象集合与历史对象集合库中的历史对象集合进行匹配,确定与所述对象集合相匹配的目标历史对象集合,其中,所述历史对象集合库中的历史对象集合具有对应的容器;以及
第四确定模块,用于将所述目标历史对象集合对应的容器确定为用于容纳所述对象集合中的所有对象的目标容器。
16.根据权利要求9所述的装置,还包括:
第三获取模块,用于获取所述对象集合中的对象的类型信息;
第三判断模块,用于根据所述对象集合中的对象的类型信息判断是否需要配置特定容器;以及
推荐模块,用于在判断需要配置所述特定容器的情况下,推荐所述特定容器。
17.一种介质,存储有计算机可执行指令,所述指令在被处理单元执行时用于实现权利要求1至8中任一项所述的方法。
18.一种计算设备,包括:
处理单元;以及
存储单元,存储有计算机可执行指令,所述指令在被所述处理单元执行时用于实现权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910336287.8A CN110097315B (zh) | 2019-04-24 | 2019-04-24 | 容器确定方法、容器确定装置、介质和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910336287.8A CN110097315B (zh) | 2019-04-24 | 2019-04-24 | 容器确定方法、容器确定装置、介质和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110097315A CN110097315A (zh) | 2019-08-06 |
CN110097315B true CN110097315B (zh) | 2021-06-25 |
Family
ID=67445778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910336287.8A Active CN110097315B (zh) | 2019-04-24 | 2019-04-24 | 容器确定方法、容器确定装置、介质和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110097315B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110503380A (zh) * | 2019-09-09 | 2019-11-26 | 杭州安芯科技有限公司 | 包裹自动分类打包的方法和系统 |
CN113762560A (zh) * | 2020-06-23 | 2021-12-07 | 北京京东乾石科技有限公司 | 一种物料容器的选型方法和装置 |
CN111862350B (zh) * | 2020-07-16 | 2021-08-24 | 中国科学院深圳先进技术研究院 | 一种在线装箱方法、终端及存储介质 |
CN114066676A (zh) * | 2020-08-05 | 2022-02-18 | 广东博智林机器人有限公司 | 一种装配适配的处理方法、装置、设备及存储介质 |
CN112001535B (zh) * | 2020-08-10 | 2022-03-18 | 上海东普信息科技有限公司 | 物流装箱方法、装置、设备及存储介质 |
CN113034228B (zh) * | 2021-03-19 | 2023-04-11 | 上海哔哩哔哩科技有限公司 | 订单管理方法及装置 |
CN113487136B (zh) * | 2021-06-07 | 2023-04-07 | 海南太美航空股份有限公司 | 一种航空运力加急调度的方法、系统和电子设备 |
CN113327064A (zh) * | 2021-06-29 | 2021-08-31 | 深圳市多点绿环保科技有限公司 | 一种单个订单内有多个sku自动选择适用包装箱型的方法 |
CN113791914B (zh) * | 2021-11-17 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 对象处理方法、装置、计算机设备、存储介质及产品 |
CN114255160B (zh) * | 2022-02-28 | 2022-06-14 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN114581011A (zh) * | 2022-03-08 | 2022-06-03 | 南京希音电子商务有限公司 | 一种包装耗材推荐方法、装置、设备和存储介质 |
CN117114561A (zh) * | 2022-05-10 | 2023-11-24 | 北京极智嘉科技股份有限公司 | 订单处理方法、装置、电子设备和计算机存储介质 |
CN114819426B (zh) * | 2022-07-01 | 2022-12-09 | 深圳市海清数字技术有限公司 | 货物装车方案确定方法、装置、设备及存储介质 |
CN115187146A (zh) * | 2022-09-09 | 2022-10-14 | 北京和能人居科技有限公司 | 打包方案生成方法、装置、电子设备及计算机存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376443A (zh) * | 2014-10-28 | 2015-02-25 | 宁波保税区攀峒信息科技有限公司 | 一种模块化容器及模块化容器集装装置 |
US11008145B2 (en) * | 2017-04-28 | 2021-05-18 | The Procter & Gamble Company | Packing system and method of packing |
CN107679795B (zh) * | 2017-09-26 | 2024-08-06 | 星境云创数字技术(深圳)有限公司 | 一种物品包装方式选择的方法 |
CN109491762B (zh) * | 2018-11-09 | 2021-07-09 | 网易(杭州)网络有限公司 | 容器状态控制方法及装置、存储介质、电子设备 |
-
2019
- 2019-04-24 CN CN201910336287.8A patent/CN110097315B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110097315A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110097315B (zh) | 容器确定方法、容器确定装置、介质和计算设备 | |
CN109919424B (zh) | 容器确定方法及装置、介质和计算设备 | |
Mirzaei et al. | The impact of integrated cluster-based storage allocation on parts-to-picker warehouse performance | |
CN112001535B (zh) | 物流装箱方法、装置、设备及存储介质 | |
US11049065B2 (en) | Automated guided vehicle control and organizing inventory items using stock keeping unit clusters | |
CN108960708B (zh) | 货物上架方法、装置、系统、货物上架终端及存储介质 | |
JP6986173B1 (ja) | 注文処理方法、装置、デバイス、システム及び記憶媒体 | |
WO2018107786A1 (zh) | 物料整理任务生成、物料整理方法及装置 | |
CN111027902B (zh) | 无人仓货品运输匹配方法及装置 | |
US20140025420A1 (en) | Simultaneous micro space and assortment optimization for products | |
CN113743876B (zh) | 一种用于核电装备的数字孪生无人仓库管理系统 | |
JPWO2021019702A1 (ja) | 自動化倉庫最適化システム | |
US20220351133A1 (en) | Modeling dynamic material flow in generative design using topological maps | |
CN115724113A (zh) | 货物拣选方法、装置、电子设备和可读存储介质 | |
CN115660380B (zh) | 货到人拣选的订单处理方法及装置 | |
CN115759929A (zh) | 货物拣选方法、装置、电子设备和可读存储介质 | |
CN114581011A (zh) | 一种包装耗材推荐方法、装置、设备和存储介质 | |
CN111126857A (zh) | 密集仓储的任务管理方法、装置及电子设备 | |
Albán et al. | A new policy for scattered storage assignment to minimize picking travel distances | |
Islam et al. | Correlated storage assignment approach in warehouses: A systematic literature review | |
CN117875834A (zh) | 货物的分配处理方法、系统、设备及介质 | |
CN110889599B (zh) | 订单处理方法及装置、仓储系统、计算机设备和存储介质 | |
Zhuang et al. | Improving order picking efficiency through storage assignment optimization in robotic mobile fulfillment systems | |
Neroni et al. | A multistart biased‐randomized algorithm for solving a three‐dimensional case picking problem with real‐life constraints | |
US20140358600A1 (en) | Item placement optimizer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191112 Address after: 310012 G building, 10 floor, A building, Paradise Software Park, 3 West Road, Hangzhou, Xihu District, Zhejiang Applicant after: Alibaba (China) Co., Ltd. Address before: Hangzhou City, Zhejiang province 310051 Binjiang District River Street No. 1786 Jianghan Road Longsheng Building Room 803 Applicant before: Netease Koala (Hangzhou) Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |