Description
The current pgr_trsp function does not use Boost in its underlying implementation, in part because Boost Graph does not support it natively. There has been some discussion about re-implementing the pgr_trsp like functionality using Boost Graph. I'm opening this issue to collect ideas and references regarding this.
- http://lists.boost.org/boost-users/2011/11/71549.php
- https://lists.osgeo.org/pipermail/pgrouting-dev/2011-May/000208.html
- https://github.com/mixedbredie/itn-for-pgrouting (extracting turn-restrictions for OS data)
- https://github.com/Ifsttar/Tempus/blob/master/src/core/road_graph.hh (routing supporting turn restrictions)
- https://groups.google.com/forum/#!topic/opentripplanner-dev/hrsa7V0OSKY (interesting discussion)
There are also two terms that I have come across in this research "turn-penalties" and "turn-restrictions". An infinite penalty can be considered a restriction. From an implementation point of view having penalties is probably preferable because applying a penalty allows you more flexibility like applying a cost to making a turn or applying a greater cost to make a turn across traffic, or at traffic lights ot stop signs, etc.
In my mind "turn-restrictions" could be viewed as dynamic modification to the graph, based on the first link above this might be problematic, while changing the costs to a particular node based on the path to get there might be less problematic.
Please add additional useful comments and research.