Maximum trip distance constraint

Hi @stefan,

I have taken a look at your implementation of the max distance constraint, and I have a few questions:

  1. You assumed a static travel distance, which might be fine for now, but I suppose a constraint here should be able to handle general cases. I guess it will require to add more states: activity vehicle-dependent arrival times, yet it might be a bit tricky due to the pickup shipment issue;

  2. Do you think we need to handle the case when actAfterPickup is End?

  3. When actBeforePickup is Start, I don’t think we should set it to iFacts.getRoute().getStart(), because the new vehicle start location and departure time could be different from those of the route start;

  4. Do you think we need to handle if(newAct instanceof DeliverShipment) in some other constraints or cost calculators, e.g., AdditionalTransportationCosts, LocalActivityInsertionCostsCalculator, etc.?

  5. Have you considered Phil’s suggestion and mine regarding the pickup shipment issue?

  6. When it comes to the generalized/extended job definition (a job is a list of activities), I suppose we cannot handle the pickup shipment issue in this way if(newAct instanceof DeliverShipment){} any more?

Best regards,
He