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:

Reference manual: cppRouting.html , cppRouting.pdf
Vignettes: cppRouting (source, R code)

Downloads:

Package source: cppRouting_4.0.tar.gz
Windows binaries: r-devel: cppRouting_3.2.zip, r-release: cppRouting_3.2.zip, r-oldrel: cppRouting_3.2.zip
macOS binaries: r-release (arm64): cppRouting_4.0.tgz, r-oldrel (arm64): cppRouting_4.0.tgz, r-release (x86_64): cppRouting_3.2.tgz, r-oldrel (x86_64): cppRouting_3.2.tgz
Old sources: cppRouting archive

Reverse dependencies:

Reverse imports: GISSB, havel, himach, rTARDIS, spanner, spNetwork, uci

Linking:

Please use the canonical form https://CRAN.R-project.org/package=cppRouting to link to this page.