1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

improve break scheduling

This commit is contained in:
oblonski 2016-04-09 17:38:05 +02:00
parent 229577dd43
commit c2c3062a43
3 changed files with 2 additions and 5 deletions

View file

@ -557,6 +557,7 @@ public class Jsprit {
vra.addListener(noiseConfigurator);
vra.addListener(noise);
vra.addListener(clusters);
vra.addListener(new BreakScheduling(vrp,stateManager,constraintManager));
// vra.addListener(new RuinBreaks());
handleExecutorShutdown(vra);

View file

@ -34,13 +34,11 @@ public class BreakScheduling implements JobInsertedListener, RuinListener {
@Override
public void informJobInserted(Job job2insert, VehicleRoute inRoute, double additionalCosts, double additionalTime) {
Break aBreak = inRoute.getVehicle().getBreak();
// if(job2insert == aBreak) return;
if(aBreak != null){
boolean removed = inRoute.getTourActivities().removeJob(aBreak);
if(removed){
stateManager.removed(aBreak,inRoute);
stateManager.reCalculateStates(inRoute);
//updateRoute --> alles wichtiges states
}
if(inRoute.getEnd().getArrTime() > aBreak.getTimeWindow().getEnd()){
InsertionData iData = breakInsertionCalculator.getInsertionData(inRoute, aBreak, inRoute.getVehicle(), inRoute.getDepartureTime(), inRoute.getDriver(), Double.MAX_VALUE);
@ -48,12 +46,9 @@ public class BreakScheduling implements JobInsertedListener, RuinListener {
for(Event e : iData.getEvents()){
eventListeners.inform(e);
}
//inform job inserted
stateManager.informJobInserted(aBreak,inRoute,0,0);
}
}
}
}

View file

@ -583,6 +583,7 @@ public class VehicleRoutingProblem {
logger.info("setup problem: {}", this);
}
@Override
public String toString() {
return "[fleetSize=" + fleetSize + "][#jobs=" + jobs.size() + "][#vehicles=" + vehicles.size() + "][#vehicleTypes=" + vehicleTypes.size() + "][" +