优化模型 下料问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优化建模
模型建立 决策变量 用xi 表示按照第i种模式(i=1, 2, …, 7) 切割的原料钢管的根数,显然它们应当是非负整数。 决策目标 以切割后剩余的总余料量最小为目标, 则由表1可得
Min Z1 3x1 x2 3x3 3x4 x5 x6 3x7
(32)
以切割原料钢管的总根数最少为目标,则有
优化建模
将(37)~(46)构成的模型输入LINGO如下:
model: Title 钢管下料 - 最小化钢管根数的LINGO模型; min=x1+x2+x3; x1+x2+x3 >= 26; x1*r11+x2*r12+x3*r13 >=50; x1+x2+x3 <= 31; x1*r21+x2*r22+x3*r23 >=10; x1>=x2; x1*r31+x2*r32+x3*r33 >=20; x2>=x3; x1*r41+x2*r42+x3*r43 >=15; @gin(x1); @gin(x2); @gin(x3); 4*r11+5*r21+6*r31+8*r41 <=19; @gin(r11);@gin(r12);@gin(r13); 4*r12+5*r22+6*r32+8*r42 <=19; @gin(r21);@gin(r22);@gin(r23); 4*r13+5*r23+6*r33+8*r43 <=19; @gin(r31);@gin(r32);@gin(r33); 4*r11+5*r21+6*r31+8*r41 >=16; @gin(r41);@gin(r42);@gin(r43); 4*r12+5*r22+6*r32+8*r42 >=16; end 4*r13+5*r23+6*r33+8*r43 >=16;
优化建模
模型建立 决策变量 由于不同切割模式不能超过3种,可以用xi 表 示按照第i种模式(i=1, 2, 3)切割的原料钢管的根数, 显然它们应当是非负整数。设所使用的第i种切割模式 下每根原料钢管生产4米长、5米长、6米长和8米长的 钢管数量分别为r1i, r2i, r3i, r4i(非负整数)。 决策目标 以切割原料钢管的总根数最少为目标,即目标为
优化建模
模型求解
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.1钢管下料问题
例5.3 某钢管零售商从钢管厂进货,将钢管按照顾客 的要求切割后售出。从钢管厂进货时得到的原料钢 管都是19米长。
1) 现有一客户需要50根4米长、20根6米长和15根8米 长的钢管。应如何下料最节省?
2) 零售商如果采用的不同切割模式太多,将会导致生 产过程的复杂化,从而增加生产和管理成本,所以 该零售商规定采用的不同切割模式不能超过3种。 此外,该客户除需要1)中的三种钢管外,还需要 10根5米长的钢管。应如何下料最节省?
即按照模式1、2、3分别切割10、10、8根原料钢管,使用 原料钢管总根数为28根。第一种切割模式下一根原料钢管 切割成3根4米钢管和1根6米钢管;第二种切割模式下一根 原料钢管切割成2根4米钢管、1根5米钢管和1根6米钢管; 第三种切割模式下一根原料钢管切割成2根8米钢管。 如果充分利用LINGO建模语言的能力,使用集合和属性 的概念,可以编写以下LINGO程序,这种方法更具有一 般的通用性,并有利于输入更大规模的下料问题的优化模 型:
(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
优化建模
问题1)的求解
问题分析 首先,应当确定哪些切割模式是可行的。 所谓一个切割模式,是指按照客户需要在原料钢管上 安排切割的一种组合。例如,我们可以将19米长的钢 管切割成3根4米长的钢管,余料为7米显然,可行的 切割模式是很多的。 其次,应当确定哪些切割模式是合理的。通常假设一 个合理的切割模式的余料不应该大于或等于客户需 要的钢管的最小尺寸。在这种合理性假设下,切割 模式一共有7种,如表5-3所示。
优化建模
即按照模式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
优化建模
求解可以得到最优解如下: 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 钢管下料的合理切割模式
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
优化建模
问题化为在满足客户需要的条件下,按照哪些种合 理的模式,切割多少根原料钢管,最为节省。而 所谓节省,可以有两种标准,一是切割后剩余的 总余料量最小,二是切割原料钢管的总根数最少。 下面将对这两个目标分别讨论。
优化建模
第三种切割模式下只生产8米钢管,一根原料钢管切割成2 根8米钢管,为满足15根8米钢管的需求,需要8根原料钢 管。于是满足要求的这种生产计划共需13+10+8=31根原 料钢管,这就得到了最优解的一个上界。所以可增加以 下约束:
26 x1 x2 x3 31
(46)
将(37)~(46)构成的模型输入LINGO如下:
Min Z 2 x1 x2 x3 x4 x5 x6 x7
(33)
下面分别在这两种目标下求解。
优化建模
百度文库
约束条件 为满足客户的需求,按照表1应有
4 x1 3x2 2 x3 x4 x5 50 x2 2 x4 x5 3x6 20 x3 x5 2 x7 15
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根原料钢管;
优化建模
下料问题
优化建模
下料问题
生产中常会遇到通过切割、剪裁、冲压等手段, 将原材料加工成所需大小这种工艺过程,称为原 料下料(cutting stock)问题。按照进一步的工艺 要求,确定下料方案,使用料最省,或利润最大, 是典型的优化问题。本节通过两个实例讨论用数 学规划模型解决这类问题的方法。
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
优化建模
求解,可以得到最优解如下:
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
优化建模
经过LINGO求解,得到输出如下: Local optimal solution found. Objective value: 28.00000 Extended solver steps: 72 Total solver iterations: 3404 Model Title: 钢管下料-最小化钢管根数的LINGO模型
(42) (43) (44)
优化建模
模型求解 (37)~(44)构成这个问题的优化模型。由于在(38)~ (41)式中出现了决策变量的乘积,所以这是一个整数非 线性规划模型,虽然用LINGO软件可以直接求解,但我 们发现在较低版本的LINGO软件中需要运行很长时间也 难以得到最优解。为了减少运行时间,可以增加一些显然 的约束条件,从而缩小可行解的搜索范围。 例如,由于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
优化建模
即按照模式2切割15根原料钢管,按模式5切割5根,按模 式7切割5根,共27根,可算出总余料量为35米。与上面 得到的结果相比,总余料量增加了8米,但是所用的原料 钢管的总根数减少了2根。在余料没有什么用途的情况下, 通常选择总根数最少为目标。
优化建模
问题2)的求解
问题分析 按照解问题1)的思路,可以通过枚举法首先确 定哪些切割模式是可行的。但由于需求的钢管规格增加到 4种,所以枚举法的工作量较大。下面介绍的整数非线性 规划模型,可以同时确定切割模式和切割计划,是带有普 遍性的方法。 同1)类似,一个合理的切割模式的余料不应该大于或等 于客户需要的钢管的最小尺寸(本题中为4米),切割计 划中只使用合理的切割模式,而由于本题中参数都是整数, 所以合理的切割模式的余量不能大于3米。此外,这里我 们仅选择总根数最少为目标进行求解。
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
优化建模