Difference between revisions of "Algorithm"

From RouteXL
Jump to: navigation, search
Line 1: Line 1:
 
The RouteXL planning algorithm uses travel times and a optimization method to minimize total travel time.
 
The RouteXL planning algorithm uses travel times and a optimization method to minimize total travel time.
 
<!--
 
  
 
== Travel times ==
 
== Travel times ==
  
To find the best route, the travel times between all locations are required. While most other route optimization tools use geographic distances (as the crow flies), RouteXL uses open source route planners based on the [https://www.openstreetmap.org/ OpenStreetMap] road network to determine travel. OpenStreetMap is the free Wiki World Map – an openly licensed map of the world being created by volunteers using local knowledge, GPS tracks and donated sources.
+
To find the best route, the travel times between all locations are required. While most other route optimization tools use geographic distances (as the crow flies), RouteXL uses the [https://www.openstreetmap.org/ OpenStreetMap] road network. OpenStreetMap is the free Wiki World Map – an openly licensed map of the world being created by volunteers using local knowledge, GPS tracks and donated sources.
  
 
Learn more: https://www.openstreetmap.org/
 
Learn more: https://www.openstreetmap.org/
Line 11: Line 9:
 
== Optimization ==
 
== Optimization ==
  
Routing multiple addresses is quite a puzzle. With 20 destinations the from-to travel times matrix has roughly 20 x 20 = 400 elements. The number of possible routes is even bigger, approximately 20 x 19 x 18 x ... x 3 x 2 x 1 = 2432902008176640000
+
Routing multiple addresses is quite a puzzle. With 20 destinations the from-to travel times matrix has roughly 20 x 20 = 400 elements. The number of possible routes is even bigger, approximately 20 x 19 x 18 x ... x 3 x 2 x 1 = 2,432,902,008,176,640,000.
  
 
Mathematicians call it a "hard" problem and there is no final one-size-fits-all solution available. They even have a name for it: ''The Travelling Salesman Problem''. Indeed, humans can fly to the moon, but can't solve this problem.
 
Mathematicians call it a "hard" problem and there is no final one-size-fits-all solution available. They even have a name for it: ''The Travelling Salesman Problem''. Indeed, humans can fly to the moon, but can't solve this problem.
Line 19: Line 17:
 
=== Method ===
 
=== Method ===
  
RouteXL optimizes routes with an iterative search algorithm. That means that itineraries may not always be optimal, but they're close enough. RouteXL uses a hybrid method to minimize total travel time:
+
RouteXL optimizes routes with an iterative search algorithm. That means that itineraries may not always be optimal, but they're close enough. RouteXL uses a hybrid method to minimize total travel time.
 
 
* Initial: several insertion methods to build a good initial route
 
* Improvement: several of improvement methods inspired by [https://en.wikipedia.org/wiki/Lin%E2%80%93Kernighan_heuristic Lin Kernighan] optimization
 
* Checking: if the quality check fails, the improvement phase is repeated
 
 
 
-->
 

Revision as of 20:10, 2 December 2015

The RouteXL planning algorithm uses travel times and a optimization method to minimize total travel time.

Travel times

To find the best route, the travel times between all locations are required. While most other route optimization tools use geographic distances (as the crow flies), RouteXL uses the OpenStreetMap road network. OpenStreetMap is the free Wiki World Map – an openly licensed map of the world being created by volunteers using local knowledge, GPS tracks and donated sources.

Learn more: https://www.openstreetmap.org/

Optimization

Routing multiple addresses is quite a puzzle. With 20 destinations the from-to travel times matrix has roughly 20 x 20 = 400 elements. The number of possible routes is even bigger, approximately 20 x 19 x 18 x ... x 3 x 2 x 1 = 2,432,902,008,176,640,000.

Mathematicians call it a "hard" problem and there is no final one-size-fits-all solution available. They even have a name for it: The Travelling Salesman Problem. Indeed, humans can fly to the moon, but can't solve this problem.

Learn more: https://en.wikipedia.org/wiki/Travelling_salesman_problem

Method

RouteXL optimizes routes with an iterative search algorithm. That means that itineraries may not always be optimal, but they're close enough. RouteXL uses a hybrid method to minimize total travel time.