ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:76.26KB ,
资源ID:15359920      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15359920.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(矩形件排样程序的实现Word下载.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

矩形件排样程序的实现Word下载.docx

1、序号宽高11262473105891113141516171819202122232425如果上述排样方案未知,即不知道图1的排法,那么如何将这25块小矩形按照某种次序排在一个大的板材上呢?目前这仍是一个世界难题。通常要求在一个排样图中,任何一个矩形件在不超出板材边界的情况下,按照一个排样方案(给定的次序)采用下列一些方法来安排实际矩形件的排列,对于一个排样方案(解),其中,pi为矩形件的序号,r i为排样方式,r i=1表示将矩形件旋转90, r i=0表示矩形件不旋转。将第i个矩形件安排在板材上的过程中,均不能再往下、往左移动,则称其满足BL条件(bottom-left-condition

2、,BL-condition)。(二) 剩余矩形排样法简介剩余矩形排样法是目前所提出的一种有效的排样算法,该方法记录了所有可利用的空间,更能合理地分配给待排样的矩形件,提高了每个排样方案的板材利用率,更接近最优排样方案。例如对于同一个矩形件序列进行排样,图3(a)中下方的空洞以往的排样算法都无法利用,矩形4只能被排到上方。而利用剩余矩形排样法可以很好的解决这个问题,它可以使矩形4充分利用下方的空间,如图3(b)。图3 剩余矩形排样法的优越性剩余矩形排样算法用一个矩形数据集合来表示板材目前的剩余位置情况,任何未被排样的空间(包括孤立的缝隙),都在剩余矩形集合中表示,不会遗漏任何一个。而在每一个矩形

3、件被排入前,都需根据这个剩余矩形集合中的数据来选择最为合理的位置进行排放。下面给出剩余矩形的具体形成方法(这里用矩形的左下角坐标和右上角坐标来确定这个矩形的的位置):(1) 板材的左下角和右上角坐标分别为,于是开始时剩余矩形数据集中只有一个矩形为。(2) 当排入一个矩形件(宽高)后,需将剩余矩形数据集合中的每一个矩形都减掉此矩形件所占的位置。若此矩形件的左下角坐标为,且为横排(即矩形件不旋转90),则每个剩余矩形都减掉与矩形件相交的部分。例如矩形减掉与矩形件相交的部分后,形成了四个新的剩余矩形为:按顺时针方向记录矩形。如图4所示。若为竖排(即矩形件旋转90),计算方法类似。 图4 剩余矩形表示

4、法依此类推,将矩形数据集中的所有剩余矩形都作如此操作,减去所排入矩形件所占位置,形成新的剩余矩形。(3) 由于新的剩余矩形的产生,又将引起原矩形数据集的改变,因此对其进行整理:去掉面积为零的或已无法排下所剩的任何一个矩形件的剩余矩形;把具有完全包含关系的剩余矩形中面积小的矩形去除、有相交关系的矩形全部保留。得到新的剩余矩形集,为下一次排放使用。用剩余矩形表示法可记录每个可形成最大矩形的空间,用于排样。将这种表示法与BL排样算法结合,就形成了剩余矩形排样算法,对于给定的一个排样方案,其中,具体排样过程如下:(1) 开始时剩余矩形集中仅有一个矩形,即板材本身。(2) 从排列中取出第一个需排的矩形件

5、(宽,高),将根据相应排放方式排放在板材的左下角,用上面所述的剩余矩形表示法计算新的板材剩余矩形集:若(横排),则,如图5;若(竖排),则,。图5 剩余矩形排样过程(3) 依此类推,按顺序逐一排放,直至所有矩形排放完毕。每放入一矩形件,都需根据剩余矩形集确定其排放位置,即在剩余矩形集中选择宽高均大于等于此矩形件的底部最低的最靠左的剩余矩形(先靠下后靠左),让矩形件与剩余矩形的左下角重叠。同时放入矩形后要对剩余矩形集进行整理更新。同样,剩余矩形排样算法也满足BL条件。二、 问题分析随着科学技术的日益发展,计算机科学的进步往往使我们叹为观止,在工业等领域的一些现实生活的难题,往往为我们所关注并且深

6、深的影响着我们。对于本题,现有的一些方法往往比较复杂和难算,那么计算机能不能帮助我们较简便的解决这个问题呢?面对着本题中的算法,我想采用了学过的FORTRAN90来编程实现。而此计算机语言最大的特点就是用于计算,那么能不能把实际问题和计算交织在一起呢?所以我选择了用数组中的数字宏观显现此实际的分配方案,并采用数字的整改来体现排列矩形的过程,采用对数字的比较和相应的算法来实现判别和判定。而此方法的难点在于判定算法的确定,回顾此计算机语言,我们采用最多的是数组定义、循环语句和条件选择等程序的设计。反观本算法,我们可以得到以下结论:1,在判定之前,我们要对本题所已知的已知量进行分析和总结,即板面特点

7、(宽15米,长度不限),25个矩形的规格(宽和高),矩形在此期间的变化(顺序和旋转)。并将其合理载入。2,在判定时,我们首先从板面的最底行判定,并且以最底行的宽为判定首要问题,而后以由底行到高层的顺序依次进行判定,其次在判定行后,我们需要对整个矩形的版面数字进行综合判定,即对该矩形的确定行进行展开,综合判定此矩形的位置。3,在判定后,我们需要在判定合格的基础上进行整改,及将所要求的矩形进行摆放。三、 模型假设模型假设分别对判定前、中、后期进行假设。1、前期:记板面整体为一个大数组,由于本题可假设为高50,宽15的数组,数组元素全为0,其他矩形可依次按序号和规格确定该矩形,即用125的序号表示。

8、并可用三维数组综合表示此几个矩形。在排列矩形顺序和旋转方式上可分别定义为一个含25个元素的一维数组。2、中期:可分别建立3个循环:1,25个矩形顺序循环,即一个一个的写入板面。2,判定最底行的宽是否符合矩形宽的要求,即判断一共有几个连续的0。3,判定整个矩形边框内是否都符合要求,即判断以上述边为底边,向上判断该矩形的面积内的元素是否都是0。4、后期:可以建立一个循环,即整改数组内的元素,如果以上条件均符合,那么将该矩形的代号均写入该板面的数组内。并按照要求输出。四、 模型建立(一) 模型准备 设一个三维数组(s),分别以矩形的长(chang)、宽(kuan)、矩形序数(i)为三维坐标。定义一个

9、四个一维数组,分别把各矩形的长(chang)、宽(kuan)、顺序(shunxu)、旋转方式(xuanzhuan)记为一个数组。 用三维数组s(chang,kuan,i)分别综合表示1个样板面和25个矩形,chang(i)、kuan(i)分别依次表示25个矩形的长和宽,shunxu(i)代表本次排列的顺序,xuanzhuan(i)代表本次矩形旋转的角度(1代表旋转90度,0代表不旋转)。运行时,当xuanzhuan(shunxu(i)=1时,该矩形chang(shunxu(i)和kuan(shunxu(i)互换。(二) 模型实施 模型按矩形顺序shunxu(i)输入,循环25次,分别写入jux

10、ing(chang(shunxu(i),kuan(shunxu(i),shunxu(i),并从下至上依次对连续0个数(即未被剩余的空间长)进行检验count,以寻找chang(i)=count的矩形的底层线段末端在某点(横坐标j,纵坐标k)上,在意这条线为底做矩形,划定区域j-chang(shunxu(i)j,k-kuan(shunxu(i)k,一次检验此区域的0个数(未被剩余空间区域),如果0的个数(c)=chang(shunxu(i)*kuan(shunxu(i),则进行依次写入给矩形的顺序号(shunxu(i),一旦写入成功,则轮到下一个矩形juxing(chang(shunxu(i+1

11、),kuan(shunxu(i+1),shunxu(i+1)的写入程序。(三) 模型求解 按照实施阶段具体实施后,结果将以一个长为15,高为50的矩阵输出,125的数字将以一个横纵方块的形式在样板面上出现。除此之外,还可以将各个板面进程和相关数据进行写入和输出。五、 模型分析本程序采取了通过对板面和具体矩形的数字化展现,通过对整体的数字比较描摹和判定板面的整体矩形排列方式,最终以一个具体的数字排列,实现对矩形排列的宏观显现。 本程序优点在于综合运用了循环、条件、数组等多方面的FORTRAN90知识,拟合剩余矩形排列算法,综合成一个实用模型。本模型较稳定,计算算法相对较简单,适用范围广,可以对相

12、关矩形排序问题进行良好求解。本程序缺点在于输入数字不灵活,一旦输入错误,便得重新输入;如果采用此程序,必须先对结果进行预测,预测出所需的高。六、 模型推广本模型可在矩形排列程序的相关领域进行拓展,如输入、输出数据库,根据不同排列方法,直观的选择该模型的最优解(对排序,旋转等进行优化)。本模型在合理规划平面材料资源上有突出成效,也可以在选材实用上有初步见地。七、 结论本模型通过对计算机的算法编程,实现了由计算机系统组成半自动化的解题方式,通过简单的输入输出,解决了实际问题,并在表现形式上以数字排列的展现方式,向使用者提供清晰直接的答案。本模型在结果上完成了对平面的模型的资源合理性规划,并在客观上

13、提高了对材料资源利用率。八、 参考文献1 姜启源 谢金星,数学模型,北京:高等教育出版社,2006年5月。2 马瑞民 衣治安,FORTRAN90程序设计(第二版),哈尔滨:哈尔滨工程大学出版社,2004年3月。附录程序(本程序输出结果还有问题)program mainimplicit noneinteger,dimension(0:25):shunxu,xuanzhuan,chang,kuaninteger:i,a,count,j,k,l,m,c,banchang,bankuan,n,ointeger,dimension(50,15,0:juxingjuxing(1:50,1:15,0)=0print*,欢迎您使用本程序来规划您的样板,为满足您的要求请您按照要求填写相关信息请依次输入25个矩形宽和高:do i=1,25read*,chang(i),kuan(i)end do请依次输入所需排列的25个矩形的顺序:read*,shunxu(1:25)请依次输入25个矩形排列方式(1=矩形旋转90,0=矩形不变):

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1