您的当前位置:首页正文

大型二维装箱问题及其禁忌算法研究

来源:好兔宠物网
维普资讯 http://www.cqvip.com 2007年9月 安徽火学学报(自然科学版) September 2007 第31卷第5期 Journal of Anhui University Natural Science Edition Vo1.31 No.5 大型二维装箱问题及其禁忌算法研究 屈援 ' 王雪莲 (1.天津大学管理学院,天津300072;2.暨南大学管理学院,广东广州 510632) 摘要:对大型二维装箱问题进行描述,提出求解该问题的禁忌算法.算法基于自然数编码,设计了 货物的摆放规则和序列生成方式,采用二种邻域,根据邻域的不同,构造了两种禁忌表.算法采用惩罚函 数处理空间利用率约束.介绍算法的原理,给m了具有代表性算例试验结果并且进行了分析.试验结果 表明了提出的禁忌算法对优化大型二维装箱问题的有效性. 关键词:装箱问题;二维;禁忌算法 中图分类号:TP393 文献标识码:A 文章编号:1000—2162(2007)05—0032—04 装箱问题(Bin Packing Problem,简称BP)是运筹学领域一个经典问题.二维装箱问题(Two— Dimensional Bin Packing Problem,简称2BP)即为物体在二维空间的摆放优化问题,可以描述为:宽、高分 别为12) ,h 的n个矩形物体在多个尺寸相同的矩形箱中摆放,在满足一定的约束(重量约束、空间利用率 约束)条件下,使使用的矩形箱数量最少.二维装箱问题有很强的应用价值,在运输优化以及木材、玻 璃、布料、纸张切割等领域有着广阔的应用前景. 对于二维装箱问题是NP—hard问题l1 J,如果用传统算法求解,复杂度随摆放物体数量的增加而呈 指数规律增长,因此很难在实际生活中得到应用.目前,国内外很多学者都应用现代启发式算法对装箱 问题进行研究,代表人物有Lodi,Martello,Vigo,Pisinger,Coffman,Dowsland等 I4j.在目前所能查找 到的文献中,很少有大型(n≥1000)二维装箱问题的研究成果.实际应用中,例如,对纸张、布料的裁 剪,规模往往很大,要根据情况进行优化,减少材料浪费.在本文中,作者将对大型二维装箱问题进行研 究,并且提出一种禁忌算法来对该问题进行优化,给出了算法设计过程和算例的优化结果. 1 问题描述 大型2BP问题的实际应用中,一般含有多种尺寸型号,而每种尺寸型号又含有多个同尺寸的物体. 故本文大型2BP问题可描述如下:公司现有』v个尺寸型号的矩形物体(以后简称货物),每个型号货物 的宽、高分别为12) ,h (12) ≤h ),每个型号货物数量分别为n 个.要把这些物体放人宽、高分别为 ,日(W≤ 日)的矩形箱,且单个矩形箱的空间利用率要大于D%.求选用最小的矩形箱个数的装载方案. 2 大型二维装箱问题禁忌算法设计 2.1 货物摆放方位和解的编码设计 2BP问题涉及到货物宽、高两个方向,因此每一货物有2种摆放方式,对应矩形箱的宽高 ,日,货物 摆放方位分别为:12) 、h ,h 、12) ,可用编码0、1表示. 本文解的结构由以下两部分组成:编号和方位. (1)货物的编号:用自然数表示,不同编号的物体可能是同种型号(尺寸); (2)货物的方位:即放置的货物方位,用0、1表示. 2.2货物的摆放规则 如图1所示,把矩形箱左下点定义为基点,货物从基点开始按一定次序放置.货物与矩形箱、货物与 收稿日期:2007—04—13 作者简介:屈援(1965一),女,江苏常熟人,暨南大学副教授,天津大学博士研究生 维普资讯 http://www.cqvip.com 第5期 屈 援,等:大型二维装箱问题及其禁忌算法研究 货物之间边线的左下相交点称为潜在放置点.图1中, 点为基点,B、c、D为潜在放置点. 对于解(i ,i:,…,i ,一 ,…, ),货物的摆放规则为: (1)置j}:=0; (2)k:=k+1,如果k>n,转(6); (3)对于物体i ,判断当前矩形箱是否还能按方位^放置该货物,能则转(5),否则继续; (4)增加一新矩形箱,确定新基点; (5)把i 按方位 放人所有潜在放置点,比较 与货物或者矩形箱的接触线aj bj的大小,选择该 值最大的潜在放置点摆放i ,转(2); (6)结束. 图1货物摆放规则 2.3初始解的产生 产生初始解步骤为: (1)随机在区间(0,0.5)之间取随机数a,将所有货物按值a w +(1一a) w h 降序排列,得到序 列SⅣ;初始化i=0; =0; (2)判断 是否为空,是则转10;否则继续; (3) := +1; (4)取新矩形箱. ; (5)i:=i+1; (6)如果S 中i已经移出,转(5); (7)按0方位在 箱放置货物i,如果 箱空间不足,不能按0方位放置i,继续;否则将i从 中移去, 转(5); (8)按1方位在 箱放置货物i,将i从s 中移去,转(5);否则继续; (9)在s 中i后面的货物分别按0、1方位放置,如果找到能放人当前层的货物k,则按既定方位放 置,将k从s 中移去,i:=k,转(5);否则转(3); (10)结束算法. 2.4邻域的操作 设计两种邻域:一种为货物序列更新邻域,另一种为货物摆放方位变化邻域. 2.4.1 货物序列更新邻域 生成初始解时,货物序列首先按值a w +(1一a) w h (a为随机数)降序排列,然后在货物的摆 放过程中根据摆放规则进行了小幅调整(即如果矩形箱空间不够,则改变方位或者重新选择货物).货 物序列更新邻域就是对每个矩形箱的货物序列进行更新,搜索更好的摆放序列.定义摆放序列函数 『口 W +(1一口) lih ,摆放方位为0 【a f +(1一a) w h ,摆放方位为1 其中a为序列调整系数,且0≤a≤1.对a进行调整,能够改变矩形箱中货物的摆放序列.当a=0时, 完全按 面积值进行降序排列;当口=1时,完全按宽度值W 进行降序排列.取步长 ,每次 的变化 维普资讯 http://www.cqvip.com 安徽大学学报(自然科学版) 第31卷 值为‘ ,进而对摆放序列进行调整. 2.4.2货物摆放方位变化邻域  .生成初始解时,摆放的货物已经有了初始方位,对该方位改变,进而对矩形箱中货物的摆放进行调 整.对于2个摆放方位的装箱问题,邻域操作对选中的货物当前方位取反即可. 2.5利用率最小的矩形箱货物移入、移出操作 每经过一次货物序列更新邻域或者货物摆放方位变化邻域操作,选用的矩形箱会出现剩余空间或 者剩余货物.出现剩余空问是因为经过邻域操作得到了更好的摆放序列或者摆放方位,反之会出现剩余 货物.所以,邻域操作过后要把利用率最小的矩形箱i作为缓冲:当出现剩余空问时,把i中货物按i中序 列和方位放人其他I叶I现剩余空间的矩形箱中(如果出现i中为空的现象,则移去该矩形箱);当出现剩余 货物时,把这些货物按摆放序列函数排列,插入到i中(如果i空间仍不足,则增加一新矩形箱). 2.6约束的处理 本文提 的装箱问题含有单箱空间利用率约束,采用在解的评价函数中增加惩罚函数的方法加以 限制.惩罚函数如下 , P=c ∑max(0,_一 、 D—d ) i E 其中, 为选用矩形箱集合; 为矩形箱i的实际空间利用率;c为惩罚系数.本文中C将采用动态变化的 方法,初始值取0,随着迭代次数的增加,c按曲线c:0.01  ̄/m逐渐增加.即在迭代过程中,空间利用 率约束逐渐由软约束过渡到硬约束. 2.7禁忌表的设计和终止准则 本文设计的两种邻域是针对不同对象(货物序列和单个货物)进行的操作,故构造了与之相对应的 两个禁忌表,分别为货物序列禁忌表和货物方位禁忌表. 货物序列禁忌表.即对序列调整系数a按步长 进行操作,如果当前代对a进行了增加 的操作,那 么在接下来的77 代内,不允许对a进行减小 的操作;货物方位禁忌表.即如果当前代对货物i进行了 方位取反操作,那么在接下来的77 代内,不允许再对货物 进行方位取反操作. 终止准则.如果连续迭代 代最优解没有变化,则算法终止. 3禁忌算法优化大型二维装箱问题关键步骤 禁忌算法优化多箱型二维装箱问题详细步骤为: (1)初始化各参数,产生初始解,搜索循环次数i=0; (2)i:=i+1; (3)货物摆放方位变化邻域,货物序列更新邻域操作; (4)禁忌表及特赦准则处理; (5)满足终止条件,转(6);否则转(2); (6)结束. 4算例结果及其分析 4.1算例及结果 把Martello算例产生程序稍加修改,增加W ≤h 限制,产生一组数据.货物型号分为25种,每种型 号宽度 在区间(0.5,5)中随机产生,高度h。在区间(2,10)中随机产生,且W ≤h ,每种货物型号的数 量在区问(50,150)之间产生,总共产生2239个货物. =50,H=70,D%=85%. 用c语言实现大型二维装箱问题的禁忌算法,取禁忌算法参数 =0.02,77 =30,卵 =4, ND=200,Nx=20.在PIV2.0机型上计算20次,以100%概率收敛到本算法所能得到的最优解值为 13(各解的货物排列序列不完全相同),总空间利用率达到93.7%,平均收敛时问仅为1分26秒. 维普资讯 http://www.cqvip.com 第5期 屈援,等:大型二维装箱问题及其禁忌算法研究 35 4.2算例分析 由于2BP问题是NP—hard问题,对于4.1规模的问题,很难得到精确解,运用本文提出的禁忌算 法,能够以比较稳定的收敛过程得到次优解.从算法的计算效果方面分析是有效的.对于货物规模达到 2239的算例,本禁忌算法仍能以较快速度(平均收敛时间为1分26秒)得到优化解.从算法的计算效率 方面分析是有效的. 5 结语 本文对大型二维装箱问题进行了描述,提出了求解该问题的禁忌算法,介绍了算法的原理,并通过 算例结果及其分析证明了此算法的有效性.用本文提出的禁忌算法能优化规模较大的二维装箱问题,速 度较快,运算过程及结果稳定,具有较强的实际应用价值. 参考文献: [1]Lodi A,Martello S,Monaci M.Two—dimensional packing problems:A survey[J].European Journal of Operational Research,1996(76):235—249. [2]Coffman Jr E G,Garey M R,Johnson D S。Approximation algorithms for bin packing:A survey,in:D.S。Hochbaum (Ed.),Approximation Algorithms for NP—Hard Problems[J].Pws Publishing Company,Boston,1997 (23):46—93. [3]Dowsland K.Some experiments with simulated annealing techniques for packing problems[J].European Journal of Operational Research,1993(68):389—399。 [4]Martello S,Pisinger D,Vigo D.The three—dimensional bin packing problem[J].Operations Research,2000(48): 256—267. The study on large scale two dimensional Bin Packing Problem and its tabu search algorithm QU Yuan ’-,WANG Xue.1ian (1.School of Management,Tianjin University,Tianjin 300072,China; 2。School of Management,Jinan University,Guangzhou 5 10632,China) Abstract:A large scale two dimensional Bin Packing Problem(2BP)is presented in this paper.A tabu search algorithm(TS)is designed to solve this problem on nature number.To extend the search space,two kinds of neighborhood and two kinds of tabu list are proposed in this algorithm.The algorithm uses penalty function to control the utilization ratio limit.The principium the TS are introduced,a representative result and the analysis are given.The experiment and the analysis indicate the validity of the TS to the large scale two dimensional Bin Packing Problem. Key words:Bin Packing Problem;two dimensional;tabu search algorithm 责任编校:朱夜明 

因篇幅问题不能全部显示,请点此查看更多更全内容