JMU
Critical Path Methods
An Introduction


Prof. David Bernstein
James Madison University

Computer Science Department
bernstdh@jmu.edu


Background
Some History
An Example

The Input Data

pert-example_times-and-dependencies
Learning From An Example
Vertices
cpm_vertex
Building the Graph

Getting Started

cpm-example_task-1
Building the Graph (cont.)

Adding Dependencies

cpm-example_task-1-2-3-4
Building the Graph (cont.)

The Entire Process

Building the Graph (cont.)

The Complete Graph

cpm-example_task-all
Earliest Times
Earliest Initiation Time
Earliest Times (cont.)

Visualization for Task 1

cpm-example_earliest-1
Earliest Times (cont.)

Visualization for Tasks 2, 3, and 4

cpm-example_earliest-2-3-4
Earliest Times (cont.)

Visualization for Task 5

cpm-example_earliest-5
Earliest Times (cont.)

The Entire Process

Earliest Times (cont.)

The Entire Graph

cpm-example_earliest-all
Latest Times
Latest Completion Time
Latest Times (cont.)

Visualization for Tasks 14

cpm-example_latest-14
Latest Times (cont.)

Visualization for Tasks 13

cpm-example_latest-13
Latest Times (cont.)

Visualization for Tasks 7 to 14

cpm-example_latest-7-to-14

Task 6

\({\cal S}_6 = \{10, 13\}\)
\(C^"_6 = \min\{ I^"_{10}, I^"_{13} \} = \min\{15,21\} = 15\)
\(I^"_6 = C^"_6 - T_6 = 15 - 1 = 14\)

Latest Times (cont.)

The Entire Process

Latest Times (cont.)

The Entire Graph

cpm-example_latest-all
Slack Times
Slack Times (cont.)

The Entire Process

Slack Times (cont.)

The Entire Graph

cpm-example_slack-all
Identifying the Critical Path
Identifying the Critical Path (cont.)

The Entire Process