Welcome to Critical Path Analysis!

Have you ever had to plan a big event, like organizing a school concert, building a house, or even just making a full Sunday roast dinner? If so, you know that some tasks have to happen in a specific order (you cannot ice a cake before baking it!), while other tasks can happen at the same time (you can chop vegetables while the chicken is roasting).

Critical Path Analysis (CPA) is a powerful mathematical tool used by project managers, engineers, and planners all around the world. It helps us find out:

• The absolute shortest time needed to complete an entire project.
• Which tasks are critical (any delay in these will delay the entire project).
• Which tasks have "spare time" or float, meaning they can be delayed slightly without affecting the final deadline.

Don't worry if this sounds like a lot of steps at first! Once you learn the rhythm of moving forward and backward through a network, it works just like a fun mathematical puzzle.

Key Takeaway: Critical Path Analysis helps us find the most efficient schedule for completing a complex project with dependent tasks.


1. Key Terms and Activity Networks

Before we start calculating times, let's learn the language of CPA networks.

Precedence Tables

A project is broken down into individual activities (often given letters like \(A, B, C\)). A precedence table lists each activity, how long it takes (its duration), and which activities must be finished before it can begin (its immediate predecessors).

Activity-on-Arc Networks

In our network diagrams:

Arcs (arrows): Represent the activities. The arrow shows the direction of time, and we write the activity name and duration next to the arrow (e.g., \(A(4)\) means activity \(A\) takes \(4\) hours).
Nodes (circles or boxes): Represent events (milestones). An event is the point in time when activities finish and new ones can start.

Did you know? Project planners at NASA used Critical Path Analysis in the 1960s to manage thousands of contractors and successfully land the Apollo 11 mission on the Moon!


2. The Role of Dummy Activities

Sometimes you will see a dashed arrow in a network diagram with a duration of zero, written as a dummy activity with duration \(0\).

Why do we need dummy activities? There are two main reasons:

1. Logical Dependence: Suppose activity \(C\) depends on both \(A\) and \(B\), but activity \(D\) depends only on \(B\). A dummy arrow from the end of \(B\) to the start of \(C\) allows \(C\) to wait for both, while \(D\) only waits for \(B\).
2. Uniqueness: Two activities cannot start at the exact same node and end at the exact same node. A dummy separates them so each activity has a unique start and finish node.

Memory Trick: A dummy activity is like an invisible conveyor belt—it takes zero time and uses zero resources, but it carries the message: "Hey, this previous task is done, you may now start!"

Key Takeaway: Dummies have a duration of \(0\). They exist purely to maintain correct logical dependencies and keep activity representations unique.


3. Event Nodes: The Double-Box Method

At each event node, we divide the circle or rectangle to record two crucial pieces of information:

Early Event Time (EET): The earliest possible time that all incoming activities can be completed and the event is reached.
Late Event Time (LET): The latest possible time that the event can occur without delaying the finish date of the whole project.

The Forward Pass (Finding EETs)

To find the Early Event Times, we move left to right (from the start node to the finish node):

1. Start at the initial node and set its \(\text{EET} = 0\).
2. For each following node, add the duration of the incoming activity to the previous node's EET: \(\text{EET} = \text{previous EET} + \text{duration}\).
3. Important Rule at a Junction: If two or more activities lead into the same node, take the MAXIMUM value. This is because the next tasks cannot start until all incoming tasks are finished!

The Backward Pass (Finding LETs)

To find the Late Event Times, we move right to left (from the finish node back to the start node):

1. At the final node, set the \(\text{LET} = \text{EET}\) (the minimum project completion time).
2. For each preceding node, subtract the duration of the outgoing activity from the following node's LET: \(\text{LET} = \text{following LET} - \text{duration}\).
3. Important Rule at a Junction: If two or more activities leave a node, take the MINIMUM value. If you take anything larger, you will run out of time downstream!

Quick Review Box:
Forward pass: Go forwards, ADD durations, choose the LARGEST (MAX) at junctions.
Backward pass: Go backwards, SUBTRACT durations, choose the SMALLEST (MIN) at junctions.


4. Float Time (Spare Time)

Not every task needs to be rushed. Some activities have some wiggle room, called float.

Total Float is the total amount of time an activity can be delayed without delaying the overall project completion time.

The Formula for Total Float

\(\text{Total Float} = \text{LET of the end node} - \text{EET of the start node} - \text{Duration}\)

Example: An activity \(X\) has a duration of \(5\) days. It starts at a node with \(\text{EET} = 4\) and ends at a node with \(\text{LET} = 12\).
\(\text{Total Float} = 12 - 4 - 5 = 3\text{ days}\).
This means activity \(X\) can be delayed by up to \(3\) days without pushing back the end date of the whole project!

Key Takeaway: Total Float measures flexibility. If \(\text{Total Float} = 0\), the task has zero flexibility.


5. Identifying the Critical Path

A critical activity is an activity that has zero total float (\(\text{Total Float} = 0\)). Any delay in a critical activity will immediately delay the entire project!

The Critical Path is the continuous unbroken chain of critical activities running from the start node all the way to the finish node.

How to spot a critical activity:

An activity with duration \(D\) running from Node \(i\) to Node \(j\) is critical if:

1. \(\text{EET}_i = \text{LET}_i\) (Start node has matching times)
2. \(\text{EET}_j = \text{LET}_j\) (End node has matching times)
3. \(\text{EET}_j - \text{EET}_i = D\) (The time difference exactly equals the activity duration)

Common Mistake to Avoid: Just because an activity joins two nodes where \(\text{EET} = \text{LET}\), it does NOT automatically mean the activity is critical! You must check that the duration fills the entire gap: \(\text{LET}_{\text{end}} - \text{EET}_{\text{start}} = \text{Duration}\).

Key Takeaway: The critical path gives the longest path of dependent activities through the network and determines the minimum project completion time.


6. Step-by-Step Worked Example

Let's put everything together with an end-to-end example.

Consider a mini-project with \(5\) activities:

• Activity \(A\): Duration \(3\) days (Starts at Node 1, ends at Node 2)
• Activity \(B\): Duration \(5\) days (Starts at Node 1, ends at Node 3)
• Activity \(C\): Duration \(4\) days (Starts at Node 2, ends at Node 4)
• Activity \(D\): Duration \(2\) days (Starts at Node 3, ends at Node 4)
• Activity \(E\): Duration \(6\) days (Starts at Node 4, ends at Node 5)

Step 1: Forward Pass (Find EETs)

Node 1 (Start): \(\text{EET} = 0\)
Node 2: \(\text{EET} = 0 + 3 = 3\)
Node 3: \(\text{EET} = 0 + 5 = 5\)
Node 4 (Junction): Path through \(C\) gives \(3 + 4 = 7\). Path through \(D\) gives \(5 + 2 = 7\). The maximum is \(7\), so \(\text{EET} = 7\).
Node 5 (Finish): \(\text{EET} = 7 + 6 = 13\)

The minimum project completion time is \(13\) days.

Step 2: Backward Pass (Find LETs)

Node 5 (Finish): Set \(\text{LET} = 13\)
Node 4: \(\text{LET} = 13 - 6 = 7\)
Node 3: \(\text{LET} = 7 - 2 = 5\)
Node 2: \(\text{LET} = 7 - 4 = 3\)
Node 1 (Start): From Node 2: \(3 - 3 = 0\). From Node 3: \(5 - 5 = 0\). Minimum is \(0\), so \(\text{LET} = 0\).

Step 3: Calculate Floats and Identify the Critical Path

Activity \(A\): \(\text{Float} = 3 - 0 - 3 = 0\) (Critical)
Activity \(B\): \(\text{Float} = 5 - 0 - 5 = 0\) (Critical)
Activity \(C\): \(\text{Float} = 7 - 3 - 4 = 0\) (Critical)
Activity \(D\): \(\text{Float} = 7 - 5 - 2 = 0\) (Critical)
Activity \(E\): \(\text{Float} = 13 - 7 - 6 = 0\) (Critical)

In this special case, there are two critical paths:
1. \(A \rightarrow C \rightarrow E\) (Duration: \(3 + 4 + 6 = 13\))
2. \(B \rightarrow D \rightarrow E\) (Duration: \(5 + 2 + 6 = 13\))


7. Summary Checklist for Exam Success

When solving Critical Path Analysis questions in your exam, make sure to double-check these steps:

Did you start at \(0\)? Always start the forward pass at time \(0\).
Did you choose the maximum forward? When two paths meet, the higher number wins.
Did you choose the minimum backward? When moving backward, the lower number wins.
Do the start node times match? Node 1 must always end up with \(\text{EET} = 0\) and \(\text{LET} = 0\). If it doesn't, check your subtraction!
Check your float formula: Remember it as "Latest End minus Earliest Start minus Duration" (\(\text{LET}_{\text{end}} - \text{EET}_{\text{start}} - \text{Duration}\)).