装箱问题
装箱问题是复杂的离散组合最优化问题。所谓组合优化,是指在离散的、有限的数学结构上,寻找一个满足给定条件,并使其目标函数值达到最大或最小的解。一般来说,组合优化问题通常带有大量的局部极值点,往往是不可微的、不连续的、多维的、有约束条件的、高度非线性的NP完全问题。装箱问题也不例外,同许多组合最优化问题,如旅行商问题、图的划分问题等一样属于NP一HARD问题。经典的装箱问题要求把一定数量的物品放入容量相同的一些箱子中,使得每个箱子中的物品大小之和不超过箱子容量并使所用的箱子数目最少。
中文名:装箱问题
外文名:bin-packingproblem
别名:组合优化问题
分类:一二三维
一维:重量,体积,长度
三维问题:箱柜装载问题,容器装载问题
二维:面积问题
1、简介
从20世纪70年代初开始,装箱问题就引起了广泛的探讨和研究。然而装箱问题可以追溯到1831年高斯(Gauss)开始研究布局问题,因为装箱问题和布局问题本质上是一样的,到现在已有百余年的历史。虽然经过几代人的努力,但迄今尚无成熟的理论和有效的数值计算方法。由于目前NP完全问题不存在有效时间内求得精确解的算法,装箱问题的求解极为困难,因此,从70~80年代开始,陆续提出的装箱算法都是各种近似算法,如下次适应、首次适应、降序下次适应和调和算法等。
装箱问题广泛存在于工业生产,包括服装行业的面料裁剪、运输行业的集装箱货物装载、加工行业的板材型材下料、印刷行业的排样和现实生活中包装、整理物件等。在计算机科学中,多处理器任务调度、资源分配、文件分配、内存管理等底层操作均是装箱问题的实际应用,甚至还出现在一些棋盘形、方块形的数学智力游戏中。装箱问题的研究文献分布面很广,在运筹学、计算机辅助设计、计算机图形学、人工智能、图像处理、大规模集成电路逻辑布线设计、计算机应用科学等诸多领域都有装箱问题最新的研究动态和成果出现,从这个角度来讲,布局问题涉及到了工业生产的方方面面,也足以证明了装箱问题的应用前景日趋广泛而重要。
2、定义
设有许多具有同样结构和负荷的箱子B1,B2,…,其数量足够供所达到目的之用。每个箱子的负荷(可为长度、重量等等.)为C,今有n个负荷为wj,0 按照装箱物体所属装箱空间 装箱问题可分为一维装箱问题,二维装箱问题,三维装箱问题三种。现实生活中常见的应该是三维装箱问题。 一维装箱问题只考虑一个因素,比如重量、体积、长度等。 二维装箱问题考虑两个因素——给定一张矩形的纸(布料、皮革),要求从这张纸上剪出给定的大小不一的形状,求一种剪法使得剪出的废料的面积总和最小。常见问题包括堆场中考虑长和宽进行各功能区域划分、停车场区位划分、包装材料裁切时考虑怎样裁切使得材料浪费最少、服装布料裁切、皮鞋制作中的皮革裁切等。 三维装箱问题考虑三个因素——一般指长、宽、高。装车、装船、装集装箱等要考虑这三个维度都不能超。 根据目标的不同,三维装箱问题可分成以下几类 箱柜装载问题(three-dimensionalbinpackingproblem,简称3D-BPP):给定一些不同类型的方型箱子和一些规格统一的方型容器,问题是要把所有箱子装入最少数量的容器中。 容器装载问题(three-dimensionalcontainer-packingproblems,简称3D-CPP):在该问题中,所有箱子要装入一个不限尺寸的容器中,目标是要找一个装填,使得容器体积最小。 背包装载问题(three-dimensionalknapsackloadingproblems,简称3D-KLP):每个箱子有一定的价值,背包装载是选择一部分箱子装入容器中,使得装入容器中的箱子总价值最大。如果把箱子的体积作为价值,则目标转化为使容器浪费的体积最小。 按照装箱物体的形状 1)规则物体的装箱 包括二维规则物体的装载和三维规则物体的装载。规则物体是指具有规则外形的物体,例如圆柱体、矩形体等。在以前及现在的装载研究中,研究较多的仍然是规则体的装载问题,如:工业应用中的底盘装载;三维布局中的集装箱的货物摆放问题。 货物底盘装载问题广泛存在于工业生产和交通运输中。由于箱子的大小和形状完全相同,且箱子的边平行于底盘的边,因此该问题也可简化为二维问题。对于该问题,有的学者使用精确的方法求解。在运输生产中,常见的集装箱装载要求有两类,一是集装箱数量无限,而待装的货物有限,要使集装箱利用率最高;二是集装箱数量固定,待装货物数量无限,远远超过己有集装箱的承载能力,一般是其几倍,要求在有限的集装箱空间内尽可能地多装货物,使集装箱利用率最高,生产实际中更多地遇到的是第2类问题。集装箱布局要考虑货物重量、空间利用率、货物易碎性、以及吊装的可能性等等,为多目标多约束优化问题。 2)不规则物体的装箱 包括二维不规则物体的装载和三维不规则物体的装载。不规则物体是指具有任意几何形状的物体。不规则物体的装箱问题在工业生产中大量存在,但同时也是难度最大的装箱问题。二维不规则物体的装箱如服装样本的下料、皮革下料等。三维不规则物体的装箱如向具有任意几何形状的容器中放置任意几何外形的装箱物体,并满足特定的约束条件,达到装箱目标最优。该问题的求解算法基本上是启发式的。 按照装箱物体达到情况 1)在线装箱问题 如果一个装箱算法在装入物品时,只利用前面物品的信息,而不知道后继元素的任何信息,即按照元素到达顺序随到随装,则称该算法为在线(online)算法。这种情况下的装箱问题称为在线装箱问题。在实际应用中,往往要求装载具有在线特性。例如对从传送带上下来的物体进行装载。 2)离线装箱问题 物品装载以前就已得到所有物品信息,之后统一处理所有物品的近似算法称为离线(offline)装箱算法。这种情况下的装箱问题称为离线装箱问题。现代化的物流配送中,很多都要求按订单送货,因此物品的信息提前都是知道的。该问题广泛地出现在铁路货车车厢装载、汽车车厢装载、轮船配载、集装箱装载等情况中。 数学规划法 数学规划法包括分枝定界法(Braneh一and一boundAlgorithm)、动态规划法(Dynamieprogr~ing)、整数规划法(Integerprograunning)和线性规划法(Linearprogramming)等。该方法利用某一优化问题的数学模型,通过修改该模型的精确求解过程得到有效的启发式算法。这四种方法中分枝定界法应用较广泛。该方法的基本思想是试图通过枚举解空间中的有限个解来获得NP完全问题的局部最优解。它由分枝和定界两个操作步骤组成,分枝操作用于将规模较大的原始问题逐步分解为规模较小且易于求解的子问题;而定界操作主要用于评价各分枝的优劣,来减小搜索范围。二维切割问题中,“一刀切”问题是该方法的经典应用,如玻璃切割、纸张裁剪等。 构造法 装箱启发式算法中使用最多的方法是构造性算法。构造启发式算法通过一个一个地增加解的构造元素来求得一个可行解。构造性算法的循环次数与问题解的构造元素个数成正比,而与解空间的大小无关,因此其计算速度通常很快。 装箱问题中构造法基本上由两类规则组成。第一类为定序规则(orderingrules),它被用来确定待布局物体放入布局空间的先后顺序:第二类为定位规则(Placementrules),它用来确定每一个布局物体在布局空间摆放的位置。由于定序规则和定位规则的不同,也就产生不同的构造布局方法。常用的定序规则有: (l)按照待装物体最短边边长递减的顺序进行定序: (2)按照待装物体最长边边长递减的顺序进行定序; (3)按照待装物体体积递减的顺序进行定序; (4)按照待装物体最小面积递减的顺序进行定序; (5)按照待装物体可行域递减的顺序进行定序: 许多学者对布局问题中定位规则进行了研究,提出了如下一些规则和策略: (1)占角策略,即将待装物体摆放在布局容器的某一角: (2)顺放策略,即从布局容器的某一角开始将待装物体沿着容器某一边摆放; (3)在底盘装载中,将待装物体先沿着边放置,最后摆放到底盘中心; (4)在三维规则装箱中,从布局容器的某一面墙开始,一层一层地布局;在某一面墙上,再确定一条边,最后归结为一个角: (5)在三维规则装箱中,先按“右、前、上”的顺序找寻剩余空间,然后按照“左、后、下”的顺序摆待装局物体: 数值优化方法 数值优化方法具有较为成熟的理论和算法,广泛应用于工程设计领域;取得了许多有效成果,装箱问题是它的一个应用分支,但是数值优化方法依赖于数学模型,且只能找到局部最优解,它只适用于小规模物体的装箱问题。对于规模大的装箱问题用数学模型很难准确描述,即使能用简化的数学模型来描述,由于局部最优解数目的急剧增加,其求解质量也将严重变坏。此外,数值优化方法所得解的质量在很大程度上还依赖于初始解的选择。 现代优化方法 主要有遗传算法(GenetiCAlgorithm,GA),模拟退火法(SimulatedAnnealing,SA)两种。其中,遗传算法是一种基于生物学进化原理的搜索算法。在解决高维空间、高复杂及非线性问题的优化中具有全局最优、效率高及易于并行计算等优点,有很强的解决问题的能力,但有着收敛速度慢和易陷入局部最优解的缺点。 由于一般组合优化问题与物质的退火过程具有很大的相似性,因此,模拟退火算法被广泛的用来解决组合优化问题,在这方面已有一些成功的应用实例,模拟退火算法可用来解决连续、离散等优化问题,尤其是解空间状态不良的问题。尽管模拟退火算法是一种有可能得到优化问题的全局最优解的问题求解方法,并且已经逐步成为一种用于优化问题求解的一般、通用的方法,但是这是以极其漫长的退火过程即问题求解过程为代价的。3、分类
4、解决办法
推荐阅读