- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
矩形件排样程序的实现王晨浩 试题b
矩形件排样程序的实现
王晨浩
摘要
针对样板矩形排样程序的实现问题,本人通过实施FORTRAN90编程,采用直接明了的数字排列的方式,直观清晰的展现了一个矩形样板中矩形件排样的最优方案。而程序语言本身,结构明朗,层次清晰,适合懂本语言的人斟酌损益和修缮完美;程序运行系统,清晰明朗的输入输出步骤,将程序层序化和普遍化展现淋漓;程序表述方式,人性化的中文语言提示,将程序的可接受度和观赏度大大提高。
本程序采取了通过对板面和具体矩形的数字化展现,通过对整体的数字比较描摹和判定板面的整体矩形排列方式,最终以一个具体的数字排列,实现对矩形排列的宏观显现。
关键词:FORTRAN90程序,矩形排列方案,板面矩形设计
问题重述
(一) 问题简介
工业上经常需要在一块大板材上下料得到若干个小的矩形件,使得板材的利用率最高,即所剩余的边角料最少。例如在一块宽15、高无限制的矩形板材上,排列25块尺寸已知的小矩形,25块小矩形的尺寸如表1,板材的利用率达100%,如图1所示。
图1 一种排样方案
表1 小矩形的尺寸
序号 宽 高 1 12 6 2 4 7 3 6 7 4 10 2 5 2 5 6 6 4 7 4 2 8 4 6 9 7 9 10 4 5 11 6 4 12 4 6 13 6 3 14 4 5 15 2 4 16 8 4 17 8 6 18 8 3 19 6 3 20 2 6 21 8 2 22 3 5 23 2 5 24 3 4 25 2 4
如果上述排样方案未知,即不知道图1的排法,那么如何将这25块小矩形按照某种次序排在一个大的板材上呢?目前这仍是一个世界难题。
通常要求在一个排样图中,任何一个矩形件在不超出板材边界的情况下,按照一个排样方案(给定的次序)采用下列一些方法来安排实际矩形件的排列,对于一个排样方案(解),其中,,pi为矩形件的序号,r i为排样方式,r i=1表示将矩形件旋转90°, r i=0表示矩形件不旋转。将第i个矩形件安排在板材上的过程中,均不能再往下、往左移动,则称其满足BL条件(bottom-left-condition,BL-condition)。
(二) 剩余矩形排样法简介
剩余矩形排样法是目前所提出的一种有效的排样算法,该方法记录了所有可利用的空间,更能合理地分配给待排样的矩形件,提高了每个排样方案的板材利用率,更接近最优排样方案。例如对于同一个矩形件序列进行排样,图3(a)中下方的空洞以往的排样算法都无法利用,矩形4只能被排到上方。而利用剩余矩形排样法可以很好的解决这个问题,它可以使矩形4充分利用下方的空间,如图3(b)。
图3 剩余矩形排样法的优越性
剩余矩形排样算法用一个矩形数据集合来表示板材目前的剩余位置情况,任何未被排样的空间(包括孤立的缝隙),都在剩余矩形集合中表示,不会遗漏任何一个。而在每一个矩形件被排入前,都需根据这个剩余矩形集合中的数据来选择最为合理的位置进行排放。下面给出剩余矩形的具体形成方法(这里用矩形的左下角坐标和右上角坐标来确定这个矩形的的位置):
板材的左下角和右上角坐标分别为,于是开始时剩余矩形数据集中只有一个矩形为。
当排入一个矩形件(宽高)后,需将剩余矩形数据集合中的每一个矩形都减掉此矩形件所占的位置。若此矩形件的左下角坐标为,且为横排(即矩形件不旋转90°),则每个剩余矩形都减掉与矩形件相交的部分。例如矩形减掉与矩形件相交的部分后,形成了四个新的剩余矩形为:
按顺时针方向记录矩形。如图4所示。若为竖排(即矩形件旋转90°),计算方法类似。
图4 剩余矩形表示法
依此类推,将矩形数据集中的所有剩余矩形都作如此操作,减去所排入矩形件所占位置,形成新的剩余矩形。
由于新的剩余矩形的产生,又将引起原矩形数据集的改变,因此对其进行整理:去掉面积为零的或已无法排下所剩的任何一个矩形件的剩余矩形;把具有完全包含关系的剩余矩形中面积小的矩形去除、有相交关系的矩形全部保留。得到新的剩余矩形集,为下一次排放使用。
用剩余矩形表示法可记录每个可形成最大矩形的空间,用于排样。将这种表示法与BL排样算法结合,就形成了剩余矩形排样算法,对于给定的一个排样方案,其中,,具体排样过程如下:
开始时剩余矩形集中仅有一个矩形,即板材本身。
从排列中取出第一个需排的矩形件(宽,高),将根据相应排放方式 排放在板材的左下角,用上面所述的剩余矩形表示法计算新的板材剩余矩形集:
若(横排),则,,如图5;
若(竖排),则,。
图5 剩余矩形排样过程
依此类推,按顺序逐一排放,直至所有矩形排放完毕。每放入一矩形件,都需根据剩余矩形集确定其排放位置,即在剩余矩形集中选择宽高均大于等于此
文档评论(0)