数学建模社区-数学中国

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

作者: 浅夏110    时间: 2020-6-16 10:03
标题: 有瓶颈设备的多级生产计划问题
问题实例 :在制造企业的中期或短期生产计划管理中,常常要考虑如下的生产计划优化问题: 在给定的外部需求和生产能力等限制条件下,按照一定的生产目标(通常是生产总费用 最小)编制未来若干个生产周期的最优生产计划,这种问题在文献上一般称为批量问题 (lotsizing problems)。所谓某一产品的生产批量(lotsize),就是每通过一次生产准备生 产该产品时的生产数量,它同时决定了库存水平。由于实际生产环境的复杂性,如需求 的动态性,生产费用的非线性,生产工艺过程和产品网络结构的复杂性,生产能力的限 制,以及车间层生产排序的复杂性等,批量问题是一个非常复杂、非常困难的问题。 我们通过下面的具体实例来说明这种多级生产计划问题的优化模型。这里“多级” 的意思是需要考虑产品是通过多个生产阶段(工艺过程)生产出来的。
' {* `8 g% \1 x* `1 g: J
% p1 i" d  x9 Z. V' W! Y例 1  某工厂的主要任务是通过组装生产产品 A,用于满足外部市场需求。产品 A 的构成与组装过程见图 1,即 D , E,F,G 是从外部采购的零件,先将零件 D,E 组装成部件B ,零件 F,G 组装成部件C ,然后将部件 B,C 组装成产品 A出售。图中弧上的
9 x/ }: N- V) _( s数字表示的是组装时部件(或产品)中包含的零件(或部件)的数量(可以称为消耗系 数),例如DB弧上数字“9”表示组装 1 个部件B 需要用到 9 个零件D;BA弧上的 数字“5”表示组装 1 件产品 A需要用到 5 个部件B ;依此类推。 ( I1 @: r2 q0 ?' f9 f  ~
# c+ g4 @- ?- j" m
: a. y$ l2 t( J+ U$ [1 v8 }' F% y
5 |5 z! w2 P2 W
假设该工厂每次生产计划的计划期为 6 周(即每次制定未来 6 周的生产计划),只 有最终产品 A有外部需求,目前收到的订单的需求件数按周的分布如表 1 第 2 行所示。 部件  B,C 是在该工厂最关键的设备(可以称为瓶颈设备)上组装出来的,瓶颈设备的生产能力非常紧张,具体可供能力如表1第3行所示(第2周设备检修,不能使用)。 B,C的能力消耗系数分别为 5 和 8,即生产 1 件B 需要占用 5 个单位的能力,生产 1 件C 需 要占用 8 个单位的能力。  
2 z* h- u/ A& C* V& y/ ^! \" j* \* o$ @5 \8 Q
9 s! @% Y; n* m: ~
. G4 e# o3 x5 o
对于每种零部件或产品,如果工厂在某一周订购或者生产该零部件或产品,工厂 需要一个与订购或生产数量无关的固定成本(称为生产准备费用);如果某一周结束时该零部件或产品有库存存在,则工厂必须付出一定的库存费用(与库存数量成正比) 。 这些数据在表 1 第 5 、6 行给出。( @, j7 g  a  I' E2 F
+ l5 t3 |# i8 \+ B2 Q- ?$ d
按照工厂的信誉要求,目前接收的所有订单到期必须全部交货,不能有缺货;此外,不妨简单地假设目前该企业没有任何零部件或产品库存,也不希望第 6 周结束后留下任何零部件或产品库存。最后,假设不考虑生产提前期,即假设当周采购的零件马上 就可用于组装,组装出来的部件也可以马上用于当周组装成品 A。 在上述假设和所给数据下,如何制定未来 6 周的生产计划。
2 T8 q; i1 a  l* G- ~0 w5 v/ _" T. _. ^6 j5 k" `2 ]0 E9 n2 T
2  建立模型7 W# c1 q* @) v% `+ q# j( q( ^" z: _
% a* v7 ]* `* p" ~9 q; ~- y3 w
(1)问题分析  l3 |! l# T. ]/ y% U

4 W1 v- t' d9 u  ?& e5 _2 t- l3 t这个实例考虑的是在有限的计划期内,给定产品结构、生产能力和相关费用及零 部件或成品(以下统称为生产项目)在离散的时间段上(这里是周,也可以是天、月等) 的外部需求之后,确定每一生产项目在每一时间段上的生产量(即批量),使总费用最 小。由于每一生产项目在每一时间段上生产时必须经过生产准备(setup),所以通常的 讨论中总费用至少应考虑生产准备费用和库存费用。其实,细心的读者一定会问:是否需要考虑生产的直接成本(如原材料成本、人力成本、电力成本等)?这是因为本例中 假设了不能有缺货发生,且计划初期和末期的库存都是 0,因此在这个 6 周的计划期内 A的总产量一定正好等于 A的总需求,所以可以认为相应的直接生产成本是一个常数, 因此就不予考虑了。只要理解了我们下面建立优化模型的过程和思想,对于放松这些假 定条件以后的情形,也是很容易类似地建立优化模型的。+ D* L) K3 p6 X& G  o8 @- E$ J
8 L+ T# R) g8 q5 e3 C
(2)符号说明9 y( `6 b. w7 h) J
$ m% h$ k7 [, y8 k
为了建立这类问题的一般模型,我们定义如下数学符号: 9 B+ @& ?1 K' `: B% B9 t
) y8 c# E9 m5 C+ \; L5 a: f0 t
N :生产项目总数(本例中 N =7);
! i. W3 `! F" Y6 P& ?
- [! E' A5 B, F% E- W. m3 h6 |T :计划期长度(本例中 T =6) ;0 G1 ^$ N$ i2 H2 z6 w

# F2 j4 D. T" k+ EK :瓶颈资源种类数(本例中 K =1 ); & S- \, E: I7 F

( F& g1 t/ e  d- L8 [$ ZM :一个充分大的正数,在模型中起到使模型线性化的作用;" V5 o" f1 t1 E6 u( \1 V# @& O
: I& w) S# {. t# R# G9 l
:项目i在t时段的外部需求(本例中只有产品 A有外部需求);
" t, z2 m0 H' w; w; j
. r' B+ ?( l4 \$ p :项目i在t时段的生产批量; 9 p7 \) \* A1 Z( J8 W5 q1 H; I
$ Z) T" w; q5 P: f
:项目i在t时段的库存量;
" ?: D# V. p( V  O5 ]5 A( ~& Q% M' h! }$ ~
:项目i在t时段是否生产的标志(0:不生产,1:生产);
7 v5 i% e6 {1 E7 g$ z8 I8 }. R
) K; y- Y; i, u" ` :产品结构中项目i的直接后继项目集合;
5 G7 r' P$ D7 a, ~  c! [' m
- [9 t0 |  {. G8 S2 f; m4 F0 Q :产品结构中项目 j 对项目i的消耗系数;
* \2 A, F) Y, \& ~, s/ R' Z7 b8 J4 _
:项目i在t时段生产时的生产准备费用; + j. y4 C* i. b: @5 e2 d; B% R5 N
( c1 h3 g# |, p* i! h: t& V# l
  :项目i在t时段的单件库存费用;
2 G, T: d& d8 a* N+ s) Y) s
7 s4 r6 j( H  X9 _0 J$ H  P :资源k 在t时段的能力上限;
0 a% F* z5 G3 ]0 P
: ~2 A; h$ f7 Y :项目i在t时段生产时,生产单个项目占用资源k 的能力;
4 V6 i0 ]/ o# m& O; E  [1 O2 u1 ^* {5 M

8 T" k) M: s7 E/ t! [' n7 O
* |* E& j# N; u4 Y(3)目标函数' `8 U) ]( x% f/ u2 r4 P1 g

# f8 N5 D7 z5 q5 @1 S; z2 y( K这个问题的目标是使生产准备费用和库存费用的总和最小。因此,目标函数应该 是每个项目在每个阶段上的生产准备费用和库存费用的总和,即
5 x, }# P, {& V2 v* c0 O% m' M) Q; E. [
                                 ( 1 )
/ o; n# Z8 z( W* T8 j" ~9 h2 h. V( E0 f  I0 j/ N
(4)约束条件* I, [4 F, y& Q$ V

  k+ M6 S" n( Z  J3 W$ ?7 C% I. v这个问题中的约束有如下几类:每个项目的物流应该守恒、资源能力限制应该满足、每时段生产某项目前必须经过生产准备和非负约束(对  是  0− 1约束)。 所谓物流守恒,是指对每个时段、每个项目(图中一个节点)而言,该项目在上一个时段的库存量加上当前时段的生产量,减去该项目当前时段用于满足外部需求的量 和用于组装其它项目(直接后继项目)的量,应当等于当前时段的库存量。具体可以写成如下表达式(假设 ):
  U$ X6 b+ l) F& i& l( j6 e5 q) @+ y4 L% ~' t0 o
                       ( 2 )       1 e  Z' U* c" ?  U4 X& `

- V- N* M7 h" U2 a% j资源能力限制比较容易理解,即
2 k0 M, j' G8 {4 T8 j
" c! {  E% I7 r6 r  Q                      ( 3 )         
0 a; ~& p* {! X& d4 x/ e' x" r5 T* Q
; g9 a" h( t* v6 j. I
) ]( i7 S) j# ^7 f
3  求解模型 + @5 n1 j" \0 d2 c$ \; t

" t! ?* [. n1 D  n3 {! o1 q( |. C
& }1 b2 l/ C2 m
8 r; d0 I$ I# a7 I# O, K
' W; Y# G# S( {* ]6 M
; S% ]+ r9 V) _3 L6 W- p! m& M% J- v( A  E: J' [  ?* |: Z' c! Q

1 b  ?* Z3 G- a* }) }MODEL:
* ]" w* `8 Q) F3 d  w5 PTITLE 瓶颈设备的多级生产计划;
* D3 }! @  Z  ]: K8 v8 zSETS:
' f/ O$ Q3 M- h! j- d) B: f! PART=项目集合,Setup=生产准备费,Hold=单件库存成本,   A=对瓶颈资源的消耗系数;
$ Q$ \+ X# d. ?5 p! a1 a4 MPART/A B C D E F G/:Setup,Hold,A; " x4 A& b/ Q0 w9 S1 Y
! TIME=计划期集合,Capacity=瓶颈设备的能力; * o* G, R' p& |- g1 x; r( }8 u" n
TIME/1..6/:Capacity; + R7 n8 B6 e! D. f( j) v+ }
! USES=项目结构关系,Req=项目之间的消耗系数; ) h& T2 J0 P1 W: l4 ]/ Q
USES(PART,PART):Req; ; ?6 U1 J( c1 G# N  F( G& \% I1 Z
! PXT=项目与时间的派生集合,Demand=外部需求,   X=产量(批量), Y=0/1变量,INV=库存; PXT(PART,TIME)emand,X,Y,Inv;
9 k" i% E- y5 I, U, }ENDSETS 1 }2 L# Y' q2 ?3 A' P
! 目标函数;
4 l1 u& v" {, f. \$ |, I[OBJ]Min=@sum(PXT(i,t):setup(i)*Y(i,t)+hold(i)*Inv(i,t)); / P2 x! z) Y# s5 N, d- y
! 物流平衡方程;
5 f! f5 E& x8 m  C# r& R@FOR(PXT(i,t)|t #NE# : C8 O3 F7 [" F8 s5 P
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#   e. ]& J' J$ c. h( W
1:[Ba0]X(i,t)-Inv(i,t)=Demand(i,t)+@SUM(USES(i,j):Req(i,j)*X(j,t) ));
/ ~- \  A0 J5 C6 h- [! 能力约束;
7 q# U( C; N3 `; k# q" C+ J@FOR(TIME(t):[Cap]@SUM(PART(i):A(i)*X(i,t))<Capacity(t));  5 A6 p  Z1 Q+ {. K) w
! 其他约束; : d- {0 M! l1 a' j7 ]* ]& Z& ~
M = 25000; ) L2 M9 @, W, P- ]/ z
@FOR(PXT(i,t):X(i,t)<=M*Y(i,t));
" z2 X) F6 m, _# k7 n, ]* i  V0 L@FOR(PXTBIN(Y));
: ?! D) Z4 P( _+ k) [DATA: : A) D' G. {- x
Demand=0;Req =0;  
' ?2 }$ f5 Y4 c! tCapacity=10000 0 5000 5000 1000 1000; 1 {* N" T9 i7 ]$ c! N0 V
Setup=400 500 1000 300 200 400 100; , b3 f" S5 X$ Z/ c9 B" T
Hold=12 0.6 1.0 0.04 0.03 0.04 0.04; $ e. O2 s5 [' u5 P
A=0 5 8 0 0 0 0;
" C; I  M; d3 O6 q$ W; J; U$ xENDDATA
* ^# |- t7 s& TCALC:
8 g" z. Y4 x5 ?demand(1,1)=40;demand(1,3)=100; ) t9 r) V% b" A: d2 ?
demand(1,5)=90;demand(1,6)=10;
; X3 @) a; ?: p$ y5 Greq(2,1)=5;req(3,1)=7;req(4,2)=9;
$ f% |7 R9 g6 v; k+ v+ K" Creq(5,2)=11;req(6,3)=13;req(7,3)=15; - {% y6 s: @( p6 Y1 w% G
ENDCALC
8 I, J( _' V+ Z+ c' h( Q; s# @; REND: v  p' |/ F4 N

8 w. d) g" Q$ U2 G: D3 v0 {7 |6 L8 Z0 g
# Z) y" d) |" p& |8 P3 ]# g1 A习题:! h; K( ?+ x3 n& T% m
3 J. h# X$ _) i% ~
1.某农户拥有 100 亩土地和 25000 元可供投资,每年冬季(9 月中旬至来年 5 月 中旬),该家庭的成员可以贡献 3500h 的劳动时间,而夏季为 4000h。如果这些劳动时 间有富裕,该家庭中的年轻成员将去附近的农场打工,冬季每小时 6.8 元,夏季每小时 7.0 元。
/ R& p1 h: g" ~6 l/ ?% h2 H2 E) O2 e7 K
现金收入来源于三种农作物(大豆、玉米和燕麦)以及两种家禽(奶牛和母鸡)。 农作物不需要付出投资,但每头奶牛需要 400 元的初始投资,每只母鸡需要 3 元的初始 投资。每头奶牛需要使用 1.5 亩土地,并且冬季需要付出 100h 劳动时间,夏季付出 50h 劳动时间,每年产生的净现金收入为 450 元;每只母鸡的对应数字为:不占用土地,冬 季 0.6h,夏季 0.3h,年净现金收入 3.5 元。养鸡厂房最多只能容纳 3000 只母鸡,栅栏 的大小限制了最多能饲养 32 头奶牛。
+ }* z3 G5 O  `  Y0 Z) Q) X0 o9 y" u
; N+ W* z; y/ w  A根据估计,三种农作物每种植一亩所需要的劳动时间和收入如表 11 所示。建立数 学模型,帮助确定每种农作物应该种植多少亩,以及奶牛和母鸡应该各蓄养多少,使年净现金收入最大。
# Y! \, X! m* [" B# R( p; t0 D) }3 W' V& [

- Z$ w; F: X) q  O/ D
! w% Y$ r  r- x2 @7 V: x  v% o2.如图 4,有若干工厂的排污口流入某江,各口有污水处理站,处理站对面是居 民点。工厂 1 上游江水流量和污水浓度,国家标准规定的水的污染浓度,以及各个工厂 的污水流量和污水浓度均已知道。设污水处理费用与污水处理前后的浓度差和污水流量 成正比,使每单位流量的污水下降一个浓度单位需要的处理费用(称处理系数)为已知。 处理后的污水与江水混合,流到下一个排污口之前,自然状态下的江水也会使污水浓度降低一个比例系数(称自净系数),该系数可以估计。试确定各污水处理站出口的污水 浓度,使在符合国家标准规定的条件下总的处理费用最小。
* a& t- t1 f6 x+ `5 s
  r* `/ Z& z  A2 f+ r1 k6 ~) Y  @4 [
" }+ x0 W7 S. m* y& s6 K. [% B0 P. ?
5 B) G3 Z7 l- `, B% A

1 Q( d/ k0 G* h5 x$ \8 W, Z先建立一般情况下的数学模型,再求解以下的具体问题:
) e8 r/ p. _5 S; L5 d' {' |+ f" x- J- z' `3 m, _, r
(1)为了使江面上所有地段的水污染达到国家标准,最少需要花费多少费用?
5 K. t, ^3 s8 C, Z* _3 a6 y; j1 ^( p. q& @3 ]5 }5 P& D
(2)如果只要求三个居民点上游的水污染达到国家标准,最少需要花费多少费 用? + N" {' ?* H. T8 N1 T6 L1 L( F
————————————————; b) H$ j* S  D" m
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
, B8 W$ v- Q: k, W. U% p, G原文链接:https://blog.csdn.net/qq_29831163/java/article/details/894139039 \3 ~2 e  a" L8 M5 H1 k

5 P5 }& }' N$ l% ?8 }( {4 [8 j( R4 z0 {/ I; B$ a





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