Point-to-Point Shortest Path Algorithms with Preprocessing

  • Andrew V. Goldberg
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4362)


This is a survey of some recent results on point-to-point shortest path algorithms. This classical optimization problem received a lot of attention lately and significant progress has been made. After an overview of classical results, we study recent heuristics that solve the problem while examining only a small portion of the input graph; the graph can be very big. Note that the algorithms we discuss find exact shortest paths. These algorithms are heuristic because they perform well only on some graph classes. While their performance has been good in experimental studies, no theoretical bounds are known to support the experimental observations. Most of these algorithms have been motivated by finding paths in large road networks.

We start by reviewing the classical Dijkstra’s algorithm and its bidirectional variant, developed in 1950’s and 1960’s. Then we review A* search, an AI technique developed in 1970’s. Next we turn our attention to modern results which are based on preprocessing the graph. To be practical, preprocessing needs to be reasonably fast and not use too much space. We discuss landmark- and reach-based algorithms as well as their combination.


Short Path Road Network Short Path Algorithm Label Vertex Short Path Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cherkassky, B.V., Goldberg, A.V., Radzik, T.: Shortest Paths Algorithms: Theory and Experimental Evaluation. Math. Prog. 73, 129–174 (1996)MathSciNetGoogle Scholar
  2. 2.
    Cowen, L.J., Wagner, C.G.: Compact Roundtrip Routing in Directed Networks. In: Proc. Symp. on Principles of Distributed Computation, pp. 51–59 (2000)Google Scholar
  3. 3.
    Dantzig, G.B.: Linear Programming and Extensions. Princeton Univ. Press, Princeton (1962)Google Scholar
  4. 4.
    Denardo, E.V., Fox, B.L.: Shortest-Route Methods: 1. Reaching, Pruning, and Buckets. Oper. Res. 27, 161–186 (1979)zbMATHMathSciNetGoogle Scholar
  5. 5.
    Dijkstra, E.W.: A Note on Two Problems in Connexion with Graphs. Numer. Math. 1, 269–271 (1959)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Doran, J.: An Approach to Automatic Problem-Solving. Machine Intelligence 1, 105–127 (1967)Google Scholar
  7. 7.
    Dreyfus, D.: An Appraisal of Some Shortest Path Algorithms. Technical Report RM-5433, Rand Corporation, Santa Monica, CA (1967)Google Scholar
  8. 8.
    Fakcharoenphol, J., Rao, S.: Planar Graphs, Negative Weight Edges, Shortest Paths, and Near Linear Time. In: Proc. 42nd IEEE Annual Symposium on Foundations of Computer Science, pp. 232–241 (2001)Google Scholar
  9. 9.
    Fredman, M.L., Tarjan, R.E.: Fibonacci Heaps and Their Uses in Improved Network Optimization Algorithms. J. Assoc. Comput. Mach. 34, 596–615 (1987)MathSciNetGoogle Scholar
  10. 10.
    Gallo, G., Pallottino, S.: Shortest Paths Algorithms. Annals of Oper. Res. 13, 3–79 (1988)MathSciNetGoogle Scholar
  11. 11.
    Goldberg, A.V.: A Simple Shortest Path Algorithm with Linear Average Time. In: Meyer auf der Heide, F. (ed.) ESA 2001. LNCS, vol. 2161, pp. 230–241. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Goldberg, A.V.: Shortest Path Algorithms: Engineering Aspects. In: Eades, P., Takaoka, T. (eds.) ISAAC 2001. LNCS, vol. 2223, p. 502. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  13. 13.
    Goldberg, A.V., Harrelson, C.: Computing the Shortest Path: A* Search Meets Graph Theory. Technical Report MSR-TR-2004-24, Microsoft Research (2004)Google Scholar
  14. 14.
    Goldberg, A.V., Harrelson, C.: Computing the Shortest Path: A* Search Meets Graph Theory. In: Proc. 16th ACM-SIAM Symposium on Discrete Algorithms pp. 156–165 (2005)Google Scholar
  15. 15.
    Goldberg, A.V., Kaplan, H., Werneck, R.F.: Better Landmarks within Reach. In: The 9th DIMACS Implementation Challenge: Shortest Paths (2006)Google Scholar
  16. 16.
    Goldberg, A.V., Kaplan, H., Werneck, R.F.: Reach for A*: Efficient Point-to-Point Shortest Path Algorithms. In: Proc. 7th International Workshop on Algorithm Engineering and Experiments, SIAM, Philadelphia (2006)Google Scholar
  17. 17.
    Goldberg, A.V., Silverstein, C.: Implementations of Dijkstra’s Algorithm Based on Multi-Level Buckets. In: Pardalos, P.M., Hearn, D.W. (eds.) Lecture Notes in Economics and Mathematical Systems, pp. 292–327. Springer, Heidelberg (1997)Google Scholar
  18. 18.
    Goldberg, A.V., Werneck, R.F.: Computing Point-to-Point Shortest Paths from External Memory. In: Proc. 7th International Workshop on Algorithm Engineering and Experiments, pp. 26–40. SIAM, Philadelphia (2005)Google Scholar
  19. 19.
    Gutman, R.: Reach-Based Routing: A New Approach to Shortest Path Algorithms Optimized for Road Networks. In: Proc. 6th International Workshop on Algorithm Engineering and Experiments, pp. 100–111 (2004)Google Scholar
  20. 20.
    Hart, P.E., Nilsson, N.J., Raphael, B.: A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions on System Science and Cybernetics 4(2) (1968)Google Scholar
  21. 21.
    Ikeda, T., Hsu, M.-Y., Imai, H., Nishimura, S., Shimoura, H., Hashimoto, T., Tenmoku, K., Mitoh, K.: A Fast Algorithm for Finding Better Routes by AI Search Techniques. In: Proc. Vehicle Navigation and Information Systems Conference, IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  22. 22.
    Jacob, R., Marathe, M.V., Nagel, K.: A Computational Study of Routing Algorithms for Realistic Transportation Networks. Oper. Res. 10, 476–499 (1962)CrossRefGoogle Scholar
  23. 23.
    Klein, P.: Preprocessing an Undirected Planar Network to Enable Fast Approximate Distance Queries. In: Proc. 13th ACM-SIAM Symposium on Discrete Algorithms, pp. 820–827 (2002)Google Scholar
  24. 24.
    Köhler, E., Möhring, R.H., Schilling, H.: Acceleration of shortest path and constrained shortest path computation. In: Nikoletseas, S.E. (ed.) WEA 2005. LNCS, vol. 3503, pp. 126–138. Springer, Heidelberg (2005)Google Scholar
  25. 25.
    Ford Jr., L.R.: Network Flow Theory. Technical Report P-932, The Rand Corporation (1956)Google Scholar
  26. 26.
    Ford Jr., L.R., Fulkerson, D.R.: Flows in Networks. Princeton Univ. Press, Princeton (1962)zbMATHGoogle Scholar
  27. 27.
    Lauther, U.: An Extremely Fast, Exact Algorithm for Finding Shortest Paths in Static Networks with Geographical Background. In: IfGIprints 22, Institut fuer Geoinformatik, Universitaet Muenster, pp. 219–230 (2004)Google Scholar
  28. 28.
    Meyer, U.: Single-Source Shortest Paths on Arbitrary Directed Graphs in Linear Average Time. In: Proc. 12th ACM-SIAM Symposium on Discrete Algorithms, pp. 797–806 (2001)Google Scholar
  29. 29.
    Möhring, R.H., Schilling, H., Schütz, B., Wagner, D., Willhalm, T.: Partitioning Graphs to Speed up Dijkstra’s Algorithm. In: Nikoletseas, S.E. (ed.) WEA 2005. LNCS, vol. 3503, pp. 189–202. Springer, Heidelberg (2005)Google Scholar
  30. 30.
    Nicholson, T.A.J.: Finding the Shortest Route Between Two Points in a Network. Computer J. 9, 275–280 (1966)zbMATHGoogle Scholar
  31. 31.
    Pohl, I.: Bi-Directional Search. In: Machine Intelligence, vol. 6, pp. 124–140. Edinburgh Univ. Press, Edinburgh (1971)Google Scholar
  32. 32.
    Sanders, P., Schultes, D.: Highway Hierarchies Hasten Exact Shortest Path Queries. In: Brodal, G.S., Leonardi, S. (eds.) ESA 2005. LNCS, vol. 3669, pp. 568–579. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  33. 33.
    Sanders, P., Schultes, D.: Engineering highway hierarchies. In: Azar, Y., Erlebach, T. (eds.) ESA 2006. LNCS, vol. 4168, pp. 804–816. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  34. 34.
    Schultes, D.: Fast and Exact Shortest Path Queries Using Highway Hierarchies. Master’s Thesis, Department of Computer Science, Universität des Saarlandes, Germany (2005)Google Scholar
  35. 35.
    Schulz, F., Wagner, D., Zaroliagis, C.D.: Using Multi-level Graphs for Timetable Information in Railway Systems. In: Mount, D.M., Stein, C. (eds.) ALENEX 2002. LNCS, vol. 2409, pp. 43–59. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  36. 36.
    Sedgewick, R., Vitter, J.S.: Shortest Paths in Euclidean Graphs. Algorithmica 1, 31–48 (1986)zbMATHCrossRefMathSciNetGoogle Scholar
  37. 37.
    Tarjan, R.E.: Data Structures and Network Algorithms. Society for Industrial and Applied Mathematics, Philadelphia (1983)Google Scholar
  38. 38.
    Thorup, M.: Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time. J. Assoc. Comput. Mach. 46, 362–394 (1999)zbMATHMathSciNetGoogle Scholar
  39. 39.
    Thorup, M.: Compact Oracles for Reachability and Approximate Distances in Planar Digraphs. In: Proc. 42nd IEEE Annual Symposium on Foundations of Computer Science, pp. 242–251 (2001)Google Scholar
  40. 40.
    Wagner, D., Willhalm, T.: Geometric speed-up techniques for finding shortest paths in large sparse graphs. In: Di Battista, G., Zwick, U. (eds.) ESA 2003. LNCS, vol. 2832, pp. 776–787. Springer, Heidelberg (2003)Google Scholar
  41. 41.
    Zhan, F.B., Noon, C.E.: Shortest Path Algorithms: An Evaluation Using Real Road Networks. Transp. Sci. 32, 65–73 (1998)zbMATHGoogle Scholar
  42. 42.
    Zhan, F.B., Noon, C.E.: A Comparison Between Label-Setting and Label-Correcting Algorithms for Computing One-to-One Shortest Paths. Journal of Geographic Information and Decision Analysis 4 (2000)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Andrew V. Goldberg
    • 1
  1. 1.Microsoft Research – Silicon Valley, 1065 La Avenida, Mountain View, CA 94062USA

Personalised recommendations