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 < 3013000
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 3013000 < 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/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h>
33 #include <google/protobuf/extension_set.h>
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
37 #include <google/protobuf/port_def.inc>
38 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fbop_2fbop_5fparameters_2eproto
39 PROTOBUF_NAMESPACE_OPEN
43 PROTOBUF_NAMESPACE_CLOSE
47 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
49 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
51 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
53 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata
field_metadata[];
60 class BopOptimizerMethod;
61 class BopOptimizerMethodDefaultTypeInternal;
66 class BopSolverOptimizerSet;
71 PROTOBUF_NAMESPACE_OPEN
72 template<> ::operations_research::bop::BopOptimizerMethod* Arena::CreateMaybeMessage<::operations_research::bop::BopOptimizerMethod>(Arena*);
73 template<> ::operations_research::bop::BopParameters* Arena::CreateMaybeMessage<::operations_research::bop::BopParameters>(Arena*);
74 template<> ::operations_research::bop::BopSolverOptimizerSet* Arena::CreateMaybeMessage<::operations_research::bop::BopSolverOptimizerSet>(Arena*);
75 PROTOBUF_NAMESPACE_CLOSE
106 "Incorrect type passed to function BopOptimizerMethod_OptimizerType_Name.");
107 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
112 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopOptimizerMethod_OptimizerType>(
130 "Incorrect type passed to function BopParameters_ThreadSynchronizationType_Name.");
131 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
136 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopParameters_ThreadSynchronizationType>(
142 public ::PROTOBUF_NAMESPACE_ID::Message {
149 : BopOptimizerMethod() {
150 *
this = ::std::move(from);
153 inline BopOptimizerMethod&
operator=(
const BopOptimizerMethod& from) {
157 inline BopOptimizerMethod&
operator=(BopOptimizerMethod&& from) noexcept {
158 if (GetArena() == from.GetArena()) {
159 if (
this != &from) InternalSwap(&from);
167 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
170 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
173 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
174 return GetDescriptor();
177 return GetMetadataStatic().descriptor;
180 return GetMetadataStatic().reflection;
186 return reinterpret_cast<const BopOptimizerMethod*
>(
189 static constexpr
int kIndexInFileMessages =
192 friend void swap(BopOptimizerMethod&
a, BopOptimizerMethod&
b) {
195 inline void Swap(BopOptimizerMethod* other) {
196 if (other ==
this)
return;
197 if (GetArena() == other->GetArena()) {
200 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
204 if (other ==
this)
return;
205 GOOGLE_DCHECK(GetArena() == other->GetArena());
211 inline BopOptimizerMethod*
New() const final {
212 return CreateMaybeMessage<BopOptimizerMethod>(
nullptr);
215 BopOptimizerMethod*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
216 return CreateMaybeMessage<BopOptimizerMethod>(arena);
218 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
219 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
222 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
223 bool IsInitialized() const final;
225 size_t ByteSizeLong() const final;
226 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
227 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
228 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
229 int GetCachedSize() const final {
return _cached_size_.Get(); }
232 inline void SharedCtor();
233 inline void SharedDtor();
234 void SetCachedSize(
int size)
const final;
235 void InternalSwap(BopOptimizerMethod* other);
236 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
237 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
238 return "operations_research.bop.BopOptimizerMethod";
243 static void ArenaDtor(
void*
object);
244 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
249 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
296 static constexpr
int OptimizerType_ARRAYSIZE =
298 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
306 "Incorrect type passed to function OptimizerType_Name.");
317 kTypeFieldNumber = 1,
322 bool _internal_has_type()
const;
336 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
337 typedef void InternalArenaConstructable_;
338 typedef void DestructorSkippable_;
339 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
340 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
342 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
347 public ::PROTOBUF_NAMESPACE_ID::Message {
354 : BopSolverOptimizerSet() {
355 *
this = ::std::move(from);
358 inline BopSolverOptimizerSet&
operator=(
const BopSolverOptimizerSet& from) {
362 inline BopSolverOptimizerSet&
operator=(BopSolverOptimizerSet&& from) noexcept {
363 if (GetArena() == from.GetArena()) {
364 if (
this != &from) InternalSwap(&from);
372 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
375 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
378 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
379 return GetDescriptor();
382 return GetMetadataStatic().descriptor;
385 return GetMetadataStatic().reflection;
391 return reinterpret_cast<const BopSolverOptimizerSet*
>(
394 static constexpr
int kIndexInFileMessages =
397 friend void swap(BopSolverOptimizerSet&
a, BopSolverOptimizerSet&
b) {
400 inline void Swap(BopSolverOptimizerSet* other) {
401 if (other ==
this)
return;
402 if (GetArena() == other->GetArena()) {
405 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
409 if (other ==
this)
return;
410 GOOGLE_DCHECK(GetArena() == other->GetArena());
416 inline BopSolverOptimizerSet*
New() const final {
417 return CreateMaybeMessage<BopSolverOptimizerSet>(
nullptr);
420 BopSolverOptimizerSet*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
421 return CreateMaybeMessage<BopSolverOptimizerSet>(arena);
423 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
424 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
427 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
428 bool IsInitialized() const final;
430 size_t ByteSizeLong() const final;
431 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
432 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
433 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
434 int GetCachedSize() const final {
return _cached_size_.Get(); }
437 inline void SharedCtor();
438 inline void SharedDtor();
439 void SetCachedSize(
int size)
const final;
440 void InternalSwap(BopSolverOptimizerSet* other);
441 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
442 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
443 return "operations_research.bop.BopSolverOptimizerSet";
448 static void ArenaDtor(
void*
object);
449 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
454 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
466 kMethodsFieldNumber = 1,
471 int _internal_methods_size()
const;
475 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
478 const ::operations_research::bop::BopOptimizerMethod& _internal_methods(
int index)
const;
479 ::operations_research::bop::BopOptimizerMethod* _internal_add_methods();
481 const ::operations_research::bop::BopOptimizerMethod&
methods(
int index)
const;
483 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
490 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
491 typedef void InternalArenaConstructable_;
492 typedef void DestructorSkippable_;
493 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
494 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
495 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
500 public ::PROTOBUF_NAMESPACE_ID::Message {
508 *
this = ::std::move(from);
511 inline BopParameters&
operator=(
const BopParameters& from) {
515 inline BopParameters&
operator=(BopParameters&& from) noexcept {
516 if (GetArena() == from.GetArena()) {
517 if (
this != &from) InternalSwap(&from);
525 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
528 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
531 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
532 return GetDescriptor();
535 return GetMetadataStatic().descriptor;
538 return GetMetadataStatic().reflection;
544 return reinterpret_cast<const BopParameters*
>(
547 static constexpr
int kIndexInFileMessages =
550 friend void swap(BopParameters&
a, BopParameters&
b) {
553 inline void Swap(BopParameters* other) {
554 if (other ==
this)
return;
555 if (GetArena() == other->GetArena()) {
558 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
562 if (other ==
this)
return;
563 GOOGLE_DCHECK(GetArena() == other->GetArena());
569 inline BopParameters*
New() const final {
570 return CreateMaybeMessage<BopParameters>(
nullptr);
573 BopParameters*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
574 return CreateMaybeMessage<BopParameters>(arena);
576 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
577 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
580 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
581 bool IsInitialized() const final;
583 size_t ByteSizeLong() const final;
584 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
585 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
586 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
587 int GetCachedSize() const final {
return _cached_size_.Get(); }
590 inline void SharedCtor();
591 inline void SharedDtor();
592 void SetCachedSize(
int size)
const final;
593 void InternalSwap(BopParameters* other);
594 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
595 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
596 return "operations_research.bop.BopParameters";
601 static void ArenaDtor(
void*
object);
602 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
607 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
630 static constexpr
int ThreadSynchronizationType_ARRAYSIZE =
632 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
640 "Incorrect type passed to function ThreadSynchronizationType_Name.");
651 kSolverOptimizerSetsFieldNumber = 26,
652 kDefaultSolverOptimizerSetsFieldNumber = 33,
653 kLogSearchProgressFieldNumber = 14,
654 kPruneSearchTreeFieldNumber = 4,
655 kSortConstraintsByNumTermsFieldNumber = 5,
656 kUseSymmetryFieldNumber = 17,
657 kSynchronizationTypeFieldNumber = 25,
658 kMaxNumberOfConsecutiveFailingOptimizerCallsFieldNumber = 35,
659 kExploitSymmetryInSatFirstSolutionFieldNumber = 40,
660 kUsePotentialOneFlipRepairsInLsFieldNumber = 39,
661 kUseLpStrongBranchingFieldNumber = 29,
662 kDecomposedProblemMinTimeInSecondsFieldNumber = 36,
663 kMaxLpSolveForFeasibilityProblemsFieldNumber = 41,
664 kMaxTimeInSecondsFieldNumber = 1,
665 kMaxNumDecisionsInLsFieldNumber = 2,
666 kRandomSeedFieldNumber = 7,
667 kNumRelaxedVarsFieldNumber = 8,
668 kMaxNumberOfConflictsInRandomLnsFieldNumber = 9,
669 kComputeEstimatedImpactFieldNumber = 3,
670 kUseRandomLnsFieldNumber = 6,
671 kUseLpLnsFieldNumber = 12,
672 kUseSatToChooseLnsNeighbourhoodFieldNumber = 15,
673 kNumRandomLnsTriesFieldNumber = 10,
674 kMaxNumberOfBacktracksInLsFieldNumber = 11,
675 kMaxNumberOfConflictsForQuickCheckFieldNumber = 16,
676 kMaxNumberOfConflictsInRandomSolutionGenerationFieldNumber = 20,
677 kMaxNumberOfExploredAssignmentsPerTryInLsFieldNumber = 21,
678 kUseTranspositionTableInLsFieldNumber = 22,
679 kUseLearnedBinaryClausesInLpFieldNumber = 23,
680 kNumberOfSolversFieldNumber = 24,
681 kMaxDeterministicTimeFieldNumber = 27,
682 kRelativeGapLimitFieldNumber = 28,
683 kDecomposerNumVariablesThresholdFieldNumber = 30,
684 kNumBopSolversUsedByDecompositionFieldNumber = 31,
685 kGuidedSatConflictsChunkFieldNumber = 34,
686 kMaxNumBrokenConstraintsInLsFieldNumber = 38,
687 kLpMaxDeterministicTimeFieldNumber = 37,
692 int _internal_solver_optimizer_sets_size()
const;
696 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
699 const ::operations_research::bop::BopSolverOptimizerSet& _internal_solver_optimizer_sets(
int index)
const;
700 ::operations_research::bop::BopSolverOptimizerSet* _internal_add_solver_optimizer_sets();
704 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
710 bool _internal_has_default_solver_optimizer_sets()
const;
722 const std::string& _internal_default_solver_optimizer_sets()
const;
723 void _internal_set_default_solver_optimizer_sets(
const std::string&
value);
724 std::string* _internal_mutable_default_solver_optimizer_sets();
730 bool _internal_has_log_search_progress()
const;
736 bool _internal_log_search_progress()
const;
737 void _internal_set_log_search_progress(
bool value);
743 bool _internal_has_prune_search_tree()
const;
749 bool _internal_prune_search_tree()
const;
750 void _internal_set_prune_search_tree(
bool value);
756 bool _internal_has_sort_constraints_by_num_terms()
const;
762 bool _internal_sort_constraints_by_num_terms()
const;
763 void _internal_set_sort_constraints_by_num_terms(
bool value);
769 bool _internal_has_use_symmetry()
const;
775 bool _internal_use_symmetry()
const;
776 void _internal_set_use_symmetry(
bool value);
782 bool _internal_has_synchronization_type()
const;
795 bool _internal_has_max_number_of_consecutive_failing_optimizer_calls()
const;
808 bool _internal_has_exploit_symmetry_in_sat_first_solution()
const;
814 bool _internal_exploit_symmetry_in_sat_first_solution()
const;
815 void _internal_set_exploit_symmetry_in_sat_first_solution(
bool value);
821 bool _internal_has_use_potential_one_flip_repairs_in_ls()
const;
827 bool _internal_use_potential_one_flip_repairs_in_ls()
const;
828 void _internal_set_use_potential_one_flip_repairs_in_ls(
bool value);
834 bool _internal_has_use_lp_strong_branching()
const;
840 bool _internal_use_lp_strong_branching()
const;
841 void _internal_set_use_lp_strong_branching(
bool value);
847 bool _internal_has_decomposed_problem_min_time_in_seconds()
const;
853 double _internal_decomposed_problem_min_time_in_seconds()
const;
854 void _internal_set_decomposed_problem_min_time_in_seconds(
double value);
860 bool _internal_has_max_lp_solve_for_feasibility_problems()
const;
873 bool _internal_has_max_time_in_seconds()
const;
879 double _internal_max_time_in_seconds()
const;
880 void _internal_set_max_time_in_seconds(
double value);
886 bool _internal_has_max_num_decisions_in_ls()
const;
899 bool _internal_has_random_seed()
const;
912 bool _internal_has_num_relaxed_vars()
const;
925 bool _internal_has_max_number_of_conflicts_in_random_lns()
const;
938 bool _internal_has_compute_estimated_impact()
const;
944 bool _internal_compute_estimated_impact()
const;
945 void _internal_set_compute_estimated_impact(
bool value);
951 bool _internal_has_use_random_lns()
const;
957 bool _internal_use_random_lns()
const;
958 void _internal_set_use_random_lns(
bool value);
964 bool _internal_has_use_lp_lns()
const;
970 bool _internal_use_lp_lns()
const;
971 void _internal_set_use_lp_lns(
bool value);
977 bool _internal_has_use_sat_to_choose_lns_neighbourhood()
const;
983 bool _internal_use_sat_to_choose_lns_neighbourhood()
const;
984 void _internal_set_use_sat_to_choose_lns_neighbourhood(
bool value);
990 bool _internal_has_num_random_lns_tries()
const;
1003 bool _internal_has_max_number_of_backtracks_in_ls()
const;
1016 bool _internal_has_max_number_of_conflicts_for_quick_check()
const;
1029 bool _internal_has_max_number_of_conflicts_in_random_solution_generation()
const;
1042 bool _internal_has_max_number_of_explored_assignments_per_try_in_ls()
const;
1055 bool _internal_has_use_transposition_table_in_ls()
const;
1061 bool _internal_use_transposition_table_in_ls()
const;
1062 void _internal_set_use_transposition_table_in_ls(
bool value);
1068 bool _internal_has_use_learned_binary_clauses_in_lp()
const;
1074 bool _internal_use_learned_binary_clauses_in_lp()
const;
1075 void _internal_set_use_learned_binary_clauses_in_lp(
bool value);
1081 bool _internal_has_number_of_solvers()
const;
1094 bool _internal_has_max_deterministic_time()
const;
1100 double _internal_max_deterministic_time()
const;
1101 void _internal_set_max_deterministic_time(
double value);
1107 bool _internal_has_relative_gap_limit()
const;
1113 double _internal_relative_gap_limit()
const;
1114 void _internal_set_relative_gap_limit(
double value);
1120 bool _internal_has_decomposer_num_variables_threshold()
const;
1133 bool _internal_has_num_bop_solvers_used_by_decomposition()
const;
1146 bool _internal_has_guided_sat_conflicts_chunk()
const;
1159 bool _internal_has_max_num_broken_constraints_in_ls()
const;
1172 bool _internal_has_lp_max_deterministic_time()
const;
1178 double _internal_lp_max_deterministic_time()
const;
1179 void _internal_set_lp_max_deterministic_time(
double value);
1186 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1187 typedef void InternalArenaConstructable_;
1188 typedef void DestructorSkippable_;
1189 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1190 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1191 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1195 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_solver_optimizer_sets_;
1196 bool log_search_progress_;
1197 bool prune_search_tree_;
1198 bool sort_constraints_by_num_terms_;
1200 int synchronization_type_;
1202 bool exploit_symmetry_in_sat_first_solution_;
1203 bool use_potential_one_flip_repairs_in_ls_;
1204 bool use_lp_strong_branching_;
1205 double decomposed_problem_min_time_in_seconds_;
1207 double max_time_in_seconds_;
1212 bool compute_estimated_impact_;
1213 bool use_random_lns_;
1215 bool use_sat_to_choose_lns_neighbourhood_;
1221 bool use_transposition_table_in_ls_;
1222 bool use_learned_binary_clauses_in_lp_;
1224 double max_deterministic_time_;
1225 double relative_gap_limit_;
1230 double lp_max_deterministic_time_;
1231 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1239 #pragma GCC diagnostic push
1240 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1245 inline bool BopOptimizerMethod::_internal_has_type()
const {
1246 bool value = (_has_bits_[0] & 0x00000001u) != 0;
1249 inline bool BopOptimizerMethod::has_type()
const {
1250 return _internal_has_type();
1252 inline void BopOptimizerMethod::clear_type() {
1254 _has_bits_[0] &= ~0x00000001u;
1261 return _internal_type();
1265 _has_bits_[0] |= 0x00000001u;
1269 _internal_set_type(
value);
1278 inline int BopSolverOptimizerSet::_internal_methods_size()
const {
1279 return methods_.size();
1281 inline int BopSolverOptimizerSet::methods_size()
const {
1282 return _internal_methods_size();
1284 inline void BopSolverOptimizerSet::clear_methods() {
1287 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::mutable_methods(
int index) {
1289 return methods_.Mutable(
index);
1291 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
1292 BopSolverOptimizerSet::mutable_methods() {
1296 inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::_internal_methods(
int index)
const {
1297 return methods_.Get(
index);
1299 inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::methods(
int index)
const {
1301 return _internal_methods(
index);
1303 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::_internal_add_methods() {
1304 return methods_.Add();
1306 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::add_methods() {
1308 return _internal_add_methods();
1310 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
1311 BopSolverOptimizerSet::methods()
const {
1321 inline bool BopParameters::_internal_has_max_time_in_seconds()
const {
1322 bool value = (_has_bits_[0] & 0x00001000u) != 0;
1325 inline bool BopParameters::has_max_time_in_seconds()
const {
1326 return _internal_has_max_time_in_seconds();
1328 inline void BopParameters::clear_max_time_in_seconds() {
1329 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1330 _has_bits_[0] &= ~0x00001000u;
1332 inline double BopParameters::_internal_max_time_in_seconds()
const {
1333 return max_time_in_seconds_;
1335 inline double BopParameters::max_time_in_seconds()
const {
1337 return _internal_max_time_in_seconds();
1339 inline void BopParameters::_internal_set_max_time_in_seconds(
double value) {
1340 _has_bits_[0] |= 0x00001000u;
1341 max_time_in_seconds_ =
value;
1343 inline void BopParameters::set_max_time_in_seconds(
double value) {
1344 _internal_set_max_time_in_seconds(
value);
1349 inline bool BopParameters::_internal_has_max_deterministic_time()
const {
1350 bool value = (_has_bits_[0] & 0x20000000u) != 0;
1353 inline bool BopParameters::has_max_deterministic_time()
const {
1354 return _internal_has_max_deterministic_time();
1356 inline void BopParameters::clear_max_deterministic_time() {
1357 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1358 _has_bits_[0] &= ~0x20000000u;
1360 inline double BopParameters::_internal_max_deterministic_time()
const {
1361 return max_deterministic_time_;
1363 inline double BopParameters::max_deterministic_time()
const {
1365 return _internal_max_deterministic_time();
1367 inline void BopParameters::_internal_set_max_deterministic_time(
double value) {
1368 _has_bits_[0] |= 0x20000000u;
1369 max_deterministic_time_ =
value;
1371 inline void BopParameters::set_max_deterministic_time(
double value) {
1372 _internal_set_max_deterministic_time(
value);
1377 inline bool BopParameters::_internal_has_lp_max_deterministic_time()
const {
1378 bool value = (_has_bits_[1] & 0x00000008u) != 0;
1381 inline bool BopParameters::has_lp_max_deterministic_time()
const {
1382 return _internal_has_lp_max_deterministic_time();
1384 inline void BopParameters::clear_lp_max_deterministic_time() {
1385 lp_max_deterministic_time_ = 1;
1386 _has_bits_[1] &= ~0x00000008u;
1388 inline double BopParameters::_internal_lp_max_deterministic_time()
const {
1389 return lp_max_deterministic_time_;
1391 inline double BopParameters::lp_max_deterministic_time()
const {
1393 return _internal_lp_max_deterministic_time();
1395 inline void BopParameters::_internal_set_lp_max_deterministic_time(
double value) {
1396 _has_bits_[1] |= 0x00000008u;
1397 lp_max_deterministic_time_ =
value;
1399 inline void BopParameters::set_lp_max_deterministic_time(
double value) {
1400 _internal_set_lp_max_deterministic_time(
value);
1405 inline bool BopParameters::_internal_has_max_number_of_consecutive_failing_optimizer_calls()
const {
1406 bool value = (_has_bits_[0] & 0x00000040u) != 0;
1409 inline bool BopParameters::has_max_number_of_consecutive_failing_optimizer_calls()
const {
1410 return _internal_has_max_number_of_consecutive_failing_optimizer_calls();
1412 inline void BopParameters::clear_max_number_of_consecutive_failing_optimizer_calls() {
1413 max_number_of_consecutive_failing_optimizer_calls_ = 0;
1414 _has_bits_[0] &= ~0x00000040u;
1417 return max_number_of_consecutive_failing_optimizer_calls_;
1421 return _internal_max_number_of_consecutive_failing_optimizer_calls();
1424 _has_bits_[0] |= 0x00000040u;
1425 max_number_of_consecutive_failing_optimizer_calls_ =
value;
1428 _internal_set_max_number_of_consecutive_failing_optimizer_calls(
value);
1433 inline bool BopParameters::_internal_has_relative_gap_limit()
const {
1434 bool value = (_has_bits_[0] & 0x40000000u) != 0;
1437 inline bool BopParameters::has_relative_gap_limit()
const {
1438 return _internal_has_relative_gap_limit();
1440 inline void BopParameters::clear_relative_gap_limit() {
1441 relative_gap_limit_ = 0.0001;
1442 _has_bits_[0] &= ~0x40000000u;
1444 inline double BopParameters::_internal_relative_gap_limit()
const {
1445 return relative_gap_limit_;
1447 inline double BopParameters::relative_gap_limit()
const {
1449 return _internal_relative_gap_limit();
1451 inline void BopParameters::_internal_set_relative_gap_limit(
double value) {
1452 _has_bits_[0] |= 0x40000000u;
1453 relative_gap_limit_ =
value;
1455 inline void BopParameters::set_relative_gap_limit(
double value) {
1456 _internal_set_relative_gap_limit(
value);
1461 inline bool BopParameters::_internal_has_max_num_decisions_in_ls()
const {
1462 bool value = (_has_bits_[0] & 0x00002000u) != 0;
1465 inline bool BopParameters::has_max_num_decisions_in_ls()
const {
1466 return _internal_has_max_num_decisions_in_ls();
1468 inline void BopParameters::clear_max_num_decisions_in_ls() {
1469 max_num_decisions_in_ls_ = 4;
1470 _has_bits_[0] &= ~0x00002000u;
1473 return max_num_decisions_in_ls_;
1477 return _internal_max_num_decisions_in_ls();
1480 _has_bits_[0] |= 0x00002000u;
1481 max_num_decisions_in_ls_ =
value;
1484 _internal_set_max_num_decisions_in_ls(
value);
1489 inline bool BopParameters::_internal_has_max_num_broken_constraints_in_ls()
const {
1490 bool value = (_has_bits_[1] & 0x00000004u) != 0;
1493 inline bool BopParameters::has_max_num_broken_constraints_in_ls()
const {
1494 return _internal_has_max_num_broken_constraints_in_ls();
1496 inline void BopParameters::clear_max_num_broken_constraints_in_ls() {
1497 max_num_broken_constraints_in_ls_ = 2147483647;
1498 _has_bits_[1] &= ~0x00000004u;
1501 return max_num_broken_constraints_in_ls_;
1505 return _internal_max_num_broken_constraints_in_ls();
1508 _has_bits_[1] |= 0x00000004u;
1509 max_num_broken_constraints_in_ls_ =
value;
1512 _internal_set_max_num_broken_constraints_in_ls(
value);
1517 inline bool BopParameters::_internal_has_log_search_progress()
const {
1518 bool value = (_has_bits_[0] & 0x00000002u) != 0;
1521 inline bool BopParameters::has_log_search_progress()
const {
1522 return _internal_has_log_search_progress();
1524 inline void BopParameters::clear_log_search_progress() {
1525 log_search_progress_ =
false;
1526 _has_bits_[0] &= ~0x00000002u;
1528 inline bool BopParameters::_internal_log_search_progress()
const {
1529 return log_search_progress_;
1531 inline bool BopParameters::log_search_progress()
const {
1533 return _internal_log_search_progress();
1535 inline void BopParameters::_internal_set_log_search_progress(
bool value) {
1536 _has_bits_[0] |= 0x00000002u;
1537 log_search_progress_ =
value;
1539 inline void BopParameters::set_log_search_progress(
bool value) {
1540 _internal_set_log_search_progress(
value);
1545 inline bool BopParameters::_internal_has_compute_estimated_impact()
const {
1546 bool value = (_has_bits_[0] & 0x00020000u) != 0;
1549 inline bool BopParameters::has_compute_estimated_impact()
const {
1550 return _internal_has_compute_estimated_impact();
1552 inline void BopParameters::clear_compute_estimated_impact() {
1553 compute_estimated_impact_ =
true;
1554 _has_bits_[0] &= ~0x00020000u;
1556 inline bool BopParameters::_internal_compute_estimated_impact()
const {
1557 return compute_estimated_impact_;
1559 inline bool BopParameters::compute_estimated_impact()
const {
1561 return _internal_compute_estimated_impact();
1563 inline void BopParameters::_internal_set_compute_estimated_impact(
bool value) {
1564 _has_bits_[0] |= 0x00020000u;
1565 compute_estimated_impact_ =
value;
1567 inline void BopParameters::set_compute_estimated_impact(
bool value) {
1568 _internal_set_compute_estimated_impact(
value);
1573 inline bool BopParameters::_internal_has_prune_search_tree()
const {
1574 bool value = (_has_bits_[0] & 0x00000004u) != 0;
1577 inline bool BopParameters::has_prune_search_tree()
const {
1578 return _internal_has_prune_search_tree();
1580 inline void BopParameters::clear_prune_search_tree() {
1581 prune_search_tree_ =
false;
1582 _has_bits_[0] &= ~0x00000004u;
1584 inline bool BopParameters::_internal_prune_search_tree()
const {
1585 return prune_search_tree_;
1587 inline bool BopParameters::prune_search_tree()
const {
1589 return _internal_prune_search_tree();
1591 inline void BopParameters::_internal_set_prune_search_tree(
bool value) {
1592 _has_bits_[0] |= 0x00000004u;
1593 prune_search_tree_ =
value;
1595 inline void BopParameters::set_prune_search_tree(
bool value) {
1596 _internal_set_prune_search_tree(
value);
1601 inline bool BopParameters::_internal_has_sort_constraints_by_num_terms()
const {
1602 bool value = (_has_bits_[0] & 0x00000008u) != 0;
1605 inline bool BopParameters::has_sort_constraints_by_num_terms()
const {
1606 return _internal_has_sort_constraints_by_num_terms();
1608 inline void BopParameters::clear_sort_constraints_by_num_terms() {
1609 sort_constraints_by_num_terms_ =
false;
1610 _has_bits_[0] &= ~0x00000008u;
1612 inline bool BopParameters::_internal_sort_constraints_by_num_terms()
const {
1613 return sort_constraints_by_num_terms_;
1615 inline bool BopParameters::sort_constraints_by_num_terms()
const {
1617 return _internal_sort_constraints_by_num_terms();
1619 inline void BopParameters::_internal_set_sort_constraints_by_num_terms(
bool value) {
1620 _has_bits_[0] |= 0x00000008u;
1621 sort_constraints_by_num_terms_ =
value;
1623 inline void BopParameters::set_sort_constraints_by_num_terms(
bool value) {
1624 _internal_set_sort_constraints_by_num_terms(
value);
1629 inline bool BopParameters::_internal_has_use_random_lns()
const {
1630 bool value = (_has_bits_[0] & 0x00040000u) != 0;
1633 inline bool BopParameters::has_use_random_lns()
const {
1634 return _internal_has_use_random_lns();
1636 inline void BopParameters::clear_use_random_lns() {
1637 use_random_lns_ =
true;
1638 _has_bits_[0] &= ~0x00040000u;
1640 inline bool BopParameters::_internal_use_random_lns()
const {
1641 return use_random_lns_;
1643 inline bool BopParameters::use_random_lns()
const {
1645 return _internal_use_random_lns();
1647 inline void BopParameters::_internal_set_use_random_lns(
bool value) {
1648 _has_bits_[0] |= 0x00040000u;
1649 use_random_lns_ =
value;
1651 inline void BopParameters::set_use_random_lns(
bool value) {
1652 _internal_set_use_random_lns(
value);
1657 inline bool BopParameters::_internal_has_random_seed()
const {
1658 bool value = (_has_bits_[0] & 0x00004000u) != 0;
1661 inline bool BopParameters::has_random_seed()
const {
1662 return _internal_has_random_seed();
1664 inline void BopParameters::clear_random_seed() {
1666 _has_bits_[0] &= ~0x00004000u;
1669 return random_seed_;
1673 return _internal_random_seed();
1676 _has_bits_[0] |= 0x00004000u;
1677 random_seed_ =
value;
1680 _internal_set_random_seed(
value);
1685 inline bool BopParameters::_internal_has_num_relaxed_vars()
const {
1686 bool value = (_has_bits_[0] & 0x00008000u) != 0;
1689 inline bool BopParameters::has_num_relaxed_vars()
const {
1690 return _internal_has_num_relaxed_vars();
1692 inline void BopParameters::clear_num_relaxed_vars() {
1693 num_relaxed_vars_ = 10;
1694 _has_bits_[0] &= ~0x00008000u;
1697 return num_relaxed_vars_;
1701 return _internal_num_relaxed_vars();
1704 _has_bits_[0] |= 0x00008000u;
1705 num_relaxed_vars_ =
value;
1708 _internal_set_num_relaxed_vars(
value);
1713 inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_lns()
const {
1714 bool value = (_has_bits_[0] & 0x00010000u) != 0;
1717 inline bool BopParameters::has_max_number_of_conflicts_in_random_lns()
const {
1718 return _internal_has_max_number_of_conflicts_in_random_lns();
1720 inline void BopParameters::clear_max_number_of_conflicts_in_random_lns() {
1721 max_number_of_conflicts_in_random_lns_ = 2500;
1722 _has_bits_[0] &= ~0x00010000u;
1725 return max_number_of_conflicts_in_random_lns_;
1729 return _internal_max_number_of_conflicts_in_random_lns();
1732 _has_bits_[0] |= 0x00010000u;
1733 max_number_of_conflicts_in_random_lns_ =
value;
1736 _internal_set_max_number_of_conflicts_in_random_lns(
value);
1741 inline bool BopParameters::_internal_has_num_random_lns_tries()
const {
1742 bool value = (_has_bits_[0] & 0x00200000u) != 0;
1745 inline bool BopParameters::has_num_random_lns_tries()
const {
1746 return _internal_has_num_random_lns_tries();
1748 inline void BopParameters::clear_num_random_lns_tries() {
1749 num_random_lns_tries_ = 1;
1750 _has_bits_[0] &= ~0x00200000u;
1753 return num_random_lns_tries_;
1757 return _internal_num_random_lns_tries();
1760 _has_bits_[0] |= 0x00200000u;
1761 num_random_lns_tries_ =
value;
1764 _internal_set_num_random_lns_tries(
value);
1769 inline bool BopParameters::_internal_has_max_number_of_backtracks_in_ls()
const {
1770 bool value = (_has_bits_[0] & 0x00400000u) != 0;
1773 inline bool BopParameters::has_max_number_of_backtracks_in_ls()
const {
1774 return _internal_has_max_number_of_backtracks_in_ls();
1776 inline void BopParameters::clear_max_number_of_backtracks_in_ls() {
1777 max_number_of_backtracks_in_ls_ = PROTOBUF_LONGLONG(100000000);
1778 _has_bits_[0] &= ~0x00400000u;
1781 return max_number_of_backtracks_in_ls_;
1785 return _internal_max_number_of_backtracks_in_ls();
1788 _has_bits_[0] |= 0x00400000u;
1789 max_number_of_backtracks_in_ls_ =
value;
1792 _internal_set_max_number_of_backtracks_in_ls(
value);
1797 inline bool BopParameters::_internal_has_use_lp_lns()
const {
1798 bool value = (_has_bits_[0] & 0x00080000u) != 0;
1801 inline bool BopParameters::has_use_lp_lns()
const {
1802 return _internal_has_use_lp_lns();
1804 inline void BopParameters::clear_use_lp_lns() {
1806 _has_bits_[0] &= ~0x00080000u;
1808 inline bool BopParameters::_internal_use_lp_lns()
const {
1811 inline bool BopParameters::use_lp_lns()
const {
1813 return _internal_use_lp_lns();
1815 inline void BopParameters::_internal_set_use_lp_lns(
bool value) {
1816 _has_bits_[0] |= 0x00080000u;
1817 use_lp_lns_ =
value;
1819 inline void BopParameters::set_use_lp_lns(
bool value) {
1820 _internal_set_use_lp_lns(
value);
1825 inline bool BopParameters::_internal_has_use_sat_to_choose_lns_neighbourhood()
const {
1826 bool value = (_has_bits_[0] & 0x00100000u) != 0;
1829 inline bool BopParameters::has_use_sat_to_choose_lns_neighbourhood()
const {
1830 return _internal_has_use_sat_to_choose_lns_neighbourhood();
1832 inline void BopParameters::clear_use_sat_to_choose_lns_neighbourhood() {
1833 use_sat_to_choose_lns_neighbourhood_ =
true;
1834 _has_bits_[0] &= ~0x00100000u;
1836 inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood()
const {
1837 return use_sat_to_choose_lns_neighbourhood_;
1839 inline bool BopParameters::use_sat_to_choose_lns_neighbourhood()
const {
1841 return _internal_use_sat_to_choose_lns_neighbourhood();
1843 inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(
bool value) {
1844 _has_bits_[0] |= 0x00100000u;
1845 use_sat_to_choose_lns_neighbourhood_ =
value;
1847 inline void BopParameters::set_use_sat_to_choose_lns_neighbourhood(
bool value) {
1848 _internal_set_use_sat_to_choose_lns_neighbourhood(
value);
1853 inline bool BopParameters::_internal_has_max_number_of_conflicts_for_quick_check()
const {
1854 bool value = (_has_bits_[0] & 0x00800000u) != 0;
1857 inline bool BopParameters::has_max_number_of_conflicts_for_quick_check()
const {
1858 return _internal_has_max_number_of_conflicts_for_quick_check();
1860 inline void BopParameters::clear_max_number_of_conflicts_for_quick_check() {
1861 max_number_of_conflicts_for_quick_check_ = 10;
1862 _has_bits_[0] &= ~0x00800000u;
1865 return max_number_of_conflicts_for_quick_check_;
1869 return _internal_max_number_of_conflicts_for_quick_check();
1872 _has_bits_[0] |= 0x00800000u;
1873 max_number_of_conflicts_for_quick_check_ =
value;
1876 _internal_set_max_number_of_conflicts_for_quick_check(
value);
1881 inline bool BopParameters::_internal_has_use_symmetry()
const {
1882 bool value = (_has_bits_[0] & 0x00000010u) != 0;
1885 inline bool BopParameters::has_use_symmetry()
const {
1886 return _internal_has_use_symmetry();
1888 inline void BopParameters::clear_use_symmetry() {
1889 use_symmetry_ =
false;
1890 _has_bits_[0] &= ~0x00000010u;
1892 inline bool BopParameters::_internal_use_symmetry()
const {
1893 return use_symmetry_;
1895 inline bool BopParameters::use_symmetry()
const {
1897 return _internal_use_symmetry();
1899 inline void BopParameters::_internal_set_use_symmetry(
bool value) {
1900 _has_bits_[0] |= 0x00000010u;
1901 use_symmetry_ =
value;
1903 inline void BopParameters::set_use_symmetry(
bool value) {
1904 _internal_set_use_symmetry(
value);
1909 inline bool BopParameters::_internal_has_exploit_symmetry_in_sat_first_solution()
const {
1910 bool value = (_has_bits_[0] & 0x00000080u) != 0;
1913 inline bool BopParameters::has_exploit_symmetry_in_sat_first_solution()
const {
1914 return _internal_has_exploit_symmetry_in_sat_first_solution();
1916 inline void BopParameters::clear_exploit_symmetry_in_sat_first_solution() {
1917 exploit_symmetry_in_sat_first_solution_ =
false;
1918 _has_bits_[0] &= ~0x00000080u;
1920 inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution()
const {
1921 return exploit_symmetry_in_sat_first_solution_;
1923 inline bool BopParameters::exploit_symmetry_in_sat_first_solution()
const {
1925 return _internal_exploit_symmetry_in_sat_first_solution();
1927 inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(
bool value) {
1928 _has_bits_[0] |= 0x00000080u;
1929 exploit_symmetry_in_sat_first_solution_ =
value;
1931 inline void BopParameters::set_exploit_symmetry_in_sat_first_solution(
bool value) {
1932 _internal_set_exploit_symmetry_in_sat_first_solution(
value);
1937 inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_solution_generation()
const {
1938 bool value = (_has_bits_[0] & 0x01000000u) != 0;
1941 inline bool BopParameters::has_max_number_of_conflicts_in_random_solution_generation()
const {
1942 return _internal_has_max_number_of_conflicts_in_random_solution_generation();
1944 inline void BopParameters::clear_max_number_of_conflicts_in_random_solution_generation() {
1945 max_number_of_conflicts_in_random_solution_generation_ = 500;
1946 _has_bits_[0] &= ~0x01000000u;
1949 return max_number_of_conflicts_in_random_solution_generation_;
1953 return _internal_max_number_of_conflicts_in_random_solution_generation();
1956 _has_bits_[0] |= 0x01000000u;
1957 max_number_of_conflicts_in_random_solution_generation_ =
value;
1960 _internal_set_max_number_of_conflicts_in_random_solution_generation(
value);
1965 inline bool BopParameters::_internal_has_max_number_of_explored_assignments_per_try_in_ls()
const {
1966 bool value = (_has_bits_[0] & 0x02000000u) != 0;
1969 inline bool BopParameters::has_max_number_of_explored_assignments_per_try_in_ls()
const {
1970 return _internal_has_max_number_of_explored_assignments_per_try_in_ls();
1972 inline void BopParameters::clear_max_number_of_explored_assignments_per_try_in_ls() {
1973 max_number_of_explored_assignments_per_try_in_ls_ = PROTOBUF_LONGLONG(10000);
1974 _has_bits_[0] &= ~0x02000000u;
1977 return max_number_of_explored_assignments_per_try_in_ls_;
1981 return _internal_max_number_of_explored_assignments_per_try_in_ls();
1984 _has_bits_[0] |= 0x02000000u;
1985 max_number_of_explored_assignments_per_try_in_ls_ =
value;
1988 _internal_set_max_number_of_explored_assignments_per_try_in_ls(
value);
1993 inline bool BopParameters::_internal_has_use_transposition_table_in_ls()
const {
1994 bool value = (_has_bits_[0] & 0x04000000u) != 0;
1997 inline bool BopParameters::has_use_transposition_table_in_ls()
const {
1998 return _internal_has_use_transposition_table_in_ls();
2000 inline void BopParameters::clear_use_transposition_table_in_ls() {
2001 use_transposition_table_in_ls_ =
true;
2002 _has_bits_[0] &= ~0x04000000u;
2004 inline bool BopParameters::_internal_use_transposition_table_in_ls()
const {
2005 return use_transposition_table_in_ls_;
2007 inline bool BopParameters::use_transposition_table_in_ls()
const {
2009 return _internal_use_transposition_table_in_ls();
2011 inline void BopParameters::_internal_set_use_transposition_table_in_ls(
bool value) {
2012 _has_bits_[0] |= 0x04000000u;
2013 use_transposition_table_in_ls_ =
value;
2015 inline void BopParameters::set_use_transposition_table_in_ls(
bool value) {
2016 _internal_set_use_transposition_table_in_ls(
value);
2021 inline bool BopParameters::_internal_has_use_potential_one_flip_repairs_in_ls()
const {
2022 bool value = (_has_bits_[0] & 0x00000100u) != 0;
2025 inline bool BopParameters::has_use_potential_one_flip_repairs_in_ls()
const {
2026 return _internal_has_use_potential_one_flip_repairs_in_ls();
2028 inline void BopParameters::clear_use_potential_one_flip_repairs_in_ls() {
2029 use_potential_one_flip_repairs_in_ls_ =
false;
2030 _has_bits_[0] &= ~0x00000100u;
2032 inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls()
const {
2033 return use_potential_one_flip_repairs_in_ls_;
2035 inline bool BopParameters::use_potential_one_flip_repairs_in_ls()
const {
2037 return _internal_use_potential_one_flip_repairs_in_ls();
2039 inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(
bool value) {
2040 _has_bits_[0] |= 0x00000100u;
2041 use_potential_one_flip_repairs_in_ls_ =
value;
2043 inline void BopParameters::set_use_potential_one_flip_repairs_in_ls(
bool value) {
2044 _internal_set_use_potential_one_flip_repairs_in_ls(
value);
2049 inline bool BopParameters::_internal_has_use_learned_binary_clauses_in_lp()
const {
2050 bool value = (_has_bits_[0] & 0x08000000u) != 0;
2053 inline bool BopParameters::has_use_learned_binary_clauses_in_lp()
const {
2054 return _internal_has_use_learned_binary_clauses_in_lp();
2056 inline void BopParameters::clear_use_learned_binary_clauses_in_lp() {
2057 use_learned_binary_clauses_in_lp_ =
true;
2058 _has_bits_[0] &= ~0x08000000u;
2060 inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp()
const {
2061 return use_learned_binary_clauses_in_lp_;
2063 inline bool BopParameters::use_learned_binary_clauses_in_lp()
const {
2065 return _internal_use_learned_binary_clauses_in_lp();
2067 inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(
bool value) {
2068 _has_bits_[0] |= 0x08000000u;
2069 use_learned_binary_clauses_in_lp_ =
value;
2071 inline void BopParameters::set_use_learned_binary_clauses_in_lp(
bool value) {
2072 _internal_set_use_learned_binary_clauses_in_lp(
value);
2077 inline bool BopParameters::_internal_has_number_of_solvers()
const {
2078 bool value = (_has_bits_[0] & 0x10000000u) != 0;
2081 inline bool BopParameters::has_number_of_solvers()
const {
2082 return _internal_has_number_of_solvers();
2084 inline void BopParameters::clear_number_of_solvers() {
2085 number_of_solvers_ = 1;
2086 _has_bits_[0] &= ~0x10000000u;
2089 return number_of_solvers_;
2093 return _internal_number_of_solvers();
2096 _has_bits_[0] |= 0x10000000u;
2097 number_of_solvers_ =
value;
2100 _internal_set_number_of_solvers(
value);
2105 inline bool BopParameters::_internal_has_synchronization_type()
const {
2106 bool value = (_has_bits_[0] & 0x00000020u) != 0;
2109 inline bool BopParameters::has_synchronization_type()
const {
2110 return _internal_has_synchronization_type();
2112 inline void BopParameters::clear_synchronization_type() {
2113 synchronization_type_ = 0;
2114 _has_bits_[0] &= ~0x00000020u;
2121 return _internal_synchronization_type();
2125 _has_bits_[0] |= 0x00000020u;
2126 synchronization_type_ =
value;
2129 _internal_set_synchronization_type(
value);
2134 inline int BopParameters::_internal_solver_optimizer_sets_size()
const {
2135 return solver_optimizer_sets_.size();
2137 inline int BopParameters::solver_optimizer_sets_size()
const {
2138 return _internal_solver_optimizer_sets_size();
2140 inline void BopParameters::clear_solver_optimizer_sets() {
2141 solver_optimizer_sets_.Clear();
2143 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::mutable_solver_optimizer_sets(
int index) {
2145 return solver_optimizer_sets_.Mutable(
index);
2147 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
2148 BopParameters::mutable_solver_optimizer_sets() {
2150 return &solver_optimizer_sets_;
2152 inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::_internal_solver_optimizer_sets(
int index)
const {
2153 return solver_optimizer_sets_.Get(
index);
2155 inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::solver_optimizer_sets(
int index)
const {
2157 return _internal_solver_optimizer_sets(
index);
2159 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::_internal_add_solver_optimizer_sets() {
2160 return solver_optimizer_sets_.Add();
2162 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::add_solver_optimizer_sets() {
2164 return _internal_add_solver_optimizer_sets();
2166 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
2167 BopParameters::solver_optimizer_sets()
const {
2169 return solver_optimizer_sets_;
2173 inline bool BopParameters::_internal_has_default_solver_optimizer_sets()
const {
2174 bool value = (_has_bits_[0] & 0x00000001u) != 0;
2177 inline bool BopParameters::has_default_solver_optimizer_sets()
const {
2178 return _internal_has_default_solver_optimizer_sets();
2180 inline void BopParameters::clear_default_solver_optimizer_sets() {
2181 default_solver_optimizer_sets_.ClearToDefault(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), GetArena());
2182 _has_bits_[0] &= ~0x00000001u;
2184 inline const std::string& BopParameters::default_solver_optimizer_sets()
const {
2186 return _internal_default_solver_optimizer_sets();
2188 inline void BopParameters::set_default_solver_optimizer_sets(
const std::string&
value) {
2189 _internal_set_default_solver_optimizer_sets(
value);
2192 inline std::string* BopParameters::mutable_default_solver_optimizer_sets() {
2194 return _internal_mutable_default_solver_optimizer_sets();
2196 inline const std::string& BopParameters::_internal_default_solver_optimizer_sets()
const {
2197 return default_solver_optimizer_sets_.Get();
2199 inline void BopParameters::_internal_set_default_solver_optimizer_sets(
const std::string&
value) {
2200 _has_bits_[0] |= 0x00000001u;
2201 default_solver_optimizer_sets_.Set(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(),
value, GetArena());
2203 inline void BopParameters::set_default_solver_optimizer_sets(std::string&&
value) {
2204 _has_bits_[0] |= 0x00000001u;
2205 default_solver_optimizer_sets_.Set(
2206 &::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), ::std::move(
value), GetArena());
2209 inline void BopParameters::set_default_solver_optimizer_sets(
const char*
value) {
2210 GOOGLE_DCHECK(
value !=
nullptr);
2211 _has_bits_[0] |= 0x00000001u;
2212 default_solver_optimizer_sets_.Set(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), ::std::string(
value),
2216 inline void BopParameters::set_default_solver_optimizer_sets(
const char*
value,
2218 _has_bits_[0] |= 0x00000001u;
2219 default_solver_optimizer_sets_.Set(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), ::std::string(
2220 reinterpret_cast<const char*
>(
value), size), GetArena());
2223 inline std::string* BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2224 _has_bits_[0] |= 0x00000001u;
2225 return default_solver_optimizer_sets_.Mutable(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), GetArena());
2227 inline std::string* BopParameters::release_default_solver_optimizer_sets() {
2229 if (!_internal_has_default_solver_optimizer_sets()) {
2232 _has_bits_[0] &= ~0x00000001u;
2233 return default_solver_optimizer_sets_.ReleaseNonDefault(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), GetArena());
2235 inline void BopParameters::set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets) {
2236 if (default_solver_optimizer_sets !=
nullptr) {
2237 _has_bits_[0] |= 0x00000001u;
2239 _has_bits_[0] &= ~0x00000001u;
2241 default_solver_optimizer_sets_.SetAllocated(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), default_solver_optimizer_sets,
2247 inline bool BopParameters::_internal_has_use_lp_strong_branching()
const {
2248 bool value = (_has_bits_[0] & 0x00000200u) != 0;
2251 inline bool BopParameters::has_use_lp_strong_branching()
const {
2252 return _internal_has_use_lp_strong_branching();
2254 inline void BopParameters::clear_use_lp_strong_branching() {
2255 use_lp_strong_branching_ =
false;
2256 _has_bits_[0] &= ~0x00000200u;
2258 inline bool BopParameters::_internal_use_lp_strong_branching()
const {
2259 return use_lp_strong_branching_;
2261 inline bool BopParameters::use_lp_strong_branching()
const {
2263 return _internal_use_lp_strong_branching();
2265 inline void BopParameters::_internal_set_use_lp_strong_branching(
bool value) {
2266 _has_bits_[0] |= 0x00000200u;
2267 use_lp_strong_branching_ =
value;
2269 inline void BopParameters::set_use_lp_strong_branching(
bool value) {
2270 _internal_set_use_lp_strong_branching(
value);
2275 inline bool BopParameters::_internal_has_decomposer_num_variables_threshold()
const {
2276 bool value = (_has_bits_[0] & 0x80000000u) != 0;
2279 inline bool BopParameters::has_decomposer_num_variables_threshold()
const {
2280 return _internal_has_decomposer_num_variables_threshold();
2282 inline void BopParameters::clear_decomposer_num_variables_threshold() {
2283 decomposer_num_variables_threshold_ = 50;
2284 _has_bits_[0] &= ~0x80000000u;
2287 return decomposer_num_variables_threshold_;
2291 return _internal_decomposer_num_variables_threshold();
2294 _has_bits_[0] |= 0x80000000u;
2295 decomposer_num_variables_threshold_ =
value;
2298 _internal_set_decomposer_num_variables_threshold(
value);
2303 inline bool BopParameters::_internal_has_num_bop_solvers_used_by_decomposition()
const {
2304 bool value = (_has_bits_[1] & 0x00000001u) != 0;
2307 inline bool BopParameters::has_num_bop_solvers_used_by_decomposition()
const {
2308 return _internal_has_num_bop_solvers_used_by_decomposition();
2310 inline void BopParameters::clear_num_bop_solvers_used_by_decomposition() {
2311 num_bop_solvers_used_by_decomposition_ = 1;
2312 _has_bits_[1] &= ~0x00000001u;
2315 return num_bop_solvers_used_by_decomposition_;
2319 return _internal_num_bop_solvers_used_by_decomposition();
2322 _has_bits_[1] |= 0x00000001u;
2323 num_bop_solvers_used_by_decomposition_ =
value;
2326 _internal_set_num_bop_solvers_used_by_decomposition(
value);
2331 inline bool BopParameters::_internal_has_decomposed_problem_min_time_in_seconds()
const {
2332 bool value = (_has_bits_[0] & 0x00000400u) != 0;
2335 inline bool BopParameters::has_decomposed_problem_min_time_in_seconds()
const {
2336 return _internal_has_decomposed_problem_min_time_in_seconds();
2338 inline void BopParameters::clear_decomposed_problem_min_time_in_seconds() {
2339 decomposed_problem_min_time_in_seconds_ = 0;
2340 _has_bits_[0] &= ~0x00000400u;
2342 inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds()
const {
2343 return decomposed_problem_min_time_in_seconds_;
2345 inline double BopParameters::decomposed_problem_min_time_in_seconds()
const {
2347 return _internal_decomposed_problem_min_time_in_seconds();
2349 inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(
double value) {
2350 _has_bits_[0] |= 0x00000400u;
2351 decomposed_problem_min_time_in_seconds_ =
value;
2353 inline void BopParameters::set_decomposed_problem_min_time_in_seconds(
double value) {
2354 _internal_set_decomposed_problem_min_time_in_seconds(
value);
2359 inline bool BopParameters::_internal_has_guided_sat_conflicts_chunk()
const {
2360 bool value = (_has_bits_[1] & 0x00000002u) != 0;
2363 inline bool BopParameters::has_guided_sat_conflicts_chunk()
const {
2364 return _internal_has_guided_sat_conflicts_chunk();
2366 inline void BopParameters::clear_guided_sat_conflicts_chunk() {
2367 guided_sat_conflicts_chunk_ = 1000;
2368 _has_bits_[1] &= ~0x00000002u;
2371 return guided_sat_conflicts_chunk_;
2375 return _internal_guided_sat_conflicts_chunk();
2378 _has_bits_[1] |= 0x00000002u;
2379 guided_sat_conflicts_chunk_ =
value;
2382 _internal_set_guided_sat_conflicts_chunk(
value);
2387 inline bool BopParameters::_internal_has_max_lp_solve_for_feasibility_problems()
const {
2388 bool value = (_has_bits_[0] & 0x00000800u) != 0;
2391 inline bool BopParameters::has_max_lp_solve_for_feasibility_problems()
const {
2392 return _internal_has_max_lp_solve_for_feasibility_problems();
2394 inline void BopParameters::clear_max_lp_solve_for_feasibility_problems() {
2395 max_lp_solve_for_feasibility_problems_ = 0;
2396 _has_bits_[0] &= ~0x00000800u;
2399 return max_lp_solve_for_feasibility_problems_;
2403 return _internal_max_lp_solve_for_feasibility_problems();
2406 _has_bits_[0] |= 0x00000800u;
2407 max_lp_solve_for_feasibility_problems_ =
value;
2410 _internal_set_max_lp_solve_for_feasibility_problems(
value);
2415 #pragma GCC diagnostic pop
2427 PROTOBUF_NAMESPACE_OPEN
2431 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopOptimizerMethod_OptimizerType>() {
2436 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopParameters_ThreadSynchronizationType>() {
2440 PROTOBUF_NAMESPACE_CLOSE
2444 #include <google/protobuf/port_undef.inc>
2445 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto