3.6. Optimisation Algorithm
3.6. Optimisation Algorithm
www.pmt.education
Specification:
www.pmt.education
Optimisation Algorithms
Dijkstra’s Algorithm
www.pmt.education
Dijkstra’s Algorithm Overview:
www.pmt.education
Dijkstra’s Algorithm Example 1:
Our task is to get from A to J in the shortest amount of time. The first step is to set up a
table containing all the vertices.
V A B C D E F G H I J
A
www.pmt.education
Looking at the graph we can see that A has only one edge incident on it. So we fill in the
first line as thus:
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
The most obvious parts of the table have been filled in. B has no connections to E F G
H I or J, so the time to get to them is still infinite. The table is filled in with regards to A
as we are trying to solve the shortest path between A and J, so the weight to B stays at
12. According to the graph, it takes 2 minutes to get from B to C (or vice versa).
However, the table is relative to A. Therefore it takes 12 + 2 minutes to get to C from A
via B; 14 is less than infinity so we have discovered a shorter path to the node C. We
add this to the table as such:
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
www.pmt.education
The subscript B tells us that B is the previous node visited. Similarly, D is 7 away from B
and B is 12 away from A. The time it takes to get from A to D via B is 12 + 7. 19 < ∞, so
19 takes priority. B has now been investigated fully, so can be shaded yellow on the
table.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
Now, we choose the smallest number in a blue column. Column C contains 14, which is
smaller than 19 and infinity, so C is the next node to be
explored. C has no connections to E F G H I or J so these
remain unreachable. A and B have been fully explored so
there shortest weight has already been discovered. The
time it takes to get to C is still 14.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
The only difference now is D. The time it takes to get to D from C is 4 minutes according
to the graph. As it takes 14 minutes to get to C from A via B, it must take 14 + 4 minutes
to get to D from A via C. 18 < 19 so 18 takes priority.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
www.pmt.education
Now, the smallest number in the table in an unexplored
column is 18. D is next to be explored. D has no
connections to G H I or J, so the time to reach them
remains infinite. A B and C have been fully explored so
they already have a minimum time. The weight from D to
D is 0, so 18 (18 + 0) stays.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A
E is 9 from D. The shortest path to D from A takes 18 minutes, so it will take 27 minutes
to get from A to E via D.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D ∞
A ∞
A ∞
A ∞
A
F is 8 away from D. D is 18 away from A, so F is 26 away from A via D.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
www.pmt.education
The smallest number is now 26, so F is chosen to be next
explored. There are still no connections to G H or J, so they
remain infinite. A B C D and F have their shortest paths
from A so these remain the same.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 26
D ∞
A ∞
A ∞
A
E is 6 away from F. F is 26 away from A. Therefore E is 26 + 6 = 34 minutes away from
A via F. However, this is a shortest path algorithm, and we have already discovered that
E is 27 minutes away from A via D. 27 < 34, so 27 takes priority and is not replaced in
the table.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A
www.pmt.education
I is 18 away from F. 18 + 26 = 44. 44 < ∞, hence 44 takes priority.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D ∞
A
www.pmt.education
G is 13 away from E, which in turn is 27 away from A. Therefore, G is 40 away from A
via E. 40 < ∞ so 40 is written in the table.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E ∞
A
H is 1 away from E, so the time between A and H is 27 + 1 = 28 minutes. 28 < ∞ so 28
is added to the table.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E ∞
A
www.pmt.education
Lastly E has no connection to I, so the 44 via F remains.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 44
F ∞
A
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 44
F ∞
A
H 0
A 12
A 14
B 18
C 27
D 26
D 28
E
www.pmt.education
H does not have an edge incident on G or J, so their values remain the same.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 44
F ∞
A
H 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E ∞
A
H is 15 from I. Therefore, I is 15 + 28 = 43 minutes away from A via H. 43 < 44, so 43
takes precedence and is added to the table.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 44
F ∞
A
H 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 43
H ∞
A
www.pmt.education
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 44
F ∞
A
H 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 43
H ∞
A
G 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E ∞
A
The time between G and I is 2. Therefore, it takes 40 + 2 = 42 minutes to get to I from A
via G. 42 < 43. The 42 takes precedence over the 43 and so is added to the table.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 44
F ∞
A
H 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 43
H ∞
A
G 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G ∞
A
www.pmt.education
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 44
F ∞
A
H 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 43
H ∞
A
G 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G ∞
A
I 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G
J is 5 away from I. Therefore J is 42 + 5 = 47 minutes away from A via I. 47 is smaller
than infinity.
V A B C D E F G H I J
A 0
A 12
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
B 0
A 12
A 14
B 19
B ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
C 0
A 12
A 14
B 18
C ∞
A ∞
A ∞
A ∞
A ∞
A ∞
A
D 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A ∞
A ∞
A
F 0
A 12
A 14
B 18
C 27
D 26
D ∞
A ∞
A 44
F ∞
A
E 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 44
F ∞
A
H 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 43
H ∞
A
G 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G ∞
A
I 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G 47
I
www.pmt.education
As J is the last node, all edges must have been explored. The table is complete.
V A B C D E F G H I J
I 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G 47
I
V A B C D E F G H I J
I 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G 47
I
The shortest path to I has a length of 42. The node immediately preceding it is G.
www.pmt.education
V A B C D E F G H I J
I 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G 47
I
I 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G 47
I
I 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G 47
I
www.pmt.education
Now, we look at column C in the table.
V A B C D E F G H I J
I 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G 47
I
I 0
A 12
A 14
B 18
C 27
D 26
D 40
E 28
E 42
G 47
I
www.pmt.education