Skip to content

Commit 8deba9a

Browse files
committed
fixes
1 parent a096fb6 commit 8deba9a

32 files changed

+931
-366
lines changed

ortools/flatzinc/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ cc_library(
3232
"//ortools/base:stl_util",
3333
"//ortools/util:logging",
3434
"//ortools/util:string_array",
35+
"@abseil-cpp//absl/base:core_headers",
3536
"@abseil-cpp//absl/container:flat_hash_map",
3637
"@abseil-cpp//absl/container:flat_hash_set",
3738
"@abseil-cpp//absl/log",

ortools/flatzinc/model.cc

Lines changed: 32 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <utility>
2121
#include <vector>
2222

23+
#include "absl/base/optimization.h"
2324
#include "absl/container/flat_hash_set.h"
2425
#include "absl/log/check.h"
2526
#include "absl/log/log.h"
@@ -615,7 +616,7 @@ std::string Argument::DebugString() const {
615616
return absl::StrFormat("[%s]", absl::StrJoin(floats, ", "));
616617
}
617618
LOG(FATAL) << "Unhandled case in DebugString " << static_cast<int>(type);
618-
return "";
619+
ABSL_UNREACHABLE();
619620
}
620621

621622
bool Argument::IsVariable() const { return type == VAR_REF; }
@@ -634,14 +635,12 @@ int64_t Argument::Value() const {
634635
case INT_INTERVAL:
635636
case INT_LIST:
636637
return values[0];
637-
case VAR_REF: {
638+
case VAR_REF:
638639
return variables[0]->domain.values[0];
639-
}
640-
default: {
641-
LOG(FATAL) << "Should not be here";
642-
return 0;
643-
}
640+
default:
641+
break;
644642
}
643+
ABSL_UNREACHABLE();
645644
}
646645

647646
bool Argument::IsArrayOfValues() const {
@@ -679,24 +678,22 @@ bool Argument::IsArrayOfValues() const {
679678
case FLOAT_LIST:
680679
return false;
681680
}
681+
ABSL_UNREACHABLE();
682682
}
683683

684684
bool Argument::Contains(int64_t value) const {
685685
switch (type) {
686-
case Argument::INT_LIST: {
686+
case Argument::INT_LIST:
687687
return std::find(values.begin(), values.end(), value) != values.end();
688-
}
689-
case Argument::INT_INTERVAL: {
688+
case Argument::INT_INTERVAL:
690689
return value >= values.front() && value <= values.back();
691-
}
692-
case Argument::INT_VALUE: {
690+
case Argument::INT_VALUE:
693691
return value == values.front();
694-
}
695-
default: {
696-
LOG(FATAL) << "Cannot call Contains() on " << DebugString();
697-
return false;
698-
}
692+
default:
693+
break;
699694
}
695+
696+
ABSL_UNREACHABLE();
700697
}
701698

702699
int64_t Argument::ValueAt(int pos) const {
@@ -715,11 +712,10 @@ int64_t Argument::ValueAt(int pos) const {
715712
CHECK_LT(pos, variables.size());
716713
return variables[pos]->domain.Value();
717714
}
718-
default: {
719-
LOG(FATAL) << "Should not be here";
720-
return 0;
721-
}
715+
default:
716+
break;
722717
}
718+
ABSL_UNREACHABLE();
723719
}
724720

725721
bool Argument::HasOneValueAt(int pos) const {
@@ -738,11 +734,10 @@ bool Argument::HasOneValueAt(int pos) const {
738734
CHECK_LT(pos, variables.size());
739735
return variables[pos]->domain.HasOneValue();
740736
}
741-
default: {
742-
LOG(FATAL) << "Should not be here";
743-
return false;
744-
}
737+
default:
738+
break;
745739
}
740+
ABSL_UNREACHABLE();
746741
}
747742

748743
Variable* Argument::Var() const {
@@ -769,11 +764,10 @@ int Argument::Size() const {
769764
case FLOAT_LIST: {
770765
return floats.size();
771766
}
772-
default: {
773-
LOG(FATAL) << "Should not be here";
774-
return 0;
775-
}
767+
default:
768+
break;
776769
}
770+
ABSL_UNREACHABLE();
777771
}
778772

779773
// ----- Variable -----
@@ -943,27 +937,20 @@ void Annotation::AppendAllVariables(std::vector<Variable*>* const vars) const {
943937

944938
std::string Annotation::DebugString() const {
945939
switch (type) {
946-
case ANNOTATION_LIST: {
940+
case ANNOTATION_LIST:
947941
return absl::StrFormat("[%s]", JoinDebugString(annotations, ", "));
948-
}
949-
case IDENTIFIER: {
942+
case IDENTIFIER:
950943
return id;
951-
}
952-
case FUNCTION_CALL: {
944+
case FUNCTION_CALL:
953945
return absl::StrFormat("%s(%s)", id, JoinDebugString(annotations, ", "));
954-
}
955-
case INTERVAL: {
946+
case INTERVAL:
956947
return absl::StrFormat("%d..%d", interval_min, interval_max);
957-
}
958-
case INT_VALUE: {
948+
case INT_VALUE:
959949
return absl::StrCat(interval_min);
960-
}
961-
case INT_LIST: {
950+
case INT_LIST:
962951
return absl::StrFormat("[%s]", absl::StrJoin(values, ", "));
963-
}
964-
case VAR_REF: {
952+
case VAR_REF:
965953
return variables.front()->name;
966-
}
967954
case VAR_REF_ARRAY: {
968955
std::string result = "[";
969956
for (int i = 0; i < variables.size(); ++i) {
@@ -972,12 +959,11 @@ std::string Annotation::DebugString() const {
972959
}
973960
return result;
974961
}
975-
case STRING_VALUE: {
962+
case STRING_VALUE:
976963
return absl::StrFormat("\"%s\"", string_value);
977-
}
978964
}
979965
LOG(FATAL) << "Unhandled case in DebugString " << static_cast<int>(type);
980-
return "";
966+
ABSL_UNREACHABLE();
981967
}
982968

983969
// ----- SolutionOutputSpecs -----

ortools/graph/minimum_spanning_tree.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ BuildKruskalMinimumSpanningTreeFromSortedArcs(
5050
const Graph& graph,
5151
absl::Span<const typename Graph::ArcIndex> sorted_arcs) {
5252
using ArcIndex = typename Graph::ArcIndex;
53-
using NodeIndex = typename Graph::NodeIndex;
5453
const int num_arcs = graph.num_arcs();
5554
int arc_index = 0;
5655
std::vector<ArcIndex> tree_arcs;

ortools/port/BUILD.bazel

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@
1313

1414
load("@rules_cc//cc:cc_library.bzl", "cc_library")
1515

16-
package(default_visibility = [
17-
"//third_party/ortools/examples/cpp:__pkg__",
18-
"//visibility:public",
19-
])
16+
package(default_visibility = ["//visibility:public"])
2017

2118
cc_library(
2219
name = "os",

ortools/routing/decision_builders.cc

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -558,12 +558,11 @@ class SetCumulsFromGlobalDimensionCosts : public DecisionBuilder {
558558
SetCumulsFromGlobalDimensionCosts(
559559
GlobalDimensionCumulOptimizer* global_optimizer,
560560
GlobalDimensionCumulOptimizer* global_mp_optimizer,
561-
SearchMonitor* monitor, bool optimize_and_pack,
561+
bool optimize_and_pack,
562562
std::vector<RoutingModel::RouteDimensionTravelInfo>
563563
dimension_travel_info_per_route)
564564
: global_optimizer_(global_optimizer),
565565
global_mp_optimizer_(global_mp_optimizer),
566-
monitor_(monitor),
567566
optimize_and_pack_(optimize_and_pack),
568567
dimension_travel_info_per_route_(
569568
std::move(dimension_travel_info_per_route)),
@@ -698,7 +697,6 @@ class SetCumulsFromGlobalDimensionCosts : public DecisionBuilder {
698697

699698
GlobalDimensionCumulOptimizer* const global_optimizer_;
700699
GlobalDimensionCumulOptimizer* const global_mp_optimizer_;
701-
SearchMonitor* const monitor_;
702700
const bool optimize_and_pack_;
703701
std::vector<IntVar*> cp_variables_;
704702
std::vector<int64_t> cp_values_;
@@ -720,12 +718,11 @@ class SetCumulsFromGlobalDimensionCosts : public DecisionBuilder {
720718

721719
DecisionBuilder* MakeSetCumulsFromGlobalDimensionCosts(
722720
Solver* solver, GlobalDimensionCumulOptimizer* global_optimizer,
723-
GlobalDimensionCumulOptimizer* global_mp_optimizer, SearchMonitor* monitor,
724-
bool optimize_and_pack,
721+
GlobalDimensionCumulOptimizer* global_mp_optimizer, bool optimize_and_pack,
725722
std::vector<RoutingModel::RouteDimensionTravelInfo>
726723
dimension_travel_info_per_route) {
727724
return solver->RevAlloc(new SetCumulsFromGlobalDimensionCosts(
728-
global_optimizer, global_mp_optimizer, monitor, optimize_and_pack,
725+
global_optimizer, global_mp_optimizer, optimize_and_pack,
729726
std::move(dimension_travel_info_per_route)));
730727
}
731728

ortools/routing/decision_builders.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ DecisionBuilder* MakeSetCumulsFromLocalDimensionCosts(
4646
/// Variant based on global optimizers, handling all routes together.
4747
DecisionBuilder* MakeSetCumulsFromGlobalDimensionCosts(
4848
Solver* solver, GlobalDimensionCumulOptimizer* global_optimizer,
49-
GlobalDimensionCumulOptimizer* global_mp_optimizer, SearchMonitor* monitor,
49+
GlobalDimensionCumulOptimizer* global_mp_optimizer,
5050
bool optimize_and_pack = false,
5151
std::vector<RoutingModel::RouteDimensionTravelInfo>
5252
dimension_travel_info_per_route = {});

ortools/routing/routing.cc

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ const Assignment* RoutingModel::PackCumulsOfOptimizerDimensionsFromAssignment(
180180
}
181181
for (auto& [lp_optimizer, mp_optimizer] : global_dimension_optimizers_) {
182182
decision_builders.push_back(MakeSetCumulsFromGlobalDimensionCosts(
183-
solver_.get(), lp_optimizer.get(), mp_optimizer.get(), cumulative_limit,
183+
solver_.get(), lp_optimizer.get(), mp_optimizer.get(),
184184
/*optimize_and_pack=*/true));
185185
}
186186
decision_builders.push_back(finalizer_variables_->CreateFinalizer());
@@ -5843,7 +5843,7 @@ bool RoutingModel::AreRoutesInterdependent(
58435843
}
58445844

58455845
DecisionBuilder* RoutingModel::CreateSolutionFinalizer(
5846-
const RoutingSearchParameters& parameters, SearchLimit* lns_limit) {
5846+
const RoutingSearchParameters& parameters) {
58475847
std::vector<DecisionBuilder*> decision_builders;
58485848
decision_builders.push_back(solver_->MakePhase(
58495849
nexts_, Solver::CHOOSE_FIRST_UNBOUND, Solver::ASSIGN_MIN_VALUE));
@@ -5874,7 +5874,7 @@ DecisionBuilder* RoutingModel::CreateSolutionFinalizer(
58745874
can_use_dimension_cumul_optimizers);
58755875
for (auto& [lp_optimizer, mp_optimizer] : global_dimension_optimizers_) {
58765876
decision_builders.push_back(MakeSetCumulsFromGlobalDimensionCosts(
5877-
solver_.get(), lp_optimizer.get(), mp_optimizer.get(), lns_limit));
5877+
solver_.get(), lp_optimizer.get(), mp_optimizer.get()));
58785878
}
58795879
decision_builders.push_back(finalizer_variables_->CreateFinalizer());
58805880

@@ -5887,8 +5887,8 @@ void RoutingModel::CreateFirstSolutionDecisionBuilders(
58875887
FirstSolutionStrategy_Value_Value_ARRAYSIZE, nullptr);
58885888
first_solution_filtered_decision_builders_.resize(
58895889
FirstSolutionStrategy_Value_Value_ARRAYSIZE, nullptr);
5890-
DecisionBuilder* const finalize_solution = CreateSolutionFinalizer(
5891-
search_parameters, GetOrCreateLargeNeighborhoodSearchLimit());
5890+
DecisionBuilder* const finalize_solution =
5891+
CreateSolutionFinalizer(search_parameters);
58925892
// Default heuristic
58935893
first_solution_decision_builders_
58945894
[FirstSolutionStrategy::FIRST_UNBOUND_MIN_VALUE] = finalize_solution;
@@ -6264,8 +6264,8 @@ LocalSearchPhaseParameters* RoutingModel::CreateLocalSearchParameters(
62646264
}
62656265
return solver_->MakeLocalSearchPhaseParameters(
62666266
CostVar(), ls_operator,
6267-
solver_->MakeSolveOnce(
6268-
CreateSolutionFinalizer(search_parameters, lns_limit), lns_limit),
6267+
solver_->MakeSolveOnce(CreateSolutionFinalizer(search_parameters),
6268+
lns_limit),
62696269
GetOrCreateLocalSearchLimit(),
62706270
GetOrCreateLocalSearchFilterManager(
62716271
search_parameters,
@@ -6282,9 +6282,8 @@ DecisionBuilder* RoutingModel::CreatePrimaryLocalSearchDecisionBuilder(
62826282
SearchLimit* first_solution_lns_limit =
62836283
GetOrCreateFirstSolutionLargeNeighborhoodSearchLimit();
62846284
DecisionBuilder* const first_solution_sub_decision_builder =
6285-
solver_->MakeSolveOnce(
6286-
CreateSolutionFinalizer(search_parameters, first_solution_lns_limit),
6287-
first_solution_lns_limit);
6285+
solver_->MakeSolveOnce(CreateSolutionFinalizer(search_parameters),
6286+
first_solution_lns_limit);
62886287
if (CostsAreHomogeneousAcrossVehicles()) {
62896288
return solver_->MakeLocalSearchPhase(nexts_, first_solution,
62906289
first_solution_sub_decision_builder,
@@ -6310,9 +6309,8 @@ void RoutingModel::SetupDecisionBuilders(
63106309
GetOrCreateFirstSolutionLargeNeighborhoodSearchLimit();
63116310
solve_db_ = solver_->Compose(
63126311
GetFirstSolutionDecisionBuilder(search_parameters),
6313-
solver_->MakeSolveOnce(
6314-
CreateSolutionFinalizer(search_parameters, first_lns_limit),
6315-
first_lns_limit));
6312+
solver_->MakeSolveOnce(CreateSolutionFinalizer(search_parameters),
6313+
first_lns_limit));
63166314
} else {
63176315
solve_db_ = CreatePrimaryLocalSearchDecisionBuilder(search_parameters);
63186316
}
@@ -6333,15 +6331,13 @@ void RoutingModel::SetupDecisionBuilders(
63336331
CreateLocalSearchParameters(search_parameters, /*secondary_ls=*/true));
63346332
secondary_ls_db_ = solver_->Compose(restore_preassignment, secondary_ls_db_);
63356333

6336-
restore_assignment_ = solver_->Compose(
6337-
solver_->MakeRestoreAssignment(GetOrCreateAssignment()),
6338-
CreateSolutionFinalizer(search_parameters,
6339-
GetOrCreateLargeNeighborhoodSearchLimit()));
6334+
restore_assignment_ =
6335+
solver_->Compose(solver_->MakeRestoreAssignment(GetOrCreateAssignment()),
6336+
CreateSolutionFinalizer(search_parameters));
63406337
restore_tmp_assignment_ = solver_->Compose(
63416338
restore_preassignment,
63426339
solver_->MakeRestoreAssignment(GetOrCreateTmpAssignment()),
6343-
CreateSolutionFinalizer(search_parameters,
6344-
GetOrCreateLargeNeighborhoodSearchLimit()));
6340+
CreateSolutionFinalizer(search_parameters));
63456341
}
63466342

63476343
void RoutingModel::SetupMetaheuristics(

ortools/routing/routing.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2504,7 +2504,7 @@ class OR_DLL RoutingModel {
25042504
LocalSearchFilterManager* GetOrCreateLocalSearchFilterManager(
25052505
const RoutingSearchParameters& parameters, const FilterOptions& options);
25062506
DecisionBuilder* CreateSolutionFinalizer(
2507-
const RoutingSearchParameters& parameters, SearchLimit* lns_limit);
2507+
const RoutingSearchParameters& parameters);
25082508
void CreateFirstSolutionDecisionBuilders(
25092509
const RoutingSearchParameters& search_parameters);
25102510
DecisionBuilder* GetFirstSolutionDecisionBuilder(

ortools/sat/BUILD.bazel

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1793,6 +1793,7 @@ cc_library(
17931793
"@abseil-cpp//absl/container:flat_hash_set",
17941794
"@abseil-cpp//absl/container:inlined_vector",
17951795
"@abseil-cpp//absl/functional:any_invocable",
1796+
"@abseil-cpp//absl/functional:function_ref",
17961797
"@abseil-cpp//absl/log",
17971798
"@abseil-cpp//absl/log:check",
17981799
"@abseil-cpp//absl/log:vlog_is_on",
@@ -4325,6 +4326,7 @@ cc_library(
43254326
":sat_base",
43264327
":synchronization",
43274328
":util",
4329+
"//ortools/base:strong_vector",
43284330
"//ortools/util:bitset",
43294331
"@abseil-cpp//absl/algorithm:container",
43304332
"@abseil-cpp//absl/container:flat_hash_map",
@@ -4366,6 +4368,7 @@ cc_library(
43664368
"//ortools/base:intops",
43674369
"//ortools/base:timer",
43684370
"@abseil-cpp//absl/container:flat_hash_map",
4371+
"@abseil-cpp//absl/container:flat_hash_set",
43694372
"@abseil-cpp//absl/flags:flag",
43704373
"@abseil-cpp//absl/log",
43714374
"@abseil-cpp//absl/log:check",
@@ -4744,6 +4747,7 @@ cc_library(
47444747
"@abseil-cpp//absl/container:flat_hash_map",
47454748
"@abseil-cpp//absl/container:flat_hash_set",
47464749
"@abseil-cpp//absl/container:node_hash_map",
4750+
"@abseil-cpp//absl/functional:function_ref",
47474751
"@abseil-cpp//absl/log",
47484752
"@abseil-cpp//absl/log:check",
47494753
"@abseil-cpp//absl/strings",

0 commit comments

Comments
 (0)