DOTE2030 Lec 2
DOTE2030 Lec 2
DOTE2030 Lec 2
Process Capacity
◦ Bottleneck Formula
2
3
A single person process for making a wood toy.
Person A cuts wood into the appropriate toy shape. This takes 10 minutes per unit.
Question: Assuming there is an infinite supply of pieces of wood available, how many units per hour this
process can make at most?
cut
Person A, 10 mins
Answer:
4
A single person process for making a wood toy.
Person A cuts wood into the appropriate toy shape. This takes 10 minutes per unit.
Question: Assuming there is an infinite supply of pieces of wood available, how many units per hour this
process can make at most?
cut
Person A, 10 mins
Answer:
5
Process capacity is the maximum flow rate at which the process could be delivering output (in number of
flow units per unit of time) on average over the long run, assuming the best scenario possible.
Best scenario:
Unlimited inputs: e.g., enough pieces of wood to be transformed into toys
Unlimited demand: e.g., the point to ever produce is to satisfy demand
No flow interruptions: e.g., No strike, no break, no knife breakdown…
Each flow unit is good in quality
The time it takes to do an activity is constant: only for simplicity of analysis
…
Why capacity matters?
◦ Each flow unit has the potential to generate revenue (for for-profit organization) or social welfare (for
non-profit organization). Flow rate (resp., capacity) measures the (resp., maximum ) speed of gaining
revenue/social welfare.
◦ Process capacity sets a theoretical upper bound on flow rates. This bound is a fundamental property of
a process, and every control policy respects this bound, e.g., in flow time management. In practice, this
bound is seldomly achieved.
◦ A Real World system necessarily is infinitely complicated; and its exact description is essentially infinite.
To proceed with a real world problem, we have to make a scarce description instead. Capacity is one
such simple property, admittedly, does not capture every aspect of reality; however, it acts like a
principle that a process should respect for further analysis.
6
For the motivating example:
1. Compute the activity time and capacity of each resource.
Resource Activity time (min) Capacity (unit/min)
Person A 10 1/10
2. Identify the bottleneck resource(s) (i.e., resource(s) with the minimum capacity.
Bottleneck Person A
7
For the motivating example, Yes. Because:
◦ The following schedule achieves the bottleneck capacity 1/10 min: Flow unit 1 outputs in min 10, flow
unit 2 outputs in min 20, flow unit 3 outputs in min 30,…
Time (min) 10 20 30 40 50 60 70 80 90 …
Cut 1 2 3 4 5 …
Person A 1 2 3 4 5 …
8
A process for making a colored wood toy.
Person A cuts wood into the appropriate toy shape. This takes 10 minutes per unit.
Person A passes the toy to a painting machine to color. This machine takes 20 minutes to color each flow
unit.
Question: What is the capacity of this process?
cut color
Person A, 10 mins Painting machine, 20 mins
9
1. Compute the activity time and capacity of each resource.
Resource Activity time (min) Capacity (unit/min)
Person A
Painting machine
2. Identify the bottleneck resource(s) (i.e., resource(s) with the minimum capacity.
Bottleneck
10
1. Compute the activity time and capacity of each resource.
Resource Activity time (min) Capacity (unit/min)
Person A 10 1/10
Painting machine 20 1/20
2. Identify the bottleneck resource(s) (i.e., resource(s) with the minimum capacity.
Bottleneck Painting machine
11
Time (min) 10 20 30 40 50 60 70 80 90 …
Cut
Color
Person A
Painting machine
12
For example 2, Yes.
Time (min) 10 20 30 40 50 60 70 80 90 …
Cut 1 2 3 4 5 …
Color 1 1 2 2 3 3 4 4 …
Person A 1 2 3 4 5 …
Painting machine 1 1 2 2 3 3 4 4 …
Note:
(a) The above schedule stabilizes from min 21, and repeats the same pattern (schedule of activities and
resources) every 20 mins. This is called a “cyclic schedule”. A cyclic schedule always has a stabilized
pattern.
(b) Every repetition of the pattern outputs 1 flow unit and lasts 20 mins. Thus, the flow rate of this
schedule is 1/20 unit/min, which is equal to as given by the bottleneck formula.
(c) For each flow unit, coloring must be scheduled after cutting is done. Activities needing to follow a
certain pattern is called the “precedence constraints”.
(d) At each time, Person A can be either idle, or be working on exactly 1 flow unit; i.e., he/she cannot
work on both flow units 1 and 2 simultaneously. Similarly for the painting machine. 13
A process for making a colored wood toy.
To improve the capacity, Person A has bought another painting machine of the same type; i.e., now Person
A has two units of the same painting machine, which has a standardized coloring time of 20 minutes per
flow unit.
Person A cuts wood into the appropriate toy shape. This takes 10 minutes per unit.
Person A then passes the toy to one of the two painting machines to finish coloring
Question: What is the capacity of this process?
cut color
Person A, 10 mins 2 painting machines, 20 mins
14
1. Compute the activity time and capacity of each resource.
Resource Activity time (min) Capacity (unit/min)
Person A
Painting machine
2. Identify the bottleneck resource(s) (i.e., resource(s) with the minimum capacity.
Bottleneck
15
1. Compute the activity time and capacity of each resource.
Resource Activity time (min) Capacity (unit/min)
Person A 10 1/10
Painting machine 20 2/20 = 1/10
2. Identify the bottleneck resource(s) (i.e., resource(s) with the minimum capacity.
Bottleneck Person A; Painting machine
Note:
If a resource (e.g., painting has multiple units, then this multiplicity should be taken into account while
calculating its capacity. 16
Time (min) 10 20 30 40 50 60 70 80 90 …
Cut
Color
Person A
Painting machine
17
18
Consider the following common process in a hospital, with three resources, Doctors A and B, and a 3-D
ultrasound equipment, 1 unit each.
Each patient is a flow unit.
First, Doctor A examine some aspects of a patient with the equipment.
Then, Doctor B examine other aspects of this patient with the equipment.
Last, two doctors together have a detailed discussion with the patient about his/her medical/family history,
current life style, etc., combine this with the observations from their examinations, and provide feedback.
For simplicity, assume each activity takes 10 mins.
Question: What is the capacity of this process?
1st examination 2st examination feedback
19
1. Compute the activity time and capacity of each resource.
Resource Activity time (min) Capacity (unit/min)
Doctor A
Doctor B
Equipment
2. Identify the bottleneck resource(s) (i.e., resource(s) with the minimum capacity.
Bottleneck
20
Time (min) 10 20 30 40 50 60 70 80 90 …
1st examination
2nd examination
feedback
Doctor A
Doctor B
Equipment
21
This motivating example shows that the bottleneck formula is not universally correct to compute process
capacity.
There are also examples in which the bottleneck formula is significantly inaccurate.
Consider the following example:
◦ Activities: A1, A2, A3, A4
◦ Resources: r1, r2, r3, r4, r5, r6, 1 unit each
A1 A2 A3 A4
r1, r2, r3; 10 mins r1, r4, r5; 10 mins r2, r4, r6; 10 mins r3, r5, r6; 10 mins
For this example:
◦ Bottleneck formula: Notice that each resource is needed by 2 activities, so the capacity of each resource
is 1/20 unit/min. Then, this formula gives 1/20 unit/min for the capacity.
◦ True capacity: Notice that at any time, at most 1 activity can be scheduled. Then, the true capacity is
1/40 unit/min.
This example can be extended so that the bottleneck formula gives 1/20 unit/min for the capacity whereas
the true capacity is 1/(10n) unit/mins (n is the number of activities).
22
Criteria:
(a) When the collaboration graph does not have any odd cycle, the bottleneck formula correctly finds
process capacity.
(b) When the collaboration graph has an odd cycle, the bottleneck formula may or may not correctly
find process capacity. In fact, the bottleneck formula could be arbitrarily inaccurate. Thus, we should
apply the general procedure instead, which always finds the true capacity.
Note:
For every process, the general procedure can find the true capacity, including those where the bottleneck
formula correctly finds capacity and those where the bottleneck formula fails. Yet, for these former
processes, we prefer to use the bottleneck formula for its simplicity.
As long as the criteria is satisfied, BF will find the true capacity. This is irrespective of the processing times,
the numbers of resources, the number of activities, and the number of types of flow units. 23
A Collaboration graph of a process has nodes and edges, where
◦ Each node represents an activity.
◦ Two nodes are connected by an edge if the corresponding two activities share at least one common
resource.
Odd cycle: A cycle with n nodes and n edges, where n is an odd number and each node is connected to
two edges. E.g., 3-cycle, 5-cycle, 7-cycle, …
v1
v1 v1
v2 v7
v2 v5
v2 v3
v3 v6
v3 v4
v4 v5
24
Example 1: Draw the collaboration graph for the following process, and use the criteria to tell whether the
bottleneck formula can find capacity correctly:
A single person process for making a wood toy.
Person A cuts wood into the appropriate toy shape. This takes 10 minutes per unit.
cut
Person A, 10 mins
25
Example 2: Draw the collaboration graph for the following process, and use the criteria to tell whether the
bottleneck formula can find capacity correctly:
A process for making a colored wood toy.
Person A cuts wood into the appropriate toy shape. This takes 10 minutes per unit.
Person A passes the toy to a painting machine to color. This machine takes 20 minutes to color each flow
unit.
cut color
Person A, 10 mins Painting machine, 20 mins
26
Example 3: Draw the collaboration graph for the following process, and use the criteria to tell whether the
bottleneck formula can find capacity correctly:
A process for making a colored wood toy.
To improve the capacity, Person A has bought another painting machine of the same type; i.e., now Person
A has two units of the same painting machine, which has a standardized coloring time of 20 minutes per
flow unit.
Person A cuts wood into the appropriate toy shape. This takes 10 minutes per unit.
Person A then passes the toy to one of the two painting machines to finish coloring.
cut color
Person A, 10 mins 2 painting machines, 20 mins
27
Example 4: Draw the collaboration graph for the following process, and use the criteria to tell whether the
bottleneck formula can find capacity correctly:
Resources: Doctors A and B, and a 3-D ultrasound equipment, 1 unit each.
Then, Doctor B examine other aspects of this patient with the equipment.
Last, two doctors together have a detailed discussion with the patient about his/her medical/family history,
current life style, etc., combine this with the observations from their examinations, and provide feedback.
28
Example 5: Draw the collaboration graph for the following process, and use the criteria to tell whether the
bottleneck formula can find capacity correctly:
Activities: A1, A2, A3, A4
A1 A2 A3 A4
r1, r2, r3; 10 mins r1, r4, r5; 10 mins r2, r4, r6; 10 mins r3, r5, r6; 10 mins
29
30
Consider the following common process in a hospital.
First, Doctor A (resource r2) does an examination (activity A0) on a patient with the help of Nurse A
(resource r1), and then leaves the room.
Next, Nurse A takes care of the patient (activity A1) as guided by Doctor A, and then leaves the room.
Last, Doctor A comes back to the room and provides feedback (activity A2) based on the examination
result.
For simplicity, assume each activity takes 10 mins.
Question: What is the capacity of the process?
A0 A1 A2
31
The goal of this problem is to find the capacity, i.e.,
Goal: Maximize the number of patients processed per min
which is equivalent to
Goal: Minimize the amount of time to process a patient (on average)
Later on, we will see that this problem can be formulated as a linear program. Now, let us see some
schedules to get the intuition.
32
Consider the following schedule:
Time (min) 10 20 30 40 50 60 70 80 90 …
A0 1 2 3 4 5 …
A1 1 2 3 4 …
A2 1 2 3 …
r1 1 1 2 2 3 3 4 4 5 …
r2 1 2 1 3 2 4 3 5 …
This schedule stabilizes from min 21 and repeats itself every 20 mins (except on different patients).
The processing time per patient = 20 mins.
What are the combinations of activities that can be scheduled simultaneously?
◦ {A0}, {A1}, {A2}, {A1, A2}.
33
Consider the following schedule:
Time (min) 10 20 30 40 50 60 70 80 90 …
A0 1 2 3 4 5 …
A1 1 2 3 4 …
A2 1 2 3 …
r1 1 1 2 2 3 3 4 4 5 …
r2 1 2 1 3 2 4 3 5 …
A0 1 2 3 4 5 …
A1 1 2 3 4 …
A2 1 2 3 …
r1 1 1 2 2 3 3 4 4 5 …
r2 1 2 1 3 2 4 3 5 …
Then,
◦ x1 =
◦ x2 =
◦ x12 =
Does the following hold?
◦ Processing time per patient = x0 + x1 + x2 + x12.
35
Consider another schedule:
Time
Time(min)
(min) 10 1020 2030 40
30 50
40 6050 7060 80 70 90 80100 90
110 …
…
A0A0 1 1 2 2 33 4 4 55 …
…
A1A1 11 2 2 3 3 4 4 …
…
A2A2 1 21 2 3 3 4 …
…
r1 1 1 2 2 3 3 4 4 5 …
r1 1 2 1 2 3 4 3 4 5 …
r2 1 2 1 3 2 4 3 5 …
r2 1 2 1 2 3 4 3 4 5 …
This schedule stabilizes from the beginning and repeats itself every 50 mins (except on different patients).
The processing time per patient = 50/2 mins = 25 mins.
Define
◦ x0: the average time scheduled per patient when only {A0} is in processing.
◦ x1: the average time scheduled per patient when only {A1} is in processing.
◦ x2: the average time scheduled per patient when only {A2} is in processing.
◦ x12: the average time scheduled per patient when only {A1, A2} is in processing.
36
Consider another schedule:
Time
Time(min)
(min) 10 1020 2030 40
30 50
40 6050 7060 80 70 90 80100 90
110 …
…
A0A0 1 1 2 2 33 4 4 55 …
…
A1A1 11 2 2 3 3 4 4 …
…
A2A2 1 21 2 3 3 4 …
…
r1 1 1 2 2 3 3 4 4 5 …
r1 1 2 1 2 3 4 3 4 5 …
r2 1 2 1 3 2 4 3 5 …
r2 1 2 1 2 3 4 3 4 5 …
Then,
◦ x0 =
◦ x1 =
◦ x2 =
◦ x12 =
Does the following hold?
◦ Processing time per patient = x0 + x1 + x2 + x12
37
Recall
◦ x0: the average time scheduled per patient when only {A0} is in processing.
◦ x1: the average time scheduled per patient when only {A1} is in processing.
◦ x2: the average time scheduled per patient when only {A2} is in processing.
◦ x12: the average time scheduled per patient when only {A1, A2} is in processing.
Given any feasible schedule (i.e., satisfying resource availability and precedence constraints), we can
compute the values of x0, x1, x2, and x12, which satisfies
◦ (a) Processing time per patient = x0 + x1 + x2 + x12.
◦ (b) the time needed to process activity A0 (which is 10 mins) = x0.
◦ (c) the time needed to process activity A1 (which is 10 mins) = x1 + x12.
◦ (d) the time needed to process activity A2 (which is 10 mins) = x2 + x12.
On the other hand, we can show that, given any values of x0, x1, x2, and x12, satisfying (b)(c)(d) above, we
can construct a feasible schedule (proof omitted); in particular, precedence constraints can be ignored for
the sake of finding the true process capacity. Thus,
x0, x1, x2, and x12 satisfying (b)(c)(d) encode the essential information of a feasible schedule.
38
Original problem:
Goal: Minimize the processing time per a patient
Find: a good schedule
Subject to resource availability & precedence
Process capacity can be found through the following linear programming formulation:
Minimize x0 + x1 + x2 + x12
Subject to x0 = 10, (for A0)
x1 + x12 = 10, (for A1)
x2 + x12 = 10, (for A2)
x0, x1, x2, x12 >= 0
39
Example 2: Consider the following common process in a hospital.
First, Doctor A (resource r1) does an examination (activity A0) on a patient with the help of Nurse A
(resource r2), and then leaves the room.
Next, Nurse A takes care of the patient (activity A1) as guided by Doctor A, and then leaves the room.
Last, Doctor A comes back to the room and provides feedback (activity A2) based on the examination
result.
A0 A1 A2
40
Answer:
1. Compute the activity time and capacity of each resource.
Resource Activity time (min) Capacity (unit/min)
r1
r2
2. Identify the bottleneck resource(s) (i.e., resource(s) with the minimum capacity.
Bottleneck
41
Example 3: Consider the following common process in a hospital, with three resources, Doctors A and B, and
a 3-D ultrasound equipment, 1 unit each.
Each patient is a flow unit.
Then, Doctor B examine other aspects of this patient with the equipment.
Last, two doctors together have a detailed discussion with the patient about his/her medical/family history,
current life style, etc., combine this with the observations from their examinations, and provide feedback.
42
1st examination 2st examination feedback
43