- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用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)
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
问题2) 如果按照问题1)的办法处理,首先要通过枚举法确定哪些切割模式是合理的,并从中选出不超过3种模式。而由于需求的钢管规格增加到4种,所以枚举法的工作量较大。下面介绍一种带有普遍性的方法,可以同时确定切割模式和切割数量。
同问题1)一样,只使用合理的切割模式,其余料不应大于3m(因为客户需要的钢管最小尺寸为4m,而本题中参数都是整数)。
由于不同切割模式不能超过3种,可以用用xi表示按照第i种模式(i=1,2,3)
仅以使用的原料总根数最少为目标,即
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*x2+2*x3+x4+x5 =50;
x2+2*x4+x5+3*x6 = 20;
x3+x5+2*x7 = 15;
@gin(x1);
@gin(x2);
@gin(x3);
求解可以得到最优解如下:
OBJECTIVE FUNCTION VALUE
1) 27.00000
VARIABLE
您可能关注的文档
最近下载
- 领导班子成员谈心谈话方案.docx VIP
- 2024年人教版五年级上册道德与法治精编知识点.doc
- 养成教育主题班会.ppt
- 通化(2009)1008-VI 时速200公里客货共线铁路隧道内接触悬挂安装图(单线双箱运输,绝缘锚段关节).pdf
- 工商管理大学课程设计民营企业职工培训管理.doc VIP
- 一种电力营销用智慧稽查数字化平台及系统.pdf VIP
- 矿建工程安全监理实施细则.doc
- 会计涉税分录.pdf VIP
- 贵州省黔东南苗族侗族自治州2023-2024学年九年级上学期期末历史试题(含解析).pdf VIP
- 九年级音乐上册第3单元演唱歌唱美丽的家乡全国公开课一等奖百校联赛微课赛课特等奖课件.ppt VIP
文档评论(0)