I’m looking to find/create a routing algorithm that can be used to manage multiple vans performing deliveries as well as the loads of each of those vans.
Here’s a rough specification of what I’m looking for..
- The routes should be calculated in a fast and efficient manner
- 100+ vans / 1000+ packages / 1000+ dropoff points could be processed in one go
- Each van could be a different size and have different weight restrictions
- Each package could be a different size and weight
- The packages should be organised onto the vans in a fair and economical manner, taking into account the routes, weight and size restrictions
- The routes the vans should take should be economical and as short as possible (or a configurable balance between the two)
- Vans could be limited to certain roads (low bridges, width, height and weight restrictions)
- Some packages may be given timeslots for delivery
Has anyone seen this sort of thing before, and if so, any ideas as to what algorithm could be used to do this, or an example of how it could be done? I’ve seen a few university papers but they’re quite old (probably fairly inefficient now) and don’t handle the package management – they just presume all the vans and packages are the same size.
Any thoughts would be appreciated!
Rich
pgRouting has a new function implementing a genetic algorithm for the Dial-a-Ride Problem: http://www.pgrouting.org/docs/1.x/darp.html
It’s an extension of PostgreSQL/PostGIS and you can build an application with this. It also has functions for shortest path search, etc.