问题实例 :在制造企业的中期或短期生产计划管理中,常常要考虑如下的生产计划优化问题: 在给定的外部需求和生产能力等限制条件下,按照一定的生产目标(通常是生产总费用 最小)编制未来若干个生产周期的最优生产计划,这种问题在文献上一般称为批量问题 (lotsizing problems)。所谓某一产品的生产批量(lotsize),就是每通过一次生产准备生 产该产品时的生产数量,它同时决定了库存水平。由于实际生产环境的复杂性,如需求 的动态性,生产费用的非线性,生产工艺过程和产品网络结构的复杂性,生产能力的限 制,以及车间层生产排序的复杂性等,批量问题是一个非常复杂、非常困难的问题。 我们通过下面的具体实例来说明这种多级生产计划问题的优化模型。这里“多级” 的意思是需要考虑产品是通过多个生产阶段(工艺过程)生产出来的。 7 ~) W( ~- ~( V1 J
) v& t4 l0 N1 s8 Q, S
例 1 某工厂的主要任务是通过组装生产产品 A,用于满足外部市场需求。产品 A 的构成与组装过程见图 1,即 D , E,F,G 是从外部采购的零件,先将零件 D,E 组装成部件B ,零件 F,G 组装成部件C ,然后将部件 B,C 组装成产品 A出售。图中弧上的 ( z2 ?5 P( M+ M5 w d数字表示的是组装时部件(或产品)中包含的零件(或部件)的数量(可以称为消耗系 数),例如DB弧上数字“9”表示组装 1 个部件B 需要用到 9 个零件D;BA弧上的 数字“5”表示组装 1 件产品 A需要用到 5 个部件B ;依此类推。 ' x' p" G5 t: j+ e b! n, B
e0 D( J( L# X( B ' F3 I) Q' _8 ^# \. w
4 A& I. [8 Y6 i$ f/ z+ p- O
假设该工厂每次生产计划的计划期为 6 周(即每次制定未来 6 周的生产计划),只 有最终产品 A有外部需求,目前收到的订单的需求件数按周的分布如表 1 第 2 行所示。 部件 B,C 是在该工厂最关键的设备(可以称为瓶颈设备)上组装出来的,瓶颈设备的生产能力非常紧张,具体可供能力如表1第3行所示(第2周设备检修,不能使用)。 B,C的能力消耗系数分别为 5 和 8,即生产 1 件B 需要占用 5 个单位的能力,生产 1 件C 需 要占用 8 个单位的能力。 - N& \9 C ^7 p) h9 L
# D ~- q1 i4 h7 z- g4 a% h0 Z5 g, m; E( c
% k# i8 i: |: L5 r& b/ T. B9 [对于每种零部件或产品,如果工厂在某一周订购或者生产该零部件或产品,工厂 需要一个与订购或生产数量无关的固定成本(称为生产准备费用);如果某一周结束时该零部件或产品有库存存在,则工厂必须付出一定的库存费用(与库存数量成正比) 。 这些数据在表 1 第 5 、6 行给出。6 M8 u1 b9 d! ~, R* z: @ p
& ]3 v6 y& s0 B Z& J
按照工厂的信誉要求,目前接收的所有订单到期必须全部交货,不能有缺货;此外,不妨简单地假设目前该企业没有任何零部件或产品库存,也不希望第 6 周结束后留下任何零部件或产品库存。最后,假设不考虑生产提前期,即假设当周采购的零件马上 就可用于组装,组装出来的部件也可以马上用于当周组装成品 A。 在上述假设和所给数据下,如何制定未来 6 周的生产计划。 9 g; t1 a$ g8 P! @6 \! n * f q+ p6 M& G7 Y& g0 S2 建立模型2 T! d' [9 O. W0 D
6 k1 H. y+ C6 E0 s+ f- P- F
(1)问题分析 ; J, U& ]( ~" |$ V! K $ s; z- b) t, l- [) h2 l! `这个实例考虑的是在有限的计划期内,给定产品结构、生产能力和相关费用及零 部件或成品(以下统称为生产项目)在离散的时间段上(这里是周,也可以是天、月等) 的外部需求之后,确定每一生产项目在每一时间段上的生产量(即批量),使总费用最 小。由于每一生产项目在每一时间段上生产时必须经过生产准备(setup),所以通常的 讨论中总费用至少应考虑生产准备费用和库存费用。其实,细心的读者一定会问:是否需要考虑生产的直接成本(如原材料成本、人力成本、电力成本等)?这是因为本例中 假设了不能有缺货发生,且计划初期和末期的库存都是 0,因此在这个 6 周的计划期内 A的总产量一定正好等于 A的总需求,所以可以认为相应的直接生产成本是一个常数, 因此就不予考虑了。只要理解了我们下面建立优化模型的过程和思想,对于放松这些假 定条件以后的情形,也是很容易类似地建立优化模型的。 8 F; W6 u" _& E/ f2 ?4 b$ n# D2 c ' x/ Z" T# P" {- [$ @" {9 Y3 f0 A/ N2 u(2)符号说明 . `# @! c0 }. o; W7 }0 P; V7 M+ W) ~; u3 f6 V3 M, w
为了建立这类问题的一般模型,我们定义如下数学符号: + q3 X! n( H. O
4 q2 v: ^" w; A0 V. J& v8 h/ t9 zN :生产项目总数(本例中 N =7);+ B) p+ C4 ]! P) P/ i v! y6 l
9 N! o$ t: P" p) n
T :计划期长度(本例中 T =6) ;* X2 y2 q/ C7 F8 E
! s' L9 ]' { Q X4 V- W
K :瓶颈资源种类数(本例中 K =1 ); . L, n' a8 X/ W1 _6 [- O5 k, X- r" i 6 L, ? s) R* a8 aM :一个充分大的正数,在模型中起到使模型线性化的作用; 2 q2 t5 q. A3 p9 N c% L8 H4 s% I, S: Q$ r
:项目i在t时段的外部需求(本例中只有产品 A有外部需求); 5 h* d$ g& M; ~: E & Z. h9 e2 {& [5 k1 [8 H+ S :项目i在t时段的生产批量; 3 o, Z( ~ ?) ?. y" H