cppRouting: 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>).
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>),
Customizable Contraction Hierarchies (J. Dibbelt, B. Strasser, D. Wagner (2014) <doi:10.1145/2886843>).
| Version: |
4.0 |
| Imports: |
Rcpp (≥ 1.0.7), RcppParallel, data.table |
| LinkingTo: |
Rcpp, RcppParallel, RcppProgress |
| Suggests: |
knitr, rmarkdown, igraph, sf, osmextract, testthat (≥ 3.0.0) |
| Published: |
2026-11-10 |
| DOI: |
10.32614/CRAN.package.cppRouting |
| Author: |
Vincent Larmet [aut, cre] |
| Maintainer: |
Vincent Larmet <larmet.vincent at gmail.com> |
| License: |
GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: |
https://github.com/vlarmet/cppRouting |
| NeedsCompilation: |
yes |
| SystemRequirements: |
GNU make, zlib |
| Materials: |
NEWS |
| CRAN checks: |
cppRouting results [issues need fixing before 2026-12-01] |
Documentation:
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=cppRouting
to link to this page.