4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3014000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
16 #if 3014000 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h>
32 #include <google/protobuf/extension_set.h>
33 #include <google/protobuf/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
36 #include <google/protobuf/port_def.inc>
37 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fbop_2fbop_5fparameters_2eproto
38 PROTOBUF_NAMESPACE_OPEN
42 PROTOBUF_NAMESPACE_CLOSE
46 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
48 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
50 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
52 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata
field_metadata[];
59 class BopOptimizerMethod;
60 class BopOptimizerMethodDefaultTypeInternal;
65 class BopSolverOptimizerSet;
70 PROTOBUF_NAMESPACE_OPEN
71 template<> ::operations_research::bop::BopOptimizerMethod* Arena::CreateMaybeMessage<::operations_research::bop::BopOptimizerMethod>(Arena*);
72 template<> ::operations_research::bop::BopParameters* Arena::CreateMaybeMessage<::operations_research::bop::BopParameters>(Arena*);
73 template<> ::operations_research::bop::BopSolverOptimizerSet* Arena::CreateMaybeMessage<::operations_research::bop::BopSolverOptimizerSet>(Arena*);
74 PROTOBUF_NAMESPACE_CLOSE
105 "Incorrect type passed to function BopOptimizerMethod_OptimizerType_Name.");
106 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
111 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopOptimizerMethod_OptimizerType>(
129 "Incorrect type passed to function BopParameters_ThreadSynchronizationType_Name.");
130 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
135 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopParameters_ThreadSynchronizationType>(
141 public ::PROTOBUF_NAMESPACE_ID::Message {
148 : BopOptimizerMethod() {
149 *
this = ::std::move(from);
152 inline BopOptimizerMethod&
operator=(
const BopOptimizerMethod& from) {
156 inline BopOptimizerMethod&
operator=(BopOptimizerMethod&& from) noexcept {
157 if (GetArena() == from.GetArena()) {
158 if (
this != &from) InternalSwap(&from);
166 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
169 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
172 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
173 return GetDescriptor();
176 return GetMetadataStatic().descriptor;
179 return GetMetadataStatic().reflection;
184 return reinterpret_cast<const BopOptimizerMethod*
>(
187 static constexpr
int kIndexInFileMessages =
190 friend void swap(BopOptimizerMethod&
a, BopOptimizerMethod&
b) {
193 inline void Swap(BopOptimizerMethod* other) {
194 if (other ==
this)
return;
195 if (GetArena() == other->GetArena()) {
198 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
202 if (other ==
this)
return;
203 GOOGLE_DCHECK(GetArena() == other->GetArena());
209 inline BopOptimizerMethod*
New() const final {
210 return CreateMaybeMessage<BopOptimizerMethod>(
nullptr);
213 BopOptimizerMethod*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
214 return CreateMaybeMessage<BopOptimizerMethod>(arena);
216 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
217 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
220 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
221 bool IsInitialized() const final;
223 size_t ByteSizeLong() const final;
224 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
225 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
226 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
227 int GetCachedSize() const final {
return _cached_size_.Get(); }
230 inline void SharedCtor();
231 inline void SharedDtor();
232 void SetCachedSize(
int size)
const final;
233 void InternalSwap(BopOptimizerMethod* other);
234 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
235 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
236 return "operations_research.bop.BopOptimizerMethod";
241 static void ArenaDtor(
void*
object);
242 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
247 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
294 static constexpr
int OptimizerType_ARRAYSIZE =
296 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
304 "Incorrect type passed to function OptimizerType_Name.");
315 kTypeFieldNumber = 1,
320 bool _internal_has_type()
const;
334 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
335 typedef void InternalArenaConstructable_;
336 typedef void DestructorSkippable_;
337 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
338 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
340 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
345 public ::PROTOBUF_NAMESPACE_ID::Message {
352 : BopSolverOptimizerSet() {
353 *
this = ::std::move(from);
356 inline BopSolverOptimizerSet&
operator=(
const BopSolverOptimizerSet& from) {
360 inline BopSolverOptimizerSet&
operator=(BopSolverOptimizerSet&& from) noexcept {
361 if (GetArena() == from.GetArena()) {
362 if (
this != &from) InternalSwap(&from);
370 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
373 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
376 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
377 return GetDescriptor();
380 return GetMetadataStatic().descriptor;
383 return GetMetadataStatic().reflection;
388 return reinterpret_cast<const BopSolverOptimizerSet*
>(
391 static constexpr
int kIndexInFileMessages =
394 friend void swap(BopSolverOptimizerSet&
a, BopSolverOptimizerSet&
b) {
397 inline void Swap(BopSolverOptimizerSet* other) {
398 if (other ==
this)
return;
399 if (GetArena() == other->GetArena()) {
402 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
406 if (other ==
this)
return;
407 GOOGLE_DCHECK(GetArena() == other->GetArena());
413 inline BopSolverOptimizerSet*
New() const final {
414 return CreateMaybeMessage<BopSolverOptimizerSet>(
nullptr);
417 BopSolverOptimizerSet*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
418 return CreateMaybeMessage<BopSolverOptimizerSet>(arena);
420 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
421 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
424 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
425 bool IsInitialized() const final;
427 size_t ByteSizeLong() const final;
428 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
429 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
430 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
431 int GetCachedSize() const final {
return _cached_size_.Get(); }
434 inline void SharedCtor();
435 inline void SharedDtor();
436 void SetCachedSize(
int size)
const final;
437 void InternalSwap(BopSolverOptimizerSet* other);
438 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
439 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
440 return "operations_research.bop.BopSolverOptimizerSet";
445 static void ArenaDtor(
void*
object);
446 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
451 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
463 kMethodsFieldNumber = 1,
468 int _internal_methods_size()
const;
472 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
475 const ::operations_research::bop::BopOptimizerMethod& _internal_methods(
int index)
const;
476 ::operations_research::bop::BopOptimizerMethod* _internal_add_methods();
478 const ::operations_research::bop::BopOptimizerMethod&
methods(
int index)
const;
480 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
487 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
488 typedef void InternalArenaConstructable_;
489 typedef void DestructorSkippable_;
490 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
491 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
492 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
497 public ::PROTOBUF_NAMESPACE_ID::Message {
505 *
this = ::std::move(from);
508 inline BopParameters&
operator=(
const BopParameters& from) {
512 inline BopParameters&
operator=(BopParameters&& from) noexcept {
513 if (GetArena() == from.GetArena()) {
514 if (
this != &from) InternalSwap(&from);
522 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
525 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
528 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
529 return GetDescriptor();
532 return GetMetadataStatic().descriptor;
535 return GetMetadataStatic().reflection;
540 return reinterpret_cast<const BopParameters*
>(
543 static constexpr
int kIndexInFileMessages =
546 friend void swap(BopParameters&
a, BopParameters&
b) {
549 inline void Swap(BopParameters* other) {
550 if (other ==
this)
return;
551 if (GetArena() == other->GetArena()) {
554 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
558 if (other ==
this)
return;
559 GOOGLE_DCHECK(GetArena() == other->GetArena());
565 inline BopParameters*
New() const final {
566 return CreateMaybeMessage<BopParameters>(
nullptr);
569 BopParameters*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
570 return CreateMaybeMessage<BopParameters>(arena);
572 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
573 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
576 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
577 bool IsInitialized() const final;
579 size_t ByteSizeLong() const final;
580 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
581 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
582 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
583 int GetCachedSize() const final {
return _cached_size_.Get(); }
586 inline void SharedCtor();
587 inline void SharedDtor();
588 void SetCachedSize(
int size)
const final;
589 void InternalSwap(BopParameters* other);
590 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
591 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
592 return "operations_research.bop.BopParameters";
597 static void ArenaDtor(
void*
object);
598 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
603 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
626 static constexpr
int ThreadSynchronizationType_ARRAYSIZE =
628 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
636 "Incorrect type passed to function ThreadSynchronizationType_Name.");
647 kSolverOptimizerSetsFieldNumber = 26,
648 kDefaultSolverOptimizerSetsFieldNumber = 33,
649 kLogSearchProgressFieldNumber = 14,
650 kPruneSearchTreeFieldNumber = 4,
651 kSortConstraintsByNumTermsFieldNumber = 5,
652 kUseSymmetryFieldNumber = 17,
653 kSynchronizationTypeFieldNumber = 25,
654 kMaxNumberOfConsecutiveFailingOptimizerCallsFieldNumber = 35,
655 kExploitSymmetryInSatFirstSolutionFieldNumber = 40,
656 kUsePotentialOneFlipRepairsInLsFieldNumber = 39,
657 kUseLpStrongBranchingFieldNumber = 29,
658 kDecomposedProblemMinTimeInSecondsFieldNumber = 36,
659 kMaxLpSolveForFeasibilityProblemsFieldNumber = 41,
660 kMaxTimeInSecondsFieldNumber = 1,
661 kMaxNumDecisionsInLsFieldNumber = 2,
662 kRandomSeedFieldNumber = 7,
663 kNumRelaxedVarsFieldNumber = 8,
664 kMaxNumberOfConflictsInRandomLnsFieldNumber = 9,
665 kComputeEstimatedImpactFieldNumber = 3,
666 kUseRandomLnsFieldNumber = 6,
667 kUseLpLnsFieldNumber = 12,
668 kUseSatToChooseLnsNeighbourhoodFieldNumber = 15,
669 kNumRandomLnsTriesFieldNumber = 10,
670 kMaxNumberOfBacktracksInLsFieldNumber = 11,
671 kMaxNumberOfConflictsForQuickCheckFieldNumber = 16,
672 kMaxNumberOfConflictsInRandomSolutionGenerationFieldNumber = 20,
673 kMaxNumberOfExploredAssignmentsPerTryInLsFieldNumber = 21,
674 kUseTranspositionTableInLsFieldNumber = 22,
675 kUseLearnedBinaryClausesInLpFieldNumber = 23,
676 kNumberOfSolversFieldNumber = 24,
677 kMaxDeterministicTimeFieldNumber = 27,
678 kRelativeGapLimitFieldNumber = 28,
679 kDecomposerNumVariablesThresholdFieldNumber = 30,
680 kNumBopSolversUsedByDecompositionFieldNumber = 31,
681 kGuidedSatConflictsChunkFieldNumber = 34,
682 kMaxNumBrokenConstraintsInLsFieldNumber = 38,
683 kLpMaxDeterministicTimeFieldNumber = 37,
688 int _internal_solver_optimizer_sets_size()
const;
692 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
695 const ::operations_research::bop::BopSolverOptimizerSet& _internal_solver_optimizer_sets(
int index)
const;
696 ::operations_research::bop::BopSolverOptimizerSet* _internal_add_solver_optimizer_sets();
700 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
706 bool _internal_has_default_solver_optimizer_sets()
const;
718 const std::string& _internal_default_solver_optimizer_sets()
const;
719 void _internal_set_default_solver_optimizer_sets(
const std::string&
value);
720 std::string* _internal_mutable_default_solver_optimizer_sets();
726 bool _internal_has_log_search_progress()
const;
732 bool _internal_log_search_progress()
const;
733 void _internal_set_log_search_progress(
bool value);
739 bool _internal_has_prune_search_tree()
const;
745 bool _internal_prune_search_tree()
const;
746 void _internal_set_prune_search_tree(
bool value);
752 bool _internal_has_sort_constraints_by_num_terms()
const;
758 bool _internal_sort_constraints_by_num_terms()
const;
759 void _internal_set_sort_constraints_by_num_terms(
bool value);
765 bool _internal_has_use_symmetry()
const;
771 bool _internal_use_symmetry()
const;
772 void _internal_set_use_symmetry(
bool value);
778 bool _internal_has_synchronization_type()
const;
791 bool _internal_has_max_number_of_consecutive_failing_optimizer_calls()
const;
804 bool _internal_has_exploit_symmetry_in_sat_first_solution()
const;
810 bool _internal_exploit_symmetry_in_sat_first_solution()
const;
811 void _internal_set_exploit_symmetry_in_sat_first_solution(
bool value);
817 bool _internal_has_use_potential_one_flip_repairs_in_ls()
const;
823 bool _internal_use_potential_one_flip_repairs_in_ls()
const;
824 void _internal_set_use_potential_one_flip_repairs_in_ls(
bool value);
830 bool _internal_has_use_lp_strong_branching()
const;
836 bool _internal_use_lp_strong_branching()
const;
837 void _internal_set_use_lp_strong_branching(
bool value);
843 bool _internal_has_decomposed_problem_min_time_in_seconds()
const;
849 double _internal_decomposed_problem_min_time_in_seconds()
const;
850 void _internal_set_decomposed_problem_min_time_in_seconds(
double value);
856 bool _internal_has_max_lp_solve_for_feasibility_problems()
const;
869 bool _internal_has_max_time_in_seconds()
const;
875 double _internal_max_time_in_seconds()
const;
876 void _internal_set_max_time_in_seconds(
double value);
882 bool _internal_has_max_num_decisions_in_ls()
const;
895 bool _internal_has_random_seed()
const;
908 bool _internal_has_num_relaxed_vars()
const;
921 bool _internal_has_max_number_of_conflicts_in_random_lns()
const;
934 bool _internal_has_compute_estimated_impact()
const;
940 bool _internal_compute_estimated_impact()
const;
941 void _internal_set_compute_estimated_impact(
bool value);
947 bool _internal_has_use_random_lns()
const;
953 bool _internal_use_random_lns()
const;
954 void _internal_set_use_random_lns(
bool value);
960 bool _internal_has_use_lp_lns()
const;
966 bool _internal_use_lp_lns()
const;
967 void _internal_set_use_lp_lns(
bool value);
973 bool _internal_has_use_sat_to_choose_lns_neighbourhood()
const;
979 bool _internal_use_sat_to_choose_lns_neighbourhood()
const;
980 void _internal_set_use_sat_to_choose_lns_neighbourhood(
bool value);
986 bool _internal_has_num_random_lns_tries()
const;
999 bool _internal_has_max_number_of_backtracks_in_ls()
const;
1012 bool _internal_has_max_number_of_conflicts_for_quick_check()
const;
1025 bool _internal_has_max_number_of_conflicts_in_random_solution_generation()
const;
1038 bool _internal_has_max_number_of_explored_assignments_per_try_in_ls()
const;
1051 bool _internal_has_use_transposition_table_in_ls()
const;
1057 bool _internal_use_transposition_table_in_ls()
const;
1058 void _internal_set_use_transposition_table_in_ls(
bool value);
1064 bool _internal_has_use_learned_binary_clauses_in_lp()
const;
1070 bool _internal_use_learned_binary_clauses_in_lp()
const;
1071 void _internal_set_use_learned_binary_clauses_in_lp(
bool value);
1077 bool _internal_has_number_of_solvers()
const;
1090 bool _internal_has_max_deterministic_time()
const;
1096 double _internal_max_deterministic_time()
const;
1097 void _internal_set_max_deterministic_time(
double value);
1103 bool _internal_has_relative_gap_limit()
const;
1109 double _internal_relative_gap_limit()
const;
1110 void _internal_set_relative_gap_limit(
double value);
1116 bool _internal_has_decomposer_num_variables_threshold()
const;
1129 bool _internal_has_num_bop_solvers_used_by_decomposition()
const;
1142 bool _internal_has_guided_sat_conflicts_chunk()
const;
1155 bool _internal_has_max_num_broken_constraints_in_ls()
const;
1168 bool _internal_has_lp_max_deterministic_time()
const;
1174 double _internal_lp_max_deterministic_time()
const;
1175 void _internal_set_lp_max_deterministic_time(
double value);
1182 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1183 typedef void InternalArenaConstructable_;
1184 typedef void DestructorSkippable_;
1185 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1186 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1187 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1188 static const ::PROTOBUF_NAMESPACE_ID::internal::LazyString _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_;
1189 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_solver_optimizer_sets_;
1190 bool log_search_progress_;
1191 bool prune_search_tree_;
1192 bool sort_constraints_by_num_terms_;
1194 int synchronization_type_;
1196 bool exploit_symmetry_in_sat_first_solution_;
1197 bool use_potential_one_flip_repairs_in_ls_;
1198 bool use_lp_strong_branching_;
1199 double decomposed_problem_min_time_in_seconds_;
1201 double max_time_in_seconds_;
1206 bool compute_estimated_impact_;
1207 bool use_random_lns_;
1209 bool use_sat_to_choose_lns_neighbourhood_;
1215 bool use_transposition_table_in_ls_;
1216 bool use_learned_binary_clauses_in_lp_;
1218 double max_deterministic_time_;
1219 double relative_gap_limit_;
1224 double lp_max_deterministic_time_;
1225 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1233 #pragma GCC diagnostic push
1234 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1239 inline bool BopOptimizerMethod::_internal_has_type()
const {
1240 bool value = (_has_bits_[0] & 0x00000001u) != 0;
1243 inline bool BopOptimizerMethod::has_type()
const {
1244 return _internal_has_type();
1246 inline void BopOptimizerMethod::clear_type() {
1248 _has_bits_[0] &= ~0x00000001u;
1255 return _internal_type();
1259 _has_bits_[0] |= 0x00000001u;
1263 _internal_set_type(
value);
1272 inline int BopSolverOptimizerSet::_internal_methods_size()
const {
1273 return methods_.size();
1275 inline int BopSolverOptimizerSet::methods_size()
const {
1276 return _internal_methods_size();
1278 inline void BopSolverOptimizerSet::clear_methods() {
1281 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::mutable_methods(
int index) {
1283 return methods_.Mutable(
index);
1285 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
1286 BopSolverOptimizerSet::mutable_methods() {
1290 inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::_internal_methods(
int index)
const {
1291 return methods_.Get(
index);
1293 inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::methods(
int index)
const {
1295 return _internal_methods(
index);
1297 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::_internal_add_methods() {
1298 return methods_.Add();
1300 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::add_methods() {
1302 return _internal_add_methods();
1304 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
1305 BopSolverOptimizerSet::methods()
const {
1315 inline bool BopParameters::_internal_has_max_time_in_seconds()
const {
1316 bool value = (_has_bits_[0] & 0x00001000u) != 0;
1319 inline bool BopParameters::has_max_time_in_seconds()
const {
1320 return _internal_has_max_time_in_seconds();
1322 inline void BopParameters::clear_max_time_in_seconds() {
1323 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1324 _has_bits_[0] &= ~0x00001000u;
1326 inline double BopParameters::_internal_max_time_in_seconds()
const {
1327 return max_time_in_seconds_;
1329 inline double BopParameters::max_time_in_seconds()
const {
1331 return _internal_max_time_in_seconds();
1333 inline void BopParameters::_internal_set_max_time_in_seconds(
double value) {
1334 _has_bits_[0] |= 0x00001000u;
1335 max_time_in_seconds_ =
value;
1337 inline void BopParameters::set_max_time_in_seconds(
double value) {
1338 _internal_set_max_time_in_seconds(
value);
1343 inline bool BopParameters::_internal_has_max_deterministic_time()
const {
1344 bool value = (_has_bits_[0] & 0x20000000u) != 0;
1347 inline bool BopParameters::has_max_deterministic_time()
const {
1348 return _internal_has_max_deterministic_time();
1350 inline void BopParameters::clear_max_deterministic_time() {
1351 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1352 _has_bits_[0] &= ~0x20000000u;
1354 inline double BopParameters::_internal_max_deterministic_time()
const {
1355 return max_deterministic_time_;
1357 inline double BopParameters::max_deterministic_time()
const {
1359 return _internal_max_deterministic_time();
1361 inline void BopParameters::_internal_set_max_deterministic_time(
double value) {
1362 _has_bits_[0] |= 0x20000000u;
1363 max_deterministic_time_ =
value;
1365 inline void BopParameters::set_max_deterministic_time(
double value) {
1366 _internal_set_max_deterministic_time(
value);
1371 inline bool BopParameters::_internal_has_lp_max_deterministic_time()
const {
1372 bool value = (_has_bits_[1] & 0x00000008u) != 0;
1375 inline bool BopParameters::has_lp_max_deterministic_time()
const {
1376 return _internal_has_lp_max_deterministic_time();
1378 inline void BopParameters::clear_lp_max_deterministic_time() {
1379 lp_max_deterministic_time_ = 1;
1380 _has_bits_[1] &= ~0x00000008u;
1382 inline double BopParameters::_internal_lp_max_deterministic_time()
const {
1383 return lp_max_deterministic_time_;
1385 inline double BopParameters::lp_max_deterministic_time()
const {
1387 return _internal_lp_max_deterministic_time();
1389 inline void BopParameters::_internal_set_lp_max_deterministic_time(
double value) {
1390 _has_bits_[1] |= 0x00000008u;
1391 lp_max_deterministic_time_ =
value;
1393 inline void BopParameters::set_lp_max_deterministic_time(
double value) {
1394 _internal_set_lp_max_deterministic_time(
value);
1399 inline bool BopParameters::_internal_has_max_number_of_consecutive_failing_optimizer_calls()
const {
1400 bool value = (_has_bits_[0] & 0x00000040u) != 0;
1403 inline bool BopParameters::has_max_number_of_consecutive_failing_optimizer_calls()
const {
1404 return _internal_has_max_number_of_consecutive_failing_optimizer_calls();
1406 inline void BopParameters::clear_max_number_of_consecutive_failing_optimizer_calls() {
1407 max_number_of_consecutive_failing_optimizer_calls_ = 0;
1408 _has_bits_[0] &= ~0x00000040u;
1411 return max_number_of_consecutive_failing_optimizer_calls_;
1415 return _internal_max_number_of_consecutive_failing_optimizer_calls();
1418 _has_bits_[0] |= 0x00000040u;
1419 max_number_of_consecutive_failing_optimizer_calls_ =
value;
1422 _internal_set_max_number_of_consecutive_failing_optimizer_calls(
value);
1427 inline bool BopParameters::_internal_has_relative_gap_limit()
const {
1428 bool value = (_has_bits_[0] & 0x40000000u) != 0;
1431 inline bool BopParameters::has_relative_gap_limit()
const {
1432 return _internal_has_relative_gap_limit();
1434 inline void BopParameters::clear_relative_gap_limit() {
1435 relative_gap_limit_ = 0.0001;
1436 _has_bits_[0] &= ~0x40000000u;
1438 inline double BopParameters::_internal_relative_gap_limit()
const {
1439 return relative_gap_limit_;
1441 inline double BopParameters::relative_gap_limit()
const {
1443 return _internal_relative_gap_limit();
1445 inline void BopParameters::_internal_set_relative_gap_limit(
double value) {
1446 _has_bits_[0] |= 0x40000000u;
1447 relative_gap_limit_ =
value;
1449 inline void BopParameters::set_relative_gap_limit(
double value) {
1450 _internal_set_relative_gap_limit(
value);
1455 inline bool BopParameters::_internal_has_max_num_decisions_in_ls()
const {
1456 bool value = (_has_bits_[0] & 0x00002000u) != 0;
1459 inline bool BopParameters::has_max_num_decisions_in_ls()
const {
1460 return _internal_has_max_num_decisions_in_ls();
1462 inline void BopParameters::clear_max_num_decisions_in_ls() {
1463 max_num_decisions_in_ls_ = 4;
1464 _has_bits_[0] &= ~0x00002000u;
1467 return max_num_decisions_in_ls_;
1471 return _internal_max_num_decisions_in_ls();
1474 _has_bits_[0] |= 0x00002000u;
1475 max_num_decisions_in_ls_ =
value;
1478 _internal_set_max_num_decisions_in_ls(
value);
1483 inline bool BopParameters::_internal_has_max_num_broken_constraints_in_ls()
const {
1484 bool value = (_has_bits_[1] & 0x00000004u) != 0;
1487 inline bool BopParameters::has_max_num_broken_constraints_in_ls()
const {
1488 return _internal_has_max_num_broken_constraints_in_ls();
1490 inline void BopParameters::clear_max_num_broken_constraints_in_ls() {
1491 max_num_broken_constraints_in_ls_ = 2147483647;
1492 _has_bits_[1] &= ~0x00000004u;
1495 return max_num_broken_constraints_in_ls_;
1499 return _internal_max_num_broken_constraints_in_ls();
1502 _has_bits_[1] |= 0x00000004u;
1503 max_num_broken_constraints_in_ls_ =
value;
1506 _internal_set_max_num_broken_constraints_in_ls(
value);
1511 inline bool BopParameters::_internal_has_log_search_progress()
const {
1512 bool value = (_has_bits_[0] & 0x00000002u) != 0;
1515 inline bool BopParameters::has_log_search_progress()
const {
1516 return _internal_has_log_search_progress();
1518 inline void BopParameters::clear_log_search_progress() {
1519 log_search_progress_ =
false;
1520 _has_bits_[0] &= ~0x00000002u;
1522 inline bool BopParameters::_internal_log_search_progress()
const {
1523 return log_search_progress_;
1525 inline bool BopParameters::log_search_progress()
const {
1527 return _internal_log_search_progress();
1529 inline void BopParameters::_internal_set_log_search_progress(
bool value) {
1530 _has_bits_[0] |= 0x00000002u;
1531 log_search_progress_ =
value;
1533 inline void BopParameters::set_log_search_progress(
bool value) {
1534 _internal_set_log_search_progress(
value);
1539 inline bool BopParameters::_internal_has_compute_estimated_impact()
const {
1540 bool value = (_has_bits_[0] & 0x00020000u) != 0;
1543 inline bool BopParameters::has_compute_estimated_impact()
const {
1544 return _internal_has_compute_estimated_impact();
1546 inline void BopParameters::clear_compute_estimated_impact() {
1547 compute_estimated_impact_ =
true;
1548 _has_bits_[0] &= ~0x00020000u;
1550 inline bool BopParameters::_internal_compute_estimated_impact()
const {
1551 return compute_estimated_impact_;
1553 inline bool BopParameters::compute_estimated_impact()
const {
1555 return _internal_compute_estimated_impact();
1557 inline void BopParameters::_internal_set_compute_estimated_impact(
bool value) {
1558 _has_bits_[0] |= 0x00020000u;
1559 compute_estimated_impact_ =
value;
1561 inline void BopParameters::set_compute_estimated_impact(
bool value) {
1562 _internal_set_compute_estimated_impact(
value);
1567 inline bool BopParameters::_internal_has_prune_search_tree()
const {
1568 bool value = (_has_bits_[0] & 0x00000004u) != 0;
1571 inline bool BopParameters::has_prune_search_tree()
const {
1572 return _internal_has_prune_search_tree();
1574 inline void BopParameters::clear_prune_search_tree() {
1575 prune_search_tree_ =
false;
1576 _has_bits_[0] &= ~0x00000004u;
1578 inline bool BopParameters::_internal_prune_search_tree()
const {
1579 return prune_search_tree_;
1581 inline bool BopParameters::prune_search_tree()
const {
1583 return _internal_prune_search_tree();
1585 inline void BopParameters::_internal_set_prune_search_tree(
bool value) {
1586 _has_bits_[0] |= 0x00000004u;
1587 prune_search_tree_ =
value;
1589 inline void BopParameters::set_prune_search_tree(
bool value) {
1590 _internal_set_prune_search_tree(
value);
1595 inline bool BopParameters::_internal_has_sort_constraints_by_num_terms()
const {
1596 bool value = (_has_bits_[0] & 0x00000008u) != 0;
1599 inline bool BopParameters::has_sort_constraints_by_num_terms()
const {
1600 return _internal_has_sort_constraints_by_num_terms();
1602 inline void BopParameters::clear_sort_constraints_by_num_terms() {
1603 sort_constraints_by_num_terms_ =
false;
1604 _has_bits_[0] &= ~0x00000008u;
1606 inline bool BopParameters::_internal_sort_constraints_by_num_terms()
const {
1607 return sort_constraints_by_num_terms_;
1609 inline bool BopParameters::sort_constraints_by_num_terms()
const {
1611 return _internal_sort_constraints_by_num_terms();
1613 inline void BopParameters::_internal_set_sort_constraints_by_num_terms(
bool value) {
1614 _has_bits_[0] |= 0x00000008u;
1615 sort_constraints_by_num_terms_ =
value;
1617 inline void BopParameters::set_sort_constraints_by_num_terms(
bool value) {
1618 _internal_set_sort_constraints_by_num_terms(
value);
1623 inline bool BopParameters::_internal_has_use_random_lns()
const {
1624 bool value = (_has_bits_[0] & 0x00040000u) != 0;
1627 inline bool BopParameters::has_use_random_lns()
const {
1628 return _internal_has_use_random_lns();
1630 inline void BopParameters::clear_use_random_lns() {
1631 use_random_lns_ =
true;
1632 _has_bits_[0] &= ~0x00040000u;
1634 inline bool BopParameters::_internal_use_random_lns()
const {
1635 return use_random_lns_;
1637 inline bool BopParameters::use_random_lns()
const {
1639 return _internal_use_random_lns();
1641 inline void BopParameters::_internal_set_use_random_lns(
bool value) {
1642 _has_bits_[0] |= 0x00040000u;
1643 use_random_lns_ =
value;
1645 inline void BopParameters::set_use_random_lns(
bool value) {
1646 _internal_set_use_random_lns(
value);
1651 inline bool BopParameters::_internal_has_random_seed()
const {
1652 bool value = (_has_bits_[0] & 0x00004000u) != 0;
1655 inline bool BopParameters::has_random_seed()
const {
1656 return _internal_has_random_seed();
1658 inline void BopParameters::clear_random_seed() {
1660 _has_bits_[0] &= ~0x00004000u;
1663 return random_seed_;
1667 return _internal_random_seed();
1670 _has_bits_[0] |= 0x00004000u;
1671 random_seed_ =
value;
1674 _internal_set_random_seed(
value);
1679 inline bool BopParameters::_internal_has_num_relaxed_vars()
const {
1680 bool value = (_has_bits_[0] & 0x00008000u) != 0;
1683 inline bool BopParameters::has_num_relaxed_vars()
const {
1684 return _internal_has_num_relaxed_vars();
1686 inline void BopParameters::clear_num_relaxed_vars() {
1687 num_relaxed_vars_ = 10;
1688 _has_bits_[0] &= ~0x00008000u;
1691 return num_relaxed_vars_;
1695 return _internal_num_relaxed_vars();
1698 _has_bits_[0] |= 0x00008000u;
1699 num_relaxed_vars_ =
value;
1702 _internal_set_num_relaxed_vars(
value);
1707 inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_lns()
const {
1708 bool value = (_has_bits_[0] & 0x00010000u) != 0;
1711 inline bool BopParameters::has_max_number_of_conflicts_in_random_lns()
const {
1712 return _internal_has_max_number_of_conflicts_in_random_lns();
1714 inline void BopParameters::clear_max_number_of_conflicts_in_random_lns() {
1715 max_number_of_conflicts_in_random_lns_ = 2500;
1716 _has_bits_[0] &= ~0x00010000u;
1719 return max_number_of_conflicts_in_random_lns_;
1723 return _internal_max_number_of_conflicts_in_random_lns();
1726 _has_bits_[0] |= 0x00010000u;
1727 max_number_of_conflicts_in_random_lns_ =
value;
1730 _internal_set_max_number_of_conflicts_in_random_lns(
value);
1735 inline bool BopParameters::_internal_has_num_random_lns_tries()
const {
1736 bool value = (_has_bits_[0] & 0x00200000u) != 0;
1739 inline bool BopParameters::has_num_random_lns_tries()
const {
1740 return _internal_has_num_random_lns_tries();
1742 inline void BopParameters::clear_num_random_lns_tries() {
1743 num_random_lns_tries_ = 1;
1744 _has_bits_[0] &= ~0x00200000u;
1747 return num_random_lns_tries_;
1751 return _internal_num_random_lns_tries();
1754 _has_bits_[0] |= 0x00200000u;
1755 num_random_lns_tries_ =
value;
1758 _internal_set_num_random_lns_tries(
value);
1763 inline bool BopParameters::_internal_has_max_number_of_backtracks_in_ls()
const {
1764 bool value = (_has_bits_[0] & 0x00400000u) != 0;
1767 inline bool BopParameters::has_max_number_of_backtracks_in_ls()
const {
1768 return _internal_has_max_number_of_backtracks_in_ls();
1770 inline void BopParameters::clear_max_number_of_backtracks_in_ls() {
1771 max_number_of_backtracks_in_ls_ = PROTOBUF_LONGLONG(100000000);
1772 _has_bits_[0] &= ~0x00400000u;
1775 return max_number_of_backtracks_in_ls_;
1779 return _internal_max_number_of_backtracks_in_ls();
1782 _has_bits_[0] |= 0x00400000u;
1783 max_number_of_backtracks_in_ls_ =
value;
1786 _internal_set_max_number_of_backtracks_in_ls(
value);
1791 inline bool BopParameters::_internal_has_use_lp_lns()
const {
1792 bool value = (_has_bits_[0] & 0x00080000u) != 0;
1795 inline bool BopParameters::has_use_lp_lns()
const {
1796 return _internal_has_use_lp_lns();
1798 inline void BopParameters::clear_use_lp_lns() {
1800 _has_bits_[0] &= ~0x00080000u;
1802 inline bool BopParameters::_internal_use_lp_lns()
const {
1805 inline bool BopParameters::use_lp_lns()
const {
1807 return _internal_use_lp_lns();
1809 inline void BopParameters::_internal_set_use_lp_lns(
bool value) {
1810 _has_bits_[0] |= 0x00080000u;
1811 use_lp_lns_ =
value;
1813 inline void BopParameters::set_use_lp_lns(
bool value) {
1814 _internal_set_use_lp_lns(
value);
1819 inline bool BopParameters::_internal_has_use_sat_to_choose_lns_neighbourhood()
const {
1820 bool value = (_has_bits_[0] & 0x00100000u) != 0;
1823 inline bool BopParameters::has_use_sat_to_choose_lns_neighbourhood()
const {
1824 return _internal_has_use_sat_to_choose_lns_neighbourhood();
1826 inline void BopParameters::clear_use_sat_to_choose_lns_neighbourhood() {
1827 use_sat_to_choose_lns_neighbourhood_ =
true;
1828 _has_bits_[0] &= ~0x00100000u;
1830 inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood()
const {
1831 return use_sat_to_choose_lns_neighbourhood_;
1833 inline bool BopParameters::use_sat_to_choose_lns_neighbourhood()
const {
1835 return _internal_use_sat_to_choose_lns_neighbourhood();
1837 inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(
bool value) {
1838 _has_bits_[0] |= 0x00100000u;
1839 use_sat_to_choose_lns_neighbourhood_ =
value;
1841 inline void BopParameters::set_use_sat_to_choose_lns_neighbourhood(
bool value) {
1842 _internal_set_use_sat_to_choose_lns_neighbourhood(
value);
1847 inline bool BopParameters::_internal_has_max_number_of_conflicts_for_quick_check()
const {
1848 bool value = (_has_bits_[0] & 0x00800000u) != 0;
1851 inline bool BopParameters::has_max_number_of_conflicts_for_quick_check()
const {
1852 return _internal_has_max_number_of_conflicts_for_quick_check();
1854 inline void BopParameters::clear_max_number_of_conflicts_for_quick_check() {
1855 max_number_of_conflicts_for_quick_check_ = 10;
1856 _has_bits_[0] &= ~0x00800000u;
1859 return max_number_of_conflicts_for_quick_check_;
1863 return _internal_max_number_of_conflicts_for_quick_check();
1866 _has_bits_[0] |= 0x00800000u;
1867 max_number_of_conflicts_for_quick_check_ =
value;
1870 _internal_set_max_number_of_conflicts_for_quick_check(
value);
1875 inline bool BopParameters::_internal_has_use_symmetry()
const {
1876 bool value = (_has_bits_[0] & 0x00000010u) != 0;
1879 inline bool BopParameters::has_use_symmetry()
const {
1880 return _internal_has_use_symmetry();
1882 inline void BopParameters::clear_use_symmetry() {
1883 use_symmetry_ =
false;
1884 _has_bits_[0] &= ~0x00000010u;
1886 inline bool BopParameters::_internal_use_symmetry()
const {
1887 return use_symmetry_;
1889 inline bool BopParameters::use_symmetry()
const {
1891 return _internal_use_symmetry();
1893 inline void BopParameters::_internal_set_use_symmetry(
bool value) {
1894 _has_bits_[0] |= 0x00000010u;
1895 use_symmetry_ =
value;
1897 inline void BopParameters::set_use_symmetry(
bool value) {
1898 _internal_set_use_symmetry(
value);
1903 inline bool BopParameters::_internal_has_exploit_symmetry_in_sat_first_solution()
const {
1904 bool value = (_has_bits_[0] & 0x00000080u) != 0;
1907 inline bool BopParameters::has_exploit_symmetry_in_sat_first_solution()
const {
1908 return _internal_has_exploit_symmetry_in_sat_first_solution();
1910 inline void BopParameters::clear_exploit_symmetry_in_sat_first_solution() {
1911 exploit_symmetry_in_sat_first_solution_ =
false;
1912 _has_bits_[0] &= ~0x00000080u;
1914 inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution()
const {
1915 return exploit_symmetry_in_sat_first_solution_;
1917 inline bool BopParameters::exploit_symmetry_in_sat_first_solution()
const {
1919 return _internal_exploit_symmetry_in_sat_first_solution();
1921 inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(
bool value) {
1922 _has_bits_[0] |= 0x00000080u;
1923 exploit_symmetry_in_sat_first_solution_ =
value;
1925 inline void BopParameters::set_exploit_symmetry_in_sat_first_solution(
bool value) {
1926 _internal_set_exploit_symmetry_in_sat_first_solution(
value);
1931 inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_solution_generation()
const {
1932 bool value = (_has_bits_[0] & 0x01000000u) != 0;
1935 inline bool BopParameters::has_max_number_of_conflicts_in_random_solution_generation()
const {
1936 return _internal_has_max_number_of_conflicts_in_random_solution_generation();
1938 inline void BopParameters::clear_max_number_of_conflicts_in_random_solution_generation() {
1939 max_number_of_conflicts_in_random_solution_generation_ = 500;
1940 _has_bits_[0] &= ~0x01000000u;
1943 return max_number_of_conflicts_in_random_solution_generation_;
1947 return _internal_max_number_of_conflicts_in_random_solution_generation();
1950 _has_bits_[0] |= 0x01000000u;
1951 max_number_of_conflicts_in_random_solution_generation_ =
value;
1954 _internal_set_max_number_of_conflicts_in_random_solution_generation(
value);
1959 inline bool BopParameters::_internal_has_max_number_of_explored_assignments_per_try_in_ls()
const {
1960 bool value = (_has_bits_[0] & 0x02000000u) != 0;
1963 inline bool BopParameters::has_max_number_of_explored_assignments_per_try_in_ls()
const {
1964 return _internal_has_max_number_of_explored_assignments_per_try_in_ls();
1966 inline void BopParameters::clear_max_number_of_explored_assignments_per_try_in_ls() {
1967 max_number_of_explored_assignments_per_try_in_ls_ = PROTOBUF_LONGLONG(10000);
1968 _has_bits_[0] &= ~0x02000000u;
1971 return max_number_of_explored_assignments_per_try_in_ls_;
1975 return _internal_max_number_of_explored_assignments_per_try_in_ls();
1978 _has_bits_[0] |= 0x02000000u;
1979 max_number_of_explored_assignments_per_try_in_ls_ =
value;
1982 _internal_set_max_number_of_explored_assignments_per_try_in_ls(
value);
1987 inline bool BopParameters::_internal_has_use_transposition_table_in_ls()
const {
1988 bool value = (_has_bits_[0] & 0x04000000u) != 0;
1991 inline bool BopParameters::has_use_transposition_table_in_ls()
const {
1992 return _internal_has_use_transposition_table_in_ls();
1994 inline void BopParameters::clear_use_transposition_table_in_ls() {
1995 use_transposition_table_in_ls_ =
true;
1996 _has_bits_[0] &= ~0x04000000u;
1998 inline bool BopParameters::_internal_use_transposition_table_in_ls()
const {
1999 return use_transposition_table_in_ls_;
2001 inline bool BopParameters::use_transposition_table_in_ls()
const {
2003 return _internal_use_transposition_table_in_ls();
2005 inline void BopParameters::_internal_set_use_transposition_table_in_ls(
bool value) {
2006 _has_bits_[0] |= 0x04000000u;
2007 use_transposition_table_in_ls_ =
value;
2009 inline void BopParameters::set_use_transposition_table_in_ls(
bool value) {
2010 _internal_set_use_transposition_table_in_ls(
value);
2015 inline bool BopParameters::_internal_has_use_potential_one_flip_repairs_in_ls()
const {
2016 bool value = (_has_bits_[0] & 0x00000100u) != 0;
2019 inline bool BopParameters::has_use_potential_one_flip_repairs_in_ls()
const {
2020 return _internal_has_use_potential_one_flip_repairs_in_ls();
2022 inline void BopParameters::clear_use_potential_one_flip_repairs_in_ls() {
2023 use_potential_one_flip_repairs_in_ls_ =
false;
2024 _has_bits_[0] &= ~0x00000100u;
2026 inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls()
const {
2027 return use_potential_one_flip_repairs_in_ls_;
2029 inline bool BopParameters::use_potential_one_flip_repairs_in_ls()
const {
2031 return _internal_use_potential_one_flip_repairs_in_ls();
2033 inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(
bool value) {
2034 _has_bits_[0] |= 0x00000100u;
2035 use_potential_one_flip_repairs_in_ls_ =
value;
2037 inline void BopParameters::set_use_potential_one_flip_repairs_in_ls(
bool value) {
2038 _internal_set_use_potential_one_flip_repairs_in_ls(
value);
2043 inline bool BopParameters::_internal_has_use_learned_binary_clauses_in_lp()
const {
2044 bool value = (_has_bits_[0] & 0x08000000u) != 0;
2047 inline bool BopParameters::has_use_learned_binary_clauses_in_lp()
const {
2048 return _internal_has_use_learned_binary_clauses_in_lp();
2050 inline void BopParameters::clear_use_learned_binary_clauses_in_lp() {
2051 use_learned_binary_clauses_in_lp_ =
true;
2052 _has_bits_[0] &= ~0x08000000u;
2054 inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp()
const {
2055 return use_learned_binary_clauses_in_lp_;
2057 inline bool BopParameters::use_learned_binary_clauses_in_lp()
const {
2059 return _internal_use_learned_binary_clauses_in_lp();
2061 inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(
bool value) {
2062 _has_bits_[0] |= 0x08000000u;
2063 use_learned_binary_clauses_in_lp_ =
value;
2065 inline void BopParameters::set_use_learned_binary_clauses_in_lp(
bool value) {
2066 _internal_set_use_learned_binary_clauses_in_lp(
value);
2071 inline bool BopParameters::_internal_has_number_of_solvers()
const {
2072 bool value = (_has_bits_[0] & 0x10000000u) != 0;
2075 inline bool BopParameters::has_number_of_solvers()
const {
2076 return _internal_has_number_of_solvers();
2078 inline void BopParameters::clear_number_of_solvers() {
2079 number_of_solvers_ = 1;
2080 _has_bits_[0] &= ~0x10000000u;
2083 return number_of_solvers_;
2087 return _internal_number_of_solvers();
2090 _has_bits_[0] |= 0x10000000u;
2091 number_of_solvers_ =
value;
2094 _internal_set_number_of_solvers(
value);
2099 inline bool BopParameters::_internal_has_synchronization_type()
const {
2100 bool value = (_has_bits_[0] & 0x00000020u) != 0;
2103 inline bool BopParameters::has_synchronization_type()
const {
2104 return _internal_has_synchronization_type();
2106 inline void BopParameters::clear_synchronization_type() {
2107 synchronization_type_ = 0;
2108 _has_bits_[0] &= ~0x00000020u;
2115 return _internal_synchronization_type();
2119 _has_bits_[0] |= 0x00000020u;
2120 synchronization_type_ =
value;
2123 _internal_set_synchronization_type(
value);
2128 inline int BopParameters::_internal_solver_optimizer_sets_size()
const {
2129 return solver_optimizer_sets_.size();
2131 inline int BopParameters::solver_optimizer_sets_size()
const {
2132 return _internal_solver_optimizer_sets_size();
2134 inline void BopParameters::clear_solver_optimizer_sets() {
2135 solver_optimizer_sets_.Clear();
2137 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::mutable_solver_optimizer_sets(
int index) {
2139 return solver_optimizer_sets_.Mutable(
index);
2141 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
2142 BopParameters::mutable_solver_optimizer_sets() {
2144 return &solver_optimizer_sets_;
2146 inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::_internal_solver_optimizer_sets(
int index)
const {
2147 return solver_optimizer_sets_.Get(
index);
2149 inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::solver_optimizer_sets(
int index)
const {
2151 return _internal_solver_optimizer_sets(
index);
2153 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::_internal_add_solver_optimizer_sets() {
2154 return solver_optimizer_sets_.Add();
2156 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::add_solver_optimizer_sets() {
2158 return _internal_add_solver_optimizer_sets();
2160 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
2161 BopParameters::solver_optimizer_sets()
const {
2163 return solver_optimizer_sets_;
2167 inline bool BopParameters::_internal_has_default_solver_optimizer_sets()
const {
2168 bool value = (_has_bits_[0] & 0x00000001u) != 0;
2171 inline bool BopParameters::has_default_solver_optimizer_sets()
const {
2172 return _internal_has_default_solver_optimizer_sets();
2174 inline void BopParameters::clear_default_solver_optimizer_sets() {
2175 default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2176 _has_bits_[0] &= ~0x00000001u;
2178 inline const std::string& BopParameters::default_solver_optimizer_sets()
const {
2180 if (default_solver_optimizer_sets_.IsDefault(
nullptr))
return _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get();
2181 return _internal_default_solver_optimizer_sets();
2183 inline void BopParameters::set_default_solver_optimizer_sets(
const std::string&
value) {
2184 _internal_set_default_solver_optimizer_sets(
value);
2187 inline std::string* BopParameters::mutable_default_solver_optimizer_sets() {
2189 return _internal_mutable_default_solver_optimizer_sets();
2191 inline const std::string& BopParameters::_internal_default_solver_optimizer_sets()
const {
2192 return default_solver_optimizer_sets_.Get();
2194 inline void BopParameters::_internal_set_default_solver_optimizer_sets(
const std::string&
value) {
2195 _has_bits_[0] |= 0x00000001u;
2196 default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{},
value, GetArena());
2198 inline void BopParameters::set_default_solver_optimizer_sets(std::string&&
value) {
2199 _has_bits_[0] |= 0x00000001u;
2200 default_solver_optimizer_sets_.Set(
2201 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, ::std::move(
value), GetArena());
2204 inline void BopParameters::set_default_solver_optimizer_sets(
const char*
value) {
2205 GOOGLE_DCHECK(
value !=
nullptr);
2206 _has_bits_[0] |= 0x00000001u;
2207 default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, ::std::string(
value), GetArena());
2210 inline void BopParameters::set_default_solver_optimizer_sets(
const char*
value,
2212 _has_bits_[0] |= 0x00000001u;
2213 default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, ::std::string(
2214 reinterpret_cast<const char*
>(
value), size), GetArena());
2217 inline std::string* BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2218 _has_bits_[0] |= 0x00000001u;
2219 return default_solver_optimizer_sets_.Mutable(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2221 inline std::string* BopParameters::release_default_solver_optimizer_sets() {
2223 if (!_internal_has_default_solver_optimizer_sets()) {
2226 _has_bits_[0] &= ~0x00000001u;
2227 return default_solver_optimizer_sets_.ReleaseNonDefault(
nullptr, GetArena());
2229 inline void BopParameters::set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets) {
2230 if (default_solver_optimizer_sets !=
nullptr) {
2231 _has_bits_[0] |= 0x00000001u;
2233 _has_bits_[0] &= ~0x00000001u;
2235 default_solver_optimizer_sets_.SetAllocated(
nullptr, default_solver_optimizer_sets,
2241 inline bool BopParameters::_internal_has_use_lp_strong_branching()
const {
2242 bool value = (_has_bits_[0] & 0x00000200u) != 0;
2245 inline bool BopParameters::has_use_lp_strong_branching()
const {
2246 return _internal_has_use_lp_strong_branching();
2248 inline void BopParameters::clear_use_lp_strong_branching() {
2249 use_lp_strong_branching_ =
false;
2250 _has_bits_[0] &= ~0x00000200u;
2252 inline bool BopParameters::_internal_use_lp_strong_branching()
const {
2253 return use_lp_strong_branching_;
2255 inline bool BopParameters::use_lp_strong_branching()
const {
2257 return _internal_use_lp_strong_branching();
2259 inline void BopParameters::_internal_set_use_lp_strong_branching(
bool value) {
2260 _has_bits_[0] |= 0x00000200u;
2261 use_lp_strong_branching_ =
value;
2263 inline void BopParameters::set_use_lp_strong_branching(
bool value) {
2264 _internal_set_use_lp_strong_branching(
value);
2269 inline bool BopParameters::_internal_has_decomposer_num_variables_threshold()
const {
2270 bool value = (_has_bits_[0] & 0x80000000u) != 0;
2273 inline bool BopParameters::has_decomposer_num_variables_threshold()
const {
2274 return _internal_has_decomposer_num_variables_threshold();
2276 inline void BopParameters::clear_decomposer_num_variables_threshold() {
2277 decomposer_num_variables_threshold_ = 50;
2278 _has_bits_[0] &= ~0x80000000u;
2281 return decomposer_num_variables_threshold_;
2285 return _internal_decomposer_num_variables_threshold();
2288 _has_bits_[0] |= 0x80000000u;
2289 decomposer_num_variables_threshold_ =
value;
2292 _internal_set_decomposer_num_variables_threshold(
value);
2297 inline bool BopParameters::_internal_has_num_bop_solvers_used_by_decomposition()
const {
2298 bool value = (_has_bits_[1] & 0x00000001u) != 0;
2301 inline bool BopParameters::has_num_bop_solvers_used_by_decomposition()
const {
2302 return _internal_has_num_bop_solvers_used_by_decomposition();
2304 inline void BopParameters::clear_num_bop_solvers_used_by_decomposition() {
2305 num_bop_solvers_used_by_decomposition_ = 1;
2306 _has_bits_[1] &= ~0x00000001u;
2309 return num_bop_solvers_used_by_decomposition_;
2313 return _internal_num_bop_solvers_used_by_decomposition();
2316 _has_bits_[1] |= 0x00000001u;
2317 num_bop_solvers_used_by_decomposition_ =
value;
2320 _internal_set_num_bop_solvers_used_by_decomposition(
value);
2325 inline bool BopParameters::_internal_has_decomposed_problem_min_time_in_seconds()
const {
2326 bool value = (_has_bits_[0] & 0x00000400u) != 0;
2329 inline bool BopParameters::has_decomposed_problem_min_time_in_seconds()
const {
2330 return _internal_has_decomposed_problem_min_time_in_seconds();
2332 inline void BopParameters::clear_decomposed_problem_min_time_in_seconds() {
2333 decomposed_problem_min_time_in_seconds_ = 0;
2334 _has_bits_[0] &= ~0x00000400u;
2336 inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds()
const {
2337 return decomposed_problem_min_time_in_seconds_;
2339 inline double BopParameters::decomposed_problem_min_time_in_seconds()
const {
2341 return _internal_decomposed_problem_min_time_in_seconds();
2343 inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(
double value) {
2344 _has_bits_[0] |= 0x00000400u;
2345 decomposed_problem_min_time_in_seconds_ =
value;
2347 inline void BopParameters::set_decomposed_problem_min_time_in_seconds(
double value) {
2348 _internal_set_decomposed_problem_min_time_in_seconds(
value);
2353 inline bool BopParameters::_internal_has_guided_sat_conflicts_chunk()
const {
2354 bool value = (_has_bits_[1] & 0x00000002u) != 0;
2357 inline bool BopParameters::has_guided_sat_conflicts_chunk()
const {
2358 return _internal_has_guided_sat_conflicts_chunk();
2360 inline void BopParameters::clear_guided_sat_conflicts_chunk() {
2361 guided_sat_conflicts_chunk_ = 1000;
2362 _has_bits_[1] &= ~0x00000002u;
2365 return guided_sat_conflicts_chunk_;
2369 return _internal_guided_sat_conflicts_chunk();
2372 _has_bits_[1] |= 0x00000002u;
2373 guided_sat_conflicts_chunk_ =
value;
2376 _internal_set_guided_sat_conflicts_chunk(
value);
2381 inline bool BopParameters::_internal_has_max_lp_solve_for_feasibility_problems()
const {
2382 bool value = (_has_bits_[0] & 0x00000800u) != 0;
2385 inline bool BopParameters::has_max_lp_solve_for_feasibility_problems()
const {
2386 return _internal_has_max_lp_solve_for_feasibility_problems();
2388 inline void BopParameters::clear_max_lp_solve_for_feasibility_problems() {
2389 max_lp_solve_for_feasibility_problems_ = 0;
2390 _has_bits_[0] &= ~0x00000800u;
2393 return max_lp_solve_for_feasibility_problems_;
2397 return _internal_max_lp_solve_for_feasibility_problems();
2400 _has_bits_[0] |= 0x00000800u;
2401 max_lp_solve_for_feasibility_problems_ =
value;
2404 _internal_set_max_lp_solve_for_feasibility_problems(
value);
2409 #pragma GCC diagnostic pop
2421 PROTOBUF_NAMESPACE_OPEN
2425 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopOptimizerMethod_OptimizerType>() {
2430 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopParameters_ThreadSynchronizationType>() {
2434 PROTOBUF_NAMESPACE_CLOSE
2438 #include <google/protobuf/port_undef.inc>
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto
bool has_lp_max_deterministic_time() const
void set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value)
BopParameters(BopParameters &&from) noexcept
double max_deterministic_time() const
static bool OptimizerType_IsValid(int value)
BopOptimizerMethod(const BopOptimizerMethod &from)
bool has_use_lp_lns() const
void clear_max_num_decisions_in_ls()
void clear_max_number_of_conflicts_in_random_lns()
void set_use_transposition_table_in_ls(bool value)
BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value)
double lp_max_deterministic_time() const
bool log_search_progress() const
void set_lp_max_deterministic_time(double value)
bool use_potential_one_flip_repairs_in_ls() const
void set_prune_search_tree(bool value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void clear_num_bop_solvers_used_by_decomposition()
BopSolverOptimizerSet & operator=(BopSolverOptimizerSet &&from) noexcept
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > * mutable_methods()
void clear_default_solver_optimizer_sets()
void clear_max_lp_solve_for_feasibility_problems()
void clear_max_deterministic_time()
bool compute_estimated_impact() const
void clear_sort_constraints_by_num_terms()
const ::operations_research::bop::BopSolverOptimizerSet & solver_optimizer_sets(int index) const
void clear_num_random_lns_tries()
::PROTOBUF_NAMESPACE_ID::int32 number_of_solvers() const
void clear_compute_estimated_impact()
::operations_research::bop::BopOptimizerMethod * mutable_methods(int index)
void clear_use_learned_binary_clauses_in_lp()
bool has_max_number_of_conflicts_in_random_solution_generation() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * OptimizerType_descriptor()
void clear_lp_max_deterministic_time()
bool has_use_learned_binary_clauses_in_lp() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ThreadSynchronizationType_descriptor()
static const BopSolverOptimizerSet & default_instance()
static const BopOptimizerMethod * internal_default_instance()
void MergeFrom(const BopParameters &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
bool has_decomposed_problem_min_time_in_seconds() const
bool use_sat_to_choose_lns_neighbourhood() const
bool has_default_solver_optimizer_sets() const
bool has_random_seed() const
void UnsafeArenaSwap(BopParameters *other)
void set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_default_solver_optimizer_sets(std::string &&value)
BopParameters & operator=(const BopParameters &from)
void CopyFrom(const BopParameters &from)
::PROTOBUF_NAMESPACE_ID::int32 num_random_lns_tries() const
BopOptimizerMethod_OptimizerType OptimizerType
void clear_number_of_solvers()
void clear_use_lp_strong_branching()
void set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value)
bool has_use_symmetry() const
bool has_prune_search_tree() const
bool sort_constraints_by_num_terms() const
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_compute_estimated_impact(bool value)
void set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value)
bool prune_search_tree() const
BopSolverOptimizerSet(const BopSolverOptimizerSet &from)
bool has_number_of_solvers() const
bool has_compute_estimated_impact() const
void clear_num_relaxed_vars()
BopOptimizerMethod & operator=(BopOptimizerMethod &&from) noexcept
bool has_use_random_lns() const
BopOptimizerMethod(BopOptimizerMethod &&from) noexcept
void clear_decomposed_problem_min_time_in_seconds()
void set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_relative_gap_limit(double value)
double relative_gap_limit() const
::operations_research::bop::BopSolverOptimizerSet * add_solver_optimizer_sets()
bool has_max_number_of_conflicts_in_random_lns() const
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_explored_assignments_per_try_in_ls() const
static bool ThreadSynchronizationType_IsValid(int value)
void clear_use_sat_to_choose_lns_neighbourhood()
bool has_max_num_broken_constraints_in_ls() const
void set_use_random_lns(bool value)
::PROTOBUF_NAMESPACE_ID::int32 num_relaxed_vars() const
const std::string & default_solver_optimizer_sets() const
void clear_use_random_lns()
BopParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
BopParameters * New() const final
void set_decomposed_problem_min_time_in_seconds(double value)
::PROTOBUF_NAMESPACE_ID::int32 decomposer_num_variables_threshold() const
bool has_num_random_lns_tries() const
BopOptimizerMethod & operator=(const BopOptimizerMethod &from)
BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void clear_guided_sat_conflicts_chunk()
bool has_use_transposition_table_in_ls() const
bool has_decomposer_num_variables_threshold() const
BopOptimizerMethod * New() const final
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_backtracks_in_ls() const
void clear_synchronization_type()
void clear_use_potential_one_flip_repairs_in_ls()
void Swap(BopParameters *other)
bool use_lp_strong_branching() const
bool has_num_relaxed_vars() const
bool has_guided_sat_conflicts_chunk() const
::operations_research::bop::BopOptimizerMethod * add_methods()
BopParameters & operator=(BopParameters &&from) noexcept
void set_use_lp_strong_branching(bool value)
bool has_use_potential_one_flip_repairs_in_ls() const
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_max_deterministic_time(double value)
void clear_max_number_of_explored_assignments_per_try_in_ls()
void set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value)
void clear_decomposer_num_variables_threshold()
bool has_max_number_of_backtracks_in_ls() const
void set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(BopOptimizerMethod *other)
void clear_max_number_of_backtracks_in_ls()
void MergeFrom(const BopOptimizerMethod &from)
::operations_research::bop::BopSolverOptimizerSet * mutable_solver_optimizer_sets(int index)
BopParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void clear_solver_optimizer_sets()
void Swap(BopSolverOptimizerSet *other)
bool use_symmetry() const
virtual ~BopSolverOptimizerSet()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > & solver_optimizer_sets() const
bool has_max_time_in_seconds() const
void set_sort_constraints_by_num_terms(bool value)
void set_default_solver_optimizer_sets(const std::string &value)
bool has_sort_constraints_by_num_terms() const
void set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_consecutive_failing_optimizer_calls() const
void set_use_lp_lns(bool value)
friend void swap(BopSolverOptimizerSet &a, BopSolverOptimizerSet &b)
void clear_log_search_progress()
::PROTOBUF_NAMESPACE_ID::int32 num_bop_solvers_used_by_decomposition() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
bool has_num_bop_solvers_used_by_decomposition() const
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_lns() const
void CopyFrom(const BopSolverOptimizerSet &from)
void set_log_search_progress(bool value)
bool has_relative_gap_limit() const
void set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_max_deterministic_time() const
::PROTOBUF_NAMESPACE_ID::int32 max_lp_solve_for_feasibility_problems() const
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_for_quick_check() const
bool has_max_number_of_conflicts_for_quick_check() const
BopOptimizerMethod * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::PROTOBUF_NAMESPACE_ID::int32 random_seed() const
static bool OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, OptimizerType *value)
void set_use_potential_one_flip_repairs_in_ls(bool value)
void clear_relative_gap_limit()
void clear_max_num_broken_constraints_in_ls()
void clear_max_number_of_consecutive_failing_optimizer_calls()
void clear_max_time_in_seconds()
friend void swap(BopOptimizerMethod &a, BopOptimizerMethod &b)
void clear_exploit_symmetry_in_sat_first_solution()
bool use_transposition_table_in_ls() const
BopParameters_ThreadSynchronizationType ThreadSynchronizationType
const ::operations_research::bop::BopOptimizerMethod & methods(int index) const
void set_use_learned_binary_clauses_in_lp(bool value)
bool use_random_lns() const
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_exploit_symmetry_in_sat_first_solution(bool value)
void set_allocated_default_solver_optimizer_sets(std::string *default_solver_optimizer_sets)
void set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value)
double max_time_in_seconds() const
double decomposed_problem_min_time_in_seconds() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > & methods() const
::PROTOBUF_NAMESPACE_ID::int32 max_num_decisions_in_ls() const
::operations_research::bop::BopOptimizerMethod_OptimizerType type() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void set_default_solver_optimizer_sets(const char *value)
void CopyFrom(const BopOptimizerMethod &from)
void clear_use_symmetry()
static const BopParameters & default_instance()
bool exploit_symmetry_in_sat_first_solution() const
bool has_max_lp_solve_for_feasibility_problems() const
BopSolverOptimizerSet * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void clear_max_number_of_conflicts_for_quick_check()
void clear_prune_search_tree()
BopSolverOptimizerSet * New() const final
bool has_log_search_progress() const
BopParameters(const BopParameters &from)
void set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value)
static const BopParameters * internal_default_instance()
void set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value)
bool has_exploit_symmetry_in_sat_first_solution() const
static const std::string & OptimizerType_Name(T enum_t_value)
void set_max_time_in_seconds(double value)
::PROTOBUF_NAMESPACE_ID::int32 max_num_broken_constraints_in_ls() const
friend void swap(BopParameters &a, BopParameters &b)
void set_default_solver_optimizer_sets(const char *value, size_t size)
bool use_learned_binary_clauses_in_lp() const
virtual ~BopOptimizerMethod()
void set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > * mutable_solver_optimizer_sets()
static const std::string & ThreadSynchronizationType_Name(T enum_t_value)
bool has_use_sat_to_choose_lns_neighbourhood() const
bool has_max_number_of_consecutive_failing_optimizer_calls() const
static const BopSolverOptimizerSet * internal_default_instance()
std::string * mutable_default_solver_optimizer_sets()
static bool ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ThreadSynchronizationType *value)
void MergeFrom(const BopSolverOptimizerSet &from)
BopSolverOptimizerSet(BopSolverOptimizerSet &&from) noexcept
void UnsafeArenaSwap(BopSolverOptimizerSet *other)
std::string * release_default_solver_optimizer_sets()
BopSolverOptimizerSet & operator=(const BopSolverOptimizerSet &from)
void clear_max_number_of_conflicts_in_random_solution_generation()
::PROTOBUF_NAMESPACE_ID::int32 guided_sat_conflicts_chunk() const
void set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_max_num_decisions_in_ls() const
void clear_use_transposition_table_in_ls()
static const BopOptimizerMethod & default_instance()
void set_use_symmetry(bool value)
void set_use_sat_to_choose_lns_neighbourhood(bool value)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
int solver_optimizer_sets_size() const
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_solution_generation() const
void Swap(BopOptimizerMethod *other)
bool has_use_lp_strong_branching() const
::operations_research::bop::BopParameters_ThreadSynchronizationType synchronization_type() const
bool has_synchronization_type() const
bool has_max_number_of_explored_assignments_per_try_in_ls() const
class operations_research::bop::BopParametersDefaultTypeInternal _BopParameters_default_instance_
class operations_research::bop::BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_
const std::string & BopOptimizerMethod_OptimizerType_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopParameters_ThreadSynchronizationType_descriptor()
bool BopOptimizerMethod_OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopOptimizerMethod_OptimizerType *value)
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MIN
bool BopOptimizerMethod_OptimizerType_IsValid(int value)
const std::string & BopParameters_ThreadSynchronizationType_Name(T enum_t_value)
bool BopParameters_ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopParameters_ThreadSynchronizationType *value)
constexpr int BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_ARRAYSIZE
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopOptimizerMethod_OptimizerType_descriptor()
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MAX
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MIN
constexpr int BopOptimizerMethod_OptimizerType_OptimizerType_ARRAYSIZE
class operations_research::bop::BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MAX
BopOptimizerMethod_OptimizerType
@ BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_COMPLETE_LNS
@ BopOptimizerMethod_OptimizerType_RANDOM_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS
@ BopOptimizerMethod_OptimizerType_LOCAL_SEARCH
@ BopOptimizerMethod_OptimizerType_LINEAR_RELAXATION
@ BopOptimizerMethod_OptimizerType_LP_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS
@ BopOptimizerMethod_OptimizerType_SAT_CORE_BASED
@ BopOptimizerMethod_OptimizerType_OBJECTIVE_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_USER_GUIDED_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS
@ BopOptimizerMethod_OptimizerType_SAT_LINEAR_SEARCH
@ BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS_GUIDED_BY_LP
BopParameters_ThreadSynchronizationType
@ BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT
@ BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION
@ BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ALL
bool BopParameters_ThreadSynchronizationType_IsValid(int value)
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...