优化模型 下料问题
一维优化下料问题

第24卷 第1期 桂林工学院学报 V ol.24N o.1 2004年1月 JOURNA L OF G UI LI N I NSTIT UTE OF TECH NO LOGY Jan12004文章编号:1006-544X(2004)01-0103-04一维优化下料问题张春玲,崔耀东(广西师范大学数学与计算机科学学院,广西桂林 541004)摘 要:下料问题在生产中普遍存在,优化下料可以提高原材料利用率,是企业增加经济效益的途径之一.对一维下料问题进行了探讨,给出一维下料问题的一些概念和数学模型,讨论解决一维下料问题的常用算法以及算法的适用情况,分析与之相关的一些问题和具体的实际应用.关键词:下料;最优化;整数规划中图分类号:T B11411;O224 文献标识码:A 随着全球资源的日益匮乏,人们对资源利用问题的研究愈来愈重视,下料问题就是其中之一[1-3].最大限度的节约原材料,提高原材料利用率是生产中提高效益的一个重要手段,在机械行业、造纸、服装、木材等行业,下料问题都有广泛的实际应用.下料问题就是研究怎样在客观条件和可以接受的时间下优化排样得到最优解或近似理论最优解.下料问题根据维数一般可分为一维下料和二维下料,本文主要对一维下料问题进行讨论.1 一维下料问题的概念和数学模型 一维下料问题(one2dimensional cutting stock problem,简称1CSP)是在已知原材料和顾客需求坯料的情况下优化下料使原材料的使用率达到最大或废料达到最小.根据原材料长度是否相等,一维优化下料可以分为单一型材的优化下料和多型材的优化下料.单一型材的优化下料很多文献中都已有讨论,而多型材的优化下料在型材类型比较多的时候,可以将型材按长度相近进行分组,先选组,再从组中选择型材下料,由此引发出分组问题.分组有利于节约原材料,但是如果分组太细,会导致增加库存管理的负担. Dyckoff[3]提出下料问题可以根据4种特征来分类:维度、分配类型、大物件的分类和小项的分类.Dyckoff描述一维下料问题为1/V/D/M:1指的是一维问题,V指的是所有的小项必须从一大物件中产生,D的意思是所有大物件是不同的,M 是指小项之间不同. 如果原材料是同一长度或只有少数的组(组中长度相近),可得到标准一维下料问题(S1D-CSP),对于S1D-CSP给出切割方案的概念,切割方案是用1根原材料切割各种不同规格的坯料时,保持坯料规格的种类不变,只改变切割数量.将有效的切割方案集中起来就是最后的下料方式. S1D-CSP问题可以描述如下: l i—坯料长度,i=1,…,n; d i—每种坯料的需求数量,i=1,…,n; L k—原材料长度,k=1,…,P.切割方案c可以用如下一个向量a ck来表示:a1ck,a2ck,…,a nck;(1) 满足∑ni=1l i a ick≤L k,且a1ck≥0,是整数.(2) a ick表示l i在特定的切割方案中出现的次数,x ck表收稿日期:2003-05-12基金项目:广西自然科学基金资助项目(桂科基0236017).作者简介:张春玲(1978-),女,硕士研究生,研究方向:C AD/C AM.示切割方案c 在原材料k 上使用的次数,t k 表示在原材料k 上满足(2)式的切割方案的总数,那么将会有如下的整数规划模型:min∑pk =1∑t kc =1x ck L k ,(3)s 1t 1∑pk =1∑t kc =1a 1ck x ck L k ≥d i ,i =1,…,n ;(4)x ck ≥0且为整数,c =1,…t k ;k =1,…,p.(5) 从S1D -CSP 所对应的数学模型中可知S1D -CSP 所优化的目标是最小化被切割的原材料数量.当原材料的长度全都不同时所建立的数学模型与上述模型是有所不同的.如G radisar 等人[4]提出的G 1D 2CSP (generation one 2dimensional cutting stock prob 2lem ),其数学模型中优化的目标是最小化废料,而且这一模型中原材料的长度全都不同. Dyckoff [3]将优化下料过程分为2类:以需求项为导向(item 2oriented )和以方案为导向(pattern 2oriented )的方法.以需求项为导向的方法是对顾客的每一需求项进行单独的处理,直到一需求项处理完才处理下一需求项;以方案为导向的方法是把几种坯料组合进行下料,一次切割可得到不同规格的坯料.以方案为导向的方法只能对原材料长度是单一的或者原材料分为少数的组时有效,对于原材料的长度都不相同的情况只能用以需求项为导向的方法(表1).表1 原材料与坯料[5]T able 1 S tock and item顾客需求坯料原 材 料需求编号需求长度/cm 需求量/根原材料编号原材料长度/cm 130412113535231938211301339714394084415344934153627 以需求项为导向的方法是先选择第1种需求坯料进行处理,第1种坯料在原材料2上切割6根,在原材料1上切割6根,这样就得到12根304cm 长的坯料,再选择第2种坯料处理,在原材料4上切割21根,在原材料3切割4根,在原材料2上切割6根,在原材料1上切割7根,共得到38根长度为319cm 的坯料,其它情况类似.若是以方案为导向的方法,首先将坯料进行组合,如(5,7,10,14,0)方案表示在第1种长度为13535cm 的原材料上切割5根长度为304cm 的坯料,7根长度为319cm 的坯料,10根长度为397cm 的坯料,14根长度为415cm 的坯料,不切割长度为366cm 的坯料(为0表示不切割). 以需求为导向方法得到的切割量会出现比需求量少的情况,其方法一般是基于启发式算法;以方案为导向方法得到的切割量则会出现比需求量多的情况,其方法一般是基于线性规划的.两种方法有各自的优缺点,可进行适当的组合得到良好的下料效果. 一维下料的数学模型早在1939年就已由K an 2torovich 提出.下料问题的求解很大程度上依赖于模型的建立,可根据具体情况进行模型的补充和修改.一维下料问题所建立的数学模型是一个整数规划问题,求解整数规划问题一般使用分支定界法或割平面法.分支定界法是一种隐枚举法,效果的好坏取决于分支的模式和界的确定,但下料问题的求解有其自身的特点,下面讨论一维下料问题的常用算法.2 一维下料问题的常用算法 一维下料问题是组合优化中的一个经典问题,从计算的复杂性理论上看,优化下料问题属于NP难问题,即至今还不存在多项式界算法.NP 难问题的求解通常使用接近最优解的近似算法实现.求解一维下料问题的算法[1]有基于线性规划的方法、分支定界法、动态规划法、启发式算法、模拟退火算法、演化算法等.211 基于线性规划的方法 以方案为导向的方法大多是基于线性规划的方法(LP M ).此类方法可以减少废料,但是会产生多于需求量的切割量,只适用于单一型材或者是只有少量组的下料.基于线性规划的方法是将建立的整数规划问题进行松弛,按照线性规划进行求解,对得到的解取整.基于线性规划的方法可以追溯到G ilm ore 和G om ory 的列生成(columngeneration )方法[6-7\〗.当原材料和需求的坯料的种类相当多或者是坯料的长度特别短而原材料的长度特别长时,将导致切割方案太多,一次性将所有的切割方案全部枚举出来是不可能的,文献[6]中通过初始化部分切割方案,进而利用迭代401桂 林 工 学 院 学 报 2004年的方式在每一步背包子规划中用特定的方法和动态规划求解得到进入基的列,最后对主规划的解取整.Haessler[8]对G ilm ore2G om ory的算法进行了改进,修改了初始解,利用更强的约束条件控制切割方案的产生以减少切割方案的变更.Valerio[9]将列生成算法与分支定界法相结合,利用弧流模型, 1种切割方案对应于1条路径,在弧流的变量上进行分支.分支价值算法(branch2and2price)又称整数规划列生成算法,它是在分支定界树的每个结点上使用column generation算法.Vanderbeck[10]介绍了一种基于列生成的算法,对分支定界法进行扩展,讨论分支模式,提出了一种伪多项式启发式,并在整数规划列生成算法中应用.212 基于启发式算法的方法 当原材料的长度都不相同的时候只能用以需求项为导向的方法求解,这有2种可能:用确切的方法(分支定界或动态规划)或者是用形式为SHP(Sequence Heuristic Procedure)的近似算法.启发式算法所使用的启发式一般只适用于特定的问题,无通用性,有效的启发式对问题的求解是很有用的,但是有时寻找一个有效的启发式比解决问题本身还要困难.启发式算法得到的结果一般不会太差,通常也可将启发式进行组合.G radis2 ar[5]将一种字典排序的方法应用于多型材下料问题,以需求项为导向,用启发式(SHP)最小化约束条件的影响,并设置参数Y来调整废料与下料方案的复杂度之间的权.将基于线性规划的方法和基于启发式的方法相结合[11],用2个阶段求解:首先将问题转换成可用LP M求解的模式,然后将切割方案中包含比需求量多的解删除,最后的结果是两部分的解之和:S=S LP M+S SHP,这样既能减少废料又能得到确切的需求量.213 其它算法 遗传算法和模拟退火算法用于优化下料问题中效果良好:遗传算法是基于自然选择和基因遗传的搜索算法,具有很好的鲁棒性,在解决复杂问题的优化方面非常适用.前面已提到,当切割方案特别多时一次性枚举是不可能的,利用遗传算法,先随机的生成一些切割方案,形成初始种群,然后经过选择、杂交、变异的遗传操作,计算个体适应度,将适应度高的个体保留到下一代,而适应度低的个体被淘汰,经过个体的优选最终得到近似的最优解;模拟退火算法是基于金属退火的机理建立起来的一种全局最优化方法,它能够以随机搜索技术从概率的意义上找出目标函数的全局最小点.Waugner[12]利用遗传算法解决一维下料问题并考虑了废料、库存使用和最后存货等问题.Liang[13]用只使用变异算子的演化规划同时对2个目标进行优化,采用了3PS和SRI两个变异算子.刘道海等[14]从蚁群算法中信息素的概念得到启示,将信息素的观点引入道变异算子中,用与适应值联系在一起的信息素的变化来引导每个基因位的变异,并把这一算法运用到优化下料中.李元香、张进波、徐静雯等[15]提出一种基于变长编码求解一维下料问题的演化算法,收到了比较好的结果,材料平均利用率可达到97%.3 相关问题 研究中发现[16-18]对于1CSP的很多实例,下料问题所建立的整数规划问题的最优解与利用松弛后线性规划问题求得的最优解具有一定的性质.这些性质有利于确定下料实例所属类别,简化计算量,对高维下料问题的研究也有帮助.引用文献[18]中的四元组E=(m,l,b,L)来描述一维下料问题的实例,其中l=(l1,l2,…,l m),b =(b1,b2,…,b m)T,m是坯料种类,L是原材料长度,l和b分别是每种坯料的长度和对应的需求量,非负整数向量a j=(a1j,a2j,…,a mj)T,a≠0且满足∑mi=1l i a ij≤L,(j=1,2,…,n),n是切割方案的总数,x j是切割方案a j的使用次数,则所建立的数学模型如下: min z=∑nj=1x j, s.t.∑nj=1a ij x j≥b i,i=1,…,m, x j≥0,x j是整数,j=1,…,n.(6) 与式(6)相应的松驰模型为 min z=∑nj=1x j, s.t.∑nj=1a ij x j≥b i,i=1,…,m, x j≥0,j=1,…,n.(7) 设Z3=Z3(E),Z c=Z c(E)分别表示(6)和(7)的最佳解,Δ(E)∶=Z3(E)-Z c(E). Δ(E)<1,实例E具有整数上界取整性质(IRUP,integer round2up property) Δ(E)≥1,实例E具有非整数上界取整性质(non2IRUP)501第24卷 第1期 张春玲等:一维优化下料问题 Δ(E)<2,实例E具有可修改的上界取整性质(MIRUP,modified integer round2up property) 文献[16]中对具有MIRUP的实例的定义为Z3(E)≤[Z c(E)]+1,猜想标准一维下料问题都具有MIRUP.non2IRUP的实例相对出现的较少一些,文献[19]中给出了有效构造non2IRUP实例的方法,对于MIRUP的猜想还未证明.4 结 论 讨论了一维下料问题的概念、模型、算法,而与下料问题类似的问题如装货、背包等问题,其模型和算法与下料问题的模型与算法都有相似之处,两者可以互相借鉴.高维下料问题,特别是二维不规则图形的下料问题是目前研究的热点,也是难度较大的一个问题.研究一维下料为研究高维下料问题提供了一定的理论基础.另外,由于下料问题与生产实践密切相关,这方面的研究结果有助于提高工厂经济效益.参考文献[1]H inxman A I.The trim-loss and ass ortment problems:A survey[J].European Journal of Operational Research,1980,(5):8 -18.[2]Cheng C H,Feiring B R,Cheng T C E.The cutting stock prob2lem2A survey[J].International Journal of Production econom ics, 1994,(36):291-305.[3]Dyck off H.A ty pology of cutting and packing problems[J].EuropeanJournal of O perational Research,1990,(44):145-159.[4]G radisar M,Resinovic G,K ljajic M.Evaluation of alg orithms forone2dimensional cutting[J].C om puters&Operations Research, 2002,(29):1207-1220.[5]G radisar M,K ljajic M,Resinovic G,et al.A sequential heuristicprocedure for one2dimensional cutting[J].European Journal of Op2 erational Research,1999,(114):557-568.[6]G ilm ore P C,G om ory R E.A linear programm ing approach to thecutting2stock problem[J].Operations Research,1961,(9): 849-859.[7]G ilm ore P C,G om ory R E.A linear programm ing approach to thecutting2stock problem:partⅡ[J].Operations Research,1963,(11):863-888.[8]Haessler R W.A note on com putational m odification to theG ilm ore2G om ory cutting stock alg orithm[J].Operations Re2search,1980,28(4):1001-1005.[9]Valerio DE Carvalho J M.Exact s olution of cutting stock problemsusing column generation and branch and bound[J].Int.T rans.Opl Res,1998,5(1):35-44.[10]Vanderbeck F.C om putational study of a column generation alg o2rithm for bin packing and cutting stock problems[J].M ath.Program,1999,(86):565-594.[11]G radisar M,Resinovic G,K ljajic M.A hybrid approach for op2tim ization of one2dimensional cutting[J].European Journal of Operational Research,1999,(119):719-728.[12]W augner Bret J.A genetic alg orithm s olution for one2dimensionalbundled stock cutting[J].European Journal of Operational Re2 search,1999,(117):368-381.[13]Liang K o2Hsin,Y ao X in,Newton C,et al.A new ev olutionaryapproach to cutting stock problems with and without contiguity [J].C om puter&Operations Research,2002,(29):1641-1659.[14]刘道海,方 毅,黄樟灿.一种求解组合优化问题的演化算法[J].武汉大学学报(理学版),2002,48(3):315-318. [15]李元香,张进波,徐静雯,等.基于变长编码求解一维下料问题的演化算法[J].武汉大学学报(理学版), 2001,47(3):289-293.[16]S cheithauer G,T ern o J.T he m odified integer round2up property of theone2dim ensional cutting stock problem[J].E uropean Journal of O per2 ational R esearch,1995,(84):562-571.[17]Nitsche Ch,Scheithauer G,T erno J.New case of the cuttingstock problem having MIRUP[J].M athematical M ethods of Op2 erations Research,1998,(48):105-115.[18]Nitsche Ch,Scheithauer G,T erno J.T ighter relaxations for thecutting stock problem[J].European Journal of Operational Re2 search,1999,(112):654-663.[19]Rietz J,Scheithauer G,T erno J.Fam ilies of non2IRUP instances ofthe one2dimensional cutting stock problem[J].Discrete Applied M athematics,2002,(121):229-245.Optimization of one2dimensional cutting stock problemZHANG Chun2ling,C UI Y ao2dong(Institute o f Mathematics and Computer Science,Guangxi Normal Univer sity,Guilin541004,China)Abstract:Cutting stock problem exits widely in production.Optimizing cutting stock is a method to im prove the using rate of materials and to increase the benefit of industry.It is significant for cutting stock problem research.The survey of one2dimensional cutting stock problem presents the general mathematic m odel of cutting stock problem with the dis2 cussion of the comm on method of one dimensional cutting stock problem and the alg orithm situation used.Related problems and application are als o discussed.K ey w ords:cutting stock;optimization;integer programming601桂 林 工 学 院 学 报 2004年。
1B-实用下料优化问题模型建立及解法

第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多种不同规格的零件、成千上万块板料组成的下料工艺设计方案,在很短的时间内即得到成最优的生产计划表.在生产用料管理、原材料的采购定量预算、成本核算、对市场的反应速度等方面大大增强了企业的竞争能力.。
一维下料优化模型的应用及经济性分析

一维下料优化模型的应用及经济性分析陈越中核华兴建设有限公司辽宁红沿河项目部摘要:“下料问题”是把相同形状的一些原材料分割加工成若干个不同规格大小的零件的问题,此类问题在工程技术和工业生产中有着重要和广泛的意义。
本文首先以材料最省为原则建立下料模型,并结合lingo编制出下料软件,可生成供使用的待加工零件最优组合的报表。
最后浅析此模型及软件投入使用后的经济效益并进一步拓展讨论了多维下料问题的解决。
关键词:线性规划下料问题组合零件加工成本控制是企业赖以生存和发展的基础,而相关数据表明,原材料成本占总生产成本的百分比可以高达45%~60%,因此最大限度地节约材料,提高材料的利用率,是实际生产中的一个指导原则,能给企业带来巨大的经济效益。
一维下料优化问题是讨论从一种规格的材料中,分切出各种不同长度的坯料,以使材料的利用率最高。
下料方案的优劣直接影响原材料的利用率,进而影响原材料成本。
这类优化问题在型材、棒材、管材、金属结构材料、建筑材料,甚至布料下料中广泛存在。
目前,国内外关于这方面的研究十分活跃,并涌现出了不少近似算法,如Gilmore与Gomory用线性规划建立的一刀切问题的数学模型【1,2】以及Sarker提出的动态规划方法【3】等。
本文通过改进目前常用的两种求解方法(常规整数线性规划方法和遗传算法),结合lingo9.0线性规划软件,编制出一种贴合核电站钢筋下料实际情况且易于操作的下料软件,并对其进行算例对比,提出一种更为合理经济的下料方案,基本杜绝了原料浪费现象。
1背景目前,红沿河核电站引进的钢筋原材料有光圆钢筋HPB235级(下文统称I 级钢)、带肋钢筋HRB335级(下文统称II级钢)、HRB400级(下文统称III级钢),表1对各型号的钢筋不同直径及原料长度做了统计。
表实际上,钢筋车间操作人员收到待加工的钢筋料单,会将料单上同种规格和直径的钢筋进行简单组合后使用原材料切割,这种简单组合造成了大量的余料甚至废料。
下料问题的逐级优化方法

摘要原材料的切割问题是工业生产中的重要问题,可以直接决定一个工厂的效益大小,是一个很有实际研究价值的问题。
对于一维下料问题,我们主要以整数规划为模型,讨论了钢管数最少和余料最少两种方式,但由于数据较大,后面又通过对变量变化范围的缩减,找到了较优的在大数据时替代穷举法的非线性整数规划来确定较优的几种切割方式,以得到较节省的剪裁方法。
后面的成本问题可以转化为一维下料问题的加权问题。
解决二维的下料问题,采用逐级优化的方法,进行下料方案的筛选。
首先选用单一下料两个方向排料优选的下料策略,成品料的长在原材料的长和宽两个方向上分别排列,求出最优解;其次采用单一下料中成品料的长和宽在原材料的长、宽两个方向套裁排料优选,算出所需原材料的块数和利用率;最后按照零件需求量,进行几种零件配套优选,用新易优化板材切割软件求出最优的板材切割方法,列以原材料消耗总张数最少为目标函数的数学模型,用LINGO软件编程,求出最佳下料方案。
按照原材料的利用率,筛选出最佳的下料方案为按照零件需求量,进行几种零件的配套优选下料方案关键字:下料问题整数规划逐级优化1问题重述如何更大程度的获得合理利润在当今这个以经济发展为核心的社会已经成了工厂实际生产中急需解决的问题,其中原材料利用率低则是每个工厂所关心的重点问题。
因此有必要对原材料的利用方式进行讨论,找到更合理的使用方法。
本问题就以生产实践中遇到的材料剪裁问题为基础,以寻找消耗原材料最少的剪裁方式为目的,并通过一维、二维的多维度分析,以及使用频率对原材料价格的影响,通过多种合理的数学模型,找到更符合实际情况的最优剪裁方式。
2问题分析直接分析问题为为找到最好的几种剪裁方案,使得钢管数最少,余料尽可能少或余料最少,钢管数尽可能少,但在完成的过程中,我发现只要分配好了几种剪裁方案,用整数规划可以较容易的找到最省的下料方案,而遇到的困难是如何选择几种较优的剪裁模式,这就变成了问题的核心;而后面的几问基本上都是该问题的变形或推广,原理相似,价格问题只是切割问题中钢管数最少的加权处理,第二问是改变了衡量的单位,有长度变成了面积,可以由一维的情况推广解决3问题假设1.原材料在生产过程中除去剪裁方式造成的损耗外其他损耗为0,且生产后的钢管均符合要求2.剩余的原材料无法利用3.原材料中没有不合格品4.客户中途无退单情况5.运输过程中没有其它损耗6.原材料的增加费用只与使用频率有关,模式使用频率相同时,其产生的增加费用相同。
优化下料流程提高下料效率和材料利用率

优化下料流程提高下料效率和材料利用率下料流程的优化是指通过对下料工序的改进和优化,来提高下料效率和材料利用率。
下料流程的优化可以从以下几个方面进行考虑和改进:1.规范下料数量和尺寸:对于每一次下料,需要明确确定下料的数量和尺寸要求,避免过多的浪费和不必要的材料消耗。
通过合理的规划和计算,确定合适的下料数量和尺寸,确保在满足生产需求的前提下,最大限度地减少材料浪费。
2.优化下料工艺:通过对下料工艺的改进和优化,减少下料过程中的材料损耗。
可以采用高效的下料设备和工具,如自动下料机、数控下料机等,提高下料效率和精度,减少人为因素引起的误差和损耗。
同时,可以针对特殊形状和尺寸的材料,设计和开发专门的下料模具和刀具,以提高下料的准确性和效率。
3.合理安排下料顺序:在进行下料操作时,需要根据不同材料和工件的特点,合理安排下料顺序,以最大限度地减少材料浪费和加工时间。
对于相同材料的多次下料,可以通过合理的排版和布局,使得工件尽量较好地利用材料和空间,并减少下料时的裁剪浪费。
4.精确控制下料尺寸和公差:下料过程中,需要精确控制下料尺寸和公差,以确保下料后的工件能够准确地满足设计和生产要求。
可以采用先进的测量仪器和技术,如激光测量仪、光电测量等,对下料尺寸和公差进行精密测量和控制。
5.合理利用余料:在下料过程中,会产生一定数量的余料。
合理利用余料,是提高材料利用率的重要环节。
可以通过优化余料利用方案,如余料利用方案的设计和规划,余料的再加工和利用等,有效地提高材料利用率,减少浪费。
6.加强质量管理:在下料生产过程中,加强质量管理是保证下料效率和材料利用率的关键。
通过建立和完善质量管理体系,加强对下料工艺和质量要求的控制和监督,及时发现和解决问题,以确保下料的质量和效率。
综上所述,通过规范下料数量和尺寸、优化下料工艺、合理安排下料顺序、精确控制下料尺寸和公差、合理利用余料和加强质量管理等措施,可以有效地提高下料效率和材料利用率,降低生产成本,提高企业竞争力。
优化模型 下料问题

Reduced Cost 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
优化建模
优化建模
模型求解
1. 将(32),(34)~(36)构成的整数线性规划模型 (加上整数约束)输入LINDO如下: Title 钢管下料 - 最小化余量 Min 3x1 + x2 + 3x3 + 3x4 + x5 + x6 + 3x7 s.t. 4x1 + 3x2 + 2x3 + x4 + x5 >= 50 x2 + 2x4 + x5 + 3x6 >= 20 x3 + x5 + 2x7 >= 15 end gin 7
优化建模
表5-3 钢管下料的合理切割模式
4米钢管根数 6米钢管根数 8米钢管根数 余料(米) 4 0 0 3 3 1 0 1 2 0 1 3
模式1 模式2 模式3 模式4 模式5 模式6 模式7
1 1 0 0
2 1 3 0
0 1 0 2
3 1 1 3
优化建模
问题化为在满足客户需要的条件下,按照哪些种合 理的模式,切割多少根原料钢管,最为节省。而 所谓节省,可以有两种标准,一是切割后剩余的 总余料量最小,二是切割原料钢管的总根数最少。 下面将对这两个目标分别讨论。
优化建模
Variable Value X1 10.00000 X2 10.00000 X3 8.000000 R11 2.000000 R12 3.000000 R13 0.000000 R21 1.000000 R22 0.000000 R23 0.000000 R31 1.000000 R32 1.000000 R33 0.000000 R41 0.000000 R42 0.000000 R43 2.000000
优化模型 下料问题共42页

36、如果我们国家的法律中只有某种 神灵, 而不是 殚精竭 虑将神 灵揉进 宪法, 总体上 来说, 法律就 会更好 。—— 马克·吐 温 37、纲纪废弃之日,便是暴政兴起之 时。— —威·皮 物特
38、若是没有公众舆论的支持,法律 是丝毫 没有力 量的。 ——菲 力普斯 39、一个判例造出另一个判例,它们 迅速累 聚,进 而变成 法律。 ——朱 尼厄斯
40、人类法律,事物有规律,这是不 容忽视 的。— —爱献 生
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
下料问题(含代码程序)

实用下料问题优化模型摘要关键字:整数规划模型多目标决策优化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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优化建模
第三种切割模式下只生产8米钢管,一根原料钢管切割成2 根8米钢管,为满足15根8米钢管的需求,需要8根原料钢 管。于是满足要求的这种生产计划共需13+10+8=31根原 料钢管,这就得到了最优解的一个上界。所以可增加以 下约束:
26 x1 x2 x3 31
(46)
将(37)~(46)构成的模型输入LINGO如下:
优化建模
求解可以得到最优解如下: OBJECTIVE FUNCTION VALUE 1) 27.00000 VARIABLE VALUE REDUCED COST X1 0.000000 3.000000 X2 12.000000 1.000000 X3 0.000000 3.000000 X4 0.000000 3.000000 X5 15.000000 1.000000 X6 0.000000 1.000000 X7 0.000000 3.000000
优化建模
§5.3.1钢管下料问题
例5.3 某钢管零售商从钢管厂进货,将钢管按照顾客 的要求切割后售出。从钢管厂进货时得到的原料钢 管都是19米长。
1) 现有一客户需要50根4米长、20根6米长和15根8米 长的钢管。应如何下料最节省?
2) 零售商如果采用的不同切割模式太多,将会导致生 产过程的复杂化,从而增加生产和管理成本,所以 该零售商规定采用的不同切割模式不能超过3种。 此外,该客户除需要1)中的三种钢管外,还需要 10根5米长的钢管。应如何下料最节省?
ห้องสมุดไป่ตู้
x1 x2 x3
(45)
优化建模
又例如,我们注意到所需原料钢管的总根数有着明显的 上界和下界。首先,无论如何,原料钢管的总根数不 可能少于
4 50 5 10 6 20 8 15 26 19
(根)
其次,考虑一种非常特殊的生产计划:第一种切割模式下 只生产4米钢管,一根原料钢管切割成4根4米钢管,为满 足50根4米钢管的需求,需要13根原料钢管;第二种切割 模式下只生产5米、6米钢管,一根原料钢管切割成1根5 米钢管和2根6米钢管,为满足10根5米和20根6米钢管的 需求,需要10根原料钢管;
Min x1 x2 x3
(37)
优化建模
约束条件 为满足客户的需求,应有
r11 x1 r12 x2 r13 x3 50
r21 x1 r22 x2 r23 x3 10 r31 x1 r32 x2 r33 x3 20 r41 x1 r42 x2 r43 x3 15
优化建模
即按照模式2切割12根原料钢管,按照模式5切 割15根原料钢管,共27根,总余料量为27米。 显然,在总余料量最小的目标下,最优解将是 使用余料尽可能小的切割模式(模式2和5的余 料为1米),这会导致切割原料钢管的总根数较 多。
优化建模
2. 将(33)~(36)构成的整数线性规划模型 (加上整数约束)输入LINDO: Title 钢管下料 - 最小化钢管根数 Min x1 + x2 + x3 + x4 + x5 + x6 + x7 s.t. 4x1 + 3x2 + 2x3 + x4 + x5 >= 50 x2 + 2x4 + x5 + 3x6 >= 20 x3 + x5 + 2x7 >= 15 end gin 7
优化建模
模型求解
1. 将(32),(34)~(36)构成的整数线性规划模型 (加上整数约束)输入LINDO如下: Title 钢管下料 - 最小化余量 Min 3x1 + x2 + 3x3 + 3x4 + x5 + x6 + 3x7 s.t. 4x1 + 3x2 + 2x3 + x4 + x5 >= 50 x2 + 2x4 + x5 + 3x6 >= 20 x3 + x5 + 2x7 >= 15 end gin 7
优化建模
即按照模式2切割15根原料钢管,按模式5切割5根,按模 式7切割5根,共27根,可算出总余料量为35米。与上面 得到的结果相比,总余料量增加了8米,但是所用的原料 钢管的总根数减少了2根。在余料没有什么用途的情况下, 通常选择总根数最少为目标。
优化建模
问题2)的求解
问题分析 按照解问题1)的思路,可以通过枚举法首先确 定哪些切割模式是可行的。但由于需求的钢管规格增加到 4种,所以枚举法的工作量较大。下面介绍的整数非线性 规划模型,可以同时确定切割模式和切割计划,是带有普 遍性的方法。 同1)类似,一个合理的切割模式的余料不应该大于或等 于客户需要的钢管的最小尺寸(本题中为4米),切割计 划中只使用合理的切割模式,而由于本题中参数都是整数, 所以合理的切割模式的余量不能大于3米。此外,这里我 们仅选择总根数最少为目标进行求解。
优化建模
求解,可以得到最优解如下:
OBJECTIVE FUNCTION VALUE 1) 25.00000 VARIABLE VALUE REDUCED COST X1 0.000000 1.000000 X2 15.000000 1.000000 X3 0.000000 1.000000 X4 0.000000 1.000000 X5 5.000000 1.000000 X6 0.000000 1.000000 X7 5.000000 1.000000
优化建模
Variable Value X1 10.00000 X2 10.00000 X3 8.000000 R11 2.000000 R12 3.000000 R13 0.000000 R21 1.000000 R22 0.000000 R23 0.000000 R31 1.000000 R32 1.000000 R33 0.000000 R41 0.000000 R42 0.000000 R43 2.000000
优化建模
表5-3 钢管下料的合理切割模式
4米钢管根数 6米钢管根数 8米钢管根数 余料(米) 4 0 0 3 3 1 0 1 2 0 1 3
模式1 模式2 模式3 模式4 模式5 模式6 模式7
1 1 0 0
2 1 3 0
0 1 0 2
3 1 1 3
优化建模
问题化为在满足客户需要的条件下,按照哪些种合 理的模式,切割多少根原料钢管,最为节省。而 所谓节省,可以有两种标准,一是切割后剩余的 总余料量最小,二是切割原料钢管的总根数最少。 下面将对这两个目标分别讨论。
(42) (43) (44)
优化建模
模型求解 (37)~(44)构成这个问题的优化模型。由于在(38)~ (41)式中出现了决策变量的乘积,所以这是一个整数非 线性规划模型,虽然用LINGO软件可以直接求解,但我 们发现在较低版本的LINGO软件中需要运行很长时间也 难以得到最优解。为了减少运行时间,可以增加一些显然 的约束条件,从而缩小可行解的搜索范围。 例如,由于3种切割模式的排列顺序是无关紧要的,所以不 妨增加以下约束:
优化建模
经过LINGO求解,得到输出如下: Local optimal solution found. Objective value: 28.00000 Extended solver steps: 72 Total solver iterations: 3404 Model Title: 钢管下料-最小化钢管根数的LINGO模型
Reduced Cost 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
优化建模
优化建模
问题1)的求解
问题分析 首先,应当确定哪些切割模式是可行的。 所谓一个切割模式,是指按照客户需要在原料钢管上 安排切割的一种组合。例如,我们可以将19米长的钢 管切割成3根4米长的钢管,余料为7米显然,可行的 切割模式是很多的。 其次,应当确定哪些切割模式是合理的。通常假设一 个合理的切割模式的余料不应该大于或等于客户需 要的钢管的最小尺寸。在这种合理性假设下,切割 模式一共有7种,如表5-3所示。
优化建模
模型建立 决策变量 用xi 表示按照第i种模式(i=1, 2, …, 7) 切割的原料钢管的根数,显然它们应当是非负整数。 决策目标 以切割后剩余的总余料量最小为目标, 则由表1可得
Min Z1 3x1 x2 3x3 3x4 x5 x6 3x7
(32)
以切割原料钢管的总根数最少为目标,则有
优化建模
下料问题
优化建模
下料问题
生产中常会遇到通过切割、剪裁、冲压等手段, 将原材料加工成所需大小这种工艺过程,称为原 料下料(cutting stock)问题。按照进一步的工艺 要求,确定下料方案,使用料最省,或利润最大, 是典型的优化问题。本节通过两个实例讨论用数 学规划模型解决这类问题的方法。
(38) (39) (40) (41)
优化建模
每一种切割模式必须可行、合理,所以每根原料钢管的 成品量不能超过19米,也不能少于16米(余量不能大于3 米),于是
16 4r11 5r21 6r31 8r41 19 16 4r12 5r22 6r32 8r42 19 16 4r13 5r23 6r33 8r43 19
优化建模
模型建立 决策变量 由于不同切割模式不能超过3种,可以用xi 表 示按照第i种模式(i=1, 2, 3)切割的原料钢管的根数, 显然它们应当是非负整数。设所使用的第i种切割模式 下每根原料钢管生产4米长、5米长、6米长和8米长的 钢管数量分别为r1i, r2i, r3i, r4i(非负整数)。 决策目标 以切割原料钢管的总根数最少为目标,即目标为