From b37064ec1784741e2d970ebb4ff1e9b52d7a09cd Mon Sep 17 00:00:00 2001 From: Stefan Schroeder <4sschroeder@gmail.com> Date: Thu, 10 Oct 2013 13:59:22 +0200 Subject: [PATCH] introduce SolutionCostCalculator --- .../src/main/java/analysis/SolutionPrinter.java | 2 ++ jsprit-core/pom.xml | 1 + .../src/main/java/algorithms/StateUpdates.java | 16 ++++++++-------- .../java/basics/algo/SolutionCostCalculator.java | 2 +- .../src/main/java/basics/route/VehicleRoute.java | 2 ++ 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/jsprit-analysis/src/main/java/analysis/SolutionPrinter.java b/jsprit-analysis/src/main/java/analysis/SolutionPrinter.java index bf4b707c..77de2a5a 100644 --- a/jsprit-analysis/src/main/java/analysis/SolutionPrinter.java +++ b/jsprit-analysis/src/main/java/analysis/SolutionPrinter.java @@ -65,6 +65,8 @@ public class SolutionPrinter { * * @param solution * @param level + * + * @deprecated is not going to work anymore */ @Deprecated public static void print(VehicleRoutingProblemSolution solution, Print level){ diff --git a/jsprit-core/pom.xml b/jsprit-core/pom.xml index 39ad5986..80a1cd52 100644 --- a/jsprit-core/pom.xml +++ b/jsprit-core/pom.xml @@ -50,6 +50,7 @@ xerces xerces 2.4.0 + compile diff --git a/jsprit-core/src/main/java/algorithms/StateUpdates.java b/jsprit-core/src/main/java/algorithms/StateUpdates.java index 35ee94ba..ed3e85a8 100644 --- a/jsprit-core/src/main/java/algorithms/StateUpdates.java +++ b/jsprit-core/src/main/java/algorithms/StateUpdates.java @@ -189,8 +189,8 @@ class StateUpdates { double transportCost = this.transportCost.getTransportCost(prevAct.getLocationId(), act.getLocationId(), startTimeAtPrevAct, vehicleRoute.getDriver(), vehicleRoute.getVehicle()); double actCost = activityCost.getActivityCost(act, timeTracker.getActArrTime(), vehicleRoute.getDriver(), vehicleRoute.getVehicle()); -// vehicleRoute.getVehicleRouteCostCalculator().addTransportCost(transportCost); -// vehicleRoute.getVehicleRouteCostCalculator().addActivityCost(actCost); + vehicleRoute.getVehicleRouteCostCalculator().addTransportCost(transportCost); + vehicleRoute.getVehicleRouteCostCalculator().addActivityCost(actCost); totalOperationCost += transportCost; totalOperationCost += actCost; @@ -207,8 +207,8 @@ class StateUpdates { double transportCost = this.transportCost.getTransportCost(prevAct.getLocationId(), vehicleRoute.getEnd().getLocationId(), startTimeAtPrevAct, vehicleRoute.getDriver(), vehicleRoute.getVehicle()); double actCost = activityCost.getActivityCost(vehicleRoute.getEnd(), timeTracker.getActEndTime(), vehicleRoute.getDriver(), vehicleRoute.getVehicle()); -// vehicleRoute.getVehicleRouteCostCalculator().addTransportCost(transportCost); -// vehicleRoute.getVehicleRouteCostCalculator().addActivityCost(actCost); + vehicleRoute.getVehicleRouteCostCalculator().addTransportCost(transportCost); + vehicleRoute.getVehicleRouteCostCalculator().addActivityCost(actCost); totalOperationCost += transportCost; totalOperationCost += actCost; @@ -216,10 +216,10 @@ class StateUpdates { states.putRouteState(vehicleRoute, StateTypes.COSTS, new StateImpl(totalOperationCost)); - //this is rather strange and likely to change -// vehicleRoute.getVehicleRouteCostCalculator().price(vehicleRoute.getDriver()); -// vehicleRoute.getVehicleRouteCostCalculator().price(vehicleRoute.getVehicle()); -// vehicleRoute.getVehicleRouteCostCalculator().finish(); +// this is rather strange and likely to change + vehicleRoute.getVehicleRouteCostCalculator().price(vehicleRoute.getDriver()); + vehicleRoute.getVehicleRouteCostCalculator().price(vehicleRoute.getVehicle()); + vehicleRoute.getVehicleRouteCostCalculator().finish(); startTimeAtPrevAct = 0.0; prevAct = null; diff --git a/jsprit-core/src/main/java/basics/algo/SolutionCostCalculator.java b/jsprit-core/src/main/java/basics/algo/SolutionCostCalculator.java index 5d7b7473..0e7a148c 100644 --- a/jsprit-core/src/main/java/basics/algo/SolutionCostCalculator.java +++ b/jsprit-core/src/main/java/basics/algo/SolutionCostCalculator.java @@ -5,7 +5,7 @@ import basics.VehicleRoutingProblemSolution; public interface SolutionCostCalculator { /** - * This modifies the solution by setting its costs
+ * This assumes that the solution is modified by setting its costs
* solution.setCost(costs); * @param solution */ diff --git a/jsprit-core/src/main/java/basics/route/VehicleRoute.java b/jsprit-core/src/main/java/basics/route/VehicleRoute.java index 97128ce5..7c1bb271 100644 --- a/jsprit-core/src/main/java/basics/route/VehicleRoute.java +++ b/jsprit-core/src/main/java/basics/route/VehicleRoute.java @@ -84,8 +84,10 @@ public class VehicleRoute { private End end; + @Deprecated private VehicleRouteCostCalculator costCalculator = new DefaultVehicleRouteCostCalculator(); + @Deprecated public VehicleRouteCostCalculator getVehicleRouteCostCalculator(){ return costCalculator; }