- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附1:用LINGO求解整数规划的例子。
附1:用LINGO求解整数规划的例子。
某钢管零售商从钢管厂进货,将钢管按照顾客要求的长度进行切割,称为下料。假定进货时得到的原料钢管长度都是19m。
1)现有一客户需要50根长4m、20根长6m和15根长8m的钢管。应如何下料最节省?
2)零售商如果采用的不同切割模式太多,将会导致生产过程的复杂化,从而增加生产和管理成本。所以该零售商规定采用的不同切割模式不能超过3种。此外。该客户除需要1)中的3种钢管外,还要10根长5m的钢管。应如何下料最节省?
问题分析:对于下料问题首先要确定采用哪些切割模式。所谓切割模式,是指按照顾客要求的长度在原料钢管上安排切割的一种组合。例如,我们可以将19m的钢管切割成3根长4m的钢管,余料为7m;或者将长19m的钢管切割成长4m、6m和8m的钢管各1根,余料为1m。显然,可行的切割模式是很多的。
其次,应当明确哪些切割模式是合理的。合理的切割模式通常还假设余料不应大于或等于客户需要钢管的最小尺寸。例如,可以将长19m的钢管切割成3根4m的钢管是可行的,但余料为7m,可进一步将7m的余料切割成4m钢管(余料为3m),或者将7m的余料切割成6m钢管(余料为1m)。经过简单的计算可知,问题1)的合理切割模式一共有7种,如表1所示:
于是问题转化为在满足客户需要的条件下,按照哪几种合理的模式,每种模式切割多少根原料钢管最为节省。而所谓节省,可以有两种标准,一是切割后剩余的总余料量最小,二是切割原料钢管的总根数最少。下面将对这两个目标分别讨论。
问题1) 用xi表示按照表1第i种模式(i=1,2,…,7)切割的原料钢管的根数,若以切割后剩余的总余料量最小为目标,则按照表1最后一列可得
minZ1 = 3x1+x2+3x3+3x4+x5+x6+3x7
若以切割原料钢管的总根数最少为目标,则有
表1 钢管下料问题1)的合理切割模式
模式
4m钢管根数
6m钢管根数
8m钢管根数
余料/m
1
4
0
0
3
2
3
1
0
1
3
2
0
1
3
4
1
2
0
3
5
1
1
1
1
6
0
3
0
1
7
0
0
2
2
MinZ2 = x1+x2+x3+x4+x5+x6+x7
约束条件为客户的需求,按照表1应有
4x1+3x2+2x3+x4+x5 ≥ 50
x2+2x4+x5+3x6 ≥ 20
x3+x5+2x7 ≥ 15
最后,切割的原料钢管的根数xi显然应当是非负整数(用Z表示整数集合,Z+表示非负整数集合):
xi ∈ Z+ , i=1,2,…,7
于是,问题1)归结为在约束条件下,使目标达到最小。显然这是线性整数规划模型。
问题2) 如果按照问题1)的办法处理,首先要通过枚举法确定哪些切割模式是合理的,并从中选出不超过3种模式。而由于需求的钢管规格增加到4种,所以枚举法的工作量较大。下面介绍一种带有普遍性的方法,可以同时确定切割模式和切割数量。
同问题1)一样,只使用合理的切割模式,其余料不应大于3m(因为客户需要的钢管最小尺寸为4m,而本题中参数都是整数)。
由于不同切割模式不能超过3种,可以用用xi表示按照第i种模式(i=1,2,3)切割的原料钢管的根数。又设使用第i种切割模式下每根原料钢管生产长4m、5m、6m和8m的钢管数量分别为r1i,r2i,r3i,r4i。
仅以使用的原料总根数最少为目标,即
min x1+x2+x3
满足客户需求的约束条件为
r11x1+r12x2+r13x3 ≥ 50
r21x1+r22x2+r23x3 ≥ 10
r31x1+r32x2+r33x3 ≥ 20
r41x1+r42x2+r43x3 ≥ 15
每一种切割模式必须可行、合理,所以每根原料钢管的成品量不能超过19m,也不能少于16m(余料不能大于3m),于是
16≤4r11+5r21+6r31+8r41 ≤19
16≤4r12+5r22+6r32+8r42 ≤19
16≤4r13+5r23+6r33+8r43 ≤19
最后,加上非负整数约束:
xi,rji ∈ Z+ , i=1,2,3, j=1,2,3,4
于是,问题2)归结为在在约束条件下,求xi和r1i,r2i,r3i,r4i(i=1,2,3)使目标达到最小。当然,这是一个整数非线性规划模型。
用LINGO求解整数规划
LINGO软件用于线性或非线性规划(无论是连续规划还是整数规划),因此包含了LINDO的功能。在LINGO中,所有的函数均以“@”符号开始,如约束中@gin(x1)表示x1为整数,用bin(x1)表示x1为0-1整数。
钢管下料问题1)的求解
以切割后剩余的总余料量最小为目标,建立LINGO模型:
min= 3*x1+x2+3*x3+3*x4+x5+x6+3*x7;
4*x1+3*
原创力文档


文档评论(0)