The Navigation Challenge A «Travelling Salesman»-type Problem Birmingham or Venice? Map of the BCN Network The Protagonists, and a History of Defeat …

Captain Richard The villainous Muskrat

Year Winner Tawny Owl 2009 Muskrat 2nd 2010 No contest (drought) 2011 Muskrat 4th 2012 Muskrat 7th Tawny Owl, our hero 2013 ??? A Pint and a Plan

Option Explorer

Route Score Route Model The Scoring System

• The scoring is based on – 1 point per foot of boat length – 25 points for reaching the designated finish by a target time – Bonus points for starting from any of a number of specified locations – Mile Points for each segment cruised • Mile Points = (miles * accrual rate + locks) * multiplier • Accrual rate = 2.8 points / mile • Multiplier depends on canal (remote score more) Topology of the BCN Network

4 Grove Coll. Basins 6 Anglesey Basin 1.5 2.5 0 0 2.5 3 5 0 5.0 0 2.0 0.5 8.0 5.5 46 45 1 2 21 0 0 0 3.0 1.0 0 8 2.0 0.25 43 44 9 10 7 0 0 FINISH 1.5 5.5 2.5 0 0 9 0.5 1.0 0.25 Tame Valley Jn 3.5 Curdworth Top Lock 23 21 20 22 35 11 8 19 8 1 3 0 2.5 1.5 Windmill End Jn 0 3 2.5 3.0 1.5 5.0 5.5 24 25 0 0 8 13 3 1.0 The red circles are 0 Bordesley Jn 3.0 0.5 Salford Jn 2.5 node identifiers 34 42 12 14 18 0 3 3 The green rectangles 0.5 2.0 0.5 represent navigable 0 11 0 1.5 0.5 Aston Jn 1.0 lengths of canal 26 13 0.75 0.75 16 17 0 0 40 6 - White numbers 1.0 0 0 1.5 Proof House Jn are segment 0 13 1.5 0.5 1.5 0.5 1.0 1.0 0.5 0.5 33 31 30 28 27 41 39 37 15 Old Turn lengths in miles 6 32 3 0 3 0 0 0 0 - Black numbers are 0.5 1.0 Winson Green how many locks 0 0 0.5 0.5 38 lie on the 29 0 0 2.0 Reservoir segment 0 Winding Hole Routing Spreadsheet: Node Accessibility

The IDs of all accessible nodes How many nodes are accessible from here Bonus achieved by starting at this node Name of Node ID number of node Routing Spreadsheet: Network Description

Segment score and cruise time Parameters for calculating the score A code for the segment based on its nodes Text descriptor for segment Canal name identifier Start and end node of segment ID number of canal segment Routing Spreadsheet: Route Chooser

Total cruise time for all segments less than or equal to 24 hours

Segment score and cruise time Segment description A code for the resulting segment mF’s chosen node ID mF’s choice of which accessible node to visit next Start node ID for this segment Cruise segment sequence Routing Spreadsheet: the Cruise Plan

Segment score and cruise time Segment description

Ending node ID for this segment Start node ID for this segment Row number in the routing table Workflow

How many possible routes would an exhaustive algorithm need to consider? I think it could be of the order of 300 million … but I am not exactly sure!

This constraint was not in use at the beginning of the project Initial Optimisation

Mile Points

Design ID • This shows the MilePoints (the part of the score that can be influenced by choice of route) as they are maximised by modeFRONTIER Where Must You Start to Get the Best Score?

A Good Start

FINISH

StartNode

MilePoints • It is interesting to see which starting nodes are associated with the highest scores • The best starting node is “5” A Preference for Starting from Node “5”

• Over many iterations, the preference for starting from node 5 is made very clear in the probability density function for the starting node How Many Segments are in the Best Routes?

MilePoints

RouteLength

StartNode • This chart shows that the best (red dot) routes are all in the range of 25 to 28 segments, and begin with nodes in the range 3 to 7 The Risk of a Bad Ending

5

7

8 Suppressing the “Rushall Locks” Ending

Mile Points

Start & Finish

Design ID • With a final ascent through Rushall Locks forbidden, the route is re-evaluated, leading to a starting point at node 7 (Longwood Junction) How Much Does This Constrain Cost?

StartNode

MilePoints • The highlighted node is the final selected start node – the route can be seen to be only slightly less fruitful than the original preference Robustness

• To address robustness, the optimisation was repeated with lower and upper bound speeds • In all cases, the chosen route turned out to be essentially identical (although with different terminal turing-points and final scores) The Proposed Cruise 4 Grove Coll. Basins 6 Anglesey Basin 1.5 2.5 0 0 2.5 3 5 0 5.0 0 2.0 0.5 8.0 5.5 46 45 1 2 21 0 0 0 3.0 1.0 0 8 2.0 0.25 43 44 9 10 7 0 0 1.5 5.5 2.5 0 0 9 0.5 1.0 0.25 Tame Valley Jn 3.5 Curdworth Top Lock 23 21 20 22 35 11 8 19 8 1 3 0 2.5 1.5 Windmill End Jn 0 3 2.5 3.0 1.5 5.0 5.5 24 25 0 0 8 13 3 1.0 0 Bordesley Jn 3.0 0.5 Salford Jn 2.5 34 42 12 14 18 0 3 3 0.5 2.0 0.5 0 11 0 1.5 0.5 Aston Jn 1.0 26 13 0.75 0.75 16 17 0 0 40 6 1.0 0 0 1.5 Proof House Jn 0 13 1.5 0.5 1.5 0.5 1.0 1.0 0.5 0.5 33 31 30 28 27 41 39 37 15 Old Turn 6 32 3 0 3 0 0 0 0 0.5 1.0 Winson Green 0 0 0.5 0.5 38 29 0 0 2.0 Edgbaston Reservoir 0 Engine Arm Winding Hole Routing Spreadsheet: In-Cruise Monitoring Victory! Conclusions

• Not all answers are obvious: the “hindsight” optimisation algorithm can be beaten! – Tawny Owl was the only boat starting from the finishing point • Even some unpromising problems can be more efficiently tackled with modeFRONTIER than you might pessimistically expect • modeFRONTIER is a wonderfully flexible tool!