Since the v5 update it seems quite a few routes are being optimized differently compared to earlier versions. Is this due to the switch to the OSM or is the algorithm itself altered in any way?
It seems virtually all routes we use to test our systems have the issue: the order in which the waypoints are optimized are exactly the other way around as pre-v5.
The results for a 10 waypoint route:
- Before v5
Route 22.75 km
Driveable in 3686 seconds
- Version 5 (waypoints in reverse)
Route 23.10 km
Driveable in 3800 seconds
The results we get from actually driving these routes over 50 times clearly show that the pre-v5 route was over 8% more time-efficient in actual day-to-day use and about 500m shorter.
What has changed? Is there any way to go back to the old algorithm, because that seemed to work most efficient.
With only 10 points, the routing may very well be optimal with both versions. The changes that were made to the algorithm won’t have any impact.
But what may have quite some impact are map updates: new streets, speed limits or directions. Not so much when things change in real life, but when volunteers add these to OpenStreetMap and we load the changed map into our routing.
We roughly update our maps every month. With every update the travel times between waypoints may change and therefore the ordering may change.
At this moment, all route calculations between points are based on OpenStreetMap (OSM) “static” maps. These are travel times, distances, paths and directions.
Road closures may be in there for as much as they are longer lasting and the volunteers added it to the map. Traffic is also not taken into account in the current version.
Geocoding can be OSM based too. In the options there are several geocoding services to select from that are based on OpenStreetMap data, as well as some that use other sources.
Ok, thanks. Does this mean that all calculations (ie: everything but the geocoding) is now done via OSM?
I also was not aware that you actually had to load in maps, I thought this was an ‘open connection’ via an API or similair so that you always had the most up to date information available.
But, it is good to know how this works, this is really helpful for us. It also means that stuff like road closures will not actually affect the routing, it always uses the map as if it was ‘ideal’: no traffic, no road closures and no other temporary limitations.