| Exam Board | OCR MEI |
|---|---|
| Module | D1 (Decision Mathematics 1) |
| Year | 2007 |
| Session | June |
| Marks | 16 |
| Paper | Download PDF ↗ |
| Mark scheme | Download PDF ↗ |
| Topic | Shortest Path |
| Type | Shortest path with maximum minimum edge weight |
| Difficulty | Challenging +1.2 This is a multi-part question requiring network drawing, standard Dijkstra's algorithm application, and then conceptual extension to a maximum-minimum path variant. Parts (i)-(ii) are routine D1 content, but parts (iii)-(iv) require problem-solving insight to adapt the algorithm to a non-standard optimization criterion, elevating it above typical textbook exercises. |
| Spec | 7.02p Networks: weighted graphs, modelling connections7.04a Shortest path: Dijkstra's algorithm |
| A | B | C | D | E | F | G | |
| A | - | 11 | - | - | 10 | 3 | 5 |
| B | 11 | - | 8 | 5 | - | - | 14 |
| C | - | 8 | - | 2 | - | 7 | - |
| D | - | 5 | 2 | - | 6 | - | - |
| E | 10 | - | - | 6 | - | 6 | - |
| F | 3 | - | 7 | - | 6 | - | - |
| G | 5 | 14 | - | - | - | - | - |
| Answer | Marks | Guidance |
|---|---|---|
| Network drawn with 7 nodes A–G and edges with weights as given in table | B3 | B1 per 2 correct arcs, penalise missing/extra arcs |
| Answer | Marks | Guidance |
|---|---|---|
| Vertex | Order | Permanent label |
| G | 1 | 0 |
| A | 2 | 5 |
| F | 3 | 8 |
| B | 4 | 16 |
| E | 5 | 14 |
| C | 6 | 15 |
| D | 7 | 17 |
| Route: G → A → F → C → D, total weight = 17 | M1 for starting Dijkstra correctly | A1 for correct order of permanent labelling |
| Answer | Marks | Guidance |
|---|---|---|
| Route: G–A–F–E–D, minimum arc weight = 6 | B1 for correct route | B1 for minimum arc weight = 6 |
| Answer | Marks | Guidance |
|---|---|---|
| Modification: working value at each vertex = maximum of minimum arc weights on any path to that vertex. Update: when vertex \(v\) is permanently labelled with value \(p\), for each neighbour \(w\) update working value as \(\max(\text{current working value of } w,\ \min(p, \text{weight}(v,w)))\). Select next vertex: choose the vertex with the largest working value to permanently label | B1 for update rule | B1 for taking min with arc weight |
# Question 5:
## Part (i)
Network drawn with 7 nodes A–G and edges with weights as given in table | B3 | B1 per 2 correct arcs, penalise missing/extra arcs
## Part (ii)
Dijkstra's algorithm from G:
| Vertex | Order | Permanent label |
|---|---|---|
| G | 1 | 0 |
| A | 2 | 5 |
| F | 3 | 8 |
| B | 4 | 16 |
| E | 5 | 14 |
| C | 6 | 15 |
| D | 7 | 17 |
Route: G → A → F → C → D, total weight = **17** | M1 for starting Dijkstra correctly | A1 for correct order of permanent labelling | A4 for fully correct labels and route
## Part (iii)
Route G → A → F → E → D (or G → B → D etc.): inspect to find route where minimum arc weight is maximised.
Route: **G–A–F–E–D**, minimum arc weight = **6** | B1 for correct route | B1 for minimum arc weight = 6 | B1 for application (e.g. width/capacity of road for wide vehicles, pipe capacity)
## Part (iv)
Modification: working value at each vertex = maximum of minimum arc weights on any path to that vertex. Update: when vertex $v$ is permanently labelled with value $p$, for each neighbour $w$ update working value as $\max(\text{current working value of } w,\ \min(p, \text{weight}(v,w)))$. Select next vertex: choose the vertex with the **largest** working value to permanently label | B1 for update rule | B1 for taking min with arc weight | B1 for taking max with current working value | B1 for selecting largest working value
---
5 The table shows the weights on the arcs of a network.
\begin{center}
\begin{tabular}{|l|l|l|l|l|l|l|l|}
\hline
& A & B & C & D & E & F & G \\
\hline
A & - & 11 & - & - & 10 & 3 & 5 \\
\hline
B & 11 & - & 8 & 5 & - & - & 14 \\
\hline
C & - & 8 & - & 2 & - & 7 & - \\
\hline
D & - & 5 & 2 & - & 6 & - & - \\
\hline
E & 10 & - & - & 6 & - & 6 & - \\
\hline
F & 3 & - & 7 & - & 6 & - & - \\
\hline
G & 5 & 14 & - & - & - & - & - \\
\hline
\end{tabular}
\end{center}
(i) Draw the network.\\
(ii) Apply Dijkstra's algorithm to find the least weight route from G to D. (Do this on the network you drew for part (i).)
Give your route and its total weight.\\
(iii) Find by inspection the route from $G$ to $D$ such that the minimum of the weights for arcs on the route is as large as possible. Give your route and its minimum arc weight. Give an application in which this might be needed.\\
(iv) Consider how Dijkstra's algorithm could be modified to solve the problem in part (iii). Explain how to update working values. Explain how to select the next vertex to be permanently labelled.
\hfill \mbox{\textit{OCR MEI D1 2007 Q5 [16]}}