数学建模社区-数学中国

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

作者: 浅夏110    时间: 2020-6-16 10:03
标题: 有瓶颈设备的多级生产计划问题
问题实例 :在制造企业的中期或短期生产计划管理中,常常要考虑如下的生产计划优化问题: 在给定的外部需求和生产能力等限制条件下,按照一定的生产目标(通常是生产总费用 最小)编制未来若干个生产周期的最优生产计划,这种问题在文献上一般称为批量问题 (lotsizing problems)。所谓某一产品的生产批量(lotsize),就是每通过一次生产准备生 产该产品时的生产数量,它同时决定了库存水平。由于实际生产环境的复杂性,如需求 的动态性,生产费用的非线性,生产工艺过程和产品网络结构的复杂性,生产能力的限 制,以及车间层生产排序的复杂性等,批量问题是一个非常复杂、非常困难的问题。 我们通过下面的具体实例来说明这种多级生产计划问题的优化模型。这里“多级” 的意思是需要考虑产品是通过多个生产阶段(工艺过程)生产出来的。
' t% l' H- H" b/ ^% Y& U
/ [( J. {! H& c6 ]- |! s; W( u例 1  某工厂的主要任务是通过组装生产产品 A,用于满足外部市场需求。产品 A 的构成与组装过程见图 1,即 D , E,F,G 是从外部采购的零件,先将零件 D,E 组装成部件B ,零件 F,G 组装成部件C ,然后将部件 B,C 组装成产品 A出售。图中弧上的/ s3 N- {$ t- r7 R* c
数字表示的是组装时部件(或产品)中包含的零件(或部件)的数量(可以称为消耗系 数),例如DB弧上数字“9”表示组装 1 个部件B 需要用到 9 个零件D;BA弧上的 数字“5”表示组装 1 件产品 A需要用到 5 个部件B ;依此类推。
4 h/ h7 a6 S. y6 r! a  ?$ ^7 r% E! U, g6 ^. L5 w- |, B9 z/ I
8 u) b& H: ~/ S- F: V/ F; E
2 z- u% R$ K' K8 j- Q3 ~: R
假设该工厂每次生产计划的计划期为 6 周(即每次制定未来 6 周的生产计划),只 有最终产品 A有外部需求,目前收到的订单的需求件数按周的分布如表 1 第 2 行所示。 部件  B,C 是在该工厂最关键的设备(可以称为瓶颈设备)上组装出来的,瓶颈设备的生产能力非常紧张,具体可供能力如表1第3行所示(第2周设备检修,不能使用)。 B,C的能力消耗系数分别为 5 和 8,即生产 1 件B 需要占用 5 个单位的能力,生产 1 件C 需 要占用 8 个单位的能力。  + L( b. l, a$ W( H9 W  U  \# n
  m. V6 b2 e) v& W  q
/ y  ?( F! S0 o4 G3 g$ R
% b/ j$ O; F1 H! S( p4 y
对于每种零部件或产品,如果工厂在某一周订购或者生产该零部件或产品,工厂 需要一个与订购或生产数量无关的固定成本(称为生产准备费用);如果某一周结束时该零部件或产品有库存存在,则工厂必须付出一定的库存费用(与库存数量成正比) 。 这些数据在表 1 第 5 、6 行给出。' e% t/ t$ h. b8 p

9 y; `! A% T9 o按照工厂的信誉要求,目前接收的所有订单到期必须全部交货,不能有缺货;此外,不妨简单地假设目前该企业没有任何零部件或产品库存,也不希望第 6 周结束后留下任何零部件或产品库存。最后,假设不考虑生产提前期,即假设当周采购的零件马上 就可用于组装,组装出来的部件也可以马上用于当周组装成品 A。 在上述假设和所给数据下,如何制定未来 6 周的生产计划。
) T, R/ ^& F) N* ?# F% N# v
' |- n2 _( U5 [7 |- L2  建立模型( O$ E$ @. X; D+ I2 v6 w
5 P% l* }, M3 p5 q
(1)问题分析
/ l/ X4 E0 r% W) f3 G) M  U- z' e( I- D  c: v
这个实例考虑的是在有限的计划期内,给定产品结构、生产能力和相关费用及零 部件或成品(以下统称为生产项目)在离散的时间段上(这里是周,也可以是天、月等) 的外部需求之后,确定每一生产项目在每一时间段上的生产量(即批量),使总费用最 小。由于每一生产项目在每一时间段上生产时必须经过生产准备(setup),所以通常的 讨论中总费用至少应考虑生产准备费用和库存费用。其实,细心的读者一定会问:是否需要考虑生产的直接成本(如原材料成本、人力成本、电力成本等)?这是因为本例中 假设了不能有缺货发生,且计划初期和末期的库存都是 0,因此在这个 6 周的计划期内 A的总产量一定正好等于 A的总需求,所以可以认为相应的直接生产成本是一个常数, 因此就不予考虑了。只要理解了我们下面建立优化模型的过程和思想,对于放松这些假 定条件以后的情形,也是很容易类似地建立优化模型的。% R% [/ w) n' J" G! y3 r% w8 A

, z  V& h) @) M(2)符号说明
# R: ~' i. ~4 z2 ]) Q
7 [. \. g/ O( i6 F5 n为了建立这类问题的一般模型,我们定义如下数学符号: ( z+ x1 T+ b% ~$ R

1 Y+ s5 P; ~5 RN :生产项目总数(本例中 N =7);) Z( X9 H% V1 l% k( ~& Y* \

; a9 j3 _( f9 v1 R& ^9 _T :计划期长度(本例中 T =6) ;; t: G: m5 c9 b

9 z! @2 j* D1 F( dK :瓶颈资源种类数(本例中 K =1 ); / r9 ?2 n% K9 A) y& Q8 u

! r* c$ G8 g4 hM :一个充分大的正数,在模型中起到使模型线性化的作用;7 j2 Z& e4 C/ S. u

6 \) \9 F5 r9 N. Q8 |4 `1 C; ` :项目i在t时段的外部需求(本例中只有产品 A有外部需求);
9 m* X) C$ F5 ?5 R9 A" D2 `  c% ]* L( B/ ?4 [" O, j
:项目i在t时段的生产批量;
# V6 O, d- ?' h7 s8 i
- b9 V+ g) {3 a :项目i在t时段的库存量; ' I* H( y0 u$ ^4 l% K: Q* u6 Y
$ k; v: Y3 q( S
:项目i在t时段是否生产的标志(0:不生产,1:生产); : W% [! A: Y! @0 V! j! Q

4 ^" C6 G8 v# a- L" d6 ]* i( L :产品结构中项目i的直接后继项目集合; 1 s' T* w1 U: i+ e+ a* h8 L; S0 i, v
& e; c* E7 ~) q& N' T/ e
:产品结构中项目 j 对项目i的消耗系数;
; _9 {% O; I0 ?, k. q+ f8 q! }$ ?5 W/ V* Y. v' F& s
:项目i在t时段生产时的生产准备费用;   M: i1 G8 P7 j! ^' M) \

" M* D- D/ X0 t4 x) j  :项目i在t时段的单件库存费用;
8 u% Z; r( I3 D: @' P. }) o* ?! ^0 V. c+ ~$ u+ H1 u0 n- @
:资源k 在t时段的能力上限; ( E# W! Z! {) _# g* p2 h

, L7 `0 ]+ c1 g  i7 v/ O, j :项目i在t时段生产时,生产单个项目占用资源k 的能力; * ~1 c- ?4 T$ {/ d- g# f
) ]% `. t1 p0 `* P) _: ?' L8 G

  P4 I1 ^$ `/ l. g( m, r  S; C6 M  N" W7 \0 x# u. e) N
(3)目标函数3 B" y( h4 T/ g& Q; R
6 w( Z7 |& L, B1 m; x/ O' u1 k
这个问题的目标是使生产准备费用和库存费用的总和最小。因此,目标函数应该 是每个项目在每个阶段上的生产准备费用和库存费用的总和,即 - Z0 y! L, z/ {+ {9 G5 u

4 [, m% J  f# B1 y$ _  h                                 ( 1 )
: `; E# F+ M5 P9 H' [4 [1 J+ q, Z( C7 M8 i; l9 z
(4)约束条件% f9 G" O$ Z5 t/ _$ ?- b8 l# R
( f9 f% y9 R8 ?! @0 c# M
这个问题中的约束有如下几类:每个项目的物流应该守恒、资源能力限制应该满足、每时段生产某项目前必须经过生产准备和非负约束(对  是  0− 1约束)。 所谓物流守恒,是指对每个时段、每个项目(图中一个节点)而言,该项目在上一个时段的库存量加上当前时段的生产量,减去该项目当前时段用于满足外部需求的量 和用于组装其它项目(直接后继项目)的量,应当等于当前时段的库存量。具体可以写成如下表达式(假设 ):
3 [, z; v3 t$ h- ^( I9 J  ]" H, m
% @8 s$ {2 z6 I( V  w                       ( 2 )      
* _7 p; z5 U1 A! l, @7 Q& b
1 t, i2 G. \$ Y资源能力限制比较容易理解,即
; P0 z4 N, ~5 Q' G
+ j- c  t7 B8 m4 \                      ( 3 )          ' w# S% ~+ J4 `- ~  G8 b

/ R! ~- n7 C! A; Q' ]6 H) p# x# a5 g& I0 B# M
1 s' t/ r' o- D3 h: ^1 p8 s  S- l
3  求解模型 " p* r8 R8 K' y$ {$ P5 F

$ b1 C9 v8 }& U$ v- U/ q7 C$ r( b% U

" z& m, u7 P: X# S/ z
: N/ M$ O5 v: H3 |
& h$ N& h' O3 G# i! i
( D# c/ ?- O4 M( Y$ G2 ^- l1 ~& \, i
MODEL:
5 ?6 `$ O8 Q1 _. ~9 GTITLE 瓶颈设备的多级生产计划; 6 K# I  g4 Z( \% x. _- p* I
SETS:
4 X1 h9 ?( ^, ~' l1 D2 ^! PART=项目集合,Setup=生产准备费,Hold=单件库存成本,   A=对瓶颈资源的消耗系数; - X7 |+ a; ~9 {, O+ t- \0 f
PART/A B C D E F G/:Setup,Hold,A;
* h" j; k5 R4 w6 z- ^( A+ a! TIME=计划期集合,Capacity=瓶颈设备的能力;
- f+ k% K* q  s% b( @TIME/1..6/:Capacity; ! t, Q* J% i1 s
! USES=项目结构关系,Req=项目之间的消耗系数;
- A+ n) N" e1 J; _4 [, v. P: [9 GUSES(PART,PART):Req; ! p  G7 M1 E3 m
! PXT=项目与时间的派生集合,Demand=外部需求,   X=产量(批量), Y=0/1变量,INV=库存; PXT(PART,TIME)emand,X,Y,Inv;
$ w: h0 O4 l" G9 X9 TENDSETS ' H( J, L8 ]* j, F& m
! 目标函数;
' ~9 ]4 M% P' A7 t. J[OBJ]Min=@sum(PXT(i,t):setup(i)*Y(i,t)+hold(i)*Inv(i,t));
" b7 e% o" a  c+ o! 物流平衡方程;
, F1 \* M/ R1 u5 p1 g@FOR(PXT(i,t)|t #NE# + y1 Q4 w! O1 s
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# % F7 Z; n- Y2 s2 p* P
1:[Ba0]X(i,t)-Inv(i,t)=Demand(i,t)+@SUM(USES(i,j):Req(i,j)*X(j,t) )); $ b* I% B9 J' S; w! \7 v
! 能力约束;
0 V* a: y& ?7 A9 L2 b* L' L1 j$ }@FOR(TIME(t):[Cap]@SUM(PART(i):A(i)*X(i,t))<Capacity(t));  + A) N4 Q6 H/ _* u. Y/ j
! 其他约束;
- q4 I" H5 M) w: FM = 25000; 9 W: X7 m( c5 N& Q+ a
@FOR(PXT(i,t):X(i,t)<=M*Y(i,t)); 6 J3 F% |1 Z0 n5 x
@FOR(PXTBIN(Y)); ( f7 R% i# P# @
DATA: 2 \1 L& B$ J- c. l+ E* r7 L
Demand=0;Req =0;  ' O3 X) ?" m8 W
Capacity=10000 0 5000 5000 1000 1000; ! h9 N# z" I6 o. m& O* @7 B
Setup=400 500 1000 300 200 400 100; " K+ `( \: g' a
Hold=12 0.6 1.0 0.04 0.03 0.04 0.04; $ _' E* o% E8 w: o+ ?4 r
A=0 5 8 0 0 0 0; / C7 T- s  x* r$ i
ENDDATA 7 i/ F: K( O% W
CALC:   A/ i  k9 t& W( F
demand(1,1)=40;demand(1,3)=100;
, d" o+ @" [+ T' P, B" B* e) P+ Rdemand(1,5)=90;demand(1,6)=10;
' y& \9 [( l# h+ ureq(2,1)=5;req(3,1)=7;req(4,2)=9;
! Z+ z- H1 X# ]) u3 ?; freq(5,2)=11;req(6,3)=13;req(7,3)=15;
2 W. u  \1 c! j  LENDCALC - |* V/ T& b' ^2 @, W. X) F/ y
END# ^7 h" c( c# p  t: s
8 y  ?- b5 Z: h- `- ?
' \2 [& C3 O3 L8 _
习题:; ^% z5 f& W' H& O1 p

3 }; R! s7 s. {& O3 i1.某农户拥有 100 亩土地和 25000 元可供投资,每年冬季(9 月中旬至来年 5 月 中旬),该家庭的成员可以贡献 3500h 的劳动时间,而夏季为 4000h。如果这些劳动时 间有富裕,该家庭中的年轻成员将去附近的农场打工,冬季每小时 6.8 元,夏季每小时 7.0 元。6 ]* T1 t; @- F" _0 ?3 p% o

3 l& z+ K5 H0 x8 s! T现金收入来源于三种农作物(大豆、玉米和燕麦)以及两种家禽(奶牛和母鸡)。 农作物不需要付出投资,但每头奶牛需要 400 元的初始投资,每只母鸡需要 3 元的初始 投资。每头奶牛需要使用 1.5 亩土地,并且冬季需要付出 100h 劳动时间,夏季付出 50h 劳动时间,每年产生的净现金收入为 450 元;每只母鸡的对应数字为:不占用土地,冬 季 0.6h,夏季 0.3h,年净现金收入 3.5 元。养鸡厂房最多只能容纳 3000 只母鸡,栅栏 的大小限制了最多能饲养 32 头奶牛。
0 ?& U5 M$ z! u/ k: P9 t5 A
8 @+ @. c# }8 G( o  w根据估计,三种农作物每种植一亩所需要的劳动时间和收入如表 11 所示。建立数 学模型,帮助确定每种农作物应该种植多少亩,以及奶牛和母鸡应该各蓄养多少,使年净现金收入最大。
* L$ K% {1 |, x; v% g% B$ g8 _1 e6 j; k5 B9 t% K! j
9 P# ^% i( v' b7 ]; P& N) [

8 s- V4 N7 ?2 k' O* o' k2.如图 4,有若干工厂的排污口流入某江,各口有污水处理站,处理站对面是居 民点。工厂 1 上游江水流量和污水浓度,国家标准规定的水的污染浓度,以及各个工厂 的污水流量和污水浓度均已知道。设污水处理费用与污水处理前后的浓度差和污水流量 成正比,使每单位流量的污水下降一个浓度单位需要的处理费用(称处理系数)为已知。 处理后的污水与江水混合,流到下一个排污口之前,自然状态下的江水也会使污水浓度降低一个比例系数(称自净系数),该系数可以估计。试确定各污水处理站出口的污水 浓度,使在符合国家标准规定的条件下总的处理费用最小。 , l5 [+ o- n' x9 g: y# H% Q" Q6 z
: h& \5 a) T/ l7 _$ W+ x

* b5 `8 O5 f6 l8 R
+ o  U2 x5 w; n* W& E2 d# \% t, y" Z+ {2 @- ^$ q9 K7 e

2 a- x2 W4 J) r' n1 ~+ x先建立一般情况下的数学模型,再求解以下的具体问题: : O, l5 D$ v, F3 p7 c

; x! L7 x% e5 Q- Y$ W8 Q' Z% W(1)为了使江面上所有地段的水污染达到国家标准,最少需要花费多少费用?8 ~0 Z+ A# f; a" D$ e6 O
1 v. R2 A6 a3 n4 X# F/ b) ^8 i) f
(2)如果只要求三个居民点上游的水污染达到国家标准,最少需要花费多少费 用? 5 v8 h* O7 S& \. u8 a& Z
————————————————
  j- t4 n: c5 Z版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。- y' V, u3 s  `5 ?  _1 J: n+ Q
原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89413903
  P% [7 Z/ O) P" Q  ^* O/ N2 E, Z" `% K! m3 w* a- o( J' E3 k

" j) u5 U9 W' z: }+ i/ n




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