一种基于粒子填充原理的集装箱装载过程优化方法与流程

文档序号:17375220发布日期:2019-04-12 23:13阅读:212来源:国知局
一种基于粒子填充原理的集装箱装载过程优化方法与流程

本发明属于集装箱装载过程对空间的划分技术领域,具体涉及一种基于粒子填充原理的集装箱装载过程优化方法。



背景技术:

三维装箱问题是一个具有复杂约束条件的np-hard型问题,即在有限时间内找不到问题最优解。由于其复杂性和难度大,各种算法都是基于一定的假设之下,针对不同的实际情况,学者们提出不同的求解思路。其中包括采用三叉树数据结构来处理空间的算法以此来提高集装箱积载率,该算法描述为在实际装载过程中,总是将商品从里向外,从下往上摆放,因此我们也就可以将空间布局问题中的八叉树模型简化成三叉树模型。(三叉树,是指在树形结构中,每一个节点产生三个分支,而在每一个子节点又产生三个新的分支)。应用于装箱中即为:先对原始布局空间求解,此时原始布局空间为当前布局空间,对应于三叉树的根节点。按定序规则从可选布局物体中选择一个相对于当前布局最优的布局物体,并按照定位规则将其放入,这样原布局空间的剩余空间如图1和图2、剩余空间一,剩余空间二,剩余空间三…所示他们分别对应于三叉树根结点的左、中、右三个子节点。按照深度优先的原则分别对着三个独立布局空间重复上述分解过程,直至没有待布局物体满足要求时停止。由此,每个物体模型作为空间的一个节点,都将与之对应的原空间被划分为三个部分,该过程被称之为三叉树空间划分模型。

三叉树空间划分装载过程中:将物体一放入集装箱,划分空间;再放置物体二,再次对空间划分空间,不断循环,在划分空间中,实际上是存在于六种划分的方法,如图3所示,如果每次在物体放入之后都考虑空间划分的六选一问题,那么空间划分选择的算法复杂度为o(6n)。考虑到算法的复杂性在实际情况,只是选择其中的某一种空间划分方式来进行物体的装载研究。

较为常见的两种划分方法采用图3(a)的空间划分办法和gehring等的算法采用图3(f)的划分办法。图3(a)的摆放顺序为以前一个物体为基准,按照先向上、再向旁边、最后向前的历遍方式,引进的是一种层的概念;图3(f)的摆放顺序为以前一个物体为基准,按照先向旁边、在向上面、最后向前的历遍方式。采用基于三叉树形式的空间划分,随着布局物体填充增多,一个个较大的空间不断的被分成较小的空间,解空间急剧膨胀,空间复杂度越来越强,因而造成计算效率较低与空间碎片化如图4。现有的算法中就提出对空间进行合并以此来提高装载率。空间划分"层"(水平方向上划分)来装叠,如图5、图13所示,前一层指的是装载物体放完之后前一层的状态,后一层是即将要放的层(为了提高利用率,将前一层中没利用的空间可以合并到后一层中来考虑),如图5所示在物体摆入、空间分割的过程中,不断地对位置相邻的空间进行比较,按照空间合并规则把能够合并的空间重新整合,生成尺寸较大的空间,以便于物体更好的摆放,如图13所示,是对层与层空间之间进行空间合并的不同方案。

因此空间划分存在六选一的困扰,并且空间合并十分复杂。



技术实现要素:

本发明目的在于提供一种基于粒子填充原理的集装箱装载过程优化方法,以解决上述背景技术中提出的空间划分存在六选一的困扰,并且空间合并十分复杂的问题。

为了实现上述目的,本发明采用如下技术手段:一种基于粒子填充原理的集装箱装载过程优化方法,包括集装箱,和若干尺寸不同的物体,所述物体填充在集装箱内,将待装载集装箱放置在三维空间坐标之上,用一定规格的粒子填充整个集装箱。

一种基于粒子填充原理的集装箱装载过程优化方法,包括集装箱,和若干尺寸、形状不同的物体,所述物体填充在集装箱内,将待装载集装箱放置在三维空间坐标之上,用一定规格的粒子填充整个集装箱,得到集装箱内粒子的中心坐标点形成一个三维数组,并将三维数组内的元素赋初值0,即集装箱内粒子空间为空载状态时,三维数组中的元素值用0来表示。

优选的,放入物体;并将该物体所占空间的粒子元素赋值为1,即当前该粒子空间是满载状态时,三维数组中的元素值用1来表示;

一种基于粒子填充原理的集装箱装载过程优化方法,包括如下步骤:

(1):初始化信息,输入箱体的长、宽、高,并根据物体的数量及长、宽、高并选择算法的精度;

(2):对集装箱长宽高,根据所选的粒子精度进行离散化,即用所选粒子充满整个集装箱空间;

(3):依照定序规则和定位规则放入一个物体;

(4):在指定的位置中预放入该物体,并生成物体占用空间;

(5):判断物体占用空间中包含的元素粒子是否存在1,若元素粒子存在1,则返回(4);若不存在为1的元素粒子,则执行下一步骤;

(6):根据位置放入物体,将该物体所占空间的粒子元素赋值为1;

(7):记录集装箱内粒子元素的状态并更新集装箱内可放置物体的位置;

(8):判断物体是否全部放入或者集装箱剩余空间是否无法放入物体;

(9):若否,则返回(3);

(10):若是,装载结束,输出最终装载结果。

优选的,步骤(1)粒子根据精度和集装箱大小选定比例,使得某行某列的粒子个数为整数。粒子的精度由集装箱、被装入物体、所需的装箱精度共同决定,也需要考虑计算平台的运算能力。

优选的,步骤(2)所选的粒子精度进行离散化,即用所选粒子充满整个集装箱空间。

优选的,摆放的过程中需要检验的因素有两个:定位规则的满足;根据定位规则预放入物体后,判断物体空间所包含的粒子元素是否存在1。

优选的,定序规则:确定待布局物体放入布局空间的先后顺序。

优选的,定位规则:依据占角策略和顺序策略来确定每个待布局物体摆放的位置。

有益效果:本发明中的算法的精度由粒子的大小决定,粒子大算法精度低,粒子小算法精度高;不需要三叉树的空间逻辑划分,且装载过程简单易行,容易编程实现。

附图说明

图1为背景技术中所述的三叉树剩余空间划分模型图。

图2为背景技术中所述的三叉树算法流程图。

图3为六种三叉树空间划分方式图。

图4为基于三叉树形式的多个物体放入状态图。

图5相邻空间合并图。

图6粒子填充原理图。

图7为大直径粒子填充示意图。

图8为小直径粒子填充示意图。

图9为多物体摆放后状态图。

图10为传统三叉树图。

图11为基于粒子填充状态图。

图12为基于粒子填充原理算法流程图。

图13为层与层空间之间进行空间合并的不同方案。

其中:s1、剩余空间一;s2、剩余空间二;s3、剩余空间三…;o1、物体一;o2、物体二;o3、物体三…;p1、定位点一;p2、定位点二;p3、定位点三…

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种基于粒子填充原理的集装箱装载过程优化方法,包括集装箱,和若干尺寸、形状不同的物体,所述物体填充在集装箱内,其特征在于,将待装载集装箱放置在三维空间坐标之上,用一定规格的粒子填充整个集装箱,得到集装箱内粒子的中心坐标点形成一个三维数组,并将三维数组内的元素赋初值0,即集装箱内粒子空间为空载状态时,三维数组中的元素值用0来表示。放入物体;并将该物体所占空间的粒子元素赋值为1,即当前该粒子空间是满载状态时,三维数组中的元素值用1来表示;

一种基于粒子填充原理的集装箱装载过程优化方法,包括如下步骤:

(1):初始化信息,输入箱体的长、宽、高,并根据物体的数量及长、宽、高并选择算法的精度;

(2):对集装箱长宽高,根据所选的粒子精度进行离散化,即用所选粒子充满整个集装箱空间;

(3):依照定序规则和定位规则放入一个物体;

(4):在指定的位置中预放入该物体,并生成物体占用空间;

(5):判断物体占用空间中包含的元素粒子是否存在1,若元素粒子存在1,则返回(4);若不存在为1的元素粒子,则执行下一步骤;

(6):根据位置放入物体,将该物体所占空间的粒子元素赋值为1;

(7):记录集装箱内粒子元素的状态并更新集装箱内可放置物体的位置;

(8):判断物体是否全部放入或者集装箱剩余空间是否无法放入物体;

(9):若否,则返回(3);

(10):若是,装载结束,输出最终装载结果。

步骤(1)粒子根据精度和集装箱大小选定比例,使得某行某列的粒子个数为整数,粒子的精度由集装箱、被装入物体、所需的装箱精度共同决定,也需要考虑计算平台的运算能力;步骤(2)所选的粒子精度进行离散化,即用所选粒子充满整个集装箱空间。摆放的过程中需要检验的因素有两个:定位规则的满足;根据定位规则预放入物体后,判断物体空间所包含的粒子元素是否存在1。定序规则:确定待布局装载物体放入布局空间的先后顺序;定位规则:依据占角策略和顺序策略来确定每个待布局装载物体摆放的位置。

如图6,将待装载集装箱放置在三维空间坐标之上,集装箱的长、宽、高分别用bl、bw、bh表示,物体的长、宽、高分别用cl、cw、ch表示,用一定规格的粒子填充整个集装箱,选择算法的精度(粒子直径),选择的粒子直径越小,定位的精度就越高,如图7至图8所示。粒子根据精度和集装箱大小选定比例,使得某行某列的粒子个数为整数,假定选择粒子直径为1,,则填充整个集装箱需要bw*bl*bh粒子,将集装箱内粒子的中心坐标点组成一个三维数组,并将三维数组内的元素赋初值为0,用三维数组中的元素值为0来表示当前集装箱内的空载状态,三维数组中,用元素值1表示当前该粒子空间是满载状态。

依据装箱问题中构造法的两类规则:定序规则和定位规则来摆放物体。

定序规则:确定待布局物体放入布局空间的先后顺序;

定位规则:依据占角策略和顺序策略来确定每个布局空间摆放的位置。

根据定位规则在集装箱内放入物体,按照放入物体的尺寸大小生成物体空间,将物体空间所包含在内的粒子元素赋值为1,占用空间的大小为放入物体的体积即随着物体的不断放入,在此摆放的过程中需要检验的因素有两个:一、定位规则的满足;二、根据定位规则放入物体后,物体空间所包含的粒子元素是否存在不为1。

如图9,表示为多个物体装载之后,集装箱的状态,与图4比较,采用三叉树划分空间模型时的多物体放入状态。相同点:物体可放置位置选择点类似,所述物体包括物体一(o1)、物体二(o2)、物体三(o3),如三叉树不断划分出的剩余空间与粒子装箱中的物体放置的定位点,所述剩余空间包括剩余空间一(s1)、剩余空间二(s2)、剩余空间三(s3)…,所述定位点包括定位点一(p1)、定位点二(p2)、定位点三(p3)…,不同点:三叉树划分后的剩余空间为剩余空间一s1+剩余空间二s2+剩余空间三s3+…,剩余空间是一个个独立的布局空间,正是由于一个个独立空间的限制,物体放入某布局空间时的状态不能是介于布局空间与布局空间之间骑跨的状态,而采用的粒子装箱模型,所剩余的布局空间是用三维数组中粒子元素为0来表示,所剩余的布局空间是一个复杂的多面体,不存在多个独立的布局空间,从而也不存在布局空间与布局空间不能骑跨的限制。如图10、图11所示,图10采用的是传统三叉树空间划分六种方式中图3(a)的空间划分方法,依照三叉树划分空间模型的定位规则物体二(o2)的底面积大于剩余空间一(s1)布局空间的底面积空间,放置过程中判断物体二(o2)无法放入剩余空间一(s1)布局空间转而放入底面积较大的剩余空间二(s2)中,造成该情况的原因是:解决装箱问题所选取的构造法的定序规则和定位规则会根据三叉树空间划分方式选择的不同而变化,如若选择六种三叉树空间划分方式的其他划分方式如图3中(d)或(e),根据该划分方式的定位规则在剩余空间(s1)中就能放入物体二(o2),就此说明这类算法是在针对某一类型的物体,选定某种三叉树空间划分方式的状态下所提出的。由于六选一算法的复杂度o(6n),是一类np完全问题,该类启发式算法都是在一定假设条件:选定某种空间划分方式进而来探讨装箱问题,在某种程度上存在着局限性,所求解出的集装箱物体放置的最优解仅代表的是考虑该类三叉树划分方式的情况下,但是可能会存在某种更优解,这种解是依据几种不同的三叉树划分方式混合而成。本专利提出的粒子填充原理避免了空间划分六选一的难点。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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