三维装箱论文阅读小结 |
您所在的位置:网站首页 › cookie阅读理解 › 三维装箱论文阅读小结 |
一、《基于混合遗传算法的多箱型集装箱装载问题研究》张长勇 本文以实际问题——航空器货物装载为切入点,研究了遗传算法在航空装载问题中的有效性。 1、问题定义: 多箱型集装箱装载问题: 在一定的约束条件下,将大量质量不等、大小不同的货物以适当的装载方法装入到多个集装箱中,其中待装载集装箱为常用的四种航空集装箱(AMA 、 AKE 、AMF、 AAU 集装箱),使得满足实际约束的情况下各集装箱的体积利用率最大,以提高航空集装箱运输中对集装箱的合理利用,从而降低运输成本提高经济效益。 2、假设条件: (1) 货物密度均匀,形状均为长方体,尺寸各异且不大于集装箱尺寸;(2) 货物由挤压产生的微小形变可忽略; (3) 货物的码放不受限制,可放置在箱内任意位置。(4 )货物具有不同到站。 3、约束条件: (1) 体积约束:货物的总体积不超过集装箱的最大容积;(2) 载重量约束:货物的总重量不超过集装箱的最大承载能力; (3) 重心约束:为保证垛形稳定性,集装箱重心应在合理的范围内;(4) 不重叠约束:货物之间不允许重叠放置;(5) 承重约束:充分考虑货物的载重能力,以免因过度挤压而损坏货物。 (6) 正交放置约束:码放过程中货物边缘与集装箱边缘平行或者垂直。(7) 装载顺序约束:货物编号与装载顺序一一对应,先到站的后装,后到站的先装。 这里比较难理解的是重心约束如何去实现,涉及到一点高等数学的知识:重心的计算 4、遗传算法设计 遗传算法最重要的就是编码和解码,因此,设计过程就是编码的过程。 (1)货物放置状态。这里需要引起 注意:实际问题中有一些货物可以上下颠倒放置,因此有六种放置状态;有一部分货物不能上下颠倒,因此只有两种放置状态1 2。这一点可以通过自己拿身边的物品实操一下即可理解1 2 3 4 5 6。 (2)个体的编码和解码:考虑对货物的装箱顺序、货物放置状态和集装箱编号进行编码 (3)货物放置规则:还是通用方法,即放置一个物品,减少一个pivot,但是产生三个pivot (4)评价函数:最大化集装箱体积利用率,这里是装载的总的物品体积/所使用全部集装箱体积 (5)常规遗传操作 5、实验分析部分 思路:(1)选取文献当中的标准算例,与其他使用该算例的算法进行对比分析 (2)实例验证:物流公司获取的具体货物数据来进行验证。这里还分析了单个集装箱的体积利用率大小。 (3)收敛性判断:在经过一定次数的迭代,是否可以收敛。 (4)可视化分析 个人评述: (1)文章前面的对比实验数据,是以单一种类集装箱为基础的,即箱子的种类只有一个,然后进行了对比实验,但是航空装载是多种类集装箱装载,我认为对比实验的说服力不强,还不能说明该遗传算法的有效性。 (2)航空公司实际数据的分析和可视化中,作者篇幅和笔墨较少,可视化是怎么实现的,箱子的位置如何确定的,均未描述;非长方体箱型装载如何实现的? (3)实际货物可能都是长方体形状的吗?我认为这是这篇文章接下来应该研究的重点。二、《OPTIMIZING THREE-DIMENSIONAL BIN PACKING THROUGH SIMULATION》 这篇文章的发表于2006年,但是它的方法还是比较经典的。文章本身写得确实不咋地,初看的话有些晦涩,因为它很多的方法和细节都没有详细阐述,默认读者是明白的。这种先入为主的写作思想,对于读者来说简直是噩梦。 1、研究问题 文章直接假设物品和容器均为长方体,选取若干的容器装载物品,使得每一个容器的体积利用率最大。在这里,我解读为,物品总体积/使用容器总体积 这个值最小即可。 2、假设条件 (1)物品和容器均为正方体 (2)物品和容器平行装载 (3)物品可以在六个方向随意旋转 需要指出的是,这里没有考虑的限制有很多,比如重心限制,承重限制等 3、约束条件 (1)总重量:每个箱子的载重量有限 (2)大小:放置的所有物品大小不能超过箱子本身 (3)交叉:不同物品间不能交叉放置 4、解决方法 Best Fit (1)以体积大小为标准,对items和bins做排序。初始放置点为(0,0,0)。 (2)第一个物品放置完毕后,之后每放置一个物品,首先生成一个可放置点,具体方法是:根据上一个物品的放置点,我们可以按照width,depth,height三个方向新生成三个可放置点,这里并不保存,只是选择其中的一个作为可放置点。然后穷尽6个方向放置物品,直到物品可以被放进去。 (3)如果在三个方向上生成的可放置点上都无法将箱子放进去,那么就将该物品放入unfitted items中,先将其他箱子处理完,再来处理该箱子。 3D First Fit Decreasing (1)该算法尽量让物品和最长边贴着箱子的最长边放置。比如一个箱子为10X9X8,即width是最长的。有一个物品规格为1X2X3,那么就使其旋转变成3X2X1(或3X1X2),使最长边贴着箱子的最长边放置。 (2)初始阶段,按照箱子width、height、depth的大小顺序,对装载的物品做一个递减排序。比如箱子箱子是10X9X8,即width>height>depth,那么箱子就要按照宽带、长度、深度递减的顺序排列。 (3)假设3X2X1无法放置到箱子,那么再次旋转使其变成2X3X1(或2X1X3),使其第二长边对应箱子放置,以此类推。 作者没有给出该方法的伪代码,有效性和算法的优劣性暂无结论。而且这个也只适用于单个箱子装载物品的场景,当有多个种类和规格不同的箱子进行装载的时候,这个方法没有很方便。 5、实验分析部分 实验分析部分并未给出对比,仅仅做了可视化实验。 三、Issues in the to Development of Approaches Container Loading 这篇文章几乎会被后来的每篇三维装箱主题文章引用,因为它给出了这个领域的标准数据集,并沿用至今。同时,给出了数据集生成算法,以及统一的问题定义,方便后来的学者继续做研究。 数据集链接 研究背景 作者对箱子进行了分类。按照箱子的种类和数量的多少,将装箱问题分为强异构型问题和弱异构型问题。当时的算法,很大程度上取决于问题是强异构类型还是弱异构类型,这个很影响算法的效果。因此,作者想找到一种结合的方法,却解决这个问题。 问题定义: 简单来说,就是给定单个容器和一系列尺寸不一一定数量的箱子,要找到一个恰当的装载方式,使得容器的容积利用率最大。注意,这里并不是要所有物品都被装进去,而是要用算法选定一定的物品进行装载,使得容器的容积利用率最大。 约束条件: (1)箱子之间不能重叠。(2)方向约束。width、height和depth是否能作为垂直方向的长度。 (3)承载约束。要考虑到箱子单位面积能够承受的重量。 (4)物品放置顺序的约束。比如重的物品要放在地板上,或者不能放太高,方便搬运和卸载。 (5)承载的稳定性。确保货物在运输过程中不能剧烈移动。 (6)物品分组限制。把相同的物品分为一组,放在一起,方便搬运和卸货。 (7)多次卸载限制。货物可能有不同的卸货地点,先卸货的后装载,后卸货的先装载。 (8)货物之间的分离。有一些货物不能放在一起,比如说化学品和食物 (9)完整的物品搬运。(还不太明白) (10)货物运输的优先级。 (11)装载方法不能过于复杂,这样会导致更大的工作量。 (12)集装箱重量限制 (13)重心限制。整个容器的重心要尽量接近它的几何重心。 以上~会继续更新 四、领域搜索 在三维装箱问题中,启发式算法产生新解的方式: 《三维装箱问题的组合启发式算法》 (1)改变两类箱子的装填顺序 (2)交换某类箱子的任意两个尺寸 《A novel hybrid tabu search approach to container loading》 (1)交换任意两个解在集装箱中的位置 五、Loading pallets with non-identical items 1、解决的问题 托盘是一个装载货物的器械,和航空装载的ULD类似。给定一定数量,不同种类的物品,要求找到一个装载方案,让物体放置在托盘中,从而最大化托盘的空间利用率。 2、与集装箱装载问题的不同 本文使用的是分层装载的思想 但文章中对“层”的定义描述不清晰 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |