CN113128118B - 一种基于分支定界算法的单规格码垛方法及码垛系统 - Google Patents
一种基于分支定界算法的单规格码垛方法及码垛系统 Download PDFInfo
- Publication number
- CN113128118B CN113128118B CN202110426707.9A CN202110426707A CN113128118B CN 113128118 B CN113128118 B CN 113128118B CN 202110426707 A CN202110426707 A CN 202110426707A CN 113128118 B CN113128118 B CN 113128118B
- Authority
- CN
- China
- Prior art keywords
- stacking
- queue
- state
- area
- goods
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G57/00—Stacking of articles
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Mechanical Engineering (AREA)
- Stacking Of Articles And Auxiliary Devices (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于分支定界算法的单规格码垛方法及码垛系统,单规格码垛方法包括以下步骤:步骤A:输入托盘尺寸和货物尺寸;步骤B:根据托盘尺寸建立二维笛卡尔坐标系;步骤C:模拟货物的垛型,并根据分支定界算法,计算货物的最佳垛型;步骤D:输出货物的最佳垛型。本发明基于分支定界算法来求解单规格码垛问题,由于货物为单规格,货物高度、长度和宽度相同,故可以省去货物的高度,将其简化为二维布局问题。本发明所述的单规格码垛方法应用分支定界算法,能够在限定时间内不断迭代搜索,直至找到最优解,具有求解效率高和码垛利用率高的特点。
Description
技术领域
本发明涉及自动化技术领域,尤其涉及一种基于分支定界算法的单规格码垛方法及码垛系统。
背景技术
近年来工业机器人在物流运输和工业生产领域中运用的越来越广泛,替代了大量体力、重复性工作,而码垛机器人在其中扮演着重要角色。单规格码垛又是在工业生产中比较常见的一种情况,如在食品、饮料、医药,物流等行业。而在一些行业中,运输搬运费用占很大比列,特别是在大批量的生产中,高的码垛效率能大大的减少工作时间,从而可以带来显著的经济效益。
现有的技术多用遗传算法和模拟退火算法来求解码垛问题的最优解。虽然遗传算法在解决高维空间、高复杂及非线性问题的优化中具有全局最优、效率高及易于并行计算等优点,有很强的解决问题的能力,但有着收敛速度慢和易陷入局部最优解的缺点。而模拟退火算法是一种有可能得到优化问题的全局最优解的问题求解方法,并且已经逐步成为一种用于优化问题求解的一般、通用的方法,但是即问题求解过程极其漫长,因此,现今应用的大部分码垛算法存在求解大规模效率低下,码垛利用率不高,运用范围受限的问题。
发明内容
本发明的目的在于提出一种基于分支定界算法的单规格码垛方法及码垛系统,以解决现有码垛算法中存在求解大规模效率低下,码垛利用率不高和运用范围受限的问题。
为达此目的,本发明采用以下技术方案:
本发明提供了一种基于分支定界算法的单规格码垛方法,包括以下步骤:
步骤A:输入托盘尺寸和货物尺寸;
步骤B:根据托盘尺寸建立二维笛卡尔坐标系;
步骤C:模拟货物的垛型,并根据分支定界算法,计算货物的最佳垛型;
步骤D:输出货物的最佳垛型。
所述的基于分支定界算法的单规格码垛方法中,所述步骤B包括:以所述托盘的左下角为二维笛卡尔坐标系原点,所述托盘的两侧边分别设为x轴和y轴。
所述的基于分支定界算法的单规格码垛方法中,所述步骤C包括:
步骤C1:设B为二维笛卡尔坐标系的总面积,设R为矩形的占用面积,设L为空闲面积,所述空闲面积L=总面积B-占用面积R;占用面积R和空闲面积L之间形成阶梯状的边界线,将所述边界线中水平线段的左端称为角点,而水平线段的右端称为拐点;放置矩形时,所述角点与矩形的一角重合;
步骤C2:设S为货物的堆积状态,所述堆积状态S表示阶梯状的边界线;创建队列Q和队列P,所述队列Q用于存放所有存在可用角点的堆积状态S;所述堆积状态S包括所有可用角点集合S.aList、最大利用率S.aUB和已放置矩形的利用率S.area;
步骤C3:判断队列Q是否为空,若是,则进入步骤D;若否,则进入步骤C4;
步骤C4:将所述队列Q中所有堆积状态S的S.aUB分别与默认最大利用率比较,将所述堆积状态S从队列Q转移至队列P;若所述堆积状态S的S.aUB小于默认最大利用率,则将所述堆积状态S移除;若所述堆积状态S的S.aUB大于默认最大利用率,则进入步骤C5;
步骤C5:放入一个矩形,使所述矩形的一角位于角点,并更新堆积状态S和队列Q;
步骤C6:判断S.aList中是否存在可用角点,若是,则进入步骤C7;若否,则将该堆积状态S移除,并进入步骤C3;
步骤C7:计算当前S.aUB,若当前S.aUB小于默认最大利用率,从队列Q中移除所述堆积状态S,并更换下一个可用角点,并进入步骤C6;
若当前S.aUB大于默认最大利用率,则判断堆积状态S是否存在于队列Q或队列P;
若是,更换下一个可用角点,并进入步骤C9;若否,将堆积状态S存入队列Q中,将步骤C7得到的该S.aUB设为新的默认最大利用率,更换下一个可用角点,并进入步骤C6。
所述的基于分支定界算法的单规格码垛方法中,所述步骤C5中还包括角点筛选;所述角点筛选的步骤包括:
判断角点放置矩形后,所述矩形是否超过二维笛卡尔坐标系的范围,若是,则删去角点;若否,则所述角点保留为可用角点。
所述的基于分支定界算法的单规格码垛方法中,所述步骤C5中更新堆积状态S的步骤包括:
(1)添加一个新的拐点p*到拐点集合中;
(2)从拐点集合中移除由拐点p*所控制的拐点。
所述的基于分支定界算法的单规格码垛方法中,:所述步骤C7中判断堆积状态S是否存在于队列Q或队列P后,还包括以下步骤:
创建哈希表Hash,判断所述队列Q与队列P中是否存在于当前堆积状态S可用角点相同的状态;
若是,则比较两个堆积状态S的S.area大小,将S.area小的堆积状态S从队列Q中移除,并将S.area大的堆积状态S放入哈希表Hash;
若否,将所述堆积状态S存入队列Q时,同步放入哈希表Hash。
所述的基于分支定界算法的单规格码垛方法中,设空闲面积L的最大利用率为SlA.area,所述最大利用率S.aUB=S.area+SlA.area。
所述的基于分支定界算法的单规格码垛方法中,所述空闲面积L的最大利用率SlA.area通过背包问题计算获得。
本发明还提供了一种码垛系统,包括:
输入模块,用于输入托盘尺寸和货物尺寸;
坐标建立模块,用于根据托盘尺寸建立二维笛卡尔坐标系;
模拟模块,用于根据货物尺寸模拟货物的垛型,并根据分支定界算法,计算货物的最佳垛型
输出模块,用于输出货物的最佳垛型。
本发明所述基于分支定界算法的单规格码垛方法可以具有以下有益效果:
本发明所述的单规格码垛方法应用分支定界算法,以求解单规格货物码垛的最优解。该算法通过获取堆积状态S的最大利用率,与默认最大利用率比较,如果该堆积状态S的最大利用率解小于或等于默认最大利用率,则剪去这一分支,结束迭代;如果该堆积状态S的最大利用率大于默认最大利用率,则用该最大利用率设置为默认最大利用率,然后依次尝试把下一个矩形放入该堆积状态S下中的所有可用角点上,能够在限定时间内不断迭代搜索,直至找到最优解,具有求解效率高和码垛利用率高的特点。
附图说明
附图对本发明做进一步说明,但附图中的内容不构成对本发明的任何限制。
图1是本发明其中一个实施例的流程图;
图2是本发明其中一个实施例中创建哈希表Hash的流程示意图;
图3是本发明其中一个实施例中码垛过程的示意图;
图4是实施例1中货物的最佳垛型示意图;
图5是实施例2中货物的最佳垛型示意图;
附图中:托盘1、边界线2、可用角点21、拐点22、无效角点23、货物堆叠时浪费空间3、占用面积R、空闲面积L。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“左”、“右”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
术语解释:
(1)分支定界算法:分支定界算法是一种求解整数规划问题的最常用算法。通常把全部可行解空间反复地分割为越来越小的子集,称为分枝;并且对每个子集内的解集计算一个目标下界(对于最小值问题),这称为定界。在每次分枝后,凡是界限超出已知可行解集目标值的那些子集不再进一步分枝,这样,许多子集可不予考虑,这称剪枝。
(2)单规格码垛:指把大小完全一样的货物,按一定的码放顺序放在托盘、栈板上,该问题一般可以简化成二维布局问题,即将相同大小的小矩形放入到一大矩形中,要求放入的小矩形尽可能多。
请参照图1~图5,本发明提供了一种基于分支定界算法的单规格码垛方法,包括以下步骤:
步骤A:输入托盘1尺寸和货物尺寸;
步骤B:根据托盘1尺寸建立二维笛卡尔坐标系;
步骤C:模拟货物的垛型,并根据分支定界算法,计算货物的最佳垛型;
步骤D:输出货物的最佳垛型。
本发明基于分支定界算法来求解单规格码垛问题,由于货物为单规格,货物高度、长度和宽度相同,故可以省去货物的高度,将其简化为二维布局问题,本发明采用两种大小不同的矩形表示货物和托盘小矩形正交放置大矩形上,且数量不受限制,要求放入小矩形的数量尽可能多。用阶梯状的边界线表示小矩形在大矩形上的堆积状态,设定小矩形只能放置在可用角点21上。并且,调用了贪婪算法生产完整解,加快求解过程。
进一步地,所述步骤B包括:以所述托盘1的左下角为二维笛卡尔坐标系原点,所述托盘1的两侧边分别设为x轴和y轴。
更进一步地,请参照图1,所述步骤C包括:
步骤C1:设B为二维笛卡尔坐标系的总面积,设R为矩形的占用面积,设L为空闲面积,所述空闲面积L=总面积B-占用面积R;占用面积R和空闲面积L之间形成阶梯状的边界线2,将所述边界线2中水平线段的左端称为角点,而水平线段的右端称为拐点22;放置矩形时,所述角点与矩形的一角重合;
步骤C2:设S为货物的堆积状态,所述堆积状态S表示阶梯状的边界线2;创建队列Q和队列P,所述队列Q用于存放所有存在可用角点21的堆积状态S;所述堆积状态S包括所有可用角点集合S.aList、最大利用率S.aUB和已放置矩形的利用率S.area;
步骤C3:判断队列Q是否为空,若是,则进入步骤D;若否,则进入步骤C4;
步骤C4:将所述队列Q中所有堆积状态S的S.aUB分别与默认最大利用率比较,将所述堆积状态S从队列Q转移至队列P;若所述堆积状态S的S.aUB小于默认最大利用率,则将所述堆积状态S移除;若所述堆积状态S的S.aUB大于默认最大利用率,则进入步骤C5;
步骤C5:放入一个矩形,使所述矩形的一角位于角点,并更新堆积状态S和队列Q;
步骤C6:判断S.aList中是否存在可用角点21,若是,则进入步骤C7;若否,则将该堆积状态S移除,并进入步骤C3;
步骤C7:计算当前S.aUB,若当前S.aUB小于默认最大利用率,从队列Q中移除所述堆积状态S,并更换下一个可用角点21,并进入步骤C6;
若当前S.aUB大于默认最大利用率,则判断堆积状态S是否存在于队列Q或队列P;
若是,更换下一个可用角点21,并进入步骤C9;若否,将堆积状态S存入队列Q中,将步骤C7得到的该S.aUB设为新的默认最大利用率,更换下一个可用角点21,并进入步骤C6。
本发明所述的单规格码垛方法应用分支定界算法,以求解单规格货物码垛的最优解。该算法通过获取堆积状态S的最大利用率,与默认最大利用率比较(初始状态下,当前最优解可以设为零),如果该堆积状态S的最大利用率解小于或等于默认最大利用率,则剪去这一分支,结束迭代;如果该堆积状态S的最大利用率大于默认最大利用率,则用该最大利用率设置为默认最大利用率,然后依次尝试把下一个矩形放入该堆积状态S下中的所有可用角点21上,得到子状态S’,如果得到的子状态S’的最大利用率小于默认最大利用率,或者获得的子状态S’已放置矩形的利用率S.area小于该堆积状态S,则移除这一分支,然后再尝试下一个角点;如果得到的子状态S’的最大利用率解大于默认最大利用率,计算该子状态S’的完全状态的利用率上界,然后用子状态S’替换当前最佳解,将子状态S’更新为堆积状态S,然后继续尝试将下一个矩形放入角点。在限定时间内不断迭代搜索,直至找到最优解。若在搜索过程中,找到S’状态的互补状态,把和其互补阶梯结合在一起,获得一个完全状态,并计算该完全状态的最大利用率解S.aUB,若该完全状态的最大利用率解S.aUB大于当前最佳解,则用该值替换当前最优解,完成当前最佳解的更新。
完全状态的定义为:如果S.aList中为空或者已无可用角点,使矩形不能放入,则称之为完全状态,反之则为不完全状态;
垛型状态是随着码垛过程而改变的,初始状态时,每更新一个堆积状态S就需要把这个堆积状态S存入队列Q;队列P时存了整个码垛过程中的所有堆积状态S,用于剪枝判断。当堆积状态S所有可用角点放置完,或者是它的最大利用率小于默认最大利用率时,将堆积状态S从队列Q移除,当所有可能的堆积状态S都计算完成后,均从队列Q中移除,此时,队列Q为空,即可停止循环,并将此时的当前最佳解作为货物的最佳垛型输出。
如果堆积状态S’是在堆积状态S的S.aList中的一个可用角点22上放置一个矩形而形成,则将堆积状态S’称为堆积状态S的子状态,将堆积状态S称为堆积状态S’的父状态。若堆积状态S所有的子状态都生成了,则称堆积状态S为扩展状态,反之,则为非扩展状态;队列Q用来存放所有非扩展状态,队列P用来存放所有扩展状态。
请参照图3,托盘的尺寸的长度为H,宽度为W,令B=[0,W]×[0,H]表示托盘边界上和托盘内所有点的集合,将尺寸为h×w的货物设为长度为h,宽度为w的矩形,当矩形放入笛卡尔二维直角坐标系时,矩形的左下角坐标为(xr,yr),设Rr表示为两对角坐标[0,0]和[xr+w,yr+h]所构成的矩形,所述占用面积R设表示所有Rr的并集。货物堆叠时浪费空间3为占用面积R中,矩形与矩形之间的浪费空隙。可用角点通过坐标表示,S.aList为堆积状态S的所有可用角点的坐标集合。
具体地,所述步骤C5中还包括角点筛选;所述角点筛选的步骤包括:
判断角点放置矩形后,所述矩形是否超过二维笛卡尔坐标系的范围,若是,则删去角点;若否,则所述角点保留为可用角点21。
在实际应用过程中,部分角点放置矩形后,矩形的部分范围会超过二维笛卡尔坐标系的范围,表示货物无法放置于托盘1中,因此,该角点实际上无法放置矩形,属于无效角点23,在步骤C5中需要将这种无效角点23移出,使得所述单规格码垛方法能够正常模拟货物的垛型。
具体地,所述步骤C5中更新堆积状态S的步骤包括:
(1)添加一个新的拐点p*到拐点集合中;
(2)从拐点22集合中移除由拐点p*所控制的拐点。
边界线可以用k个水平线段的集合(u1、u2、...uk)表示,水平线段又可由其左右端点确定。所以用表示水平线段,其中表示线段左端点的x轴坐标,表示线段右端点的x轴坐标,yj表示左右端点的y轴坐标。上述线段具有以下性质:(1)yj>yj+1,j=1,……,k-1;(2) 设拐点p*的坐标为(x2,y2),拐点p的坐标为(x1,y1),如果x1≤x2且y1≤y2,则称拐点p由拐点p*控制。在放置矩形过程中,保留所有拐点列表,所有可用角点21的坐标可由拐点22的坐标获得。
优选地,请参照图2,所述步骤C7中判断堆积状态S是否存在于队列Q或队列P后,还包括以下步骤:
创建哈希表Hash,判断所述队列Q与队列P中是否存在于当前堆积状态S可用角点21相同的状态;
若是,则比较两个堆积状态S的S.area大小,将S.area小的堆积状态S从队列Q中移除,并将S.area大的堆积状态S放入哈希表Hash;
若否,将所述堆积状态S存入队列Q时,同步放入哈希表Hash。
哈希表Hash用来存放所有的未被控状态,如果堆积状态S’和堆积状态S的角点相同,但S’.area≤S.area,则称堆积状态S’被堆积状态S所控制。由于本发明所述单规格码垛方法要求使目标利用率最大,所以堆积状态S’可以移除,以减少计算量,加快计算速度。
具体地,设空闲面积L的最大利用率为SlA.area,所述最大利用率S.aUB=S.area+SlA.area。
具体地,所述空闲面积L的最大利用率SlA.area通过背包问题计算获得。
对于给定的堆积状态S,假设占用面积R的面积为SoA,剩余面积L的面积为SlA=W×H-SoA,则最大利用率S.aUB=S.area+SlA.area,其中SlA.area的值不大于该剩余面积L在背包问题下的上界,因此SlA.area的计算可以当作背包问题来计算。
本发明还提供了一种码垛系统,包括:
输入模块,用于输入托盘尺寸和货物尺寸;
坐标建立模块,用于根据托盘尺寸建立二维笛卡尔坐标系;
模拟模块,用于根据货物尺寸模拟货物的垛型,并根据分支定界算法,计算货物的最佳垛型
输出模块,用于输出货物的最佳垛型。
实施例1
输入托盘尺寸和货物尺寸,托盘尺寸为2560mm×1610mm,货物尺寸为143mm×84mm,根据托盘1尺寸建立二维笛卡尔坐标系,模拟货物的垛型,并根据上述步骤计算货物的最佳垛型,输出货物的最佳垛型;输出货物的最佳垛型,所述2560mm×1610mm的托盘1最多能够放置143mm×84mm的货物的数量为341个货物,空间利用率为99.38%,本实施例的最佳垛型如图4所示。
实施例2
输入托盘尺寸和货物尺寸,托盘尺寸为2625mm×1600mm,货物尺寸为137mm×95mm,根据托盘1尺寸建立二维笛卡尔坐标系,模拟货物的垛型,并根据上述步骤计算货物的最佳垛型,输出货物的最佳垛型;输出货物的最佳垛型,所述2625mm×1600mm的托盘1最多能够放置137mm×95mm的货物的数量为320个货物,空间利用率为99.16%,本实施例的最佳垛型如图5所示。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
Claims (6)
1.一种基于分支定界算法的单规格码垛方法,其特征在于,其应用于码垛系统,包括以下步骤:
步骤A:输入托盘尺寸和货物尺寸;
步骤B:根据托盘尺寸建立二维笛卡尔坐标系;
步骤C:根据货物尺寸,模拟货物的垛型,并根据分支定界算法,计算货物的最佳垛型;
步骤D:输出货物的最佳垛型;
其中,所述步骤C包括:
步骤C1:设B为二维笛卡尔坐标系的总面积,设R为矩形的占用面积,设L为空闲面积,所述空闲面积L=总面积B-占用面积R;占用面积R和空闲面积L之间形成阶梯状的边界线,将所述边界线中水平线段的左端称为角点,而水平线段的右端称为拐点;放置矩形时,所述角点与矩形的一角重合;
步骤C2:设S为货物的堆积状态,所述堆积状态S表示阶梯状的边界线;创建队列Q和队列P,所述队列Q用于存放所有存在可用角点的堆积状态S;所述堆积状态S包括所有可用角点集合S.aList、最大利用率S.aUB和已放置矩形的利用率S.area;
设空闲面积L的最大利用率为SlA.area,所述最大利用率S.aUB=S.area+SlA.area;所述已放置矩形的利用率其中,n为矩形的数量,w为矩形的宽度,h为矩形的长度;所述空闲面积L的最大利用率SlA.area通过背包问题计算获得;
步骤C3:判断队列Q是否为空,若是,则进入步骤D;若否,则进入步骤C4;
步骤C4:将所述队列Q中所有堆积状态S的S.aUB分别与默认最大利用率比较,将所述堆积状态S从队列Q转移至队列P;若所述堆积状态S的S.aUB小于默认最大利用率,则将所述堆积状态S移除;若所述堆积状态S的S.aUB大于默认最大利用率,则进入步骤C5;
步骤C5:放入一个矩形,使所述矩形的一角位于角点,并更新堆积状态S和队列Q;
步骤C6:判断S.aList中是否存在可用角点,若是,则进入步骤C7;若否,则将该堆积状态S移除,并进入步骤C3;
步骤C7:计算当前S.aUB,若当前S.aUB小于默认最大利用率,从队列Q中移除所述堆积状态S,并更换下一个可用角点,并进入步骤C6;
若当前S.aUB大于默认最大利用率,则判断堆积状态S是否存在于队列Q或队列P;
若是,更换下一个可用角点,并进入步骤C5;若否,将堆积状态S存入队列Q中,将步骤C7得到的该S.aUB设为新的默认最大利用率,更换下一个可用角点,并进入步骤C6。
2.根据权利要求1所述的一种基于分支定界算法的单规格码垛方法,其特征在于:所述步骤B包括:以所述托盘的左下角为二维笛卡尔坐标系原点,所述托盘的两侧边分别设为x轴和y轴。
3.根据权利要求1所述的一种基于分支定界算法的单规格码垛方法,其特征在于:所述步骤C5中还包括角点筛选;所述角点筛选的步骤包括:
判断角点放置矩形后,所述矩形是否超过二维笛卡尔坐标系的范围,若是,则删去角点;若否,则所述角点保留为可用角点。
4.根据权利要求1所述的一种基于分支定界算法的单规格码垛方法,其特征在于:所述步骤C5中更新堆积状态S的步骤包括:
(1)添加一个新的拐点p*到拐点集合中;
(2)从拐点集合中移除由拐点p*所控制的拐点。
5.根据权利要求1所述的一种基于分支定界算法的单规格码垛方法,其特征在于:所述步骤C7中判断堆积状态S是否存在于队列Q或队列P后,还包括以下步骤:
创建哈希表Hash,判断所述队列Q与队列P中是否存在于当前堆积状态S可用角点相同的状态;
若是,则比较两个堆积状态S的S.area大小,将S.area小的堆积状态S从队列Q中移除,并将S.area大的堆积状态S放入哈希表Hash;
若否,将所述堆积状态S存入队列Q时,同步放入哈希表Hash。
6.一种码垛系统,其特征在于,包括:
输入模块,用于输入托盘尺寸和货物尺寸;
坐标建立模块,用于根据托盘尺寸建立二维笛卡尔坐标系;
模拟模块,用于根据货物尺寸模拟货物的垛型,并根据分支定界算法,计算货物的最佳垛型,计算货物的最佳垛型的步骤包括:
步骤C1:设B为二维笛卡尔坐标系的总面积,设R为矩形的占用面积,设L为空闲面积,所述空闲面积L=总面积B-占用面积R;占用面积R和空闲面积L之间形成阶梯状的边界线,将所述边界线中水平线段的左端称为角点,而水平线段的右端称为拐点;放置矩形时,所述角点与矩形的一角重合;
步骤C2:设S为货物的堆积状态,所述堆积状态S表示阶梯状的边界线;创建队列Q和队列P,所述队列Q用于存放所有存在可用角点的堆积状态S;所述堆积状态S包括所有可用角点集合S.aList、最大利用率S.aUB和已放置矩形的利用率S.area;
设空闲面积L的最大利用率为SlA.area,所述最大利用率S.aUB=S.area+SlA.area;所述已放置矩形的利用率其中,n为矩形的数量,w为矩形的宽度,h为矩形的长度;所述空闲面积L的最大利用率SlA.area通过背包问题计算获得;
步骤C3:判断队列Q是否为空,若是,则进入步骤D;若否,则进入步骤C4;
步骤C4:将所述队列Q中所有堆积状态S的S.aUB分别与默认最大利用率比较,将所述堆积状态S从队列Q转移至队列P;若所述堆积状态S的S.aUB小于默认最大利用率,则将所述堆积状态S移除;若所述堆积状态S的S.aUB大于默认最大利用率,则进入步骤C5;
步骤C5:放入一个矩形,使所述矩形的一角位于角点,并更新堆积状态S和队列Q;
步骤C6:判断S.aList中是否存在可用角点,若是,则进入步骤C7;若否,则将该堆积状态S移除,并进入步骤C3;
步骤C7:计算当前S.aUB,若当前S.aUB小于默认最大利用率,从队列Q中移除所述堆积状态S,并更换下一个可用角点,并进入步骤C6;
若当前S.aUB大于默认最大利用率,则判断堆积状态S是否存在于队列Q或队列P;
若是,更换下一个可用角点,并进入步骤C5;若否,将堆积状态S存入队列Q中,将步骤C7得到的该S.aUB设为新的默认最大利用率,更换下一个可用角点,并进入步骤C6;
输出模块,用于输出货物的最佳垛型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110426707.9A CN113128118B (zh) | 2021-04-20 | 2021-04-20 | 一种基于分支定界算法的单规格码垛方法及码垛系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110426707.9A CN113128118B (zh) | 2021-04-20 | 2021-04-20 | 一种基于分支定界算法的单规格码垛方法及码垛系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113128118A CN113128118A (zh) | 2021-07-16 |
CN113128118B true CN113128118B (zh) | 2021-11-30 |
Family
ID=76778490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110426707.9A Active CN113128118B (zh) | 2021-04-20 | 2021-04-20 | 一种基于分支定界算法的单规格码垛方法及码垛系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113128118B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114084683B (zh) * | 2021-12-02 | 2023-09-01 | 中轻长泰(长沙)智能科技股份有限公司 | 确定垛型的方法和装置 |
CN114313892A (zh) * | 2022-01-26 | 2022-04-12 | 武汉科技大学 | 多种类直型耐火砖自动化码垛方法及装置 |
CN114862063B (zh) * | 2022-07-04 | 2022-09-30 | 杭州灵西机器人智能科技有限公司 | 一种在线混合码垛的方法、系统、电子装置和存储介质 |
CN115952892B (zh) * | 2022-12-13 | 2023-07-18 | 广东工业大学 | 一种带缺陷板材排样的分支迭代方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109353833A (zh) * | 2018-11-27 | 2019-02-19 | 深圳市汇川技术股份有限公司 | 机器人码垛点位生成方法、设备及计算机可读存储器 |
CN110498243A (zh) * | 2019-09-04 | 2019-11-26 | 成都川哈工机器人及智能装备产业技术研究院有限公司 | 一种混合箱体机器人智能拆码垛系统及控制方法 |
CN110723553A (zh) * | 2019-10-23 | 2020-01-24 | 安吉智能物联技术有限公司 | 一种基于搬运机器人用的垛型生成方法 |
CN110861925A (zh) * | 2019-10-10 | 2020-03-06 | 广州秉优信息科技有限公司 | 一种用于相同货物的码垛方法及系统 |
CN112434893A (zh) * | 2021-01-28 | 2021-03-02 | 苏州澳昆智能机器人技术有限公司 | 一种装车垛型逐层最优设计方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9663309B2 (en) * | 2013-09-06 | 2017-05-30 | Liquor Control Board Of Ontario (Lcbo) | Automated palletization method, system and software |
CN107479581B (zh) * | 2017-09-21 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 货箱码放控制装置、系统、方法和存储介质 |
CN110222862A (zh) * | 2018-03-02 | 2019-09-10 | 北京京东尚科信息技术有限公司 | 码垛方法和装置 |
-
2021
- 2021-04-20 CN CN202110426707.9A patent/CN113128118B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109353833A (zh) * | 2018-11-27 | 2019-02-19 | 深圳市汇川技术股份有限公司 | 机器人码垛点位生成方法、设备及计算机可读存储器 |
CN110498243A (zh) * | 2019-09-04 | 2019-11-26 | 成都川哈工机器人及智能装备产业技术研究院有限公司 | 一种混合箱体机器人智能拆码垛系统及控制方法 |
CN110861925A (zh) * | 2019-10-10 | 2020-03-06 | 广州秉优信息科技有限公司 | 一种用于相同货物的码垛方法及系统 |
CN110723553A (zh) * | 2019-10-23 | 2020-01-24 | 安吉智能物联技术有限公司 | 一种基于搬运机器人用的垛型生成方法 |
CN112434893A (zh) * | 2021-01-28 | 2021-03-02 | 苏州澳昆智能机器人技术有限公司 | 一种装车垛型逐层最优设计方法 |
Non-Patent Citations (8)
Title |
---|
"A bidirectional building approach for the 2D constrained guillotine knapsack packing problem";LijunWei et.al;《European Journal of OperationalR esearch》;20151231;全文 * |
"A Binary Search Heuristic Algorithm Based on Randomized Local Search for the Rectangular Strip-Packing Problem";Defu Zhang et.al;《INFORMS Journal on Computing》;20130131;全文 * |
"A block-based layer building approach for the 2D guillotine strip packing problem";Lijun Wei et.al;《European Journal of Operational Research》;20141231;第2部分到第4部分 * |
"A goal-driven approach to the 2D bin packing and variable-sized bin packing problems";Lijun Wei et.al;《European Journal of Operational Research》;20131231;全文 * |
"An improved skyline based heuristic for the 2D strip packing problem and its efficient implementation";Lijun Wei et.al;《Computers and Operations Research》;20171231;全文 * |
"An open space based heuristic for the 2D strip packing problem with unloading constraints";Lijun Wei et.al;《Applied Mathematical Modelling》;20191231;全文 * |
同尺寸物品装箱的动态规划算法;农健恒;《中国优秀硕士学位论文全文数据库》;20150228;全文 * |
求解装箱问题的启发式算法研究;魏丽军;《中国优秀硕士学位论文全文数据库》;20090831;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113128118A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113128118B (zh) | 一种基于分支定界算法的单规格码垛方法及码垛系统 | |
CN110443549B (zh) | 一种物流仓库中物品的装箱方案生成方法及系统 | |
Ding et al. | Stowage planning for container ships: A heuristic algorithm to reduce the number of shifts | |
Vis et al. | Sequencing two cooperating automated stacking cranes in a container terminal | |
CN108750685B (zh) | 一种离线混合码垛方法及系统 | |
CN104408589B (zh) | 基于混合粒子群算法的agv优化调度方法 | |
CN110908381B (zh) | 机器人调度方法及装置 | |
CN106773686B (zh) | 同轨双车运行模式下堆垛机调度路径模型建立方法 | |
CN113086659B (zh) | 包件码垛方法及终端 | |
CN112465433A (zh) | 一种装箱方法、装置、设备及介质 | |
CN114862063B (zh) | 一种在线混合码垛的方法、系统、电子装置和存储介质 | |
WO2023231637A1 (zh) | 货物位置信息的生成方法、使用方法和装置 | |
WO2024032376A1 (zh) | 基于混合遗传算法的车辆路径优化方法及应用 | |
US20100185425A1 (en) | Performing Molecular Dynamics Simulation on a Multiprocessor System | |
JPS6133426A (ja) | 貨物の自動積付システム | |
CN103903508A (zh) | 一种切割瓦片地图的方法和系统 | |
CN116167245A (zh) | 基于多属性转运决策模型的多式联运粮食运输方法及系统 | |
CN107909200A (zh) | 一种高效的集装箱码头装卸调度装置 | |
CN113537876A (zh) | 一种货物装箱位置安排方法 | |
JP2000076220A (ja) | 荷物配置位置決定装置 | |
CN114239931A (zh) | 基于改进蚁群算法实现物流仓储装车调度的方法及装置 | |
CN113003086A (zh) | 货物搬运方法、设备及存储介质 | |
JPH08295408A (ja) | コンテナの配替え順序計画作成方法 | |
Chung et al. | A genetic algorithm for the generalised sequencing problem for automated storage and retrieval systems | |
Kang et al. | Reinforcement Learning Based Pallet Loading Algorithm and Its Application to a Real Manipulator System |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |