数学建模社区-数学中国

标题: 有瓶颈设备的多级生产计划问题 [打印本页]

作者: 浅夏110    时间: 2020-6-16 10:03
标题: 有瓶颈设备的多级生产计划问题
问题实例 :在制造企业的中期或短期生产计划管理中,常常要考虑如下的生产计划优化问题: 在给定的外部需求和生产能力等限制条件下,按照一定的生产目标(通常是生产总费用 最小)编制未来若干个生产周期的最优生产计划,这种问题在文献上一般称为批量问题 (lotsizing problems)。所谓某一产品的生产批量(lotsize),就是每通过一次生产准备生 产该产品时的生产数量,它同时决定了库存水平。由于实际生产环境的复杂性,如需求 的动态性,生产费用的非线性,生产工艺过程和产品网络结构的复杂性,生产能力的限 制,以及车间层生产排序的复杂性等,批量问题是一个非常复杂、非常困难的问题。 我们通过下面的具体实例来说明这种多级生产计划问题的优化模型。这里“多级” 的意思是需要考虑产品是通过多个生产阶段(工艺过程)生产出来的。 2 F$ x0 ~: ^; F& l
+ F2 F, q% C2 O
例 1  某工厂的主要任务是通过组装生产产品 A,用于满足外部市场需求。产品 A 的构成与组装过程见图 1,即 D , E,F,G 是从外部采购的零件,先将零件 D,E 组装成部件B ,零件 F,G 组装成部件C ,然后将部件 B,C 组装成产品 A出售。图中弧上的4 ^4 o: V8 W- y
数字表示的是组装时部件(或产品)中包含的零件(或部件)的数量(可以称为消耗系 数),例如DB弧上数字“9”表示组装 1 个部件B 需要用到 9 个零件D;BA弧上的 数字“5”表示组装 1 件产品 A需要用到 5 个部件B ;依此类推。
( O1 b( w$ q1 i% H. w$ u- ?. ^% Q$ p$ A& A6 C
! C% m  f( t+ b5 y* F$ O
8 X% g. q% p! v7 p. G0 m1 e: N  ?7 W: N9 x
假设该工厂每次生产计划的计划期为 6 周(即每次制定未来 6 周的生产计划),只 有最终产品 A有外部需求,目前收到的订单的需求件数按周的分布如表 1 第 2 行所示。 部件  B,C 是在该工厂最关键的设备(可以称为瓶颈设备)上组装出来的,瓶颈设备的生产能力非常紧张,具体可供能力如表1第3行所示(第2周设备检修,不能使用)。 B,C的能力消耗系数分别为 5 和 8,即生产 1 件B 需要占用 5 个单位的能力,生产 1 件C 需 要占用 8 个单位的能力。  7 y% H; T, p' R1 c" I

6 O: E! I5 }* J1 {! N5 `  ~
; e$ L1 c' q+ s4 K: W
# x- R! c  R" j: X对于每种零部件或产品,如果工厂在某一周订购或者生产该零部件或产品,工厂 需要一个与订购或生产数量无关的固定成本(称为生产准备费用);如果某一周结束时该零部件或产品有库存存在,则工厂必须付出一定的库存费用(与库存数量成正比) 。 这些数据在表 1 第 5 、6 行给出。! C. s  }/ z, R6 v; L1 F

( Q! k: |1 H* P4 c, e按照工厂的信誉要求,目前接收的所有订单到期必须全部交货,不能有缺货;此外,不妨简单地假设目前该企业没有任何零部件或产品库存,也不希望第 6 周结束后留下任何零部件或产品库存。最后,假设不考虑生产提前期,即假设当周采购的零件马上 就可用于组装,组装出来的部件也可以马上用于当周组装成品 A。 在上述假设和所给数据下,如何制定未来 6 周的生产计划。; r) U# E( ~* j: X9 P

0 n$ S, U2 P8 b* j" L/ {! A! c2  建立模型
, Q) L2 c) A9 ?' B" B; G6 `( E6 n
(1)问题分析
/ {) ^  D, J1 G; X( u, M, J- j  L) ]0 S) D
这个实例考虑的是在有限的计划期内,给定产品结构、生产能力和相关费用及零 部件或成品(以下统称为生产项目)在离散的时间段上(这里是周,也可以是天、月等) 的外部需求之后,确定每一生产项目在每一时间段上的生产量(即批量),使总费用最 小。由于每一生产项目在每一时间段上生产时必须经过生产准备(setup),所以通常的 讨论中总费用至少应考虑生产准备费用和库存费用。其实,细心的读者一定会问:是否需要考虑生产的直接成本(如原材料成本、人力成本、电力成本等)?这是因为本例中 假设了不能有缺货发生,且计划初期和末期的库存都是 0,因此在这个 6 周的计划期内 A的总产量一定正好等于 A的总需求,所以可以认为相应的直接生产成本是一个常数, 因此就不予考虑了。只要理解了我们下面建立优化模型的过程和思想,对于放松这些假 定条件以后的情形,也是很容易类似地建立优化模型的。2 l7 R! h' I$ |
  _3 P$ w' I3 b* Y" t& {$ @. C9 y7 C
(2)符号说明1 O" v9 V! L) L, `6 M
; h7 F  Z8 r9 r( k" u5 z) H
为了建立这类问题的一般模型,我们定义如下数学符号: * O7 J; \% p  f/ ~

3 u* N9 W# m. c* j' o- F& m+ HN :生产项目总数(本例中 N =7);! J  p% J: ^5 [  m* o" T

! L6 g# d" ]! P& S# qT :计划期长度(本例中 T =6) ;
$ N( |) `. }7 ^4 l. B7 O9 _! k% t
. \% |; ^( C2 x. {K :瓶颈资源种类数(本例中 K =1 );
% r; ?) n' W+ f) o1 Z4 ]8 @7 \; O: N/ }; p! I% m3 ~: n4 x: H: d
M :一个充分大的正数,在模型中起到使模型线性化的作用;
5 t+ F# Y: M* p" Z) a3 c! A
: a; w0 J* a. c, S- J' F :项目i在t时段的外部需求(本例中只有产品 A有外部需求);
- b" O- r+ E+ w  x% s$ Z  i, A$ D5 v9 s6 D+ O& Y& F9 x2 I
:项目i在t时段的生产批量;
6 A$ }/ H/ }& p* J0 V( S; J" a8 L; S% g3 d) K; x! h
:项目i在t时段的库存量;   a' w- o: f9 h9 i
, o9 D5 B' N/ G
:项目i在t时段是否生产的标志(0:不生产,1:生产); + M* k7 Y& t( P8 p

; d  u, Y( ^) b8 w& M- Z1 {+ \5 f$ H :产品结构中项目i的直接后继项目集合;
+ Q% A# p+ N$ R! _
. z) u% @) E$ g) ?1 d :产品结构中项目 j 对项目i的消耗系数; 3 V6 N, O: h  k2 P  ]' N
) V0 ]! R2 E* }8 a1 q) Q( o
:项目i在t时段生产时的生产准备费用;
+ P1 R0 y7 U, X2 V( D( N# {8 N+ z% }
  :项目i在t时段的单件库存费用; : j0 e, W  Q) |3 X- G8 L
' t- u! n! \& `7 ^: _& o
:资源k 在t时段的能力上限; ) r% m* M) l( @/ J* ^* Y

- H3 o0 l- ]0 M0 O' R; e :项目i在t时段生产时,生产单个项目占用资源k 的能力;
8 t( [9 O* |1 t8 `, h
1 D6 m# z* S" @* K% g- q; N4 Z* k6 L0 D
9 g5 g5 T% a& U; c/ i
(3)目标函数
* ?5 @) T- C) N$ l2 D; C' @; I! h- a! T, e
这个问题的目标是使生产准备费用和库存费用的总和最小。因此,目标函数应该 是每个项目在每个阶段上的生产准备费用和库存费用的总和,即 9 B. |  R" ^7 \/ X7 ~0 A
) H, J. [* x0 w0 u0 X6 R3 g
                                 ( 1 ): c: T: [8 x! `7 T

* |( |/ H+ k- p5 a5 G(4)约束条件
( B. j6 |2 F, O% \  R4 i$ H3 K/ ^3 W+ G" t) w& G% [$ [
这个问题中的约束有如下几类:每个项目的物流应该守恒、资源能力限制应该满足、每时段生产某项目前必须经过生产准备和非负约束(对  是  0− 1约束)。 所谓物流守恒,是指对每个时段、每个项目(图中一个节点)而言,该项目在上一个时段的库存量加上当前时段的生产量,减去该项目当前时段用于满足外部需求的量 和用于组装其它项目(直接后继项目)的量,应当等于当前时段的库存量。具体可以写成如下表达式(假设 ): ' a: h8 V( i4 z& N

9 u6 f' e, o# C4 [0 C$ k6 f$ o9 Z                       ( 2 )       ; ~- e0 z; L) }5 V- q0 m8 I" \
9 K/ f6 L- n5 F" T8 e
资源能力限制比较容易理解,即
' K3 T- R- z- w6 j& E+ X- F" \/ B; r+ b) G, ~
                      ( 3 )         
* ]% m0 R# W0 d0 f3 t
7 |% T+ l9 D/ Z1 _' A% c2 G# j7 \2 U6 _0 }1 x

, T$ c& e$ @* ~- I' {3  求解模型 , C" ]1 @7 K7 o6 ?- c# y; N

2 n/ _  [' k( o4 ?
) `9 p. U6 p% y$ ^" r
. }9 P+ l7 N# \2 k+ ]6 i) Y) e4 d9 G# J2 T, I6 ^" [2 d8 f

# \+ A) _& D5 j; \8 q! N! [
: j8 j( i. t' R
3 x% L. A+ \+ O0 @MODEL: 4 a4 h2 T/ ]4 n& V
TITLE 瓶颈设备的多级生产计划;
/ B# |% w; _, h3 O0 dSETS: : c: n  E3 n8 I) }( a% S
! PART=项目集合,Setup=生产准备费,Hold=单件库存成本,   A=对瓶颈资源的消耗系数;
' p, u- c: Q/ A; \PART/A B C D E F G/:Setup,Hold,A; ' O  r0 K+ ?+ Z' R, h8 N$ t$ S8 B
! TIME=计划期集合,Capacity=瓶颈设备的能力; ! ?/ o+ a% y; _4 H$ _
TIME/1..6/:Capacity; " S0 f, S  G8 \, ]! p
! USES=项目结构关系,Req=项目之间的消耗系数;   A1 J* }2 l" N& [& e2 O6 X' p
USES(PART,PART):Req;
% H* X" t( W) J1 `! PXT=项目与时间的派生集合,Demand=外部需求,   X=产量(批量), Y=0/1变量,INV=库存; PXT(PART,TIME)emand,X,Y,Inv; / }& Y, K: e6 b: N  x
ENDSETS * o, z3 O0 x* [# L1 B
! 目标函数; " M& l: z2 \, A
[OBJ]Min=@sum(PXT(i,t):setup(i)*Y(i,t)+hold(i)*Inv(i,t)); # j2 ^) o1 Z: T
! 物流平衡方程;
1 |2 b" ]+ ~' |' J2 J/ A1 ]@FOR(PXT(i,t)|t #NE# ' E! a/ j) V- \% b
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#
/ m5 `0 a$ @/ p% l; W9 o1:[Ba0]X(i,t)-Inv(i,t)=Demand(i,t)+@SUM(USES(i,j):Req(i,j)*X(j,t) ));
6 @: u9 I$ F% b1 @/ z0 k! 能力约束;
1 L: _8 n+ z* j4 t8 g0 N! J@FOR(TIME(t):[Cap]@SUM(PART(i):A(i)*X(i,t))<Capacity(t));  
5 L2 k, ^2 v5 b5 H5 T/ ^! 其他约束;
; S7 Y+ z* @. W$ f: W: RM = 25000; / E( U; R# J0 H6 T$ ?
@FOR(PXT(i,t):X(i,t)<=M*Y(i,t)); - U: b1 c3 X+ ^( v7 r
@FOR(PXTBIN(Y)); & ?4 J( ]+ S8 `& N' q7 |/ c% q4 ^
DATA: 8 X& M; [5 R+ w5 Z, l
Demand=0;Req =0;  
4 M8 T6 s; X2 e+ }Capacity=10000 0 5000 5000 1000 1000;
; U+ K; i2 y: K" L  XSetup=400 500 1000 300 200 400 100;
; w4 O1 W4 N3 ^" H8 V. gHold=12 0.6 1.0 0.04 0.03 0.04 0.04; " r+ O) m: u6 j7 y& R- V* N$ u
A=0 5 8 0 0 0 0;
! S- D+ x4 f5 V% r; BENDDATA
. Z7 z& J# o  Z+ O* ^CALC:
) x$ Z2 p  D7 e9 J) idemand(1,1)=40;demand(1,3)=100;
* q: N! s# e" u1 ?: Bdemand(1,5)=90;demand(1,6)=10; & P3 w' `# f9 f2 ^* _% p4 p% F
req(2,1)=5;req(3,1)=7;req(4,2)=9; 4 N( Q! s# r2 @# ~9 X* l! v# m6 Q
req(5,2)=11;req(6,3)=13;req(7,3)=15;
8 ^4 o( b% _. o9 d' M/ _8 xENDCALC   l/ S7 o* V* ?8 G3 L1 H- \6 D
END
& x+ G2 V  I9 [7 a4 p
% h5 |2 o1 u: ^+ m8 C
: w* l* `# h: r& U2 d习题:
+ v4 x" c, U6 z8 y5 e+ |' J
  Y: O  J/ M5 z  X3 V, p1.某农户拥有 100 亩土地和 25000 元可供投资,每年冬季(9 月中旬至来年 5 月 中旬),该家庭的成员可以贡献 3500h 的劳动时间,而夏季为 4000h。如果这些劳动时 间有富裕,该家庭中的年轻成员将去附近的农场打工,冬季每小时 6.8 元,夏季每小时 7.0 元。- n: v6 ~8 Q& `5 z5 z
, g# u) A' s7 t1 ^5 x1 H! F* M
现金收入来源于三种农作物(大豆、玉米和燕麦)以及两种家禽(奶牛和母鸡)。 农作物不需要付出投资,但每头奶牛需要 400 元的初始投资,每只母鸡需要 3 元的初始 投资。每头奶牛需要使用 1.5 亩土地,并且冬季需要付出 100h 劳动时间,夏季付出 50h 劳动时间,每年产生的净现金收入为 450 元;每只母鸡的对应数字为:不占用土地,冬 季 0.6h,夏季 0.3h,年净现金收入 3.5 元。养鸡厂房最多只能容纳 3000 只母鸡,栅栏 的大小限制了最多能饲养 32 头奶牛。
7 b: m& A% q( v
) B% e: J4 P7 w2 R/ w7 N根据估计,三种农作物每种植一亩所需要的劳动时间和收入如表 11 所示。建立数 学模型,帮助确定每种农作物应该种植多少亩,以及奶牛和母鸡应该各蓄养多少,使年净现金收入最大。 8 m0 w1 B+ h3 x8 ?6 Z
+ M( J! J# K, @

# m& V9 ]! M8 L- B' U) n. D. B  N$ ^: W7 ^( x1 j' {& X
2.如图 4,有若干工厂的排污口流入某江,各口有污水处理站,处理站对面是居 民点。工厂 1 上游江水流量和污水浓度,国家标准规定的水的污染浓度,以及各个工厂 的污水流量和污水浓度均已知道。设污水处理费用与污水处理前后的浓度差和污水流量 成正比,使每单位流量的污水下降一个浓度单位需要的处理费用(称处理系数)为已知。 处理后的污水与江水混合,流到下一个排污口之前,自然状态下的江水也会使污水浓度降低一个比例系数(称自净系数),该系数可以估计。试确定各污水处理站出口的污水 浓度,使在符合国家标准规定的条件下总的处理费用最小。
9 {* G, x1 g) j2 R
- ~) r- M. t8 Q+ l+ u
, Q2 I% t& }8 [- V2 a3 a9 x" ~( O6 U! }, J2 k

- [! E2 j: [, I
  h: q( Q0 r% P; H先建立一般情况下的数学模型,再求解以下的具体问题:
& g% T3 \0 X2 k! c0 e- A% P- l) H) w$ _4 ^- M3 ^; v; W8 W/ Y+ g' |" C4 C
(1)为了使江面上所有地段的水污染达到国家标准,最少需要花费多少费用?
, ^! k- U3 E0 E5 H! h6 Y7 w; e0 J6 u3 j$ L, F
(2)如果只要求三个居民点上游的水污染达到国家标准,最少需要花费多少费 用?
4 ?: m+ ]" K$ l5 f& T% e) X( }————————————————
2 K  g: z. k- v' l/ f+ f版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
/ Z6 Y4 s' U; m2 }, t7 L) J1 Y原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89413903
1 j; S& G. o+ R9 `0 F5 D, ^
. j  m  V1 p0 r( i* c
: O: `- e! p% E/ `  K




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5