Start or complete jobs within time windows


We have a problem with two different time window constraints:

Jobs time windows - jobs must be started within this time window (e.g. the vehicle must arrive within this period)

Vehicle time windows - jobs must be started AND completed within this time window

The default functionality of Jsprit seems to be that jobs have to be started within time windows. Is there a way we can modify this to ensure that jobs also must be completed within the vehicle time windows?


The vehicle builder has

public Builder setEarliestStart(double earliest_startTime);
public Builder setLatestArrival(double latest_arrTime);

Did you try those?

Yes we have set those, but we are still seeing jobs overrunning the latest arrival time. We have also set “return to depot” to be false, which I suppose must be the cause of the issue?