套材下料决策变量matlab,线材下料问题——目标函数的一个注记

一、问题的提出“线材下料问题”是运筹学在实际应用中比较经典的问题,特别在建筑生产活动中,涉及大量的线材下料问题。因此,确定既节省原材料,又可行的线材下料的方法,在实际应用中有着重要的意义。该问题的一般提法:要做n套产品,需要用规格不同的m种线材,各种规格的长度分别为:l1,l2…lm,每一套产品需用不同规格的原料分别为:m1,m2…mm根,己知原材料的长度为l,问应如何下料,使所用的原材料最省?二、举例说明对于如上提出的线材下料问题,可以建立线性规划模型来求解,现以具体的例子来说明在用线性规划模型求解时,模型的建立对约束条件和目标函数的不同处理,下面的例1选自文献[1],鉴于本例本身具有整数解,建模时在此不考虑决策变量的整数要求。例1:某钢管零售商的原料钢管长均为19米,现有一客户需要50根4米、20根6米和15根8米的钢管,应如何下料最节省?分析:解决此问题分两步考虑:(1)确定可行的切割模式:即按照客户需要在原料钢管上安排切割的一种组合;(2)确定合理的切割模式:合理的切割模式的余料不应该大于或等于客户需要的钢管的最小尺寸。本例所有合理的切割模式共有7种,见表1。在建立线性规划模型时,对于约束条件这里为切割要满足客户对钢管数的最低要求,本例将由客户对三种规格的钢管要求分别是50根、20根和15根来建立约束条件,在以下的各模型中将看到它们是一样的。而对于目标函数而言,文献[1]中分别考虑两种情况,(一)求原料钢管总根数最少,(二)求总余料最小。实际建模时应选择那一个作为目标函数,可以使问题的解达到最佳的效果呢?在此给出它们明确的使用条件,并对文献[1]中选择(二)求总余料最小作为目标函数的处理不妥之处,做进一步的分析。解:设决策变量xi(i=1,2,…7)表示第i种模式切割的原料钢管的根数:(一)求原料钢管总根数最少对于这种情况,结论比较清楚,即追求的目标是使所用原材料钢管总数最少,设z为原材料总根数,线性规划模型为:这里只分析模型的表达式,略去求解过程。(二)求总余料最小?对总余料最小实质上应该按切割中不配套的钢管的不同处理分两种可能情况来考虑:(1)不配套的钢管还可以使用;(2)不配套的钢管不再使用。(1)不配套的钢管还可以使用:指实际中的下料行为是多次性的,假设不配套的钢管下一次还可以使用,所以我们只考虑按不同切割模式剩余的总余料最少来建立模型,此时模型应按文献[1]的方式建立数学模型,其中z1为总余料数:但用此方法,若碰到某种或几种模式的余料为零时,即对应的目标函数中决策变量对应的系数有为零的,则按这些模式下料,无论原料钢管下多少根,都会得到余料为零,若这些模式下料的结果不能配套的话,显然会造成原材料更多的浪费,如下例2。例2:某工厂要做100套钢架,每套钢架需要长度分别为2.9米,2.1米和1.5米的圆钢各一根。已知原料每根长7.4米,问应如何下料,可使所用原料最省?(见文献[2])用lingo软件求该模型的解为,x1=100,x3=50,xi=0(i=2,4,5),目标函数10(余料总数为10米),但使用的原料为150根,而模型若为表2用lingo软件求该模型的解为,x1=30,x2=10,x4=50,xi=0(i=3,5),目标函数为90根,总余料16米,在不能保证未来多余规格圆钢是否有用时,这就可能造成原材料更大的浪费。此时问题要转化为(一)来求解,即求原料钢管总根数最少。(2)不配套的钢管不可以再使用:指实际中的下料行为是一次性的,假设不配套的钢管不再使用,此时不配套的钢管也要作为浪费的余料来处理,按(1)的方法来处理是欠妥的

你可能感兴趣的:(套材下料决策变量matlab)