一维下料问题的优化模型
- 格式:pdf
- 大小:199.77 KB
- 文档页数:4
第35卷第7期2005年7月数学的实践与认识M A TH EM A T I CS I N PRA CT I CE AND TH EO R YV o l135 N o17 July,2005 实用下料优化问题模型建立及解法李丹俊, 曾 锐, 孙 伟指导教师:唐建宁(解放军理工大学工程兵工程学院,南京 210007)摘要: “下料问题(cutting stock p roblem)”是把相同形状的一些原材料分割加工成若干个不同规格大小的零件的问题,此类问题在工程技术和工业生产中有着重要和广泛的应用.本文首先以材料最省为原则建立模型,采用分层基因算法模型求解出模型的解,若此结果不符合时间限制条件,则通过以客户时间需求为第一目标的分组抽样模型处理后,再借助分层基因算法给出该模型的最优解.关键词: 下料;基因算法;二维下料问题;分组抽样1 问题的提出(省略)2 问题的分析这是一个典型的多目标决策优化问题.首先,一个好的下料方案应该使原材料的利用率最大,从而减少损失,降低成本,提高经济效益.其次,要求所采用的不同下料方式尽可能少,即希望用最少的下料方式来完成任务.因为在生产中转换下料方式需要费用和时间,既提高成本,又降低效率.此外,由题意知每种零件有各自的交货时间,每天下料的数量又受到企业生产能力的限制.因此实用下料问题的目标是在生产能力容许的条件下,以最少数量的原材料,尽可能按时完成需求任务,同时下料方式数也尽量地少.为顺利解决该下料问题,根据该问题的特点,我们先从最基本的单目标决策问题入手,以材料损耗最少为目标,通过不同的数学原理建立多个单目标决策的最优化模型,得出最初的结果,并加以比较分析.然后逐步增加其约束条件——最小的下料方式数,并根据该约束条件进一步完善我们的最优化模型,得到损耗最少,下料方式数又小的结果.接下来检验在所得下料方式的排列中,是否存在可以满足时间条件限制的排列方式.若存在,则该结果即为最优解;若不存在,则这个结果就不符合题意,必须重新构建多目标决策的最优化模型,在新模型中以客户时间需求为第一目标,材料损耗最少,下料方式最少为第二目标.因此,在下料时就应该优先生产那些有时间限制要求的零件,并且求出在需求的时间段内下料方式和损耗的最优结果,紧接着再求出剩余板材下料方式和损耗的最优结果,从而最终得出既满足时间条件限制又满足损耗少、下料方式数小的最优结果.具体流程图如下:3 符号的约定11L——原材料的长度21W——原材料的宽度31I——板料用量图1 总体流程图41J ——加工零件的种类51K ——下料方式种类61l j ——第j 种零件的长度(j =1,…,J )71w j ——第j 种零件的宽度(j =1,…,J )81d j ——第j 种零件的加工个数(j =1,…,J )91M ——以向量形式表示问题中所要求各种零件的个数,即M (j )=d j101b ——锯缝宽度111∆i ——第i 块板料利用率121x ij ——第i 根的板材上截取长度规格为l j 的根数(i =1,…,I ;j =1,…,J )131a jk ——第k 种下料方式下第j 种零件的个数(j =1,…,J ;k =1,…,K )131b k ——第k 种下料方式产生的余料141x k ——使用第k 种下料方案需要切割原材料的数目4 模型的假设11切割时的锯缝可以是直的也可以是弯的,切割所引起的锯缝损耗忽略不计.21零件非定向:这里的‘定向’是指在有纹路的面板上下料时是否允许将零件既能横着排又可转个方向竖着排,对于定向取材的零件,零件的长度与宽度尺寸不能随便互换,等到下料图出来后还应该仔细检查一下这零件的纹路方向是否正确.而对于本题,我们假设不存在这个问题,即零件非定向.31除了要求在四天和六天内完成所需零件外,不要求其余零件加工排列顺序.41切割时零件的长和宽要与原材料的长或宽平行.51增加一种下料方式大致相当于使原材料总损耗增加0108◊.5 模型的建立与求解实用下料问题模型的建立,从计算的复杂性上来讲,这是一个N P (N ondeter m in istic Po lynom ial )难题,很难精确求解.通常所用的近似算法有3种:①FF (F irst F it )近似算法,即:将m 种零件顺次加工,对于任一个零件,它总是按顺序从第一块能加工它的板材中切割下来.②B F (B est F it )近似算法,即:把零件顺次加工,要求板材加工完零件后,所剩下的材料最小.③FFD (F irst F it D ecreasing )或BFD (B est F irst D ecreasing )近似算法,即:在加44数 学 的 实 践 与 认 识35卷工零件之前先把零件按大小降次排列,然后再利用FF (或B F )近似算法.我们经过先期的尝试性试验,发现这些近似算法的求解结果与给定的数据有很大的关系,效果不理想.于是我们采用先进的优化算法:E P F F 算法和遗传基因算法来计算我们的模型,虽然过程较为复杂,而且处理的数据相当庞大,但是结果却十分理想.(一)一维实用下料问题的模型按照前面的分析,我们先考虑用料最省的单目标决策优化模型,然后讨论时间限制问题.这里我们采用了分别采用了两种算法即E P F F 算法和遗传算法来对模型进行求解.模型 用料最省模型:11基本模型假设有K 种下料方式,再根据每种零件的需求量,可求得每种零件应用的次数.这样在第1种方式下第1种零件的个数为a 11个,以此类推,则a jk 表示用第k 种下料方式所能得到的第j 种零件的个数.由以上模型得到如下对应关系矩阵 A =a 11a 12…a 1K a 21a 22…a 2Ka J 1a J 2…a J K(121)则使用k 种不同下料方式所使用原材料的根数为 X =(x 1,x 2…,x K )T(122)而每种下料方式产生的废料长度为 b k =L -(a 1k l 1+a 2k l 2+…+a J k l J ), k =1,2,3,…,K根据对所用板材剩下的余料最省这一目标,则可得优化下料方式的模型为目标函数 m in ∑K k =1b k x k(123)约束条件 ∑K k =1a jk x k =d j (j =1,2,…,J )x k ≥0(k =1,2,…,K )(124)但往往在进行加工切割下料时会产生部分切缝b ,这样我们的废料长度就变为 b ′k =L +b -(a 1k (l 1+b )+a 2k (l 2+b )+…+a jk (l j +b ))相应的目标函数为 m in ∑Kk =1b ′k x k(125)21求解方法211 EPFF 算法通过建立下料问题模型我们可以将此问题转化为装箱问题,而装箱问题是个典型的N P (N ondeterm in istic Po lynom ial )难题,如果使用传统的算法编写程序,在零件数量较大的情况下,将会使传统的搜索算法有相当大的数据空间,为此我们采用EPFF 算法[8]来对零件进行分类组合.通过分类组合,零件可以划分成八类,从而就使程序搜索的数据空间明显减小,这样我们就能先找出这些零件的所有的1级产品向量,即所有的零件组合后使所用原材料的547期李丹俊,等:实用下料优化问题模型建立及解法余料最小.在使用EPFF 进行搜索时我们结合以上的目标函数和约束条件来找出最优解.调整的目标是使下料矩阵满足目标函数而且是最优解,也就是说使得新的下料矩阵逐渐向最优产品下料矩阵逼近.为此在调整中我们考虑以下因素:a 1当∑Kk =1ajk x k ≥M (j )时,换入向量的第j 分量应当小于换出向量的第j 分量,并尽可能使换入向量在相应下料矩阵中的位置靠前;b 1当∑K k =1ajk x k ≤M (j )时,换入向量的第j 分量应当大于换出向量的第j 分量,并尽可能使换入向量在相应下料矩阵中的位置靠前.根据该算法编写M atlab 程序,得到多种结果的序列.考虑到增加一种下料方式大致相当于使原材料总损耗增加0108%的约束条件,我们最终筛选出此模型在EPFF 算法下的最优解:板材的用量为801块,板材利用率为99155%,下料方式为57种,详细的零件加工清单、下料方式,板材用量的分布见附录 的表格.212 遗传算法本问题由于约束条件和目标函数的特点,如用线性规划的方法求解,目标函数一般都会取得相同的最小值,从而分枝界定的方法失效.所以我们决定采用基因遗传算法.遗传算法是一种基于自然选择和群体遗传机理的搜索算法,它有5个基本组件:染色体编码、适应度函数、初始化群体、在两个连续染色体群体之间进行进化的一组操作符以及工作参数.Hoffm eister 和Back 把遗传算法作为一个9组实体提出:GA =(p 0,I ′,Κ,L ′,f ,s ,c ,m ′,T ″)p 0——初始化群体I ′=(0,1)L ——染色体编码Κ′——群体规模L ′——染色体长度f ∶I ′R ——适合函数s ∶I ′ΚI ′——父本选择c ∶I ′2I ′2——交叉操作m ∶I ′I ′——变异操作T ′∶I ′Κ{0,1}——终止条件该算法具有以下特点:(1)遗传算法以决策变量的编码作为运算对象;(2)遗传算法直接以目标函数作为搜索信息.把搜索范围集中到适应度较高的部分搜索空间中,从而提高了搜索效率;(3)遗传算法同时使用多个搜索点的搜索信息;(4)遗传算法是用概率搜索技术.实践和理论都已证明了在一定条件下遗传算法总是以概率1收敛于问题的最优解.另一方面,与其他一些算法相比,遗传算法的鲁棒性又会使得参数对其搜索效果的影响会尽可能的低.21211 编码解码采用等长的十进制编码:将每一种零件进行编号:i =1,2,…n t ,n t =∑53j =1n j,把零件编号64数 学 的 实 践 与 认 识35卷作为染色体编码[p 1,p 2,…,p i ,…,p nt ].每一种编码表示一种下料方案.如[1,4,5…]表示下料顺序为:1号,4号,5号,….得到码长为3970的十进制染色体编码.针对编码产生的个体,可按零件的序号i =1,2,…n t 依次取零件长度累加,即求得所需原材料数I .21212 适应度函数用适应度函数来评价遗传算法时,适应度越大,解的质量越好.最优解的目标是使下料根数最少.但我们注意到,在两种下料方式下料根数相等的情况下,能使最后一根板材产生浪费最少的方式更优.所以适应度函数定义如下: f (p )=∑ni =1l i n i(L (I m -1)+L ′)(229)式中:I m 为该考虑下料方式后个体p 所需原材料的总数I m =I 实(1+0.08k ),k 为下料方式总数L ′为最后一根材料用去的长度.21213 初始种群对零件进行编码,随机产生由子辈群体,且长度为p nt 的编码构成的初始种群.并计算每一个个体的适应度.21214 遗传算子(1)选择算子采用比例选择方式:第一步:先计算出群体中所有个体的适应度的总和;第二步:其次计算出每个个体的相对适应度的大小,它即为各个个体被遗传到下一代群体中的概率.第三步:最后再使用模拟赌盘操作(即0到1之间的随机数)来确定各个个体被选中的次数.(2)交叉算子采用单点交叉算子:第一步:对群体中的个体进行两两随机配对.第二步:对每一对相互配对的个体,随机设置某一基因座之后的位置为交叉点.第三步:对每一对相互配对的个体,依设定的交叉概率p c 在其交叉点处相互交换两个个体的部分染色体,从而产生出两个新的个体.(3)变异算子采用基本位变异:第一步:对个体的每一个基因座,依变异概率p m 指定其为变异点.第二步:对每一个指定的变异点,对其基因值做取反运算或用其他等位基因值来代替,从而产生出一个新的个体.21215 运行参数(1)群体大小M :为避免遗传算法的早熟现象,取M =50.(2)交叉概率p c :用自适应的方式,初始值取019随着遗传算法在线性能调整交叉概率.取值范围为:014<p c <0199747期李丹俊,等:实用下料优化问题模型建立及解法(3)变异概率p m :取变异概率为p m =011.随着遗传算法在线性能的下降,可以减小变异概率p m 的值.取值范围为:010001<p m <011.(4)终止代数T :取T 为100.21216 最优保存策略在遗传算法的运行过程中,通过对个体进行交叉、变异等遗传操作而不断地产生出新的个体.虽然随着群体的进化过程会产生出越来越多的优良个体,但由于选择、交叉、变异等遗传操作的随机性,他们也有可能破坏掉当前群体的平均适应度,并且对遗传算法的运行效率、收敛性都有不利的影响.所以我们希望适应度最好的个体要尽可能地保留到下一代群体中.为达到这个目的,我们采用最优保存策略化模型(Elitist M odel )来进行优胜劣汰操作,即当前群体中适应度最高的个体不参与交叉和变异运算,而是用它来替换掉末代群体中经过交叉、变异等遗传操作所产生的适应度最低的个体.最优保存策略进化模型的具体过程是:(1)找出当前群体中适应度最高的个体和适应度最低的个体.(2)若当前群体中最佳个体的适应度比总的迄今为止最好个体的适应度还要高,则以当前群体中的最佳个体作为新的迄今为止得到的最好个体.(3)用迄今为止最好的个体替换掉当前群体中最佳的个体.21217 满足时间要求问题中对下料的时间要求如下:企业每天最大的下料能力是一百块要求在4天内完成的零件标号(i )为:5,7,9,12,15,18,20,25,28,36,48;要求不迟于6天完成的零件标号(i )为:4,11,24,29,32,38,40,46,50.在遗传算法中加入时间约束,若所求得的最优解不满足时间要求则抛弃该解,在剩余的个体中求最优解.21218 遗传算法流程图:图2 遗传算法流程图21219 求解结果经过编程调试试算,遗传算法具有较好的收敛性.但由于编码长度很长,算法很难收敛84数 学 的 实 践 与 认 识35卷于全局最优解.故我们采用进行多次试算的方法.经过2000次试算,求出板材用料最少而且下料方式最少的最优方案.最后结果为板材用料I =798,下料方式的数目为56和总的材料利用率为99190◊.显然遗传算法求得的结果比E P F F 算法更优.理想情况下,既没有任何浪费,所需板材的最小值为797(在实际中是不可能达到的).而我们的结果只增加了一块板,所以可以认为我们的结果一定是全局最优解.详细的零件加工清单、下料方式,板材用量的分布见附录 .按照题目要求,需要在4天内完成的零件标号(j )为:5,7,9,12,15,18,20,25,28,36,48;需要在6天完成的零件标号(j )为:4,11,24,29,32,38,40,46,50.我们把这些有时间需求的零件提前生产,并根据所耗费的板材总数除以企业每天最大下料数来判断完成时间.根据附录 的表格,经过简单的排序,按以下方式序号顺序下料:4,5,6,7,9,12,13,14,18,19,21,22,24,27,28,29,30,32,37,38,39,43,44,46,51,52,55,1,15,16,17,25,26,31,36,42,47,48,49,54,56.这时,需要在4天内完成的零件3天就可以完成,而需要在6天完成的零件也只需要5天半的时间,所以我们得到的这个最优方案完全可以满足时间限制要求,不需要改变决策目标,重新构建模型.因此本方案即为最终结果.(二)二维实用下料问题的模型对于二维下料问题,虽然也能够采用第一个问题的模型 向二维问题的扩展,但是由于问题条件的所需要的数目很多,尤其是采用类似装箱问题的模型时,在放置操作,在确定了放置次序后,该如何确定下一个矩形的放置位置,即在矩形大小不同的条件下,如何在有限的空间里与当前矩形放置位置达到最好组合是解决装箱问题的关键,在选择位置上共有两到四种位置可选,这就加大了程序的运算量,而且在考虑矩形的长度的同时还要考虑矩形的宽,这在程序的实现上也是需要很大的时间,所以我们在解决二维下料问题时,不采用E P F F 算法.从模型 的求解过程中我们还注意到遗传基因算法在组合优化中的操作直观、表现力强,因而我们尝试利用遗传基因算法来处理二维下料问题:模型 二维约定下的遗传基因算法模型11基本模型在第二问中涉及到了长和宽同时改变,也就是说不是单纯的一个变量,而是两个变量在变,所以在建立模型时以剩余原材料的余量面积最小和使用的原材料的数量最少为其目标.我们仍然假设有m 种下料方式,再根据每种零件的需求量,求得每种零件应用的次数.这样在第1种方式下第1种零件的个数为a 11个,以此类推,则a jk 表示用第k 种下料方式所能得到的第j 种零件的个数.由以上模型得到如下对应关系矩阵 A =a 11a 12…a 1K a 21a 22…a 2Ka J 1a J 2…a J K(321)则使用k 种不同下料方式所使用原材料的根数为 X =(x 1,x 2…,x K )T(322)而每种下料方式产生的废料面积为947期李丹俊,等:实用下料优化问题模型建立及解法 S k =LW -(a 1k l 1w 1+a 2k l 2w 2+…+a J k l J w J ), k =1,2,3,…,K对于所有搜索到的余料最省的下料方式,我们有以下模型用来筛选:目标函数: m in ∑K k =1S k x k(323)基本算法与约束条件: ∑Kk =1ajk x k =d j ∑K k =1a jk l k ≤L ∑K k =1ajk w k ≤W(j =1,2,…,J )(324)要解决的问题:要在固定长宽的矩形原材料里,放置大小不一样但固定的下料件,如何使得原材料所用的件数最少及产生的废料面积最少.不妨将所要切割的下料件编成一个序列T (i ),其中i =1,2,…,n ,则算法的基本思想是按从下到上、从左到右的顺序下料规则,也就是说将从一块原材料的左下角开始切割T (1)零件,记录下当前位置,接着再从左下角切割T (2)零件,看能否切割,不能的话向上移动,以此类推,当切割到原材料的顶端时,继续从余料件左下角切割,示意如下图(图中i ,j ,k 为已切割部分,m 为待下料切割的零件形状):图3 下料过程示意图当切割到一定数量的零件后,判断是否还能再进行切割,如能,则继续下去直至此板料所余部分无法按所需尺寸下料为止.将剩下的零件继续按照此方法在新板料上进行下料,继续这样的步骤直至所要加工零件全部下料完毕.这样一个完整的下料方案其实就是一个排序,以最后余料的大小作为每个排序的评价标准,于是该问题就转化为最优排序问题.21求解方法方法是将原材料被零件切割后所得余料一起作为一个区间段,将要进行下料的零件与这所有可能的区间段进行长度比较,选择可以切割的位置,对选出的位置进行宽度比较,选择最佳切割区,切割完后,再对区间段进行重新计算,调整其参数.我们这里为了实现这个算法,采用的是遗传基因法,对于染色体的编码采用整数模式.由于最短的零件长度也大于原料件的宽度,所以我们不用考虑存在切割时零件的旋转,具体操作步骤如下:(1)编码方法采用随机键表达来产生一串(0,1)之间的随机数.比如,一个10个矩形的染色体为[0111,0114,0143,0118,0153,0128,0147,0173,0164,0167]我们将随机数按照升序排列,得到如下放置顺序:8-10-9-5-7-3-6-4-2-1这条染色体表示先后经过编号为8,10,9,5,7,3,6,4,2,1城市,即表示把编号为8,10,05数 学 的 实 践 与 认 识35卷9,5,7,3,6,4,2,1的下料件按前述顺序依次在原料件上进行切割.(2)杂交将选出杂交的两个个体进行顺时针或逆时针旋转排列[]比如被选中的2个个体分别为:P 1:9-1-2-3-4-5-6-7-8P 2:5-3-4-9-7-2-8-1-6按照上述方法杂交后得到:P 11:1-2-3-4-5-6-7-8-9P 22:3-4-5-9-7-2-8-1-6这种杂交方法保证了不生成致死染色体,又保证了前一代的性质遗传性.(3)变异我们考虑采用互换变异,也就是在染色体中选择两个基因,将其互换:P 3:9-1-2-3-4-5-67-8编译后的染色体:P 33:9-7-2-3-4-5-6-1-8(4)求解结果经过编程调试计算,以此遗传变异算法进化若干代后,我们得出了最优解I =458块.同样地,在顺序随机产生的上千个可行方案中,在增加一种下料方式大致相当于使原材料总损耗增加0108◊的约束条件下,得出的最优方案结果仍为I =458块,由此得出总的材料利用率为97183◊,而且我们得出该方案下料方式的数目为50,详细的零件加工清单、下料方式,板材用量的分布见附录 的表格.紧接着我们来讨论二维下料模型的时间限制问题.按照题目要求,需要在4天内完成的零件标号(i )为:3,7,9,12,15,18,20,25,28,36.同一维下料模型的时间限制讨论方法一样,我们把这些有时间需求的零件提前生产,并根据所耗费的板材总数除以企业每天最大下料数来判断完成时间.根据附录 的表格,不论怎么排序,都无法满足时间限制的需求,所以我们得到的这个材料最优方案不能满足时间条件,需要改变决策目标,重新构建模型.根据以上的模型和算法,我们注意到如果该企业只加工那些有时间限制要求的零件,则三天内便可以完成,但是材料的利用率并不是很高.因此我们下面要做的工作是:在满足时间限制的条件下,如何使得材料的利用率最高.模型 分组抽样模型由题意,这批零件需要在4天之内完成,而且企业每天的下料能力为20块,也就是说在80块原料之内必须加工完所有.但是80块原料在加工完这批有时间限制要求的零件后还有很多剩余,由此就带来一个问题,如何合理安排前4天生产的零件,使得最终的结果为最优呢?我们知道在加工零件的种类和数量繁多的时候,零件越小,材料的利用率越趋于增大.因此,在安排前4天生产的零件时,加工的小零件越多,其材料的利用率越趋于增大,但是同时也使得后期生产的大批零件的利用率越趋于减小,得不偿失;若是在安排前4天生产的零件时,加工较多的大零件,也会造成总体的材料利用率降低,因为在加工零件的种类和数量157期李丹俊,等:实用下料优化问题模型建立及解法25数 学 的 实 践 与 认 识35卷较少的时候,加工大零件会造成更大的浪费.因此最好的情况是使得前后两个生产阶段加工的零件形状趋于平衡,为此我们仿效数理统计中的抽样检验的方法,把没有时间限制要求的33种零件按种类依次平均分成11个样本,这样可使得每个样本中的样本值较为接近.每个样本各出一个样本值和有时间限制要求的零件(共21种类型)一起加工,采取这种形式可使得在两个时间段中加工零件的大小形状趋于平衡,从而对两个时间段里的材料利用率的影响降到最低.考虑到这21种类型零件的总面积要尽量接近80块原料的总面积,我们编程对所有的样本值组合进行筛选,得到最适合的11个样本值(零件种类编号)为2,6,13,14,21, 26,30,32,37,40,43,(程序得到的结果是所选样本值在样本中的位置).利用上面的模型和算法,我们对这21种类型零件进行材料最优的优化处理,得到如下结果:板材数量88,材料利用率91163◊,下料方式24.然后对剩余的零件进行同样的处理,得到结果如下:板材数量376,材料利用率95168◊,下料方式25在进行了局部微调之后,再把两个时间段生产的最后一块材料合并为一个,这样做很有必要,因为最后一块材料的利用率很低,相互合并后可以提高总体的材料利用率,使得总体的利用率分别高于这两个时间段,也就是我们常说的“1+1〉2”效应.我们最终得到板材数量463,材料利用率96111◊,下料方式48.全部零件的生产清单、下料方式和板材用量的分布见附录 的表格.经过简单的排序,优先按以下方式序号下料:1,2,3,4,5,6,7,8,9,10,15,16,17,19,20,22,23,24即可满足时间限制条件.6 模型的优缺点及其推广板材下料是许多企业的生产实际问题.不同规格、数量零件的合理套裁可以有效地减少废料,提高材料的利用率,直接关系到产品成本和企业的经济效益.在生产实际问题中,由于不同尺寸规格、不同数量的零件套裁具有成千上万种的排列组合,想用人工思考方法寻求合符要求的最佳方案是不可能的.许多企业都存在批量下料问题,如家具木器厂、电梯厂、装璜公司等不同品种、尺寸规格的板材、型材用量很大,千百万的材料费中省其一二,经济效益就十分可观了.我们所建立的数学模型有效地解决了特定的有时间限制的一维、二维多目标决策下料问题,比起一般的计算方法,我们建立的数学模型有以下优点:11对于问题一模型:E P F F代换算法,采用了分组配对的方法,有效地缩小了可行解空间的搜索范围.因此其特点是速度很快,可以在较短时间内找到比较令人满意的解.其缺点是分组配对有可能会漏掉最优解.而利用遗传基因算法可以随机搜索所有解空间,虽然效率比模型一低,但经过反复多次搜索可以得到比模型一更优的解.本文的结果也说明了这一事实.但是遗传算法求得最优解所耗的时间较长.21明显提高材料的利用率,使得方案最大限度的趋于最优化,有着巨大的经济效益.与人工设计方案和计算机简易编程算法相比较,一个中型家具厂一年就能节省几十万到几百万元的材料成本费用.31提高工作效率,而且可以根据用户需求排出带有时间限制条件的最优方案.一个由50多种不同规格的零件、成千上万块板料组成的下料工艺设计方案,在很短的时间内即得到成最优的生产计划表.在生产用料管理、原材料的采购定量预算、成本核算、对市场的反应速度等方面大大增强了企业的竞争能力.。
一维优化方法最优化设计数学模型中的基本概念:1、设计变量在机械设计中,区别不同的设计方案,通常是以一组取值不同的参数来表示。
这些参数可以是表示构件形状、大小、位置等的几何量,也可以是表示构件质量、速度、加速度、力、力矩等的物理量。
在构成一项设计方案的全部参数中,可能有一部分参数根据实际情况预先确定了数值,它们在优化设计过程中始终保持不变,这样的参数称为给定参数(或叫预定参数)或设计常数。
另一部分参数则是需要优选的参数,它们的数值在优化设计过程中则是需要优选的参数,它们的数值在优化计算过程中是变化的,这类参数称为设计变量,它相当于数学上的独立自变量。
一个优化问题如果有n个设计变量,而每个设计变量用xi(i=1,2, ,n)表示,则可以把n个设计变量按一定的次序排列起来组成一个列阵或行阵的转置,即写成⎡⎡x1⎡x=⎡x⎡2⎡=[x1,x2, ,xT⎡⎡ ⎡n]⎡x⎡n⎡我们把x定义为n维欧式空间的一个列向量,设计变量x1,x2, ,xn为向量x的n个分量。
以设计变量x1,x2, ,xn为坐标轴展成的空间称为n维欧式空间,用Rn表示。
该空间包含了该项设计所有可能的设计方案,且每一个设计方案就对应着设计空间上的一个设计向量或者说一个设计点x。
2、目标函数优化设计是在多种因素下欲寻求使设计者员满意、且适宜的一组参数。
“最满意”、“最适宜”是针对某具体的设计问题,人们所追求的某一特定目标而言。
在机械设计中,人们总希望所设计的产品具有最好的使用性能、体积小、结构紧凑、重量最轻和最少的制造成本以及最多的经济效益,即有关性能指标和经济指标方面最好。
在优化设计中,一般将所追求的目标(最优指标)用设计变量的函数形式表达,称该函数为优化设计的目标函数。
目标函数的值是评价设计方案优劣程度的标准,也可称为准则函数。
建立这个函数的过程称为建立目标函数。
一般的表达式为F(x)=F(x1,x2, ,xn)它代表着某项重要的特征,例如机器的某种性能、体积、质量、成本、误差、效率等等。
一维下料优化模型的应用及经济性分析陈越中核华兴建设有限公司辽宁红沿河项目部摘要:“下料问题”是把相同形状的一些原材料分割加工成若干个不同规格大小的零件的问题,此类问题在工程技术和工业生产中有着重要和广泛的意义。
本文首先以材料最省为原则建立下料模型,并结合lingo编制出下料软件,可生成供使用的待加工零件最优组合的报表。
最后浅析此模型及软件投入使用后的经济效益并进一步拓展讨论了多维下料问题的解决。
关键词:线性规划下料问题组合零件加工成本控制是企业赖以生存和发展的基础,而相关数据表明,原材料成本占总生产成本的百分比可以高达45%~60%,因此最大限度地节约材料,提高材料的利用率,是实际生产中的一个指导原则,能给企业带来巨大的经济效益。
一维下料优化问题是讨论从一种规格的材料中,分切出各种不同长度的坯料,以使材料的利用率最高。
下料方案的优劣直接影响原材料的利用率,进而影响原材料成本。
这类优化问题在型材、棒材、管材、金属结构材料、建筑材料,甚至布料下料中广泛存在。
目前,国内外关于这方面的研究十分活跃,并涌现出了不少近似算法,如Gilmore与Gomory用线性规划建立的一刀切问题的数学模型【1,2】以及Sarker提出的动态规划方法【3】等。
本文通过改进目前常用的两种求解方法(常规整数线性规划方法和遗传算法),结合lingo9.0线性规划软件,编制出一种贴合核电站钢筋下料实际情况且易于操作的下料软件,并对其进行算例对比,提出一种更为合理经济的下料方案,基本杜绝了原料浪费现象。
1背景目前,红沿河核电站引进的钢筋原材料有光圆钢筋HPB235级(下文统称I 级钢)、带肋钢筋HRB335级(下文统称II级钢)、HRB400级(下文统称III级钢),表1对各型号的钢筋不同直径及原料长度做了统计。
表实际上,钢筋车间操作人员收到待加工的钢筋料单,会将料单上同种规格和直径的钢筋进行简单组合后使用原材料切割,这种简单组合造成了大量的余料甚至废料。
第21卷 第3期1998年6月鞍山钢铁学院学报Journal of Anshan Institute of I.&S.Technology Vol.21No.3J un.1998一维下料问题数学模型的计算机自动生成与优化计算潘晓宇 李海燕(鞍山钢铁学校) (鞍山钢铁学院)摘 要 介绍了一维下料问题的下料方式,采用计算机自动生成相应的线性规划数学模型,给出了最优下料方案的求解方法。
关键词 一维下料问题,数学模型,最优下料方案分类号 O221111 问题的提出 在某些以条型材为原材料的生产部门,经常遇到如下形式的下料问题:已知t 种性能相同仅长度不同的直条材A 1,A 2,…,A t ;每种原料长度为L 1,L 2,…,L t ;数量为S 1,S 2,…,S t ;要求截成m 种长度不同并满足需求量的构件B 1,B 2,…,B m ;成品长度为G 1,G 2,…,G m ;需求量为D 1,D 2,…,D m .问应采取什么样的下料方案,使得既满足需要,又使下料后的剩余边料总长最小,从而使材料利用率最大,达到减少材料损失,降低成本,提高经济效益的目的,这就是所谓一维最优下料问题。
以往有不少人研究过这个问题,当不同长度的原料品种较少,下出的成品品种数也较少的时候,问题不难解决。
但当原料品种数和成品品种数均较大时,建立本问题的线性规划模型的工作是相当复杂的,人工建模更是不可思议的,本文着重探讨了上述一维下料问题的线性规划模型的计算机自动生成的办法,及自动求解最优下料方案的具体做法,同时分析了其中遇到的困难,提出了解决思路。
2 模型的计算机自动生成 设对原料A k ,存在n k 种不同的下料方式Z (k )1,Z (k )2,…,Z (k )n k ,则所有的可能下料方式为n =∑tk =1n k种,按原料顺序用Y j (j =1,2,…,n )表示第j 种下料方式,若用第j 种下料方式Y j 可以得到第i 种构件的个数为a ij (i =1,2,…,m ,j =1,2,…,n ),边料为c j (j =1,2,…,n ),设用Y j 方式下料的原料有X j 根,则这一问题的线性规划数学模型为如下形式收稿日期:1998-01-06.第一作者:女,34,讲师.o.b. min∑nj =1c j x js.t. ∑n j =1a ij x j =D i (i =1,2,…,m )∑n 1j =1x j ≤S 1∑n 2j =n 1+1xj ≤S 2 …∑n j =n -n t +1x j ≤S t 在这个问题中,如果原料的种类t 与成品的规格m 的值都比较小,且最短成品长度值较大时,可能的下料方式的种数n 不会很多,可以用人工试算的方法求出a ij 及其相应边料c j ,从而建立线性规划问题的目标函数和约束条件,再用线性规划解法求出模型的最优解,即得最优下料方案。
下料问题的优化设计 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT题1、[下料问题的优化设计]某车间有一大批长130cm的棒料,根据加工零件的要求,需要从这批棒料中成套截取70cm长的毛坯不少于100根,32cm 长的毛坯不少于100根,35cm长的毛坯不大于100根。
要求合理设计下料方案,使剩下的边角料总长最短。
根据题目意义,运用优化设计理论和方法,完成设计全过程;工程问题分析:数学模型建立及特征分析:优化方法选择;优化程序设计(解析优化);计算结果分析;结论及体会。
基于MATLAB一维优化下料问题分析0 前言生产中常会通过切割、剪裁、冲压等手段,将原材料加工成所需大小零件,这种工艺过程,称为原料下料问题。
在生产实践中,毛坯下料是中小企业的一个重要工序。
怎样减少剩余料头损失是节约钢材、降低产品成本、提高企业经济效益的一个重要途径。
在毛坯下料中我们常会遇到毛坯种类多、数量大的情况,如不进行周密计算则因料头而造成的钢材损失是相当可观的。
为使料头造成的钢材损失减少到最小程度,我们可依据预定的目标和限制条件统筹安排,以最少的材料完成生产任务。
1 一维优化下料问题的具体模型分析设原材料长度为L,数量充足。
需要切割成n(n≥0)种不同规格的零件,根据既省材料容易操作的原则,人们已经设计好了n种不同的下料方式,设第j种下料方式中可下得第i种零件ij a个,又已知第i种零件得需要量为i b个, j x表示第B种下料方式所消耗得零件数目, j c表示第j B种下料方式所得余料(j=1, j2 , , n, j x∈ Z)。
满足条件的切割方案有很多种,现在要求既满足需要又使所用原材料数量最少,即最优下料方案满足:μp=min (∑j c j x)约束条件:∑ij a j x=i b,j x∈Z。
线性规划数学模型根据线性规划算法,约束条件包括两部分:一是等式约束条件,二是变量的非负性。
实用一维下料问题模型与求解算法
作者:袁月明, 龙建成, 许鹏
作者单位:袁月明,龙建成(北京交通大学交通运输学院,北京,100044), 许鹏(北京交通大学电子信息工程学院,北京,100044)
相似文献(2条)
1.期刊论文张艳诚.李明喜.胡波.Zhang Yancheng.Li Mingxi.Hu Bo一维下料问题的优化模型-黄石理工学院学
报2006,22(4)
在一维下料问题中,针对增加下料方式引起加工成本的不同,建立了多目标优化模型,并给出了求解算法.首先通过加权法将模型化为单目标优化模型,然后通过废料长度表示下料方式的可调整程度,并以此为基础调整下料方案.结果表明,新模型得到的下料方案能更全面的考虑下料问题的经济成本并具有较好的实用性.
2.期刊论文陈璐.黄伟健.冯真.数模指导组实用下料的数学模型-数学的实践与认识2005,35(7)
考虑到整数规划模型的下料方式数量难以穷尽的问题,本文以原材料最少为目标,采用启发式多级序列线性优化的方法建立一维下料模型.对于二维下料问题,采用降维启发式的方法即通过形成"板条"把二维下料问题化为一维下料问题.
本文链接:/Conference_6243318.aspx
授权使用:揭阳职业技术学院(jyzy),授权号:53b95ce0-1416-4ea2-9a51-9de100ea6606
下载时间:2010年8月29日。
题1、[下料问题的优化设计]某车间有一大批长130cm的棒料,根据加工零件的要求,需要从这批棒料中成套截取70cm长的毛坯不少于100根,32cm 长的毛坯不少于100根,35cm长的毛坯不大于100根。
要求合理设计下料方案,使剩下的边角料总长最短。
根据题目意义,运用优化设计理论和方法,完成设计全过程;工程问题分析:数学模型建立及特征分析:优化方法选择;优化程序设计〔解析优化〕;计算结果分析;结论及体会。
基于MATLAB一维优化下料问题分析0 前言生产中常会通过切割、剪裁、冲压等手段,将原材料加工成所需大小零件,这种工艺过程,称为原料下料问题。
在生产实践中,毛坯下料是中小企业的一个重要工序。
怎样减少剩余料头损失是节约钢材、降低产品本钱、提高企业经济效益的一个重要途径。
在毛坯下料中我们常会遇到毛坯种类多、数量大的情况,如不进展周密计算那么因料头而造成的钢材损失是相当可观的。
为使料头造成的钢材损失减少到最小程度,我们可依据预定的目标和限制条件统筹安排,以最少的材料完成生产任务。
++1 一维优化下料问题的具体模型分析设原材料长度为L,数量充足。
需要切割成n (n≥0)种不同规格的零件,根据既省材料容易操作的原那么,人们已经设计好了n 种不同的下料方式,设第j 种下料方式中可下得第i 种零件ija 个,又第i 种零件得需要量为ib 个, j x表示第jB 种下料方式所消耗得零件数目, j c表示第jB 种下料方式所得余料(j=1, 2 , ⋯,n, j x∈ Z)。
满足条件的切割方案有很多种,现在要求既满足需要又使所用原材料数量最少,即最优下料方案满足:μp=min (∑j c jx )约束条件:∑ij a j x =ib ,jx ∈Z 。
1.2 线性规划数学模型根据线性规划算法,约束条件包括两局部:一是等式约束条件,二是变量的非负性。
出变量的非负要求外,还有其他不等式约束条件,可通过引入松弛变量将不等式约束化成等式约束形式。
文章编号:1007-6042(2005)09-0024-04利用LINDO求解一维和二维的下料问题胡俊青(中国南车集团北京二七车辆厂北京100072)摘要:分析了实际生产中下料问题的建模过程,提出了利用LINDO求解一维和二维的下料问题的最优解。
关键词:下料;建模;LINDO中图分类号:TP15文献标识码:B1问题的提出板材下料是许多企业生产中的实际问题。
不同规格、数量零件的合理裁剪可以有效地减少废料,提高材料的利用率。
目前工厂的下料,一般由工程技术人员先统计系统中每个零件的板幅和数量并汇总归类,再利用画图或别的方法去拼凑,最后得出所需要的板材的规格及其数量。
这种方法不仅效率低下,而且算出来的结果不一定是实际问题的最优解,即可能存在浪费问题。
在这里用5运筹学6中线性规划的观点来对实际生产问题进行建模分析。
2对实际下料问题的建模2.1一维下料问题的建模例1:现需要做50套架子,每套架子需要2根3.2m、3根2.1m和2根(2)钎焊温度不可过高,钎焊温度越高,铝可以熔解到液相钎料的数量越多。
4.4焊堵主要原因:(1)钎焊间隙选择不当;(2)加热时间过长;(3)温度超出钎焊温度区间或钎料加热过多等。
主要措施为:严格控制加热时间和使用折弯工装,控制加丝量,同时改进铝)铝之间的接口设计。
t收稿日期:2005-08-111.5m的槽钢且已知槽钢的原材料长9m。
问应该怎么下料使用料最省?不同的下料方案见表1。
表1一维下料方案一览方案12345673.2m2根1根0根0根0根0根0根2.1m1根2根4根3根2根1根0根1.5m0根1根0根1根3根4根6根合计8.5m8.9m8.4m7.8m8.7m8.1m9m料头0.5m0.1m0.6m 1.2m0.3m0.9m0m表1中每种方案代表1根原料的裁剪方法,并列出这种裁剪方案剩下的料头。
问题转化为求解按每种方案i(i=1、2、,,、7)裁剪的原料的数量X i,并使得求解的结果满足题目的要求。
实用下料问题优化模型摘要关键字:整数规划模型多目标决策优化NP问题下料方案分支定界法1.问题的重述“下料问题(cutting stock problem)”是把相同形状的一些原材料分割加工成若干个不同规格大小的零件的问题,此类问题在工程技术和工业生产中有着重要和广泛的应用. 这里的“实用下料问题”则是在某企业的实际条件限制下的单一材料的下料问题。
现考虑单一原材料下料问题. 设这种原材料呈长方形,长度为L ,宽度为W ,现在需要将一批这种长方形原料分割成m 种规格的零件, 所有零件的厚度均与原材料一致,但长度和宽度分别为),(,),,(11m m w l w l ,其中w i <m i W w L l i i ,,1,, =<<.m 种零件的需求量分别为m n n ,,1 .下料时,零件的边必须分别和原材料的边平行。
这类问题在工程上通常简称为二维下料问题。
特别当所有零件的宽度均与原材料相等,即m i W w i ,,1, ==,则问题称为一维下料问题。
一个好的下料方案首先应该使原材料的利用率最大,从而减少损失,降低成本,提高经济效益。
其次要求所采用的不同的下料方式尽可能少,即希望用最少的下料方式来完成任务。
因为在生产中转换下料方式需要费用和时间,既提高成本,又降低效率。
此外,每种零件有各自的交货时间,每天下料的数量受到企业生产能力的限制。
因此实用下料问题的目标是在生产能力容许的条件下,以最少数量的原材料,尽可能按时完成需求任务, 同时下料方式数也尽量地小.就某企业考虑下面两个问题:1. 建立一维单一原材料实用下料问题的数学模型, 并用此模型求解下列问题,制定出在生产能力容许的条件下满足需求的下料方案, 同时求出等额完成任务所需的原材料数,所采用的下料方式数和废料总长度. 单一原材料的长度为 3000mm, 需要完成一项有53种不同长度零件的下料任务. 具体数据见表一,其中 i l 为需求零件的长度,i n 为需求零件的数量. 此外,在每个切割点处由于锯缝所产生的损耗为5mm. 据估计,该企业每天最大下料能力是100块 ,要求在4天内完成的零件标号(i )为: 5,7,9,12,15,18,20,25, 28,36,48;要求不迟于6天完成的零件标号(i )为:4,11,24, 29,32,38,40,46,50. (提示:可分层建模。
下料问题生产实践中经常遇到这样的问题,要把规格一定的材料裁剪成不同尺寸的毛坯,在一般情况下,很难使原材料得到完全利用,总会多出一些料头。
切割次序和方法的不同、各种规格搭配(即下料策略)不同,材料的消耗将不同。
实际需要解决如下问题,在给定一组材料规格尺寸后,怎样合理截料,才能使原材料消耗最少,这就是合理下料问题。
1.建立一维单一原材料实用下料问题的数学模型,并用此模型求解下列问题,从钢管厂进货得到的原材料的钢管的长度都是8m,现在一顾客需要80根3m,100根2.5m,240根1.3m 和100根1.8m的钢管。
(1)应如何下料最节省;(2)为了简化生产过程,规定所使用的切割模式的种类不能超过4种,使用频率最高的一种切割模式按照一根原料钢管价值的1/100增加费用,使用频率次之的切割模式按照一根原料钢管价值的2/100增加费用,以此类推,为了使总费用最小,应该如何下料?2.建立二维单一原材料实用下料问题的数学模型,并用此模型求解下列问题。
制定出完成任务所需的原材料块数和余料。
这个问题的单一原材料的长度为2260mm,宽度为1330mm。
所需毛坯数据:毛坯尺寸(长mm×宽mm×需求)517×447×2,517×597×1,257×597×2,517×397×4,907×347×1,907×397×1,907×477×2,907×397×1,777×447×2,777×547×1,777×447×1,777×297×1,397×647×1,387×997×1,777×297×1,,77×597×1主要运用整数规划。
下料问题(cutting stock problem) 实用下料问题摘要针对一维下料优化问题,由于使用传统的规划求解,计算量很大,而且很难求出最终结果,所以我们采用种新的优化思想方法——启发式多层次逐层优化方法,并结合贪心算法解决此问题, 基本思想是在求解时,尽可能多的重复使用最优的一种方法进行下料,直到所涉及到的某种零件需求加工完;然后对剩余的零件重复上步的操作,直到所有剩余的零件数目均减小至零为止。
原问题的最优解就是各个序列优化问题所求得的最优下料方式的总和,由于题目中有四天和六天的时间约束,所以分为两个阶段:无时间约束搜寻下料方式和有交货时间限制的下料方式逐步优化,利用Mathematica求得结果:完成任务所需原材料数:811,利用率:97.60%,废料总长度为:58012.5mm此时所用方案64种,具体见附录。
最终求得只需9天便可完成全部53套零件的加工任务。
具体的一维下料问题的下料方式数,耗材量,废料长度,利用率如下表所示:对于二维下料问题,下料方式要满足零件长,宽方向上的套裁,我们通过降维启发式方法即根据题目中宽度单一的特点,我们将原料按照组合50、50,组合50、30、20,组合35、35、30,组合30、30、20、20,以及组合20、20、20、20、20方案将原料切割成3000*50,3000*35,3000*30,3000*20四种“标准件”,转化成了等宽度单一料长的一维下料优化问题,即可通过使用第一题中的启发式多层次逐层优化方法,首先考虑无时间条件约束的情况,我们将这一过程分为两个阶段来实现。
同一维下料问题类似,在有时间约束时,我们将交货时间紧促的零件排在优先位置加工,如此得到结果:所需原料数:458,下料方式数为:66,利用率为:97.71%一、题的重述1. 背景“下料问题(cutting stock problem)”是把相同形状的一些原材料分割加工成若干个不同规格大小的零件的问题,此类问题在工程技术和工业生产中有着重要和广泛的应用。