topic badge
AustraliaVIC
VCE 12 General 2023

9.05 Schedule problems and critical paths

Lesson

Activities and tasks

Many things in life take work, and even simple tasks can be broken down into many smaller ones that all need to be completed in sequence. To start with consider the task, "making tea". What do we need to do? If we forget something or get the order wrong, we won’t have tea, if we try to boil the kettle before we put water in it, for example, we’ll never get anywhere.

We can create a directed network to illustrate the procedure of "making tea". An initial vertex with edges coming out of it represents tasks we can do straight away, and then we add in more vertices to indicate changing from one task to another:

This image shows a project network of making tea. Ask your teacher for more information.

We can also represent the same information in an activity or precedence table like this:

ActivityDescriptionDependencies
A\text{Put water in kettle}-
B\text{Put tea in pot}-
C\text{Boil water in kettle}A
D\text{Add boiling water to teapot}B,C
E\text{Leave tea to infuse}D
F\text{Pour tea in cup}E
G\text{Add milk}F
H\text{Add sugar}F
I\text{Stir}H

Each of the tasks has been given a capital letter for ease of reference. The final column (dependencies, sometimes immediate predecessors) tells us what tasks have to be completed immediately before the new task begins. The tasks that have no letters in the dependency column have no dependencies (sometimes no predecessors). For example, we can tell that task E, “Infuse”, requires task D, “Water in pot”, so D is a dependency for E. Task A, "Water in kettle", has no dependencies.

If you make tea all the time, you might like to know how long it all takes. If we add times to the edges as weights, our network looks like this:

This image shows a project network of making tea with timings on the edges. Ask your teacher for more information.

And our activity table would then look like this:

ActivityDescriptionDependenciesDuration
A\text{Put water in kettle}-20
B\text{Put tea in pot}-15
C\text{Boil water in kettle}A30
D\text{Add boiling water to teapot}B,C10
E\text{Leave tea to infuse}D120
F\text{Pour tea in cup}E8
G\text{Add milk}F5
H\text{Add sugar}F4
I\text{Stir}H5

An extra column has been added to represent the time it will take to perform each step.

We can go back the other way, from an activity table to a network as well.

Examples

Example 1

Given the following network, fill in the activity chart.

This image shows a weighted project network. Ask your teacher for more information.

List the duration and direct dependencies for each activity in the table below.

ActivityDurationDependencies
A
B
C
D
E
F
G
H

If an activity has no dependencies, write X. If there are multiple dependencies, write them in the same box separated by commas.

Worked Solution
Create a strategy

Use the weights of the edges for the durations, and the previous connected edge for the dependencies.

Apply the idea

We will move from left to right along the network.

Activities A, B, and C have no edges to the left of them that they are connected to. So these activities do not have dependencies. Their durations are their weights next to the letters.

ActivityDurationDependencies
A5X
B8X
C6X
D5A
E6B
F3D, E
G6C
H1F, G

Activity D is connected to activity A on its left, so it's dependency is A.

Activity E is connected to activity B on its left, so it's dependency is B.

Activity F is connected to activities D and E on its left, so it's dependencies are D and E.

Activity G is connected to activity C on its left, so it's dependency is C.

Activity H is connected to activities F and G on its left, so it's dependencies are F and G.

Idea summary

A project network is a directed network graph showing the activities of a whole project.

Dependencies are activities coming before that activity.

Forward and backward scan

By moving forwards through a network we can find the earliest start time for each activity. After we have finished forward scanning, we can then backward scan to find the latest possible start times.

We have a directed, weighted network that looks like this:

This image shows a project network of making tea with timings. Ask your teacher for more information.

Imagine that you and a friend are on a team, racing to make a cup of tea as fast as you can. One of you is going to boil the water while the other is going to add the tea to the pot. Unfortunately, your friend takes twice as long as you to do any task. Which job should you take?

This image shows the first three activities in making tea project network. Ask your teacher more information.

If you put the water in the kettle (20 \text{ s}) and wait for it to boil (30\text{ s}), your friend has 20+30=50 \text{ s} to put the tea in the pot. It will take them 2 \times 15 = 30 \text{ s}, so by the time the water is ready they’ve had plenty of time.

This image shows the first three activities in making tea project network. Ask your teacher more information.

But if they put water in the kettle (2 \times 20 = 40 \text{ )}, and wait for it to boil (30\text{ s}), it doesn’t matter that it only took you 15 \text{ s} to put the tea in the pot, overall it takes more than a minute to get to the same place.

There is a path through the whole network is called the critical path. For our example above, this looks like:

This image shows a project network highlighting the critical path. Ask your teacher for more information.

It goes from start to finish, highlighting the tasks where delays are costly. Any delay in any task along this path means a delay overall, so the best and fastest people should do these jobs.

Let's go from an activity table to a network.

Imagine that we are in charge of organising a book release and press tour for a very famous author. In the planning meeting, our team puts together a list of all the things we need to organise and how each task links up with the next. We can put this information into an activity table for the project:

ActivityDescriptionDependenciesTime(days)
A\text{Get manuscript from author}-1
B\text{Figure out tour dates}-4
C\text{Format manuscript for printing}A7
D\text{Print books}C15
E\text{Design cover}C7
F\text{Book venues for tour}B12
G\text{Print covers}E10
H\text{Collect books from printers}D,G1
J\text{Run social media competition}F16
K\text{Plan travel and accommodation}F13
L\text{Deliver books to venues and competition winners }H,J9
M\text{Create itinerary for author and entourage}K5

Let’s draw this as a network to do some analysis, by the end we will know which are the most important tasks with strict deadlines, and which ones have a bit of leeway.

A node labelled start with two segment the top is labelled A 1 and below is labelled B 4.

There are two tasks (A and B) with no dependencies, so we draw two arrows coming out of the start vertex. Don’t put arrowheads on the ends yet.

The beginning of a project network with activities A B C and F. Ask your teacher for more information.

Since C depends on A, we draw a vertex at the end of A, add in the arrowhead for A, and draw task C coming out of it (no arrowhead yet). We do the same for F, which depends on B.

Both D and E depend on C, while both J and K depend on F.

The beginning of a project network with activities A B C D E F J and K. Ask your teacher for more information.

G depends on E, and M depends on K.

The beginning of a project network with activities A B C D E F G J K and M. Ask your teacher for more information.

Now H depends on both D and G. We are going to create just one vertex that links D and G G together, so we continue the lines for each to that single vertex, add the arrowheads, then draw H coming out of that.

The beginning of a project network with activities A B C D E F G H J K and M. Ask your teacher for more information.

L depends on both H and J, so we do the same thing as we did above.

The beginning of a project network with activities A B C D E F G H J K L and M. Ask your teacher for more information.

Now we’re out of tasks. We complete the remaining edges together at the Finish vertex with arrowheads.

This image shows a project network with activities A to M. Ask your teacher for more information.

All done. Well, some of those arrows do look a little wonky. It’s hard to know how it’s going to turn out while you’re doing it. But now we know the shape of it, we can redraw it a bit neater if we want.

Now we can clearly tell how each of the tasks in the project depend on each other quickly and easily.

This image shows a project network with activities A to M. Ask your teacher for more information.

Twelve tasks in all in which tasks are the most critical, where delays are costly and should have your best people on it? Which tasks allow for a little leeway?

To figure that out, we are going to do a forward and backward scan. Start by putting a little box both above and below each vertex (you can put just one for the Start and Finish):

A project network with activities A to M. Boxes are above and below each node. Ask your teacher for more information.

Some places will get you to draw a line inside the vertex, or not use boxes at all, or something else entirely - how you do it isn’t important, what we need are two places to put numbers at each vertex.

We put a 0 in the Start box and move along each task, adding up how long it would take to start the next task as we go, and writing it in the top box for each vertex. If there is only one arrowhead pointing at a vertex, just take the number at the previous vertex and add the task time to get the new number. Here are the first seven boxes filled in:

A project network with activities A to M. Boxes are above each node are filled in. Ask your teacher for more information.

Reading along the top:

  • we can start C after 1 day (we have to wait for A),

  • start both D and E after 1+7=8 days (we have to wait for A and then wait for C),

  • and start G after 8+7=15 days (wait for A and then C and then E).

Reading along the bottom:

  • we can start F after 4 days (wait for B),

  • start both J and K after 4+12=16 days (wait for B and then F),

  • and start M after 16+12=28 days (wait for B and then F and then K).

Now the remaining vertices have more than one arrowhead pointing at them. This means that more than one task is a dependency, so they all need to be completed before we continue.

This image shows activities D E and G and their durations from a network. Ask your teacher for more information.

Let’s zoom in on the top part of the diagram.

It takes 8 days to get ready for D, then 15 days to do it, so the first dependency is going to be ready after 23 days. At the same time, it takes 15 days to get ready for G, and then 10 days to do it, so the second dependency is going to be ready after 25 days.

Since they both need to be ready before moving on, we write the largest number, 25, in the box to indicate how long it takes before we can get started on H.

We do this for the rest of the mergers all the way to the finish - picking the largest sum along all the tasks before it.

A project network with boxes above and below the nodes with some filled in. Ask your teacher for more information.

The numbers in these boxes are the earliest start times (EST) for each activity - as long as everything goes to plan, each task can start on the day sitting above the vertex that it is drawn from. We can also tell that it will take 41 days for everything to be ready - again, if all goes to plan. Our forward scan is complete.

Now, we start our backwards scan. The backward scan will tell us the latest start times (LST) for each task. The idea is very similar, but this time we start with the number on the right and subtract the task duration instead of adding. If there is only one edge coming out of the vertex we are heading towards, we simply subtract the task time. Here are the first four boxes from the backwards scan filled in:

A project network with boxes above and below the nodes with some filled in. Ask your teacher for more information.

When two or more edges emerge from the same vertex, we want to pick the smallest number.

This image shows activities J and K and their durations from a network. Ask your teacher for more information.

Let’s zoom in on the bottom branch.

We need to finish J by day 32, and it takes 16 days to do it, so the latest we can start task J is day 16. Similarly, we need to finish K by day 36, and it takes 12 days to do it, so the latest we can start task K is day 24. We write the smallest of the differences we found in the box and continue along.

By the end of this process, the numbers on the bottom of a vertex are the latest start times for the activity starting at this vertex - if this amount of time has passed and the task hasn’t begun, the whole project will be delayed.

This image shows a project network with filled in boxes above and below each node. Ask your teacher for more information.

To summarize the tricky cases when we are forward scanning, look for vertices with groups of arrows going into them.

And when we are backward scanning look out for vertices that have groups of arrows coming out of them.

This image shows forward and backward scanning differences. Ask your teacher for more information.
Idea summary

The critical path is the longest path through the network from start to finish. The critical path passes through all of the critical activities and its length is the minimum possible completion time for the project.

To complete a forwards scan to find the earliest start times (EST):

  1. Start at the first vertex - it has an EST of 0.

  2. The EST of the next vertex is equal to the sum of the EST of the previous vertex and duration of the activity between them.

  3. If more than one activity lead to the same vertex, the maximum sum will be the EST of the following vertex.

  4. Repeat until reaching the Finish vertex. The EST of the finish vertex gives the minimum completion time for the project.

To complete a backwards scan to find the latest start times (LST):

  1. Begin at the Finish vertex. The LST of the finish vertex is equal to its EST.

  2. The LST of the previous vertex is the difference between the LST of the current vertex and the duration of the activity between them.

  3. If there is more than one activity starting at the same node, the minimum difference is the LST of the previous vertex.

  4. Repeat until returning to the Start vertex. The LST of the Start vertex has to be 0.

Dummy activities

Sometimes a task may be a dependency for more than one other task. In these cases we might have to introduce additional vertices and edges to show this information. This is referred to as a 'dummy activity' Here's an example of such an activity table:

ActivityDependenciesDuration
A-3
B-4
C-5
DA, B3
EB, C2

Notice that B is a dependency for both D and E, but A is not a dependency for E, and C is not a dependency for D. To draw this as a network, we need to introduce a dummy activity using dotted lines.

This image shows a network diagram with dummy activities. Ask your teacher for more information.

We represent these dependencies using dummy activities with a completion time of 0. The forward and backward scan works the same way.

Idea summary

Dummy activities are required to represent a situation where two or more tasks share some but not all of a set of dependent activities.

Critical path

Let’s take a closer look at the network after completing the forward and backward scan.

This image shows a project network with filled in boxes above and below each node. Ask your teacher for more information.

Notice that there is a single path from start to finish through vertices where the earliest start time and the latest start time are the same - if we highlight this path, we have what is called the critical path.

This image shows a project network with critical path along B F J L. Ask your teacher for more information.

The difference between the top and bottom numbers is called the float time (sometimes called slack time), and it tells you how much leeway there is on the task. Tasks that have a float time of 0 lie on the critical path - these tasks need your best people. Delays in these tasks will either result in an overall delay for the whole project, or additional expenditure to get things back on track (called crashing).

For the other tasks, you can see how much “extra time” the person doing it can take. We have put the float times for tasks not on the critical path within the vertex to illustrate:

A project network with critical path along B F J L and float times to the other tasks. Ask your teacher for more information.

It’s important for us to return back to the original motivation for the problem to interpret our results. We now have the earliest and latest start times for each task, but also the amount of time we have to waste for each task. Some observations:

  • The tasks B,F,J, and L cannot have any delay.

  • Task M can take up to 13 days days even though it only needs 5.

  • Task G can take 16 days days even though it only needs 10.

  • The tasks lying above the critical path (A, C, D, E, G) have only 6 days of leeway between all of them. If task A takes 7 days instead of 1, all subsequent tasks must be started on their latest start date in order to avoid delays.

Having just looked at forward and backward scanning as a process to identify the critical path, we are now able to examine direct applications regarding this project.

The critical path is the sequence of activities that cannot be delayed without affecting the overall completion time of the project.

In particular, we can examine what may happen if activities are delayed.

This image shows a project network with critical path along A C D H L. Ask your teacher for more information.
ActivityDescriptionDependenciesTime(days)
A\text{Advertise book}-3
B\text{Book tour dates for promotional tour}-4
C\text{Liaise with printers and distributors}A10
D\text{First run books printed}C15
E\text{Second run books printed}C10
F\text{Organise venues for book signings}B12
G\text{Have second run books collected and stored ready for online sales}E12
H\text{Collect books from printers}D8
J\text{Plan competitions for meet and greet opportunities on the tour}F16
K\text{Plan travel and accommodation}F13
L\text{Ensure books are delivered to venues and competition winners}G,H,J9
M\text{Media release announcing tour}K5

(a) If the first run of books takes a few more days to be completed, how might this affect the project?

First run of books is activity D. D is on the critical path, so any delays result in the project being delayed.

We can examine how long this will delay the overall project by following this addition of 3 days through the network. Our forward scanning now changes to the following: Along D we have 13+18=31. Along H we have 31+8=39. And finally along L we have 39+9=48. So the overall project will now take 48 days.

(b) If the media release announcing the tour is delayed by 3 days, how might this affect the project?

Media release is activity M. M is not on the critical path, but this doesn't mean automatically that it doesn't affect the project. If M takes 8 days instead, then we need to check the forward scan. 29+8=37. Still less than 45 so this delay will not affect the project.

(c) If the books are delivered to venues and competition winners 2 days early, how might this affect the project?

Ensuring that books are delivered to venues and competition winners is Activity L. Activity L is on the critical path. If L is completed earlier than timetabled then the entire project can be ready earlier.

We looked at an example where changing an activity that was not on the critical path may or may not have affected the final outcome. To make this determination we had to check our forward scanning calculations.

This image shows a project network with critical path along A C D H L. Ask your teacher for more information.

Based on the original forward scanning for activity M, \, 29 + 5 = 34. The forward scanning value we took for the finish time was 45.

This difference is our float time. That is, the time this activity can be delayed before it actually does affect the final project.

So for activity M, the float time is 45-34=11 M, \, 29 + 5 = 34. hrs. As long as this activity is not delayed by more than 11 hours then we are fine.

This float time can also be seen on the vertices, it is the difference between the forward scan and the backward scan.

So above, E has a float time of 1 day. If E is delayed by more than that, then the entire project is delayed and a new critical path would follow.

Examples

Example 2

Given the following network:

This image shows a project network with the critical path highlighted. Ask your teacher for more information.
a

Determine a critical path through the network by listing the activities in order.

Worked Solution
Create a strategy

Find the nodes where the EST and LST are equal. Find the activities those nodes pass through.

Apply the idea

EST and LST are equal at nodes Start, 1,3,4,7, and the Finish node.

By following these nodes we pass through activities A,C,E,H, and K.

The critical path is A,C,E,H,K.

b

List all non-critical activities.

Worked Solution
Create a strategy

List all activities that are not on the critical path.

Apply the idea

The non-critical activities are B,D,F,G,I,J.

c

Complete the table by determining the float time of each activity.

Worked Solution
Create a strategy

Use the formula: \text{Float time $=$ LST$_2$ $-$ EST$_1$ $-$ Activity time}

Apply the idea

The calculation for each float time is shown in the table below:

ActivityCalculationFloat time
B13-0-94
D16-9-34
F33-16-611
G25-16-72
I34-22-111
J34-23-92
Idea summary

The critical path will be the longest path through the network from start to finish. It will pass through all the critical activities which will have EST = LST. The duration of the critical path is the EST of the last node in the critical path.

The critical path is the sequence of activities that cannot be delayed without affecting the overall completion time of the project.

In particular, we can examine what may happen if activities are delayed.

Float time is the amount of delay a task can tolerate. This is the difference of a task's EST from LST.

For a general activity the float time can be calculated as follows:

\text{Float time $=$ LST$_2$ $-$ EST$_1$ $-$ Activity time}

Outcomes

U4.AoS2.7

construct a transition matrix to model the transitions in a population with an equilibrium state

U4.AoS2.14

recognise the scheduling problem and solve it by using critical path analysis

What is Mathspace

About Mathspace