0

I want to recover the VRP problem from a context. In that context some vehicle might already loaded some shipments and en route of delivery. Or maybe it's going to the pickup location for pickup.

I don't want to re-assign those tasks to other vehicles. How can I assign them to the vehicles in that context?

My current workaround is set the picked-up very near to that vehicle's context location and a tight pickup window and a required skill to force the vehicle to pick it up. (this might not always work, so I need a hard writing way to do the set up)

Many thanks!

hihell
  • 936
  • 1
  • 10
  • 20

1 Answers1

1

You can try jsprit's initial route feature. You can refer to this post in jsprit's old mailing list and the example here.

EDIT:

essential parts of the answer:

VehicleRoute initialRoute_withShipmentsAndServices = VehicleRoute.Builder.newInstance(vehicle3)
    .addPickup(shipment1).addPickup(shipment2)
    .addService(service3).addService(service4)
    .addDelivery(shipment2).addDelivery(shipment1)
    .build();

vrpBuilder.addInitialVehicleRoute(initialRoute_withShipmentsAndServices);
He Huang
  • 136
  • 3