Skip to main content

Point-to-Point Shortest Path Algorithms with Preprocessing

  • Conference paper
SOFSEM 2007: Theory and Practice of Computer Science (SOFSEM 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4362))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cherkassky, B.V., Goldberg, A.V., Radzik, T.: Shortest Paths Algorithms: Theory and Experimental Evaluation. Math. Prog. 73, 129–174 (1996)

    MathSciNet  Google Scholar 

  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. Dantzig, G.B.: Linear Programming and Extensions. Princeton Univ. Press, Princeton (1962)

    Google Scholar 

  4. Denardo, E.V., Fox, B.L.: Shortest-Route Methods: 1. Reaching, Pruning, and Buckets. Oper. Res. 27, 161–186 (1979)

    MATH  MathSciNet  Google Scholar 

  5. Dijkstra, E.W.: A Note on Two Problems in Connexion with Graphs. Numer. Math. 1, 269–271 (1959)

    Article  MATH  MathSciNet  Google Scholar 

  6. Doran, J.: An Approach to Automatic Problem-Solving. Machine Intelligence 1, 105–127 (1967)

    Google Scholar 

  7. Dreyfus, D.: An Appraisal of Some Shortest Path Algorithms. Technical Report RM-5433, Rand Corporation, Santa Monica, CA (1967)

    Google Scholar 

  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. Fredman, M.L., Tarjan, R.E.: Fibonacci Heaps and Their Uses in Improved Network Optimization Algorithms. J. Assoc. Comput. Mach. 34, 596–615 (1987)

    MathSciNet  Google Scholar 

  10. Gallo, G., Pallottino, S.: Shortest Paths Algorithms. Annals of Oper. Res. 13, 3–79 (1988)

    MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. Goldberg, A.V., Kaplan, H., Werneck, R.F.: Better Landmarks within Reach. In: The 9th DIMACS Implementation Challenge: Shortest Paths (2006)

    Google Scholar 

  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. 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. 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. 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. 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. 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. Jacob, R., Marathe, M.V., Nagel, K.: A Computational Study of Routing Algorithms for Realistic Transportation Networks. Oper. Res. 10, 476–499 (1962)

    Article  Google Scholar 

  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. 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. Ford Jr., L.R.: Network Flow Theory. Technical Report P-932, The Rand Corporation (1956)

    Google Scholar 

  26. Ford Jr., L.R., Fulkerson, D.R.: Flows in Networks. Princeton Univ. Press, Princeton (1962)

    MATH  Google Scholar 

  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. 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. 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. Nicholson, T.A.J.: Finding the Shortest Route Between Two Points in a Network. Computer J. 9, 275–280 (1966)

    MATH  Google Scholar 

  31. Pohl, I.: Bi-Directional Search. In: Machine Intelligence, vol. 6, pp. 124–140. Edinburgh Univ. Press, Edinburgh (1971)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  36. Sedgewick, R., Vitter, J.S.: Shortest Paths in Euclidean Graphs. Algorithmica 1, 31–48 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  37. Tarjan, R.E.: Data Structures and Network Algorithms. Society for Industrial and Applied Mathematics, Philadelphia (1983)

    Google Scholar 

  38. Thorup, M.: Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time. J. Assoc. Comput. Mach. 46, 362–394 (1999)

    MATH  MathSciNet  Google Scholar 

  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. 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. Zhan, F.B., Noon, C.E.: Shortest Path Algorithms: An Evaluation Using Real Road Networks. Transp. Sci. 32, 65–73 (1998)

    MATH  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan van Leeuwen Giuseppe F. Italiano Wiebe van der Hoek Christoph Meinel Harald Sack František Plášil

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Goldberg, A.V. (2007). Point-to-Point Shortest Path Algorithms with Preprocessing. In: van Leeuwen, J., Italiano, G.F., van der Hoek, W., Meinel, C., Sack, H., Plášil, F. (eds) SOFSEM 2007: Theory and Practice of Computer Science. SOFSEM 2007. Lecture Notes in Computer Science, vol 4362. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69507-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69507-3_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69506-6

  • Online ISBN: 978-3-540-69507-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics