cppRoutingCCH - Algorithms for Routing and Solving the Traffic Assignment
Problem
Calculation of distances, shortest paths and isochrones on
weighted graphs using several variants of Dijkstra algorithm.
Proposed algorithms are unidirectional Dijkstra (Dijkstra, E.
W. (1959) <doi:10.1007/BF01386390>), bidirectional Dijkstra
(Goldberg, Andrew & Fonseca F. Werneck, Renato (2005)
<https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf>),
A* search (P. E. Hart, N. J. Nilsson et B. Raphael (1968)
<doi:10.1109/TSSC.1968.300136>), new bidirectional A* (Pijls &
Post (2009) <https://repub.eur.nl/pub/16100/ei2009-10.pdf>),
Contraction hierarchies (R. Geisberger, P. Sanders, D. Schultes
and D. Delling (2008) <doi:10.1007/978-3-540-68552-4_24>),
PHAST (D. Delling, A.Goldberg, A. Nowatzyk, R. Werneck (2011)
<doi:10.1016/j.jpdc.2012.02.007>), and customizable contraction
hierarchies for repeated edge-cost updates on stable graph
topologies. Algorithms for solving the traffic assignment
problem are All-or-Nothing assignment, Method of Successive
Averages, Frank-Wolfe algorithm (M. Fukushima (1984)
<doi:10.1016/0191-2615(84)90029-8>), Conjugate and Bi-Conjugate
Frank-Wolfe algorithms (M. Mitradjieva, P. O. Lindberg (2012)
<doi:10.1287/trsc.1120.0409>), Algorithm-B (R. B. Dial (2006)
<doi:10.1016/j.trb.2006.02.008>).