A module for solving optimization routing problems with Itinero as a routing solution.
Current we have the following problems supported:
- TSP: The default travelling salesman problem.
- Directed TSP: The TSP with costs for turns.
- TSP-TW: The TSP with time window constraints.
- Directed TSP-TW: The TSP-TW with costs for turns.
- STSP: The selective travelling salesman problem, generates routes with as much locations as possible with a maxium travel time.
- DirectedSTSP: Identical to the STSP but with u-turn prevention.
- CVRP (experimental): The capacitated vehicle routing problem.
Install the following package via Nuget:
PM> Install-Package Itinero.Optimization -IncludePrerelease
Then immediately some extension methods are available on top the default Itinero Router class.
router.Optimize (string profileName, Coordinate[] locations)
This calculates a TSP by default starting and ending at the location at index 0
. Specifiy first
and last
to change this behaviour, when leaving last=null
the solver decides the best last location. When setting turnPenalty
u-turns are being avoided when they introduce a cost bigger than the given penalty.