Fastest-path queries between two points in a very large road map is an increasingly important primitive in modern transportation and navigation systems, thus very efficient computation of these paths is critical for system performance and throughput. We present a method to compute an effective heuristic for the fastest path travel time between two points on a road map, which can be used to significantly accelerate the classical A* algorithm when computing fastest paths. Our method is based on two hierarchical sets of separators of the map represented by two binary trees. A preprocessing step computes a short vector of values per road junction based on the separator trees, which is then stored with the map and used to efficiently compute the heuristic at the online query stage. We demonstrate experimentally that this method scales well to any map size, providing a better quality heuristic, thus more efficient A* search, for fastest path queries between points at all distances - especially small and medium range - relative to other known heuristics.
[1]
Andrew V. Goldberg,et al.
Computing the shortest path: A search meets graph theory
,
2005,
SODA '05.
[2]
Andrew V. Goldberg,et al.
Route Planning in Transportation Networks
,
2015,
Algorithm Engineering.
[3]
Robert E. Tarjan,et al.
Fibonacci heaps and their uses in improved network optimization algorithms
,
1984,
JACM.
[4]
Edmond Chow,et al.
A Graph Search Heuristic for Shortest Distance Paths
,
2005,
AAAI 2005.
[5]
Nils J. Nilsson,et al.
A Formal Basis for the Heuristic Determination of Minimum Cost Paths
,
1968,
IEEE Trans. Syst. Sci. Cybern..
[6]
Edsger W. Dijkstra,et al.
A note on two problems in connexion with graphs
,
1959,
Numerische Mathematik.
[7]
Nathan R. Sturtevant,et al.
Euclidean Heuristic Optimization
,
2011,
AAAI.