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 < 3019000
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 3019001 < 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
38PROTOBUF_NAMESPACE_OPEN
42PROTOBUF_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[];
59class BopOptimizerMethod;
60struct BopOptimizerMethodDefaultTypeInternal;
63struct BopParametersDefaultTypeInternal;
65class BopSolverOptimizerSet;
66struct BopSolverOptimizerSetDefaultTypeInternal;
70PROTOBUF_NAMESPACE_OPEN
74PROTOBUF_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 {
145 explicit constexpr BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
150 *
this = ::std::move(from);
158 if (
this == &from)
return *
this;
159 if (GetOwningArena() == from.GetOwningArena()
160 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
161 && GetOwningArena() !=
nullptr
172 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
175 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
178 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
201 if (other ==
this)
return;
202 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
203 if (GetOwningArena() !=
nullptr &&
204 GetOwningArena() == other->GetOwningArena()) {
206 if (GetOwningArena() == other->GetOwningArena()) {
210 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
214 if (other ==
this)
return;
215 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
222 return CreateMaybeMessage<BopOptimizerMethod>(arena);
224 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
226 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
229 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
231 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
237 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
243 void SetCachedSize(
int size)
const final;
247 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
248 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
249 return "operations_research.bop.BopOptimizerMethod";
253 bool is_message_owned =
false);
255 static void ArenaDtor(
void*
object);
256 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
260 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
262 ::PROTOBUF_NAMESPACE_ID::Metadata
GetMetadata() const final;
306 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
314 "Incorrect type passed to function OptimizerType_Name.");
330 bool _internal_has_type()
const;
344 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
345 typedef void InternalArenaConstructable_;
346 typedef void DestructorSkippable_;
347 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
348 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
350 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
355 public ::PROTOBUF_NAMESPACE_ID::Message {
364 *
this = ::std::move(from);
372 if (
this == &from)
return *
this;
373 if (GetOwningArena() == from.GetOwningArena()
374 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
375 && GetOwningArena() !=
nullptr
386 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
389 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
392 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
415 if (other ==
this)
return;
416 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
417 if (GetOwningArena() !=
nullptr &&
418 GetOwningArena() == other->GetOwningArena()) {
420 if (GetOwningArena() == other->GetOwningArena()) {
424 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
428 if (other ==
this)
return;
429 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
436 return CreateMaybeMessage<BopSolverOptimizerSet>(arena);
438 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
440 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
443 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
445 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
451 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
457 void SetCachedSize(
int size)
const final;
461 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
462 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
463 return "operations_research.bop.BopSolverOptimizerSet";
467 bool is_message_owned =
false);
469 static void ArenaDtor(
void*
object);
470 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
474 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
476 ::PROTOBUF_NAMESPACE_ID::Metadata
GetMetadata() const final;
483 kMethodsFieldNumber = 1,
486 int methods_size()
const;
488 int _internal_methods_size()
const;
490 void clear_methods();
492 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
495 const ::operations_research::bop::BopOptimizerMethod& _internal_methods(
int index)
const;
498 const ::operations_research::bop::BopOptimizerMethod& methods(
int index)
const;
500 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
507 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
508 typedef void InternalArenaConstructable_;
509 typedef void DestructorSkippable_;
510 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
511 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
512 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
517 public ::PROTOBUF_NAMESPACE_ID::Message {
521 explicit constexpr BopParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
526 *
this = ::std::move(from);
534 if (
this == &from)
return *
this;
535 if (GetOwningArena() == from.GetOwningArena()
536 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
537 && GetOwningArena() !=
nullptr
548 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
551 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
554 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
577 if (other ==
this)
return;
578 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
579 if (GetOwningArena() !=
nullptr &&
580 GetOwningArena() == other->GetOwningArena()) {
582 if (GetOwningArena() == other->GetOwningArena()) {
586 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
590 if (other ==
this)
return;
591 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
598 return CreateMaybeMessage<BopParameters>(arena);
600 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
602 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
605 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
607 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
613 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
619 void SetCachedSize(
int size)
const final;
623 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
624 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
625 return "operations_research.bop.BopParameters";
628 explicit BopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
629 bool is_message_owned =
false);
631 static void ArenaDtor(
void*
object);
632 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
636 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
638 ::PROTOBUF_NAMESPACE_ID::Metadata
GetMetadata() const final;
649 static inline
bool ThreadSynchronizationType_IsValid(
int value) {
656 static constexpr int ThreadSynchronizationType_ARRAYSIZE =
658 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
666 "Incorrect type passed to function ThreadSynchronizationType_Name.");
677 kSolverOptimizerSetsFieldNumber = 26,
678 kDefaultSolverOptimizerSetsFieldNumber = 33,
679 kLogSearchProgressFieldNumber = 14,
680 kPruneSearchTreeFieldNumber = 4,
681 kSortConstraintsByNumTermsFieldNumber = 5,
682 kUseSymmetryFieldNumber = 17,
683 kSynchronizationTypeFieldNumber = 25,
684 kMaxNumberOfConsecutiveFailingOptimizerCallsFieldNumber = 35,
685 kExploitSymmetryInSatFirstSolutionFieldNumber = 40,
686 kUsePotentialOneFlipRepairsInLsFieldNumber = 39,
687 kUseLpStrongBranchingFieldNumber = 29,
688 kDecomposedProblemMinTimeInSecondsFieldNumber = 36,
689 kMaxLpSolveForFeasibilityProblemsFieldNumber = 41,
690 kMaxTimeInSecondsFieldNumber = 1,
691 kMaxNumDecisionsInLsFieldNumber = 2,
692 kRandomSeedFieldNumber = 7,
693 kNumRelaxedVarsFieldNumber = 8,
694 kMaxNumberOfConflictsInRandomLnsFieldNumber = 9,
695 kComputeEstimatedImpactFieldNumber = 3,
696 kUseRandomLnsFieldNumber = 6,
697 kUseLpLnsFieldNumber = 12,
698 kUseSatToChooseLnsNeighbourhoodFieldNumber = 15,
699 kNumRandomLnsTriesFieldNumber = 10,
700 kMaxNumberOfBacktracksInLsFieldNumber = 11,
701 kMaxNumberOfConflictsForQuickCheckFieldNumber = 16,
702 kMaxNumberOfConflictsInRandomSolutionGenerationFieldNumber = 20,
703 kMaxNumberOfExploredAssignmentsPerTryInLsFieldNumber = 21,
704 kUseTranspositionTableInLsFieldNumber = 22,
705 kUseLearnedBinaryClausesInLpFieldNumber = 23,
706 kNumberOfSolversFieldNumber = 24,
707 kMaxDeterministicTimeFieldNumber = 27,
708 kRelativeGapLimitFieldNumber = 28,
709 kDecomposerNumVariablesThresholdFieldNumber = 30,
710 kNumBopSolversUsedByDecompositionFieldNumber = 31,
711 kGuidedSatConflictsChunkFieldNumber = 34,
712 kMaxNumBrokenConstraintsInLsFieldNumber = 38,
713 kLpMaxDeterministicTimeFieldNumber = 37,
716 int solver_optimizer_sets_size()
const;
718 int _internal_solver_optimizer_sets_size()
const;
720 void clear_solver_optimizer_sets();
722 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
723 mutable_solver_optimizer_sets();
725 const ::operations_research::bop::BopSolverOptimizerSet& _internal_solver_optimizer_sets(
int index)
const;
728 const ::operations_research::bop::BopSolverOptimizerSet& solver_optimizer_sets(
int index)
const;
730 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
731 solver_optimizer_sets()
const;
734 bool has_default_solver_optimizer_sets()
const;
736 bool _internal_has_default_solver_optimizer_sets()
const;
738 void clear_default_solver_optimizer_sets();
739 const std::string& default_solver_optimizer_sets()
const;
740 template <
typename ArgT0 =
const std::string&,
typename... ArgT>
742 std::string* mutable_default_solver_optimizer_sets();
743 PROTOBUF_NODISCARD std::string* release_default_solver_optimizer_sets();
744 void set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets);
746 const std::string& _internal_default_solver_optimizer_sets()
const;
747 inline PROTOBUF_ALWAYS_INLINE
void _internal_set_default_solver_optimizer_sets(
const std::string&
value);
748 std::string* _internal_mutable_default_solver_optimizer_sets();
752 bool has_log_search_progress()
const;
754 bool _internal_has_log_search_progress()
const;
756 void clear_log_search_progress();
757 bool log_search_progress()
const;
758 void set_log_search_progress(
bool value);
760 bool _internal_log_search_progress()
const;
761 void _internal_set_log_search_progress(
bool value);
765 bool has_prune_search_tree()
const;
767 bool _internal_has_prune_search_tree()
const;
769 void clear_prune_search_tree();
770 bool prune_search_tree()
const;
771 void set_prune_search_tree(
bool value);
773 bool _internal_prune_search_tree()
const;
774 void _internal_set_prune_search_tree(
bool value);
778 bool has_sort_constraints_by_num_terms()
const;
780 bool _internal_has_sort_constraints_by_num_terms()
const;
782 void clear_sort_constraints_by_num_terms();
783 bool sort_constraints_by_num_terms()
const;
784 void set_sort_constraints_by_num_terms(
bool value);
786 bool _internal_sort_constraints_by_num_terms()
const;
787 void _internal_set_sort_constraints_by_num_terms(
bool value);
791 bool has_use_symmetry()
const;
793 bool _internal_has_use_symmetry()
const;
795 void clear_use_symmetry();
796 bool use_symmetry()
const;
797 void set_use_symmetry(
bool value);
799 bool _internal_use_symmetry()
const;
800 void _internal_set_use_symmetry(
bool value);
804 bool has_synchronization_type()
const;
806 bool _internal_has_synchronization_type()
const;
808 void clear_synchronization_type();
817 bool has_max_number_of_consecutive_failing_optimizer_calls()
const;
819 bool _internal_has_max_number_of_consecutive_failing_optimizer_calls()
const;
821 void clear_max_number_of_consecutive_failing_optimizer_calls();
822 int32_t max_number_of_consecutive_failing_optimizer_calls()
const;
823 void set_max_number_of_consecutive_failing_optimizer_calls(int32_t
value);
825 int32_t _internal_max_number_of_consecutive_failing_optimizer_calls()
const;
826 void _internal_set_max_number_of_consecutive_failing_optimizer_calls(int32_t
value);
830 bool has_exploit_symmetry_in_sat_first_solution()
const;
832 bool _internal_has_exploit_symmetry_in_sat_first_solution()
const;
834 void clear_exploit_symmetry_in_sat_first_solution();
835 bool exploit_symmetry_in_sat_first_solution()
const;
836 void set_exploit_symmetry_in_sat_first_solution(
bool value);
838 bool _internal_exploit_symmetry_in_sat_first_solution()
const;
839 void _internal_set_exploit_symmetry_in_sat_first_solution(
bool value);
843 bool has_use_potential_one_flip_repairs_in_ls()
const;
845 bool _internal_has_use_potential_one_flip_repairs_in_ls()
const;
847 void clear_use_potential_one_flip_repairs_in_ls();
848 bool use_potential_one_flip_repairs_in_ls()
const;
849 void set_use_potential_one_flip_repairs_in_ls(
bool value);
851 bool _internal_use_potential_one_flip_repairs_in_ls()
const;
852 void _internal_set_use_potential_one_flip_repairs_in_ls(
bool value);
856 bool has_use_lp_strong_branching()
const;
858 bool _internal_has_use_lp_strong_branching()
const;
860 void clear_use_lp_strong_branching();
861 bool use_lp_strong_branching()
const;
862 void set_use_lp_strong_branching(
bool value);
864 bool _internal_use_lp_strong_branching()
const;
865 void _internal_set_use_lp_strong_branching(
bool value);
869 bool has_decomposed_problem_min_time_in_seconds()
const;
871 bool _internal_has_decomposed_problem_min_time_in_seconds()
const;
873 void clear_decomposed_problem_min_time_in_seconds();
874 double decomposed_problem_min_time_in_seconds()
const;
875 void set_decomposed_problem_min_time_in_seconds(
double value);
877 double _internal_decomposed_problem_min_time_in_seconds()
const;
878 void _internal_set_decomposed_problem_min_time_in_seconds(
double value);
882 bool has_max_lp_solve_for_feasibility_problems()
const;
884 bool _internal_has_max_lp_solve_for_feasibility_problems()
const;
886 void clear_max_lp_solve_for_feasibility_problems();
887 int32_t max_lp_solve_for_feasibility_problems()
const;
888 void set_max_lp_solve_for_feasibility_problems(int32_t
value);
890 int32_t _internal_max_lp_solve_for_feasibility_problems()
const;
891 void _internal_set_max_lp_solve_for_feasibility_problems(int32_t
value);
895 bool has_max_time_in_seconds()
const;
897 bool _internal_has_max_time_in_seconds()
const;
899 void clear_max_time_in_seconds();
900 double max_time_in_seconds()
const;
901 void set_max_time_in_seconds(
double value);
903 double _internal_max_time_in_seconds()
const;
904 void _internal_set_max_time_in_seconds(
double value);
908 bool has_max_num_decisions_in_ls()
const;
910 bool _internal_has_max_num_decisions_in_ls()
const;
912 void clear_max_num_decisions_in_ls();
913 int32_t max_num_decisions_in_ls()
const;
914 void set_max_num_decisions_in_ls(int32_t
value);
916 int32_t _internal_max_num_decisions_in_ls()
const;
917 void _internal_set_max_num_decisions_in_ls(int32_t
value);
921 bool has_random_seed()
const;
923 bool _internal_has_random_seed()
const;
925 void clear_random_seed();
926 int32_t random_seed()
const;
927 void set_random_seed(int32_t
value);
929 int32_t _internal_random_seed()
const;
930 void _internal_set_random_seed(int32_t
value);
934 bool has_num_relaxed_vars()
const;
936 bool _internal_has_num_relaxed_vars()
const;
938 void clear_num_relaxed_vars();
939 int32_t num_relaxed_vars()
const;
940 void set_num_relaxed_vars(int32_t
value);
942 int32_t _internal_num_relaxed_vars()
const;
943 void _internal_set_num_relaxed_vars(int32_t
value);
947 bool has_max_number_of_conflicts_in_random_lns()
const;
949 bool _internal_has_max_number_of_conflicts_in_random_lns()
const;
951 void clear_max_number_of_conflicts_in_random_lns();
952 int32_t max_number_of_conflicts_in_random_lns()
const;
953 void set_max_number_of_conflicts_in_random_lns(int32_t
value);
955 int32_t _internal_max_number_of_conflicts_in_random_lns()
const;
956 void _internal_set_max_number_of_conflicts_in_random_lns(int32_t
value);
960 bool has_compute_estimated_impact()
const;
962 bool _internal_has_compute_estimated_impact()
const;
964 void clear_compute_estimated_impact();
965 bool compute_estimated_impact()
const;
966 void set_compute_estimated_impact(
bool value);
968 bool _internal_compute_estimated_impact()
const;
969 void _internal_set_compute_estimated_impact(
bool value);
973 bool has_use_random_lns()
const;
975 bool _internal_has_use_random_lns()
const;
977 void clear_use_random_lns();
978 bool use_random_lns()
const;
979 void set_use_random_lns(
bool value);
981 bool _internal_use_random_lns()
const;
982 void _internal_set_use_random_lns(
bool value);
986 bool has_use_lp_lns()
const;
988 bool _internal_has_use_lp_lns()
const;
990 void clear_use_lp_lns();
991 bool use_lp_lns()
const;
992 void set_use_lp_lns(
bool value);
994 bool _internal_use_lp_lns()
const;
995 void _internal_set_use_lp_lns(
bool value);
999 bool has_use_sat_to_choose_lns_neighbourhood()
const;
1001 bool _internal_has_use_sat_to_choose_lns_neighbourhood()
const;
1003 void clear_use_sat_to_choose_lns_neighbourhood();
1004 bool use_sat_to_choose_lns_neighbourhood()
const;
1005 void set_use_sat_to_choose_lns_neighbourhood(
bool value);
1007 bool _internal_use_sat_to_choose_lns_neighbourhood()
const;
1008 void _internal_set_use_sat_to_choose_lns_neighbourhood(
bool value);
1012 bool has_num_random_lns_tries()
const;
1014 bool _internal_has_num_random_lns_tries()
const;
1016 void clear_num_random_lns_tries();
1017 int32_t num_random_lns_tries()
const;
1018 void set_num_random_lns_tries(int32_t
value);
1020 int32_t _internal_num_random_lns_tries()
const;
1021 void _internal_set_num_random_lns_tries(int32_t
value);
1025 bool has_max_number_of_backtracks_in_ls()
const;
1027 bool _internal_has_max_number_of_backtracks_in_ls()
const;
1029 void clear_max_number_of_backtracks_in_ls();
1030 int64_t max_number_of_backtracks_in_ls()
const;
1031 void set_max_number_of_backtracks_in_ls(int64_t
value);
1033 int64_t _internal_max_number_of_backtracks_in_ls()
const;
1034 void _internal_set_max_number_of_backtracks_in_ls(int64_t
value);
1038 bool has_max_number_of_conflicts_for_quick_check()
const;
1040 bool _internal_has_max_number_of_conflicts_for_quick_check()
const;
1042 void clear_max_number_of_conflicts_for_quick_check();
1043 int32_t max_number_of_conflicts_for_quick_check()
const;
1044 void set_max_number_of_conflicts_for_quick_check(int32_t
value);
1046 int32_t _internal_max_number_of_conflicts_for_quick_check()
const;
1047 void _internal_set_max_number_of_conflicts_for_quick_check(int32_t
value);
1051 bool has_max_number_of_conflicts_in_random_solution_generation()
const;
1053 bool _internal_has_max_number_of_conflicts_in_random_solution_generation()
const;
1055 void clear_max_number_of_conflicts_in_random_solution_generation();
1056 int32_t max_number_of_conflicts_in_random_solution_generation()
const;
1057 void set_max_number_of_conflicts_in_random_solution_generation(int32_t
value);
1059 int32_t _internal_max_number_of_conflicts_in_random_solution_generation()
const;
1060 void _internal_set_max_number_of_conflicts_in_random_solution_generation(int32_t
value);
1064 bool has_max_number_of_explored_assignments_per_try_in_ls()
const;
1066 bool _internal_has_max_number_of_explored_assignments_per_try_in_ls()
const;
1068 void clear_max_number_of_explored_assignments_per_try_in_ls();
1069 int64_t max_number_of_explored_assignments_per_try_in_ls()
const;
1070 void set_max_number_of_explored_assignments_per_try_in_ls(int64_t
value);
1072 int64_t _internal_max_number_of_explored_assignments_per_try_in_ls()
const;
1073 void _internal_set_max_number_of_explored_assignments_per_try_in_ls(int64_t
value);
1077 bool has_use_transposition_table_in_ls()
const;
1079 bool _internal_has_use_transposition_table_in_ls()
const;
1081 void clear_use_transposition_table_in_ls();
1082 bool use_transposition_table_in_ls()
const;
1083 void set_use_transposition_table_in_ls(
bool value);
1085 bool _internal_use_transposition_table_in_ls()
const;
1086 void _internal_set_use_transposition_table_in_ls(
bool value);
1090 bool has_use_learned_binary_clauses_in_lp()
const;
1092 bool _internal_has_use_learned_binary_clauses_in_lp()
const;
1094 void clear_use_learned_binary_clauses_in_lp();
1095 bool use_learned_binary_clauses_in_lp()
const;
1096 void set_use_learned_binary_clauses_in_lp(
bool value);
1098 bool _internal_use_learned_binary_clauses_in_lp()
const;
1099 void _internal_set_use_learned_binary_clauses_in_lp(
bool value);
1103 bool has_number_of_solvers()
const;
1105 bool _internal_has_number_of_solvers()
const;
1107 void clear_number_of_solvers();
1108 int32_t number_of_solvers()
const;
1109 void set_number_of_solvers(int32_t
value);
1111 int32_t _internal_number_of_solvers()
const;
1112 void _internal_set_number_of_solvers(int32_t
value);
1116 bool has_max_deterministic_time()
const;
1118 bool _internal_has_max_deterministic_time()
const;
1120 void clear_max_deterministic_time();
1121 double max_deterministic_time()
const;
1122 void set_max_deterministic_time(
double value);
1124 double _internal_max_deterministic_time()
const;
1125 void _internal_set_max_deterministic_time(
double value);
1129 bool has_relative_gap_limit()
const;
1131 bool _internal_has_relative_gap_limit()
const;
1133 void clear_relative_gap_limit();
1134 double relative_gap_limit()
const;
1135 void set_relative_gap_limit(
double value);
1137 double _internal_relative_gap_limit()
const;
1138 void _internal_set_relative_gap_limit(
double value);
1142 bool has_decomposer_num_variables_threshold()
const;
1144 bool _internal_has_decomposer_num_variables_threshold()
const;
1146 void clear_decomposer_num_variables_threshold();
1147 int32_t decomposer_num_variables_threshold()
const;
1148 void set_decomposer_num_variables_threshold(int32_t
value);
1150 int32_t _internal_decomposer_num_variables_threshold()
const;
1151 void _internal_set_decomposer_num_variables_threshold(int32_t
value);
1155 bool has_num_bop_solvers_used_by_decomposition()
const;
1157 bool _internal_has_num_bop_solvers_used_by_decomposition()
const;
1159 void clear_num_bop_solvers_used_by_decomposition();
1160 int32_t num_bop_solvers_used_by_decomposition()
const;
1161 void set_num_bop_solvers_used_by_decomposition(int32_t
value);
1163 int32_t _internal_num_bop_solvers_used_by_decomposition()
const;
1164 void _internal_set_num_bop_solvers_used_by_decomposition(int32_t
value);
1168 bool has_guided_sat_conflicts_chunk()
const;
1170 bool _internal_has_guided_sat_conflicts_chunk()
const;
1172 void clear_guided_sat_conflicts_chunk();
1173 int32_t guided_sat_conflicts_chunk()
const;
1174 void set_guided_sat_conflicts_chunk(int32_t
value);
1176 int32_t _internal_guided_sat_conflicts_chunk()
const;
1177 void _internal_set_guided_sat_conflicts_chunk(int32_t
value);
1181 bool has_max_num_broken_constraints_in_ls()
const;
1183 bool _internal_has_max_num_broken_constraints_in_ls()
const;
1185 void clear_max_num_broken_constraints_in_ls();
1186 int32_t max_num_broken_constraints_in_ls()
const;
1187 void set_max_num_broken_constraints_in_ls(int32_t
value);
1189 int32_t _internal_max_num_broken_constraints_in_ls()
const;
1190 void _internal_set_max_num_broken_constraints_in_ls(int32_t
value);
1194 bool has_lp_max_deterministic_time()
const;
1196 bool _internal_has_lp_max_deterministic_time()
const;
1198 void clear_lp_max_deterministic_time();
1199 double lp_max_deterministic_time()
const;
1200 void set_lp_max_deterministic_time(
double value);
1202 double _internal_lp_max_deterministic_time()
const;
1203 void _internal_set_lp_max_deterministic_time(
double value);
1210 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1211 typedef void InternalArenaConstructable_;
1212 typedef void DestructorSkippable_;
1213 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1214 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1215 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1216 static const ::PROTOBUF_NAMESPACE_ID::internal::LazyString _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_;
1217 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_solver_optimizer_sets_;
1218 bool log_search_progress_;
1219 bool prune_search_tree_;
1220 bool sort_constraints_by_num_terms_;
1222 int synchronization_type_;
1223 int32_t max_number_of_consecutive_failing_optimizer_calls_;
1224 bool exploit_symmetry_in_sat_first_solution_;
1225 bool use_potential_one_flip_repairs_in_ls_;
1226 bool use_lp_strong_branching_;
1227 double decomposed_problem_min_time_in_seconds_;
1228 int32_t max_lp_solve_for_feasibility_problems_;
1229 double max_time_in_seconds_;
1230 int32_t max_num_decisions_in_ls_;
1231 int32_t random_seed_;
1232 int32_t num_relaxed_vars_;
1233 int32_t max_number_of_conflicts_in_random_lns_;
1234 bool compute_estimated_impact_;
1235 bool use_random_lns_;
1237 bool use_sat_to_choose_lns_neighbourhood_;
1238 int32_t num_random_lns_tries_;
1239 int64_t max_number_of_backtracks_in_ls_;
1240 int32_t max_number_of_conflicts_for_quick_check_;
1241 int32_t max_number_of_conflicts_in_random_solution_generation_;
1242 int64_t max_number_of_explored_assignments_per_try_in_ls_;
1243 bool use_transposition_table_in_ls_;
1244 bool use_learned_binary_clauses_in_lp_;
1245 int32_t number_of_solvers_;
1246 double max_deterministic_time_;
1247 double relative_gap_limit_;
1248 int32_t decomposer_num_variables_threshold_;
1249 int32_t num_bop_solvers_used_by_decomposition_;
1250 int32_t guided_sat_conflicts_chunk_;
1251 int32_t max_num_broken_constraints_in_ls_;
1252 double lp_max_deterministic_time_;
1253 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1261 #pragma GCC diagnostic push
1262 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1267inline bool BopOptimizerMethod::_internal_has_type()
const {
1268 bool value = (_has_bits_[0] & 0x00000001u) != 0;
1272 return _internal_has_type();
1276 _has_bits_[0] &= ~0x00000001u;
1283 return _internal_type();
1287 _has_bits_[0] |= 0x00000001u;
1291 _internal_set_type(
value);
1300inline int BopSolverOptimizerSet::_internal_methods_size()
const {
1301 return methods_.size();
1304 return _internal_methods_size();
1311 return methods_.Mutable(
index);
1313inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
1318inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::_internal_methods(
int index)
const {
1319 return methods_.Get(
index);
1323 return _internal_methods(
index);
1325inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::_internal_add_methods() {
1326 return methods_.Add();
1333inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
1344inline bool BopParameters::_internal_has_max_time_in_seconds()
const {
1345 bool value = (_has_bits_[0] & 0x00001000u) != 0;
1349 return _internal_has_max_time_in_seconds();
1352 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1353 _has_bits_[0] &= ~0x00001000u;
1355inline double BopParameters::_internal_max_time_in_seconds()
const {
1356 return max_time_in_seconds_;
1360 return _internal_max_time_in_seconds();
1362inline void BopParameters::_internal_set_max_time_in_seconds(
double value) {
1363 _has_bits_[0] |= 0x00001000u;
1364 max_time_in_seconds_ =
value;
1367 _internal_set_max_time_in_seconds(
value);
1372inline bool BopParameters::_internal_has_max_deterministic_time()
const {
1373 bool value = (_has_bits_[0] & 0x20000000u) != 0;
1377 return _internal_has_max_deterministic_time();
1380 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1381 _has_bits_[0] &= ~0x20000000u;
1383inline double BopParameters::_internal_max_deterministic_time()
const {
1384 return max_deterministic_time_;
1388 return _internal_max_deterministic_time();
1390inline void BopParameters::_internal_set_max_deterministic_time(
double value) {
1391 _has_bits_[0] |= 0x20000000u;
1392 max_deterministic_time_ =
value;
1395 _internal_set_max_deterministic_time(
value);
1400inline bool BopParameters::_internal_has_lp_max_deterministic_time()
const {
1401 bool value = (_has_bits_[1] & 0x00000008u) != 0;
1405 return _internal_has_lp_max_deterministic_time();
1408 lp_max_deterministic_time_ = 1;
1409 _has_bits_[1] &= ~0x00000008u;
1411inline double BopParameters::_internal_lp_max_deterministic_time()
const {
1412 return lp_max_deterministic_time_;
1416 return _internal_lp_max_deterministic_time();
1418inline void BopParameters::_internal_set_lp_max_deterministic_time(
double value) {
1419 _has_bits_[1] |= 0x00000008u;
1420 lp_max_deterministic_time_ =
value;
1423 _internal_set_lp_max_deterministic_time(
value);
1428inline bool BopParameters::_internal_has_max_number_of_consecutive_failing_optimizer_calls()
const {
1429 bool value = (_has_bits_[0] & 0x00000040u) != 0;
1433 return _internal_has_max_number_of_consecutive_failing_optimizer_calls();
1436 max_number_of_consecutive_failing_optimizer_calls_ = 0;
1437 _has_bits_[0] &= ~0x00000040u;
1439inline int32_t BopParameters::_internal_max_number_of_consecutive_failing_optimizer_calls()
const {
1440 return max_number_of_consecutive_failing_optimizer_calls_;
1444 return _internal_max_number_of_consecutive_failing_optimizer_calls();
1446inline void BopParameters::_internal_set_max_number_of_consecutive_failing_optimizer_calls(int32_t
value) {
1447 _has_bits_[0] |= 0x00000040u;
1448 max_number_of_consecutive_failing_optimizer_calls_ =
value;
1451 _internal_set_max_number_of_consecutive_failing_optimizer_calls(
value);
1456inline bool BopParameters::_internal_has_relative_gap_limit()
const {
1457 bool value = (_has_bits_[0] & 0x40000000u) != 0;
1461 return _internal_has_relative_gap_limit();
1464 relative_gap_limit_ = 0.0001;
1465 _has_bits_[0] &= ~0x40000000u;
1467inline double BopParameters::_internal_relative_gap_limit()
const {
1468 return relative_gap_limit_;
1472 return _internal_relative_gap_limit();
1474inline void BopParameters::_internal_set_relative_gap_limit(
double value) {
1475 _has_bits_[0] |= 0x40000000u;
1476 relative_gap_limit_ =
value;
1479 _internal_set_relative_gap_limit(
value);
1484inline bool BopParameters::_internal_has_max_num_decisions_in_ls()
const {
1485 bool value = (_has_bits_[0] & 0x00002000u) != 0;
1489 return _internal_has_max_num_decisions_in_ls();
1492 max_num_decisions_in_ls_ = 4;
1493 _has_bits_[0] &= ~0x00002000u;
1495inline int32_t BopParameters::_internal_max_num_decisions_in_ls()
const {
1496 return max_num_decisions_in_ls_;
1500 return _internal_max_num_decisions_in_ls();
1502inline void BopParameters::_internal_set_max_num_decisions_in_ls(int32_t
value) {
1503 _has_bits_[0] |= 0x00002000u;
1504 max_num_decisions_in_ls_ =
value;
1507 _internal_set_max_num_decisions_in_ls(
value);
1512inline bool BopParameters::_internal_has_max_num_broken_constraints_in_ls()
const {
1513 bool value = (_has_bits_[1] & 0x00000004u) != 0;
1517 return _internal_has_max_num_broken_constraints_in_ls();
1520 max_num_broken_constraints_in_ls_ = 2147483647;
1521 _has_bits_[1] &= ~0x00000004u;
1523inline int32_t BopParameters::_internal_max_num_broken_constraints_in_ls()
const {
1524 return max_num_broken_constraints_in_ls_;
1528 return _internal_max_num_broken_constraints_in_ls();
1530inline void BopParameters::_internal_set_max_num_broken_constraints_in_ls(int32_t
value) {
1531 _has_bits_[1] |= 0x00000004u;
1532 max_num_broken_constraints_in_ls_ =
value;
1535 _internal_set_max_num_broken_constraints_in_ls(
value);
1540inline bool BopParameters::_internal_has_log_search_progress()
const {
1541 bool value = (_has_bits_[0] & 0x00000002u) != 0;
1545 return _internal_has_log_search_progress();
1548 log_search_progress_ =
false;
1549 _has_bits_[0] &= ~0x00000002u;
1551inline bool BopParameters::_internal_log_search_progress()
const {
1552 return log_search_progress_;
1556 return _internal_log_search_progress();
1558inline void BopParameters::_internal_set_log_search_progress(
bool value) {
1559 _has_bits_[0] |= 0x00000002u;
1560 log_search_progress_ =
value;
1563 _internal_set_log_search_progress(
value);
1568inline bool BopParameters::_internal_has_compute_estimated_impact()
const {
1569 bool value = (_has_bits_[0] & 0x00020000u) != 0;
1573 return _internal_has_compute_estimated_impact();
1576 compute_estimated_impact_ =
true;
1577 _has_bits_[0] &= ~0x00020000u;
1579inline bool BopParameters::_internal_compute_estimated_impact()
const {
1580 return compute_estimated_impact_;
1584 return _internal_compute_estimated_impact();
1586inline void BopParameters::_internal_set_compute_estimated_impact(
bool value) {
1587 _has_bits_[0] |= 0x00020000u;
1588 compute_estimated_impact_ =
value;
1591 _internal_set_compute_estimated_impact(
value);
1596inline bool BopParameters::_internal_has_prune_search_tree()
const {
1597 bool value = (_has_bits_[0] & 0x00000004u) != 0;
1601 return _internal_has_prune_search_tree();
1604 prune_search_tree_ =
false;
1605 _has_bits_[0] &= ~0x00000004u;
1607inline bool BopParameters::_internal_prune_search_tree()
const {
1608 return prune_search_tree_;
1612 return _internal_prune_search_tree();
1614inline void BopParameters::_internal_set_prune_search_tree(
bool value) {
1615 _has_bits_[0] |= 0x00000004u;
1616 prune_search_tree_ =
value;
1619 _internal_set_prune_search_tree(
value);
1624inline bool BopParameters::_internal_has_sort_constraints_by_num_terms()
const {
1625 bool value = (_has_bits_[0] & 0x00000008u) != 0;
1629 return _internal_has_sort_constraints_by_num_terms();
1632 sort_constraints_by_num_terms_ =
false;
1633 _has_bits_[0] &= ~0x00000008u;
1635inline bool BopParameters::_internal_sort_constraints_by_num_terms()
const {
1636 return sort_constraints_by_num_terms_;
1640 return _internal_sort_constraints_by_num_terms();
1642inline void BopParameters::_internal_set_sort_constraints_by_num_terms(
bool value) {
1643 _has_bits_[0] |= 0x00000008u;
1644 sort_constraints_by_num_terms_ =
value;
1647 _internal_set_sort_constraints_by_num_terms(
value);
1652inline bool BopParameters::_internal_has_use_random_lns()
const {
1653 bool value = (_has_bits_[0] & 0x00040000u) != 0;
1657 return _internal_has_use_random_lns();
1660 use_random_lns_ =
true;
1661 _has_bits_[0] &= ~0x00040000u;
1663inline bool BopParameters::_internal_use_random_lns()
const {
1664 return use_random_lns_;
1668 return _internal_use_random_lns();
1670inline void BopParameters::_internal_set_use_random_lns(
bool value) {
1671 _has_bits_[0] |= 0x00040000u;
1672 use_random_lns_ =
value;
1675 _internal_set_use_random_lns(
value);
1680inline bool BopParameters::_internal_has_random_seed()
const {
1681 bool value = (_has_bits_[0] & 0x00004000u) != 0;
1685 return _internal_has_random_seed();
1689 _has_bits_[0] &= ~0x00004000u;
1691inline int32_t BopParameters::_internal_random_seed()
const {
1692 return random_seed_;
1696 return _internal_random_seed();
1698inline void BopParameters::_internal_set_random_seed(int32_t
value) {
1699 _has_bits_[0] |= 0x00004000u;
1700 random_seed_ =
value;
1703 _internal_set_random_seed(
value);
1708inline bool BopParameters::_internal_has_num_relaxed_vars()
const {
1709 bool value = (_has_bits_[0] & 0x00008000u) != 0;
1713 return _internal_has_num_relaxed_vars();
1716 num_relaxed_vars_ = 10;
1717 _has_bits_[0] &= ~0x00008000u;
1719inline int32_t BopParameters::_internal_num_relaxed_vars()
const {
1720 return num_relaxed_vars_;
1724 return _internal_num_relaxed_vars();
1726inline void BopParameters::_internal_set_num_relaxed_vars(int32_t
value) {
1727 _has_bits_[0] |= 0x00008000u;
1728 num_relaxed_vars_ =
value;
1731 _internal_set_num_relaxed_vars(
value);
1736inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_lns()
const {
1737 bool value = (_has_bits_[0] & 0x00010000u) != 0;
1741 return _internal_has_max_number_of_conflicts_in_random_lns();
1744 max_number_of_conflicts_in_random_lns_ = 2500;
1745 _has_bits_[0] &= ~0x00010000u;
1747inline int32_t BopParameters::_internal_max_number_of_conflicts_in_random_lns()
const {
1748 return max_number_of_conflicts_in_random_lns_;
1752 return _internal_max_number_of_conflicts_in_random_lns();
1754inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_lns(int32_t
value) {
1755 _has_bits_[0] |= 0x00010000u;
1756 max_number_of_conflicts_in_random_lns_ =
value;
1759 _internal_set_max_number_of_conflicts_in_random_lns(
value);
1764inline bool BopParameters::_internal_has_num_random_lns_tries()
const {
1765 bool value = (_has_bits_[0] & 0x00200000u) != 0;
1769 return _internal_has_num_random_lns_tries();
1772 num_random_lns_tries_ = 1;
1773 _has_bits_[0] &= ~0x00200000u;
1775inline int32_t BopParameters::_internal_num_random_lns_tries()
const {
1776 return num_random_lns_tries_;
1780 return _internal_num_random_lns_tries();
1782inline void BopParameters::_internal_set_num_random_lns_tries(int32_t
value) {
1783 _has_bits_[0] |= 0x00200000u;
1784 num_random_lns_tries_ =
value;
1787 _internal_set_num_random_lns_tries(
value);
1792inline bool BopParameters::_internal_has_max_number_of_backtracks_in_ls()
const {
1793 bool value = (_has_bits_[0] & 0x00400000u) != 0;
1797 return _internal_has_max_number_of_backtracks_in_ls();
1800 max_number_of_backtracks_in_ls_ = int64_t{100000000};
1801 _has_bits_[0] &= ~0x00400000u;
1803inline int64_t BopParameters::_internal_max_number_of_backtracks_in_ls()
const {
1804 return max_number_of_backtracks_in_ls_;
1808 return _internal_max_number_of_backtracks_in_ls();
1810inline void BopParameters::_internal_set_max_number_of_backtracks_in_ls(int64_t
value) {
1811 _has_bits_[0] |= 0x00400000u;
1812 max_number_of_backtracks_in_ls_ =
value;
1815 _internal_set_max_number_of_backtracks_in_ls(
value);
1820inline bool BopParameters::_internal_has_use_lp_lns()
const {
1821 bool value = (_has_bits_[0] & 0x00080000u) != 0;
1825 return _internal_has_use_lp_lns();
1829 _has_bits_[0] &= ~0x00080000u;
1831inline bool BopParameters::_internal_use_lp_lns()
const {
1836 return _internal_use_lp_lns();
1838inline void BopParameters::_internal_set_use_lp_lns(
bool value) {
1839 _has_bits_[0] |= 0x00080000u;
1840 use_lp_lns_ =
value;
1843 _internal_set_use_lp_lns(
value);
1848inline bool BopParameters::_internal_has_use_sat_to_choose_lns_neighbourhood()
const {
1849 bool value = (_has_bits_[0] & 0x00100000u) != 0;
1853 return _internal_has_use_sat_to_choose_lns_neighbourhood();
1856 use_sat_to_choose_lns_neighbourhood_ =
true;
1857 _has_bits_[0] &= ~0x00100000u;
1859inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood()
const {
1860 return use_sat_to_choose_lns_neighbourhood_;
1864 return _internal_use_sat_to_choose_lns_neighbourhood();
1866inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(
bool value) {
1867 _has_bits_[0] |= 0x00100000u;
1868 use_sat_to_choose_lns_neighbourhood_ =
value;
1871 _internal_set_use_sat_to_choose_lns_neighbourhood(
value);
1876inline bool BopParameters::_internal_has_max_number_of_conflicts_for_quick_check()
const {
1877 bool value = (_has_bits_[0] & 0x00800000u) != 0;
1881 return _internal_has_max_number_of_conflicts_for_quick_check();
1884 max_number_of_conflicts_for_quick_check_ = 10;
1885 _has_bits_[0] &= ~0x00800000u;
1887inline int32_t BopParameters::_internal_max_number_of_conflicts_for_quick_check()
const {
1888 return max_number_of_conflicts_for_quick_check_;
1892 return _internal_max_number_of_conflicts_for_quick_check();
1894inline void BopParameters::_internal_set_max_number_of_conflicts_for_quick_check(int32_t
value) {
1895 _has_bits_[0] |= 0x00800000u;
1896 max_number_of_conflicts_for_quick_check_ =
value;
1899 _internal_set_max_number_of_conflicts_for_quick_check(
value);
1904inline bool BopParameters::_internal_has_use_symmetry()
const {
1905 bool value = (_has_bits_[0] & 0x00000010u) != 0;
1909 return _internal_has_use_symmetry();
1912 use_symmetry_ =
false;
1913 _has_bits_[0] &= ~0x00000010u;
1915inline bool BopParameters::_internal_use_symmetry()
const {
1916 return use_symmetry_;
1920 return _internal_use_symmetry();
1922inline void BopParameters::_internal_set_use_symmetry(
bool value) {
1923 _has_bits_[0] |= 0x00000010u;
1924 use_symmetry_ =
value;
1927 _internal_set_use_symmetry(
value);
1932inline bool BopParameters::_internal_has_exploit_symmetry_in_sat_first_solution()
const {
1933 bool value = (_has_bits_[0] & 0x00000080u) != 0;
1937 return _internal_has_exploit_symmetry_in_sat_first_solution();
1940 exploit_symmetry_in_sat_first_solution_ =
false;
1941 _has_bits_[0] &= ~0x00000080u;
1943inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution()
const {
1944 return exploit_symmetry_in_sat_first_solution_;
1948 return _internal_exploit_symmetry_in_sat_first_solution();
1950inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(
bool value) {
1951 _has_bits_[0] |= 0x00000080u;
1952 exploit_symmetry_in_sat_first_solution_ =
value;
1955 _internal_set_exploit_symmetry_in_sat_first_solution(
value);
1960inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_solution_generation()
const {
1961 bool value = (_has_bits_[0] & 0x01000000u) != 0;
1965 return _internal_has_max_number_of_conflicts_in_random_solution_generation();
1968 max_number_of_conflicts_in_random_solution_generation_ = 500;
1969 _has_bits_[0] &= ~0x01000000u;
1971inline int32_t BopParameters::_internal_max_number_of_conflicts_in_random_solution_generation()
const {
1972 return max_number_of_conflicts_in_random_solution_generation_;
1976 return _internal_max_number_of_conflicts_in_random_solution_generation();
1978inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_solution_generation(int32_t
value) {
1979 _has_bits_[0] |= 0x01000000u;
1980 max_number_of_conflicts_in_random_solution_generation_ =
value;
1983 _internal_set_max_number_of_conflicts_in_random_solution_generation(
value);
1988inline bool BopParameters::_internal_has_max_number_of_explored_assignments_per_try_in_ls()
const {
1989 bool value = (_has_bits_[0] & 0x02000000u) != 0;
1993 return _internal_has_max_number_of_explored_assignments_per_try_in_ls();
1996 max_number_of_explored_assignments_per_try_in_ls_ = int64_t{10000};
1997 _has_bits_[0] &= ~0x02000000u;
1999inline int64_t BopParameters::_internal_max_number_of_explored_assignments_per_try_in_ls()
const {
2000 return max_number_of_explored_assignments_per_try_in_ls_;
2004 return _internal_max_number_of_explored_assignments_per_try_in_ls();
2006inline void BopParameters::_internal_set_max_number_of_explored_assignments_per_try_in_ls(int64_t
value) {
2007 _has_bits_[0] |= 0x02000000u;
2008 max_number_of_explored_assignments_per_try_in_ls_ =
value;
2011 _internal_set_max_number_of_explored_assignments_per_try_in_ls(
value);
2016inline bool BopParameters::_internal_has_use_transposition_table_in_ls()
const {
2017 bool value = (_has_bits_[0] & 0x04000000u) != 0;
2021 return _internal_has_use_transposition_table_in_ls();
2024 use_transposition_table_in_ls_ =
true;
2025 _has_bits_[0] &= ~0x04000000u;
2027inline bool BopParameters::_internal_use_transposition_table_in_ls()
const {
2028 return use_transposition_table_in_ls_;
2032 return _internal_use_transposition_table_in_ls();
2034inline void BopParameters::_internal_set_use_transposition_table_in_ls(
bool value) {
2035 _has_bits_[0] |= 0x04000000u;
2036 use_transposition_table_in_ls_ =
value;
2039 _internal_set_use_transposition_table_in_ls(
value);
2044inline bool BopParameters::_internal_has_use_potential_one_flip_repairs_in_ls()
const {
2045 bool value = (_has_bits_[0] & 0x00000100u) != 0;
2049 return _internal_has_use_potential_one_flip_repairs_in_ls();
2052 use_potential_one_flip_repairs_in_ls_ =
false;
2053 _has_bits_[0] &= ~0x00000100u;
2055inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls()
const {
2056 return use_potential_one_flip_repairs_in_ls_;
2060 return _internal_use_potential_one_flip_repairs_in_ls();
2062inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(
bool value) {
2063 _has_bits_[0] |= 0x00000100u;
2064 use_potential_one_flip_repairs_in_ls_ =
value;
2067 _internal_set_use_potential_one_flip_repairs_in_ls(
value);
2072inline bool BopParameters::_internal_has_use_learned_binary_clauses_in_lp()
const {
2073 bool value = (_has_bits_[0] & 0x08000000u) != 0;
2077 return _internal_has_use_learned_binary_clauses_in_lp();
2080 use_learned_binary_clauses_in_lp_ =
true;
2081 _has_bits_[0] &= ~0x08000000u;
2083inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp()
const {
2084 return use_learned_binary_clauses_in_lp_;
2088 return _internal_use_learned_binary_clauses_in_lp();
2090inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(
bool value) {
2091 _has_bits_[0] |= 0x08000000u;
2092 use_learned_binary_clauses_in_lp_ =
value;
2095 _internal_set_use_learned_binary_clauses_in_lp(
value);
2100inline bool BopParameters::_internal_has_number_of_solvers()
const {
2101 bool value = (_has_bits_[0] & 0x10000000u) != 0;
2105 return _internal_has_number_of_solvers();
2108 number_of_solvers_ = 1;
2109 _has_bits_[0] &= ~0x10000000u;
2111inline int32_t BopParameters::_internal_number_of_solvers()
const {
2112 return number_of_solvers_;
2116 return _internal_number_of_solvers();
2118inline void BopParameters::_internal_set_number_of_solvers(int32_t
value) {
2119 _has_bits_[0] |= 0x10000000u;
2120 number_of_solvers_ =
value;
2123 _internal_set_number_of_solvers(
value);
2128inline bool BopParameters::_internal_has_synchronization_type()
const {
2129 bool value = (_has_bits_[0] & 0x00000020u) != 0;
2133 return _internal_has_synchronization_type();
2136 synchronization_type_ = 0;
2137 _has_bits_[0] &= ~0x00000020u;
2144 return _internal_synchronization_type();
2148 _has_bits_[0] |= 0x00000020u;
2149 synchronization_type_ =
value;
2152 _internal_set_synchronization_type(
value);
2157inline int BopParameters::_internal_solver_optimizer_sets_size()
const {
2158 return solver_optimizer_sets_.size();
2161 return _internal_solver_optimizer_sets_size();
2164 solver_optimizer_sets_.Clear();
2168 return solver_optimizer_sets_.Mutable(
index);
2170inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
2173 return &solver_optimizer_sets_;
2175inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::_internal_solver_optimizer_sets(
int index)
const {
2176 return solver_optimizer_sets_.Get(
index);
2180 return _internal_solver_optimizer_sets(
index);
2182inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::_internal_add_solver_optimizer_sets() {
2183 return solver_optimizer_sets_.Add();
2190inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
2193 return solver_optimizer_sets_;
2197inline bool BopParameters::_internal_has_default_solver_optimizer_sets()
const {
2198 bool value = (_has_bits_[0] & 0x00000001u) != 0;
2202 return _internal_has_default_solver_optimizer_sets();
2205 default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArenaForAllocation());
2206 _has_bits_[0] &= ~0x00000001u;
2210 if (default_solver_optimizer_sets_.IsDefault(
nullptr))
return _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get();
2211 return _internal_default_solver_optimizer_sets();
2213template <
typename ArgT0,
typename... ArgT>
2214inline PROTOBUF_ALWAYS_INLINE
2216 _has_bits_[0] |= 0x00000001u;
2217 default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{},
static_cast<ArgT0 &&
>(arg0), args..., GetArenaForAllocation());
2221 std::string* _s = _internal_mutable_default_solver_optimizer_sets();
2225inline const std::string& BopParameters::_internal_default_solver_optimizer_sets()
const {
2226 return default_solver_optimizer_sets_.Get();
2228inline void BopParameters::_internal_set_default_solver_optimizer_sets(
const std::string&
value) {
2229 _has_bits_[0] |= 0x00000001u;
2230 default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{},
value, GetArenaForAllocation());
2232inline std::string* BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2233 _has_bits_[0] |= 0x00000001u;
2234 return default_solver_optimizer_sets_.Mutable(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArenaForAllocation());
2238 if (!_internal_has_default_solver_optimizer_sets()) {
2241 _has_bits_[0] &= ~0x00000001u;
2242 auto* p = default_solver_optimizer_sets_.ReleaseNonDefault(
nullptr, GetArenaForAllocation());
2246 if (default_solver_optimizer_sets !=
nullptr) {
2247 _has_bits_[0] |= 0x00000001u;
2249 _has_bits_[0] &= ~0x00000001u;
2251 default_solver_optimizer_sets_.SetAllocated(
nullptr, default_solver_optimizer_sets,
2252 GetArenaForAllocation());
2257inline bool BopParameters::_internal_has_use_lp_strong_branching()
const {
2258 bool value = (_has_bits_[0] & 0x00000200u) != 0;
2262 return _internal_has_use_lp_strong_branching();
2265 use_lp_strong_branching_ =
false;
2266 _has_bits_[0] &= ~0x00000200u;
2268inline bool BopParameters::_internal_use_lp_strong_branching()
const {
2269 return use_lp_strong_branching_;
2273 return _internal_use_lp_strong_branching();
2275inline void BopParameters::_internal_set_use_lp_strong_branching(
bool value) {
2276 _has_bits_[0] |= 0x00000200u;
2277 use_lp_strong_branching_ =
value;
2280 _internal_set_use_lp_strong_branching(
value);
2285inline bool BopParameters::_internal_has_decomposer_num_variables_threshold()
const {
2286 bool value = (_has_bits_[0] & 0x80000000u) != 0;
2290 return _internal_has_decomposer_num_variables_threshold();
2293 decomposer_num_variables_threshold_ = 50;
2294 _has_bits_[0] &= ~0x80000000u;
2296inline int32_t BopParameters::_internal_decomposer_num_variables_threshold()
const {
2297 return decomposer_num_variables_threshold_;
2301 return _internal_decomposer_num_variables_threshold();
2303inline void BopParameters::_internal_set_decomposer_num_variables_threshold(int32_t
value) {
2304 _has_bits_[0] |= 0x80000000u;
2305 decomposer_num_variables_threshold_ =
value;
2308 _internal_set_decomposer_num_variables_threshold(
value);
2313inline bool BopParameters::_internal_has_num_bop_solvers_used_by_decomposition()
const {
2314 bool value = (_has_bits_[1] & 0x00000001u) != 0;
2318 return _internal_has_num_bop_solvers_used_by_decomposition();
2321 num_bop_solvers_used_by_decomposition_ = 1;
2322 _has_bits_[1] &= ~0x00000001u;
2324inline int32_t BopParameters::_internal_num_bop_solvers_used_by_decomposition()
const {
2325 return num_bop_solvers_used_by_decomposition_;
2329 return _internal_num_bop_solvers_used_by_decomposition();
2331inline void BopParameters::_internal_set_num_bop_solvers_used_by_decomposition(int32_t
value) {
2332 _has_bits_[1] |= 0x00000001u;
2333 num_bop_solvers_used_by_decomposition_ =
value;
2336 _internal_set_num_bop_solvers_used_by_decomposition(
value);
2341inline bool BopParameters::_internal_has_decomposed_problem_min_time_in_seconds()
const {
2342 bool value = (_has_bits_[0] & 0x00000400u) != 0;
2346 return _internal_has_decomposed_problem_min_time_in_seconds();
2349 decomposed_problem_min_time_in_seconds_ = 0;
2350 _has_bits_[0] &= ~0x00000400u;
2352inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds()
const {
2353 return decomposed_problem_min_time_in_seconds_;
2357 return _internal_decomposed_problem_min_time_in_seconds();
2359inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(
double value) {
2360 _has_bits_[0] |= 0x00000400u;
2361 decomposed_problem_min_time_in_seconds_ =
value;
2364 _internal_set_decomposed_problem_min_time_in_seconds(
value);
2369inline bool BopParameters::_internal_has_guided_sat_conflicts_chunk()
const {
2370 bool value = (_has_bits_[1] & 0x00000002u) != 0;
2374 return _internal_has_guided_sat_conflicts_chunk();
2377 guided_sat_conflicts_chunk_ = 1000;
2378 _has_bits_[1] &= ~0x00000002u;
2380inline int32_t BopParameters::_internal_guided_sat_conflicts_chunk()
const {
2381 return guided_sat_conflicts_chunk_;
2385 return _internal_guided_sat_conflicts_chunk();
2387inline void BopParameters::_internal_set_guided_sat_conflicts_chunk(int32_t
value) {
2388 _has_bits_[1] |= 0x00000002u;
2389 guided_sat_conflicts_chunk_ =
value;
2392 _internal_set_guided_sat_conflicts_chunk(
value);
2397inline bool BopParameters::_internal_has_max_lp_solve_for_feasibility_problems()
const {
2398 bool value = (_has_bits_[0] & 0x00000800u) != 0;
2402 return _internal_has_max_lp_solve_for_feasibility_problems();
2405 max_lp_solve_for_feasibility_problems_ = 0;
2406 _has_bits_[0] &= ~0x00000800u;
2408inline int32_t BopParameters::_internal_max_lp_solve_for_feasibility_problems()
const {
2409 return max_lp_solve_for_feasibility_problems_;
2413 return _internal_max_lp_solve_for_feasibility_problems();
2415inline void BopParameters::_internal_set_max_lp_solve_for_feasibility_problems(int32_t
value) {
2416 _has_bits_[0] |= 0x00000800u;
2417 max_lp_solve_for_feasibility_problems_ =
value;
2420 _internal_set_max_lp_solve_for_feasibility_problems(
value);
2425 #pragma GCC diagnostic pop
2437PROTOBUF_NAMESPACE_OPEN
2441inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopOptimizerMethod_OptimizerType>() {
2446inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopParameters_ThreadSynchronizationType>() {
2450PROTOBUF_NAMESPACE_CLOSE
2454#include <google/protobuf/port_undef.inc>
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto
static bool OptimizerType_IsValid(int value)
static constexpr OptimizerType USER_GUIDED_FIRST_SOLUTION
static constexpr OptimizerType LP_FIRST_SOLUTION
BopOptimizerMethod * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
int GetCachedSize() const final
static const BopOptimizerMethod & default_instance()
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const ClassData _class_data_
static constexpr OptimizerType OptimizerType_MAX
static constexpr OptimizerType OBJECTIVE_FIRST_SOLUTION
BopOptimizerMethod & operator=(BopOptimizerMethod &&from) noexcept
BopOptimizerMethod(BopOptimizerMethod &&from) noexcept
~BopOptimizerMethod() override
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * OptimizerType_descriptor()
static constexpr OptimizerType RELATION_GRAPH_LNS
static constexpr OptimizerType RANDOM_VARIABLE_LNS
bool IsInitialized() const final
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static constexpr int kIndexInFileMessages
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
static const std::string & OptimizerType_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void UnsafeArenaSwap(BopOptimizerMethod *other)
void MergeFrom(const BopOptimizerMethod &from)
static constexpr OptimizerType SAT_CORE_BASED
static constexpr OptimizerType RANDOM_VARIABLE_LNS_GUIDED_BY_LP
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static constexpr OptimizerType OptimizerType_MIN
static constexpr OptimizerType LINEAR_RELAXATION
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static bool OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, OptimizerType *value)
static constexpr OptimizerType COMPLETE_LNS
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
friend void swap(BopOptimizerMethod &a, BopOptimizerMethod &b)
void CopyFrom(const BopOptimizerMethod &from)
static const BopOptimizerMethod * internal_default_instance()
void set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value)
static constexpr OptimizerType SAT_LINEAR_SEARCH
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr OptimizerType LOCAL_SEARCH
static constexpr OptimizerType RELATION_GRAPH_LNS_GUIDED_BY_LP
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::operations_research::bop::BopOptimizerMethod_OptimizerType type() const
size_t ByteSizeLong() const final
BopOptimizerMethod & operator=(const BopOptimizerMethod &from)
void Swap(BopOptimizerMethod *other)
static constexpr OptimizerType RANDOM_FIRST_SOLUTION
static constexpr int OptimizerType_ARRAYSIZE
bool has_lp_max_deterministic_time() const
BopParameters(BopParameters &&from) noexcept
double max_deterministic_time() const
bool has_use_lp_lns() const
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > * mutable_solver_optimizer_sets()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > & solver_optimizer_sets() const
void clear_max_num_decisions_in_ls()
void clear_max_number_of_conflicts_in_random_lns()
void set_max_num_decisions_in_ls(int32_t value)
void set_use_transposition_table_in_ls(bool 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_max_lp_solve_for_feasibility_problems(int32_t value)
void set_prune_search_tree(bool value)
BopParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void clear_num_bop_solvers_used_by_decomposition()
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()
void clear_num_random_lns_tries()
void clear_compute_estimated_impact()
void clear_use_learned_binary_clauses_in_lp()
bool has_max_number_of_conflicts_in_random_solution_generation() const
void clear_lp_max_deterministic_time()
bool has_use_learned_binary_clauses_in_lp() const
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 set_default_solver_optimizer_sets(ArgT0 &&arg0, ArgT... args)
void UnsafeArenaSwap(BopParameters *other)
int32_t num_relaxed_vars() const
static const ClassData _class_data_
void clear_number_of_solvers()
void clear_use_lp_strong_branching()
bool has_use_symmetry() const
bool has_prune_search_tree() const
bool sort_constraints_by_num_terms() const
void set_compute_estimated_impact(bool value)
bool prune_search_tree() const
bool has_number_of_solvers() const
bool has_compute_estimated_impact() const
void clear_num_relaxed_vars()
void set_num_random_lns_tries(int32_t value)
bool has_use_random_lns() const
int32_t max_number_of_conflicts_in_random_solution_generation() const
void clear_decomposed_problem_min_time_in_seconds()
int32_t max_lp_solve_for_feasibility_problems() const
void set_relative_gap_limit(double value)
double relative_gap_limit() const
bool has_max_number_of_conflicts_in_random_lns() const
std::string * mutable_default_solver_optimizer_sets()
BopParameters & operator=(BopParameters &&from) noexcept
void clear_use_sat_to_choose_lns_neighbourhood()
bool has_max_num_broken_constraints_in_ls() const
void set_use_random_lns(bool value)
static const BopParameters & default_instance()
void clear_use_random_lns()
static const std::string & ThreadSynchronizationType_Name(T enum_t_value)
void set_decomposed_problem_min_time_in_seconds(double value)
int32_t max_number_of_conflicts_for_quick_check() const
int32_t decomposer_num_variables_threshold() const
const std::string & default_solver_optimizer_sets() const
bool has_num_random_lns_tries() const
int32_t number_of_solvers() const
void set_num_bop_solvers_used_by_decomposition(int32_t value)
void clear_guided_sat_conflicts_chunk()
void set_max_number_of_conflicts_in_random_solution_generation(int32_t value)
bool has_use_transposition_table_in_ls() const
bool has_decomposer_num_variables_threshold() 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
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
void set_use_lp_strong_branching(bool value)
bool has_use_potential_one_flip_repairs_in_ls() const
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_max_number_of_consecutive_failing_optimizer_calls(int32_t value)
int32_t guided_sat_conflicts_chunk() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void clear_max_number_of_backtracks_in_ls()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ThreadSynchronizationType_descriptor()
void clear_solver_optimizer_sets()
int32_t num_random_lns_tries() const
bool use_symmetry() const
BopParameters & operator=(const BopParameters &from)
bool has_max_time_in_seconds() const
void set_random_seed(int32_t value)
void set_sort_constraints_by_num_terms(bool value)
int64_t max_number_of_explored_assignments_per_try_in_ls() const
int32_t max_num_broken_constraints_in_ls() const
void set_number_of_solvers(int32_t value)
bool has_sort_constraints_by_num_terms() const
void set_use_lp_lns(bool value)
void clear_log_search_progress()
void set_max_number_of_backtracks_in_ls(int64_t value)
bool has_num_bop_solvers_used_by_decomposition() const
void set_log_search_progress(bool value)
bool has_relative_gap_limit() const
bool has_max_deterministic_time() const
bool has_max_number_of_conflicts_for_quick_check() const
void set_decomposer_num_variables_threshold(int32_t value)
void set_use_potential_one_flip_repairs_in_ls(bool value)
void clear_relative_gap_limit()
void set_max_number_of_conflicts_for_quick_check(int32_t value)
void clear_max_num_broken_constraints_in_ls()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void clear_max_number_of_consecutive_failing_optimizer_calls()
void clear_max_time_in_seconds()
void clear_exploit_symmetry_in_sat_first_solution()
bool use_transposition_table_in_ls() const
int32_t max_number_of_consecutive_failing_optimizer_calls() const
void set_use_learned_binary_clauses_in_lp(bool value)
bool use_random_lns() const
void set_exploit_symmetry_in_sat_first_solution(bool value)
void set_allocated_default_solver_optimizer_sets(std::string *default_solver_optimizer_sets)
double max_time_in_seconds() const
double decomposed_problem_min_time_in_seconds() const
::operations_research::bop::BopSolverOptimizerSet * add_solver_optimizer_sets()
void clear_use_symmetry()
bool exploit_symmetry_in_sat_first_solution() const
bool has_max_lp_solve_for_feasibility_problems() const
int32_t num_bop_solvers_used_by_decomposition() const
void clear_max_number_of_conflicts_for_quick_check()
void clear_prune_search_tree()
bool has_log_search_progress() const
void set_max_number_of_conflicts_in_random_lns(int32_t value)
void set_max_num_broken_constraints_in_ls(int32_t value)
bool has_exploit_symmetry_in_sat_first_solution() const
void set_max_time_in_seconds(double value)
friend void swap(BopParameters &a, BopParameters &b)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
bool use_learned_binary_clauses_in_lp() const
bool has_use_sat_to_choose_lns_neighbourhood() const
bool has_max_number_of_consecutive_failing_optimizer_calls() const
void set_guided_sat_conflicts_chunk(int32_t value)
void set_num_relaxed_vars(int32_t value)
PROTOBUF_NODISCARD std::string * release_default_solver_optimizer_sets()
static bool ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ThreadSynchronizationType *value)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const BopParameters * internal_default_instance()
void clear_max_number_of_conflicts_in_random_solution_generation()
void set_max_number_of_explored_assignments_per_try_in_ls(int64_t value)
int32_t random_seed() const
int32_t max_number_of_conflicts_in_random_lns() const
bool has_max_num_decisions_in_ls() const
void clear_use_transposition_table_in_ls()
void set_use_symmetry(bool value)
::operations_research::bop::BopParameters_ThreadSynchronizationType synchronization_type() const
void set_use_sat_to_choose_lns_neighbourhood(bool value)
int solver_optimizer_sets_size() const
bool has_use_lp_strong_branching() const
int32_t max_num_decisions_in_ls() const
bool has_synchronization_type() const
int64_t max_number_of_backtracks_in_ls() const
bool has_max_number_of_explored_assignments_per_try_in_ls() const
BopSolverOptimizerSet & operator=(BopSolverOptimizerSet &&from) noexcept
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > * mutable_methods()
static const BopSolverOptimizerSet * internal_default_instance()
BopSolverOptimizerSet * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const ClassData _class_data_
static const BopSolverOptimizerSet & default_instance()
::operations_research::bop::BopOptimizerMethod * add_methods()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void Swap(BopSolverOptimizerSet *other)
friend void swap(BopSolverOptimizerSet &a, BopSolverOptimizerSet &b)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
BopSolverOptimizerSet & operator=(const BopSolverOptimizerSet &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > & methods() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
BopSolverOptimizerSet(BopSolverOptimizerSet &&from) noexcept
void UnsafeArenaSwap(BopSolverOptimizerSet *other)
const std::string & BopOptimizerMethod_OptimizerType_Name(T enum_t_value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopParametersDefaultTypeInternal _BopParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_
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
const std::string & BopParameters_ThreadSynchronizationType_Name(T enum_t_value)
bool BopOptimizerMethod_OptimizerType_IsValid(int 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
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT 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)
Collection of objects used to extend the Constraint Solver library.