NEWS
cppRouting 3.2 (2025-11-28)
- update DESCRIPTION file : remove c++11 specification and add Authors@R field
cppRouting 3.1 (2022-12-01)
- cppRouting use tinythread as parallel backend
cppRouting 3.0 (2022-11-28)
Major changes
- All C++ code have been rewritten in a much more OOP way, and can be easily used outside of Rcpp
- All routing algorithms are now implemented in subclasses of RcppParallel::Worker and are natively multithreaded
- graph are now internally represented as adjacency lists (3 vectors), which is generally 20% faster for routing
get_path_pair, get_isochrone, get_detour and get_multi_paths are now multithreaded
- aggregating a secondary weight along shortest path is now implemented for
get_distance_pair and get_distance_matrix, for both normal and contracted network, and multithreaded
- implementation of all-or-nothing assignment for both normal and contracted network, multithreaded
- link-based algorithms for the calculation of the User Equilibrium (UE) : Method of Successive Averages, variants of Frank-Wolfe algorithm (normal, conjugate, bi-conjugate). Multithreaded
- bush-based algorithm for the calculation of the User Equilibrium (UE) : algorithm-B from R.B. Dial (with batching for large OD matrix). Partially multithreaded.
- implementation of stall-on-demand technique (see Geisberger, 2008) which speed-up routing computation on a contracted network (both pairwise and matrix)
Minor changes
- bug fix in
get_path_pair and get_multi_paths : node sequence listed from origin to destination node.
cppRouting 2.0 (2020-01-07)
Major changes
- implementation of contraction hierarchies algorithm
- thread-safe implementation of all parallel algorithms with
RcppParallel package instead of parallel
- implementation of one-to-one query algorithm on contracted graph
- implementation of many-to-many query algorithm on contracted graph
- implementation of PHAST algorithm on contracted graph
Minor changes
- new options
long and keep for get_path_pair, get_isochrone and get_multi_paths functions
- remove
allcores option for get_detour function
- optimization of
cpp_simplify function
- optimization of
makegraph function
cppRouting 1.2 (2019-09-30)
Major changes
- new functions
cpp_simplify, get_detour and to_df
Minor changes
- bug fix in
get_distance_pair and get_path_pair : verify that origin / destination nodes are present in the graph before running c++ function
- modification of
get_distance_pair and get_path_pair Rd. files : clearer explanation about the choice between algorithms
- optimization of
get_distance_matrix function : if length(to) < length(from) then Dijkstra algorithm is ran from destination nodes on reversed graph
cppRouting 1.1 (2019-06-21)
First CRAN release