CN113895728B - 贪心码垛方法、装置及计算机可读存储介质 - Google Patents
贪心码垛方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113895728B CN113895728B CN202111168163.7A CN202111168163A CN113895728B CN 113895728 B CN113895728 B CN 113895728B CN 202111168163 A CN202111168163 A CN 202111168163A CN 113895728 B CN113895728 B CN 113895728B
- Authority
- CN
- China
- Prior art keywords
- feasible
- greedy
- cuboid
- materials
- container
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65B—MACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
- B65B57/00—Automatic control, checking, warning, or safety devices
- B65B57/10—Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of articles or materials to be packaged
- B65B57/14—Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of articles or materials to be packaged and operating to control, or stop, the feed of articles or material to be packaged
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65B—MACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
- B65B57/00—Automatic control, checking, warning, or safety devices
- B65B57/20—Applications of counting devices for controlling the feed of articles
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Cartons (AREA)
- Pallets (AREA)
Abstract
本发明提供了一种贪心码垛方法、装置及计算机可读存储介质,属于码垛处理技术领域。本实施例所述方法通过记录某一状态下容器中可放置长方体物料的可行点的数目以及每个可行点上可放置物料的旋转状态,并根据判断策略排除不合法的旋转状态组合,根据算法计算在每个合法情况下可行点的贪心指标,选取贪心指标最大的可行点和旋转状态作为物料最佳放置位置输出解,从而能保证物料占据容器体积比例较高,也能保证物料的稳定性与放置物料的可行性,能有效提高容器放置物料的储存率,避免工业产线上物料随机放置在容器中的任意位置,物料难以被整齐放置,且很容易造成容器空间的浪费的问题。
Description
技术领域
本发明涉及码垛处理技术领域,尤其涉及一种贪心码垛方法、装置及计算机可读存储介质。
背景技术
在流水线上或运装行业,经常会有一系列长方体物料的到来,在物料不被及时使用时,需要将物料放置在一个长方体容器内存储放置。而如果将物料随机放置在容器中的任意位置,则物料在容器中难以被整齐放置,而且很容易造成容器空间的浪费。
发明内容
有鉴于此,本发明的目的在于提供一种贪心码垛方法、装置及计算机可读存储介质,解决现有技术物料随机放置在容器中任意位置,物料在容器中难以被整齐放置,而且很容易造成容器空间浪费的问题。
本发明解决上述技术问题所采用的技术方案如下:
本发明的第一方面提供一种贪心码垛方法,其特征在于,所述方法包括如下步骤:
记录某一状态下容器中可放置长方体物料的可行点的数目;
在每个可行点上,记录长方体物料的旋转状态,统计所有可行点数目的所有旋转状态;
根据判断策略排除不合法的旋转状态组合;
计算在每个合法情况下可行点的贪心指标;
选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解;
其中,所述可行点表示容器内可以放置长方体物料的位置;所述贪心指标表示可行点以该旋转状态摆放后的体积贡献率、当前旋转状态下长方体物料底部的接触面积、以及当前可行点距离容器顶部的距离之间的关系。
在一些实施例中,所述贪心指标具体包括:
该可行点以该旋转状态摆放后的体积贡献率(volumecontribution)、当前旋转状态下长方体物料底部的接触面积、以及当前可行点距离容器顶部的距离之间的关系;
计算公式为:(H-c)*volume contribution^3*S底;
其中,H为容器高度上限;
c为可行点的z轴坐标(即被摆放长方体物料位置点的z轴坐标);
H-c为当前可行点距离容器顶部的距离;
volume contribution表示体积贡献率;体积贡献率的定义为所有长方体物料的体积与包络体积的比值;
包络体积是表示:对容器中所有的长方体物料做扩展,所有扩展组成的区域即为容器内所有物料的包络,该区域的体积即为容器中所有物料的包络的体积,简称包络体积;
S底为当前旋转状态下长方体物料底部的接触面积。
在一些实施例中,所述根据判断策略排除不合法的旋转状态组合包括:排除当前位置与旋转状态与其他长方体物料相交状态,或排除底面重心没有落在其他长方体物料表面的状态。
在一些实施例中,进一步包括步骤:
取可行点集合A中未曾遍历过的位置AK;K属于自然数;
判断在AK处是否存在合法的旋转状态BM;
如果是,则计算旋转状态BM的每个合法状态的体积贡献率(volumecontribution)和包络体积(envelopevolume);
如果不是,则判断可行点集合A中的元素是否全部被遍历。
在一些实施例中,判断可行点集合A中的元素是否全部被遍历之后进一步还包括步骤:
判断可行点集合A是否存在合法状态。
在一些实施例中,所述在每个可行点上,记录长方体物料的旋转状态,统计所有可行点数目的所有旋转状态包括:
在每个可行点上,记录长方体物料的六种旋转状态,统计所有可行点数目为N的所有旋转状态为6N种旋转状态及与可行点的组合状态。
在一些实施例中,所述选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解还包括步骤:
如存在使体积贡献率相同的组合,则选择包络体积最小时的组合。
在一些实施例中,所述选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解还包括步骤:
如存在使体积贡献率和包络体积均相同的组合,则选择旋转状态BM在X、Y、Z轴上长度为降序的状态所在的组合。
本发明的第二方面还提供一种贪心码垛装置,包括相互通信连接的可行点数目记录模块、旋转状态统计模块、不合法排除模块、贪心指标计算模块以及码垛最佳放置输出模块;
所述可行点数目记录模块,用于记录某一状态下容器中可放置长方体物料的可行点的数目;其中,所述可行点表示容器内可以放置长方体物料的位置;所述旋转状态统计模块,用于在每个可行点上,记录长方体物料的六种旋转状态,统计所有可行点的所有旋转状态;
所述不合法排除模块,用于根据判断策略排除不合法的旋转状态组合;
所述贪心指标计算模块,用于计算在每个合法情况下可行点的贪心指标;
所述码垛最佳放置输出模块,用于选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解;
所述贪心指标表示可行点以该旋转状态摆放后的体积贡献率、当前旋转状态下长方体物料底部的接触面积、以及当前可行点距离容器顶部的距离之间的关系;
计算公式为:(H-c)*volume contribution^3*S底;
其中,H为容器高度上限;c为可行点的z轴坐标(即被摆放长方体物料位置点的z轴坐标);
H-c为当前可行点距离容器顶部的距离;
volume contribution表示体积贡献率;体积贡献率的定义为所有长方体物料的体积与包络体积的比值;
包络体积是表示:对容器中所有的长方体物料做扩展,所有扩展组成的区域即为容器内所有物料的包络,该区域的体积即为容器中所有物料的包络的体积,简称包络体积;
S底为当前旋转状态下长方体物料底部的接触面积。
本申请还提供一种计算机可读存储介质,包括处理器、可读存储介质以及在所述可读存储介质上存储的计算机程序,所述计算机程序被主处理器执行时实现上述所述方法中的步骤。
本发明实施例提供的所述一种贪心码垛方法、装置及存储介质,所述贪心码垛方法通过记录某一状态下容器中可放置长方体物料的可行点的数目以及每个可行点上可放置物料的旋转状态,并根据判断策略排除不合法的旋转状态组合,根据算法计算在每个合法情况下可行点的贪心指标,选取贪心指标最大的可行点和旋转状态作为物料最佳放置位置输出解,从而能保证物料占据容器体积比例较高,也能保证物料的稳定性与放置物料的可行性,能有效提高容器放置物料的储存率,避免工业产线上物料随机放置在容器中的任意位置,物料难以被整齐放置,且很容易造成容器空间的浪费的问题。
附图说明
图1为本发明实施例的贪心码垛方法的卦限对应位置图;
图2为本发明实施例的贪心码垛方法的长方体物料在空间中的位置对应其坐标表示示意图;
图3为本发明实施例的贪心码垛方法的的长方体物料及其扩展示意图;
图4a、图4b、图4c、图4d、图4e、图4f为本发明实施例的贪心码垛方法长方体物料A与长方体物料B的扩展的六种相对位置示意图;
图5a、图5b、图5c为本发明实施例的贪心码垛方法长方体物料堆及其包络结构示意图;
图6为本发明实施例的贪心码垛方法长方体物料堆可行点示意图;
图7为本发明实施例的贪心码垛方法一实施例的方法流程图;
图8为本发明实施例的贪心码垛方法另一实施例的方法流程图;
图9为本发明实施例的贪心码垛装置一实施例的结构框图;
图10为本发明实施例的贪心码垛装置另一实施例的结构框图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对于现有技术中在流水线上有一系列长方体物料到来,需要将物料放置在一个长方体容器内。如果随机放置在容器中的任意位置,则物料在容器中难以被整齐放置,而且很容易造成容器空间浪费的问题。本发明提出一种贪心码垛方法、装置及计算机可读存储介质,通过构造了一系列和长方体物料位置相关的概念,准确地表述长方体物料的位置与长方体物料之间的相对位置关系。并基于这些概念,构造一个和物料占据容器体积比例相关的目标,并基于此目标设计了贪心码垛算法。该贪心码垛算法在考虑物料占据容器体积比例的同时,还考虑到了放置物体时的稳定性以及放置该物体的可行性,从而能保证物料占据容器体积比例较高的同时,也能保证物料的稳定性与放置物料的可行性。
贪心码垛方法中涉及相关名词解释及定义如下:
1、定义描述单个长方体物料在容器中的位置与形状的概念:
1.1定义长方体物料在空间中的表示:
长方体物料的示意、卦限位置等均在左手系中呈现,左手系的卦限对应位置如图1所示。一个位置点坐标为(a,b,c),长宽高为(l,w,h)的长方体物料在空间中的状态是确定的(如图2所示),该长方体物料用六元组(a,b,c,l,w,h)表示。1.2.定义位置点与性质点:
如图2所示,位置点表示长方体物料的八个顶点中距离原点最近的点(用M点表示)。在本申请实施例中,位置点M的坐标一般用(xm,ym,zm)表示。
性质点则表示长方体物料的八个顶点中距离原点。在本申请实施例中,N点的坐标一般用(x,y,z)表示。其中N点坐标(x,y,z)通过M点坐标表示为:(x,y,z)=(xm+lm,ym+wm,zm+hm),请参阅图2所示。
2、定义描述物料在容器中的相对位置的概念
2.1.定义以点展开的坐标系:
在描述两个长方体物料的位置关系时,经常需要用到“以某点展开的坐标系”的概念。定义“以某点展开的坐标系”为:将某点所在的空间坐标系平移,以至空间坐标系原点与该点重合。平移后的空间坐标系即为“以某点展开的坐标系”
2.2.定义相交与扩展:
当两个长方体物料在空间中的位置有重叠时,称为两个长方体物料相交。相交在现实场景中不可能出现。相交在判断可行解时是一个重要的判断条件。
判断两长方体物料是否相交的条件如下:有A和B两个长方体物料,当长方体物料A的位置点位于以长方体物料B的性质点展开的坐标系的第七卦限,且长方体物料A的性质点位于以长方体物料B的位置点展开的坐标系的第一卦限时,长方体物料A和长方体物料B相交。
对于长方体物料(a,b,c,l,w,h),该长方体物料的扩展为空间坐标系中{x≥0,x<a+l;y≥0,y<b+w;z≥0,z<c+h}的区域。示意图如图3所示,黑色虚线所示区域即为长方体物料(a,b,c,l,w,h)的扩展。
下面为长方体物料A与长方体物料B的扩展的六种相对位置情况:
当长方体物料A与长方体物料B的扩展不相交时(即长方体物料A的位置点不位于长方体物料B的扩展内),长方体物料A的棱上不产生新的可行点。
当长方体物料A与长方体物料B相交时(即长方体物料A的位置点位于长方体物料B的扩展内):
若长方体物料A的性质点也位于长方体物料B的扩展内时,长方体物料A完全位于长方体物料B的扩展内。此时长方体物料A的棱上不产生新的可行点。
若长方体物料A的性质点不位于长方体物料B的扩展内时(即长方体物料A的性质点位于以长方体物料B的性质点展开的坐标系的第二、三、四、五、六或八卦限),每种情况均会在长方体物料A的棱上产生两个新的可行点。每种情况的示意图如图4所示。其中,粗实线为长方体物料B的扩展,细实线长方体物料为长方体物料A,大实心点表示长方体物料B的性质点,空心点表示长方体物料A的性质点,小实心点表示位于长方体物料A棱上的新的可行点。记长方体物料B的性质点坐标为(x,y,z),长方体物料A的位置点坐标为(a0,b0,c0),长方体物料A的性质点的坐标为(x0,y0,z0)。
图4(a)所示为长方体物料A的位置点位于长方体物料B的扩展内,性质点位于从长方体物料B性质点展开的坐标系的第二卦限内的情况。新产生的两个位于长方体物料A棱上的可行点坐标为(a0,y0,z)和(x,y0,c0)。
图4(b)所示为长方体物料A的位置点位于长方体物料B的扩展内,性质点位于从长方体物料B性质点展开的坐标系的第三卦限内的情况。新产生的两个位于长方体物料A棱上的可行点坐标为(a0,y0,z)和(x,b0,z)。
图4(c)所示为长方体物料A的位置点位于长方体物料B的扩展内,性质点位于从长方体物料B性质点展开的坐标系的第四卦限内的情况。新产生的两个位于长方体物料A棱上的可行点坐标为(x0,b0,z)和(x0,y,c0)。
图4(d)所示为长方体物料A的位置点位于长方体物料B的扩展内,性质点位于从长方体物料B性质点展开的坐标系的第五卦限内的情况。新产生的两个位于长方体物料A棱上的可行点坐标为(a0,y,z0)和(x,b0,z0)。
图4(e)所示为长方体物料A的位置点位于长方体物料B的扩展内,性质点位于从长方体物料B性质点展开的坐标系的第六卦限内的情况。新产生的两个位于长方体物料A棱上的可行点坐标为(x,y0,c0)和(x,b0,z0)。
图4(f)所示为长方体物料A的位置点位于长方体物料B的扩展内,性质点位于从长方体物料B性质点展开的坐标系的第八卦限内的情况。新产生的两个位于长方体物料A棱上的可行点坐标为(a0,y,z0)和(x0,y,c0)。
3、定义描述容器中的长方体物料整体状态的概念
3.1定义包络与包络体积(envelopevolume):
“容器中所有物料的包络”的定义为:对容器中所有的长方体物料做扩展,所有扩展组成的区域即为容器内所有物料的包络。该区域的体积即为“容器中所有物料的包络的体积”,简称“包络体积”。
如图5所示,图5(a)中用展示了当前容器中所有的物料,其中细实线表示的是多个正方体物料,粗实线表示的是一个长方体物料。图5(b)中细虚线部分表示长方体物料的扩展,图5(c)中,粗虚线部分表示容器中所有物料的包络。
3.2定义体积贡献率:
如图5(c)所示,粗黑虚线部分的体积为当前容器中长方体物料的包络的体积。容器中所有长方体物料的体积总数不大于包络体积。所有长方体物料的体积与包络体积的关系一定程度上可以反映当前长方体物料摆放的紧密程度,所以定义概念“体积贡献率”。体积贡献率的定义为所有长方体物料的体积与包络体积的比值。
3.3定义可行点:
“可行点”表示容器内可以放置长方体物料的位置。可行点即为当长方体物料紧密地靠着容器壁或其他长方体物料时的位置点的位置。如图6所示,黑色点即为当前长方体物料摆放状态中的所有可行点。
下面结合上述定义,来详细说明本申请实施例所述贪心码垛算法,通过所述贪心码垛算法能保证物料占据容器体积比例较高的同时,也能保证物料的稳定性与放置物料的可行性。
实施例一:
本申请发明提供一种贪心码垛方法,请参阅图7,所述方法包括如下步骤:
S10、记录某一状态下容器中可放置长方体物料的可行点的数目为N;
S12、在每个可行点上,记录长方体物料的六种旋转状态,统计所有可行点数目为N的所有旋转状态;
具体地,在每个可行点上,记录长方体物料的六种旋转状态,统计所有可行点数目为N的所有旋转状态为6N种旋转状态及与可行点的组合。
S13、根据判断策略排除不合法的旋转状态组合。
考虑某一种旋转状态与可行点的组合时,首先要判断是否存在以下两种不合法的状态:
1.当前物料与其他已经摆放好的长方体物料相交;
2.当前物料底部面的重心未落在容器底部或其他长方体物料的表面。如果当前位置与旋转状态与其他长方体物料相交,或底面重心没有落在其他长方体物料表面,则均视为不合法状态,舍弃该两种情况作为物料的可行点。
S14、排除不合法情况后,计算在每个合法情况下可行点的贪心指标。
具体地,在排除不合法情况后,计算在每个合法情况下可行点的贪心指标,所述贪心指标具体包括:
该可行点以该旋转状态摆放后的体积贡献率(volume contribution)、当前旋转状态下长方体物料底部的接触面积、以及当前可行点距离容器顶部的距离之间的关系。
计算公式为:(H-c)*volume contribution^3*S底。
其中,H为容器高度上限;
c为可行点的z轴坐标(即被摆放长方体物料位置点的z轴坐标);
H-c为当前可行点距离容器顶部的距离;
volume contribution表示体积贡献率;S底为当前旋转状态下长方体物料底部的接触面积。
S15、选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解,也即为码垛的最佳可行点。
本申请实施例所述贪心码垛方法通过记录某一状态下容器中可放置长方体物料的可行点的数目以及每个可行点上可放置物料的旋转状态,并根据判断策略排除不合法的旋转状态组合,根据算法计算在每个合法情况下可行点的贪心指标,选取贪心指标最大的可行点和旋转状态作为物料最佳放置位置输出解,从而能保证物料占据容器体积比例较高,也能保证物料的稳定性与放置物料的可行性,能有效提高容器放置物料的储存率,避免工业产线上物料随机放置在容器中的任意位置,物料难以被整齐放置,且很容易造成容器空间的浪费的问题。
实施例二:
请参阅图8,下面结合具体案例长方体物料-箱子放置在容器中来说明本申请实施例所述贪心码垛方法的具体实现过程:
S20、输入长方体物料箱子即将放入的容器的容器规格{Xmax,Ymax,Zmax};
S21、输入长方体物料箱子种类数N,输入N个箱子规格(li,wi,hi),i=1,2,3……N;
S22、初始化位置P=(X,Y,Z)=(0,0,0),设定箱子数量M=0,初始化可行点集合A={(0,0,0)};
S23、对需要装入容器的箱子的进行编号依次M++,输入需要装入容器的箱子的编号K;定义M号箱子BM={lk,wk,hk};
S24、计算M号箱子BM放置在可行点集合A中各个点的体积贡献率(volumecontribution),选取体积贡献率最大时的位置作为初始化位置P;若存在位置使体积贡献率相同,则选择包络体积最小时的位置作为初始化位置P;若此时存在位置使体积贡献率(volume contribution)和包络体积(volumecontribution)均相同,则选择X、Y、Z轴上长度为降序的位置作为P。
计算公式为:(H-c)*volume contribution^3*S底。
其中,H为容器高度上限;
c为可行点的z轴坐标(即被摆放长方体物料位置点的z轴坐标);
H-c为当前可行点距离容器顶部的距离;
volume contribution表示体积贡献率;
S底为当前旋转状态下长方体物料底部的接触面积。
S25、取可行点集合A中未曾遍历过的位置AK;K属于自然数。
S26、判断在AK处是否存在合法的旋转状态BM。
S27、如果是,则计算旋转状态BM的每个合法状态的包络体积和体积贡献率,如果不是,则执行步骤S28。
S28、判断可行点集合A中的元素是否全部被遍历?如果是,则执行步骤S29,如果不是则返回执行步骤S25。
S29、判断可行点集合A是否存在合法状态?如果是,则执行S30,如果否,则结束。
S30、选取使体积贡献率最大时的旋转状态BM和AK作为物料箱子放置的最佳旋转状态BM和位置P。
具体地,选取使体积贡献率最大时的旋转状态BM和AK作为物料箱子放置的最佳旋转状态BM和位置P。如此时存在使体积贡献率相同的组合,则选择包络体积最小时的组合;如此时存在使体积贡献率和包络体积均相同的组合,则选择BM在X、Y、Z轴上长度为降序的状态所在的组合;若存在多种该组合,则随机选择一种。
本申请实施例所述贪心码垛方法通过记录某一状态下容器中可放置长方体物料的可行点的数目以及每个可行点上可放置物料的旋转状态,并根据判断策略排除不合法的旋转状态组合,根据算法计算在每个合法情况下可行点的贪心指标,选取贪心指标最大的可行点和旋转状态作为物料最佳放置位置输出解,从而能保证物料占据容器体积比例较高,也能保证物料的稳定性与放置物料的可行性,能有效提高容器放置物料的储存率,避免工业产线上物料随机放置在容器中的任意位置,物料难以被整齐放置,且很容易造成容器空间的浪费的问题。
实施例三:
本申请实施例还提供一种贪心码垛装置,请参阅图9,所述装置包括相互通信连接的可行点数目记录模块20、旋转状态统计模块30、不合法排除模块40、贪心指标计算模块50以及码垛最佳放置输出模块60。
所述可行点数目记录模块20,用于记录某一状态下容器中可放置长方体物料的可行点的数目为N;
所述旋转状态统计模块30,用于在每个可行点上,记录长方体物料的六种旋转状态,统计所有可行点数目为N的所有旋转状态。
具体地,在每个可行点上,记录长方体物料的六种旋转状态,统计所有可行点数目为N的所有旋转状态为6N种旋转状态及与可行点的组合。
所述不合法排除模块40,用于根据判断策略排除不合法的旋转状态组合。
具体地,考虑某一种旋转状态与可行点的组合时,首先要判断是否存在以下两种不合法的状态:
1.当前物料与其他已经摆放好的长方体物料相交;
2.当前物料底部面的重心未落在容器底部或其他长方体物料的表面。如果当前位置与旋转状态与其他长方体物料相交,或底面重心没有落在其他长方体物料表面,则均视为不合法状态,舍弃该两种情况作为物料的可行点。
所述贪心指标计算模块50,用于计算在每个合法情况下可行点的贪心指标。
具体地,在排除不合法情况后,计算在每个合法情况下可行点的贪心指标,所述贪心指标具体包括:
在该可行点以该旋转状态摆放后的体积贡献率、当前旋转状态下长方体物5料底部的接触面积、以及当前可行点距离容器顶部的距离之间的关系。
计算公式为:(H-c)*volume contribution^3*S底。
其中,H为容器高度上限;
c为可行点的z轴坐标(即被摆放长方体物料位置点的z轴坐标);
H-c为当前可行点距离容器顶部的距离;
volume contribution表示体积贡献率;
S底为当前旋转状态下长方体物料底部的接触面积。
以及码垛最佳放置输出模块60,用于选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解,也即为码垛的最佳可行点。
本申请实施例所述贪心码垛装置通过记录某一状态下容器中可放置长方体物料的可行点的数目以及每个可行点上可放置物料的旋转状态,并根据不合法排除模块40判断策略排除不合法的旋转状态组合,根据贪心指标计算模块50计算在每个合法情况下可行点的贪心指标,选取贪心指标最大的可行点和旋转状态作为物料最佳放置位置输出解,从而能保证物料占据容器体积比例较高,也能保证物料的稳定性与放置物料的可行性,能有效提高容器放置物料的储存率,避免工业产线上物料随机放置在容器中的任意位置,物料难以被整齐放置,且很容易造成容器空间的浪费的问题。
实施例四:
根据本发明的一个实施例提供的一种计算机可读存储介质,请参阅图10,包括处理器100以及存储器200,存储器200上存储有计算机程序,所述计算机程序被处理器100执行时实现上述贪心码垛方法中的步骤,具体步骤如实施例一中描述所述,在此不再赘述。
本实施例中的存储器可用于存储软件程序以及各种数据。本实施例中,所述存储器200上存储有可行点数目记录程序201、旋转状态统计程序202以及不合法排除程序203、贪心指标计算程序204、操作***205等。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在一实施例中,所述计算机可读存储介质还包括与所述处理器100连接的用户接口101以及网络接口102,通过所述用户接口101以及网络接口102可以实现与用户的通讯设备连接,并进行通讯交互。所述处理器100与所述用户接口101、网络接口102以及存储器200之间通过通信总线连接,通过通信总线,所述用户接口101、网络接口102、处理器100以及存储器200之间可以进行通讯交互。
所述用户接口101可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口101还可以包括标准的有线接口、无线接口,用户接口101主要用于连接客户端(用户端),与客户端进行数据通信。
所述网络接口102可以包括标准的有线接口、无线接口(如WI-FI接口),网络接口102主要用于连接后台服务器,与后台服务器进行数据通信。
存储器200可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器200还可以是独立于前述处理器100的存储装置。所述处理器100可以用于调用存储器200中存储的所述程序,并控制所述程序执行实现上述贪心码垛方法中的步骤,具体步骤如实施例一中描述所述,在此不再赘述。
根据本实施例的一个示例,上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机***的存储介质中,并被该计算机***中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。该存储介质包括但不限于磁碟、优盘、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (9)
1.一种贪心码垛方法,其特征在于,所述方法包括如下步骤:
记录某一状态下容器中可放置长方体物料的可行点的数目;
在每个可行点上,记录长方体物料的旋转状态,统计所有可行点数目的所有旋转状态;
根据判断策略排除不合法的旋转状态组合;
计算在每个合法情况下可行点的贪心指标;
选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解;
其中,所述可行点表示容器内可以放置长方体物料的位置;所述贪心指标表示可行点以该旋转状态摆放后的体积贡献率、当前旋转状态下长方体物料底部的接触面积、以及当前可行点距离容器顶部的距离之间的关系;
计算公式为:(H-c)*volume contribution^3*S底;
其中,H为容器高度上限;c为可行点的z轴坐标(即被摆放长方体物料位置点的z轴坐标);
H-c为当前可行点距离容器顶部的距离;
volume contribution表示体积贡献率;体积贡献率的定义为所有长方体物料的体积与包络体积的比值;
包络体积是表示:对容器中所有的长方体物料做扩展,所有扩展组成的区域即为容器内所有物料的包络,该区域的体积即为容器中所有物料的包络的体积,简称包络体积;
S底为当前旋转状态下长方体物料底部的接触面积。
2.根据权利要求1所述的贪心码垛方法,其特征在于,所述根据判断策略排除不合法的旋转状态组合包括:排除当前位置与旋转状态与其他长方体物料相交状态,或排除底面重心没有落在其他长方体物料表面的状态。
3.根据权利要求2所述的贪心码垛方法,其特征在于,进一步包括步骤:
取可行点集合A中未曾遍历过的位置AK;K属于自然数;
判断在AK处是否存在合法的旋转状态BM;
如果是,则计算旋转状态BM的每个合法状态的体积贡献率和包络体积;
如果不是,则判断可行点集合A中的元素是否全部被遍历。
4.根据权利要求3所述的贪心码垛方法,其特征在于,所述判断可行点集合A中的元素是否全部被遍历之后进一步还包括步骤:
判断可行点集合A是否存在合法状态。
5.根据权利要求1所述的贪心码垛方法,其特征在于,所述在每个可行点上,记录长方体物料的旋转状态,统计所有可行点数目的所有旋转状态包括:
在每个可行点上,记录长方体物料的六种旋转状态,统计所有可行点数目为N的所有旋转状态为6N种旋转状态及与可行点的组合状态。
6.根据权利要求1所述的贪心码垛方法,其特征在于,所述选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解还包括步骤:
如存在使体积贡献率相同的组合,则选择包络体积最小时的组合。
7.根据权利要求1所述的贪心码垛方法,其特征在于,选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解还包括步骤:
如存在使体积贡献率和包络体积均相同的组合,则选择旋转状态BM在X、Y、Z轴上长度为降序的状态所在的组合。
8.一种贪心码垛装置,其特征在于,包括相互通信连接的可行点数目记录模块、旋转状态统计模块、不合法排除模块、贪心指标计算模块以及码垛最佳放置输出模块;
所述可行点数目记录模块,用于记录某一状态下容器中可放置长方体物料的可行点的数目;其中,所述可行点表示容器内可以放置长方体物料的位置;
所述旋转状态统计模块,用于在每个可行点上,记录长方体物料的六种旋转状态,统计所有可行点的所有旋转状态;
所述不合法排除模块,用于根据判断策略排除不合法的旋转状态组合;
所述贪心指标计算模块,用于计算在每个合法情况下可行点的贪心指标;
所述码垛最佳放置输出模块,用于选取贪心指标最大的可行点和旋转状态作为物料码垛最佳放置输出解;
所述贪心指标表示可行点以该旋转状态摆放后的体积贡献率、当前旋转状态下长方体物料底部的接触面积、以及当前可行点距离容器顶部的距离之间的关系;
计算公式为:(H-c)*volume contribution^3*S底;
其中,H为容器高度上限;c为可行点的z轴坐标(即被摆放长方体物料位置点的z轴坐标);
H-c为当前可行点距离容器顶部的距离;
volume contribution表示体积贡献率;体积贡献率的定义为所有长方体物料的体积与包络体积的比值;
包络体积是表示:对容器中所有的长方体物料做扩展,所有扩展组成的区域即为容器内所有物料的包络,该区域的体积即为容器中所有物料的包络的体积,简称包络体积;
S底为当前旋转状态下长方体物料底部的接触面积。
9.一种计算机可读存储介质,其特征在于,包括主处理器、可读存储介质以及在所述可读存储介质上存储的计算机程序,所述计算机程序被主处理器执行时实现如权利要求1至7任一项所述的贪心码垛方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111168163.7A CN113895728B (zh) | 2021-09-30 | 2021-09-30 | 贪心码垛方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111168163.7A CN113895728B (zh) | 2021-09-30 | 2021-09-30 | 贪心码垛方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113895728A CN113895728A (zh) | 2022-01-07 |
CN113895728B true CN113895728B (zh) | 2023-03-21 |
Family
ID=79190419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111168163.7A Active CN113895728B (zh) | 2021-09-30 | 2021-09-30 | 贪心码垛方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113895728B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114330038B (zh) * | 2022-03-17 | 2022-05-24 | 北京清亦科技有限公司 | 基于虚拟现实的稳定性分析的物资堆叠方法、***及设备 |
CN116280512B (zh) * | 2023-02-06 | 2023-09-22 | 荣耀终端有限公司 | 物品摆放方式生成方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2743096B2 (ja) * | 1989-09-22 | 1998-04-22 | 株式会社日立製作所 | 物品積付け計画方法 |
FR2695924B1 (fr) * | 1992-09-18 | 1994-12-02 | Newtec Int | Palettiseur comportant des moyens d'adaptation rapides à un schéma de palettisation et son procédé de mise en Óoeuvre. |
US9663309B2 (en) * | 2013-09-06 | 2017-05-30 | Liquor Control Board Of Ontario (Lcbo) | Automated palletization method, system and software |
CN108275293B (zh) * | 2017-01-06 | 2020-06-05 | 北京京东尚科信息技术有限公司 | 码垛方法、码垛装置、计算机可读存储介质及电子设备 |
CN110222862A (zh) * | 2018-03-02 | 2019-09-10 | 北京京东尚科信息技术有限公司 | 码垛方法和装置 |
CN109264110B (zh) * | 2018-08-23 | 2020-11-06 | 武汉智能装备工业技术研究院有限公司 | 一种物流装箱方法 |
WO2020164050A1 (zh) * | 2019-02-14 | 2020-08-20 | 深圳配天智能技术研究院有限公司 | 自动码垛的方法、设备以及存储装置 |
CN110723555B (zh) * | 2019-10-23 | 2021-10-12 | 安吉智能物联技术有限公司 | 一种码垛稳定性好的离线混合码垛方法 |
CN111573292B (zh) * | 2020-05-14 | 2022-09-06 | 阿丘机器人科技(苏州)有限公司 | 码垛方法、装置、电子设备及计算机可读存储介质 |
CN111891758B (zh) * | 2020-08-04 | 2021-01-05 | 广东工业大学 | 一种欠完备信息的在线货物码垛方法 |
CN112499276B (zh) * | 2020-11-03 | 2021-10-29 | 梅卡曼德(北京)机器人科技有限公司 | 多尺寸箱子的混合码垛方法、设备、装置及计算机可读存储介质 |
CN113183156B (zh) * | 2021-05-17 | 2021-11-23 | 广东工业大学 | 一种基于数字孪生技术的智能码垛方法 |
CN113222257B (zh) * | 2021-05-17 | 2022-03-01 | 广东工业大学 | 一种基于缓冲区的在线混合码垛方法 |
-
2021
- 2021-09-30 CN CN202111168163.7A patent/CN113895728B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113895728A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113895728B (zh) | 贪心码垛方法、装置及计算机可读存储介质 | |
JP6998964B2 (ja) | ジオフェンスのインデックスグリッドを判断するための方法及び装置 | |
CN108470374A (zh) | 海量点云数据处理方法及装置 | |
CN111063032B (zh) | 模型渲染方法、***及电子装置 | |
CN108876024A (zh) | 路径规划、路径实时优化方法及装置、存储介质 | |
CN103164864B (zh) | 计算机图像处理中多边形的三角化方法及其*** | |
CN114529633B (zh) | 一种支持gis线对象和面对象连续lod绘制的方法 | |
US6694343B2 (en) | Method for solving a large sparse triangular system of linear equations | |
CN110763247A (zh) | 基于可视图和贪心算法结合的机器人路径规划方法 | |
CN111985675A (zh) | 托盘空间规划方法、码垛方法及其装置、及电子设备 | |
US20240208679A1 (en) | Optimized packing of polygons into a container | |
CN108537892A (zh) | 三维模型和场景数据自动导入ue4的方法 | |
CN111854683B (zh) | 用于三维空间数据高程采样的方法及装置、设备 | |
CN111891758A (zh) | 一种欠完备信息的在线货物码垛方法 | |
CN115115773A (zh) | 碰撞检测方法、装置、设备及存储介质 | |
CN105824943A (zh) | 一种二维地图引擎海量矢量数据存储方法 | |
CN111798558A (zh) | 数据处理方法及装置 | |
CN114241105A (zh) | 界面渲染方法、装置、设备和计算机可读存储介质 | |
CN111369189A (zh) | 生成拣货任务的方法、装置、存储介质及电子设备 | |
CN116764225A (zh) | 一种高效寻路的处理方法、装置、设备及介质 | |
CN106998489A (zh) | 一种焦点越界搜索方法及装置 | |
CN107945273B (zh) | 地形网格的处理方法和装置、存储介质及终端 | |
CN115796111A (zh) | 一种适用于agf文件处理方法、计算机设备、可读存储介质 | |
Bajaj et al. | Seed sets and search structures for optimal isocontour extraction | |
KR101685999B1 (ko) | 대용량 tin 데이터 분산 저장 방법 |
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 |