We study the real algorithm for the point-to-point shortest path problem. It combines A∗ search search, landmark-based lower bounds, and reach-based pruning. We suggest several improvements to the preprocessing and query phases of the algorithm. In particular, we propose maintaining landmark distances only for high-reach vertices, saving space that can be used to accommodate more landmarks. This leads to a wide range of time-space tradeoffs. The new algorithm is very effective on the road networks of Europe and the USA, each with about 20 million vertices: it can find a random shortest path in one millisecond after one or two hours of preprocessing, using either transit times or travel distances as edge weights. Besides road networks, we also obtain improved performance on two-dimensional grids with random arc lengths.
Andrew V. Goldberg, Haim Kaplan, Renato Fonseca F.