数学建模社区-数学中国

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

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

4 ^# R- U- Q) ?1 u对于每种零部件或产品,如果工厂在某一周订购或者生产该零部件或产品,工厂 需要一个与订购或生产数量无关的固定成本(称为生产准备费用);如果某一周结束时该零部件或产品有库存存在,则工厂必须付出一定的库存费用(与库存数量成正比) 。 这些数据在表 1 第 5 、6 行给出。
- `3 Y  k" S  V. ]& }5 r
" a! |5 i7 O' d6 x  F& e3 A按照工厂的信誉要求,目前接收的所有订单到期必须全部交货,不能有缺货;此外,不妨简单地假设目前该企业没有任何零部件或产品库存,也不希望第 6 周结束后留下任何零部件或产品库存。最后,假设不考虑生产提前期,即假设当周采购的零件马上 就可用于组装,组装出来的部件也可以马上用于当周组装成品 A。 在上述假设和所给数据下,如何制定未来 6 周的生产计划。
4 T. @, [& c: `( C
; R% Y+ n$ v/ C) |4 J4 M2  建立模型; C+ r7 I3 m$ u( O9 K

, h8 S8 P. _! \) N5 n(1)问题分析
; [( N8 w- x/ ^4 B) ~5 l0 l0 E9 I+ i
- o1 H$ l# o, M+ @) g8 w这个实例考虑的是在有限的计划期内,给定产品结构、生产能力和相关费用及零 部件或成品(以下统称为生产项目)在离散的时间段上(这里是周,也可以是天、月等) 的外部需求之后,确定每一生产项目在每一时间段上的生产量(即批量),使总费用最 小。由于每一生产项目在每一时间段上生产时必须经过生产准备(setup),所以通常的 讨论中总费用至少应考虑生产准备费用和库存费用。其实,细心的读者一定会问:是否需要考虑生产的直接成本(如原材料成本、人力成本、电力成本等)?这是因为本例中 假设了不能有缺货发生,且计划初期和末期的库存都是 0,因此在这个 6 周的计划期内 A的总产量一定正好等于 A的总需求,所以可以认为相应的直接生产成本是一个常数, 因此就不予考虑了。只要理解了我们下面建立优化模型的过程和思想,对于放松这些假 定条件以后的情形,也是很容易类似地建立优化模型的。
3 h! N: P; B& K3 u" |2 |! d6 F8 \  d, N& V7 \8 ^- H- N
(2)符号说明/ [& B/ N' c3 m) v
& e8 x. O. _- |0 w9 [6 w- d8 |0 o
为了建立这类问题的一般模型,我们定义如下数学符号:
, x7 M( N: m% O" q2 ~
, n# f2 {. u) g7 KN :生产项目总数(本例中 N =7);
# |! \# I5 X1 c( t5 ?' C, l( `" ]1 t# _4 g2 u
T :计划期长度(本例中 T =6) ;+ `, z7 E+ ?$ w

) I( j$ m) ~: |K :瓶颈资源种类数(本例中 K =1 );   Z. p/ v, ~; ~! _4 d. E

; I/ h, ^$ T3 K9 R# ?* L7 YM :一个充分大的正数,在模型中起到使模型线性化的作用;1 e- o9 b. S1 L

1 {. q, S5 d( @- o :项目i在t时段的外部需求(本例中只有产品 A有外部需求);
' M: \) N0 \$ ]
, E( w) M7 U0 R0 @3 s" [ :项目i在t时段的生产批量;
0 M& o- m) l" `* w8 d6 T9 n4 G" }2 i% z" ~! o' e" q$ p2 w% O
:项目i在t时段的库存量; ! ~/ i; W; L( Q! z

2 \: R0 I( }5 P. z8 ^0 e8 _% C7 [ :项目i在t时段是否生产的标志(0:不生产,1:生产);
. j2 O; [! Q5 N0 G
9 F: V; Z, W- }' o- S7 F :产品结构中项目i的直接后继项目集合; / }3 t5 s* g$ |8 h. E; Y( K3 J

9 z: I, I! x$ Z' o# k- b :产品结构中项目 j 对项目i的消耗系数;
9 n, _9 e  \3 o6 ]: |0 j% q$ s( m( o0 Y8 R
:项目i在t时段生产时的生产准备费用; ( o  b3 c9 B& ^0 P4 a$ T& A0 a- M
7 {/ j' `# c; S. r1 a- t8 @
  :项目i在t时段的单件库存费用;
  H+ m" L& M# I, d( r3 K
! T) {' Q7 ?0 a) @+ Z( g- ^ :资源k 在t时段的能力上限; 2 C% E) {9 ~5 d2 }4 j

9 O& D( i1 m' ]! {& M, S :项目i在t时段生产时,生产单个项目占用资源k 的能力; / }) q& T/ X( U' [2 ~1 z* c) V1 n9 M( v
4 L2 J- n/ c/ I9 ?+ m: e; D

! Q  o: }$ v9 c2 g% w8 C
: k2 G0 d) c- I6 l- X(3)目标函数# H8 K8 }9 E- N' o# d

5 ]0 n# h* g% f# G% S, U; u, D这个问题的目标是使生产准备费用和库存费用的总和最小。因此,目标函数应该 是每个项目在每个阶段上的生产准备费用和库存费用的总和,即 $ S7 V8 U/ S5 n% j# D/ r

5 c7 u8 i7 b* Y- E6 ?                                 ( 1 )
! Y5 C& J2 B* P0 a* I
1 z1 K8 }9 x1 O- V(4)约束条件  r  n* h* r' _0 {( C
  {2 N/ T& b4 x3 y- Z  n
这个问题中的约束有如下几类:每个项目的物流应该守恒、资源能力限制应该满足、每时段生产某项目前必须经过生产准备和非负约束(对  是  0− 1约束)。 所谓物流守恒,是指对每个时段、每个项目(图中一个节点)而言,该项目在上一个时段的库存量加上当前时段的生产量,减去该项目当前时段用于满足外部需求的量 和用于组装其它项目(直接后继项目)的量,应当等于当前时段的库存量。具体可以写成如下表达式(假设 ): " J3 C0 k+ R$ w9 m

# T$ S3 H. w/ D9 |' N+ }. w& d                       ( 2 )       7 o+ E* ]6 F& i; I6 f0 Y+ w
/ O7 c/ L7 H/ \% ~
资源能力限制比较容易理解,即 1 J8 ?& T# Y  E9 o0 g

: j4 m, \( _6 N7 y                      ( 3 )          : O& W% X1 o3 a* w8 q4 M
8 ^/ G5 V2 I2 @. ~- U& m

! g1 `/ y. \$ w- ~' N8 |: |- \& L+ @. y  {
3  求解模型
  t. a8 y/ M% N. W) n
5 U+ f2 i' p4 Q! x1 k8 F' o1 `% S2 {4 o+ S3 J9 j

0 B; r0 f- Q- g) ^1 W4 ?5 d6 Q( a- {' t

+ `! K) T# p2 l' T" e0 P4 }8 d$ j- U4 ]3 D$ ^, E
3 P' N$ i& _; H$ h; X% g3 n0 M8 V* F
MODEL:
4 S8 h. u  x0 XTITLE 瓶颈设备的多级生产计划;
3 Z& W2 \# w" e! H7 N  P# K- lSETS:
# R( |2 W  }  |/ ^0 P! PART=项目集合,Setup=生产准备费,Hold=单件库存成本,   A=对瓶颈资源的消耗系数; 1 c5 H! z2 Z* f# a; X9 U1 J
PART/A B C D E F G/:Setup,Hold,A; 0 N0 h; _, A* E# s0 h* T. |8 y
! TIME=计划期集合,Capacity=瓶颈设备的能力;
6 {9 U5 f9 U; Y& Z' g! |TIME/1..6/:Capacity;
- w! V" ~0 E7 z5 q! O! USES=项目结构关系,Req=项目之间的消耗系数;
) A% [6 Q& H# x: P, @  x) C3 ]9 CUSES(PART,PART):Req;
' c: O, W' l5 x! PXT=项目与时间的派生集合,Demand=外部需求,   X=产量(批量), Y=0/1变量,INV=库存; PXT(PART,TIME)emand,X,Y,Inv;
3 |2 H  F- B# X2 TENDSETS
( a7 {! @7 X4 ]3 `4 f' o! 目标函数; / Q- J" }7 G" u. a$ j2 F- A) |
[OBJ]Min=@sum(PXT(i,t):setup(i)*Y(i,t)+hold(i)*Inv(i,t));
' l, [8 [; ^2 _  [) D! v! 物流平衡方程;
6 r+ q( y1 }$ m5 @9 ^/ o@FOR(PXT(i,t)|t #NE#
9 T# U' e/ x9 c1:[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#
& u) p9 {/ B8 j. m4 W! }1:[Ba0]X(i,t)-Inv(i,t)=Demand(i,t)+@SUM(USES(i,j):Req(i,j)*X(j,t) ));
, X- V$ ~1 W+ I! H, ~. H4 D, e$ w/ V! 能力约束;
" D1 Y* u/ |0 p@FOR(TIME(t):[Cap]@SUM(PART(i):A(i)*X(i,t))<Capacity(t));  
% @  e# K8 Z$ D* ]$ J+ Y! 其他约束;
: y( O/ w. u% Z( J* ^: U, M7 KM = 25000;
* o; H5 k5 @8 C7 F: L, ?/ r7 M@FOR(PXT(i,t):X(i,t)<=M*Y(i,t));
5 t. r* g* ?& z5 _. T  A@FOR(PXTBIN(Y));
/ V/ v( L8 H; s$ ?9 E5 N2 A) d% uDATA: 5 h2 V/ [# R# I  s; g- M- Y. z
Demand=0;Req =0;    m' K" L* ~5 }
Capacity=10000 0 5000 5000 1000 1000; . U, V4 X0 d2 t0 k, K: p
Setup=400 500 1000 300 200 400 100;
2 ]  P- G# L9 _# `) c  kHold=12 0.6 1.0 0.04 0.03 0.04 0.04; ! X8 S" u" [0 ]& N
A=0 5 8 0 0 0 0; / E+ h+ Z' l' R" D
ENDDATA 8 s7 N" k6 Z! |' a
CALC:
" r* k2 Q/ H) r8 i- {3 Hdemand(1,1)=40;demand(1,3)=100; & [6 f0 n( P1 i: t! H4 ]
demand(1,5)=90;demand(1,6)=10;
% U  N3 r, |( k& `* G& V. Ireq(2,1)=5;req(3,1)=7;req(4,2)=9; . ?6 Q7 U% ]5 `# _
req(5,2)=11;req(6,3)=13;req(7,3)=15;
1 {" W8 I1 y5 d3 AENDCALC % w: x: C% h3 m9 D
END
) X' K! Z* T$ O* _, S) B9 C2 \5 _1 h# [4 j: H; R

3 e7 f( g$ Y  c9 A# x4 t习题:
% E! j* g" E! M7 J, B  a
! f8 P2 `6 z. A4 l1.某农户拥有 100 亩土地和 25000 元可供投资,每年冬季(9 月中旬至来年 5 月 中旬),该家庭的成员可以贡献 3500h 的劳动时间,而夏季为 4000h。如果这些劳动时 间有富裕,该家庭中的年轻成员将去附近的农场打工,冬季每小时 6.8 元,夏季每小时 7.0 元。
: L" L- u, }& r" A! {% C9 A
. D" Z# X, D/ v4 ^' m现金收入来源于三种农作物(大豆、玉米和燕麦)以及两种家禽(奶牛和母鸡)。 农作物不需要付出投资,但每头奶牛需要 400 元的初始投资,每只母鸡需要 3 元的初始 投资。每头奶牛需要使用 1.5 亩土地,并且冬季需要付出 100h 劳动时间,夏季付出 50h 劳动时间,每年产生的净现金收入为 450 元;每只母鸡的对应数字为:不占用土地,冬 季 0.6h,夏季 0.3h,年净现金收入 3.5 元。养鸡厂房最多只能容纳 3000 只母鸡,栅栏 的大小限制了最多能饲养 32 头奶牛。. G7 @4 Z+ X0 ~0 i) C( V( V

, d) s$ m3 l$ Y- D根据估计,三种农作物每种植一亩所需要的劳动时间和收入如表 11 所示。建立数 学模型,帮助确定每种农作物应该种植多少亩,以及奶牛和母鸡应该各蓄养多少,使年净现金收入最大。 & N: b5 a, S! u- g( u6 {& i5 u

' |# N4 K: O2 C( i2 N& a! U3 J5 C! A, t( |- D' M7 {2 d

& Q( ~3 p! p  f$ [- t' w: n2.如图 4,有若干工厂的排污口流入某江,各口有污水处理站,处理站对面是居 民点。工厂 1 上游江水流量和污水浓度,国家标准规定的水的污染浓度,以及各个工厂 的污水流量和污水浓度均已知道。设污水处理费用与污水处理前后的浓度差和污水流量 成正比,使每单位流量的污水下降一个浓度单位需要的处理费用(称处理系数)为已知。 处理后的污水与江水混合,流到下一个排污口之前,自然状态下的江水也会使污水浓度降低一个比例系数(称自净系数),该系数可以估计。试确定各污水处理站出口的污水 浓度,使在符合国家标准规定的条件下总的处理费用最小。
2 x/ S8 ~( F+ w. W3 w+ a: i
4 Y2 u) [$ v2 M! r
: ?* V0 u8 B: N  p8 F* {
; e+ M/ `- v8 e- n5 V* ^! y+ L+ V. h+ m
6 ~6 _7 E( d/ v  p/ M/ \
先建立一般情况下的数学模型,再求解以下的具体问题:
$ O; ~7 q% G* P+ V% Z' d- u/ t8 y' x! Z6 z% {
(1)为了使江面上所有地段的水污染达到国家标准,最少需要花费多少费用?; D* a$ w/ Z$ b5 w' `/ d8 i0 X: [
' N7 E6 R' q/ ?7 N" i7 n
(2)如果只要求三个居民点上游的水污染达到国家标准,最少需要花费多少费 用? ! f- C4 d0 j4 a* W3 Y
————————————————+ I" [# ?+ ]7 O/ i9 g
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
5 Y8 ?$ Q  n0 N4 C' s' Q原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89413903" J! F4 ]& e& f0 ^) o
6 x, s5 R1 p! ]

# a0 H# P  m% W: ~, M$ O




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