Basic Factory Dynamics
A theory should be as simple as possible, but no simpler.
– Albert Einstein
IE7315: Production Systems (Source:
HAL Case – PCB Manufacturing
Large Panel Line: produces “unpopulated” PCBs
Production Process:
• Lamination: press copper and prepreg into core blanks
• Machining: trim cores to size
• Circuitize: etch circuitry into copper
• Optical Test and Repair: scan panels optically for defects
• Drilling: holes to provide connections between layers
• Copper Plate: deposits copper in holes to establish connections
• Procoat: apply plastic coating to protect boards
• Sizing: cut panels into boards
• End of Line Test: final electrical test
2
HAL Case – Recent Production Info.
• Line runs 24 hr/day
• Makes a variety of PCBs (both multi-layer and single-layer)
• Line “Capacity” Data Process Rate (p/hr) Time (hr)
Lamination 191.5 1.2
Machining 186.2 5.9
Circuitize 150.5 6.9
Optical Test/Repair 157.8 5.6
Drilling 185.9 10.0
Copper Plate 136.4 1.5
Procoat 146.2 2.2
Sizing 126.5 2.4
EOL Test 169.5 1.8
rb, T0 126.5 33.1
Notes: - Certain processes have duplicate machines
- Process is a batch process
- Consequence: No direct relationship between rate and time 3
HAL Case – Recent Performance
Recent Performance:
• throughput = 1,100 panels per day (45.8 panels/hr)
• WIP = 37,000 panels
• CT = 34 days (816 hr)
• customer service = 75% on-time delivery (goal: 90%)
How is HAL doing?
What data do we need to decide?
4
HAL Case - Science?
External Benchmarking
• but other plants may not be comparable
Internal Benchmarking
• capacity data: what is utilization?
• but this ignores WIP effects
Need relationships between WIP, TH, CT, service!
5
HAL Internal Benchmarking Outcome
rb = 126.5 j/hr T0 = 33.1 hr
Best Case
120 "Good" Region
100 Practical Worst Case
TH (panels/hr)
80
60 "Bad" Region
40
Actual
20 Performance
Worst Case
0
0 10000 20000 30000 40000 50000
WIP (panels)
6
Terminology
• Workstation: “collection” of one/more identical machines
• Routing: workstation sequence needed to make a part
• Line Throughput (TH): parts produced by line per unit time
• Capacity: upper limit on process TH
• Line Cycle Time (CT): time for the part to traverse the line
• Utilization: % of time workstation is not idle
• Accounts for detractors (e.g., machine failures, setups) and lack of parts/work
Utilization= (Arrival rate)/(Effective production rate)
7
Line Parameters
S1 S2 S3 S4
Station
• Bottleneck Rate (rb): Rate of workstation with the “highest” long-
term utilization (parts/unit time)
• Not necessarily rate of slowest machine (multiple routings)
• Short-term bottlenecks can also be important
• Raw Line Process Time or Cycle Time (T0): Sum of the long-term
average process times of each station in the line
• Critical Work-In-Process (WIP) (W0): “minimum” WIP level at which
a line having no congestion would achieve maximum TH (i.e., rb) with
minimum cycle time (i.e., T0):
W0 = rb T0
8
A Manufacturing Law
Little's Law: The fundamental relation between WIP, CT, and TH
over the long-term is:
WIP = TH CT
units
units = hrs
hr
Little’s law holds for all production lines!
9
Best Case: Penny Fab Example
Punching Stamping Rimming Deburring
Characteristics:
• Four identical tools in series
• Each takes 2 hours per piece (penny)
• No variability WIP TH CT TH x CT
• CONWIP job releases
1
2
Parameters: 3
rb = 0.5 pennies/hour 4
5
T0 = 8 hours 6
7
W0 = 0.5 8 = 4 pennies 8
= 0 (no variability, best case conditions)
Notes: - Tandem line
- Capacity of each machine is the same (balanced line)
- In balanced lines, W0 is always equal to number of machines in the line 10
“TH vs. WIP” and “CT vs. WIP”: Best Case
Punching Stamping Rimming Deburring
.4 16
Throughput (Jobs/hr)
Cycle time (Hours)
.3 12
.2 8
.1 4
0
0 2 4 6 8 0 2 4 6 8
WIP (Jobs) WIP (Jobs)
11
TH vs. WIP: Best Case
0.6
rb 0.5
0.4
TH 0.3
0.2
1/T0 0.1
0
0 1 2 3 4 5 6 7 8 9 10 11 12
WIP
W0
12
CT vs. WIP: Best Case
32
28
24
20
16
CT Justify
12
T0 8
4
0
0 1 2 3 4 5 6 7 8 9 10 11 12
WIP
W0
13
Best Case Performance
Best Case Law: The minimum cycle time (CTbest) for a given WIP
level, w, is given by:
T 0 , if w W 0
CTbest =
w / rb , otherwise.
Maximum throughput (THbest) for a given WIP level, w :
w /T 0 , if w W 0
THbest =
rb , otherwise.
14
Penny Fab Two
Punching Stamping Rimming Deburring
Station Number of Process “Station”
Number Machines Time Rate
1 1 2 hr j/hr
2 2 5 hr j/hr
3 6 10 hr j/hr
2 hr
5 hr 3 hr 4 2 3 hr j/hr
Notes: - Unbalanced line
- W0 is not equal to num. of machines
10 hr
rb = 0.4 j/hr T0 = 20 hr rbT0 = 8 j
W0 = ___________
15
Worst Case: Penny Fab Example
Observation: Best Case yields the minimum cycle time and maximum throughput for each WIP
level.
Question: What conditions would cause the maximum cycle time and minimum throughput?
Experiment:
• Set average process times same as Best Case (so rb and T0 unchanged)
while making the following changes:
• Machine is setup once every four jobs for 8 hrs
• Processing times are negligible
Or
• Jobs are moved between machines in batches of four
• Follow a marked job through the system
• Notice that jobs are experiencing “maximum” queuing
16
Worst Case Penny Fab
4
3
Time: 2 1 Time:
0 hours 16 hours
STATION #2 #3 #4 STATION #2 #3 #4
#1 #1
Time: Time:
8 hours STATION #2 #3 #4 24 hours STATION #2 #3
#1 #1
Note:
CT = 32 hours
= 4 8 = wT0
TH = 4/32 = 1/8 = 1/T0
17
TH vs. WIP: Worst Case
rb = 0.5 j/hr T0 = 8 hr CONWIP
0.6
Best Case
rb 0.5
TH 0.4
0.3
Justify
0.2 Worst Case
1/T0
0.1
0
0 1 2 3 4 5 6 7 8 9 10 11 12
WIP
W0 18
CT vs. WIP: Worst Case
rb = 0.5 j/hr T0 = 8 hr CONWIP
32
28
Worst Case
24
20 Justify
16
CT
Best Case
12
T0 8
4
0
0 1 2 3 4 5 6 7 8 9 10 11 12
WIP
W0 19
Worst Case Performance
Worst Case Law: The worst case cycle time for a given WIP
level, w, is given by,
CTworst = wT 0
Worst case throughput for a given WIP level, w, is:
THworst = 1 /T 0
Randomness? None - perfectly predictable, but bad!
Note: It is interesting to see that both the “best case” and “worst
case” performances occur in systems with no randomness 20
Practical Worst Case: Motivation
Observation: BIG GAP between the Best Case and Worst Case
performance
Question: Can we find an intermediate case that:
• divides “good” and “bad” lines, and
• is computable?
Setting: consider a line with a given rb and T0 and:
• Single machine stations
• Balanced lines
• CONWIP control
• Variability such that all WIP configurations (states) are equally likely
• Exponential process cycle times (memory less)
• f (t )=e -t
21
Practical Worst Case Example – 3 jobs, 4 stations
clumped
up states
State Vector State Vector
1 (3,0,0,0) 11 (1,0,2,0)
2 (0,3,0,0) 12 (0,1,2,0)
3 (0,0,3,0) 13 (0,0,2,1)
4 (0,0,0,3) 14 (1,0,0,2)
5 (2,1,0,0) 15 (0,1,0,2)
6 (2,0,1,0) 16 (0,0,1,2)
7 (2,0,0,1) 17 (1,1,1,0)
8 (1,2,0,0) 18 (1,1,0,1)
9 (0,2,1,0) 19 (1,0,1,1)
10 (0,2,0,1) 20 (0,1,1,1) spread
out states
Note: average WIP at any station is 15/20 = 0.75,
so jobs are spread evenly between stations.
22
Practical Worst Case
Notation:
w = jobs in system
N = no. stations in line Processing time
t = avg. process time Queuing time
at all stations
w -1
t
(balanced) CT(single) = 1 +
N
CT(line) = N [1 + (w − 1) / N ]t
= Nt + (w − 1)t
= T 0 + (w − 1) / rb
TH = WIP / CT From Little’s Law
= [w /(w + W 0 − 1)]rb
23
Practical Worst Case Performance
Practical Worst Case Definition: Practical worst case (PWC)
cycle time for a given WIP level, w, is given by:
w −1
CTPWC = T 0 +
rb
PWC throughput for a given WIP level, w, is given by:
w
THPWC = r
W0 + w − 1 b
where W0 is the critical WIP.
Notice that the behavior of this case is reasonable for both
extremely low (w=1) and extremely high (w=) WIP levels 24
TH vs. WIP: Practical Worst Case
rb = 0.5 j/hr T0 = 8 hr
0.6
Best Case
rb 0.5
TH 0.4 “Good” PWC
0.3
0.2 “Bad” Worst Case
1/T0 0.1
0
0 1 2 3 4 5 6 7 8 9 10 11 12
WIP
W0 25
CT vs. WIP: Practical Worst Case
rb = 0.5 j/hr T0 = 8 hr
32 Worst Case PWC
28 “Bad”
24 Best Case
20 “Good”
16
CT
12
T0 8
4
0
0 1 2 3 4 5 6 7 8 9 10 11 12
WIP
W0 26
Basic Factory Dynamics: Internal Benchmarking
Assumptions: CONWIP Control, Balanced Lines, Single-Machine Stations
THROUGHPUT CYCLE TIME
No Variability ▪ Best case throughput for a
Coordination
▪ Best case cycle time for a
BEST CASE:
& Perfect given WIP level, w:
given WIP level, w:
w /T 0 , if w W0 T 0 , if w W0
THbest = CTbest =
w / rb , otherwise.
rb , otherwise.
Exponential
PWC CASE:
Variability
▪ Practical worst case throughput ▪ Practical worst case cycle time
for a given WIP level, w: for a given WIP level, w:
w w −1
THPWC = rb CTPWC = T0 +
W0 + w − 1 rb
WORST CASE:
No Variability
Coordination
But Worst
▪ Worst case throughput for a ▪ Worst case cycle time for a
given WIP level, w: given WIP level, w:
THworst = 1 /T 0 CTworst = wT 0 27
How to Improve a Bad Line?
• Three Assumptions of PWC:
• Single machine stations
• Balanced lines
• All WIP states are equally likely (exponential processing times)
• Improving any of the above will improve line performance (even if rb
is not increased):
• Parallel machines (with equal aggregate capacity) in place of a single
machine
• Unbalancing the line (by adding more capacity at certain stations) reduces
blocking and starvation of machines
• Reducing variability of processing times to less than that implied by the
exponential distribution will improve TH and CT for any WIP level
28
Penny Fab Two Performance
rb = 0.4 j/hr T0 = 20 hr
0.5
Best Case
rb 0.4 Note: process
times in PF2 have
0.3 variance equal
TH to PWC
0.2
But… unlike PWC,
it has unbalanced
0.1 line and multi-
Worst Case
1/T0 machine stations
0
0 4 8 12 16 20 24
WIP
W0 29
Penny Fab Two Performance (cont.)
rb = 0.4 j/hr T0 = 20 hr
75 Worst
Case
60
45
CT 1/rb
30
T0
15 Best Case
0
0 4 8 12 16 20 24
WIP
W0 30
Back to the HAL Case
rb = 126.5 j/hr T0 = 33.1 hr
Critical WIP:
• rbT0 = 126.5 33.1 = 4187
Actual Values:
• CT = 34 days = 816 hours
• WIP = 37400 panels
• TH = 45.8 panels/hour
Conclusions:
• Throughput is 36% of capacity
• WIP is 8.9 times critical WIP
• CT is 24.6 times raw process time
31
HAL Case - Analysis
WIP Required for PWC to Achieve TH = 0.36rb:
w
TH = rb = 0.36rb
w + W0 − 1
0.36 0.36 Much lower than
w = (W 0 − 1) = (4,187 − 1) = 2,355
0.64 0.64 actual WIP!
TH Resulting from PWC with WIP = 37,400:
w 37,400 Much higher
TH = rb = 126.5 = 113.8 than actual TH!
w + W0 − 1 37,400 + 4,187 − 1
Conclusion: actual system is much worse than PWC! 32
Factory Physics: HAL Internal Benchmarking Outcome
HAL Line Parameters:
rb = 126.5 j/hr T0 = 33.1 hr
Best Case
120 90% “Lean" Region Practical
TH (panels/hr)
Worst Case
100 75%
Assumptions (PWC):
80 - Balanced lines
50% - CONWIP control
60 - Single machine stations
"Bad" Region
40 HAL Actual
20 Performance
0 Worst Case
0 10000 20000 30000 40000 50000
WIP (panels) 33
Bottlenecks
• Bottlenecks are important for they establish line capacity
• Bottleneck location matters (e.g., Herbie from The Goal: Help Herbie!)
• Bottlenecks can float (e.g., depending on product mix)
• Long-term vs. short-term (dynamic) bottlenecks
CT1 =10 min 10 min 10 min 15 min
#1 #2 #3 #4
◼ How to improve performance?
• Speedup Bottleneck: Preference?
• Speedup machine #4 to balance the line
◼ Can increasing capacity of non-bottleneck machines help?
• Speedup Non-Bottleneck Machines:
• Reduce processing times for machines 1, 2, and 3 to 5 minutes
34
Bottleneck Rates and Cycle Time …
Speedup Bottleneck Speedup NonBottlenecks
(rb=0.1 j/min) (rb = 0.66 j/min)
10 min 10 min 10 min 10 min 5 min 5 min 5 min 15 min
#1 #2 #3 #4 #1 #2 #3 #4
0.11 0.07
0.09 0.06
0.07 0.05
TH
TH
0.05 0.04
0.03 TH PWC 0.03 TH PWC
TH-New PWC-New TH-New PWC-New
0.01 0.02
0 2 4 6 8 10 12 0 2 4 6 8 10 12
WIP WIP
Note Differences In Reduces Blocking &
TH “Scale” Starving of Bottleneck 35
Factory Dynamics Takeaways
• Performance Measures:
• Throughput (TH)
• Work-in-Process (WIP)
• (Line) Cycle Time (CT)
• Service level (or fill rate)
• Function of CT variability and FGI
• Range of Cases:
• Best Case
• Practical Worst Case
• Worst Case
• Diagnostics:
• Simple assessment based on rb, T0, actual WIP, actual TH
• Evaluate relative to practical worst case
36