《数学模型与数学实验》课程书籍文献(数学建模算法大全)第27章 生产与服务运作管理中的优化问题

第二十七章生产与服务运作管理中的优化问题 本章主要介绍生产和服务运作管理方面的一些优化问题。实际上,生产和服务运作 管理的内容也是非常丰富的,几乎包含了企业管理的所有方面,本章中只是介绍几个实 例而已。 §1有瓶颈设备的多级生产计划问题 在制造企业的中期或短期生产计划管理中,常常要考虑如下的生产计划优化问题 在给定的外部需求和生产能力等限制条件下,按照一定的生产目标(通常是生产总费用 最小)编制未来若干个生产周期的最优生产计划,这种问题在文献上一般称为批量问题 (lotsizing problems)。所谓某一产品的生产批量(lotsize),就是每通过一次生产准备生 产该产品时的生产数量,它同时决定了库存水平。由于实际生产环境的复杂性,如需求 的动态性 费用的非线 生产工艺过程利 络结构的复 生 产能力的限 制,以及车间层生产排序的复杂性等,批量问题是 一个非常复杂 非常困难的问题 ○我们通过下面的具体实例来说明这种多级生产计划问趣的优化模型。这里“多级” 的意思是需要考虑产品是通过多个生产阶段(工艺过程)生产出来的。 例1某工厂的主要任务是通过组装生产产品A,用于满足外部市场需求。产品A 的构成与组装过程见图1,即D,E,F,G是从外部采购的零件,先将零件D,E组装成 部件B,零件F,G组装成部件C,然后将部件B,C组装成产品A出售。图中弧上的 数字表示的是组装时部件(或产品)中包含的零件(或部件)的数量(可以称为消耗系 数),例如DB弧上数字“9”表示组装1个部件B需要用到9个零件D:BA弧上的 数字“5”表示组装1件产品A需要用到5个部件B:依此类推。 一瓶颈设备加工 15 @ 图1产品构成与组装过程图 假设该工厂每次生产计划的计划期为6周(即每次制定未来6周的生产计划),只 有最终产品A有外部需求,目前收到的订单的需求件数按周的分布如表1第2行所示。 部件B,C是在该工厂最关键的设备(可以称为瓶颈设备)上组装出来的,瓶颈设备的 386
-386- 第二十七章 生产与服务运作管理中的优化问题 本章主要介绍生产和服务运作管理方面的一些优化问题。实际上,生产和服务运作 管理的内容也是非常丰富的,几乎包含了企业管理的所有方面,本章中只是介绍几个实 例而已。 §1 有瓶颈设备的多级生产计划问题 1.1 问题实例 在制造企业的中期或短期生产计划管理中,常常要考虑如下的生产计划优化问题: 在给定的外部需求和生产能力等限制条件下,按照一定的生产目标(通常是生产总费用 最小)编制未来若干个生产周期的最优生产计划,这种问题在文献上一般称为批量问题 (lotsizing problems)。所谓某一产品的生产批量(lotsize),就是每通过一次生产准备生 产该产品时的生产数量,它同时决定了库存水平。由于实际生产环境的复杂性,如需求 的动态性,生产费用的非线性,生产工艺过程和产品网络结构的复杂性,生产能力的限 制,以及车间层生产排序的复杂性等,批量问题是一个非常复杂、非常困难的问题。 我们通过下面的具体实例来说明这种多级生产计划问题的优化模型。这里“多级” 的意思是需要考虑产品是通过多个生产阶段(工艺过程)生产出来的。 例 1 某工厂的主要任务是通过组装生产产品 A ,用于满足外部市场需求。产品 A 的构成与组装过程见图 1,即 D, E, F,G 是从外部采购的零件,先将零件 D, E 组装成 部件 B ,零件 F,G 组装成部件C ,然后将部件 B,C 组装成产品 A 出售。图中弧上的 数字表示的是组装时部件(或产品)中包含的零件(或部件)的数量(可以称为消耗系 数),例如 DB弧上数字“9”表示组装 1 个部件 B 需要用到 9 个零件 D ; BA 弧上的 数字“5”表示组装 1 件产品 A 需要用到 5 个部件 B ;依此类推。 图 1 产品构成与组装过程图 假设该工厂每次生产计划的计划期为 6 周(即每次制定未来 6 周的生产计划),只 有最终产品 A 有外部需求,目前收到的订单的需求件数按周的分布如表 1 第 2 行所示。 部件 B,C 是在该工厂最关键的设备(可以称为瓶颈设备)上组装出来的,瓶颈设备的

生产能力非常紧张,具体可供能力如表1第3行所示(第2周设备检修,不能使用)。B,C 的能力消耗系数分别为5和8,即生产1件B需要占用5个单位的能力,生产1件C需 要占用8个单位的能力 表1生产计划的原始数据 用次 3 6 A的外部需求 40 0 100 10 瓶颈能力 1000 5000 5000 1000 零件编号 A B D E F G 生产准%费用400 00 1000 300 200 400100 单件库存费用 12 0.6 1.0 0.04 0.03 0.04 0.04 对于每种零部件或产品,如果工厂在某一周订购或者生产该零部件或产品,工厂 需要一个与订购或生产数量无关的固定成本(称为生产准备费用):如果某一周结束时 该零部件或产品有库存存在,则工厂必须付出一定的库存费用(与库存数量成正比)。 这些数据在表1第5、6行给出。 按照工厂的信誉要求,目前接收的所有订单到期必须全部交货, 不能有缺货:此 外,不妨简单地假设目前该企业没有任何零部件或产品库存,也不希望第6周结束后留 下任何零部件或产品库存。最后,假设不考虑生产提前期,即假设当周采购的零件马上 就可用于组装,组装出来的部件也可以马上用于当周组装成品A。 在上述假设和所给数据下,如何制定未来6周的生产计划。 12建立模型 (1)问题分析 这个实例考虑的是在有限的计划期内,给定产品结构、生产能力和相关费用及零 部件或成品(以下统称为生产项目)在离散的时间段上(这里是周,也可以是天、月等) 的外部需求之后,确定每一生产项目在每一时间段上的生产量(即批量),使总费用最 小。由于每一生产项目在每一时间段上生产时必须经过生产准备(stup),所以通常 讨论中总费用至少应考虑生产准 费用和库存费用。其实,细心的读者 定会问: 是香 需要考虑生产的直接成本(如原材料成本、人力成本、电力成本等)?这是因为本例 假设了不能有缺货发生,且计划初期和末期的库存都是0,因此在这个6周的计划期内 A的总产量一定正好等于A的总需求,所以可以认为相应的直接生产成本是一个常数, 因此就不予考虑了。贝要理解了我们下面魂立代化模型的过程和思想,对于放松这些假 定条件以后的情形, 也是很容易类似地建立优化模型的 (2)符号说明 为了建立这类问题的一般模型,我们定义如下数学符号: N:生产项目总数(本例中N=7): T:计划期长度(本例中T=6): K:瓶颈资源种类数(本例中K=1)为 -387
-387- 生产能力非常紧张,具体可供能力如表 1 第 3 行所示(第 2 周设备检修,不能使用)。B,C 的能力消耗系数分别为 5 和 8,即生产 1 件 B 需要占用 5 个单位的能力,生产 1 件C 需 要占用 8 个单位的能力。 表 1 生产计划的原始数据 周次 1 2 3 4 5 6 A 的外部需求 40 0 100 0 90 10 瓶颈能力 10000 0 5000 5000 1000 1000 零件编号 A B C D E F G 生产准备费用 400 500 1000 300 200 400 100 单件库存费用 12 0.6 1.0 0.04 0.03 0.04 0.04 对于每种零部件或产品,如果工厂在某一周订购或者生产该零部件或产品,工厂 需要一个与订购或生产数量无关的固定成本(称为生产准备费用);如果某一周结束时 该零部件或产品有库存存在,则工厂必须付出一定的库存费用(与库存数量成正比)。 这些数据在表 1 第 5 、6 行给出。 按照工厂的信誉要求,目前接收的所有订单到期必须全部交货,不能有缺货;此 外,不妨简单地假设目前该企业没有任何零部件或产品库存,也不希望第 6 周结束后留 下任何零部件或产品库存。最后,假设不考虑生产提前期,即假设当周采购的零件马上 就可用于组装,组装出来的部件也可以马上用于当周组装成品 A 。 在上述假设和所给数据下,如何制定未来 6 周的生产计划。 1.2 建立模型 (1)问题分析 这个实例考虑的是在有限的计划期内,给定产品结构、生产能力和相关费用及零 部件或成品(以下统称为生产项目)在离散的时间段上(这里是周,也可以是天、月等) 的外部需求之后,确定每一生产项目在每一时间段上的生产量(即批量),使总费用最 小。由于每一生产项目在每一时间段上生产时必须经过生产准备(setup),所以通常的 讨论中总费用至少应考虑生产准备费用和库存费用。其实,细心的读者一定会问:是否 需要考虑生产的直接成本(如原材料成本、人力成本、电力成本等)?这是因为本例中 假设了不能有缺货发生,且计划初期和末期的库存都是 0,因此在这个 6 周的计划期内 A 的总产量一定正好等于 A 的总需求,所以可以认为相应的直接生产成本是一个常数, 因此就不予考虑了。只要理解了我们下面建立优化模型的过程和思想,对于放松这些假 定条件以后的情形,也是很容易类似地建立优化模型的。 (2)符号说明 为了建立这类问题的一般模型,我们定义如下数学符号: N :生产项目总数(本例中 N = 7); T :计划期长度(本例中T = 6 ); K :瓶颈资源种类数(本例中 K =1);

M:一个充分大的正数,在模型中起到使模型线性化的作用: d:项目1在1时段的外部需求(本例中只有产品A有外部需求): X:项目1在1时段的生产批量: 1,:项目1在1时段的库存量: y:项目i在1时段是否生产的标志(0:不生产,1:生产): S():产品结构中项目i的直接后继项目集合 :产品结构中项目了对项目i的消耗系数: S:项目1在1时段生产时的生产准备费用: h,:项目1在1时段的单件库存费用: C:资源k在1时段的能力上限; a:项目i在1时段生产时,生产单个项目占用资源k的能力: 在上述数学符号中,只有X,I,Y为决策变量,其余均为已知的计划参数。 其实,真正的生产计划只是要求确定X就可以了,因为知道X,以后1,Y,也就 自然确定了。另外,在我们的具体例子中参数s,h,au其实只与项目i有关,而 不随时段1变化,我们这里加上下标1只是为了使模型能够更一般化。 (3)目标函数 这个问题的目标是使生产准备费用和库存费用的总和最小。因此,目标函数应该 是每个项目在每个阶段上的生产准备费用和库存费用的总和,即 22,+A,n (1) (4)约束条件 这个问题中的约束有如下儿类:每个项目的物流应该守恒、资源能力限制应该满 足、每时段生产某项目前必须经过生产准备和非负约束(对y,是0-1约束)。 所谓物流守恒,是指对每个时段、每个项目(图中一个节点)而言,该项目在上
-388- M :一个充分大的正数,在模型中起到使模型线性化的作用; di,t :项目i 在t 时段的外部需求(本例中只有产品 A 有外部需求); Xi,t :项目i 在t 时段的生产批量; i t I , :项目i 在t 时段的库存量; Yi,t :项目i 在t 时段是否生产的标志(0:不生产,1:生产); S(i) :产品结构中项目i 的直接后继项目集合; i j r, :产品结构中项目 j 对项目i 的消耗系数; i t s , :项目i 在t 时段生产时的生产准备费用; hi,t :项目i 在t 时段的单件库存费用; Ck ,t :资源 k 在t 时段的能力上限; ak ,i,t :项目i 在t 时段生产时,生产单个项目占用资源 k 的能力; 在上述数学符号中,只有 Xi,t , i t I , ,Yi,t 为决策变量,其余均为已知的计划参数。 其实,真正的生产计划只是要求确定 Xi,t 就可以了,因为知道 Xi,t 以后 i t I , ,Yi,t 也就 自然确定了。另外,在我们的具体例子中参数 i t s , ,hi,t ,ak ,i,t 其实只与项目i 有关,而 不随时段t 变化,我们这里加上下标t 只是为了使模型能够更一般化。 (3)目标函数 这个问题的目标是使生产准备费用和库存费用的总和最小。因此,目标函数应该 是每个项目在每个阶段上的生产准备费用和库存费用的总和,即 ∑∑= = + N i T t i t i t i t i t s Y h I 1 1 , , , , ( ) (1) (4)约束条件 这个问题中的约束有如下几类:每个项目的物流应该守恒、资源能力限制应该满 足、每时段生产某项目前必须经过生产准备和非负约束(对Yi,t 是0 −1约束)。 所谓物流守恒,是指对每个时段、每个项目(图中一个节点)而言,该项目在上

一个时段的库存量加上当前时段的生产量,减去该项目当前时段用于满足外部需求的量 和用于组装其它项目(直接后继项目)的量,应当等于当前时段的库存量。具体可以写 成如下表达式(假设1。=0): 1+X-1u=d,+∑Xn i=1,2,.,N,t=12,.,T (2) 资源能力限制比较容易理解,即 含uCw.k=l2nk.1=2T (3) 每时段生产某项目前必须经过生产准备,也就是说当X,=0时Y,=0:X,>0 时y,=1。这本来是一个非线性约束,但是通过引入参数M(很大的正数,表示每个 项目每个时段的最大产量)可以化成线性约束,即 0sXu≤MY,ye{01,i=12.,N,1=1,2,.,T (4) 另外有 120,1=1,2,.,N,1=l,2.,T, (5) 总结上面的讨论,这个问题的优化模型就是在约束(2)、(4)下使目标函数(1) 达到最小,这可以认为是一个混合整数规划模型(因为产量一般较大,可以把X和/ 看成连续变量(实数)求解,而只有Y,为0-1变量) 13求解模型 本例中生产项目总数N=7(分别用1~7表示项目A,B,C,D,E,F,G),计划期 长度T=6(周),瓶颈资源种类数K=1。只有A有外部需求,所以d,中只有d可 以取非零需求,即表1中的第2行的数据,其它d,全部为零。参数5,h,只与项目 1有关,而不随时段1变化,所以可以略去下标1,其数值就是表1中的最后两行数据 由于只有一种资源,参数C,可以略去下标k,其数值就是表1中的第3行的数据:而 a只与项目i有关,而不随时段1变化,所以可以同时略去下标k和1,即a=5, -389
-389- 一个时段的库存量加上当前时段的生产量,减去该项目当前时段用于满足外部需求的量 和用于组装其它项目(直接后继项目)的量,应当等于当前时段的库存量。具体可以写 成如下表达式(假设 Ii,0 = 0 ): j t j S i Ii t Xi t Ii t di t rij X , ( ) , 1 , , , ∑∈ − + − = + i = 1,2,L,N ,t = 1,2,L,T (2) 资源能力限制比较容易理解,即 i t k t N i ak i t X , C , 1 ∑ , , ≤ = ,k = 1,2,L,K ,t = 1,2,L,T (3) 每时段生产某项目前必须经过生产准备,也就是说当 Xi,t = 0 时Yi,t = 0;Xi,t > 0 时Yi,t = 1。这本来是一个非线性约束,但是通过引入参数 M (很大的正数,表示每个 项目每个时段的最大产量)可以化成线性约束,即 0 ≤ Xi,t ≤ MYi,t , {0,1} Yi,t ∈ ,i = 1,2,L, N ,t = 1,2,L,T (4) 另外有 Ii,t ≥ 0 ,i = 1,2,L,N ,t = 1,2,L,T , (5) 总结上面的讨论,这个问题的优化模型就是在约束(2)~(4)下使目标函数(1) 达到最小。这可以认为是一个混合整数规划模型(因为产量一般较大,可以把 Xi,t 和 i t I , 看成连续变量(实数)求解,而只有Yi,t 为0 −1变量)。 1.3 求解模型 本例中生产项目总数 N = 7(分别用 1~7 表示项目 A, B,C, D, E, F,G ),计划期 长度T = 6 (周),瓶颈资源种类数 K =1。只有 A 有外部需求,所以 di,t 中只有 d1,t 可 以取非零需求,即表 1 中的第 2 行的数据,其它 di,t 全部为零。参数 i t s , ,hi,t 只与项目 i 有关,而不随时段t 变化,所以可以略去下标t ,其数值就是表 1 中的最后两行数据。 由于只有一种资源,参数Ck ,t 可以略去下标 k ,其数值就是表 1 中的第 3 行的数据;而 ak ,i,t 只与项目i 有关,而不随时段t 变化,所以可以同时略去下标 k 和t ,即 5 a2 =

a,=8(其它a,为0)。从图1中容易得到项目i的直接后继项目集合S(①和消耗系数 对本例,A的外部总需求为240,所以任何项目的产量不会超过 240×7×15=25000(从图1可以知道,这里7×15已经是每件产品A对任意一个项 目的最大的消耗系数了),所以取M-25000就已经足够了, MODEL: TITL瓶颈设备的多级生产计划 SETS: !PART=项目集合,Setup=生产准备费,Ho1d=单件库存成本 A=对瓶预资源的消耗系数: PART/A B C D E F G/:Setup,Hold,A; !TME-计划期集合,Capacity-瓶颈设备的能力 TIME/1.6/:Capacity !SES=项目结构关系,Rq=项目之间的消耗系数 USES (PART,PART):Reg; !PXT=项目与时间的派生集合,De西and=外部需求, x=产量(批量),Y=0/1变量,V=库存: PXT (PART,TIME)Demand,X,Y,Inv; ENDSETS !目标函数: [OBJ]Min=@sum(PXT(i,t):setup(i)*Y(i,t)+hold(i)*Inv(i,t)); !物流平衡方程: CFOR(PXT(i,七)I七#NE# 1:[Bal]Inv(i,t-1)+X(i,t)-Inv(i,t)=Demand(i,t)+@SUM(USES(,j):Req 1,j)*x(,t)1) @FOR(PXT(i,t)It #eg# 1:[Ba0]x(i,t)-Inv(i,t)=Demand (i,t)+@SUM(USES (i,j):Reg(i,j)*x(j,t) 能力约束 @FOR(TIME (t):[Cap]@SUM(PART(i):A(i)*x(i,t))<Capacity(t)); !其他约束 M=25000; @FOR(PXT(i,t):x(i,t)<=M*Y(i,t)); @FOR(PXT:@BIN(Y)); DATA: Demand=0;Req =0 Capac1ty=1000005000500010001000 390-
-390- a3 = 8 (其它 ai 为 0)。从图 1 中容易得到项目i 的直接后继项目集合 S(i) 和消耗系数 i j r, 。 对本例, A 的外部总需求为 240 ,所以任何项目的产量不会超过 240× 7 ×15 = 25000 (从图 1 可以知道,这里7 ×15已经是每件产品 A 对任意一个项 目的最大的消耗系数了),所以取 M = 25000 就已经足够了。 MODEL: TITLE 瓶颈设备的多级生产计划; SETS: ! PART=项目集合,Setup=生产准备费,Hold=单件库存成本, A=对瓶颈资源的消耗系数; PART/A B C D E F G/:Setup,Hold,A; ! TIME=计划期集合,Capacity=瓶颈设备的能力; TIME/1.6/:Capacity; ! USES=项目结构关系,Req=项目之间的消耗系数; USES(PART,PART):Req; ! PXT=项目与时间的派生集合,Demand=外部需求, X=产量(批量), Y=0/1变量,INV=库存; PXT(PART,TIME):Demand,X,Y,Inv; ENDSETS ! 目标函数; [OBJ]Min=@sum(PXT(i,t):setup(i)*Y(i,t)+hold(i)*Inv(i,t)); ! 物流平衡方程; @FOR(PXT(i,t)|t #NE# 1:[Bal]Inv(i,t-1)+X(i,t)-Inv(i,t)=Demand(i,t)+@SUM(USES(i,j):Req( i,j)*X(j,t))); @FOR(PXT(i,t)|t #eq# 1:[Ba0]X(i,t)-Inv(i,t)=Demand(i,t)+@SUM(USES(i,j):Req(i,j)*X(j,t) )); ! 能力约束; @FOR(TIME(t):[Cap]@SUM(PART(i):A(i)*X(i,t))<Capacity(t)); ! 其他约束; M = 25000; @FOR(PXT(i,t):X(i,t)<=M*Y(i,t)); @FOR(PXT:@BIN(Y)); DATA: Demand=0;Req =0; Capacity=10000 0 5000 5000 1000 1000;

Setup=4005001000300200400100: Ho1d-120.61.00.040.030.040.04; A=0580000: ENDDATA CALC: demand(1,1)=40:demand(1,3)=100: demand(1,5)=90;demand(1,6)=10; xeg(2,1)-5:reg(3,1)-7:reg(4,2)-9i eq(5,2)11 (6,3=13月 eq(7,3)=15: END 计算结果见表2(贝列出了生产产量X,空格表示不生产,即产量为0)。 表2生产计划的最后结果 周次 2 4 6 A的产量 40 100 100 B的产量 200 1000 C的产量 0s5 625 D的产量 1800 9000 E的产量 2200 11000 F的产量13715 8125 G的产量15825 9375 §2下料问题 生产中常会遇到通过切割、剪裁、冲压等手段,将原材料加工成所需大小这种工 艺过程,称为原料下料(cutting stock)间题。按照进一步的工艺要求,确定料方案 使用料最省或利润最大,是典型的优化问题。本节通过两个实例讨论用数学规划模型 决这类问题的方法 2.1钢管下料问题 例2某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出。从钢管厂 进货时得到的原料钢管都是19m长。 (1)现有 -客户需要50根4m长,20根6m长和15根8m长的钢管。应如何下 (2)零售商如果采用的不同切制割模式太多,将会导致生产过程的复杂化,从而增 加生产和管理成本,所以该零售商规定采用的不同切割模式不能超过3种。此外,该客 户除需要(1)中的三种钢管外,还需要10根5m长的钢管。应如何下料最节省? 2.1.1问题(1)的求解 首先,应当确定哪些切割模式是可行的。所谓一个切割模式,是指按照客户需要
-391- Setup=400 500 1000 300 200 400 100; Hold=12 0.6 1.0 0.04 0.03 0.04 0.04; A=0 5 8 0 0 0 0; ENDDATA CALC: demand(1,1)=40;demand(1,3)=100; demand(1,5)=90;demand(1,6)=10; req(2,1)=5;req(3,1)=7;req(4,2)=9; req(5,2)=11;req(6,3)=13;req(7,3)=15; ENDCALC END 计算结果见表 2(只列出了生产产量 Xi,t ,空格表示不生产,即产量为 0)。 表 2 生产计划的最后结果 周次 1 2 3 4 5 6 A 的产量 40 100 100 B 的产量 200 1000 C 的产量 1055 625 D 的产量 1800 9000 E 的产量 2200 11000 F 的产量 13715 8125 G 的产量 15825 9375 §2 下料问题 生产中常会遇到通过切割、剪裁、冲压等手段,将原材料加工成所需大小这种工 艺过程,称为原料下料(cutting stock)问题。按照进一步的工艺要求,确定下料方案, 使用料最省或利润最大,是典型的优化问题。本节通过两个实例讨论用数学规划模型解 决这类问题的方法。 2.1 钢管下料问题 例 2 某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出。从钢管厂 进货时得到的原料钢管都是 19m 长。 (1)现有一客户需要 50 根 4m 长,20 根 6m 长和 15 根 8m 长的钢管。应如何下 料最节省? (2)零售商如果采用的不同切割模式太多,将会导致生产过程的复杂化,从而增 加生产和管理成本,所以该零售商规定采用的不同切割模式不能超过 3 种。此外,该客 户除需要(1)中的三种钢管外,还需要 10 根 5m 长的钢管。应如何下料最节省? 2.1.1 问题(1)的求解 (1)问题分析 首先,应当确定哪些切割模式是可行的。所谓一个切割模式,是指按照客户需要

在原料钢管上安排切割的一种组合。例如,我们可以将19m长的钢管切割成3根4m 长的钢管,余料为7m:或者将19m长的钢管切割成4m,6m和8m长的钢管各1根, 余料为lm。显然,可行的切制模式是很多的。 其次,应当确定哪些切割模式是合理的。通常假设一个合理的切割模式的余料不 应该大于或等于客户需要的管的最小尺寸。例如,将19m长的钢管切割成3根4m 的钢管是可行的,但余料为7m,可以进一步将7m的余料切制成4m钢管(余料为3m), 或者将7m的余料切割成6m钢管(余料为1m)。在这种合理性假设下,切割模式一共 有7种,如表3所示。 表3钢管下料的合理切制模式 4m钢管根数 6m钢管根数 8m钢管根数 余料(m) 模式1 0 0 3 模式2 0 模式S 模式6 3 模式7 0 0 3 问题化为在满足客户需要的条件下,按照哪些种合理的模式,切制多少根原料钢 管,最为节省。而所谓节省,可以有两种标准,一是切割后剩余的总余料量最小,二是 切割原料钢管的总根数最少。下面将对这两个目标分别讨论。 (2)模型建立 决策变量:用x,表示按照第i种模式(i=1,2,.,7)切制的原料钢管的根数,显 然它们应当是非负整数。 决策目标:以切割后剩余的总余料量最小为目标,则由表3可得 min=3x1+x2+3x3+3x4+x+x6+3x 6 以切制原料钢管的总根数最少为目标,则有 min=∑x 下面分别在这两种目标下求解。 约束条件:为满足客户的需求,按照表3应用 4x+3x2+2x3+x+x5250 (8) X2+x1+x3+3x5220 (9) 392
-392- 在原料钢管上安排切割的一种组合。例如,我们可以将 19m 长的钢管切割成 3 根 4m 长的钢管,余料为 7m;或者将 19m 长的钢管切割成 4m,6m 和 8m 长的钢管各 1 根, 余料为 1m。显然,可行的切割模式是很多的。 其次,应当确定哪些切割模式是合理的。通常假设一个合理的切割模式的余料不 应该大于或等于客户需要的钢管的最小尺寸。例如,将 19m 长的钢管切割成 3 根 4m 的钢管是可行的,但余料为 7m,可以进一步将 7m 的余料切割成 4m 钢管(余料为 3m), 或者将 7m 的余料切割成 6m 钢管(余料为 1m)。在这种合理性假设下,切割模式一共 有 7 种,如表 3 所示。 表 3 钢管下料的合理切割模式 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 3 问题化为在满足客户需要的条件下,按照哪些种合理的模式,切割多少根原料钢 管,最为节省。而所谓节省,可以有两种标准,一是切割后剩余的总余料量最小,二是 切割原料钢管的总根数最少。下面将对这两个目标分别讨论。 (2)模型建立 决策变量:用 i x 表示按照第i 种模式(i = 1,2,L,7 )切割的原料钢管的根数,显 然它们应当是非负整数。 决策目标:以切割后剩余的总余料量最小为目标,则由表 3 可得 min 1 3 1 2 3 3 3 4 5 6 3 7 z = x + x + x + x + x + x + x (6) 以切割原料钢管的总根数最少为目标,则有 ∑= = 7 1 min 2 i i z x (7) 下面分别在这两种目标下求解。 约束条件:为满足客户的需求,按照表 3 应用 4x1 + 3x2 + 2x3 + x4 + x5 ≥ 50 (8) x2 + x4 + x5 + 3x6 ≥ 20 (9)

x3+x+2x7≥15 (10) (3)横形求解 将式(6)、(8) ~(9)构成的整数线性规划模型(加上整数约束)输入LNGO model TITLE钢管下料一最小化余量: sets: co1/1.7/:c,x: xow/1.3/:b link(row,col):a; endsets data: c=3133113: b-502015 a=432】 100 0102130 0010102: enddata min=@sum (col:c*x); @for(row():0su (co1(j):a(i,)*x()>=b(i) efor(col:@gin(x)); end 求得按照模式2切割12根原料钢管,按照模式5切割15根原料钢管,共27根, 总余料量为27m。但4m长的钢管比要求多切到了1根.6m长的都管比要求多切割了 7根。显然,在总余料量最小的目标下,最优解将是使用余料尽可能小的切制方式(模 式2和模式5的余料为1m,这会号致切制原料解管的总根数较多, i)将式(7)~(10)构成的整数线性规划模型输入LNGO model: TT工E钢管下料一最小银管数: sets: co1/171:e0,e,x row/1.3/:bi link(row,col):a; endsets data: c0=3133113 c=1111111: b=502015: a=4321100 -393
-393- x3 + x5 + 2x7 ≥15 (10) (3)模型求解 i)将式(6)、(8)~(9)构成的整数线性规划模型(加上整数约束)输入 LINGO model: TITLE 钢管下料-最小化余量; sets: col/1.7/:c,x; row/1.3/:b; link(row,col):a; endsets data: c=3 1 3 3 1 1 3; b=50 20 15; a=4 3 2 1 1 0 0 0 1 0 2 1 3 0 0 0 1 0 1 0 2; enddata min=@sum(col:c*x); @for(row(i):@sum(col(j):a(i,j)*x(j))>=b(i)); @for(col:@gin(x)); end 求得按照模式 2 切割 12 根原料钢管,按照模式 5 切割 15 根原料钢管,共 27 根, 总余料量为 27m。但 4m 长的钢管比要求多切割了 1 根,6m 长的钢管比要求多切割了 7 根。显然,在总余料量最小的目标下,最优解将是使用余料尽可能小的切割方式(模 式 2 和模式 5 的余料为 1m),这会导致切割原料钢管的总根数较多。 ii)将式(7)~(10)构成的整数线性规划模型输入 LINGO model: TITLE 钢管下料-最小钢管数; sets: col/1.7/:c0,c,x; row/1.3/:b; link(row,col):a; endsets data: c0=3 1 3 3 1 1 3; c=1 1 1 1 1 1 1; b=50 20 15; a=4 3 2 1 1 0 0

0102130 0010102: enddata min=@sum(col:c*x); @for(row(i):[conlJ@sum(col(j):a(i,j)*x(j))>=b(i)) efor(co1:@gin(x)): [remainder]y=0sum(col:c0*x); end 求得按照模式2切制15根原料钢管,按模式5切割5根,按模式7切制5根,共 25根,可算出总余料量为35m。但各长度的钢管数恰好全部满足要求, 没有多切割 与上面得到的结果比较,总余料量增加了8m,但是所用的原料钢管的总根数减少了2 根。在余料没有什么用途的情祝下,通常选择总根数最少为目标。 2.12问题(2)的求解 (1)问题分析 按照问恩()的思路。 可以通过枚举法首先确定哪些切制模式是可行的 。但击 需要的钢管规格增加到4种,所以枚举法的工作量较大。下面介绍的整数非线性规划模 型,可以同时确定切割模式和切割计划,是带有普遍性的方法。 同问题(1)类似,一个合理的切割模式的余料不应该大于或等于客户需要的银管 的最小尺寸(本题中为4m),切判计划中只使用合理的切刺模式,而由于本颗中参数都 是整数,所以合理的切割模式的余量不能大于3m。此外,这里我们仅选择总根数最少 为目标进行求解 (2)模型建立 决策变量:由于不同切割模式不能超过3种,可以用x,表示按照第种模式 (j=1,2,3)切割的原料钢管的根数,显然它们应当是非负整数。设所使用的第j种 切割模式下每根原料钢管生产4m长,5m长,6m长和8m长的钢管数量分别为 万,5,51,(非负整数).记客户需求的4种钢管的长度为,数量为b(1=1,2,3,4). 决策目标:以切割原料钢管的总根数最少为目标,即目标为 min立x (11) 约束条件:为满足客户的需求,应有 2x,26,i=l234 (12) 每一种切制模式必须可行、合理,所以每根原料钢管的成品量不能超过19,也 不能少于16m(余量不能大于3m),于是 394
-394- 0 1 0 2 1 3 0 0 0 1 0 1 0 2; enddata min=@sum(col:c*x); @for(row(i):[con1]@sum(col(j):a(i,j)*x(j))>=b(i)); @for(col:@gin(x)); [remainder]y=@sum(col:c0*x); end 求得按照模式 2 切割 15 根原料钢管,按模式 5 切割 5 根,按模式 7 切割 5 根,共 25 根,可算出总余料量为 35m。但各长度的钢管数恰好全部满足要求,没有多切割。 与上面得到的结果比较,总余料量增加了 8m,但是所用的原料钢管的总根数减少了 2 根。在余料没有什么用途的情况下,通常选择总根数最少为目标。 2.1.2 问题(2)的求解 (1)问题分析 按照问题(1)的思路,可以通过枚举法首先确定哪些切割模式是可行的。但由于 需要的钢管规格增加到 4 种,所以枚举法的工作量较大。下面介绍的整数非线性规划模 型,可以同时确定切割模式和切割计划,是带有普遍性的方法。 同问题(1)类似,一个合理的切割模式的余料不应该大于或等于客户需要的钢管 的最小尺寸(本题中为 4m),切割计划中只使用合理的切割模式,而由于本题中参数都 是整数,所以合理的切割模式的余量不能大于 3m。此外,这里我们仅选择总根数最少 为目标进行求解。 (2)模型建立 决策变量:由于不同切割模式不能超过 3 种,可以用 j x 表示按照第 j 种模式 ( j =1,2,3)切割的原料钢管的根数,显然它们应当是非负整数。设所使用的第 j 种 切割模式下每根原料钢管生产 4m 长,5m 长,6m 长和 8m 长的钢管数量分别为 j j j j r r r r 1 2 3 4 , , , (非负整数)。记客户需求的 4 种钢管的长度为 i l ,数量为b(i i =1,2,3,4 )。 决策目标:以切割原料钢管的总根数最少为目标,即目标为 ∑= 3 1 min j j x (11) 约束条件:为满足客户的需求,应有 j i j ∑rij x ≥ b = 3 1 ,i = 1,2,3,4 (12) 每一种切割模式必须可行、合理,所以每根原料钢管的成品量不能超过 19m,也 不能少于 16m(余量不能大于 3m),于是

16s214,519,j=12,3 (13) (3)模型求解 式(11)~(13)构成这个问题的优化模型。由于在式(11)~(13)中出现了决 策变量的乘积,所以这是一个整数非线性规划模型,虽然用LNGO软件可以直接求解, 但我们发现有时LNGO软件运行很长时间也难以得到最优解。为了减少运行时间,可 以增加一些显然的约束条件,从而缩小可行解的搜索范围。 例如,由于3种切制模型的排列顺序是无关紧要的,所以不妨增加以下约束 X1≥X32x3 (14) 又如,我们注意到所需原料钢管的总根数有者明显的上界和下界。首先,无论如何,原 料钢管的总根数不可能少于[(4×50+5×10+6×20+8×15)/19]=26(根)。其次, 考虑一种非常特殊的生产计划:第一种切割模式下只生 4m钢管,1根原料钢管切制 成4根4m钢管,为满足50根4m钢管的需求,需要13根原料钢管:第二种切制模式 下只生产5m、6m钢管,一根原料钢管切割成1根5m钢管和2根6m钢管,为满足10 根5m钢管和20根6m钢管的需求,需要10根原料钢管:第三种切割模式下只生产8m 钢管,1根原料钢管切制成2根8m钢管,为满足15根8m钢管的需求,需要8根原料 钢管。 于是满 足要求的这种生 计划 需13+10+8=31根原料钢管 这就得到了最 优解的一个上界。所以可增加以下约束: 26≤2≤31 (15) 将式(I)一(I5)构成的模型输入LING0如下: mode l Tite钢管下料·最小化钢管根数的LINGO模型: SETS: NEEDS/1.4/:LENGTH,b; CUTS/1.3/:X; ENDSETS DATA: LENGTH=4 5 6 8: b=50102015: CAPACITY-19: ENDDATA min=@SUM(CUTS (I)X(I)) @FOR(NEEDS (I):@SUM(CUTS (J):x(J)*R(I,J))>b(I)) -395
-395- 16 19 4 1 ≤ ∑ ≤ i= i ij l r , j = 1,2,3 (13) (3)模型求解 式(11)~(13)构成这个问题的优化模型。由于在式(11)~(13)中出现了决 策变量的乘积,所以这是一个整数非线性规划模型,虽然用 LINGO 软件可以直接求解, 但我们发现有时 LINGO 软件运行很长时间也难以得到最优解。为了减少运行时间,可 以增加一些显然的约束条件,从而缩小可行解的搜索范围。 例如,由于 3 种切割模型的排列顺序是无关紧要的,所以不妨增加以下约束: 1 2 3 x ≥ x ≥ x (14) 又如,我们注意到所需原料钢管的总根数有着明显的上界和下界。首先,无论如何,原 料钢管的总根数不可能少于[(4×50 + 5×10 + 6× 20 + 8×15)/19] = 26 (根)。其次, 考虑一种非常特殊的生产计划:第一种切割模式下只生产 4m 钢管,1 根原料钢管切割 成 4 根 4m 钢管,为满足 50 根 4m 钢管的需求,需要 13 根原料钢管;第二种切割模式 下只生产 5m、6m 钢管,一根原料钢管切割成 1 根 5m 钢管和 2 根 6m 钢管,为满足 10 根 5m 钢管和 20 根 6m 钢管的需求,需要 10 根原料钢管;第三种切割模式下只生产 8m 钢管,1 根原料钢管切割成 2 根 8m 钢管,为满足 15 根 8m 钢管的需求,需要 8 根原料 钢管。于是满足要求的这种生产计划共需13 +10 + 8 = 31根原料钢管,这就得到了最 优解的一个上界。所以可增加以下约束: 26 31 3 1 ≤ ∑ ≤ i= i x (15) 将式(11)~(15)构成的模型输入 LINGO 如下: model: Title 钢管下料 - 最小化钢管根数的LINGO模型; SETS: NEEDS/1.4/:LENGTH,b; CUTS/1.3/:X; PATTERNS(NEEDS,CUTS):R; ENDSETS DATA: LENGTH=4 5 6 8; b=50 10 20 15; CAPACITY=19; ENDDATA min=@SUM(CUTS(I): X(I) ); @FOR(NEEDS(I):@SUM(CUTS(J):X(J)*R(I,J))>b(I) );
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第26章 经济与金融中的优化问题.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第25章 存贮论.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第24章 时间序列模型.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第23章 现代优化算法.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第22章 模糊数学模型.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第21章 目标规划.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第20章 偏微分方程的数值解.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第19章 神经网络模型.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第18章 变分法模型.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第17章 马氏链模型.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第16章 差分方程模型.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第15章 常微分方程的解法.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第14章 稳定状态模型.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第13章 微分方程建模.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第12章 回归分析.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第11章 方差分析.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第10章 数据的统计描述和分析.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第09章 插值与拟合.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第08章 层次分析法.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第07章 对策论.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第28章 灰色系统理论及其应用.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第29章 多元分析.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)第30章 偏最小二乘回归.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)附录一 Matlab入门.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)附录三 运筹学的LINGO软件.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)附录二 Matlab在线性代数中的应用.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)附录四 判别分析.pdf
- 《数学模型与数学实验》课程书籍文献(数学建模算法大全)参考文献.pdf
- 《线性代数》课程教学资源(书籍文献)线性代数导教导学导考(同济四版,共六章).pdf
- 高等教育出版社:工程数学《线性代数附册——学习辅导与习题全解》辅导书籍PDF电子版(同济第五版).pdf
- 《线性代数》课程教学资源(学习指导)矩阵及其初等变换.doc
- 《线性代数》课程教学资源(学习指导)行列式.doc
- 《线性代数》课程教学资源(试卷习题)强化训练题九(习题).doc
- 《线性代数》课程教学资源(试卷习题)强化训练题八(习题).doc
- 《线性代数》课程教学资源(试卷习题)强化训练题七(习题).doc
- 《线性代数》课程教学资源(试卷习题)强化训练题五(习题).doc
- 《线性代数》课程教学资源(试卷习题)强化训练题六(习题).doc
- 《线性代数》课程教学资源(试卷习题)强化训练题四(习题).doc
- 《线性代数》课程教学资源(试卷习题)强化训练题一(习题).doc
- 《线性代数》课程教学资源(试卷习题)强化训练题三(习题).doc