Chapter 5 Flow Lines

advertisement
Chapter 5
Flow Lines
• Types
• Issues in Design and Operation
• Models of Asynchronous Lines
– Infinite or Finite Buffers
• Models of Synchronous (Indexing) Lines
• Closed-Loop Material Handling
Focus on the impact of variability on design, operation, and
performance.
1
Types of Flow Lines
• Paced vs. unpaced
• Job movement between work stations
– Indexing (synchronous) lines: all jobs move
simultaneously
• Paced: Limit on time available to complete each task
• Unpaced: No transfer until all tasks completed
– Asynchronous: no coordination between movements at
different stations (usually unpaced)
• Blocking or starvation may occur
• Task times by human operators are highly variable!
2
Design & Operational Issues
• Configuration and Layout
– Number of stations: If TH* is the required throughput and average
total time (work content) for each job is W, then the minimum
number of stations is m*=W TH*. Actually will need more
because
• Imperfect line balance means work at each station is not exactly W/m*
• Operator task time variability causes delays
• Quality problems may require rework
• Paralleling
– A long task may require several stations in parallel in order to
balance with other stations
• Storage space for in-process inventory: location and size
3
Fluid Model for Deterministic Serial
Queuing System (Hall)
upstream
Suppose N single-server stations in series,
each with own unlimited queue
Up to time t,
An (t )  cum. arrivals at server n
Q1
s1
D n (t )  cum. departures from server n
At time t,
 An (t )  D n (t )
n (t )  arrival rate to server n
 n (t )  departure rate from server n
downstream
Ln (t )  no. of customers at server n
Q2
s2
4
Deterministic Fluid Model (cont-1)
Given:
 n  service rate of server n
 n  travel time from server n  1 to server n
The queues are related by:
An  t   D n 1  t   n  , 2  n  N
n  t  , if Ln  t   0
n  t   
n
  n , if L  t   0
For N = 2, if we could increase either 1 or 2 ,
which would provide more improvement in performance?
5
Deterministic Fluid Model (cont-2)
• The naïve approach is to attempt to decrease the queue
that’s larger (station 1)
– But this just shifts the waiting time downstream
– In mfg. this is worse because downstream WIP is more valuable
• Better to increase the service rate of the bottleneck server,
i.e., the last place at which a queue is encountered
– With deterministic service times, the bottleneck is the server with
the smallest capacity (service rate)
6
Asynchronous Lines with Unlimited Buffers
Assume that arrivals (job orders) to the line follow a Poisson
process with rate , and that stage i has ci parallel stations,
each with service time exponentially distributed with rate
i, i=1, …, m.
Recall that the departure process from an M/M/1 queue is
Poisson with rate equal to the arrival rate. The same is true
for an M/M/c system. Then each stage is effectively an
M/M/ ci queue with arrival and departure rate equal to .
As long as /(ci i) < 1, throughput =  regardless of the
values of ci and i ! However, the configuration and
processing rates of the stages do affect the amount of WIP
in the line.
7
Average Number of Jobs in System
Formally, if Ni is the steady-state number of jobs at stage i,
then for  i = /( ci i) < 1, i=1, …, m,
  c i ki
p0 , 0  ki  ci

 ki !
P  N i  ki   
c
k
 ci i i i
 c ! p0 , ki  ci
 i
and if the expected number of jobs in an M/M/c system with c
parallel servers and server utilization  is Nˆ (  , c),
then the average number of jobs in the system is
E  N   i 1 Nˆ ( i , ci )
m
8
Work Load Allocation
Suppose that the total work for a job (total expected
processing time) is W, and that of this total, wi is allocated
to stage i. Then i = 1/ wi. To minimize WIP, we want to
  wi 
ˆ
min  i 1 N 
, ci 
 ci

m
s.t.  i 1 wi  W
m
The function Nˆ (  , c) is increasing and convex in  , i.e.,
2 ˆ
ˆ (  , c)

N

N (  , c)
ˆ
N '(  , c) 
 0 and
0
2


9
Work Load Allocation (cont)
The solution to this optimization problem will satisfy:
 ˆ   wi* 
N '
, ci   constant, i  1,..., m.
 ci

The function Nˆ '(  , c) is decreasing in c. So for ci < cj,
ci
*
*
*







w

w
 wi
ci ˆ
j
j
ˆ
ˆ
N '
, ci   N ' 
, c j   N '
,cj 
 cj

 cj

 ci
 cj




*
*
implies that w j c j  wi ci . Therefore, if each stage has an
equal number of servers, the workload should be allocated
evenly among stages. But if not, allocate more work per
server to stages with more servers.
10
General Interarrival and Service Times
Model each stage as a GI/G/c system, then use favorite
approximation for the system population (see Table 3.1)
Nˆ GI / G /1 (, Ca 2 , , CS 2 , ci )
where Ca2i1  Cd2i   , Ca 2 ,  , CS 2 , ci  , i  1,..., m  1; Ca21  Ca2
Then use (3.160) to estimate E  NGI / G / c 
2
2
C
and
C
Impact of variability: E[Ni] increases with a
S .
If sequence of stations visited can be changed, average flow
time is minimized by putting the stations with less variable
service times first.
11
Asynchronous Lines with Finite Buffers
• Single station (server, machine) per stage
• Production blocking: A station is blocked if a completed
job cannot be moved out of the station because the
downstream buffer is full. If a job is available for
processing, the station will process the job if it is not
blocked.
• bi is the limit on the total number of jobs waiting for
processing or in process at station i
It can be shown that throughput increases with the buffer
sizes. How can we compute or estimate it?
12
3 Stages, Exponential Service Times
Assume an infinite number of jobs in front of station 1 (high
demand, unlimited raw material)
N2(t) = the number of jobs that have been processed by station
1 but not yet completed by station 2; N3(t) is the
corresponding quantity for station 3.
{N2(t), N3(t), t  0} is a Markov chain with possible states
S   n2 , n3  : 0  n2  b2  1,0  n3  b3  1, n2  n3  b2  b3  1
(Ni(t) = bi + 1 if stage i - 1 is blocked)
Let
p  n2 , n3   limt  P N2 (t )  n2 , N3 (t )  n3
13
Transition Diagram
0,0
0,n3
0,1
1,n3-1
1,0
n2-1,0
n2-1,1
n2,0
n2,1
n2+1,0
0,n3+1
n2-1, n3
n2-1, n3+1
n2,n3-1
n2, n3
n2,n3+1
n2+1, n3-1
n2+1, n3
b2-1, b3+1
b2,b3
b2+1,1
b2+1, n3-1
0,b3+1
1,n3
b2,0
b2+1,0
0,b3
b2+1, n3
b2+1, n3+1
b2,b3+1
b2+1, b3
14
Throughput
• Steady-state balance equations (p. 189) can be solved
numerically; then

TH  3 1  n 0 p(n2 ,0)
b2 1
2

• If b2 = b3, throughput is maximized by putting the fastest
station (largest ) in the middle – true for nonexponential
processing times as well.
15
3 Stages, No Buffer Space
1
0,0
3
0,0
1
2
3
0,1
0,2
1,0
1
2
3
1,0
1,1
1,2
2,0
1
2
3
2,0
2,1
0,1
1
2
3
1,1
1
2
3
2,1
1
2
3
0,2
1
2
3
1,2
1
2
3
2
p. 190: Throughput is
symmetric in 1, 3.
Maximize throughput
with 2 = max(1, 2, 3)
16
Multiple Stages
• Can form a Markov chain model for N2 (t ),..., Nm (t ), t  0
but it’s very unwieldy, with many states. There are some
iterative algorithms to approximate the throughput (5.4).
• Optimal workload allocation:
Let ki  1  bi  2 , i  2,..., m, and k1  km1  0.
The optimal proportion of the total workload to allocate to
stage i is wi*
1  ki  ki 1
W

 1  k
m
j 1
j
 k j 1 
• The optimal allocation of (m-1)b buffer spaces is
bi  b, i  2,..., m.
*
17
Allocating Workload: Summary
• Unlimited buffers:
– Equalize workload among stages if single
server per stage
– Allocate more work per server to stations with
more servers
• Limited buffers:
– Faster servers (less work) in middle stations
• Avoid blocking early stages, starving late stages
– Allocate buffer space evenly
18
Indexing Lines
• Jobs move simultaneously between m stations
– Unpaced: Move takes place when each station has completed its
task.
• Line balancing is done on the basis of expected task times
• Actual task times are random
• Actual throughput and utilizations depend on distribution of longest
task time
– Paced: Moves take place at fixed time intervals
• Gross production rate is reciprocal of this interval
• Quality declines as interval is shortened
• Tradeoff to determine optimal time interval
19
Unpaced Lines
Ti is the random time to complete task i, i = 1,…,m
The time between successive moves is a random variable
  max T1 , T2 ,..., Tm .
The utilization of station i and the throughput are given by:
E Ti 
1
i 
, TH 
.
E 
E 
Line balancing seeks to maximize throughput by assigning
elemental (nondivisible) tasks to stations to minimize
max  E T1  , E T2  ,..., E Tm 
subject to constraints on precedence and task combinations
that can be assigned to the same station.
20
Unpaced Lines (cont-1)
However, TH 1  E     max E T1  , E T2  ,..., E Tm 
To see the impact of variability on throughput, we will look at
an approximation to the distribution of . Assume that the
random variables Ti are independent with identical
distributions, FT  t   P Ti  t. Then
F  t   P   t  i 1 P Ti  t   FT  t  
m
m
For many distributions, the right tail can be approximated by
an exponential function, i.e., for t sufficiently large,
P T  t  1  FT  t   ket .
21
Unpaced Lines (cont-2)
Let tm be the value of t such that P T  tm   m1 .
Using the exponential approximation, for t > tm
1
1  FT  t   P T  t  e  (t tm ) .
m
Then
m
 1  (t tm ) 
 ( t tm )
F  t   1  e

exp

e
 Fˆ  t 

 m



(after some more manipulation.) Also it can be shown that
0.577
 1 
ˆ
ˆ




E     tm 
and std    
.


 6
22
What’s  and How do we use this?
Suppose T is normally distributed with mean  and variance
2. If m = 10 then tm =  + z0.1 =  + 1.28. Also,
0.05  P T    1.64 
 0.1e  ( 1.64 ( 1.28 ))  0.1e0.36
So, 0.5  e 0.36 and    ln(0.5) 0.36 1.93 
0.577
0.577
ˆ


Finally, E    tm      1.28  1.93    1.58
Note: This value of  applies to m = 10 only! Re-do for other
values of m.
23
How do we use this? (cont)
The same analysis for m = 20 in the text (5.3.1) finds
E ˆ 20    20  1.94 20
Suppose we took a 20 station line and converted it to two
parallel lines of 10 stations each (each station in the 10
station line would have twice as much work.) Then
2
2
10  2 20 and  10   2  20 
and
2  20  1.94 20 
TH for the two 10-station lines 2 10  1.58 10 


1
1
TH for the 20-station line
2 20  1.58 2 20
 20  1.94 20 
1
24
Paced Lines
Ti is the random time to complete task i, i = 1,…,m .
The time between successive moves is a constant, .
The quality, Q(), is the probability that a product will not
contain any defects. We will take it to be the probability
that all stations complete their tasks within time , so that
m
m
Q    i 1 P Ti      FT   
where the last equality assumes that the times Ti are iid.
Note that Q() is the same as F  t  , the cycle time
distribution for the unpaced line. We will assume that 
is set large enough so that Q() is close to 1 and fits the
right-tail distribution:


Q  t   exp e  (t tm ) , where tm  FT1 1  m1 
25
Setting  to achieve a specified Q()
If we want a specified quality, Q*, we can determine what
must be the probability that a station finishes in time:
Q*  Q     FT   
m
 FT    Q *
1/ m
Table 5.3 in the text lists some of these values; e.g., if m =
10 stations and Q* = 0.98 then FT    0.99798.
To achieve this quality,   FT 1  0.99798 .
For example if T is normal ( , 2) then set  =  +z.002 
=  +2.88 
26
Setting  to maximize throughput
The gross production rate will be 1/. However,  should
not be set too low because quality declines. The rate at
which nondefective items are produced is
Q  
TH 

The throughput will be maximized when
TH  Q '    Q  

 0, or
d

See Fig. 5.5: Line from
Q  
Q '   
origin is tangent to Q()

27
Setting  to maximize throughput (cont-1)
Assuming Q  t   exp e  (t t )  ,
* will satisfy:   * t   ln  *
m
m
For example, suppose the task time at each station is normal
( , 2). Then   2/ (see slide 23) and
2
 2 
2  2
 *  ln   *     z1/ m  , or  *  ln   *     z1/ m

2 

 

If m=10 and CV =/=0.2, set * =  + x*  and the
equation reduces to: x *  12 ln 10  2 x *  z1/10  1.28.
Then by trial and error, x* = 2.65.
28
Setting  to maximize throughput (cont-2)
And if * =  + 2.65 , then

Q  *  exp e
 2 (  2.65  1.28  )
  0.94
0.94
0.63
TH 

  2.65(0.2 )

Throughput is less than  1  E T 
because (1) quality is not 100%, and (2) we have to build in
slack time to address the variability.
Note that * is actually a minimum value for  : If  > *
then throughput will decrease while quality improves but
if  < * both quality and net throughput decrease!
1
29
Download