6#ifndef ortools_2fbop_2fbop_5fparameters_2eproto_2epb_2eh
7#define ortools_2fbop_2fbop_5fparameters_2eproto_2epb_2eh
14#include "google/protobuf/runtime_version.h"
15#if PROTOBUF_VERSION != 6033001
16#error "Protobuf C++ gencode is built with an incompatible version of"
17#error "Protobuf C++ headers/runtime. See"
18#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
20#include "google/protobuf/io/coded_stream.h"
21#include "google/protobuf/arena.h"
22#include "google/protobuf/arenastring.h"
23#include "google/protobuf/generated_message_tctable_decl.h"
24#include "google/protobuf/generated_message_util.h"
25#include "google/protobuf/metadata_lite.h"
26#include "google/protobuf/generated_message_reflection.h"
27#include "google/protobuf/message.h"
28#include "google/protobuf/message_lite.h"
29#include "google/protobuf/repeated_field.h"
30#include "google/protobuf/extension_set.h"
31#include "google/protobuf/generated_enum_reflection.h"
32#include "google/protobuf/unknown_field_set.h"
36#include "google/protobuf/port_def.inc"
38#define PROTOBUF_INTERNAL_EXPORT_ortools_2fbop_2fbop_5fparameters_2eproto OR_PROTO_DLL
79internal::EnumTraitsT<::operations_research::bop::BopOptimizerMethod_OptimizerType_internal_data_>
80 internal::EnumTraitsImpl::value<::operations_research::bop::BopOptimizerMethod_OptimizerType>;
82internal::EnumTraitsT<::operations_research::bop::BopParameters_ThreadSynchronizationType_internal_data_>
83 internal::EnumTraitsImpl::value<::operations_research::bop::BopParameters_ThreadSynchronizationType>;
113 return 0 <= value && value <= 17 && ((252863u >> value) & 1) != 0;
119 static_assert(::std::is_same<T, BopOptimizerMethod_OptimizerType>::value ||
120 ::std::is_integral<T>::value,
121 "Incorrect type passed to OptimizerType_Name().");
126 return ::google::protobuf::internal::NameOfDenseEnum<BopOptimizerMethod_OptimizerType_descriptor, 0, 17>(
127 static_cast<int>(value));
146 return 0 <= value && value <= 2;
152 static_assert(::std::is_same<T, BopParameters_ThreadSynchronizationType>::value ||
153 ::std::is_integral<T>::value,
154 "Incorrect type passed to ThreadSynchronizationType_Name().");
159 return ::google::protobuf::internal::NameOfDenseEnum<BopParameters_ThreadSynchronizationType_descriptor, 0, 2>(
160 static_cast<int>(value));
173class OR_PROTO_DLL BopOptimizerMethod final :
public ::google::protobuf::Message
179#if defined(PROTOBUF_CUSTOM_VTABLE)
180 void operator delete(
BopOptimizerMethod* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
186 template <
typename =
void>
187 explicit PROTOBUF_CONSTEXPR
BopOptimizerMethod(::google::protobuf::internal::ConstantInitialized);
197 if (
this == &from)
return *
this;
198 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
206 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
207 ABSL_ATTRIBUTE_LIFETIME_BOUND {
208 return _internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
210 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
211 ABSL_ATTRIBUTE_LIFETIME_BOUND {
212 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
215 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
216 return GetDescriptor();
218 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
219 return default_instance().GetMetadata().descriptor;
221 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
222 return default_instance().GetMetadata().reflection;
228 static constexpr int kIndexInFileMessages = 0;
231 if (other ==
this)
return;
232 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
235 ::google::protobuf::internal::GenericSwap(
this, other);
238 void UnsafeArenaSwap(BopOptimizerMethod* PROTOBUF_NONNULL other) {
239 if (other ==
this)
return;
240 ABSL_DCHECK(GetArena() == other->GetArena());
246 BopOptimizerMethod* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena =
nullptr)
const {
247 return ::google::protobuf::Message::DefaultConstruct<BopOptimizerMethod>(arena);
249 using ::google::protobuf::Message::CopyFrom;
251 using ::google::protobuf::Message::MergeFrom;
252 void MergeFrom(
const BopOptimizerMethod& from) { BopOptimizerMethod::MergeImpl(*
this, from); }
255 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
256 const ::google::protobuf::MessageLite& from_msg);
262 ABSL_ATTRIBUTE_REINITIALIZES
void Clear() PROTOBUF_FINAL;
263 #if defined(PROTOBUF_CUSTOM_VTABLE)
265 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
266 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
267 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
268 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
271 ::size_t ByteSizeLong()
const {
return ByteSizeLong(*
this); }
272 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
273 ::uint8_t* PROTOBUF_NONNULL target,
274 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
275 return _InternalSerialize(*
this, target, stream);
278 ::size_t ByteSizeLong() const final;
279 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
280 ::uint8_t* PROTOBUF_NONNULL target,
281 ::
google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
283 int GetCachedSize()
const {
return _impl_._cached_size_.Get(); }
286 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
290 template <
typename T>
292 static ::absl::string_view FullMessageName() {
return "operations_research.bop.BopOptimizerMethod"; }
297 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
BopOptimizerMethod&& from) noexcept
299 *
this = ::std::move(from);
301 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
302 static
void* PROTOBUF_NONNULL PlacementNew_(
303 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
304 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
305 static constexpr auto InternalNewImpl_();
308 static constexpr auto InternalGenerateClassData_();
310 ::
google::protobuf::Metadata GetMetadata() const;
312 using OptimizerType = BopOptimizerMethod_OptimizerType;
313 static constexpr OptimizerType SAT_CORE_BASED = BopOptimizerMethod_OptimizerType_SAT_CORE_BASED;
337 template <
typename T>
338 static inline const ::std::string& OptimizerType_Name(T value) {
341 static inline bool OptimizerType_Parse(
342 ::absl::string_view name, OptimizerType* PROTOBUF_NONNULL value) {
348 kTypeFieldNumber = 1,
364 friend class ::google::protobuf::internal::TcParser;
365 static const ::google::protobuf::internal::TcParseTable<0, 1,
370 friend class ::google::protobuf::MessageLite;
371 friend class ::google::protobuf::Arena;
372 template <
typename T>
373 friend class ::google::protobuf::Arena::InternalHelper;
374 using InternalArenaConstructable_ = void;
375 using DestructorSkippable_ = void;
377 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
378 inline explicit Impl_(
379 ::google::protobuf::internal::InternalVisibility visibility,
380 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
381 inline explicit Impl_(
382 ::google::protobuf::internal::InternalVisibility visibility,
383 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
385 ::google::protobuf::internal::HasBits<1> _has_bits_;
386 ::google::protobuf::internal::CachedSize _cached_size_;
388 PROTOBUF_TSAN_DECLARE_MEMBER
390 union { Impl_ _impl_; };
391 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
403#if defined(PROTOBUF_CUSTOM_VTABLE)
410 template <
typename =
void>
411 explicit PROTOBUF_CONSTEXPR
BopSolverOptimizerSet(::google::protobuf::internal::ConstantInitialized);
421 if (
this == &from)
return *
this;
422 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
430 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
431 ABSL_ATTRIBUTE_LIFETIME_BOUND {
432 return _internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
434 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
435 ABSL_ATTRIBUTE_LIFETIME_BOUND {
436 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
439 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
440 return GetDescriptor();
442 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
GetDescriptor() {
445 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL
GetReflection() {
452 static constexpr int kIndexInFileMessages = 1;
454 inline void Swap(BopSolverOptimizerSet* PROTOBUF_NONNULL other) {
455 if (other ==
this)
return;
456 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
459 ::google::protobuf::internal::GenericSwap(
this, other);
462 void UnsafeArenaSwap(BopSolverOptimizerSet* PROTOBUF_NONNULL other) {
463 if (other ==
this)
return;
464 ABSL_DCHECK(GetArena() == other->GetArena());
470 BopSolverOptimizerSet* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena =
nullptr)
const {
471 return ::google::protobuf::Message::DefaultConstruct<BopSolverOptimizerSet>(arena);
473 using ::google::protobuf::Message::CopyFrom;
475 using ::google::protobuf::Message::MergeFrom;
479 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
480 const ::google::protobuf::MessageLite& from_msg);
486 ABSL_ATTRIBUTE_REINITIALIZES
void Clear() PROTOBUF_FINAL;
487 #if defined(PROTOBUF_CUSTOM_VTABLE)
489 static ::size_t
ByteSizeLong(const ::google::protobuf::MessageLite& msg);
491 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
492 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
496 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
497 ::uint8_t* PROTOBUF_NONNULL target,
498 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
499 return _InternalSerialize(*
this, target, stream);
502 ::size_t ByteSizeLong() const final;
503 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
504 ::uint8_t* PROTOBUF_NONNULL target,
505 ::
google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
507 int GetCachedSize()
const {
return _impl_._cached_size_.Get(); }
510 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
514 template <
typename T>
516 static ::absl::string_view FullMessageName() {
return "operations_research.bop.BopSolverOptimizerSet"; }
523 *
this = ::std::move(from);
525 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
526 static
void* PROTOBUF_NONNULL PlacementNew_(
527 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
528 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
529 static constexpr auto InternalNewImpl_();
532 static constexpr auto InternalGenerateClassData_();
534 ::
google::protobuf::Metadata GetMetadata() const;
539 kMethodsFieldNumber = 1,
544 int _internal_methods_size()
const;
549 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL
mutable_methods();
552 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>& _internal_methods()
const;
553 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL _internal_mutable_methods();
555 const ::operations_research::bop::BopOptimizerMethod&
methods(
int index)
const;
557 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>&
methods()
const;
561 friend class ::google::protobuf::internal::TcParser;
562 static const ::google::protobuf::internal::TcParseTable<0, 1,
567 friend class ::google::protobuf::MessageLite;
568 friend class ::google::protobuf::Arena;
569 template <
typename T>
570 friend class ::google::protobuf::Arena::InternalHelper;
571 using InternalArenaConstructable_ = void;
572 using DestructorSkippable_ = void;
574 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
575 inline explicit Impl_(
576 ::google::protobuf::internal::InternalVisibility visibility,
577 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
578 inline explicit Impl_(
579 ::google::protobuf::internal::InternalVisibility visibility,
580 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
582 ::google::protobuf::internal::HasBits<1> _has_bits_;
583 ::google::protobuf::internal::CachedSize _cached_size_;
584 ::google::protobuf::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
585 PROTOBUF_TSAN_DECLARE_MEMBER
587 union { Impl_ _impl_; };
588 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
594class OR_PROTO_DLL
BopParameters final :
public ::google::protobuf::Message
600#if defined(PROTOBUF_CUSTOM_VTABLE)
601 void operator delete(
BopParameters* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
603 ::google::protobuf::internal::SizedDelete(msg,
sizeof(
BopParameters));
607 template <
typename =
void>
608 explicit PROTOBUF_CONSTEXPR
BopParameters(::google::protobuf::internal::ConstantInitialized);
611 inline BopParameters(BopParameters&& from) noexcept
618 if (
this == &from)
return *
this;
619 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
627 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
628 ABSL_ATTRIBUTE_LIFETIME_BOUND {
629 return _internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
632 ABSL_ATTRIBUTE_LIFETIME_BOUND {
633 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
636 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
descriptor() {
639 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
642 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
652 if (other ==
this)
return;
653 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
656 ::google::protobuf::internal::GenericSwap(
this, other);
659 void UnsafeArenaSwap(BopParameters* PROTOBUF_NONNULL other) {
660 if (other ==
this)
return;
661 ABSL_DCHECK(GetArena() == other->GetArena());
667 BopParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena =
nullptr)
const {
668 return ::google::protobuf::Message::DefaultConstruct<BopParameters>(arena);
670 using ::google::protobuf::Message::CopyFrom;
672 using ::google::protobuf::Message::MergeFrom;
676 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
677 const ::google::protobuf::MessageLite& from_msg);
683 ABSL_ATTRIBUTE_REINITIALIZES
void Clear() PROTOBUF_FINAL;
684 #if defined(PROTOBUF_CUSTOM_VTABLE)
686 static ::size_t
ByteSizeLong(const ::google::protobuf::MessageLite& msg);
688 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
689 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
693 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
694 ::uint8_t* PROTOBUF_NONNULL target,
695 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
696 return _InternalSerialize(*
this, target, stream);
699 ::size_t ByteSizeLong() const final;
700 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
701 ::uint8_t* PROTOBUF_NONNULL target,
702 ::
google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
704 int GetCachedSize()
const {
return _impl_._cached_size_.Get(); }
707 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
711 template <
typename T>
713 static ::absl::string_view FullMessageName() {
return "operations_research.bop.BopParameters"; }
715 explicit BopParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
718 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
BopParameters&& from) noexcept
720 *
this = ::std::move(from);
722 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
723 static
void* PROTOBUF_NONNULL PlacementNew_(
724 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
725 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
726 static constexpr auto InternalNewImpl_();
729 static constexpr auto InternalGenerateClassData_();
731 ::
google::protobuf::Metadata GetMetadata() const;
733 using ThreadSynchronizationType = BopParameters_ThreadSynchronizationType;
734 static constexpr ThreadSynchronizationType NO_SYNCHRONIZATION = BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION;
735 static constexpr ThreadSynchronizationType SYNCHRONIZE_ALL = BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ALL;
736 static constexpr ThreadSynchronizationType SYNCHRONIZE_ON_RIGHT = BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT;
746 template <
typename T>
750 static inline bool ThreadSynchronizationType_Parse(
798 int _internal_solver_optimizer_sets_size()
const;
806 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>& _internal_solver_optimizer_sets()
const;
807 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL _internal_mutable_solver_optimizer_sets();
811 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>&
solver_optimizer_sets()
const;
819 bool _internal_prune_search_tree()
const;
820 void _internal_set_prune_search_tree(
bool value);
830 bool _internal_sort_constraints_by_num_terms()
const;
831 void _internal_set_sort_constraints_by_num_terms(
bool value);
841 bool _internal_log_search_progress()
const;
842 void _internal_set_log_search_progress(
bool value);
852 bool _internal_use_symmetry()
const;
853 void _internal_set_use_symmetry(
bool value);
874 bool _internal_use_lp_strong_branching()
const;
875 void _internal_set_use_lp_strong_branching(
bool value);
885 ::int32_t _internal_max_number_of_consecutive_failing_optimizer_calls()
const;
886 void _internal_set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value);
896 double _internal_max_time_in_seconds()
const;
897 void _internal_set_max_time_in_seconds(
double value);
907 ::int32_t _internal_max_num_decisions_in_ls()
const;
908 void _internal_set_max_num_decisions_in_ls(::int32_t value);
918 ::int32_t _internal_random_seed()
const;
919 void _internal_set_random_seed(::int32_t value);
929 ::int32_t _internal_num_relaxed_vars()
const;
930 void _internal_set_num_relaxed_vars(::int32_t value);
940 ::int32_t _internal_max_number_of_conflicts_in_random_lns()
const;
941 void _internal_set_max_number_of_conflicts_in_random_lns(::int32_t value);
951 bool _internal_compute_estimated_impact()
const;
952 void _internal_set_compute_estimated_impact(
bool value);
962 bool _internal_use_random_lns()
const;
963 void _internal_set_use_random_lns(
bool value);
973 bool _internal_use_lp_lns()
const;
974 void _internal_set_use_lp_lns(
bool value);
984 bool _internal_use_sat_to_choose_lns_neighbourhood()
const;
985 void _internal_set_use_sat_to_choose_lns_neighbourhood(
bool value);
995 ::int32_t _internal_num_random_lns_tries()
const;
996 void _internal_set_num_random_lns_tries(::int32_t value);
1006 ::int64_t _internal_max_number_of_backtracks_in_ls()
const;
1007 void _internal_set_max_number_of_backtracks_in_ls(::int64_t value);
1017 ::int32_t _internal_max_number_of_conflicts_for_quick_check()
const;
1018 void _internal_set_max_number_of_conflicts_for_quick_check(::int32_t value);
1028 ::int32_t _internal_max_number_of_conflicts_in_random_solution_generation()
const;
1029 void _internal_set_max_number_of_conflicts_in_random_solution_generation(::int32_t value);
1039 ::int64_t _internal_max_number_of_explored_assignments_per_try_in_ls()
const;
1040 void _internal_set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value);
1050 bool _internal_use_transposition_table_in_ls()
const;
1051 void _internal_set_use_transposition_table_in_ls(
bool value);
1061 bool _internal_use_learned_binary_clauses_in_lp()
const;
1062 void _internal_set_use_learned_binary_clauses_in_lp(
bool value);
1072 ::int32_t _internal_number_of_solvers()
const;
1073 void _internal_set_number_of_solvers(::int32_t value);
1083 double _internal_max_deterministic_time()
const;
1084 void _internal_set_max_deterministic_time(
double value);
1094 double _internal_relative_gap_limit()
const;
1095 void _internal_set_relative_gap_limit(
double value);
1105 ::int32_t _internal_decomposer_num_variables_threshold()
const;
1106 void _internal_set_decomposer_num_variables_threshold(::int32_t value);
1116 ::int32_t _internal_num_bop_solvers_used_by_decomposition()
const;
1117 void _internal_set_num_bop_solvers_used_by_decomposition(::int32_t value);
1127 ::int32_t _internal_guided_sat_conflicts_chunk()
const;
1128 void _internal_set_guided_sat_conflicts_chunk(::int32_t value);
1135 template <
typename Arg_ = const ::std::string&,
typename... Args_>
1142 const ::std::string& _internal_default_solver_optimizer_sets()
const;
1143 PROTOBUF_ALWAYS_INLINE
void _internal_set_default_solver_optimizer_sets(const ::std::string& value);
1144 ::std::string* PROTOBUF_NONNULL _internal_mutable_default_solver_optimizer_sets();
1154 double _internal_decomposed_problem_min_time_in_seconds()
const;
1155 void _internal_set_decomposed_problem_min_time_in_seconds(
double value);
1165 bool _internal_use_potential_one_flip_repairs_in_ls()
const;
1166 void _internal_set_use_potential_one_flip_repairs_in_ls(
bool value);
1176 bool _internal_exploit_symmetry_in_sat_first_solution()
const;
1177 void _internal_set_exploit_symmetry_in_sat_first_solution(
bool value);
1187 ::int32_t _internal_max_lp_solve_for_feasibility_problems()
const;
1188 void _internal_set_max_lp_solve_for_feasibility_problems(::int32_t value);
1198 double _internal_lp_max_deterministic_time()
const;
1199 void _internal_set_lp_max_deterministic_time(
double value);
1209 ::int32_t _internal_max_num_broken_constraints_in_ls()
const;
1210 void _internal_set_max_num_broken_constraints_in_ls(::int32_t value);
1216 friend class ::google::protobuf::internal::TcParser;
1217 static const ::google::protobuf::internal::TcParseTable<5, 37,
1222 friend class ::google::protobuf::MessageLite;
1223 friend class ::google::protobuf::Arena;
1224 template <
typename T>
1225 friend class ::google::protobuf::Arena::InternalHelper;
1226 using InternalArenaConstructable_ = void;
1227 using DestructorSkippable_ = void;
1229 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
1230 inline explicit Impl_(
1231 ::google::protobuf::internal::InternalVisibility visibility,
1232 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1233 inline explicit Impl_(
1234 ::google::protobuf::internal::InternalVisibility visibility,
1235 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
1237 ::google::protobuf::internal::HasBits<2> _has_bits_;
1238 ::google::protobuf::internal::CachedSize _cached_size_;
1239 ::google::protobuf::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1240 bool prune_search_tree_;
1241 bool sort_constraints_by_num_terms_;
1242 bool log_search_progress_;
1244 int synchronization_type_;
1245 bool use_lp_strong_branching_;
1246 ::int32_t max_number_of_consecutive_failing_optimizer_calls_;
1247 double max_time_in_seconds_;
1248 ::int32_t max_num_decisions_in_ls_;
1249 ::int32_t random_seed_;
1250 ::int32_t num_relaxed_vars_;
1251 ::int32_t max_number_of_conflicts_in_random_lns_;
1252 bool compute_estimated_impact_;
1253 bool use_random_lns_;
1255 bool use_sat_to_choose_lns_neighbourhood_;
1256 ::int32_t num_random_lns_tries_;
1257 ::int64_t max_number_of_backtracks_in_ls_;
1258 ::int32_t max_number_of_conflicts_for_quick_check_;
1259 ::int32_t max_number_of_conflicts_in_random_solution_generation_;
1260 ::int64_t max_number_of_explored_assignments_per_try_in_ls_;
1261 bool use_transposition_table_in_ls_;
1262 bool use_learned_binary_clauses_in_lp_;
1263 ::int32_t number_of_solvers_;
1264 double max_deterministic_time_;
1265 double relative_gap_limit_;
1266 ::int32_t decomposer_num_variables_threshold_;
1267 ::int32_t num_bop_solvers_used_by_decomposition_;
1268 ::int32_t guided_sat_conflicts_chunk_;
1269 static const ::google::protobuf::internal::LazyString _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_;
1270 ::google::protobuf::internal::ArenaStringPtr default_solver_optimizer_sets_;
1271 double decomposed_problem_min_time_in_seconds_;
1272 bool use_potential_one_flip_repairs_in_ls_;
1273 bool exploit_symmetry_in_sat_first_solution_;
1274 ::int32_t max_lp_solve_for_feasibility_problems_;
1275 double lp_max_deterministic_time_;
1276 ::int32_t max_num_broken_constraints_in_ls_;
1277 PROTOBUF_TSAN_DECLARE_MEMBER
1279 union { Impl_ _impl_; };
1280 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1294#pragma GCC diagnostic push
1295#pragma GCC diagnostic ignored "-Wstrict-aliasing"
1303 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000001U);
1307 ::google::protobuf::internal::TSanWrite(&
_impl_);
1314 return _internal_type();
1317 _internal_set_type(value);
1318 SetHasBit(
_impl_._has_bits_[0], 0x00000001U);
1321inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::_internal_type()
const {
1322 ::google::protobuf::internal::TSanRead(&
_impl_);
1326 ::google::protobuf::internal::TSanWrite(&
_impl_);
1328 assert(::google::protobuf::internal::ValidateEnum(
1338inline int BopSolverOptimizerSet::_internal_methods_size()
const {
1339 return _internal_methods().size();
1342 return _internal_methods_size();
1345 ::google::protobuf::internal::TSanWrite(&
_impl_);
1347 ClearHasBitForRepeated(
_impl_._has_bits_[0],
1351 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1353 return _internal_mutable_methods()->Mutable(index);
1356 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1357 SetHasBitForRepeated(
_impl_._has_bits_[0], 0x00000001U);
1359 ::google::protobuf::internal::TSanWrite(&
_impl_);
1360 return _internal_mutable_methods();
1363 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1365 return _internal_methods().Get(index);
1368 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1369 ::google::protobuf::internal::TSanWrite(&
_impl_);
1371 _internal_mutable_methods()->InternalAddWithArena(
1372 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
1373 SetHasBitForRepeated(
_impl_._has_bits_[0], 0x00000001U);
1378 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1380 return _internal_methods();
1382inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>&
1383BopSolverOptimizerSet::_internal_methods()
const {
1384 ::google::protobuf::internal::TSanRead(&
_impl_);
1387inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL
1388BopSolverOptimizerSet::_internal_mutable_methods() {
1389 ::google::protobuf::internal::TSanRead(&
_impl_);
1399 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000100U);
1403 ::google::protobuf::internal::TSanWrite(&
_impl_);
1404 _impl_.max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1405 ClearHasBit(
_impl_._has_bits_[0],
1410 return _internal_max_time_in_seconds();
1413 _internal_set_max_time_in_seconds(value);
1414 SetHasBit(
_impl_._has_bits_[0], 0x00000100U);
1417inline double BopParameters::_internal_max_time_in_seconds()
const {
1418 ::google::protobuf::internal::TSanRead(&
_impl_);
1419 return _impl_.max_time_in_seconds_;
1421inline void BopParameters::_internal_set_max_time_in_seconds(
double value) {
1422 ::google::protobuf::internal::TSanWrite(&
_impl_);
1423 _impl_.max_time_in_seconds_ = value;
1428 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x02000000U);
1432 ::google::protobuf::internal::TSanWrite(&
_impl_);
1433 _impl_.max_deterministic_time_ = std::numeric_limits<double>::infinity();
1434 ClearHasBit(
_impl_._has_bits_[0],
1439 return _internal_max_deterministic_time();
1442 _internal_set_max_deterministic_time(value);
1443 SetHasBit(
_impl_._has_bits_[0], 0x02000000U);
1446inline double BopParameters::_internal_max_deterministic_time()
const {
1447 ::google::protobuf::internal::TSanRead(&
_impl_);
1448 return _impl_.max_deterministic_time_;
1450inline void BopParameters::_internal_set_max_deterministic_time(
double value) {
1451 ::google::protobuf::internal::TSanWrite(&
_impl_);
1452 _impl_.max_deterministic_time_ = value;
1457 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000008U);
1461 ::google::protobuf::internal::TSanWrite(&
_impl_);
1462 _impl_.lp_max_deterministic_time_ = 1;
1463 ClearHasBit(
_impl_._has_bits_[1],
1468 return _internal_lp_max_deterministic_time();
1471 _internal_set_lp_max_deterministic_time(value);
1472 SetHasBit(
_impl_._has_bits_[1], 0x00000008U);
1475inline double BopParameters::_internal_lp_max_deterministic_time()
const {
1476 ::google::protobuf::internal::TSanRead(&
_impl_);
1477 return _impl_.lp_max_deterministic_time_;
1479inline void BopParameters::_internal_set_lp_max_deterministic_time(
double value) {
1480 ::google::protobuf::internal::TSanWrite(&
_impl_);
1481 _impl_.lp_max_deterministic_time_ = value;
1486 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000080U);
1490 ::google::protobuf::internal::TSanWrite(&
_impl_);
1491 _impl_.max_number_of_consecutive_failing_optimizer_calls_ = 0;
1492 ClearHasBit(
_impl_._has_bits_[0],
1497 return _internal_max_number_of_consecutive_failing_optimizer_calls();
1500 _internal_set_max_number_of_consecutive_failing_optimizer_calls(value);
1501 SetHasBit(
_impl_._has_bits_[0], 0x00000080U);
1504inline ::int32_t BopParameters::_internal_max_number_of_consecutive_failing_optimizer_calls()
const {
1505 ::google::protobuf::internal::TSanRead(&
_impl_);
1506 return _impl_.max_number_of_consecutive_failing_optimizer_calls_;
1508inline void BopParameters::_internal_set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value) {
1509 ::google::protobuf::internal::TSanWrite(&
_impl_);
1510 _impl_.max_number_of_consecutive_failing_optimizer_calls_ = value;
1515 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x04000000U);
1519 ::google::protobuf::internal::TSanWrite(&
_impl_);
1520 _impl_.relative_gap_limit_ = 0.0001;
1521 ClearHasBit(
_impl_._has_bits_[0],
1526 return _internal_relative_gap_limit();
1529 _internal_set_relative_gap_limit(value);
1530 SetHasBit(
_impl_._has_bits_[0], 0x04000000U);
1533inline double BopParameters::_internal_relative_gap_limit()
const {
1534 ::google::protobuf::internal::TSanRead(&
_impl_);
1535 return _impl_.relative_gap_limit_;
1537inline void BopParameters::_internal_set_relative_gap_limit(
double value) {
1538 ::google::protobuf::internal::TSanWrite(&
_impl_);
1539 _impl_.relative_gap_limit_ = value;
1544 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000200U);
1548 ::google::protobuf::internal::TSanWrite(&
_impl_);
1549 _impl_.max_num_decisions_in_ls_ = 4;
1550 ClearHasBit(
_impl_._has_bits_[0],
1555 return _internal_max_num_decisions_in_ls();
1558 _internal_set_max_num_decisions_in_ls(value);
1559 SetHasBit(
_impl_._has_bits_[0], 0x00000200U);
1562inline ::int32_t BopParameters::_internal_max_num_decisions_in_ls()
const {
1563 ::google::protobuf::internal::TSanRead(&
_impl_);
1564 return _impl_.max_num_decisions_in_ls_;
1566inline void BopParameters::_internal_set_max_num_decisions_in_ls(::int32_t value) {
1567 ::google::protobuf::internal::TSanWrite(&
_impl_);
1568 _impl_.max_num_decisions_in_ls_ = value;
1573 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000010U);
1577 ::google::protobuf::internal::TSanWrite(&
_impl_);
1578 _impl_.max_num_broken_constraints_in_ls_ = 2147483647;
1579 ClearHasBit(
_impl_._has_bits_[1],
1584 return _internal_max_num_broken_constraints_in_ls();
1587 _internal_set_max_num_broken_constraints_in_ls(value);
1588 SetHasBit(
_impl_._has_bits_[1], 0x00000010U);
1591inline ::int32_t BopParameters::_internal_max_num_broken_constraints_in_ls()
const {
1592 ::google::protobuf::internal::TSanRead(&
_impl_);
1593 return _impl_.max_num_broken_constraints_in_ls_;
1595inline void BopParameters::_internal_set_max_num_broken_constraints_in_ls(::int32_t value) {
1596 ::google::protobuf::internal::TSanWrite(&
_impl_);
1597 _impl_.max_num_broken_constraints_in_ls_ = value;
1602 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000008U);
1606 ::google::protobuf::internal::TSanWrite(&
_impl_);
1607 _impl_.log_search_progress_ =
false;
1608 ClearHasBit(
_impl_._has_bits_[0],
1613 return _internal_log_search_progress();
1616 _internal_set_log_search_progress(value);
1617 SetHasBit(
_impl_._has_bits_[0], 0x00000008U);
1620inline bool BopParameters::_internal_log_search_progress()
const {
1621 ::google::protobuf::internal::TSanRead(&
_impl_);
1622 return _impl_.log_search_progress_;
1624inline void BopParameters::_internal_set_log_search_progress(
bool value) {
1625 ::google::protobuf::internal::TSanWrite(&
_impl_);
1626 _impl_.log_search_progress_ = value;
1631 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00002000U);
1635 ::google::protobuf::internal::TSanWrite(&
_impl_);
1636 _impl_.compute_estimated_impact_ =
true;
1637 ClearHasBit(
_impl_._has_bits_[0],
1642 return _internal_compute_estimated_impact();
1645 _internal_set_compute_estimated_impact(value);
1646 SetHasBit(
_impl_._has_bits_[0], 0x00002000U);
1649inline bool BopParameters::_internal_compute_estimated_impact()
const {
1650 ::google::protobuf::internal::TSanRead(&
_impl_);
1651 return _impl_.compute_estimated_impact_;
1653inline void BopParameters::_internal_set_compute_estimated_impact(
bool value) {
1654 ::google::protobuf::internal::TSanWrite(&
_impl_);
1655 _impl_.compute_estimated_impact_ = value;
1660 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000002U);
1664 ::google::protobuf::internal::TSanWrite(&
_impl_);
1665 _impl_.prune_search_tree_ =
false;
1666 ClearHasBit(
_impl_._has_bits_[0],
1671 return _internal_prune_search_tree();
1674 _internal_set_prune_search_tree(value);
1675 SetHasBit(
_impl_._has_bits_[0], 0x00000002U);
1678inline bool BopParameters::_internal_prune_search_tree()
const {
1679 ::google::protobuf::internal::TSanRead(&
_impl_);
1680 return _impl_.prune_search_tree_;
1682inline void BopParameters::_internal_set_prune_search_tree(
bool value) {
1683 ::google::protobuf::internal::TSanWrite(&
_impl_);
1684 _impl_.prune_search_tree_ = value;
1689 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000004U);
1693 ::google::protobuf::internal::TSanWrite(&
_impl_);
1694 _impl_.sort_constraints_by_num_terms_ =
false;
1695 ClearHasBit(
_impl_._has_bits_[0],
1700 return _internal_sort_constraints_by_num_terms();
1703 _internal_set_sort_constraints_by_num_terms(value);
1704 SetHasBit(
_impl_._has_bits_[0], 0x00000004U);
1707inline bool BopParameters::_internal_sort_constraints_by_num_terms()
const {
1708 ::google::protobuf::internal::TSanRead(&
_impl_);
1709 return _impl_.sort_constraints_by_num_terms_;
1711inline void BopParameters::_internal_set_sort_constraints_by_num_terms(
bool value) {
1712 ::google::protobuf::internal::TSanWrite(&
_impl_);
1713 _impl_.sort_constraints_by_num_terms_ = value;
1718 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00004000U);
1722 ::google::protobuf::internal::TSanWrite(&
_impl_);
1723 _impl_.use_random_lns_ =
true;
1724 ClearHasBit(
_impl_._has_bits_[0],
1729 return _internal_use_random_lns();
1732 _internal_set_use_random_lns(value);
1733 SetHasBit(
_impl_._has_bits_[0], 0x00004000U);
1736inline bool BopParameters::_internal_use_random_lns()
const {
1737 ::google::protobuf::internal::TSanRead(&
_impl_);
1738 return _impl_.use_random_lns_;
1740inline void BopParameters::_internal_set_use_random_lns(
bool value) {
1741 ::google::protobuf::internal::TSanWrite(&
_impl_);
1742 _impl_.use_random_lns_ = value;
1747 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000400U);
1751 ::google::protobuf::internal::TSanWrite(&
_impl_);
1753 ClearHasBit(
_impl_._has_bits_[0],
1758 return _internal_random_seed();
1761 _internal_set_random_seed(value);
1762 SetHasBit(
_impl_._has_bits_[0], 0x00000400U);
1765inline ::int32_t BopParameters::_internal_random_seed()
const {
1766 ::google::protobuf::internal::TSanRead(&
_impl_);
1767 return _impl_.random_seed_;
1769inline void BopParameters::_internal_set_random_seed(::int32_t value) {
1770 ::google::protobuf::internal::TSanWrite(&
_impl_);
1771 _impl_.random_seed_ = value;
1776 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000800U);
1780 ::google::protobuf::internal::TSanWrite(&
_impl_);
1781 _impl_.num_relaxed_vars_ = 10;
1782 ClearHasBit(
_impl_._has_bits_[0],
1787 return _internal_num_relaxed_vars();
1790 _internal_set_num_relaxed_vars(value);
1791 SetHasBit(
_impl_._has_bits_[0], 0x00000800U);
1794inline ::int32_t BopParameters::_internal_num_relaxed_vars()
const {
1795 ::google::protobuf::internal::TSanRead(&
_impl_);
1796 return _impl_.num_relaxed_vars_;
1798inline void BopParameters::_internal_set_num_relaxed_vars(::int32_t value) {
1799 ::google::protobuf::internal::TSanWrite(&
_impl_);
1800 _impl_.num_relaxed_vars_ = value;
1805 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00001000U);
1809 ::google::protobuf::internal::TSanWrite(&
_impl_);
1810 _impl_.max_number_of_conflicts_in_random_lns_ = 2500;
1811 ClearHasBit(
_impl_._has_bits_[0],
1816 return _internal_max_number_of_conflicts_in_random_lns();
1819 _internal_set_max_number_of_conflicts_in_random_lns(value);
1820 SetHasBit(
_impl_._has_bits_[0], 0x00001000U);
1823inline ::int32_t BopParameters::_internal_max_number_of_conflicts_in_random_lns()
const {
1824 ::google::protobuf::internal::TSanRead(&
_impl_);
1825 return _impl_.max_number_of_conflicts_in_random_lns_;
1827inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_lns(::int32_t value) {
1828 ::google::protobuf::internal::TSanWrite(&
_impl_);
1829 _impl_.max_number_of_conflicts_in_random_lns_ = value;
1834 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00020000U);
1838 ::google::protobuf::internal::TSanWrite(&
_impl_);
1839 _impl_.num_random_lns_tries_ = 1;
1840 ClearHasBit(
_impl_._has_bits_[0],
1845 return _internal_num_random_lns_tries();
1848 _internal_set_num_random_lns_tries(value);
1849 SetHasBit(
_impl_._has_bits_[0], 0x00020000U);
1852inline ::int32_t BopParameters::_internal_num_random_lns_tries()
const {
1853 ::google::protobuf::internal::TSanRead(&
_impl_);
1854 return _impl_.num_random_lns_tries_;
1856inline void BopParameters::_internal_set_num_random_lns_tries(::int32_t value) {
1857 ::google::protobuf::internal::TSanWrite(&
_impl_);
1858 _impl_.num_random_lns_tries_ = value;
1863 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00040000U);
1867 ::google::protobuf::internal::TSanWrite(&
_impl_);
1868 _impl_.max_number_of_backtracks_in_ls_ = ::int64_t{100000000};
1869 ClearHasBit(
_impl_._has_bits_[0],
1874 return _internal_max_number_of_backtracks_in_ls();
1877 _internal_set_max_number_of_backtracks_in_ls(value);
1878 SetHasBit(
_impl_._has_bits_[0], 0x00040000U);
1881inline ::int64_t BopParameters::_internal_max_number_of_backtracks_in_ls()
const {
1882 ::google::protobuf::internal::TSanRead(&
_impl_);
1883 return _impl_.max_number_of_backtracks_in_ls_;
1885inline void BopParameters::_internal_set_max_number_of_backtracks_in_ls(::int64_t value) {
1886 ::google::protobuf::internal::TSanWrite(&
_impl_);
1887 _impl_.max_number_of_backtracks_in_ls_ = value;
1892 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00008000U);
1896 ::google::protobuf::internal::TSanWrite(&
_impl_);
1897 _impl_.use_lp_lns_ =
true;
1898 ClearHasBit(
_impl_._has_bits_[0],
1903 return _internal_use_lp_lns();
1906 _internal_set_use_lp_lns(value);
1907 SetHasBit(
_impl_._has_bits_[0], 0x00008000U);
1910inline bool BopParameters::_internal_use_lp_lns()
const {
1911 ::google::protobuf::internal::TSanRead(&
_impl_);
1912 return _impl_.use_lp_lns_;
1914inline void BopParameters::_internal_set_use_lp_lns(
bool value) {
1915 ::google::protobuf::internal::TSanWrite(&
_impl_);
1916 _impl_.use_lp_lns_ = value;
1921 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00010000U);
1925 ::google::protobuf::internal::TSanWrite(&
_impl_);
1926 _impl_.use_sat_to_choose_lns_neighbourhood_ =
true;
1927 ClearHasBit(
_impl_._has_bits_[0],
1932 return _internal_use_sat_to_choose_lns_neighbourhood();
1935 _internal_set_use_sat_to_choose_lns_neighbourhood(value);
1936 SetHasBit(
_impl_._has_bits_[0], 0x00010000U);
1939inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood()
const {
1940 ::google::protobuf::internal::TSanRead(&
_impl_);
1941 return _impl_.use_sat_to_choose_lns_neighbourhood_;
1943inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(
bool value) {
1944 ::google::protobuf::internal::TSanWrite(&
_impl_);
1945 _impl_.use_sat_to_choose_lns_neighbourhood_ = value;
1950 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00080000U);
1954 ::google::protobuf::internal::TSanWrite(&
_impl_);
1955 _impl_.max_number_of_conflicts_for_quick_check_ = 10;
1956 ClearHasBit(
_impl_._has_bits_[0],
1961 return _internal_max_number_of_conflicts_for_quick_check();
1964 _internal_set_max_number_of_conflicts_for_quick_check(value);
1965 SetHasBit(
_impl_._has_bits_[0], 0x00080000U);
1968inline ::int32_t BopParameters::_internal_max_number_of_conflicts_for_quick_check()
const {
1969 ::google::protobuf::internal::TSanRead(&
_impl_);
1970 return _impl_.max_number_of_conflicts_for_quick_check_;
1972inline void BopParameters::_internal_set_max_number_of_conflicts_for_quick_check(::int32_t value) {
1973 ::google::protobuf::internal::TSanWrite(&
_impl_);
1974 _impl_.max_number_of_conflicts_for_quick_check_ = value;
1979 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000010U);
1983 ::google::protobuf::internal::TSanWrite(&
_impl_);
1984 _impl_.use_symmetry_ =
false;
1985 ClearHasBit(
_impl_._has_bits_[0],
1990 return _internal_use_symmetry();
1993 _internal_set_use_symmetry(value);
1994 SetHasBit(
_impl_._has_bits_[0], 0x00000010U);
1997inline bool BopParameters::_internal_use_symmetry()
const {
1998 ::google::protobuf::internal::TSanRead(&
_impl_);
1999 return _impl_.use_symmetry_;
2001inline void BopParameters::_internal_set_use_symmetry(
bool value) {
2002 ::google::protobuf::internal::TSanWrite(&
_impl_);
2003 _impl_.use_symmetry_ = value;
2008 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000002U);
2012 ::google::protobuf::internal::TSanWrite(&
_impl_);
2013 _impl_.exploit_symmetry_in_sat_first_solution_ =
false;
2014 ClearHasBit(
_impl_._has_bits_[1],
2019 return _internal_exploit_symmetry_in_sat_first_solution();
2022 _internal_set_exploit_symmetry_in_sat_first_solution(value);
2023 SetHasBit(
_impl_._has_bits_[1], 0x00000002U);
2026inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution()
const {
2027 ::google::protobuf::internal::TSanRead(&
_impl_);
2028 return _impl_.exploit_symmetry_in_sat_first_solution_;
2030inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(
bool value) {
2031 ::google::protobuf::internal::TSanWrite(&
_impl_);
2032 _impl_.exploit_symmetry_in_sat_first_solution_ = value;
2037 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00100000U);
2041 ::google::protobuf::internal::TSanWrite(&
_impl_);
2042 _impl_.max_number_of_conflicts_in_random_solution_generation_ = 500;
2043 ClearHasBit(
_impl_._has_bits_[0],
2048 return _internal_max_number_of_conflicts_in_random_solution_generation();
2051 _internal_set_max_number_of_conflicts_in_random_solution_generation(value);
2052 SetHasBit(
_impl_._has_bits_[0], 0x00100000U);
2055inline ::int32_t BopParameters::_internal_max_number_of_conflicts_in_random_solution_generation()
const {
2056 ::google::protobuf::internal::TSanRead(&
_impl_);
2057 return _impl_.max_number_of_conflicts_in_random_solution_generation_;
2059inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_solution_generation(::int32_t value) {
2060 ::google::protobuf::internal::TSanWrite(&
_impl_);
2061 _impl_.max_number_of_conflicts_in_random_solution_generation_ = value;
2066 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00200000U);
2070 ::google::protobuf::internal::TSanWrite(&
_impl_);
2071 _impl_.max_number_of_explored_assignments_per_try_in_ls_ = ::int64_t{10000};
2072 ClearHasBit(
_impl_._has_bits_[0],
2077 return _internal_max_number_of_explored_assignments_per_try_in_ls();
2080 _internal_set_max_number_of_explored_assignments_per_try_in_ls(value);
2081 SetHasBit(
_impl_._has_bits_[0], 0x00200000U);
2084inline ::int64_t BopParameters::_internal_max_number_of_explored_assignments_per_try_in_ls()
const {
2085 ::google::protobuf::internal::TSanRead(&
_impl_);
2086 return _impl_.max_number_of_explored_assignments_per_try_in_ls_;
2088inline void BopParameters::_internal_set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value) {
2089 ::google::protobuf::internal::TSanWrite(&
_impl_);
2090 _impl_.max_number_of_explored_assignments_per_try_in_ls_ = value;
2095 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00400000U);
2099 ::google::protobuf::internal::TSanWrite(&
_impl_);
2100 _impl_.use_transposition_table_in_ls_ =
true;
2101 ClearHasBit(
_impl_._has_bits_[0],
2106 return _internal_use_transposition_table_in_ls();
2109 _internal_set_use_transposition_table_in_ls(value);
2110 SetHasBit(
_impl_._has_bits_[0], 0x00400000U);
2113inline bool BopParameters::_internal_use_transposition_table_in_ls()
const {
2114 ::google::protobuf::internal::TSanRead(&
_impl_);
2115 return _impl_.use_transposition_table_in_ls_;
2117inline void BopParameters::_internal_set_use_transposition_table_in_ls(
bool value) {
2118 ::google::protobuf::internal::TSanWrite(&
_impl_);
2119 _impl_.use_transposition_table_in_ls_ = value;
2124 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000001U);
2128 ::google::protobuf::internal::TSanWrite(&
_impl_);
2129 _impl_.use_potential_one_flip_repairs_in_ls_ =
false;
2130 ClearHasBit(
_impl_._has_bits_[1],
2135 return _internal_use_potential_one_flip_repairs_in_ls();
2138 _internal_set_use_potential_one_flip_repairs_in_ls(value);
2139 SetHasBit(
_impl_._has_bits_[1], 0x00000001U);
2142inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls()
const {
2143 ::google::protobuf::internal::TSanRead(&
_impl_);
2144 return _impl_.use_potential_one_flip_repairs_in_ls_;
2146inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(
bool value) {
2147 ::google::protobuf::internal::TSanWrite(&
_impl_);
2148 _impl_.use_potential_one_flip_repairs_in_ls_ = value;
2153 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00800000U);
2157 ::google::protobuf::internal::TSanWrite(&
_impl_);
2158 _impl_.use_learned_binary_clauses_in_lp_ =
true;
2159 ClearHasBit(
_impl_._has_bits_[0],
2164 return _internal_use_learned_binary_clauses_in_lp();
2167 _internal_set_use_learned_binary_clauses_in_lp(value);
2168 SetHasBit(
_impl_._has_bits_[0], 0x00800000U);
2171inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp()
const {
2172 ::google::protobuf::internal::TSanRead(&
_impl_);
2173 return _impl_.use_learned_binary_clauses_in_lp_;
2175inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(
bool value) {
2176 ::google::protobuf::internal::TSanWrite(&
_impl_);
2177 _impl_.use_learned_binary_clauses_in_lp_ = value;
2182 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x01000000U);
2186 ::google::protobuf::internal::TSanWrite(&
_impl_);
2187 _impl_.number_of_solvers_ = 1;
2188 ClearHasBit(
_impl_._has_bits_[0],
2193 return _internal_number_of_solvers();
2196 _internal_set_number_of_solvers(value);
2197 SetHasBit(
_impl_._has_bits_[0], 0x01000000U);
2200inline ::int32_t BopParameters::_internal_number_of_solvers()
const {
2201 ::google::protobuf::internal::TSanRead(&
_impl_);
2202 return _impl_.number_of_solvers_;
2204inline void BopParameters::_internal_set_number_of_solvers(::int32_t value) {
2205 ::google::protobuf::internal::TSanWrite(&
_impl_);
2206 _impl_.number_of_solvers_ = value;
2211 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000020U);
2215 ::google::protobuf::internal::TSanWrite(&
_impl_);
2216 _impl_.synchronization_type_ = 0;
2217 ClearHasBit(
_impl_._has_bits_[0],
2222 return _internal_synchronization_type();
2225 _internal_set_synchronization_type(value);
2226 SetHasBit(
_impl_._has_bits_[0], 0x00000020U);
2229inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::_internal_synchronization_type()
const {
2230 ::google::protobuf::internal::TSanRead(&
_impl_);
2234 ::google::protobuf::internal::TSanWrite(&
_impl_);
2236 assert(::google::protobuf::internal::ValidateEnum(
2238 _impl_.synchronization_type_ = value;
2242inline int BopParameters::_internal_solver_optimizer_sets_size()
const {
2243 return _internal_solver_optimizer_sets().size();
2246 return _internal_solver_optimizer_sets_size();
2249 ::google::protobuf::internal::TSanWrite(&
_impl_);
2250 _impl_.solver_optimizer_sets_.Clear();
2251 ClearHasBitForRepeated(
_impl_._has_bits_[0],
2255 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2257 return _internal_mutable_solver_optimizer_sets()->Mutable(index);
2260 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2261 SetHasBitForRepeated(
_impl_._has_bits_[0], 0x00000001U);
2263 ::google::protobuf::internal::TSanWrite(&
_impl_);
2264 return _internal_mutable_solver_optimizer_sets();
2267 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2269 return _internal_solver_optimizer_sets().Get(index);
2272 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2273 ::google::protobuf::internal::TSanWrite(&
_impl_);
2275 _internal_mutable_solver_optimizer_sets()->InternalAddWithArena(
2276 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
2277 SetHasBitForRepeated(
_impl_._has_bits_[0], 0x00000001U);
2282 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2284 return _internal_solver_optimizer_sets();
2286inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>&
2287BopParameters::_internal_solver_optimizer_sets()
const {
2288 ::google::protobuf::internal::TSanRead(&
_impl_);
2289 return _impl_.solver_optimizer_sets_;
2291inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL
2292BopParameters::_internal_mutable_solver_optimizer_sets() {
2293 ::google::protobuf::internal::TSanRead(&
_impl_);
2294 return &
_impl_.solver_optimizer_sets_;
2299 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x40000000U);
2303 ::google::protobuf::internal::TSanWrite(&
_impl_);
2304 _impl_.default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2305 ClearHasBit(
_impl_._has_bits_[0],
2309 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2311 if (
_impl_.default_solver_optimizer_sets_.IsDefault()) {
2312 return Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get();
2314 return _internal_default_solver_optimizer_sets();
2316template <
typename Arg_,
typename... Args_>
2318 ::google::protobuf::internal::TSanWrite(&
_impl_);
2319 SetHasBit(
_impl_._has_bits_[0], 0x40000000U);
2320 _impl_.default_solver_optimizer_sets_.Set(
static_cast<Arg_&&
>(arg), args..., GetArena());
2324 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2325 SetHasBit(
_impl_._has_bits_[0], 0x40000000U);
2326 ::std::string* _s = _internal_mutable_default_solver_optimizer_sets();
2330inline const ::std::string& BopParameters::_internal_default_solver_optimizer_sets()
const {
2331 ::google::protobuf::internal::TSanRead(&
_impl_);
2332 return _impl_.default_solver_optimizer_sets_.Get();
2334inline void BopParameters::_internal_set_default_solver_optimizer_sets(const ::std::string& value) {
2335 ::google::protobuf::internal::TSanWrite(&
_impl_);
2336 _impl_.default_solver_optimizer_sets_.Set(value, GetArena());
2338inline ::std::string* PROTOBUF_NONNULL BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2339 ::google::protobuf::internal::TSanWrite(&
_impl_);
2340 return _impl_.default_solver_optimizer_sets_.Mutable(::operations_research::bop::BopParameters::Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2343 ::google::protobuf::internal::TSanWrite(&
_impl_);
2345 if (!CheckHasBit(
_impl_._has_bits_[0], 0x40000000U)) {
2348 ClearHasBit(
_impl_._has_bits_[0], 0x40000000U);
2349 return _impl_.default_solver_optimizer_sets_.Release();
2352 ::google::protobuf::internal::TSanWrite(&
_impl_);
2353 if (value !=
nullptr) {
2354 SetHasBit(
_impl_._has_bits_[0], 0x40000000U);
2356 ClearHasBit(
_impl_._has_bits_[0], 0x40000000U);
2358 _impl_.default_solver_optimizer_sets_.SetAllocated(value, GetArena());
2364 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000040U);
2368 ::google::protobuf::internal::TSanWrite(&
_impl_);
2369 _impl_.use_lp_strong_branching_ =
false;
2370 ClearHasBit(
_impl_._has_bits_[0],
2375 return _internal_use_lp_strong_branching();
2378 _internal_set_use_lp_strong_branching(value);
2379 SetHasBit(
_impl_._has_bits_[0], 0x00000040U);
2382inline bool BopParameters::_internal_use_lp_strong_branching()
const {
2383 ::google::protobuf::internal::TSanRead(&
_impl_);
2384 return _impl_.use_lp_strong_branching_;
2386inline void BopParameters::_internal_set_use_lp_strong_branching(
bool value) {
2387 ::google::protobuf::internal::TSanWrite(&
_impl_);
2388 _impl_.use_lp_strong_branching_ = value;
2393 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x08000000U);
2397 ::google::protobuf::internal::TSanWrite(&
_impl_);
2398 _impl_.decomposer_num_variables_threshold_ = 50;
2399 ClearHasBit(
_impl_._has_bits_[0],
2404 return _internal_decomposer_num_variables_threshold();
2407 _internal_set_decomposer_num_variables_threshold(value);
2408 SetHasBit(
_impl_._has_bits_[0], 0x08000000U);
2411inline ::int32_t BopParameters::_internal_decomposer_num_variables_threshold()
const {
2412 ::google::protobuf::internal::TSanRead(&
_impl_);
2413 return _impl_.decomposer_num_variables_threshold_;
2415inline void BopParameters::_internal_set_decomposer_num_variables_threshold(::int32_t value) {
2416 ::google::protobuf::internal::TSanWrite(&
_impl_);
2417 _impl_.decomposer_num_variables_threshold_ = value;
2422 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x10000000U);
2426 ::google::protobuf::internal::TSanWrite(&
_impl_);
2427 _impl_.num_bop_solvers_used_by_decomposition_ = 1;
2428 ClearHasBit(
_impl_._has_bits_[0],
2433 return _internal_num_bop_solvers_used_by_decomposition();
2436 _internal_set_num_bop_solvers_used_by_decomposition(value);
2437 SetHasBit(
_impl_._has_bits_[0], 0x10000000U);
2440inline ::int32_t BopParameters::_internal_num_bop_solvers_used_by_decomposition()
const {
2441 ::google::protobuf::internal::TSanRead(&
_impl_);
2442 return _impl_.num_bop_solvers_used_by_decomposition_;
2444inline void BopParameters::_internal_set_num_bop_solvers_used_by_decomposition(::int32_t value) {
2445 ::google::protobuf::internal::TSanWrite(&
_impl_);
2446 _impl_.num_bop_solvers_used_by_decomposition_ = value;
2451 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x80000000U);
2455 ::google::protobuf::internal::TSanWrite(&
_impl_);
2456 _impl_.decomposed_problem_min_time_in_seconds_ = 0;
2457 ClearHasBit(
_impl_._has_bits_[0],
2462 return _internal_decomposed_problem_min_time_in_seconds();
2465 _internal_set_decomposed_problem_min_time_in_seconds(value);
2466 SetHasBit(
_impl_._has_bits_[0], 0x80000000U);
2469inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds()
const {
2470 ::google::protobuf::internal::TSanRead(&
_impl_);
2471 return _impl_.decomposed_problem_min_time_in_seconds_;
2473inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(
double value) {
2474 ::google::protobuf::internal::TSanWrite(&
_impl_);
2475 _impl_.decomposed_problem_min_time_in_seconds_ = value;
2480 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x20000000U);
2484 ::google::protobuf::internal::TSanWrite(&
_impl_);
2485 _impl_.guided_sat_conflicts_chunk_ = 1000;
2486 ClearHasBit(
_impl_._has_bits_[0],
2491 return _internal_guided_sat_conflicts_chunk();
2494 _internal_set_guided_sat_conflicts_chunk(value);
2495 SetHasBit(
_impl_._has_bits_[0], 0x20000000U);
2498inline ::int32_t BopParameters::_internal_guided_sat_conflicts_chunk()
const {
2499 ::google::protobuf::internal::TSanRead(&
_impl_);
2500 return _impl_.guided_sat_conflicts_chunk_;
2502inline void BopParameters::_internal_set_guided_sat_conflicts_chunk(::int32_t value) {
2503 ::google::protobuf::internal::TSanWrite(&
_impl_);
2504 _impl_.guided_sat_conflicts_chunk_ = value;
2509 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000004U);
2513 ::google::protobuf::internal::TSanWrite(&
_impl_);
2514 _impl_.max_lp_solve_for_feasibility_problems_ = 0;
2515 ClearHasBit(
_impl_._has_bits_[1],
2520 return _internal_max_lp_solve_for_feasibility_problems();
2523 _internal_set_max_lp_solve_for_feasibility_problems(value);
2524 SetHasBit(
_impl_._has_bits_[1], 0x00000004U);
2527inline ::int32_t BopParameters::_internal_max_lp_solve_for_feasibility_problems()
const {
2528 ::google::protobuf::internal::TSanRead(&
_impl_);
2529 return _impl_.max_lp_solve_for_feasibility_problems_;
2531inline void BopParameters::_internal_set_max_lp_solve_for_feasibility_problems(::int32_t value) {
2532 ::google::protobuf::internal::TSanWrite(&
_impl_);
2533 _impl_.max_lp_solve_for_feasibility_problems_ = value;
2537#pragma GCC diagnostic pop
2552 return ::operations_research::bop::BopOptimizerMethod_OptimizerType_descriptor();
2558 return ::operations_research::bop::BopParameters_ThreadSynchronizationType_descriptor();
2566#include "google/protobuf/port_undef.inc"
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto
static constexpr OptimizerType USER_GUIDED_FIRST_SOLUTION
friend class ::google::protobuf::MessageLite
static constexpr OptimizerType COMPLETE_LNS
bool IsInitialized() const
::operations_research::bop::BopOptimizerMethod_OptimizerType type() const
static constexpr OptimizerType RELATION_GRAPH_LNS_GUIDED_BY_LP
PROTOBUF_CONSTEXPR BopOptimizerMethod(::google::protobuf::internal::ConstantInitialized)
static constexpr OptimizerType SAT_LINEAR_SEARCH
BopOptimizerMethod_OptimizerType OptimizerType
static bool OptimizerType_IsValid(int value)
static constexpr OptimizerType RANDOM_VARIABLE_LNS_GUIDED_BY_LP
void Swap(BopOptimizerMethod *PROTOBUF_NONNULL other)
static constexpr OptimizerType LINEAR_RELAXATION
static constexpr OptimizerType RANDOM_VARIABLE_LNS
void CopyFrom(const BopOptimizerMethod &from)
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
BopOptimizerMethod(const BopOptimizerMethod &from)
BopOptimizerMethod & operator=(const BopOptimizerMethod &from)
static constexpr OptimizerType OBJECTIVE_FIRST_SOLUTION
static constexpr int OptimizerType_ARRAYSIZE
static constexpr OptimizerType RELATION_GRAPH_LNS
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL OptimizerType_descriptor()
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
static constexpr OptimizerType LP_FIRST_SOLUTION
void set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value)
static constexpr OptimizerType RANDOM_FIRST_SOLUTION
static constexpr OptimizerType LOCAL_SEARCH
bool has_synchronization_type() const
void set_max_time_in_seconds(double value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_max_num_decisions_in_ls(::int32_t value)
bool has_guided_sat_conflicts_chunk() const
bool use_transposition_table_in_ls() const
bool prune_search_tree() const
friend class ::google::protobuf::MessageLite
bool has_sort_constraints_by_num_terms() const
void set_use_random_lns(bool value)
bool has_compute_estimated_impact() const
void set_sort_constraints_by_num_terms(bool value)
void set_use_potential_one_flip_repairs_in_ls(bool value)
::int32_t max_number_of_conflicts_for_quick_check() const
double decomposed_problem_min_time_in_seconds() const
void clear_lp_max_deterministic_time()
void clear_max_num_broken_constraints_in_ls()
void clear_sort_constraints_by_num_terms()
bool has_use_potential_one_flip_repairs_in_ls() const
::operations_research::bop::BopSolverOptimizerSet *PROTOBUF_NONNULL add_solver_optimizer_sets()
void set_num_random_lns_tries(::int32_t value)
bool has_max_number_of_explored_assignments_per_try_in_ls() const
void set_number_of_solvers(::int32_t value)
bool has_max_number_of_conflicts_in_random_lns() const
void clear_use_transposition_table_in_ls()
void set_max_lp_solve_for_feasibility_problems(::int32_t value)
bool has_max_number_of_conflicts_for_quick_check() const
double relative_gap_limit() const
void set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value)
void clear_relative_gap_limit()
void clear_use_potential_one_flip_repairs_in_ls()
void set_max_num_broken_constraints_in_ls(::int32_t value)
void clear_synchronization_type()
bool has_max_deterministic_time() const
void set_prune_search_tree(bool value)
::int32_t max_number_of_conflicts_in_random_lns() const
void clear_max_number_of_explored_assignments_per_try_in_ls()
::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet > *PROTOBUF_NONNULL mutable_solver_optimizer_sets()
void clear_use_learned_binary_clauses_in_lp()
const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet > & solver_optimizer_sets() const
bool has_log_search_progress() const
::int32_t max_num_decisions_in_ls() const
bool has_use_lp_lns() const
::int32_t max_lp_solve_for_feasibility_problems() const
void MergeFrom(const BopParameters &from)
void clear_num_bop_solvers_used_by_decomposition()
::int32_t number_of_solvers() const
void clear_max_time_in_seconds()
void clear_max_number_of_conflicts_for_quick_check()
void clear_num_random_lns_tries()
void set_max_number_of_conflicts_in_random_solution_generation(::int32_t value)
static constexpr ThreadSynchronizationType ThreadSynchronizationType_MIN
void clear_exploit_symmetry_in_sat_first_solution()
const ::operations_research::bop::BopSolverOptimizerSet & solver_optimizer_sets(int index) const
bool has_number_of_solvers() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
bool has_max_num_decisions_in_ls() const
void set_use_symmetry(bool value)
void set_log_search_progress(bool value)
bool has_prune_search_tree() const
void set_max_number_of_conflicts_in_random_lns(::int32_t value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void clear_default_solver_optimizer_sets()
@ kSolverOptimizerSetsFieldNumber
@ kRelativeGapLimitFieldNumber
@ kDefaultSolverOptimizerSetsFieldNumber
@ kUseLpStrongBranchingFieldNumber
@ kSortConstraintsByNumTermsFieldNumber
@ kNumBopSolversUsedByDecompositionFieldNumber
@ kNumRelaxedVarsFieldNumber
@ kUseSymmetryFieldNumber
@ kExploitSymmetryInSatFirstSolutionFieldNumber
@ kLogSearchProgressFieldNumber
@ kUseTranspositionTableInLsFieldNumber
@ kDecomposerNumVariablesThresholdFieldNumber
@ kMaxNumDecisionsInLsFieldNumber
@ kUseLearnedBinaryClausesInLpFieldNumber
@ kNumRandomLnsTriesFieldNumber
@ kUseSatToChooseLnsNeighbourhoodFieldNumber
@ kMaxNumberOfConflictsForQuickCheckFieldNumber
@ kMaxNumberOfExploredAssignmentsPerTryInLsFieldNumber
@ kDecomposedProblemMinTimeInSecondsFieldNumber
@ kUseRandomLnsFieldNumber
@ kMaxNumberOfConflictsInRandomSolutionGenerationFieldNumber
@ kMaxLpSolveForFeasibilityProblemsFieldNumber
@ kNumberOfSolversFieldNumber
@ kMaxNumberOfConflictsInRandomLnsFieldNumber
@ kComputeEstimatedImpactFieldNumber
@ kMaxTimeInSecondsFieldNumber
@ kMaxNumberOfBacktracksInLsFieldNumber
@ kMaxDeterministicTimeFieldNumber
@ kMaxNumberOfConsecutiveFailingOptimizerCallsFieldNumber
@ kLpMaxDeterministicTimeFieldNumber
@ kGuidedSatConflictsChunkFieldNumber
@ kMaxNumBrokenConstraintsInLsFieldNumber
@ kPruneSearchTreeFieldNumber
@ kUsePotentialOneFlipRepairsInLsFieldNumber
@ kSynchronizationTypeFieldNumber
bool has_max_number_of_backtracks_in_ls() const
void set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value)
::int32_t max_num_broken_constraints_in_ls() const
void clear_use_sat_to_choose_lns_neighbourhood()
void clear_decomposer_num_variables_threshold()
bool has_default_solver_optimizer_sets() const
void set_max_deterministic_time(double value)
void set_random_seed(::int32_t value)
bool log_search_progress() const
static bool ThreadSynchronizationType_IsValid(int value)
bool has_max_number_of_conflicts_in_random_solution_generation() const
void set_num_bop_solvers_used_by_decomposition(::int32_t value)
bool has_decomposer_num_variables_threshold() const
void set_relative_gap_limit(double value)
bool has_num_random_lns_tries() const
void set_compute_estimated_impact(bool value)
void CopyFrom(const BopParameters &from)
void set_decomposer_num_variables_threshold(::int32_t value)
bool has_num_bop_solvers_used_by_decomposition() const
void set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value)
bool sort_constraints_by_num_terms() const
void set_num_relaxed_vars(::int32_t value)
bool use_potential_one_flip_repairs_in_ls() const
void set_use_lp_lns(bool value)
bool has_random_seed() const
bool has_use_random_lns() const
void set_max_number_of_backtracks_in_ls(::int64_t value)
bool has_exploit_symmetry_in_sat_first_solution() const
bool has_max_time_in_seconds() const
int solver_optimizer_sets_size() const
::int32_t max_number_of_consecutive_failing_optimizer_calls() const
void clear_max_number_of_conflicts_in_random_solution_generation()
bool has_num_relaxed_vars() const
void clear_max_num_decisions_in_ls()
static constexpr ThreadSynchronizationType ThreadSynchronizationType_MAX
bool compute_estimated_impact() const
bool use_learned_binary_clauses_in_lp() const
void set_use_learned_binary_clauses_in_lp(bool value)
static const BopParameters & default_instance()
::int32_t max_number_of_conflicts_in_random_solution_generation() const
void set_use_sat_to_choose_lns_neighbourhood(bool value)
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL ThreadSynchronizationType_descriptor()
::int32_t decomposer_num_variables_threshold() const
bool use_lp_strong_branching() const
::std::string *PROTOBUF_NULLABLE release_default_solver_optimizer_sets()
void clear_prune_search_tree()
void clear_max_number_of_backtracks_in_ls()
double lp_max_deterministic_time() const
BopParameters & operator=(const BopParameters &from)
bool has_max_num_broken_constraints_in_ls() const
void set_default_solver_optimizer_sets(Arg_ &&arg, Args_... args)
::size_t ByteSizeLong() const final
bool has_use_symmetry() const
void clear_solver_optimizer_sets()
void clear_use_symmetry()
::int32_t num_relaxed_vars() const
void clear_max_number_of_conflicts_in_random_lns()
bool has_max_number_of_consecutive_failing_optimizer_calls() const
void clear_number_of_solvers()
void set_exploit_symmetry_in_sat_first_solution(bool value)
bool has_decomposed_problem_min_time_in_seconds() const
bool use_sat_to_choose_lns_neighbourhood() const
::operations_research::bop::BopSolverOptimizerSet *PROTOBUF_NONNULL mutable_solver_optimizer_sets(int index)
BopParameters_ThreadSynchronizationType ThreadSynchronizationType
void set_guided_sat_conflicts_chunk(::int32_t value)
void set_max_number_of_conflicts_for_quick_check(::int32_t value)
::int32_t num_random_lns_tries() const
::operations_research::bop::BopParameters_ThreadSynchronizationType synchronization_type() const
void set_lp_max_deterministic_time(double value)
void clear_log_search_progress()
bool use_symmetry() const
void set_allocated_default_solver_optimizer_sets(::std::string *PROTOBUF_NULLABLE value)
void clear_compute_estimated_impact()
::int32_t guided_sat_conflicts_chunk() const
double max_deterministic_time() const
::int64_t max_number_of_backtracks_in_ls() const
void clear_guided_sat_conflicts_chunk()
bool has_use_sat_to_choose_lns_neighbourhood() const
void clear_max_number_of_consecutive_failing_optimizer_calls()
void Swap(BopParameters *PROTOBUF_NONNULL other)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static const ::std::string & ThreadSynchronizationType_Name(T value)
PROTOBUF_CONSTEXPR BopParameters(::google::protobuf::internal::ConstantInitialized)
bool has_use_transposition_table_in_ls() const
friend void swap(BopParameters &a, BopParameters &b)
void set_use_lp_strong_branching(bool value)
void clear_max_deterministic_time()
::int32_t random_seed() const
void clear_num_relaxed_vars()
static constexpr int ThreadSynchronizationType_ARRAYSIZE
bool has_relative_gap_limit() const
void set_decomposed_problem_min_time_in_seconds(double value)
bool has_max_lp_solve_for_feasibility_problems() const
bool has_use_learned_binary_clauses_in_lp() const
void set_use_transposition_table_in_ls(bool value)
static constexpr int kIndexInFileMessages
void clear_max_lp_solve_for_feasibility_problems()
void clear_use_lp_strong_branching()
bool has_use_lp_strong_branching() const
double max_time_in_seconds() const
void clear_decomposed_problem_min_time_in_seconds()
bool IsInitialized() const
bool exploit_symmetry_in_sat_first_solution() const
::int32_t num_bop_solvers_used_by_decomposition() const
bool use_random_lns() const
::std::string *PROTOBUF_NONNULL mutable_default_solver_optimizer_sets()
::int64_t max_number_of_explored_assignments_per_try_in_ls() const
void clear_use_random_lns()
bool has_lp_max_deterministic_time() const
const ::std::string & default_solver_optimizer_sets() const
static const BopSolverOptimizerSet & default_instance()
friend class ::google::protobuf::MessageLite
::size_t ByteSizeLong() const final
bool IsInitialized() const
void MergeFrom(const BopSolverOptimizerSet &from)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
BopSolverOptimizerSet & operator=(const BopSolverOptimizerSet &from)
::operations_research::bop::BopOptimizerMethod *PROTOBUF_NONNULL add_methods()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void Swap(BopSolverOptimizerSet *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod > & methods() const
const ::operations_research::bop::BopOptimizerMethod & methods(int index) const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
PROTOBUF_CONSTEXPR BopSolverOptimizerSet(::google::protobuf::internal::ConstantInitialized)
void CopyFrom(const BopSolverOptimizerSet &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod > *PROTOBUF_NONNULL mutable_methods()
::operations_research::bop::BopOptimizerMethod *PROTOBUF_NONNULL mutable_methods(int index)
::absl::string_view GetAnyMessageName()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::bop::BopParameters_ThreadSynchronizationType >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::bop::BopOptimizerMethod_OptimizerType >()
constexpr int BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_ARRAYSIZE
bool BopParameters_ThreadSynchronizationType_Parse(::absl::string_view name, BopParameters_ThreadSynchronizationType *PROTOBUF_NONNULL value)
bool BopOptimizerMethod_OptimizerType_Parse(::absl::string_view name, BopOptimizerMethod_OptimizerType *PROTOBUF_NONNULL value)
constexpr int BopOptimizerMethod_OptimizerType_OptimizerType_ARRAYSIZE
const ::std::string & BopParameters_ThreadSynchronizationType_Name(T value)
PROTOBUF_CONSTINIT const uint32_t BopOptimizerMethod_OptimizerType_internal_data_[]
bool BopOptimizerMethod_OptimizerType_IsValid(int value)
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL BopOptimizerMethod_OptimizerType_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BopParametersDefaultTypeInternal _BopParameters_default_instance_
PROTOBUF_CONSTINIT const uint32_t BopParameters_ThreadSynchronizationType_internal_data_[]
bool BopParameters_ThreadSynchronizationType_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BopSolverOptimizerSet_class_data_
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MAX
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL BopParameters_ThreadSynchronizationType_descriptor()
BopOptimizerMethod_OptimizerType
@ BopOptimizerMethod_OptimizerType_COMPLETE_LNS
@ BopOptimizerMethod_OptimizerType_USER_GUIDED_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS
@ BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS
@ BopOptimizerMethod_OptimizerType_LP_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RANDOM_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_SAT_LINEAR_SEARCH
@ BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_LOCAL_SEARCH
@ BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_OBJECTIVE_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS
@ BopOptimizerMethod_OptimizerType_SAT_CORE_BASED
@ BopOptimizerMethod_OptimizerType_LINEAR_RELAXATION
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MIN
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BopParameters_class_data_
const ::std::string & BopOptimizerMethod_OptimizerType_Name(T value)
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MIN
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MAX
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BopOptimizerMethod_class_data_
BopParameters_ThreadSynchronizationType
@ BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT
@ BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION
@ BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ALL