Reduce service time for consecutive pickups / deliveries on same locations


Is it possible to reduce service time for consecutive shipment pickups/deliveries on same coordinates during solution search?

For example:
There are four shipments = 4 pickups & 4 deliveries. All shipments picked from same locations, and delivered from to same locations.

Default pickup / delivery service time = 60 seconds.

Default result:

P1 (60s), P2 (60s), P3 (60s), P4 (60s), D1 (60s), D2 (60s), D3 (60s), D4 (60s)
Total service time = 480 seconds.

Result with service time reduction for consecutive activities:

P1 (60s), P2 (0s), P3 (0s), P4 (0s), D1 (60s), D2 (0s), D3 (0s), D4 (0s)
Total service time = 120 seconds.

How to produce solution that would have service times from result above? Maybe there is a way to influence algorithm to in a way that would truncate service times?

If the service times are the same for all jobs at a location, then an easy way to model this would be to modify your transport time matrix.

So whenever you read the travel time between two different locations/jobs i and j you just add the service time of j to the travel time. In addition, you have to adjust the time windows by adding the service time to the start and end time to account for the modified travel time.

Thanks for reply!

But what if service times are different for pickups and deliveries?

For instance, each non-consecutive pickup P takes 60 seconds, and non-consecutive delivery D takes 600 seconds?

Powered by Discourse