the critical-path algorithm - hampden-sydney...
TRANSCRIPT
The Critical-Path AlgorithmLecture 34
Sections 8.3 - 8.4
Robb T. Koether
Hampden-Sydney College
Mon, Apr 20, 2015
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 1 / 20
1 Critical Paths
2 The Backflow Algorithm
3 The Critical-Path Algorithm
4 Example
5 Assignment
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 2 / 20
Outline
1 Critical Paths
2 The Backflow Algorithm
3 The Critical-Path Algorithm
4 Example
5 Assignment
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 3 / 20
Definitions
Definition (Critical Path for a Vertex)The critical path for a vertex is the path from that vertex to END withthe longest processing time.
Definition (Critical Path for a Project)The critical path for a project is the critical path from START to END.
Definition (Critical Time)The critical time for a vertex or project is the processing time of itscritical path.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 4 / 20
Example
Start(0)B(5)
D(2)
A(6)
C(7)
End(0)
E(5) H(4)
G(3)
F(3)
The critical time of a project is the shortest possible time requiredto complete the project.
It is also the longest path (in terms of time) from START to END.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 5 / 20
Example
Start(0)B(5)
D(2)
A(6)
C(7)
End(0)
E(5) H(4)
G(3)
F(3)
The critical time of a project is the shortest possible time requiredto complete the project.It is also the longest path (in terms of time) from START to END.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 5 / 20
Example
Start(0)B(5)
D(2)
A(6)
C(7)
End(0)
E(5) H(4)
G(3)
F(3)
The critical time of a project is the shortest possible time requiredto complete the project.It is also the longest path (in terms of time) from START to END.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 5 / 20
Outline
1 Critical Paths
2 The Backflow Algorithm
3 The Critical-Path Algorithm
4 Example
5 Assignment
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 6 / 20
The Backflow Algorithm
Definition (The Backflow Algorithm)The backflow algorithm finds the critical path by the following method.
1 Beginning with END and working back to START, find the criticaltime for each vertex.
The critical time for a vertex is the processing time for that vertexplus the largest critical time of the vertices incident from that vertex.
2 The critical path for the project is the path from START to ENDwhose edges connect each vertex to its successor with thegreatest critical time.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 7 / 20
The Backflow Algorithm
Example (The Backflow Algorithm)
Start(0)B(5)
D(2)
A(6)
C(7)
End(0)
E(5) H(4)
G(3)
F(3)
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 8 / 20
The Backflow Algorithm
Example (The Backflow Algorithm)
Start(0)B(5)
D(2)
A(6)
C(7)
End(0)
E(5) H(4)
G(3)
F(3)
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 8 / 20
The Backflow Algorithm
Example (The Backflow Algorithm)
Start(0)B(5)
D(5)
A(6)
C(7)
End(0)
E(9) H(4)
G(3)
F(3)
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 8 / 20
The Backflow Algorithm
Example (The Backflow Algorithm)
Start(0)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 8 / 20
The Backflow Algorithm
Example (The Backflow Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 8 / 20
The Backflow Algorithm
Example (The Backflow Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 8 / 20
Outline
1 Critical Paths
2 The Backflow Algorithm
3 The Critical-Path Algorithm
4 Example
5 Assignment
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 9 / 20
The Critical-Path Algorithm
Definition (The Critical-Path Algorithm)The critical-path algorithm creates a schedule by the following method.
1 Use the backflow algorithm to find the critical time of every task inthe project.
2 Create a priority list with the tasks listed in order of decreasingcritical time.
3 Use the priority list to create a schedule.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 10 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
The priority list is C, B, A, E , D, H, F , G.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 11 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
0 5 10 15 20
Processor 1Processor 2
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
C(7)
0 5 10 15 20
Processor 1Processor 2
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
C(7)
0 5 10 15 20
B(5)Processor 1Processor 2
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
C(7)
0 5 10 15 20
B(5) A(6)Processor 1Processor 2
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
C(7)
0 5 10 15 20
B(5) A(6)E(5)Processor 1
Processor 2
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
C(7)
0 5 10 15 20
B(5) A(6)E(5)
D(2)Processor 1Processor 2
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
C(7)
0 5 10 15 20
B(5) A(6)E(5)
D(2)H(4)Processor 1
Processor 2
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
C(7)
0 5 10 15 20
B(5) A(6)E(5)
D(2)H(4)
F(3)Processor 1Processor 2
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
C(7)
0 5 10 15 20
B(5) A(6)E(5)
D(2)H(4)
F(3)Processor 1Processor 2 G(3)
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Example
Example (The Critical-Path Algorithm)
Start(16)B(14)
D(5)
A(11)
C(16)
End(0)
E(9) H(4)
G(3)
F(3)
Priority list: C, B, A, E , D, H, F , G
C(7)
0 5 10 15 20
B(5) A(6)E(5)
D(2)H(4)
F(3)Processor 1Processor 2 G(3)
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 12 / 20
Outline
1 Critical Paths
2 The Backflow Algorithm
3 The Critical-Path Algorithm
4 Example
5 Assignment
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 13 / 20
Example (Exercise 55)
Precedencent ProcessingTask Tasks Time
A 10B 5C B 4D C, G 1E D 8F 3G H 7H F 1J H 6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 14 / 20
Example (Exercise 55)
Start(0)B(5) D(1)
A(10)
C(4)End(0)
E(8)
H(1)
G(7)
F(3) J(6)
Schedule the tasks using 2 processors.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 15 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10
10
B 5
18
C B 4
13
D C, G 1
9
E D 8
8
F 3
20
G H 7
16
H F 1
17
J H 6
6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10 10B 5
18
C B 4
13
D C, G 1
9
E D 8
8
F 3
20
G H 7
16
H F 1
17
J H 6
6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10 10B 5
18
C B 4
13
D C, G 1
9
E D 8 8F 3
20
G H 7
16
H F 1
17
J H 6
6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10 10B 5
18
C B 4
13
D C, G 1
9
E D 8 8F 3
20
G H 7
16
H F 1
17
J H 6 6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10 10B 5
18
C B 4
13
D C, G 1 9E D 8 8F 3
20
G H 7
16
H F 1
17
J H 6 6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10 10B 5
18
C B 4 13D C, G 1 9E D 8 8F 3
20
G H 7
16
H F 1
17
J H 6 6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10 10B 5
18
C B 4 13D C, G 1 9E D 8 8F 3
20
G H 7 16H F 1
17
J H 6 6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10 10B 5
18
C B 4 13D C, G 1 9E D 8 8F 3
20
G H 7 16H F 1 17J H 6 6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10 10B 5 18C B 4 13D C, G 1 9E D 8 8F 3
20
G H 7 16H F 1 17J H 6 6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Precedencent Processing CriticalTask Tasks Time Time
A 10 10B 5 18C B 4 13D C, G 1 9E D 8 8F 3 20G H 7 16H F 1 17J H 6 6
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 16 / 20
Example (Exercise 55)
Start(20)B(18) D(9)
A(10)
C(13)End(0)
E(8)
H(17)
G(16)
F(20) J(6)
Schedule the tasks using 2 processors.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 17 / 20
Example (Exercise 55)
Start(20)B(18) D(9)
A(10)
C(13)End(0)
E(8)
H(17)
G(16)
F(20) J(6)
Schedule the tasks using 3 processors.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 18 / 20
Outline
1 Critical Paths
2 The Backflow Algorithm
3 The Critical-Path Algorithm
4 Example
5 Assignment
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 19 / 20
Assignment
AssignmentChapter 8: Exercises 49, 52, 53, 56.
Robb T. Koether (Hampden-Sydney College) The Critical-Path Algorithm Mon, Apr 20, 2015 20 / 20