一种基于组合启发式的三维集装箱装箱方法技术

技术编号:21130650 阅读:32 留言:0更新日期:2019-05-18 01:39
本发明专利技术公开了一种基于组合启发式的三维集装箱装箱方法,首先基于三维集装箱的箱体构建三维坐标系,然后制定货物在集装箱内的摆放规则,接着根据货物不同的装箱要求多次模拟货物的装箱过程,最后分别统计多次模拟装箱过程中装入三维集装箱内的货物的总体积,并比较各个总体积的大小,输出装入三维集装箱内的货物的总体积最大的模拟装箱过程中的各货物的放置起始点,按照这些摆放起始点将对应的货物装入集装箱,从而实现集装箱装箱;优点是能够根据不同装箱要求的货物,在较短的时间内,给出三维集装箱装箱率最高的货物装箱方案,在保证装箱效率的基础上,装箱率较高。

A Three-Dimensional Container Packing Method Based on Combination Heuristics

The invention discloses a three-dimensional container loading method based on combinatorial heuristics. Firstly, a three-dimensional coordinate system is constructed based on the three-dimensional container body, and then the rules for placing cargo in the container are formulated. Then, the loading process of cargo is simulated several times according to the different loading requirements of cargo. Finally, the total cargo loaded into the three-dimensional container during the loading process is counted separately. Volume, and compare the size of each total volume, output the maximum total volume of goods loaded into three-dimensional containers, simulate the starting point of each cargo placement in the process of loading, according to these starting points, the corresponding cargo will be loaded into the container, thus realizing container loading; the advantage is that according to the cargo of different packing requirements, three-dimensional containers can be given in a shorter period of time. On the basis of guaranteeing the packing efficiency, the packing rate of goods with the highest packing rate is higher.

【技术实现步骤摘要】
一种基于组合启发式的三维集装箱装箱方法
本专利技术涉及一种三维集装箱装箱方法,尤其是涉及一种基于组合启发式的三维集装箱装箱方法。
技术介绍
目前,三维集装箱装箱问题通常描述为:如何将给定外部尺寸以及装箱要求(头装入、尾装入、携带托盘装入、上方不能放置其他货物装入和普通装入)的多件货物,装入一个长、宽和高已知的长方形集装箱(装载总体积已知)中,且货物之间互不发生嵌入关系,最终使装入集装箱中货物的总体积最大,此时集装箱的装载率最大。三维集装箱装箱问题是物流领域的经典问题,研究如何提高集装箱空间利用率,从而降低用户成本,提高用户利润,具有重要意义。三维集装箱装箱问题是一典型的NP(非确定性多项式,non-deterministicpolynomial,缩写NP)难问题,传统的方法通常是采用精确算法求解该类问题。但是传统的精确算法只适合解决小规模、货物种类较少的三维集装箱问题,但是在实际应用中货物数量规模较大、货物种类较多、约束条件多时,容易发生“组合爆炸”的现象,很难在有限的时间内求得最优解。因此,目前国内外有学者将遗传算法、禁忌算法或者模拟退火算法应用于该问题的求解,在装箱效率方面取得了一定的成果。但是上述遗传算法、禁忌算法或者模拟退火算法这些算法在装箱过程中没有考虑货物不同的装箱要求,而在实际应用中,装入同一集装箱的货物经常会存在各种不同的装箱要求,当考虑这些因素时,上述这些算法的装箱率不高。
技术实现思路
本专利技术所要解决的技术问题是提供一种当货物存在多种不同的装箱要求时,在保证装箱效率的基础上,装箱率较高的基于组合启发式的三维集装箱装箱方法。本专利技术解决上述技术问题所采用的技术方案为:一种基于组合启发式的三维集装箱装箱方法,包括以下步骤:(1)以三维集装箱的箱体内部的左前方位于下方的顶角点作为坐标原点,从坐标原点开始向正后方,沿着三维集装箱箱体内部的边缘棱线,设置Y轴坐标系;从坐标原点开始向正右方向,沿着三维集装箱箱体内部的边缘棱线,设置X轴坐标系;从坐标原点开始向正上方向,沿着三维集装箱箱体内部的边缘棱线,设置Z轴坐标系,构建得到三维坐标系,并根据三维集装箱箱体内部尺寸确定三维集装箱箱体在三维坐标系中X轴、Y轴和Z轴的装箱极限坐标值;(2)制定货物在集装箱内的摆放规则,货物外部形状分别为正方体或者长方体:将正向放置采用摆放方向编码1表示,横向放置表采用摆放方向编码2表示,正竖向放置采用摆放方向编码3表示,横竖向放置采用摆放方向编码4表示,正侧向放置采用摆放方向编码5表示,横侧向放置采用摆放方向编码6表示;正向放置指的是货物放置时宽沿X轴方向,长沿Y轴方向,横向放置指的是货物放置时长沿X轴方向,宽沿Y轴方向,正竖向放置指的是货物放置时宽沿X轴方向,高沿Y轴方向,横竖向放置指的是货物放置时高沿X轴方向,宽沿Y轴方向,正侧向放置指的是货物放置时高沿X轴方向,长沿Y轴方向,横侧向放置指的是货物放置时长沿X轴方向,高沿Y轴方向;(3)设置迭代总次数为T,T为大于等于20且小于等于100的整数,将当前迭代次数记为变量t,对变量t进行初始化,令变量t=0;(4)对待装箱的货物进行第t次模拟装箱,待装箱的货物的外部形状分别为正方体或者长方体,货物的长、宽和高已知,具体模拟装箱过程为:A对待装箱的货物的订单号数量进行统计,若待装箱的货物全部属于一个订单号,则将这些货物的摆放方向均设置为正向放置,将其摆放方向编码记为1,若待装箱的货物属于两个或者两个以上不同的订单号,则采用随机函数生成待装箱的货物的摆放方向编码,位于同一订单号的货物的摆放方向编码相同,位于不同订单号的货物的摆放方向编码相同或者不相同;B统计待装箱的货物中必须头装入三维集装箱的货物件数,将其记为num1,若num1等于0,则表示不存在必须头装入三维集装箱的货物;若num1不等于0,则表示存在必须头装入三维集装箱的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中必须头装入三维集装箱的货物的装箱顺序编号分别为1,2,3,…,num1;C统计货物中必须携带托盘装入三维集装箱的货物件数,将其记为num2,若num2等于0,则表示不存在必须携带托盘装入三维集装箱的货物;若num2不等于0,则表示存在必须携带托盘装入三维集装箱的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中必须携带托盘装入三维集装箱的货物的装箱顺序编号分别为num1+1,num1+2,num1+3,…,num1+num2;D统计普通装入货物件数,将其记为num3,若num3等于0,则表示不存在普通货物;若num3不等于0,则表示存在普通装入货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中普通装入三维集装箱的货物的装箱顺序编号分别为num1+num2+1,num1+num2+2,num1+num2+3,…,num1+num2+num3;E统计货物中必须尾装入三维集装箱的货物件数,将其记为num4,若num4等于0,则表示不存在必须尾装入三维集装箱的货物;若num4不等于0,则表示存在必须尾装入三维集装箱的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中尾装入三维集装箱的货物的装箱顺序编号分别为num1+num2+num3+1,num1+num2+num3+2,num1+num2+num3+3,…,num1+num2+num3+num4;F统计货物中其上方不能放置其他货物装入三维集装箱的货物件数,将其记为num5,若num5等于0,则表示不存在货物上方不能放置其他货物的货物;若num5不等于0,则表示存在货物上方不能放置其他货物的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中其上方不能放置其他货物装入三维集装箱的货物的装箱顺序编号分别为num1+num2+num3+num4+1,num1+num2+num3+num4+2,num1+num2+num3+num4+3,…,num1+num2+num3+num4+num5;G构建用于存放货物的放置起始点的档案库,放置起始点为位于三维坐标系中的三维坐标点;将三维坐标系的原点(0,0,0)放入档案库中;H将第j号货物的长度记为lj,宽度记为wj,高度记为hj,将货物总数量记为M,M=num1+num2+num3+num4+num5,将装箱顺序编号为j的货物记为第j号货物,j=1,2,…,M;I对第1号货物进行模拟装箱,具体过程为:I-1获取第1号货物的摆放方向编码,确定第1号货物的摆放方向;I-2根据第1号货物的摆放方向,从三维坐标系的原点(0,0,0)开始摆放第1号货物,确定第1号货物从原点出发沿X轴、Y轴和Z轴的三条边的边长,将沿X轴的一条边的边长记为X1,将沿Y轴的一条边的边长记为Y1,将沿Z轴的一条边的边长记为Z1;I-3完成第1号货物的模拟装箱;J对档案库进行第1次更新,具体过程为:J-1将档案库中存放的坐标点(0,0,0)删除;J-2将坐标点(X1,0,0)、(0,Y1,0)、(0,0,Z1)放入档案库中;J-3规定坐标点(X1,0,0)、(0,Y1,0)、(0,0,Z1)的优先级,使(0,Y1,0)的优先级高于(0,0,Z1)的优先级,(0,本文档来自技高网...

【技术保护点】
1.一种基于组合启发式的三维集装箱装箱方法,其特征在于包括以下步骤:(1)以三维集装箱的箱体内部的左前方位于下方的顶角点作为坐标原点,从坐标原点开始向正后方,沿着三维集装箱箱体内部的边缘棱线,设置Y轴坐标系;从坐标原点开始向正右方向,沿着三维集装箱箱体内部的边缘棱线,设置X轴坐标系;从坐标原点开始向正上方向,沿着三维集装箱箱体内部的边缘棱线,设置Z轴坐标系,构建得到三维坐标系,并根据三维集装箱箱体内部尺寸确定三维集装箱箱体在三维坐标系中X轴、Y轴和Z轴的装箱极限坐标值;(2)制定货物在集装箱内的摆放规则,货物外部形状分别为正方体或者长方体:将正向放置采用摆放方向编码1表示,横向放置表采用摆放方向编码2表示,正竖向放置采用摆放方向编码3表示,横竖向放置采用摆放方向编码4表示,正侧向放置采用摆放方向编码5表示,横侧向放置采用摆放方向编码6表示;正向放置指的是货物放置时宽沿X轴方向,长沿Y轴方向,横向放置指的是货物放置时长沿X轴方向,宽沿Y轴方向,正竖向放置指的是货物放置时宽沿X轴方向,高沿Y轴方向,横竖向放置指的是货物放置时高沿X轴方向,宽沿Y轴方向,正侧向放置指的是货物放置时高沿X轴方向,长沿Y轴方向,横侧向放置指的是货物放置时长沿X轴方向,高沿Y轴方向;(3)设置迭代总次数为T,T为大于等于20且小于等于100的整数,将当前迭代次数记为变量t,对变量t进行初始化,令变量t=0;(4)对待装箱的货物进行第t次模拟装箱,待装箱的货物的外部形状分别为正方体或者长方体,货物的长、宽和高已知,具体模拟装箱过程为:A对待装箱的货物的订单号数量进行统计,若待装箱的货物全部属于一个订单号,则将这些货物的摆放方向均设置为正向放置,将其摆放方向编码记为1,若待装箱的货物属于两个或者两个以上不同的订单号,则采用随机函数生成待装箱的货物的摆放方向编码,位于同一订单号的货物的摆放方向编码相同,位于不同订单号的货物的摆放方向编码相同或者不相同;B统计待装箱的货物中必须头装入三维集装箱的货物件数,将其记为num1,若num1等于0,则表示不存在必须头装入三维集装箱的货物;若num1不等于0,则表示存在必须头装入三维集装箱的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中必须头装入三维集装箱的货物的装箱顺序编号分别为1,2,3,…,num1;C统计货物中必须携带托盘装入三维集装箱的货物件数,将其记为num2,若num2等于0,则表示不存在必须携带托盘装入三维集装箱的货物;若num2不等于0,则表示存在必须携带托盘装入三维集装箱的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中必须携带托盘装入三维集装箱的货物的装箱顺序编号分别为num1+1,num1+2,num1+3,…,num1+num2;D统计普通装入货物件数,将其记为num3,若num3等于0,则表示不存在普通货物;若num3不等于0,则表示存在普通装入货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中普通装入三维集装箱的货物的装箱顺序编号分别为num1+num2+1,num1+num2+2,num1+num2+3,…,num1+num2+num3;E统计货物中必须尾装入三维集装箱的货物件数,将其记为num4,若num4等于0,则表示不存在必须尾装入三维集装箱的货物;若num4不等于0,则表示存在必须尾装入三维集装箱的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中尾装入三维集装箱的货物的装箱顺序编号分别为num1+num2+num3+1,num1+num2+num3+2,num1+num2+num3+3,…,num1+num2+num3+num4;F统计货物中其上方不能放置其他货物装入三维集装箱的货物件数,将其记为num5,若num5等于0,则表示不存在货物上方不能放置其他货物的货物;若num5不等于0,则表示存在货物上方不能放置其他货物的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中其上方不能放置其他货物装入三维集装箱的货物的装箱顺序编号分别为num1+num2+num3+num4+1,num1+num2+num3+num4+2,num1+num2+num3+num4+3,…,num1+num2+num3+num4+num5;G构建用于存放货物的放置起始点的档案库,放置起始点为位于三维坐标系中的三维坐标点;将三维坐标系的原点(0,0,0)放入档案库中;H将第j号货物的长度记为lj,宽度记为wj,高度记为hj,将货物总数量记为M,M=num1+num2+num3+num4+num5,将装箱顺序编号为j的货物记为第j号货物,j=1,2,…,M;I对第1号货物进行模拟装箱,具体过程为:I‑1获取第1号货物的...

【技术特征摘要】
1.一种基于组合启发式的三维集装箱装箱方法,其特征在于包括以下步骤:(1)以三维集装箱的箱体内部的左前方位于下方的顶角点作为坐标原点,从坐标原点开始向正后方,沿着三维集装箱箱体内部的边缘棱线,设置Y轴坐标系;从坐标原点开始向正右方向,沿着三维集装箱箱体内部的边缘棱线,设置X轴坐标系;从坐标原点开始向正上方向,沿着三维集装箱箱体内部的边缘棱线,设置Z轴坐标系,构建得到三维坐标系,并根据三维集装箱箱体内部尺寸确定三维集装箱箱体在三维坐标系中X轴、Y轴和Z轴的装箱极限坐标值;(2)制定货物在集装箱内的摆放规则,货物外部形状分别为正方体或者长方体:将正向放置采用摆放方向编码1表示,横向放置表采用摆放方向编码2表示,正竖向放置采用摆放方向编码3表示,横竖向放置采用摆放方向编码4表示,正侧向放置采用摆放方向编码5表示,横侧向放置采用摆放方向编码6表示;正向放置指的是货物放置时宽沿X轴方向,长沿Y轴方向,横向放置指的是货物放置时长沿X轴方向,宽沿Y轴方向,正竖向放置指的是货物放置时宽沿X轴方向,高沿Y轴方向,横竖向放置指的是货物放置时高沿X轴方向,宽沿Y轴方向,正侧向放置指的是货物放置时高沿X轴方向,长沿Y轴方向,横侧向放置指的是货物放置时长沿X轴方向,高沿Y轴方向;(3)设置迭代总次数为T,T为大于等于20且小于等于100的整数,将当前迭代次数记为变量t,对变量t进行初始化,令变量t=0;(4)对待装箱的货物进行第t次模拟装箱,待装箱的货物的外部形状分别为正方体或者长方体,货物的长、宽和高已知,具体模拟装箱过程为:A对待装箱的货物的订单号数量进行统计,若待装箱的货物全部属于一个订单号,则将这些货物的摆放方向均设置为正向放置,将其摆放方向编码记为1,若待装箱的货物属于两个或者两个以上不同的订单号,则采用随机函数生成待装箱的货物的摆放方向编码,位于同一订单号的货物的摆放方向编码相同,位于不同订单号的货物的摆放方向编码相同或者不相同;B统计待装箱的货物中必须头装入三维集装箱的货物件数,将其记为num1,若num1等于0,则表示不存在必须头装入三维集装箱的货物;若num1不等于0,则表示存在必须头装入三维集装箱的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中必须头装入三维集装箱的货物的装箱顺序编号分别为1,2,3,…,num1;C统计货物中必须携带托盘装入三维集装箱的货物件数,将其记为num2,若num2等于0,则表示不存在必须携带托盘装入三维集装箱的货物;若num2不等于0,则表示存在必须携带托盘装入三维集装箱的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中必须携带托盘装入三维集装箱的货物的装箱顺序编号分别为num1+1,num1+2,num1+3,…,num1+num2;D统计普通装入货物件数,将其记为num3,若num3等于0,则表示不存在普通货物;若num3不等于0,则表示存在普通装入货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中普通装入三维集装箱的货物的装箱顺序编号分别为num1+num2+1,num1+num2+2,num1+num2+3,…,num1+num2+num3;E统计货物中必须尾装入三维集装箱的货物件数,将其记为num4,若num4等于0,则表示不存在必须尾装入三维集装箱的货物;若num4不等于0,则表示存在必须尾装入三维集装箱的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中尾装入三维集装箱的货物的装箱顺序编号分别为num1+num2+num3+1,num1+num2+num3+2,num1+num2+num3+3,…,num1+num2+num3+num4;F统计货物中其上方不能放置其他货物装入三维集装箱的货物件数,将其记为num5,若num5等于0,则表示不存在货物上方不能放置其他货物的货物;若num5不等于0,则表示存在货物上方不能放置其他货物的货物,采用随机函数随机生成这些货物装入三维集装箱的装箱顺序编号,其中其上方不能放置其他货物装入三维集装箱的货物的装箱顺序编号分别为num1+num2+num3+num4+1,num1+num2+num3+num4+2,num1+num2+num3+num4+3,…,num1+num2+num3+num4+num5;G构建用于存放货物的放置起始点的档案库,放置起始点为位于三维坐标系中的三维坐标点;将三维坐标系的原点(0,0,0)放入档案库中;H将第j号货物的长度记为lj,宽度记为wj,高度记为hj,将货物总数量记为M,M=num1+num2+num3+num4+num5,将装箱顺序编号为j的货物记为第j号货物,j=1,2,…,M;I对第1号货物进行模拟装箱,具体过程为:I-1获取第1号货物的摆放方向编码,确定第1号货物的摆放方向;I-2根据第1号货物的摆放方向,从三维坐标系的原点(0,0,0)开始摆放第1号货物,确定第1号货物从原点出发沿X轴、Y轴和Z轴的三条边的边长,将沿X轴的一条边的边长记为X1,将沿Y轴的一条边的边长记为Y1,将沿Z轴的一条边的边长记为Z1;I-3完成第1号货物的模拟装箱;J对档案库进行第1次更新,具体过程为:J-1将档案库中存放的坐标点(0,0,0)删除;J-2将坐标点(X1,0,0)、(0,Y1,0)、(0,0,Z1)放入档案库中;J-3规定坐标点(X1,0,0)、(0,Y1,0)、(0,0,Z1)的优先级,使(0,Y1,0)的优先级高于(0,0,Z1)的优先级,(0,0,Z1)的优先级高于(X1,0,0)的优先级;J-4对档案库第1次更新完成;K、设置变量i并对其进行初始化,令变量i=2;L、同时判断第1号货物至第i-1号货物中是否存在其上方不能放置其他货物的货物以及第i号货物是否为必须携带托盘装入三维集装箱的货物,如果第1号货物至第i-1号货物中不存在其上方不能放置其他货物的货物,且第i号货物不为必须携带托盘装入三维集装箱的货物,则进入步骤L-1,否则进入步骤L-2;L-1、对第i号货物进行模拟装箱,具体过程为:a获取第i号货物的摆放方向编码,确定第i号货物的摆放方向;b根据第i号货物的摆放方向,按照档案库中坐标点的优先级从高到低对第i号货物进行试摆放,每摆放一次均进行如下判断:当前试摆放的坐标点是否为档案库中优先级最高坐标点、第i号货物从该坐标点出发沿X轴的一条边的另一个端点的坐标值是否超出三维集装箱箱体在三维坐标系中X轴的装箱极限坐标值、第i号货物从该坐标点出发沿Y轴的一条边的另一个端点的坐标值是否超出三维集装箱箱体在三维坐标系中Y轴的装箱极限坐标值以及第i号货物从该坐标点出发沿Z轴的一条边的另一个端点的坐标值是否超出三维集装箱箱体在三维坐标系中Z轴的装箱极限坐标值;c如果判断结果为三个坐标值都没有超出其对应的装箱极限坐标值,则...

【专利技术属性】
技术研发人员:符强王铭波钟才明童楠陆继祥
申请(专利权)人:宁波大学科学技术学院
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1