From f9c48ead3ea8c3477c289f4a0d151f00a487f165 Mon Sep 17 00:00:00 2001 From: Corentin Le Molgat Date: Wed, 6 Feb 2019 09:05:00 +0100 Subject: [PATCH] Fix CapacitatedVehicleRoutingProblemWithTimeWindows --- ...dVehicleRoutingProblemWithTimeWindows.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/examples/java/CapacitatedVehicleRoutingProblemWithTimeWindows.java b/examples/java/CapacitatedVehicleRoutingProblemWithTimeWindows.java index e7f7f784bd..1a8be2b87d 100644 --- a/examples/java/CapacitatedVehicleRoutingProblemWithTimeWindows.java +++ b/examples/java/CapacitatedVehicleRoutingProblemWithTimeWindows.java @@ -14,8 +14,6 @@ // limitations under the License. import com.google.ortools.constraintsolver.Assignment; import com.google.ortools.constraintsolver.FirstSolutionStrategy; -import com.google.ortools.constraintsolver.LongLongToLong; -import com.google.ortools.constraintsolver.LongToLong; import com.google.ortools.constraintsolver.IntVar; import com.google.ortools.constraintsolver.RoutingDimension; import com.google.ortools.constraintsolver.RoutingIndexManager; @@ -25,6 +23,8 @@ import com.google.ortools.constraintsolver.main; import java.util.ArrayList; import java.util.List; import java.util.Random; +import java.util.function.LongBinaryOperator; +import java.util.function.LongUnaryOperator; import java.util.logging.Logger; // A pair class @@ -87,10 +87,9 @@ public class CapacitatedVehicleRoutingProblemWithTimeWindows { * @param manager Node Index Manager. * @param costCoefficient The coefficient to apply to the evaluator. */ - private LongLongToLong buildManhattanCallback(RoutingIndexManager manager, int costCoefficient) { - return new LongLongToLong() { - @Override - public long run(long firstIndex, long secondIndex) { + private LongBinaryOperator buildManhattanCallback(RoutingIndexManager manager, int costCoefficient) { + return new LongBinaryOperator() { + public long applyAsLong(long firstIndex, long secondIndex) { try { int firstNode = manager.indexToNode(firstIndex); int secondNode = manager.indexToNode(secondIndex); @@ -179,16 +178,15 @@ public class CapacitatedVehicleRoutingProblemWithTimeWindows { // Setting up dimensions final int bigNumber = 100000; - final LongLongToLong callback = buildManhattanCallback(manager, 1); + final LongBinaryOperator callback = buildManhattanCallback(manager, 1); final String timeStr = "time"; model.addDimension( model.registerTransitCallback(callback), bigNumber, bigNumber, false, timeStr); RoutingDimension timeDimension = model.getMutableDimension(timeStr); - LongToLong demandCallback = - new LongToLong() { - @Override - public long run(long index) { + LongUnaryOperator demandCallback = + new LongUnaryOperator() { + public long applyAsLong(long index) { try { int node = manager.indexToNode(index); if (node < numberOfOrders) { @@ -207,7 +205,7 @@ public class CapacitatedVehicleRoutingProblemWithTimeWindows { RoutingDimension capacityDimension = model.getMutableDimension(capacityStr); // Setting up vehicles - LongLongToLong[] callbacks = new LongLongToLong[numberOfVehicles]; + LongBinaryOperator[] callbacks = new LongBinaryOperator[numberOfVehicles]; for (int vehicle = 0; vehicle < numberOfVehicles; ++vehicle) { final int costCoefficient = vehicleCostCoefficients.get(vehicle); callbacks[vehicle] = buildManhattanCallback(manager, costCoefficient);