Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

DOTE2030 Lec 2

Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

1

 Process Capacity

◦ Bottleneck Formula

◦ A Sufficient Criteria for the Bottleneck Formula to be correct

◦ The general procedure to calculate capacity

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:

 This maximum number is the Capacity of this process.

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

3. Process Capacity = the bottleneck capacity.


Process Capacity =1/10 flow unit/min.

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 …

◦ And, no schedule can be faster.


◦ The above chart is a kind of gantt chart, which shows which activity and which resource(s) on each flow
unit at each time unit in a clear way.

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

3. Process Capacity = the bottleneck capacity.


Process Capacity =

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

3. Process Capacity = the bottleneck capacity.


Process Capacity = 1/20 flow unit/min

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

3. Process Capacity = the bottleneck capacity.


Process Capacity =

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

3. Process Capacity = the bottleneck capacity.


Process Capacity = 1/10 flow unit/min

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

Doctor A, equipment; 10 mins Doctor B, equipment; 10 mins Doctors A and B; 10 mins

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

3. Process Capacity = the bottleneck capacity.


Process Capacity =

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.

 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.

1st examination 2st examination feedback

Doctor A, equipment; 10 mins Doctor B, equipment; 10 mins Doctors A and B; 10 mins

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

 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

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

r1, r2; 10 mins r1; 10 mins r2; 10 mins

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)

 This can be done by finding a good schedule.


 Every schedule must satisfy resource availability and precedence constraints.
◦ Resource availability constraints: At any time, one cannot schedule more activities than what can be
done by the resources available.
◦ Precedence constraints: On every patient, A0 must be before A1, and A1 before A2.
 This problem can be summarized as follows:

Goal: Minimize the processing time per a patient


Find: a good schedule
Subject to resource availability & precedence

 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 …

 Corresponding to {A0}, define


◦ x0: the average time scheduled per patient when only {A0} is in processing.
◦ Then, x0 = 10/1 = 10 min.
 Similarly, define
◦ 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.
34
 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 …

 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

Interpretation: On average on every unit, A0 (resp., A1, A2) takes 10 mins.

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

r1, r2; 10 mins r1; 10 mins r2; 10 mins


 For simplicity, assume each activity takes 10 mins.
 Question:
(a) Draw the collaboration graph of this process and tell whether the bottleneck formula can be used to
compute the capacity.
(b) Use the bottleneck formula to compute capacity regardless of whether or not it can find the real capacity.

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

3. Process Capacity = the bottleneck capacity.


Process Capacity =

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.

 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.

1st examination 2st examination feedback

Doctor A, equipment; 10 mins Doctor B, equipment; 10 mins Doctors A and B; 10 mins

 For simplicity, assume each activity takes 10 mins.


 Question: Find an LP formulation for computing the capacity of this process.

42
1st examination 2st examination feedback

Doctor A, equipment; 10 mins Doctor B, equipment; 10 mins Doctors A and B; 10 mins


Answer:

43

You might also like