The critical path method (CPM) is an algorithm for scheduling a set of project activities. It is an important tool for effective project management. It is also guaranteed to show up in one form or another on the PE Exam. Below you will find explanations and examples on how to calculate the CPM for a project.

Understanding Critical Path Methods (CPM)
| |||||||||||||

## Definitions

- Earliest Start time (ES)
- The earliest time at which the activity can start given that its precedent activities must be completed first.
- Earliest Finish time (EF)
- The earliest start time for the activity plus the time required to complete the activity.
- Latest Finish time (LF)
- The latest time at which the activity can be completed without delaying the project.
- Latest Start time (LS)
- The latest finish time minus the time required to complete the activity.
- Critical Path
- The longest-duration path through the network. The significance of the critical path is that the activities that lie on it cannot be delayed without delaying the project. Because of its impact on the entire project, critical path analysis is an important aspect of project planning.
- Slack Time
- The time between its earliest and latest start time, or between its earliest and latest finish time. Slack is the amount of time that an activity can be delayed past its earliest start or earliest finish without delaying the project. Activities with zero slack time (ES=LS and EF=LF) are, by definition, on the critical path.

## Representation

### Activity on Node (AoN)

AoN representation has the activitiy inside the node and the arrows represent the precedence relationships. This is used most often in conjunction with computer programs as they allow for easy data entry once precedence has been established. They are also convenient for determining start and finish times by hand.

### Activity on Arc (AoA)

AoA (also known as Activity on Branch) has the activity represent by the arrows themselves and the nodes represent the precedence as points in time where predecessors have been completed. There are three simple rules to creating the AoA precedence diagram:

- All activities with no predecessor come off of node 1.
- All activities with no successor point to the last node, which has to have highest node number.
- Activities can have only one start node and only one end node.
- If an activity has multiple predecessors, a dummy node must be created.

## Determination

The critical path is identified by determining ES, EF, LF, and LS to find activities that have zero slack time. This requires two passes:

### Forward Pass

For all activities, calculate each activity’s early dates: ES equals the latest (largest) EF of all its immeidate predecessors and EF equals ES plus duration. The EF for the last task is the project duraction.

### Backward Pass

For all activities, calculate each activity’s late dates: **LF** equals the earliest (smallest) **LS** of all it's immediate successors and **LS** equals **LF** minus duration. All activities with zero slack are on the critical path.

### AoA Diagrams

Solving simple AoA diagrams can be done quickly by calculating the duration of each possible path through the network. The longest path is the project duration and identifies the critical path.