From 985b6a9239e89e5a8820a052f623b85d5da242f3 Mon Sep 17 00:00:00 2001 From: Corentin Le Molgat Date: Wed, 16 Feb 2022 16:19:26 +0100 Subject: [PATCH] Fix clang-format in examples/ --- examples/contrib/vrptw_fixed_penalty.cs | 209 +++++++++--------- examples/cpp/cvrptw_lib.h | 17 +- examples/cpp/random_tsp.cc | 14 +- .../cpp/uncapacitated_facility_location.cc | 3 +- .../solution_checker/solution_checker.cc | 4 +- examples/tests/ConstraintSolverTest.java | 6 +- examples/tests/FlowTest.java | 6 +- examples/tests/InitTest.java | 20 +- examples/tests/KnapsackSolverTest.java | 18 +- examples/tests/LinearSolverTest.java | 9 +- examples/tests/RoutingSolverTest.java | 20 +- examples/tests/init_test.cc | 3 +- examples/tests/lp_test.cc | 5 +- examples/tests/remote/tsp.cc | 7 +- 14 files changed, 170 insertions(+), 171 deletions(-) diff --git a/examples/contrib/vrptw_fixed_penalty.cs b/examples/contrib/vrptw_fixed_penalty.cs index db1d085571..2d97d4b0db 100644 --- a/examples/contrib/vrptw_fixed_penalty.cs +++ b/examples/contrib/vrptw_fixed_penalty.cs @@ -16,15 +16,15 @@ using System; using Google.OrTools.ConstraintSolver; /// -/// Vehicles Routing Problem (VRP) with Time Windows, with the difference that we'll add a fixed penalty for lateness, as opposed to a linear penalty based on how late it is. -/// Example is inspired by scheduling items which have contractual deadlines. -/// Code based on https://developers.google.com/optimization/routing/vrptw#program +/// Vehicles Routing Problem (VRP) with Time Windows, with the difference that we'll add a fixed penalty for lateness, +/// as opposed to a linear penalty based on how late it is. Example is inspired by scheduling items which have +/// contractual deadlines. Code based on https://developers.google.com/optimization/routing/vrptw#program /// public class VrpTimeWindowFixedPenalty { - class DataModel - { - public long[,] TimeMatrix = { + class DataModel + { + public long[,] TimeMatrix = { { 0, 6, 9, 8, 7, 3, 6, 2, 3, 2, 6, 6, 4, 4, 5, 9, 7 }, { 6, 0, 8, 3, 2, 6, 8, 4, 8, 8, 13, 7, 5, 8, 12, 10, 14 }, { 9, 8, 0, 11, 10, 6, 3, 9, 5, 8, 4, 15, 14, 13, 9, 18, 9 }, @@ -43,7 +43,7 @@ public class VrpTimeWindowFixedPenalty { 9, 10, 18, 6, 8, 12, 15, 8, 13, 9, 13, 3, 4, 5, 9, 0, 9 }, { 7, 14, 9, 16, 14, 8, 5, 10, 6, 5, 4, 10, 8, 6, 2, 9, 0 }, }; - public long[,] TimeWindows = { + public long[,] TimeWindows = { { 0, 5 }, // depot { 7, 12 }, // 1 { 10, 15 }, // 2 @@ -62,108 +62,109 @@ public class VrpTimeWindowFixedPenalty { 10, 15 }, // 15 { 11, 15 }, // 16 }; - public int VehicleNumber = 4; - public int Depot = 0; - }; + public int VehicleNumber = 4; + public int Depot = 0; + }; - /// - /// Print the solution. - /// - static void PrintSolution(in DataModel data, in RoutingModel routing, in RoutingIndexManager manager, - in Assignment solution) - { - RoutingDimension timeDimension = routing.GetMutableDimension("Time"); - // Inspect solution. - long totalTime = 0; - for (int i = 0; i < data.VehicleNumber; ++i) + /// + /// Print the solution. + /// + static void PrintSolution(in DataModel data, in RoutingModel routing, in RoutingIndexManager manager, + in Assignment solution) { - Console.WriteLine("Route for Vehicle {0}:", i); - var index = routing.Start(i); - while (routing.IsEnd(index) == false) - { - var timeVar = timeDimension.CumulVar(index); - Console.Write("{0} Time({1},{2}) -> ", manager.IndexToNode(index), solution.Min(timeVar), - solution.Max(timeVar)); - index = solution.Value(routing.NextVar(index)); - } - var endTimeVar = timeDimension.CumulVar(index); - Console.WriteLine("{0} Time({1},{2})", manager.IndexToNode(index), solution.Min(endTimeVar), - solution.Max(endTimeVar)); - Console.WriteLine("Time of the route: {0}min", solution.Min(endTimeVar)); - totalTime += solution.Min(endTimeVar); - } - Console.WriteLine("Total time of all routes: {0}min", totalTime); - } - - public static void Main(String[] args) - { - // Instantiate the data problem. - DataModel data = new DataModel(); - - // Create Routing Index Manager - RoutingIndexManager manager = - new RoutingIndexManager(data.TimeMatrix.GetLength(0), data.VehicleNumber, data.Depot); - - // Create Routing Model. - RoutingModel routing = new RoutingModel(manager); - - // Create and register a transit callback. - int transitCallbackIndex = routing.RegisterTransitCallback((long fromIndex, long toIndex) => - { - // Convert from routing variable Index to distance matrix NodeIndex. - var fromNode = manager.IndexToNode(fromIndex); - var toNode = manager.IndexToNode(toIndex); - return data.TimeMatrix[fromNode, toNode]; - }); - - // Define cost of each arc. - routing.SetArcCostEvaluatorOfAllVehicles(transitCallbackIndex); - - // Add Distance constraint. - routing.AddDimension(transitCallbackIndex, // transit callback - 30, // allow waiting time - 30, // vehicle maximum capacities - false, // start cumul to zero - "Time"); - RoutingDimension timeDimension = routing.GetMutableDimension("Time"); - - routing.AddConstantDimensionWithSlack(0, // transit var 0 for all - data.TimeMatrix.GetLength(0), // max value is every item being late - 1, // slack is 0 or 1 based on lateness - true, // start cumul to zero - "Late"); - - RoutingDimension lateDimension = routing.GetMutableDimension("Late"); - - // Add time window constraints for each location except depot. - for (int i = 1; i < data.TimeWindows.GetLength(0); ++i) - { - long index = manager.NodeToIndex(i); - var isLate = timeDimension.CumulVar(index) > data.TimeWindows[i, 1]; - - // set the slack var to 1 if late - routing.solver().MakeEquality(isLate, lateDimension.SlackVar(index)); + RoutingDimension timeDimension = routing.GetMutableDimension("Time"); + // Inspect solution. + long totalTime = 0; + for (int i = 0; i < data.VehicleNumber; ++i) + { + Console.WriteLine("Route for Vehicle {0}:", i); + var index = routing.Start(i); + while (routing.IsEnd(index) == false) + { + var timeVar = timeDimension.CumulVar(index); + Console.Write("{0} Time({1},{2}) -> ", manager.IndexToNode(index), solution.Min(timeVar), + solution.Max(timeVar)); + index = solution.Value(routing.NextVar(index)); + } + var endTimeVar = timeDimension.CumulVar(index); + Console.WriteLine("{0} Time({1},{2})", manager.IndexToNode(index), solution.Min(endTimeVar), + solution.Max(endTimeVar)); + Console.WriteLine("Time of the route: {0}min", solution.Min(endTimeVar)); + totalTime += solution.Min(endTimeVar); + } + Console.WriteLine("Total time of all routes: {0}min", totalTime); } - // Instantiate route start and end times to produce feasible times. - for (int i = 0; i < data.VehicleNumber; ++i) + public static void Main(String[] args) { - // add a fixed penalty for each late item - long penalty = 1000; - lateDimension.SetCumulVarSoftUpperBound(routing.End(0), 0, penalty); + // Instantiate the data problem. + DataModel data = new DataModel(); - routing.AddVariableMinimizedByFinalizer(lateDimension.CumulVar(routing.End(i))); + // Create Routing Index Manager + RoutingIndexManager manager = + new RoutingIndexManager(data.TimeMatrix.GetLength(0), data.VehicleNumber, data.Depot); + + // Create Routing Model. + RoutingModel routing = new RoutingModel(manager); + + // Create and register a transit callback. + int transitCallbackIndex = routing.RegisterTransitCallback((long fromIndex, long toIndex) => + { + // Convert from routing variable Index to + // distance matrix NodeIndex. + var fromNode = manager.IndexToNode(fromIndex); + var toNode = manager.IndexToNode(toIndex); + return data.TimeMatrix[fromNode, toNode]; + }); + + // Define cost of each arc. + routing.SetArcCostEvaluatorOfAllVehicles(transitCallbackIndex); + + // Add Distance constraint. + routing.AddDimension(transitCallbackIndex, // transit callback + 30, // allow waiting time + 30, // vehicle maximum capacities + false, // start cumul to zero + "Time"); + RoutingDimension timeDimension = routing.GetMutableDimension("Time"); + + routing.AddConstantDimensionWithSlack(0, // transit var 0 for all + data.TimeMatrix.GetLength(0), // max value is every item being late + 1, // slack is 0 or 1 based on lateness + true, // start cumul to zero + "Late"); + + RoutingDimension lateDimension = routing.GetMutableDimension("Late"); + + // Add time window constraints for each location except depot. + for (int i = 1; i < data.TimeWindows.GetLength(0); ++i) + { + long index = manager.NodeToIndex(i); + var isLate = timeDimension.CumulVar(index) > data.TimeWindows[i, 1]; + + // set the slack var to 1 if late + routing.solver().MakeEquality(isLate, lateDimension.SlackVar(index)); + } + + // Instantiate route start and end times to produce feasible times. + for (int i = 0; i < data.VehicleNumber; ++i) + { + // add a fixed penalty for each late item + long penalty = 1000; + lateDimension.SetCumulVarSoftUpperBound(routing.End(0), 0, penalty); + + routing.AddVariableMinimizedByFinalizer(lateDimension.CumulVar(routing.End(i))); + } + + // Setting first solution heuristic. + RoutingSearchParameters searchParameters = + operations_research_constraint_solver.DefaultRoutingSearchParameters(); + searchParameters.FirstSolutionStrategy = FirstSolutionStrategy.Types.Value.PathCheapestArc; + + // Solve the problem. + Assignment solution = routing.SolveWithParameters(searchParameters); + + // Print solution on console. + PrintSolution(data, routing, manager, solution); } - - // Setting first solution heuristic. - RoutingSearchParameters searchParameters = - operations_research_constraint_solver.DefaultRoutingSearchParameters(); - searchParameters.FirstSolutionStrategy = FirstSolutionStrategy.Types.Value.PathCheapestArc; - - // Solve the problem. - Assignment solution = routing.SolveWithParameters(searchParameters); - - // Print solution on console. - PrintSolution(data, routing, manager, solution); - } } diff --git a/examples/cpp/cvrptw_lib.h b/examples/cpp/cvrptw_lib.h index dd3048a4ea..cf8190b83b 100644 --- a/examples/cpp/cvrptw_lib.h +++ b/examples/cpp/cvrptw_lib.h @@ -160,12 +160,13 @@ void LocationContainer::AddRandomLocation(int64_t x_max, int64_t y_max, } } -int64_t LocationContainer::ManhattanDistance(NodeIndex from, NodeIndex to) const { +int64_t LocationContainer::ManhattanDistance(NodeIndex from, + NodeIndex to) const { return locations_[from].DistanceTo(locations_[to]); } int64_t LocationContainer::NegManhattanDistance(NodeIndex from, - NodeIndex to) const { + NodeIndex to) const { return -ManhattanDistance(from, to); } @@ -179,7 +180,8 @@ bool LocationContainer::SameLocation(NodeIndex node1, NodeIndex node2) const { } return false; } -int64_t LocationContainer::SameLocationFromIndex(int64_t node1, int64_t node2) const { +int64_t LocationContainer::SameLocationFromIndex(int64_t node1, + int64_t node2) const { // The direct conversion from constraint model indices to routing model // nodes is correct because the depot is node 0. // TODO(user): Fetch proper indices from routing model. @@ -190,7 +192,8 @@ LocationContainer::Location::Location() : x_(0), y_(0) {} LocationContainer::Location::Location(int64_t x, int64_t y) : x_(x), y_(y) {} -int64_t LocationContainer::Location::DistanceTo(const Location& location) const { +int64_t LocationContainer::Location::DistanceTo( + const Location& location) const { return Abs(x_ - location.x_) + Abs(y_ - location.y_); } @@ -220,8 +223,8 @@ void RandomDemand::Initialize() { if (order == depot_) { demand_[order] = 0; } else { - demand_[order] = - kDemandMin + absl::Uniform(randomizer, 0, kDemandMax - kDemandMin + 1); + demand_[order] = kDemandMin + absl::Uniform(randomizer, 0, + kDemandMax - kDemandMin + 1); } } } @@ -249,7 +252,7 @@ StopServiceTimePlusTransition::StopServiceTimePlusTransition( transition_time_(std::move(transition_time)) {} int64_t StopServiceTimePlusTransition::Compute(NodeIndex from, - NodeIndex to) const { + NodeIndex to) const { return location_container_.SameLocation(from, to) ? 0 : stop_time_ + transition_time_(from, to); diff --git a/examples/cpp/random_tsp.cc b/examples/cpp/random_tsp.cc index 27b2db2e37..6508958d20 100644 --- a/examples/cpp/random_tsp.cc +++ b/examples/cpp/random_tsp.cc @@ -68,7 +68,7 @@ int32_t GetSeed() { // Sample function. int64_t MyDistance(RoutingIndexManager::NodeIndex from, - RoutingIndexManager::NodeIndex to) { + RoutingIndexManager::NodeIndex to) { // Put your distance code here. return (from + to).value(); // for instance } @@ -84,7 +84,8 @@ class RandomMatrix { for (RoutingIndexManager::NodeIndex from(0); from < size_; ++from) { for (RoutingIndexManager::NodeIndex to(0); to < size_; ++to) { if (to != from) { - matrix_[MatrixIndex(from, to)] = absl::Uniform(randomizer, 0, kDistanceMax); + matrix_[MatrixIndex(from, to)] = + absl::Uniform(randomizer, 0, kDistanceMax); } else { matrix_[MatrixIndex(from, to)] = 0LL; } @@ -92,13 +93,13 @@ class RandomMatrix { } } int64_t Distance(RoutingIndexManager::NodeIndex from, - RoutingIndexManager::NodeIndex to) const { + RoutingIndexManager::NodeIndex to) const { return matrix_[MatrixIndex(from, to)]; } private: int64_t MatrixIndex(RoutingIndexManager::NodeIndex from, - RoutingIndexManager::NodeIndex to) const { + RoutingIndexManager::NodeIndex to) const { return (from * size_ + to).value(); } std::unique_ptr matrix_; @@ -144,9 +145,10 @@ void Tsp() { int64_t forbidden_connections = 0; while (forbidden_connections < absl::GetFlag(FLAGS_tsp_random_forbidden_connections)) { - const int64_t from = absl::Uniform(randomizer, 0, absl::GetFlag(FLAGS_tsp_size) - 1); + const int64_t from = + absl::Uniform(randomizer, 0, absl::GetFlag(FLAGS_tsp_size) - 1); const int64_t to = - absl::Uniform(randomizer, 0 , absl::GetFlag(FLAGS_tsp_size) - 1) + 1; + absl::Uniform(randomizer, 0, absl::GetFlag(FLAGS_tsp_size) - 1) + 1; if (routing.NextVar(from)->Contains(to)) { LOG(INFO) << "Forbidding connection " << from << " -> " << to; routing.NextVar(from)->RemoveValue(to); diff --git a/examples/cpp/uncapacitated_facility_location.cc b/examples/cpp/uncapacitated_facility_location.cc index d773c8a4c3..b6537e9615 100644 --- a/examples/cpp/uncapacitated_facility_location.cc +++ b/examples/cpp/uncapacitated_facility_location.cc @@ -143,7 +143,8 @@ static void UncapacitatedFacilityLocation( // Set options and solve if (optimization_problem_type != MPSolver::SCIP_MIXED_INTEGER_PROGRAMMING) { if (!solver.SetNumThreads(8).ok()) { - LOG(INFO) << "Could not set parallelism for " << optimization_problem_type; + LOG(INFO) << "Could not set parallelism for " + << optimization_problem_type; } } solver.EnableOutput(); diff --git a/examples/data/roadef_challenge_2011/solution_checker/solution_checker.cc b/examples/data/roadef_challenge_2011/solution_checker/solution_checker.cc index e882c95ffd..2e809ca661 100644 --- a/examples/data/roadef_challenge_2011/solution_checker/solution_checker.cc +++ b/examples/data/roadef_challenge_2011/solution_checker/solution_checker.cc @@ -87,7 +87,7 @@ int64_t RemainingCapacities::GetLoadCost( ++resource_id) { const int load_cost_weight = resources_.at(resource_id).load_cost_weight; const int64_t delta = safety_remaining_capacities.at(resource_id) - - remaining_capacities_.at(resource_id); + remaining_capacities_.at(resource_id); load_cost += load_cost_weight * std::max(delta, int64_t{0}); } return load_cost; @@ -252,7 +252,7 @@ int64_t SolutionChecker::GetObjectiveCost() const { const int64_t service_move_cost = GetServiceMoveCost(); const int64_t machine_move_cost = GetMachineMoveCost(); const int64_t total_cost = load_cost + balance_cost + process_move_cost + - service_move_cost + machine_move_cost; + service_move_cost + machine_move_cost; return total_cost; } diff --git a/examples/tests/ConstraintSolverTest.java b/examples/tests/ConstraintSolverTest.java index bf3326b0dd..ba56f6d60a 100644 --- a/examples/tests/ConstraintSolverTest.java +++ b/examples/tests/ConstraintSolverTest.java @@ -211,7 +211,8 @@ public final class ConstraintSolverTest { assertEquals(0, countApply.intValue()); assertEquals(0, countRefute.intValue()); final Decision decision = solver.makeDecision( - (Solver s) -> { + (Solver s) + -> { assertEquals(s.model_name(), modelName); countApply.addAndGet(1); }, @@ -267,8 +268,7 @@ public final class ConstraintSolverTest { assertEquals(0, countApply.intValue()); assertEquals(0, countRefute.intValue()); final DecisionBuilder db = new ActionDecisionBuilder( - (Solver s) -> countApply.addAndGet(1), - (Solver s) -> countRefute.addAndGet(1)); + (Solver s) -> countApply.addAndGet(1), (Solver s) -> countRefute.addAndGet(1)); solver.newSearch(db); assertTrue(solver.nextSolution()); assertEquals(1, countApply.intValue()); diff --git a/examples/tests/FlowTest.java b/examples/tests/FlowTest.java index 562064fe56..fa1a6284b9 100644 --- a/examples/tests/FlowTest.java +++ b/examples/tests/FlowTest.java @@ -31,10 +31,8 @@ public final class FlowTest { public void testMinCostFlow() { final int numSources = 4; final int numTargets = 4; - final int[][] costs = {{90, 75, 75, 80}, - {35, 85, 55, 65}, - {125, 95, 90, 105}, - {45, 110, 95, 115}}; + final int[][] costs = { + {90, 75, 75, 80}, {35, 85, 55, 65}, {125, 95, 90, 105}, {45, 110, 95, 115}}; final int expectedCost = 275; final MinCostFlow minCostFlow = new MinCostFlow(); assertNotNull(minCostFlow); diff --git a/examples/tests/InitTest.java b/examples/tests/InitTest.java index e64d8521d9..f01569f42e 100644 --- a/examples/tests/InitTest.java +++ b/examples/tests/InitTest.java @@ -40,15 +40,15 @@ public final class InitTest { @Test public void testFlags() { - final CppFlags cpp_flags = new CppFlags(); - assertNotNull(cpp_flags); - cpp_flags.setLogtostderr(true); - cpp_flags.setLog_prefix(true); - cpp_flags.setCp_model_dump_prefix("init"); - cpp_flags.setCp_model_dump_models(true); - cpp_flags.setCp_model_dump_lns(true); - cpp_flags.setCp_model_dump_response(true); - CppBridge.setFlags(cpp_flags); + final CppFlags cpp_flags = new CppFlags(); + assertNotNull(cpp_flags); + cpp_flags.setLogtostderr(true); + cpp_flags.setLog_prefix(true); + cpp_flags.setCp_model_dump_prefix("init"); + cpp_flags.setCp_model_dump_models(true); + cpp_flags.setCp_model_dump_lns(true); + cpp_flags.setCp_model_dump_response(true); + CppBridge.setFlags(cpp_flags); } @Test @@ -58,7 +58,7 @@ public final class InitTest { final int major = v.getMajorNumber(); final int minor = v.getMinorNumber(); final int patch = v.getPatchNumber(); - final String version = v.getVersionString(); + final String version = v.getVersionString(); final String check = major + "." + minor + "." + patch; assertEquals(check, version); } diff --git a/examples/tests/KnapsackSolverTest.java b/examples/tests/KnapsackSolverTest.java index d41d69a727..970bf8a22b 100644 --- a/examples/tests/KnapsackSolverTest.java +++ b/examples/tests/KnapsackSolverTest.java @@ -33,18 +33,12 @@ public final class KnapsackSolverTest { KnapsackSolver.SolverType.KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER, "test"); assertNotNull(solver); - final long[] profits = {360, 83, 59, 130, 431, 67, 230, 52, 93, - 125, 670, 892, 600, 38, 48, 147, 78, 256, - 63, 17, 120, 164, 432, 35, 92, 110, 22, - 42, 50, 323, 514, 28, 87, 73, 78, 15, - 26, 78, 210, 36, 85, 189, 274, 43, 33, - 10, 19, 389, 276, 312}; - final long[][] weights = {{7, 0, 30, 22, 80, 94, 11, 81, 70, - 64, 59, 18, 0, 36, 3, 8, 15, 42, - 9, 0, 42, 47, 52, 32, 26, 48, 55, - 6, 29, 84, 2, 4, 18, 56, 7, 29, - 93, 44, 71, 3, 86, 66, 31, 65, 0, - 79, 20, 65, 52, 13}}; + final long[] profits = {360, 83, 59, 130, 431, 67, 230, 52, 93, 125, 670, 892, 600, 38, 48, 147, + 78, 256, 63, 17, 120, 164, 432, 35, 92, 110, 22, 42, 50, 323, 514, 28, 87, 73, 78, 15, 26, + 78, 210, 36, 85, 189, 274, 43, 33, 10, 19, 389, 276, 312}; + final long[][] weights = {{7, 0, 30, 22, 80, 94, 11, 81, 70, 64, 59, 18, 0, 36, 3, 8, 15, 42, 9, + 0, 42, 47, 52, 32, 26, 48, 55, 6, 29, 84, 2, 4, 18, 56, 7, 29, 93, 44, 71, 3, 86, 66, 31, + 65, 0, 79, 20, 65, 52, 13}}; final long[] capacities = {850}; solver.init(profits, weights, capacities); diff --git a/examples/tests/LinearSolverTest.java b/examples/tests/LinearSolverTest.java index ea7aaf9871..d5bd5f8ab5 100644 --- a/examples/tests/LinearSolverTest.java +++ b/examples/tests/LinearSolverTest.java @@ -479,10 +479,11 @@ public final class LinearSolverTest { .setObjectiveCoefficient(1.0) .build(); modelBuilder.addVariable(variable); - final MPModelRequest request = MPModelRequest.newBuilder() - .setModel(modelBuilder.build()) - .setSolverType(MPModelRequest.SolverType.GLOP_LINEAR_PROGRAMMING) - .build(); + final MPModelRequest request = + MPModelRequest.newBuilder() + .setModel(modelBuilder.build()) + .setSolverType(MPModelRequest.SolverType.GLOP_LINEAR_PROGRAMMING) + .build(); final MPSolutionResponse response = MPSolver.solveWithProto(request); assertEquals(MPSolverResponseStatus.MPSOLVER_OPTIMAL, response.getStatus()); assertEquals(10.0, response.getObjectiveValue(), 1e-6); diff --git a/examples/tests/RoutingSolverTest.java b/examples/tests/RoutingSolverTest.java index 902b695289..0724ee1be8 100644 --- a/examples/tests/RoutingSolverTest.java +++ b/examples/tests/RoutingSolverTest.java @@ -236,12 +236,11 @@ public final class RoutingSolverTest { final RoutingIndexManager manager = new RoutingIndexManager(coordinates.size(), 1, 0); final RoutingModel model = new RoutingModel(manager); assertEquals(5, model.nodes()); - final int cost = model.registerTransitCallback( - (long fromIndex, long toIndex) -> { - final int fromNode = manager.indexToNode(fromIndex); - final int toNode = manager.indexToNode(toIndex); - return (long) Math.abs(toNode - fromNode); - }); + final int cost = model.registerTransitCallback((long fromIndex, long toIndex) -> { + final int fromNode = manager.indexToNode(fromIndex); + final int toNode = manager.indexToNode(toIndex); + return (long) Math.abs(toNode - fromNode); + }); System.gc(); // model should keep alive the callback model.setArcCostEvaluatorOfAllVehicles(cost); @@ -290,11 +289,10 @@ public final class RoutingSolverTest { final RoutingIndexManager manager = new RoutingIndexManager(coordinates.size(), 1, 0); final RoutingModel model = new RoutingModel(manager); assertEquals(5, model.nodes()); - final int cost = model.registerUnaryTransitCallback( - (long fromIndex) -> { - final int fromNode = manager.indexToNode(fromIndex); - return (long) Math.abs(fromNode); - }); + final int cost = model.registerUnaryTransitCallback((long fromIndex) -> { + final int fromNode = manager.indexToNode(fromIndex); + return (long) Math.abs(fromNode); + }); System.gc(); // model should keep alive the callback model.setArcCostEvaluatorOfAllVehicles(cost); diff --git a/examples/tests/init_test.cc b/examples/tests/init_test.cc index 7c64576f72..8f7f30321f 100644 --- a/examples/tests/init_test.cc +++ b/examples/tests/init_test.cc @@ -11,9 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "absl/strings/str_cat.h" #include "ortools/init/init.h" +#include "absl/strings/str_cat.h" + namespace operations_research { void TestLogging() { LOG(INFO) << "Test Logging"; diff --git a/examples/tests/lp_test.cc b/examples/tests/lp_test.cc index 6c558f1095..4576b56747 100644 --- a/examples/tests/lp_test.cc +++ b/examples/tests/lp_test.cc @@ -19,8 +19,7 @@ namespace operations_research { void SolveAndPrint(MPSolver& solver, std::vector variables, - std::vector constraints, - bool is_continuous) { + std::vector constraints, bool is_continuous) { LOG(INFO) << "Number of variables = " << solver.NumVariables(); LOG(INFO) << "Number of constraints = " << solver.NumConstraints(); @@ -47,7 +46,7 @@ void SolveAndPrint(MPSolver& solver, std::vector variables, const std::vector activities = solver.ComputeConstraintActivities(); for (const auto& i : constraints) { LOG(INFO) << i->name() << ": dual value = " << i->dual_value() - << " activity = " << activities[i->index()]; + << " activity = " << activities[i->index()]; } } } diff --git a/examples/tests/remote/tsp.cc b/examples/tests/remote/tsp.cc index ccbebcdcb4..53ae76b3f7 100644 --- a/examples/tests/remote/tsp.cc +++ b/examples/tests/remote/tsp.cc @@ -85,13 +85,13 @@ class RandomMatrix { } } int64_t Distance(RoutingModel::NodeIndex from, - RoutingModel::NodeIndex to) const { + RoutingModel::NodeIndex to) const { return matrix_[MatrixIndex(from, to)]; } private: int64_t MatrixIndex(RoutingModel::NodeIndex from, - RoutingModel::NodeIndex to) const { + RoutingModel::NodeIndex to) const { return (from * size_ + to).value(); } std::unique_ptr matrix_; @@ -129,7 +129,8 @@ int main(int argc, char** argv) { int64_t forbidden_connections = 0; while (forbidden_connections < absl::GetFlag(FLAGS_tsp_random_forbidden_connections)) { - const int64_t from = randomizer.Uniform(absl::GetFlag(FLAGS_tsp_size) - 1); + const int64_t from = + randomizer.Uniform(absl::GetFlag(FLAGS_tsp_size) - 1); const int64_t to = randomizer.Uniform(absl::GetFlag(FLAGS_tsp_size) - 1) + 1; if (routing.NextVar(from)->Contains(to)) {