This would result in an update solution:
We are trying to solve a vehicle routing problem where we have several people that need to be transported to their own location at a fixed time. All vehicles have a capacity (max 8people) and we need to use as little as possible vehicle to transfer all the people. Every person may only be 2 times the minimum time in the vehicle and may only be maximum of 15minutes early.
Example:
- Person A needs to be at Location Z at 10:00. The direct travel time is 30 minutes. So person A needs to be picked up between 9:00 and 9:30 to arrive in time.
In this case we could pickup person B at 9:10 and drive to person A.
- Person B needs to be at Location Y at 10:15. The direct travel time is 45 minutes. So person B needs to be picked up between 8:45 and 9:30 to arrive in time.
- The distance between Z and Y is 10minutes.
- The distance between A and B is 20 minutes.
We arrive there at 9:30 and drive to location Z where we drop of person A at 10:00.
We continue to location Y where we arrive at 10:10 to drop of person B.
Not included in example, but actually needed: At each pickup/delivery point we have a variable slack time that happens before the location time.
Example:
- We need 3minutes at person A to load.
- We need 5minutes at location Z to unload.
- We need 7minutes at person B to load
- We need 1minute at location Y to unload.
This would result in an update solution:
- We arrive at person B at 8:55 and have him loaded at 9:02.
- We drive to person A and arrive at 9:22 and have him loaded at 9:25.
- We drive to location Z and arrive at 9:55 and have person A unloaded at 10:00.
- We drive to location Y and arrive at 10:10 and have person B unloaded at 10:11.
Obviously there could be a lot more people/drop of locations and we need the best solution with minimum amount of vehicles.
Is this possible with the vehicle routing library and if so: How would I go about this? We solved the normal vehicle routing problem where we need to deliver people to the same location, but I have no idea about how to start with this.
--
You received this message because you are subscribed to the Google Groups "or-tools-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to or-tools-discu...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Regards,
Hugo