- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于禁忌算法的二维装箱问题研究.doc
基于禁忌算法的二维装箱问题研究
【摘 要】装箱问题是计算机科学领域最原始的基础问题之一,在多个研究领域内盛行,诸如组合优化。装箱问题的研究使得近似度分析和对手分析策略得到发展,对计算机科学的发展有巨大的推动作用。在计算机领域的多处理器调度,内存分配和工业领域的任务调度,切割存储及其装载卡车问题上都有着广泛的应用。本文提出了求解大型二维装箱问题的禁忌算法。算法基于自然数编码并根据邻域的不同,构造了两种禁忌表,设计了货物的摆放规则和序列生成方式。算法采用惩罚函数处理空间利用率约束,最后给出了具有代表性算例试验结果并且进行了分析。
【关键词】装箱 禁忌算法 问题研究
一、引言
装箱问题作为最原始的NP难问题之一,其研究始于20世纪70年代,影响至今。装箱问题还有着极为广泛的实际应用研究背景,涉及到工业领域,计算机应用科学领域,物流行业及其日常生活领域等多方面。
二、装箱问题定义及描述
大型2BP问题的实际应用中,一般含有多种尺寸型号,而每种尺寸型号又含有多个同尺寸的物体.故本文大型2BP问题可描述如下:公司现有N 个尺寸型号的矩形物体(以后简称货物) , 每个型号货物的宽、高分别为wi , hi (wi ≤hi ) ,每个型号货物数量分别为ni个. 要把这些物体放入宽、高分别为W, H (W ≤H) 的矩形箱,且单个矩形箱的空间利用率要大于D %. 求选用最小的矩形箱个数的装载方案.
三、求解禁忌算法设计
(一)货物摆放方位及解的编码设计
2BP问题涉及到货物宽、高两个方向,因此每一货物有2种摆放方式,对应矩形箱的宽高W, H,货物摆放方位分别为:wi、hi , hi、wi , 可用编码0、1表示.
本文解的结构由以下两部分组成:编号和方位.
1.货物的编号:用自然数表示,不同编号的物体可能是同种型号(尺寸) ;
2.货物的方位:即放置的货物方位,用0、1表示.
(二)货物摆放规则
把矩形箱左下点定义为基点,货物从基点开始按一定次序放置. 货物与矩形箱、货物与货物之间边线的左下相交点称为潜在放置点.A 点为基点, B、C、D为潜在放置点.对于解( i1 , i2 ,… , in , - j1 , j2 , …, jn ),货物的摆放规则为:
1. 置k: = 0;
2. k: = k + 1,如果k n,转6;
3. 对于物体ik,判断当前矩形箱是否还能按方位jk放置该货物,能则转5,否则继续;
4. 增加一新矩形箱,确定新基点;
5. 把ik 按方位jk 放入所有潜在放置点,比较ik 与货物或者矩形箱的接触线aj与 bj的大小,选择该值最大的潜在放置点摆放ik , 转2;
6. 结束
(三)初始化
产生初始解步骤为:
1. 随机在区间(0, 0. 5)之间取随机数a,将所有货物按值a*wi + (1 - a)*wihi降序排列,得到序列SH ;初始化i = 0; j = 0;
2.判断SH 是否为空,是则转10;否则继续;
3.j: = j + 1;
4. 取新矩形箱j;
5.i: = i + 1;
6. 如果SH 中i已经移出,转5;
7. 按0方位在j箱放置货物i,如果j箱空间不足,不能按0方位放置i,继续;否则将i从SH 中移去,转5;
8.按1方位在j箱放置货物i,将i从SH 中移去,转5;否则继续;
9.在SH 中i后面的货物分别按0、1方位放置,如果找到能放入当前层的货物k,则按既定方位放置,将k从SH 中移去, i: = k, 转5 ;否则转3;
10.结束算法.
(四)利用率最小的矩形箱货物移入、移出操作
每经过一次货物序列更新邻域或者货物摆放方位变化邻域操作,选用的矩形箱会出现剩余空间或者剩余货物. 出现剩余空间是因为经过邻域操作得到了更好的摆放序列或者摆放方位,反之会出现剩余货物.
(五)禁忌表的设计和终止准则
本文设计的两种邻域是针对不同对象(货物序列和单个货物)进行的操作,故构造了与之相对应的两个禁忌表,分别为货物序列禁忌表和货物方位禁忌表.货物序列禁忌表. 即对序列调整系数a按步长ξ进行操作,如果当前代对a进行了增加ξ的操作,那么在接下来的ηx 代内,不允许对a进行减小ξ的操作; 货物方位禁忌表. 即如果当前代对货物i进行了方位取反操作,那么在接下来的ηH 代内,不允许再对货物i进行方位取反操作.终止准则. 如果连续迭代ND 代最优解没有变化,则算法终止.
四、禁忌算法优化大型二维装箱问题关键步骤
禁忌算法优化多箱型二维装箱问题详细步骤为:
1.初始化各参数,产生初始解,搜索
文档评论(0)