From cec6e02fe0ea6a9dcf937c5bdbede39c448ddeae Mon Sep 17 00:00:00 2001 From: braktar Date: Fri, 12 Aug 2016 12:40:23 +0200 Subject: [PATCH] transport cost test and examples --- .../core/algorithm/CVRPwithMatrix_IT.java | 2 +- .../algorithm/MultipleTimeWindowsTest.java | 2 + .../VariableDepartureAndWaitingTime_IT.java | 2 +- .../recreate/RegretInsertionTest.java | 2 +- .../TestAuxilliaryCostCalculator.java | 12 +- .../TestCalculatesServiceInsertion.java | 10 +- ...alculatesServiceInsertionOnRouteLevel.java | 6 +- ...LocalActivityInsertionCostsCalculator.java | 12 +- .../distance/TestJobDistanceAvgCosts.java | 16 +- .../core/analysis/SolutionAnalyserTest.java | 314 +++++++++--------- .../problem/VehicleRoutingProblemTest.java | 6 +- ...ehicleRoutingTransportCostsMatrixTest.java | 20 +- ...ehicleRoutingTransportCostsMatrixTest.java | 72 ++-- .../jsprit/examples/BicycleMessenger.java | 14 +- .../examples/BuildAlgorithmFromScratch.java | 2 +- .../examples/MultipleTimeWindowExample2.java | 2 +- .../examples/PickupAndDeliveryExample.java | 2 +- .../examples/VRPWithBackhaulsExample2.java | 2 +- .../jsprit/instance/reader/Figliozzi.java | 12 +- .../reader/LopezIbanezBlumReader.java | 8 +- .../jsprit/instance/reader/FigliozziTest.java | 38 +-- 21 files changed, 279 insertions(+), 277 deletions(-) diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/CVRPwithMatrix_IT.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/CVRPwithMatrix_IT.java index 050fbf165..5541344e4 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/CVRPwithMatrix_IT.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/CVRPwithMatrix_IT.java @@ -81,7 +81,7 @@ public void whenCalcTimeWithSolutionAnalyser_itShouldWork() { SolutionAnalyser sa = new SolutionAnalyser(vrp, Solutions.bestOf(solutions), new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); } diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/MultipleTimeWindowsTest.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/MultipleTimeWindowsTest.java index 5ed0309d4..f1c8d019b 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/MultipleTimeWindowsTest.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/MultipleTimeWindowsTest.java @@ -25,7 +25,9 @@ import com.graphhopper.jsprit.core.problem.solution.VehicleRoutingProblemSolution; import com.graphhopper.jsprit.core.problem.vehicle.VehicleImpl; import com.graphhopper.jsprit.core.util.Solutions; + import junit.framework.Assert; + import org.junit.Test; /** diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/VariableDepartureAndWaitingTime_IT.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/VariableDepartureAndWaitingTime_IT.java index aac174a7e..acb33f0b5 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/VariableDepartureAndWaitingTime_IT.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/VariableDepartureAndWaitingTime_IT.java @@ -85,7 +85,7 @@ public double getCosts(VehicleRoutingProblemSolution solution) { SolutionAnalyser sa = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); return sa.getWaitingTime() + sa.getDistance(); diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionTest.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionTest.java index fbdf90082..42bf673cf 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionTest.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionTest.java @@ -408,7 +408,7 @@ private double getMarginalCost(Service service, TourActivity prevAct, TourActivi } private double getCost(Location loc1, Location loc2) { - return vrp.getTransportCosts().getTransportCost(loc1, loc2, 0., null, null); + return vrp.getTransportCosts().getTransportCost(loc1, loc2, 0., 0., null, null); } }; diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestAuxilliaryCostCalculator.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestAuxilliaryCostCalculator.java index 674a7851a..955812712 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestAuxilliaryCostCalculator.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestAuxilliaryCostCalculator.java @@ -47,12 +47,12 @@ public void doBefore() { routingCosts = mock(VehicleRoutingTransportCosts.class); actCosts = mock(VehicleRoutingActivityCosts.class); - when(routingCosts.getTransportCost(loc("i"), loc("j"), 0.0, null, vehicle)).thenReturn(2.0); - when(routingCosts.getTransportTime(loc("i"), loc("j"), 0.0, null, vehicle)).thenReturn(0.0); - when(routingCosts.getTransportCost(loc("i"), loc("k"), 0.0, null, vehicle)).thenReturn(3.0); - when(routingCosts.getTransportTime(loc("i"), loc("k"), 0.0, null, vehicle)).thenReturn(0.0); - when(routingCosts.getTransportCost(loc("k"), loc("j"), 0.0, null, vehicle)).thenReturn(3.0); - when(routingCosts.getTransportTime(loc("k"), loc("j"), 0.0, null, vehicle)).thenReturn(0.0); + when(routingCosts.getTransportCost(loc("i"), loc("j"), 0.0, 0., null, vehicle)).thenReturn(2.0); + when(routingCosts.getTransportTime(loc("i"), loc("j"), 0.0, 0., null, vehicle)).thenReturn(0.0); + when(routingCosts.getTransportCost(loc("i"), loc("k"), 0.0, 0., null, vehicle)).thenReturn(3.0); + when(routingCosts.getTransportTime(loc("i"), loc("k"), 0.0, 0., null, vehicle)).thenReturn(0.0); + when(routingCosts.getTransportCost(loc("k"), loc("j"), 0.0, 0., null, vehicle)).thenReturn(3.0); + when(routingCosts.getTransportTime(loc("k"), loc("j"), 0.0, 0., null, vehicle)).thenReturn(0.0); } private Location loc(String i) { diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestCalculatesServiceInsertion.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestCalculatesServiceInsertion.java index e6a7815a5..ab7e96206 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestCalculatesServiceInsertion.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestCalculatesServiceInsertion.java @@ -97,12 +97,12 @@ public Coordinate getCoord(String id) { costs = new AbstractForwardVehicleRoutingTransportCosts() { @Override - public double getTransportTime(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) { + public double getTransportTime(Location from, Location to, double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { return ManhattanDistanceCalculator.calculateDistance(locations.getCoord(from.getId()), locations.getCoord(to.getId())); } @Override - public double getTransportCost(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) { + public double getTransportCost(Location from, Location to, double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { return vehicle.getType().getVehicleCostParams().perDistanceUnit * ManhattanDistanceCalculator.calculateDistance(locations.getCoord(from.getId()), locations.getCoord(to.getId())); } }; @@ -232,12 +232,12 @@ public void whenInsertingJobAndCurrRouteAndNewVehicleHaveDifferentLocations_acce AbstractForwardVehicleRoutingTransportCosts routingCosts = new AbstractForwardVehicleRoutingTransportCosts() { @Override - public double getTransportTime(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) { - return getTransportCost(from, to, departureTime, driver, vehicle); + public double getTransportTime(Location from, Location to, double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { + return getTransportCost(from, to, departureTime, setupDuration, driver, vehicle); } @Override - public double getTransportCost(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) { + public double getTransportCost(Location from, Location to, double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { return EuclideanDistanceCalculator.calculateDistance(coords.get(from.getId()), coords.get(to.getId())); } }; diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestCalculatesServiceInsertionOnRouteLevel.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestCalculatesServiceInsertionOnRouteLevel.java index 23f41f206..0793c9b3a 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestCalculatesServiceInsertionOnRouteLevel.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestCalculatesServiceInsertionOnRouteLevel.java @@ -86,13 +86,13 @@ public void setup() { VehicleRoutingTransportCosts routingCosts = CostFactory.createManhattanCosts(); @Override - public double getTransportTime(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) { + public double getTransportTime(Location from, Location to, double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { return 0; } @Override - public double getTransportCost(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) { - double tpCosts = routingCosts.getTransportCost(from, to, departureTime, driver, vehicle); + public double getTransportCost(Location from, Location to, double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { + double tpCosts = routingCosts.getTransportCost(from, to, departureTime, setupDuration, driver, vehicle); if (vehicle.getId().equals("v1")) return tpCosts; return 2. * tpCosts; } diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestLocalActivityInsertionCostsCalculator.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestLocalActivityInsertionCostsCalculator.java index 66ff50630..b4d15e0c6 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestLocalActivityInsertionCostsCalculator.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/recreate/TestLocalActivityInsertionCostsCalculator.java @@ -76,12 +76,12 @@ public void doBefore() { when(vehicle.getType()).thenReturn(VehicleTypeImpl.Builder.newInstance("type").build()); tpCosts = mock(VehicleRoutingTransportCosts.class); - when(tpCosts.getTransportCost(loc("i"), loc("j"), 0.0, null, vehicle)).thenReturn(2.0); - when(tpCosts.getTransportTime(loc("i"), loc("j"), 0.0, null, vehicle)).thenReturn(0.0); - when(tpCosts.getTransportCost(loc("i"), loc("k"), 0.0, null, vehicle)).thenReturn(3.0); - when(tpCosts.getTransportTime(loc("i"), loc("k"), 0.0, null, vehicle)).thenReturn(0.0); - when(tpCosts.getTransportCost(loc("k"), loc("j"), 0.0, null, vehicle)).thenReturn(3.0); - when(tpCosts.getTransportTime(loc("k"), loc("j"), 0.0, null, vehicle)).thenReturn(0.0); + when(tpCosts.getTransportCost(loc("i"), loc("j"), 0.0, 0., null, vehicle)).thenReturn(2.0); + when(tpCosts.getTransportTime(loc("i"), loc("j"), 0.0, 0., null, vehicle)).thenReturn(0.0); + when(tpCosts.getTransportCost(loc("i"), loc("k"), 0.0, 0., null, vehicle)).thenReturn(3.0); + when(tpCosts.getTransportTime(loc("i"), loc("k"), 0.0, 0., null, vehicle)).thenReturn(0.0); + when(tpCosts.getTransportCost(loc("k"), loc("j"), 0.0, 0., null, vehicle)).thenReturn(3.0); + when(tpCosts.getTransportTime(loc("k"), loc("j"), 0.0, 0., null, vehicle)).thenReturn(0.0); actCosts = new WaitingTimeCosts(); calc = new LocalActivityInsertionCostsCalculator(tpCosts, actCosts, mock(StateManager.class)); diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/ruin/distance/TestJobDistanceAvgCosts.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/ruin/distance/TestJobDistanceAvgCosts.java index 42f4e8229..9b0a6bf56 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/ruin/distance/TestJobDistanceAvgCosts.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/algorithm/ruin/distance/TestJobDistanceAvgCosts.java @@ -31,20 +31,20 @@ public static void main(String[] args) { VehicleRoutingTransportCosts costs = new VehicleRoutingTransportCosts() { @Override - public double getBackwardTransportTime(Location from, Location to, double arrivalTime, Driver driver, Vehicle vehicle) { + public double getBackwardTransportTime(Location from, Location to, double arrivalTime, double setupDuration, Driver driver, Vehicle vehicle) { return 0; } @Override public double getBackwardTransportCost(Location from, Location to, - double arrivalTime, Driver driver, Vehicle vehicle) { + double arrivalTime, double setupDuration, Driver driver, Vehicle vehicle) { return 0; } @Override public double getTransportCost(Location from, Location to, - double departureTime, Driver driver, Vehicle vehicle) { + double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { @SuppressWarnings("unused") String vehicleId = vehicle.getId(); return 0; @@ -52,7 +52,7 @@ public double getTransportCost(Location from, Location to, @Override public double getTransportTime(Location from, Location to, - double departureTime, Driver driver, Vehicle vehicle) { + double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { return 0; } }; @@ -66,20 +66,20 @@ public void whenVehicleAndDriverIsNull_And_CostsDoesNotProvideAMethodForThis_thr VehicleRoutingTransportCosts costs = new VehicleRoutingTransportCosts() { @Override - public double getBackwardTransportTime(Location from, Location to, double arrivalTime, Driver driver, Vehicle vehicle) { + public double getBackwardTransportTime(Location from, Location to, double arrivalTime, double setupDuration, Driver driver, Vehicle vehicle) { return 0; } @Override public double getBackwardTransportCost(Location from, Location to, - double arrivalTime, Driver driver, Vehicle vehicle) { + double arrivalTime, double setupDuration, Driver driver, Vehicle vehicle) { return 0; } @Override public double getTransportCost(Location from, Location to, - double departureTime, Driver driver, Vehicle vehicle) { + double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { @SuppressWarnings("unused") String vehicleId = vehicle.getId(); return 0; @@ -87,7 +87,7 @@ public double getTransportCost(Location from, Location to, @Override public double getTransportTime(Location from, Location to, - double departureTime, Driver driver, Vehicle vehicle) { + double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { return 0; } }; diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/analysis/SolutionAnalyserTest.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/analysis/SolutionAnalyserTest.java index 95d3431a8..827839f08 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/analysis/SolutionAnalyserTest.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/analysis/SolutionAnalyserTest.java @@ -221,7 +221,7 @@ private void testTransportCosts(TransportCostsTestType type) { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location fromLocationId, Location toLocationId, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(fromLocationId, toLocationId, 0., null, null); + return vrp.getTransportCosts().getTransportCost(fromLocationId, toLocationId, 0., 0., null, null); } }); @@ -302,7 +302,7 @@ public void constructionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertTrue(true); @@ -313,7 +313,7 @@ public void loadAtBeginningOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -325,7 +325,7 @@ public void loadAtBeginningOfRoute2ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Iterator iterator = solution.getRoutes().iterator(); @@ -340,7 +340,7 @@ public void loadAtEnd_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -352,7 +352,7 @@ public void loadAtEnd_OfRoute2ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Iterator iterator = solution.getRoutes().iterator(); @@ -367,7 +367,7 @@ public void loadAfterActivity_ofStartActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -379,7 +379,7 @@ public void loadAfterActivity_ofAct1ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -391,7 +391,7 @@ public void loadAfterActivity_ofAct2ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -403,7 +403,7 @@ public void loadAfterActivity_ofAct3ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -415,7 +415,7 @@ public void loadAfterActivity_ofAct4ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -427,7 +427,7 @@ public void loadAfterActivity_ofEndActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -439,7 +439,7 @@ public void loadBeforeActivity_ofStartActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -451,7 +451,7 @@ public void loadBeforeActivity_ofAct1ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -463,7 +463,7 @@ public void loadBeforeActivity_ofAct2ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -475,7 +475,7 @@ public void loadBeforeActivity_ofAct3ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -487,7 +487,7 @@ public void loadBeforeActivity_ofAct4ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -499,7 +499,7 @@ public void loadBeforeActivity_ofEndActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -511,7 +511,7 @@ public void maxLoad_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -523,7 +523,7 @@ public void pickupCount_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -535,7 +535,7 @@ public void pickupCountAtBeginning_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -548,7 +548,7 @@ public void pickupCount_OfRoute1OfAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -561,7 +561,7 @@ public void pickupCountAtBeginning_OfRoute1OfAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -573,7 +573,7 @@ public void pickupCount_onSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(6, analyser.getNumberOfPickups(), 0.01); @@ -584,7 +584,7 @@ public void pickupCountAtBeginning_onSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(0, analyser.getNumberOfPickupsAtBeginning(), 0.01); @@ -596,7 +596,7 @@ public void pickupCount_onAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(4, analyser.getNumberOfPickups(), 0.01); @@ -608,7 +608,7 @@ public void pickupCountAtBeginning_onAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(2, analyser.getNumberOfPickupsAtBeginning(), 0.01); @@ -619,7 +619,7 @@ public void pickupLoad_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -631,7 +631,7 @@ public void pickupLoadAtBeginning_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -644,7 +644,7 @@ public void pickupLoad_OfRoute1OfAnotherShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -657,7 +657,7 @@ public void pickupLoadAtBeginning_OfRoute1OfAnotherShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -669,7 +669,7 @@ public void pickupLoad_onSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(30, analyser.getLoadPickedUp().get(0), 0.01); @@ -680,7 +680,7 @@ public void pickupLoadAtBeginning_onSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(0, analyser.getLoadAtBeginning().get(0), 0.01); @@ -692,7 +692,7 @@ public void pickupLoad_onAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(50, analyser.getLoadPickedUp().get(0), 0.01); @@ -704,7 +704,7 @@ public void pickupLoadAtBeginning_onAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(40, analyser.getLoadAtBeginning().get(0), 0.01); @@ -715,7 +715,7 @@ public void deliveryCount_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -727,7 +727,7 @@ public void deliveryCountAtEnd_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -740,7 +740,7 @@ public void deliveryCount_OfRoute1OfAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -753,7 +753,7 @@ public void deliveryCountAtEnd_OfRoute1OfAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -765,7 +765,7 @@ public void deliveryCount_onSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(2, analyser.getNumberOfDeliveries(), 0.01); @@ -776,7 +776,7 @@ public void deliveryCountAtEnd_onSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(4, analyser.getNumberOfDeliveriesAtEnd(), 0.01); @@ -788,7 +788,7 @@ public void deliveryCount_onAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(4, analyser.getNumberOfDeliveries(), 0.01); @@ -800,7 +800,7 @@ public void deliveryCountAtEnd_onAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(2, analyser.getNumberOfDeliveriesAtEnd(), 0.01); @@ -811,7 +811,7 @@ public void deliveryLoad_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -823,7 +823,7 @@ public void deliveryLoadAtEnd_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -836,7 +836,7 @@ public void deliveryLoad_OfRoute1OfAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -849,7 +849,7 @@ public void deliveryLoadAtEnd_OfRoute1OfAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -861,7 +861,7 @@ public void deliveryLoad_onSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(20, analyser.getLoadDelivered().get(0), 0.01); @@ -872,7 +872,7 @@ public void deliveryLoadAtEnd_onSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(10, analyser.getLoadAtEnd().get(0), 0.01); @@ -884,7 +884,7 @@ public void deliveryLoad_onAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -897,7 +897,7 @@ public void deliveryLoadAtEnd_onAnotherSolutionShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Assert.assertEquals(20, analyser.getLoadAtEnd().get(0), 0.01); @@ -908,7 +908,7 @@ public void operationTime_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -920,7 +920,7 @@ public void waitingTime_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -932,7 +932,7 @@ public void transportTime_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -944,7 +944,7 @@ public void serviceTime_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -956,7 +956,7 @@ public void distance_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -968,7 +968,7 @@ public void waitingTime_atStartActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -980,7 +980,7 @@ public void waitingTime_ofAct1ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -992,7 +992,7 @@ public void waitingTime_ofAct2ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1004,7 +1004,7 @@ public void waitingTime_ofAct3ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1016,7 +1016,7 @@ public void waitingTime_ofAct4ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1028,7 +1028,7 @@ public void waitingTime_ofEndActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1040,7 +1040,7 @@ public void distance_atStartActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1052,7 +1052,7 @@ public void distance_ofAct1ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1064,7 +1064,7 @@ public void distance_ofAct2ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1076,7 +1076,7 @@ public void distance_ofAct3ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1088,7 +1088,7 @@ public void distance_ofAct4ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1100,7 +1100,7 @@ public void distance_ofEndActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1113,7 +1113,7 @@ public void lateArrivalTimes_atStartActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1125,7 +1125,7 @@ public void lateArrivalTimes_ofAct1ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1137,7 +1137,7 @@ public void lateArrivalTimes_ofAct2ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1149,7 +1149,7 @@ public void lateArrivalTimes_ofAct3ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1161,7 +1161,7 @@ public void lateArrivalTimes_ofAct4ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1173,7 +1173,7 @@ public void lateArrivalTimes_ofEndActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1185,7 +1185,7 @@ public void lateArrTimes_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1197,7 +1197,7 @@ public void variableTransportCosts_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1209,7 +1209,7 @@ public void fixedCosts_OfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1221,7 +1221,7 @@ public void transportCosts_atStartActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1233,7 +1233,7 @@ public void transportCosts_ofAct1ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1245,7 +1245,7 @@ public void transportCosts_ofAct2ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1257,7 +1257,7 @@ public void transportCosts_ofAct3ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1269,7 +1269,7 @@ public void transportCosts_ofAct4ofRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1281,7 +1281,7 @@ public void transportCosts_ofEndActOfRoute1ShouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1293,7 +1293,7 @@ public void capacityViolationAtBeginning_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1308,7 +1308,7 @@ public void capacityViolationAtEnd_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1325,7 +1325,7 @@ public void capacityViolationOnRoute_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1340,7 +1340,7 @@ public void capacityViolationAtEnd_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1353,7 +1353,7 @@ public void capacityViolationAfterStart_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1372,7 +1372,7 @@ public void capacityViolationAtBeginning_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1388,7 +1388,7 @@ public void capacityViolationAfterStart_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1403,7 +1403,7 @@ public void capacityViolationAfterAct1_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1418,7 +1418,7 @@ public void capacityViolationAfterAct2_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1433,7 +1433,7 @@ public void capacityViolationAfterAct3_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1448,7 +1448,7 @@ public void capacityViolationAfterAct4_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1463,7 +1463,7 @@ public void capacityViolationAfterAct5_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1478,7 +1478,7 @@ public void capacityViolationAfterAct6_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1493,7 +1493,7 @@ public void capacityViolationAfterAct7_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1508,7 +1508,7 @@ public void capacityViolationAfterAct8_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1523,7 +1523,7 @@ public void capacityViolationAfterEnd_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1536,7 +1536,7 @@ public void capacityViolationAfterAct1_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1552,7 +1552,7 @@ public void capacityViolationAfterAct2_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1568,7 +1568,7 @@ public void capacityViolationAfterAct3_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1584,7 +1584,7 @@ public void capacityViolationAfterAct4_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1600,7 +1600,7 @@ public void capacityViolationAfterEnd_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1616,7 +1616,7 @@ public void timeWindowViolation_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1631,7 +1631,7 @@ public void timeWindowViolation_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1646,7 +1646,7 @@ public void timeWindowViolationAtStart_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1661,7 +1661,7 @@ public void timeWindowViolationAtAct1_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1676,7 +1676,7 @@ public void timeWindowViolationAtAct2_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1691,7 +1691,7 @@ public void timeWindowViolationAtAct3_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1706,7 +1706,7 @@ public void timeWindowViolationAtAct4_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1721,7 +1721,7 @@ public void timeWindowViolationAtAct5_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1736,7 +1736,7 @@ public void timeWindowViolationAtAct6_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1751,7 +1751,7 @@ public void timeWindowViolationAtAct7_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1766,7 +1766,7 @@ public void timeWindowViolationAtAct8_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1781,7 +1781,7 @@ public void timeWindowViolationAtEnd_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1795,7 +1795,7 @@ public void backhaulViolation_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1809,7 +1809,7 @@ public void backhaulViolationAtStart_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1825,7 +1825,7 @@ public void backhaulViolationAtAct1_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1840,7 +1840,7 @@ public void backhaulViolationAtAct2_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1855,7 +1855,7 @@ public void backhaulViolationAtAct3_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1870,7 +1870,7 @@ public void backhaulViolationAtAct4_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1885,7 +1885,7 @@ public void backhaulViolationAtAct5_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1900,7 +1900,7 @@ public void backhaulViolationAtAct6_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1915,7 +1915,7 @@ public void backhaulViolationAtAct7_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1930,7 +1930,7 @@ public void backhaulViolationAtAct8_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1945,7 +1945,7 @@ public void backhaulViolationAtEnd_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1960,7 +1960,7 @@ public void shipmentViolationAtStart_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1975,7 +1975,7 @@ public void shipmentViolationAtAct1_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -1990,7 +1990,7 @@ public void shipmentViolationAtAct2_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2005,7 +2005,7 @@ public void shipmentViolationAtAct3_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2020,7 +2020,7 @@ public void shipmentViolationAtAct4_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2035,7 +2035,7 @@ public void shipmentViolationAtAct5_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2050,7 +2050,7 @@ public void shipmentViolationAtAct6_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2065,7 +2065,7 @@ public void shipmentViolationAtAct7_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2080,7 +2080,7 @@ public void shipmentViolationAtAct8_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2095,7 +2095,7 @@ public void shipmentViolationAtEnd_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2110,7 +2110,7 @@ public void shipmentViolation_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2128,7 +2128,7 @@ public void shipmentViolation_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); @@ -2146,7 +2146,7 @@ public void shipmentViolationAtActivity_shouldWorkWhenRemovingDelivery() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); @@ -2165,7 +2165,7 @@ public void shipmentViolation_shouldWorkWhenRemovingDelivery() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); @@ -2184,7 +2184,7 @@ public void shipmentViolationAtActivity_shouldWorkWhenRemovingPickup() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); @@ -2203,7 +2203,7 @@ public void shipmentViolationOnRoute_shouldWorkWhenRemovingPickup() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); @@ -2222,7 +2222,7 @@ public void shipmentViolationOnSolution_shouldWorkWhenRemovingPickup() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); @@ -2235,7 +2235,7 @@ public void skillViolationOnRoute_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2248,7 +2248,7 @@ public void skillViolationAtStart_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2261,7 +2261,7 @@ public void skillViolationAtAct1_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2274,7 +2274,7 @@ public void skillViolationAtAct2_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2287,7 +2287,7 @@ public void skillViolationAtAct3_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2300,7 +2300,7 @@ public void skillViolationAtAct4_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2313,7 +2313,7 @@ public void skillViolationAtEnd_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); VehicleRoute route = solution.getRoutes().iterator().next(); @@ -2327,7 +2327,7 @@ public void skillViolationOnRoute_shouldWorkWhenNotViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); @@ -2343,7 +2343,7 @@ public void skillViolationOnSolution_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Boolean violated = analyser.hasSkillConstraintViolation(); @@ -2355,7 +2355,7 @@ public void backhaulViolationOnSolution_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Boolean violated = analyser.hasBackhaulConstraintViolation(); @@ -2368,7 +2368,7 @@ public void backhaulViolationOnSolution_shouldWorkWhenViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Boolean violated = analyser.hasBackhaulConstraintViolation(); @@ -2381,7 +2381,7 @@ public void shipmentViolationOnSolution_shouldWork() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Boolean violated = analyser.hasShipmentConstraintViolation(); @@ -2394,7 +2394,7 @@ public void skillViolationOnSolution_shouldWorkWhenNotViolated() { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); Boolean violated = analyser.hasSkillConstraintViolation(); diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/problem/VehicleRoutingProblemTest.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/problem/VehicleRoutingProblemTest.java index 0722a5513..1d6498e0d 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/problem/VehicleRoutingProblemTest.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/problem/VehicleRoutingProblemTest.java @@ -285,19 +285,19 @@ public void whenSettingRoutingCosts_vprShouldContainIt() { @Override public double getTransportTime(Location from, Location to, - double departureTime, Driver driver, Vehicle vehicle) { + double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { return 0; } @Override public double getTransportCost(Location from, Location to, - double departureTime, Driver driver, Vehicle vehicle) { + double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { return 4.0; } }); VehicleRoutingProblem problem = builder.build(); - assertEquals(4.0, problem.getTransportCosts().getTransportCost(loc(""), loc(""), 0.0, null, null), 0.01); + assertEquals(4.0, problem.getTransportCosts().getTransportCost(loc(""), loc(""), 0.0, 0., null, null), 0.01); } private Location loc(String i) { diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/util/FastVehicleRoutingTransportCostsMatrixTest.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/util/FastVehicleRoutingTransportCostsMatrixTest.java index 8acb99b9c..2967a699f 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/util/FastVehicleRoutingTransportCostsMatrixTest.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/util/FastVehicleRoutingTransportCostsMatrixTest.java @@ -34,9 +34,9 @@ public void whenAddingDistanceToSymmetricMatrix_itShouldReturnCorrectValues() { FastVehicleRoutingTransportCostsMatrix.Builder matrixBuilder = FastVehicleRoutingTransportCostsMatrix.Builder.newInstance(3, true); matrixBuilder.addTransportDistance(1, 2, 2.); FastVehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportCost(loc(1), loc(2), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportCost(loc(1), loc(2), 0.0, 0., null, null), 0.1); assertEquals(2., matrix.getDistance(1, 2), 0.1); - assertEquals(2., matrix.getTransportCost(loc(2), loc(1), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportCost(loc(2), loc(1), 0.0, 0., null, null), 0.1); assertEquals(2., matrix.getDistance(2, 1), 0.1); } @@ -45,7 +45,7 @@ public void whenAddingDistanceToAsymmetricMatrix_itShouldReturnCorrectValues() { FastVehicleRoutingTransportCostsMatrix.Builder matrixBuilder = FastVehicleRoutingTransportCostsMatrix.Builder.newInstance(3, false); matrixBuilder.addTransportDistance(1, 2, 2.); FastVehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportCost(loc(1), loc(2), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportCost(loc(1), loc(2), 0.0, 0., null, null), 0.1); } private Location loc(int index) { @@ -58,8 +58,8 @@ public void whenAddingTimeToSymmetricMatrix_itShouldReturnCorrectValues() { FastVehicleRoutingTransportCostsMatrix.Builder matrixBuilder = FastVehicleRoutingTransportCostsMatrix.Builder.newInstance(3, true); matrixBuilder.addTransportTime(1, 2, 2.); FastVehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportTime(loc(1), loc(2), 0.0, null, null), 0.1); - assertEquals(2., matrix.getTransportTime(loc(2), loc(1), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportTime(loc(1), loc(2), 0.0, 0., null, null), 0.1); + assertEquals(2., matrix.getTransportTime(loc(2), loc(1), 0.0, 0., null, null), 0.1); } @Test @@ -67,7 +67,7 @@ public void whenAddingTimeToAsymmetricMatrix_itShouldReturnCorrectValues() { FastVehicleRoutingTransportCostsMatrix.Builder matrixBuilder = FastVehicleRoutingTransportCostsMatrix.Builder.newInstance(3, false); matrixBuilder.addTransportTime(1, 2, 2.); FastVehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportTime(loc(1), loc(2), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportTime(loc(1), loc(2), 0.0, 0., null, null), 0.1); } @Test @@ -79,8 +79,8 @@ public void whenAddingTimeAndDistanceToSymmetricMatrix_itShouldReturnCorrectValu Vehicle vehicle = mock(Vehicle.class); VehicleType type = VehicleTypeImpl.Builder.newInstance("t").setCostPerDistance(1.).setCostPerTime(2.).build(); when(vehicle.getType()).thenReturn(type); - assertEquals(24., matrix.getTransportCost(loc(1), loc(2), 0.0, null, vehicle), 0.1); - assertEquals(24., matrix.getTransportCost(loc(2), loc(1), 0.0, null, vehicle), 0.1); + assertEquals(24., matrix.getTransportCost(loc(1), loc(2), 0.0, 0., null, vehicle), 0.1); + assertEquals(24., matrix.getTransportCost(loc(2), loc(1), 0.0, 0., null, vehicle), 0.1); } @Test @@ -92,8 +92,8 @@ public void whenAddingTimeAndDistanceToAsymmetricMatrix_itShouldReturnCorrectVal Vehicle vehicle = mock(Vehicle.class); VehicleType type = VehicleTypeImpl.Builder.newInstance("t").setCostPerDistance(1.).setCostPerTime(2.).build(); when(vehicle.getType()).thenReturn(type); - assertEquals(4., matrix.getTransportCost(loc(1), loc(2), 0.0, null, vehicle), 0.1); - assertEquals(16., matrix.getTransportCost(loc(2), loc(1), 0.0, null, vehicle), 0.1); + assertEquals(4., matrix.getTransportCost(loc(1), loc(2), 0.0, 0., null, vehicle), 0.1); + assertEquals(16., matrix.getTransportCost(loc(2), loc(1), 0.0, 0., null, vehicle), 0.1); } diff --git a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/util/VehicleRoutingTransportCostsMatrixTest.java b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/util/VehicleRoutingTransportCostsMatrixTest.java index 6ec6d80c6..5e5ad8cf0 100644 --- a/jsprit-core/src/test/java/com/graphhopper/jsprit/core/util/VehicleRoutingTransportCostsMatrixTest.java +++ b/jsprit-core/src/test/java/com/graphhopper/jsprit/core/util/VehicleRoutingTransportCostsMatrixTest.java @@ -34,9 +34,9 @@ public void whenAddingDistanceToSymmetricMatrix_itShouldReturnCorrectValues() { VehicleRoutingTransportCostsMatrix.Builder matrixBuilder = VehicleRoutingTransportCostsMatrix.Builder.newInstance(true); matrixBuilder.addTransportDistance("1", "2", 2.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportCost(loc("1"), loc("2"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportCost(loc("1"), loc("2"), 0.0, 0., null, null), 0.1); assertEquals(2., matrix.getDistance("1", "2"), 0.1); - assertEquals(2., matrix.getTransportCost(loc("2"), loc("1"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportCost(loc("2"), loc("1"), 0.0, 0., null, null), 0.1); assertEquals(2., matrix.getDistance("2", "1"), 0.1); } @@ -45,9 +45,9 @@ public void whenAddingDistanceToSymmetricMatrixUsingStringAsKey_itShouldReturnCo VehicleRoutingTransportCostsMatrix.Builder matrixBuilder = VehicleRoutingTransportCostsMatrix.Builder.newInstance(true); matrixBuilder.addTransportDistance("from", "to", 2.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportCost(loc("from"), loc("to"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportCost(loc("from"), loc("to"), 0.0, 0., null, null), 0.1); assertEquals(2., matrix.getDistance("from", "to"), 0.1); - assertEquals(2., matrix.getTransportCost(loc("to"), loc("from"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportCost(loc("to"), loc("from"), 0.0, 0., null, null), 0.1); assertEquals(2., matrix.getDistance("from", "to"), 0.1); } @@ -59,9 +59,9 @@ public void whenAddingDistanceToSymmetricMatrixWhereKeyAlreadyExists_itShouldOve matrixBuilder.addTransportDistance("from", "to", 4.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(4., matrix.getTransportCost(loc("from"), loc("to"), 0.0, null, null), 0.1); + assertEquals(4., matrix.getTransportCost(loc("from"), loc("to"), 0.0, 0., null, null), 0.1); assertEquals(4., matrix.getDistance("from", "to"), 0.1); - assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, null, null), 0.1); + assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, 0., null, null), 0.1); assertEquals(4., matrix.getDistance("from", "to"), 0.1); } @@ -73,9 +73,9 @@ public void whenAddingDistanceToSymmetricMatrixWhereReverseKeyAlreadyExists_itSh matrixBuilder.addTransportDistance("to", "from", 4.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(4., matrix.getTransportCost(loc("from"), loc("to"), 0.0, null, null), 0.1); + assertEquals(4., matrix.getTransportCost(loc("from"), loc("to"), 0.0, 0., null, null), 0.1); assertEquals(4., matrix.getDistance("from", "to"), 0.1); - assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, null, null), 0.1); + assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, 0., null, null), 0.1); assertEquals(4., matrix.getDistance("from", "to"), 0.1); } @@ -84,7 +84,7 @@ public void whenAddingDistanceToAsymmetricMatrix_itShouldReturnCorrectValues() { VehicleRoutingTransportCostsMatrix.Builder matrixBuilder = VehicleRoutingTransportCostsMatrix.Builder.newInstance(false); matrixBuilder.addTransportDistance("1", "2", 2.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportCost(loc("1"), loc("2"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportCost(loc("1"), loc("2"), 0.0, 0., null, null), 0.1); } private Location loc(String s) { @@ -96,7 +96,7 @@ public void whenRequestingRelationThatDoesNotExist_itShouldThrowException() { VehicleRoutingTransportCostsMatrix.Builder matrixBuilder = VehicleRoutingTransportCostsMatrix.Builder.newInstance(false); matrixBuilder.addTransportDistance("1", "2", 2.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - matrix.getTransportCost(loc("2"), loc("1"), 0.0, null, null); + matrix.getTransportCost(loc("2"), loc("1"), 0.0, 0., null, null); } @Test @@ -105,8 +105,8 @@ public void whenAddingDistanceToAsymmetricMatrixUsingStringAsKey_itShouldReturnC matrixBuilder.addTransportDistance("from", "to", 2.); matrixBuilder.addTransportDistance("to", "from", 4.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportCost(loc("from"), loc("to"), 0.0, null, null), 0.1); - assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportCost(loc("from"), loc("to"), 0.0, 0., null, null), 0.1); + assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, 0., null, null), 0.1); } @Test @@ -114,8 +114,8 @@ public void whenAddingTimeToSymmetricMatrix_itShouldReturnCorrectValues() { VehicleRoutingTransportCostsMatrix.Builder matrixBuilder = VehicleRoutingTransportCostsMatrix.Builder.newInstance(true); matrixBuilder.addTransportTime("1", "2", 2.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportTime(loc("1"), loc("2"), 0.0, null, null), 0.1); - assertEquals(2., matrix.getTransportTime(loc("2"), loc("1"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportTime(loc("1"), loc("2"), 0.0, 0., null, null), 0.1); + assertEquals(2., matrix.getTransportTime(loc("2"), loc("1"), 0.0, 0., null, null), 0.1); } @Test @@ -123,8 +123,8 @@ public void whenAddingTimeToSymmetricMatrixUsingStringAsKey_itShouldReturnCorrec VehicleRoutingTransportCostsMatrix.Builder matrixBuilder = VehicleRoutingTransportCostsMatrix.Builder.newInstance(true); matrixBuilder.addTransportTime("from", "to", 2.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportTime(loc("from"), loc("to"), 0.0, null, null), 0.1); - assertEquals(2., matrix.getTransportTime(loc("to"), loc("from"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportTime(loc("from"), loc("to"), 0.0, 0., null, null), 0.1); + assertEquals(2., matrix.getTransportTime(loc("to"), loc("from"), 0.0, 0., null, null), 0.1); } @Test @@ -132,7 +132,7 @@ public void whenAddingTimeToAsymmetricMatrix_itShouldReturnCorrectValues() { VehicleRoutingTransportCostsMatrix.Builder matrixBuilder = VehicleRoutingTransportCostsMatrix.Builder.newInstance(false); matrixBuilder.addTransportTime("1", "2", 2.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportTime(loc("1"), loc("2"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportTime(loc("1"), loc("2"), 0.0, 0., null, null), 0.1); } @Test(expected = IllegalStateException.class) @@ -140,7 +140,7 @@ public void whenRequestingTimeOfRelationThatDoesNotExist_itShouldThrowException( VehicleRoutingTransportCostsMatrix.Builder matrixBuilder = VehicleRoutingTransportCostsMatrix.Builder.newInstance(false); matrixBuilder.addTransportTime("1", "2", 2.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - matrix.getTransportTime(loc("2"), loc("1"), 0.0, null, null); + matrix.getTransportTime(loc("2"), loc("1"), 0.0, 0., null, null); } @Test @@ -149,8 +149,8 @@ public void whenAddingTimeToAsymmetricMatrixUsingStringAsKey_itShouldReturnCorre matrixBuilder.addTransportTime("from", "to", 2.); matrixBuilder.addTransportTime("to", "from", 4.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(2., matrix.getTransportTime(loc("from"), loc("to"), 0.0, null, null), 0.1); - assertEquals(4., matrix.getTransportTime(loc("to"), loc("from"), 0.0, null, null), 0.1); + assertEquals(2., matrix.getTransportTime(loc("from"), loc("to"), 0.0, 0., null, null), 0.1); + assertEquals(4., matrix.getTransportTime(loc("to"), loc("from"), 0.0, 0., null, null), 0.1); } @Test @@ -162,10 +162,10 @@ public void whenAddingTimeToAsymmetricMatrixUsingStringAsKey_itShouldReturnCorre matrixBuilder.addTransportTime("from", "to", 2.); matrixBuilder.addTransportTime("to", "from", 4.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); -// assertEquals(2.,matrix.getTransportTime("from", "to", 0.0, null, null),0.1); -// assertEquals(4.,matrix.getTransportTime("to", "from", 0.0, null, null),0.1); - assertEquals(2., matrix.getTransportCost(loc("from"), loc("to"), 0.0, null, vehicle), 0.1); - assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, null, vehicle), 0.1); +// assertEquals(2.,matrix.getTransportTime("from", "to", 0.0, null, null),0.1); +// assertEquals(4.,matrix.getTransportTime("to", "from", 0.0, null, null),0.1); + assertEquals(2., matrix.getTransportCost(loc("from"), loc("to"), 0.0, 0., null, vehicle), 0.1); + assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, 0., null, vehicle), 0.1); } @Test @@ -177,8 +177,8 @@ public void whenAddingTimeAndDistanceToSymmetricMatrix_itShouldReturnCorrectValu Vehicle vehicle = mock(Vehicle.class); VehicleType type = VehicleTypeImpl.Builder.newInstance("t").setCostPerDistance(1.).setCostPerTime(2.).build(); when(vehicle.getType()).thenReturn(type); - assertEquals(24., matrix.getTransportCost(loc("1"), loc("2"), 0.0, null, vehicle), 0.1); - assertEquals(24., matrix.getTransportCost(loc("2"), loc("1"), 0.0, null, vehicle), 0.1); + assertEquals(24., matrix.getTransportCost(loc("1"), loc("2"), 0.0, 0., null, vehicle), 0.1); + assertEquals(24., matrix.getTransportCost(loc("2"), loc("1"), 0.0, 0., null, vehicle), 0.1); } @Test @@ -189,8 +189,8 @@ public void whenAddingTimeAndDistanceToSymmetricMatrixUsingStringAsKey_itShouldR VehicleType type = VehicleTypeImpl.Builder.newInstance("t").setCostPerDistance(1.).setCostPerTime(2.).build(); when(vehicle.getType()).thenReturn(type); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(4., matrix.getTransportCost(loc("from"), loc("to"), 0.0, null, vehicle), 0.1); - assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, null, vehicle), 0.1); + assertEquals(4., matrix.getTransportCost(loc("from"), loc("to"), 0.0, 0., null, vehicle), 0.1); + assertEquals(4., matrix.getTransportCost(loc("to"), loc("from"), 0.0, 0., null, vehicle), 0.1); } @Test @@ -202,8 +202,8 @@ public void whenAddingTimeAndDistanceToAsymmetricMatrix_itShouldReturnCorrectVal Vehicle vehicle = mock(Vehicle.class); VehicleType type = VehicleTypeImpl.Builder.newInstance("t").setCostPerDistance(1.).setCostPerTime(2.).build(); when(vehicle.getType()).thenReturn(type); - assertEquals(4., matrix.getTransportCost(loc("1"), loc("2"), 0.0, null, vehicle), 0.1); - assertEquals(16., matrix.getTransportCost(loc("2"), loc("1"), 0.0, null, vehicle), 0.1); + assertEquals(4., matrix.getTransportCost(loc("1"), loc("2"), 0.0, 0., null, vehicle), 0.1); + assertEquals(16., matrix.getTransportCost(loc("2"), loc("1"), 0.0, 0., null, vehicle), 0.1); } @Test @@ -217,8 +217,8 @@ public void whenAddingTimeAndDistanceToAsymmetricMatrixUsingStringAsKey_itShould Vehicle vehicle = mock(Vehicle.class); VehicleType type = VehicleTypeImpl.Builder.newInstance("t").setCostPerDistance(1.).setCostPerTime(2.).build(); when(vehicle.getType()).thenReturn(type); - assertEquals(5., matrix.getTransportCost(loc("from"), loc("to"), 0.0, null, vehicle), 0.1); - assertEquals(11., matrix.getTransportCost(loc("to"), loc("from"), 0.0, null, vehicle), 0.1); + assertEquals(5., matrix.getTransportCost(loc("from"), loc("to"), 0.0, 0., null, vehicle), 0.1); + assertEquals(11., matrix.getTransportCost(loc("to"), loc("from"), 0.0, 0., null, vehicle), 0.1); } @@ -234,8 +234,8 @@ public void whenAddingTimeAndDistanceToAsymmetricMatrixUsingStringAsKey_itShould matrixBuilder.addTransportDistance("to", "from", 5.); VehicleRoutingTransportCostsMatrix matrix = matrixBuilder.build(); - assertEquals(8., matrix.getTransportCost(loc("from"), loc("to"), 0.0, null, vehicle), 0.1); - assertEquals(14., matrix.getTransportCost(loc("to"), loc("from"), 0.0, null, vehicle), 0.1); + assertEquals(8., matrix.getTransportCost(loc("from"), loc("to"), 0.0, 0., null, vehicle), 0.1); + assertEquals(14., matrix.getTransportCost(loc("to"), loc("from"), 0.0, 0., null, vehicle), 0.1); } @Test @@ -254,8 +254,8 @@ public void whenAddingTimeAndDistanceToSymmetricMatrixUsingStringAsKey_and_overr when(vehicle.getType()).thenReturn(type); assertEquals(1., matrix.getDistance("from", "to"), 0.1); assertEquals(1., matrix.getDistance("to", "from"), 0.1); - assertEquals(1., matrix.getTransportCost(loc("from"), loc("to"), 0.0, null, vehicle), 0.1); - assertEquals(1., matrix.getTransportCost(loc("to"), loc("from"), 0.0, null, vehicle), 0.1); + assertEquals(1., matrix.getTransportCost(loc("from"), loc("to"), 0.0, 0., null, vehicle), 0.1); + assertEquals(1., matrix.getTransportCost(loc("to"), loc("from"), 0.0, 0., null, vehicle), 0.1); } } diff --git a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/BicycleMessenger.java b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/BicycleMessenger.java index 2f61d78aa..69a52be51 100644 --- a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/BicycleMessenger.java +++ b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/BicycleMessenger.java @@ -108,7 +108,7 @@ public ThreeTimesLessThanBestDirectRouteConstraint(StateId latest_act_arrival_ti @Override public ConstraintsStatus fulfilled(JobInsertionContext iFacts, TourActivity prevAct, TourActivity newAct, TourActivity nextAct, double prevActDepTime) { //make sure vehicle can manage direct path - double arrTime_at_nextAct_onDirectRoute = prevActDepTime + routingCosts.getTransportTime(prevAct.getLocation(), nextAct.getLocation(), prevActDepTime, iFacts.getNewDriver(), iFacts.getNewVehicle()); + double arrTime_at_nextAct_onDirectRoute = prevActDepTime + routingCosts.getTransportTime(prevAct.getLocation(), nextAct.getLocation(), prevActDepTime, nextAct.getSetupDuration(), iFacts.getNewDriver(), iFacts.getNewVehicle()); Double latest_arrTime_at_nextAct = stateManager.getActivityState(nextAct, latest_act_arrival_time_stateId, Double.class); if (latest_arrTime_at_nextAct == null) latest_arrTime_at_nextAct = nextAct.getTheoreticalLatestOperationStartTime(); @@ -117,7 +117,7 @@ public ConstraintsStatus fulfilled(JobInsertionContext iFacts, TourActivity prev return ConstraintsStatus.NOT_FULFILLED_BREAK; } - double arrTime_at_newAct = prevActDepTime + routingCosts.getTransportTime(prevAct.getLocation(), newAct.getLocation(), prevActDepTime, iFacts.getNewDriver(), iFacts.getNewVehicle()); + double arrTime_at_newAct = prevActDepTime + routingCosts.getTransportTime(prevAct.getLocation(), newAct.getLocation(), prevActDepTime, nextAct.getSetupDuration(), iFacts.getNewDriver(), iFacts.getNewVehicle()); //local impact //no matter whether it is a pickupShipment or deliverShipment activities. both arrivalTimes must be < 3*best. double directTimeOfNearestMessenger = bestMessengers.get(((JobActivity) newAct).getJob().getId()); @@ -128,12 +128,12 @@ public ConstraintsStatus fulfilled(JobInsertionContext iFacts, TourActivity prev //impact on whole route, since insertion of newAct shifts all subsequent activities forward in time double departureTime_at_newAct = arrTime_at_newAct + newAct.getOperationTime(); - double latest_arrTime_at_newAct = latest_arrTime_at_nextAct - routingCosts.getTransportTime(newAct.getLocation(), nextAct.getLocation(), departureTime_at_newAct, iFacts.getNewDriver(), iFacts.getNewVehicle()); + double latest_arrTime_at_newAct = latest_arrTime_at_nextAct - routingCosts.getTransportTime(newAct.getLocation(), nextAct.getLocation(), departureTime_at_newAct, nextAct.getSetupDuration(), iFacts.getNewDriver(), iFacts.getNewVehicle()); if (arrTime_at_newAct > latest_arrTime_at_newAct) { return ConstraintsStatus.NOT_FULFILLED; } - double arrTime_at_nextAct = departureTime_at_newAct + routingCosts.getTransportTime(newAct.getLocation(), nextAct.getLocation(), departureTime_at_newAct, iFacts.getNewDriver(), iFacts.getNewVehicle()); + double arrTime_at_nextAct = departureTime_at_newAct + routingCosts.getTransportTime(newAct.getLocation(), nextAct.getLocation(), departureTime_at_newAct, nextAct.getSetupDuration(), iFacts.getNewDriver(), iFacts.getNewVehicle()); //here you need an activity state if (arrTime_at_nextAct > latest_arrTime_at_nextAct) { return ConstraintsStatus.NOT_FULFILLED; @@ -214,7 +214,7 @@ public void begin(VehicleRoute route) { public void visit(TourActivity currAct) { double timeOfNearestMessenger = bestMessengers.get(((JobActivity) currAct).getJob().getId()); double potential_latest_arrTime_at_currAct = - latest_arrTime_at_prevAct - routingCosts.getBackwardTransportTime(currAct.getLocation(), prevAct.getLocation(), latest_arrTime_at_prevAct, route.getDriver(), route.getVehicle()) - currAct.getOperationTime(); + latest_arrTime_at_prevAct - routingCosts.getBackwardTransportTime(currAct.getLocation(), prevAct.getLocation(), latest_arrTime_at_prevAct, prevAct.getSetupDuration(), route.getDriver(), route.getVehicle()) - currAct.getOperationTime(); double latest_arrTime_at_currAct = Math.min(3 * timeOfNearestMessenger, potential_latest_arrTime_at_currAct); stateManager.putActivityState(currAct, latest_act_arrival_time_stateId, latest_arrTime_at_currAct); assert currAct.getArrTime() <= latest_arrTime_at_currAct : "this must not be since it breaks condition; actArrTime: " + currAct.getArrTime() + " latestArrTime: " + latest_arrTime_at_currAct + " vehicle: " + route.getVehicle().getId(); @@ -351,8 +351,8 @@ static Map getNearestMessengers(VehicleRoutingTransportCosts rou static double getTimeOfDirectRoute(Job job, Vehicle v, VehicleRoutingTransportCosts routingCosts) { Shipment envelope = (Shipment) job; - return routingCosts.getTransportTime(v.getStartLocation(), envelope.getPickupLocation(), 0.0, DriverImpl.noDriver(), v) + - routingCosts.getTransportTime(envelope.getPickupLocation(), envelope.getDeliveryLocation(), 0.0, DriverImpl.noDriver(), v); + return routingCosts.getTransportTime(v.getStartLocation(), envelope.getPickupLocation(), 0.0, envelope.getPickupSetupDuration(), DriverImpl.noDriver(), v) + + routingCosts.getTransportTime(envelope.getPickupLocation(), envelope.getDeliveryLocation(), 0.0, envelope.getDeliverySetupDuration(), DriverImpl.noDriver(), v); } private static void readEnvelopes(Builder problemBuilder) throws IOException { diff --git a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/BuildAlgorithmFromScratch.java b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/BuildAlgorithmFromScratch.java index df30c0ee7..14a31cabc 100644 --- a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/BuildAlgorithmFromScratch.java +++ b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/BuildAlgorithmFromScratch.java @@ -209,7 +209,7 @@ public double getCosts(VehicleRoutingProblemSolution solution) { SolutionAnalyser analyser = new SolutionAnalyser(vrp, solution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); return analyser.getVariableTransportCosts() + solution.getUnassignedJobs().size() * 500.; diff --git a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/MultipleTimeWindowExample2.java b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/MultipleTimeWindowExample2.java index d29db613e..ec733ebb5 100644 --- a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/MultipleTimeWindowExample2.java +++ b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/MultipleTimeWindowExample2.java @@ -139,7 +139,7 @@ public static void main(String[] args) { SolutionAnalyser a = new SolutionAnalyser(problem, bestSolution, new TransportDistance() { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return problem.getTransportCosts().getTransportTime(from,to,0.,null,null); + return problem.getTransportCosts().getTransportTime(from,to,0.,0.,null,null); } }); diff --git a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/PickupAndDeliveryExample.java b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/PickupAndDeliveryExample.java index 6484fdfec..312142e3e 100644 --- a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/PickupAndDeliveryExample.java +++ b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/PickupAndDeliveryExample.java @@ -104,7 +104,7 @@ public static void main(String[] args) { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); diff --git a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/VRPWithBackhaulsExample2.java b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/VRPWithBackhaulsExample2.java index 130824e9c..56ca87a78 100644 --- a/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/VRPWithBackhaulsExample2.java +++ b/jsprit-examples/src/main/java/com/graphhopper/jsprit/examples/VRPWithBackhaulsExample2.java @@ -129,7 +129,7 @@ public static void main(String[] args) { @Override public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) { - return vrp.getTransportCosts().getTransportCost(from, to, 0., null, null); + return vrp.getTransportCosts().getTransportCost(from, to, 0., 0., null, null); } }); diff --git a/jsprit-instances/src/main/java/com/graphhopper/jsprit/instance/reader/Figliozzi.java b/jsprit-instances/src/main/java/com/graphhopper/jsprit/instance/reader/Figliozzi.java index 12dcbc399..de302a804 100644 --- a/jsprit-instances/src/main/java/com/graphhopper/jsprit/instance/reader/Figliozzi.java +++ b/jsprit-instances/src/main/java/com/graphhopper/jsprit/instance/reader/Figliozzi.java @@ -148,20 +148,20 @@ public void setTransportTimeParameter(double transportTimeParameter) { } @Override - public double getTransportCost(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) { + public double getTransportCost(Location from, Location to, double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { return transportDistanceParameter * EuclideanDistanceCalculator.calculateDistance(locations.getCoord(from.getId()), locations.getCoord(to.getId())) + - transportTimeParameter * getTransportTime(from, to, departureTime, driver, vehicle); + transportTimeParameter * getTransportTime(from, to, departureTime, setupDuration, driver, vehicle); } @Override - public double getBackwardTransportCost(Location from, Location to, double arrivalTime, Driver driver, Vehicle vehicle) { + public double getBackwardTransportCost(Location from, Location to, double arrivalTime, double setupDuration, Driver driver, Vehicle vehicle) { return transportDistanceParameter * EuclideanDistanceCalculator.calculateDistance(locations.getCoord(from.getId()), locations.getCoord(to.getId())) + - transportTimeParameter * getBackwardTransportTime(from, to, arrivalTime, driver, vehicle); + transportTimeParameter * getBackwardTransportTime(from, to, arrivalTime, setupDuration, driver, vehicle); } @Override - public double getTransportTime(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) { + public double getTransportTime(Location from, Location to, double departureTime, double setupDuration, Driver driver, Vehicle vehicle) { if (from.equals(to)) { return 0.0; } @@ -187,7 +187,7 @@ public double getTransportTime(Location from, Location to, double departureTime, @Override - public double getBackwardTransportTime(Location from, Location to, double arrivalTime, Driver driver, Vehicle vehicle) { + public double getBackwardTransportTime(Location from, Location to, double arrivalTime, double setupDuration, Driver driver, Vehicle vehicle) { if (from.equals(to)) { return 0.0; } diff --git a/jsprit-instances/src/main/java/com/graphhopper/jsprit/instance/reader/LopezIbanezBlumReader.java b/jsprit-instances/src/main/java/com/graphhopper/jsprit/instance/reader/LopezIbanezBlumReader.java index 411b69ff0..52b3730c7 100644 --- a/jsprit-instances/src/main/java/com/graphhopper/jsprit/instance/reader/LopezIbanezBlumReader.java +++ b/jsprit-instances/src/main/java/com/graphhopper/jsprit/instance/reader/LopezIbanezBlumReader.java @@ -91,10 +91,10 @@ public static void main(String[] args) { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); new LopezIbanezBlumReader(builder).read("input/Dumas/n20w20.001.txt"); VehicleRoutingProblem vrp = builder.build(); - System.out.println("0->1: " + vrp.getTransportCosts().getTransportCost(Location.newInstance(0), Location.newInstance(1), 0, null, null)); - System.out.println("0->20: " + vrp.getTransportCosts().getTransportCost(Location.newInstance(0), Location.newInstance(20), 0, null, null)); - System.out.println("4->18: " + vrp.getTransportCosts().getTransportCost(Location.newInstance(4), Location.newInstance(18), 0, null, null)); - System.out.println("20->8: " + vrp.getTransportCosts().getTransportCost(Location.newInstance(20), Location.newInstance(8), 0, null, null)); + System.out.println("0->1: " + vrp.getTransportCosts().getTransportCost(Location.newInstance(0), Location.newInstance(1), 0, 0, null, null)); + System.out.println("0->20: " + vrp.getTransportCosts().getTransportCost(Location.newInstance(0), Location.newInstance(20), 0, 0, null, null)); + System.out.println("4->18: " + vrp.getTransportCosts().getTransportCost(Location.newInstance(4), Location.newInstance(18), 0, 0, null, null)); + System.out.println("20->8: " + vrp.getTransportCosts().getTransportCost(Location.newInstance(20), Location.newInstance(8), 0, 0, null, null)); System.out.println("18: " + ((Service) vrp.getJobs().get("" + 18)).getTimeWindow().getStart() + " " + ((Service) vrp.getJobs().get("" + 18)).getTimeWindow().getEnd()); System.out.println("20: " + ((Service) vrp.getJobs().get("" + 20)).getTimeWindow().getStart() + " " + ((Service) vrp.getJobs().get("" + 20)).getTimeWindow().getEnd()); System.out.println("1: " + ((Service) vrp.getJobs().get("" + 1)).getTimeWindow().getStart() + " " + ((Service) vrp.getJobs().get("" + 1)).getTimeWindow().getEnd()); diff --git a/jsprit-instances/src/test/java/com/graphhopper/jsprit/instance/reader/FigliozziTest.java b/jsprit-instances/src/test/java/com/graphhopper/jsprit/instance/reader/FigliozziTest.java index 145076cf9..462bf154d 100644 --- a/jsprit-instances/src/test/java/com/graphhopper/jsprit/instance/reader/FigliozziTest.java +++ b/jsprit-instances/src/test/java/com/graphhopper/jsprit/instance/reader/FigliozziTest.java @@ -177,7 +177,7 @@ public void whenAskingForTD3d_factoryShouldReturnCorrectSpeedDistribution() { @Test public void whenConstantTimeDistribution_forwardTimeShouldBeCalculate100() { Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.CLASSIC, 100); - Assert.assertEquals(100., tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null), 0.01); + Assert.assertEquals(100., tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null), 0.01); } private Location loc(String from) { @@ -197,7 +197,7 @@ public void whenTimeDistributionTD1a_forwardTimeShouldBeCalculate100() { 20 */ - Assert.assertEquals(76.875, tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null), 0.01); + Assert.assertEquals(76.875, tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null), 0.01); } @Test @@ -214,7 +214,7 @@ public void whenTimeDistributionTD2a_forwardTimeShouldBeCalculate100() { 20 */ - Assert.assertEquals(65., tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null), 0.01); + Assert.assertEquals(65., tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null), 0.01); } @Test @@ -227,7 +227,7 @@ public void whenTimeDistributionTD3a_forwardTimeShouldBeCalculate100() { (20,40) 2.5 = 20 --> 50 dist, 20 time : 70 dist, 40 time (40,60) 1.75 = 30 dist, 17.1428571429 time : 100 dist, 57.1428571429 time */ - Assert.assertEquals(57.1428571429, tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null), 0.01); + Assert.assertEquals(57.1428571429, tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null), 0.01); } @Test @@ -244,7 +244,7 @@ public void whenTimeDistributionTD2a_backwardTimeShouldBeCalculate100() { 20 */ - Assert.assertEquals(65., tdCosts.getBackwardTransportTime(loc("from"), loc("to"), 100., null, null), 0.01); + Assert.assertEquals(65., tdCosts.getBackwardTransportTime(loc("from"), loc("to"), 100., 0., null, null), 0.01); } @Test @@ -260,13 +260,13 @@ public void whenTimeDistributionTD1a_backwardTimeShouldBeCalculate100() { 20 */ - Assert.assertEquals(76.875, tdCosts.getBackwardTransportTime(loc("from"), loc("to"), 100., null, null), 0.01); + Assert.assertEquals(76.875, tdCosts.getBackwardTransportTime(loc("from"), loc("to"), 100., 0., null, null), 0.01); } @Test public void backwardTimeShouldBeCalculatedCorrectly() { Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.CLASSIC, 100); - Assert.assertEquals(100., tdCosts.getBackwardTransportTime(loc("from"), loc("to"), 100., null, null), 0.01); + Assert.assertEquals(100., tdCosts.getBackwardTransportTime(loc("from"), loc("to"), 100., 0., null, null), 0.01); } @Test @@ -282,7 +282,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD1a, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -299,7 +299,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD1b, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -316,7 +316,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD1c, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -333,7 +333,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD1d, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -350,7 +350,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD2a, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -367,7 +367,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD2b, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -384,7 +384,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD2c, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -401,7 +401,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD2d, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -418,7 +418,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD3a, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -435,7 +435,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD3b, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -452,7 +452,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD3c, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } @@ -469,7 +469,7 @@ public Coordinate getCoord(String id) { }; Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD3d, 100); - double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., null, null); + double time = tdCosts.getTransportTime(loc("from"), loc("to"), 0., 0., null, null); Assert.assertEquals(100., time, 0.01); } }