3.优化模型实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26 ≤ x1 + x 2 + x3 ≤ 31
(46)
将(37)~(46)构成的模型输入LINGO如下:
优化建模
将(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;
优化建模
问题1)的求解 问题1 首先,应当确定哪些切割模式是可行的。 问题分析 首先,应当确定哪些切割模式是可行的。 所谓一个切割模式, 所谓一个切割模式,是指按照客户需要在原料钢管上 安排切割的一种组合。例如,我们可以将19 19米长的钢 安排切割的一种组合。例如,我们可以将19米长的钢 管切割成3 米长的钢管,余料为7米显然, 管切割成3根4米长的钢管,余料为7米显然,可行的 切割模式是很多的。 切割模式是很多的。 其次,应当确定哪些切割模式是合理的。 其次,应当确定哪些切割模式是合理的。通常假设一 个合理的切割模式的余料不应该大于或等于客户需 要的钢管的最小尺寸。在这种合理性假设下, 要的钢管的最小尺寸。在这种合理性假设下,切割 模式一共有7 如表1所示。 模式一共有7种,如表1所示。
x3 + x5 + 2 x7 ≥ 15
xi 为整数 按模式1切割 根 按模式 切割5根, 切割 按模式2切割 切割5根 按模式 切割 根, 按模式5切割 切割15根 按模式 切割 根, 共25根,余料 米 根 余料35米
最优解: 最优解:x2=15, x5=5, x7=5, 其余为0; 其余为 ; 最优值: 。 最优值:25。
优化建模
表1 钢管下料的合理切割模式
4米钢管根数 6米钢管根数 8米钢管根数 余料(米) 米钢管根数 米钢管根数 米钢管根数 余料( 4 0 0 3 3 1 0 1 2 0 1 3 1 2 0 3 1 1 1 1 0 3 0 1 0 0 2 3
模式1 模式 模式2 模式 模式3 模式 模式4 模式 模式5 模式 模式6 模式 模式7 模式
x1 ≥ x 2 ≥ x3
(45) )
优化建模
又例如, 又例如,我们注意到所需原料钢管的总根数有着明显的 上界和下界。首先,无论如何, 上界和下界。首先,无论如何,原料钢管的总根数不 可能少于
4 × 50 + 5 × 10 + 6 × 20 + 8 × 15 = 26 19
(根)
其次,考虑一种非常特殊的生产计划: 其次,考虑一种非常特殊的生产计划:第一种切割模式下 非常特殊的生产计划 只生产4米钢管 一根原料钢管切割成4根 米钢管 米钢管, 米钢管, 只生产 米钢管,一根原料钢管切割成 根4米钢管,为满 米钢管的需求, 根原料钢管; 足50根4米钢管的需求,需要 根原料钢管;第二种切割 根 米钢管的需求 需要13根原料钢管 模式下只生产5米 米钢管, 模式下只生产 米、6米钢管,一根原料钢管切割成 根5 米钢管 一根原料钢管切割成1根 米钢管和2根 米钢管 为满足10根 米和 米钢管, 米和20根 米钢管的 米钢管和 根6米钢管,为满足 根5米和 根6米钢管的 需求,需要10根原料钢管 根原料钢管; 需求,需要 根原料钢管;
Min x1 + x 2 + x3
(37) )
优化建模
为满足客户的需求, 约束条件 为满足客户的需求,应有
r11 x1 + r12 x 2 + r13 x3 ≥ 50
r21 x1 + r22 x 2 + r23 x3 ≥ 10 r31 x1 + r32 x 2 + r33 x3 ≥ 20 r41 x1 + r42 x 2 + r43 x3 ≥ 15
优化建模
问题化为在满足客户需要的条件下, 问题化为在满足客户需要的条件下,按照哪些种合 理的模式,切割多少根原料钢管,最为节省。 理的模式,切割多少根原料钢管,最为节省。而 所谓节省,可以有两种标准, 所谓节省,可以有两种标准,一是切割后剩余的 总余料量最小,二是切割原料钢管的总根数最少。 总余料量最小,二是切割原料钢管的总根数最少。 下面将对这两个目标分别讨论。 下面将对这两个目标分别讨论。
(38) (39) (40) (41)
优化建模
每一种切割模式必须可行、合理, 每一种切割模式必须可行、合理,所以每根原料钢管的 成品量不能超过19米 也不能少于16米 余量不能大于3 成品量不能超过 米,也不能少于 米(余量不能大于 ),于是 增加以下约束 米),于是 增加以下约束
16 ≤ 4r11 + 5r21 + 6r31 + 8r41 ≤ 19
优化建模
模型建立 表示按照第i种模式 种模式( 决策变量 用xi 表示按照第 种模式(i=1, 2, …, 7) ) 切割的原料钢管的根数,显然它们应当是非负整数。 切割的原料钢管的根数,显然它们应当是非负整数。 以切割后剩余的总余料量最小为目标, 决策目标 以切割后剩余的总余料量最小为目标, 则由表1可得 则由表 可得
(42) (43) (44)
16 ≤ 4r12 + 5r22 + 6r32 + 8r42 ≤ 19
16 ≤ 4r13 + 5r23 + 6r33 + 8r43 ≤ 19
优化建模
模型求解 (37)~(44)构成这个问题的优化模型。由于在(38)~ ) ( )构成这个问题的优化模型。由于在( ) (41)式中出现了决策变量的乘积,所以这是一个整数非 )式中出现了决策变量的乘积, 线性规划模型,虽然用LINGO软件可以直接求解,但我 软件可以直接求解, 线性规划模型,虽然用 软件可以直接求解 们发现在较低版本的LINGO软件中需要运行很长时间也 们发现在较低版本的 软件中需要运行很长时间也 难以得到最优解。为了减少运行时间, 难以得到最优解。为了减少运行时间,可以增加一些显然 的约束条件,从而缩小可行解的搜索范围。 的约束条件,从而缩小可行解的搜索范围。 例如,由于 种切割模式的排列顺序是无关紧要的 种切割模式的排列顺序是无关紧要的, 例如,由于3种切割模式的排列顺序是无关紧要的,所以不 妨增加以下约束: 增加以下约束: 以下约束
优化建模
模型建立 由于不同切割模式不能超过3种 可以用x 决策变量 由于不同切割模式不能超过 种,可以用 i 表 示按照第i种模式 种模式( 示按照第 种模式(i=1, 2, 3)切割的原料钢管的根数, )切割的原料钢管的根数, 显然它们应当是非负整数。 所使用的第i种切割模式 显然它们应当是非负整数。设所使用的第 种切割模式 下每根原料钢管生产4米长 米长、 米长 米长、 米长和 米长和8米长的 下每根原料钢管生产 米长、5米长、6米长和 米长的 钢管数量分别为r 非负整数)。 钢管数量分别为 1i, r2i, r3i, r4i(非负整数)。 以切割原料钢管的总根数最少为目标, 决策目标 以切割原料钢管的总根数最少为目标,即目标为
Min Z1 = 3x1 + x2 + 3x3 + 3x 4 + x5 + x6 + 3x7
Βιβλιοθήκη Baidu
(32)
以切割原料钢管的总根数最少为目标, 以切割原料钢管的总根数最少为目标,则有
Min Z 2 = x1 + x 2 + x3 + x 4 + x5 + x6 + x7
(33)
下面分别在这两种目标下求解。 下面分别在这两种目标下求解。
优化建模
第三种切割模式下只生产8米钢管,一根原料钢管切割成 第三种切割模式下只生产 米钢管,一根原料钢管切割成2 米钢管 米钢管, 米钢管的需求, 根8米钢管,为满足 根8米钢管的需求,需要 根原料钢 米钢管 为满足15根 米钢管的需求 需要8根原料钢 于是满足要求的这种生产计划共需13+10+8=31根原 管。于是满足要求的这种生产计划共需 根原 料钢管,这就得到了最优解的一个上界。 料钢管,这就得到了最优解的一个上界。所以可增加以 下约束: 下约束:
的结果“ 与目标1的结果“共切割 目标 的结果 27根,余料 米” 相比 根 余料27米 虽余料增加8米 但减少了 根 虽余料增加 米,但减少了2根
当余料没有用处时,通常以总根数最少为目标 当余料没有用处时,
优化建模
问题2) 问题 )的求解 按照解问题1)的思路, 问题分析 按照解问题 )的思路,可以通过枚举法首先确 定哪些切割模式是可行的。 定哪些切割模式是可行的。但由于需求的钢管规格增加到 4种,所以枚举法的工作量较大。下面介绍的整数非线性 种 所以枚举法的工作量较大。 规划模型,可以同时确定切割模式和切割计划 同时确定切割模式和切割计划, 规划模型,可以同时确定切割模式和切割计划,是带有普 遍性的方法。 遍性的方法。 同1)类似,一个合理的切割模式的余料不应该大于或等 )类似, 于客户需要的钢管的最小尺寸(本题中为4米),切割计 于客户需要的钢管的最小尺寸(本题中为 米),切割计 划中只使用合理的切割模式,而由于本题中参数都是整数, 划中只使用合理的切割模式,而由于本题中参数都是整数, 所以合理的切割模式的余量不能大于3米 此外, 所以合理的切割模式的余量不能大于 米。此外,这里我 们仅选择总根数最少为目标进行求解。 们仅选择总根数最少为目标进行求解。
优化建模
3.优化模型实例 3.优化模型实例
优化建模
例1 钢管下料问题
某钢管零售商从钢管厂进货, 某钢管零售商从钢管厂进货,将钢管按照顾客的要求 切割后售出。 切割后售出。从钢管厂进货时得到的原料钢管都是 19米长。 米长。 米长 1) 现有一客户需要 根4米长、20根6米长和 根8米 现有一客户需要50根 米长 米长、 根 米长和 米长和15根 米 长的钢管。应如何下料最节省? 长的钢管。应如何下料最节省? 2) 零售商如果采用的不同切割模式太多,将会导致生 零售商如果采用的不同切割模式太多, 产过程的复杂化,从而增加生产和管理成本, 产过程的复杂化,从而增加生产和管理成本,所以 该零售商规定采用的不同切割模式不能超过3种 该零售商规定采用的不同切割模式不能超过 种。 此外,该客户除需要1)中的三种钢管外, 此外,该客户除需要 )中的三种钢管外,还需要 10根5米长的钢管。应如何下料最节省? 米长的钢管。 根 米长的钢管 应如何下料最节省?
模 式 1 2 3 4 5 6 7 需 求 4米 米 根数 4 3 2 1 1 0 0 50 6米 米 根数 0 1 0 2 1 3 0 20 8米 米 根数 0 0 1 0 1 0 2 15 余 料 3 1 3 3 1 1 3
优化建模
约束 满足需求 4 x1 + 3x2 + 2 x3 + x4 + x5 ≥ 50 x2 + 2 x4 + x5 + 3 x6 ≥ 20 x3 + x5 + 2 x7 ≥ 15 整数约束: 整数约束: xi 为整数 最优解: 最优解:x2=12, x5=15, 其余为0; 其余为 ; 最优值: 最优值:27
按模式2切割 根 按模式5切割 切割15根 余料27米 按模式 切割12根,按模式 切割 根,余料 米 切割
优化建模
钢管下料问题1 钢管下料问题1
目标2(总根数) 目标 (总根数) Min Z2 = x1 + x2 + x3 + x4 + x5 + x6 + x7 约束条 4x1 + 3x2 + 2x3 + x4 + x5 ≥ 50 件不变 x2 + 2 x4 + x5 + 3x6 ≥ 20
优化建模
为满足客户的需求,按照表1应有 约束条件 为满足客户的需求,按照表 应有
4 x1 + 3x 2 + 2 x3 + x 4 + x5 ≥ 50 x2 + 2 x 4 + x5 + 3x6 ≥ 20 x3 + x5 + 2 x7 ≥ 15
程序见cut1.lg4和cut2.lg4 和 程序见
决策变量 xi ~按第 种模式切割的原料钢管根数(i=1,2,…7) 按第i 按第 种模式切割的原料钢管根数( = ) 目标1(总余量) 目标 (总余量) Min Z1 = 3x1 + x2 + 3x3 + 3x4 + x5 + x6 + 3x7