Class AlternativeRoute

All Implemented Interfaces:
EdgeToEdgeRoutingAlgorithm, RoutingAlgorithm

public class AlternativeRoute extends AStarBidirection implements RoutingAlgorithm
This class implements the alternative paths search using the "plateau" and partially the "penalty" method described in the following papers.

  • Choice Routing Explanation - Camvit 2009: http://www.camvit.com/camvit-technical-english/Camvit-Choice-Routing-Explanation-english.pdf
  • and refined in: Alternative Routes in Road Networks 2010: http://www.cs.princeton.edu/~rwerneck/papers/ADGW10-alternatives-sea.pdf
  • other ideas 'Improved Alternative Route Planning', 2013: https://hal.inria.fr/hal-00871739/document
  • via point 'storage' idea 'Candidate Sets for Alternative Routes in Road Networks', 2013: https://algo2.iti.kit.edu/download/s-csarrn-12.pdf
  • Alternative route graph construction 2011: http://algo2.iti.kit.edu/download/altgraph_tapas_extended.pdf

Note: This algorithm can be slow for longer routes and alternatives are only really practical in combination with CH, see #2566

Author:
Peter Karich