diff --git a/jsprit-core/src/main/java/jsprit/core/problem/constraint/TimeWindowConstraint.java b/jsprit-core/src/main/java/jsprit/core/problem/constraint/TimeWindowConstraint.java index b5a2266a..4ffdfe9b 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/constraint/TimeWindowConstraint.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/constraint/TimeWindowConstraint.java @@ -51,6 +51,11 @@ import org.apache.log4j.Logger; if(arrTimeAtNextAct > latestArrTimeAtNextAct){ return ConstraintsStatus.NOT_FULFILLED; } + double arrTimeAtNextOnDirectRouteWithNewVehicle = prevActDepTime + routingCosts.getTransportCost(prevAct.getLocationId(), nextAct.getLocationId(), prevActDepTime, iFacts.getNewDriver(), iFacts.getNewVehicle()); + //if vehicle cannot even manage direct-route - break + if(arrTimeAtNextOnDirectRouteWithNewVehicle > latestArrTimeAtNextAct){ + return ConstraintsStatus.NOT_FULFILLED_BREAK; + } return ConstraintsStatus.FULFILLED; } } \ No newline at end of file