From 5530bc648add2fc383efd29b171a21232f788b1c Mon Sep 17 00:00:00 2001 From: Stefan Schroeder <4sschroeder@gmail.com> Date: Wed, 9 Oct 2013 15:32:25 +0200 Subject: [PATCH] relax API --- ...kupAndDeliveryActivityLevelConstraint.java | 2 +- ...liveryBackhaulActivityLevelConstraint.java | 2 +- .../HardPickupAndDeliveryLoadConstraint.java | 2 +- ...StartAndEndOfRouteWhenInsertionStarts.java | 2 +- .../main/java/algorithms/StateIdFactory.java | 21 ++++--------------- .../java/algorithms/StateManagerImpl.java | 2 +- .../algorithms/UpdateLoadAtActivityLevel.java | 2 +- ...rtAndEndOfRouteWhenJobHasBeenInserted.java | 4 ++-- .../BuildPDVRPAlgoFromScratchTest.java | 6 +++--- 9 files changed, 15 insertions(+), 28 deletions(-) diff --git a/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryActivityLevelConstraint.java b/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryActivityLevelConstraint.java index 30c9d681..33d7f20e 100644 --- a/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryActivityLevelConstraint.java +++ b/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryActivityLevelConstraint.java @@ -21,7 +21,7 @@ public class HardPickupAndDeliveryActivityLevelConstraint implements HardActivit int futurePicks; int pastDeliveries; if(prevAct instanceof Start){ - loadAtPrevAct = (int)stateManager.getRouteState(iFacts.getRoute(), StateIdFactory.LOAD_AT_DEPOT).toDouble(); + loadAtPrevAct = (int)stateManager.getRouteState(iFacts.getRoute(), StateIdFactory.LOAD_AT_BEGINNING).toDouble(); futurePicks = (int)stateManager.getRouteState(iFacts.getRoute(), StateIdFactory.LOAD).toDouble(); pastDeliveries = 0; } diff --git a/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryBackhaulActivityLevelConstraint.java b/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryBackhaulActivityLevelConstraint.java index 7e8a9b8f..96fea881 100644 --- a/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryBackhaulActivityLevelConstraint.java +++ b/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryBackhaulActivityLevelConstraint.java @@ -25,7 +25,7 @@ public class HardPickupAndDeliveryBackhaulActivityLevelConstraint implements Har int futurePicks; int pastDeliveries; if(prevAct instanceof Start){ - loadAtPrevAct = (int)stateManager.getRouteState(iFacts.getRoute(), StateIdFactory.LOAD_AT_DEPOT).toDouble(); + loadAtPrevAct = (int)stateManager.getRouteState(iFacts.getRoute(), StateIdFactory.LOAD_AT_BEGINNING).toDouble(); futurePicks = (int)stateManager.getRouteState(iFacts.getRoute(), StateIdFactory.LOAD).toDouble(); pastDeliveries = 0; } diff --git a/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryLoadConstraint.java b/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryLoadConstraint.java index 6bccd2dc..326838a0 100644 --- a/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryLoadConstraint.java +++ b/jsprit-core/src/main/java/algorithms/HardPickupAndDeliveryLoadConstraint.java @@ -22,7 +22,7 @@ public class HardPickupAndDeliveryLoadConstraint implements HardRouteLevelConstr @Override public boolean fulfilled(InsertionContext insertionContext) { if(insertionContext.getJob() instanceof Delivery){ - int loadAtDepot = (int) stateManager.getRouteState(insertionContext.getRoute(), StateIdFactory.LOAD_AT_DEPOT).toDouble(); + int loadAtDepot = (int) stateManager.getRouteState(insertionContext.getRoute(), StateIdFactory.LOAD_AT_BEGINNING).toDouble(); if(loadAtDepot + insertionContext.getJob().getCapacityDemand() > insertionContext.getNewVehicle().getCapacity()){ return false; } diff --git a/jsprit-core/src/main/java/algorithms/InitializeLoadsAtStartAndEndOfRouteWhenInsertionStarts.java b/jsprit-core/src/main/java/algorithms/InitializeLoadsAtStartAndEndOfRouteWhenInsertionStarts.java index 58ed2252..3651d8b9 100644 --- a/jsprit-core/src/main/java/algorithms/InitializeLoadsAtStartAndEndOfRouteWhenInsertionStarts.java +++ b/jsprit-core/src/main/java/algorithms/InitializeLoadsAtStartAndEndOfRouteWhenInsertionStarts.java @@ -50,7 +50,7 @@ public class InitializeLoadsAtStartAndEndOfRouteWhenInsertionStarts implements I loadAtEnd += j.getCapacityDemand(); } } - stateManager.putRouteState(route, StateIdFactory.LOAD_AT_DEPOT, new StateImpl(loadAtDepot)); + stateManager.putRouteState(route, StateIdFactory.LOAD_AT_BEGINNING, new StateImpl(loadAtDepot)); stateManager.putRouteState(route, StateIdFactory.LOAD, new StateImpl(loadAtEnd)); } diff --git a/jsprit-core/src/main/java/algorithms/StateIdFactory.java b/jsprit-core/src/main/java/algorithms/StateIdFactory.java index cb4eadf0..30220d33 100644 --- a/jsprit-core/src/main/java/algorithms/StateIdFactory.java +++ b/jsprit-core/src/main/java/algorithms/StateIdFactory.java @@ -26,27 +26,14 @@ import java.util.List; import algorithms.StateManager.StateId; public class StateIdFactory { -// public final static String LOAD = "load"; - -// public final static String LOAD_AT_DEPOT = "loadAtDepot"; - -// public final static String DURATION = "duration"; - -// public final static String LATEST_OPERATION_START_TIME = "latestOST"; - -// public final static String EARLIEST_OPERATION_START_TIME = "earliestOST"; - -// public static final String COSTS = "costs"; - -// public final static String FUTURE_PICKS = "futurePicks"; - -// public final static String PAST_DELIVERIES = "pastDeliveries"; final static StateId LOAD = new StateIdImpl("load"); final static StateId COSTS = new StateIdImpl("costs"); - final static StateId LOAD_AT_DEPOT = new StateIdImpl("loadAtDepot"); + final static StateId LOAD_AT_BEGINNING = new StateIdImpl("loadAtBeginning"); + + final static StateId LOAD_AT_END = new StateIdImpl("loadAtEnd"); final static StateId DURATION = new StateIdImpl("duration"); @@ -58,7 +45,7 @@ public class StateIdFactory { final static StateId PAST_DELIVERIES = new StateIdImpl("pastDeliveries"); - final static List reservedIds = Arrays.asList("load","costs","loadAtDepot","duration","latestOST","earliestOST" + final static List reservedIds = Arrays.asList("load","costs","loadAtBeginning","loadAtEnd","duration","latestOST","earliestOST" ,"futurePicks","pastDeliveries"); diff --git a/jsprit-core/src/main/java/algorithms/StateManagerImpl.java b/jsprit-core/src/main/java/algorithms/StateManagerImpl.java index 8342d483..1f41d305 100644 --- a/jsprit-core/src/main/java/algorithms/StateManagerImpl.java +++ b/jsprit-core/src/main/java/algorithms/StateManagerImpl.java @@ -148,7 +148,7 @@ public class StateManagerImpl implements StateManager, IterationStartsListener, private State getDefaultRouteState(StateId stateId, VehicleRoute route){ if(stateId.equals(StateIdFactory.LOAD)) return new StateImpl(0); - if(stateId.equals(StateIdFactory.LOAD_AT_DEPOT)) return new StateImpl(0); + if(stateId.equals(StateIdFactory.LOAD_AT_BEGINNING)) return new StateImpl(0); if(stateId.equals(StateIdFactory.COSTS)) return new StateImpl(0); if(stateId.equals(StateIdFactory.DURATION)) return new StateImpl(0); return null; diff --git a/jsprit-core/src/main/java/algorithms/UpdateLoadAtActivityLevel.java b/jsprit-core/src/main/java/algorithms/UpdateLoadAtActivityLevel.java index 139d94cf..eced7b67 100644 --- a/jsprit-core/src/main/java/algorithms/UpdateLoadAtActivityLevel.java +++ b/jsprit-core/src/main/java/algorithms/UpdateLoadAtActivityLevel.java @@ -46,7 +46,7 @@ public class UpdateLoadAtActivityLevel implements ActivityVisitor { @Override public void begin(VehicleRoute route) { - currentLoad = (int) stateManager.getRouteState(route, StateIdFactory.LOAD_AT_DEPOT).toDouble(); + currentLoad = (int) stateManager.getRouteState(route, StateIdFactory.LOAD_AT_BEGINNING).toDouble(); this.route = route; } diff --git a/jsprit-core/src/main/java/algorithms/UpdateLoadsAtStartAndEndOfRouteWhenJobHasBeenInserted.java b/jsprit-core/src/main/java/algorithms/UpdateLoadsAtStartAndEndOfRouteWhenJobHasBeenInserted.java index 9f86afe1..8b18f439 100644 --- a/jsprit-core/src/main/java/algorithms/UpdateLoadsAtStartAndEndOfRouteWhenJobHasBeenInserted.java +++ b/jsprit-core/src/main/java/algorithms/UpdateLoadsAtStartAndEndOfRouteWhenJobHasBeenInserted.java @@ -38,9 +38,9 @@ public class UpdateLoadsAtStartAndEndOfRouteWhenJobHasBeenInserted implements Jo @Override public void informJobInserted(Job job2insert, VehicleRoute inRoute, double additionalCosts, double additionalTime) { if(job2insert instanceof Delivery){ - int loadAtDepot = (int) stateManager.getRouteState(inRoute, StateIdFactory.LOAD_AT_DEPOT).toDouble(); + int loadAtDepot = (int) stateManager.getRouteState(inRoute, StateIdFactory.LOAD_AT_BEGINNING).toDouble(); // log.info("loadAtDepot="+loadAtDepot); - stateManager.putRouteState(inRoute, StateIdFactory.LOAD_AT_DEPOT, new StateImpl(loadAtDepot + job2insert.getCapacityDemand())); + stateManager.putRouteState(inRoute, StateIdFactory.LOAD_AT_BEGINNING, new StateImpl(loadAtDepot + job2insert.getCapacityDemand())); } else if(job2insert instanceof Pickup || job2insert instanceof Service){ int loadAtEnd = (int) stateManager.getRouteState(inRoute, StateIdFactory.LOAD).toDouble(); diff --git a/jsprit-core/src/test/java/algorithms/BuildPDVRPAlgoFromScratchTest.java b/jsprit-core/src/test/java/algorithms/BuildPDVRPAlgoFromScratchTest.java index cceaafd2..b97dddab 100644 --- a/jsprit-core/src/test/java/algorithms/BuildPDVRPAlgoFromScratchTest.java +++ b/jsprit-core/src/test/java/algorithms/BuildPDVRPAlgoFromScratchTest.java @@ -121,7 +121,7 @@ public class BuildPDVRPAlgoFromScratchTest { loadAtEnd += j.getCapacityDemand(); } } - stateManager.putRouteState(route, StateIdFactory.LOAD_AT_DEPOT, new StateImpl(loadAtDepot)); + stateManager.putRouteState(route, StateIdFactory.LOAD_AT_BEGINNING, new StateImpl(loadAtDepot)); stateManager.putRouteState(route, StateIdFactory.LOAD, new StateImpl(loadAtEnd)); iterateForward.visit(route); iterateBackward.visit(route); @@ -139,9 +139,9 @@ public class BuildPDVRPAlgoFromScratchTest { // log.info("insert job " + job2insert.getClass().toString() + " job " + job2insert + "" + job2insert.getCapacityDemand() + " in route " + inRoute.getTourActivities()); if(job2insert instanceof Delivery){ - int loadAtDepot = (int) stateManager.getRouteState(inRoute, StateIdFactory.LOAD_AT_DEPOT).toDouble(); + int loadAtDepot = (int) stateManager.getRouteState(inRoute, StateIdFactory.LOAD_AT_BEGINNING).toDouble(); // log.info("loadAtDepot="+loadAtDepot); - stateManager.putRouteState(inRoute, StateIdFactory.LOAD_AT_DEPOT, new StateImpl(loadAtDepot + job2insert.getCapacityDemand())); + stateManager.putRouteState(inRoute, StateIdFactory.LOAD_AT_BEGINNING, new StateImpl(loadAtDepot + job2insert.getCapacityDemand())); } if(job2insert instanceof Pickup){ int loadAtEnd = (int) stateManager.getRouteState(inRoute, StateIdFactory.LOAD).toDouble();