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 != 6031001
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"; }
298 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
BopOptimizerMethod&& from) noexcept
300 *
this = ::std::move(from);
302 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
303 static
void* PROTOBUF_NONNULL PlacementNew_(
304 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
305 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
306 static constexpr auto InternalNewImpl_();
309 static constexpr auto InternalGenerateClassData_();
311 ::
google::protobuf::Metadata GetMetadata() const;
338 template <
typename T>
339 static inline const ::std::string& OptimizerType_Name(T value) {
342 static inline bool OptimizerType_Parse(
343 ::absl::string_view name, OptimizerType* PROTOBUF_NONNULL value) {
349 kTypeFieldNumber = 1,
365 friend class ::google::protobuf::internal::TcParser;
366 static const ::google::protobuf::internal::TcParseTable<0, 1,
371 friend class ::google::protobuf::MessageLite;
372 friend class ::google::protobuf::Arena;
373 template <
typename T>
374 friend class ::google::protobuf::Arena::InternalHelper;
375 using InternalArenaConstructable_ = void;
376 using DestructorSkippable_ = void;
378 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
379 inline explicit Impl_(
380 ::google::protobuf::internal::InternalVisibility visibility,
381 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
382 inline explicit Impl_(
383 ::google::protobuf::internal::InternalVisibility visibility,
384 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
386 ::google::protobuf::internal::HasBits<1> _has_bits_;
387 ::google::protobuf::internal::CachedSize _cached_size_;
389 PROTOBUF_TSAN_DECLARE_MEMBER
391 union { Impl_ _impl_; };
392 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
404#if defined(PROTOBUF_CUSTOM_VTABLE)
411 template <
typename =
void>
412 explicit PROTOBUF_CONSTEXPR
BopSolverOptimizerSet(::google::protobuf::internal::ConstantInitialized);
422 if (
this == &from)
return *
this;
423 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
431 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
432 ABSL_ATTRIBUTE_LIFETIME_BOUND {
433 return _internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
435 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
436 ABSL_ATTRIBUTE_LIFETIME_BOUND {
437 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
440 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
441 return GetDescriptor();
443 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
GetDescriptor() {
446 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL
GetReflection() {
453 static constexpr int kIndexInFileMessages = 1;
455 inline void Swap(BopSolverOptimizerSet* PROTOBUF_NONNULL other) {
456 if (other ==
this)
return;
457 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
460 ::google::protobuf::internal::GenericSwap(
this, other);
463 void UnsafeArenaSwap(BopSolverOptimizerSet* PROTOBUF_NONNULL other) {
464 if (other ==
this)
return;
465 ABSL_DCHECK(GetArena() == other->GetArena());
471 BopSolverOptimizerSet* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena =
nullptr)
const {
472 return ::google::protobuf::Message::DefaultConstruct<BopSolverOptimizerSet>(arena);
474 using ::google::protobuf::Message::CopyFrom;
476 using ::google::protobuf::Message::MergeFrom;
480 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
481 const ::google::protobuf::MessageLite& from_msg);
487 ABSL_ATTRIBUTE_REINITIALIZES
void Clear() PROTOBUF_FINAL;
488 #if defined(PROTOBUF_CUSTOM_VTABLE)
490 static ::size_t
ByteSizeLong(const ::google::protobuf::MessageLite& msg);
492 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
493 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
497 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
498 ::uint8_t* PROTOBUF_NONNULL target,
499 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
500 return _InternalSerialize(*
this, target, stream);
503 ::size_t ByteSizeLong() const final;
504 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
505 ::uint8_t* PROTOBUF_NONNULL target,
506 ::
google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
508 int GetCachedSize()
const {
return _impl_._cached_size_.Get(); }
511 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
515 template <
typename T>
517 static ::absl::string_view FullMessageName() {
return "operations_research.bop.BopSolverOptimizerSet"; }
525 *
this = ::std::move(from);
527 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
528 static
void* PROTOBUF_NONNULL PlacementNew_(
529 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
530 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
531 static constexpr auto InternalNewImpl_();
534 static constexpr auto InternalGenerateClassData_();
536 ::
google::protobuf::Metadata GetMetadata() const;
541 kMethodsFieldNumber = 1,
546 int _internal_methods_size()
const;
551 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL
mutable_methods();
554 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>& _internal_methods()
const;
555 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL _internal_mutable_methods();
557 const ::operations_research::bop::BopOptimizerMethod&
methods(
int index)
const;
559 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>&
methods()
const;
563 friend class ::google::protobuf::internal::TcParser;
564 static const ::google::protobuf::internal::TcParseTable<0, 1,
569 friend class ::google::protobuf::MessageLite;
570 friend class ::google::protobuf::Arena;
571 template <
typename T>
572 friend class ::google::protobuf::Arena::InternalHelper;
573 using InternalArenaConstructable_ = void;
574 using DestructorSkippable_ = void;
576 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
577 inline explicit Impl_(
578 ::google::protobuf::internal::InternalVisibility visibility,
579 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
580 inline explicit Impl_(
581 ::google::protobuf::internal::InternalVisibility visibility,
582 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
584 ::google::protobuf::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
585 ::google::protobuf::internal::CachedSize _cached_size_;
586 PROTOBUF_TSAN_DECLARE_MEMBER
588 union { Impl_ _impl_; };
589 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
595class OR_PROTO_DLL
BopParameters final :
public ::google::protobuf::Message
601#if defined(PROTOBUF_CUSTOM_VTABLE)
602 void operator delete(
BopParameters* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
604 ::google::protobuf::internal::SizedDelete(msg,
sizeof(
BopParameters));
608 template <
typename =
void>
609 explicit PROTOBUF_CONSTEXPR
BopParameters(::google::protobuf::internal::ConstantInitialized);
612 inline BopParameters(BopParameters&& from) noexcept
619 if (
this == &from)
return *
this;
620 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
628 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
629 ABSL_ATTRIBUTE_LIFETIME_BOUND {
630 return _internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
633 ABSL_ATTRIBUTE_LIFETIME_BOUND {
634 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
637 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
descriptor() {
640 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
643 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
653 if (other ==
this)
return;
654 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
657 ::google::protobuf::internal::GenericSwap(
this, other);
660 void UnsafeArenaSwap(BopParameters* PROTOBUF_NONNULL other) {
661 if (other ==
this)
return;
662 ABSL_DCHECK(GetArena() == other->GetArena());
668 BopParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena =
nullptr)
const {
669 return ::google::protobuf::Message::DefaultConstruct<BopParameters>(arena);
671 using ::google::protobuf::Message::CopyFrom;
673 using ::google::protobuf::Message::MergeFrom;
677 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
678 const ::google::protobuf::MessageLite& from_msg);
684 ABSL_ATTRIBUTE_REINITIALIZES
void Clear() PROTOBUF_FINAL;
685 #if defined(PROTOBUF_CUSTOM_VTABLE)
687 static ::size_t
ByteSizeLong(const ::google::protobuf::MessageLite& msg);
689 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
690 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
694 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
695 ::uint8_t* PROTOBUF_NONNULL target,
696 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
697 return _InternalSerialize(*
this, target, stream);
700 ::size_t ByteSizeLong() const final;
701 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
702 ::uint8_t* PROTOBUF_NONNULL target,
703 ::
google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
705 int GetCachedSize()
const {
return _impl_._cached_size_.Get(); }
708 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
712 template <
typename T>
714 static ::absl::string_view FullMessageName() {
return "operations_research.bop.BopParameters"; }
717 explicit BopParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
720 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
BopParameters&& from) noexcept
722 *
this = ::std::move(from);
724 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
725 static
void* PROTOBUF_NONNULL PlacementNew_(
726 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
727 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
728 static constexpr auto InternalNewImpl_();
731 static constexpr auto InternalGenerateClassData_();
733 ::
google::protobuf::Metadata GetMetadata() const;
748 template <
typename T>
752 static inline bool ThreadSynchronizationType_Parse(
800 int _internal_solver_optimizer_sets_size()
const;
808 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>& _internal_solver_optimizer_sets()
const;
809 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL _internal_mutable_solver_optimizer_sets();
813 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>&
solver_optimizer_sets()
const;
818 template <
typename Arg_ = const ::std::string&,
typename... Args_>
825 const ::std::string& _internal_default_solver_optimizer_sets()
const;
826 PROTOBUF_ALWAYS_INLINE
void _internal_set_default_solver_optimizer_sets(const ::std::string& value);
827 ::std::string* PROTOBUF_NONNULL _internal_mutable_default_solver_optimizer_sets();
837 bool _internal_prune_search_tree()
const;
838 void _internal_set_prune_search_tree(
bool value);
848 bool _internal_sort_constraints_by_num_terms()
const;
849 void _internal_set_sort_constraints_by_num_terms(
bool value);
859 bool _internal_log_search_progress()
const;
860 void _internal_set_log_search_progress(
bool value);
870 bool _internal_use_symmetry()
const;
871 void _internal_set_use_symmetry(
bool value);
892 ::int32_t _internal_max_number_of_consecutive_failing_optimizer_calls()
const;
893 void _internal_set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value);
903 bool _internal_use_lp_strong_branching()
const;
904 void _internal_set_use_lp_strong_branching(
bool value);
914 bool _internal_use_potential_one_flip_repairs_in_ls()
const;
915 void _internal_set_use_potential_one_flip_repairs_in_ls(
bool value);
925 bool _internal_exploit_symmetry_in_sat_first_solution()
const;
926 void _internal_set_exploit_symmetry_in_sat_first_solution(
bool value);
936 double _internal_decomposed_problem_min_time_in_seconds()
const;
937 void _internal_set_decomposed_problem_min_time_in_seconds(
double value);
947 ::int32_t _internal_max_lp_solve_for_feasibility_problems()
const;
948 void _internal_set_max_lp_solve_for_feasibility_problems(::int32_t value);
958 double _internal_max_time_in_seconds()
const;
959 void _internal_set_max_time_in_seconds(
double value);
969 ::int32_t _internal_max_num_decisions_in_ls()
const;
970 void _internal_set_max_num_decisions_in_ls(::int32_t value);
980 ::int32_t _internal_random_seed()
const;
981 void _internal_set_random_seed(::int32_t value);
991 ::int32_t _internal_num_relaxed_vars()
const;
992 void _internal_set_num_relaxed_vars(::int32_t value);
1002 ::int32_t _internal_max_number_of_conflicts_in_random_lns()
const;
1003 void _internal_set_max_number_of_conflicts_in_random_lns(::int32_t value);
1013 bool _internal_compute_estimated_impact()
const;
1014 void _internal_set_compute_estimated_impact(
bool value);
1024 bool _internal_use_random_lns()
const;
1025 void _internal_set_use_random_lns(
bool value);
1035 bool _internal_use_lp_lns()
const;
1036 void _internal_set_use_lp_lns(
bool value);
1046 bool _internal_use_sat_to_choose_lns_neighbourhood()
const;
1047 void _internal_set_use_sat_to_choose_lns_neighbourhood(
bool value);
1057 ::int32_t _internal_num_random_lns_tries()
const;
1058 void _internal_set_num_random_lns_tries(::int32_t value);
1068 ::int64_t _internal_max_number_of_backtracks_in_ls()
const;
1069 void _internal_set_max_number_of_backtracks_in_ls(::int64_t value);
1079 ::int32_t _internal_max_number_of_conflicts_for_quick_check()
const;
1080 void _internal_set_max_number_of_conflicts_for_quick_check(::int32_t value);
1090 ::int32_t _internal_max_number_of_conflicts_in_random_solution_generation()
const;
1091 void _internal_set_max_number_of_conflicts_in_random_solution_generation(::int32_t value);
1101 ::int64_t _internal_max_number_of_explored_assignments_per_try_in_ls()
const;
1102 void _internal_set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value);
1112 bool _internal_use_transposition_table_in_ls()
const;
1113 void _internal_set_use_transposition_table_in_ls(
bool value);
1123 bool _internal_use_learned_binary_clauses_in_lp()
const;
1124 void _internal_set_use_learned_binary_clauses_in_lp(
bool value);
1134 ::int32_t _internal_number_of_solvers()
const;
1135 void _internal_set_number_of_solvers(::int32_t value);
1145 double _internal_max_deterministic_time()
const;
1146 void _internal_set_max_deterministic_time(
double value);
1156 double _internal_relative_gap_limit()
const;
1157 void _internal_set_relative_gap_limit(
double value);
1167 ::int32_t _internal_decomposer_num_variables_threshold()
const;
1168 void _internal_set_decomposer_num_variables_threshold(::int32_t value);
1178 ::int32_t _internal_num_bop_solvers_used_by_decomposition()
const;
1179 void _internal_set_num_bop_solvers_used_by_decomposition(::int32_t value);
1189 ::int32_t _internal_guided_sat_conflicts_chunk()
const;
1190 void _internal_set_guided_sat_conflicts_chunk(::int32_t value);
1200 ::int32_t _internal_max_num_broken_constraints_in_ls()
const;
1201 void _internal_set_max_num_broken_constraints_in_ls(::int32_t value);
1211 double _internal_lp_max_deterministic_time()
const;
1212 void _internal_set_lp_max_deterministic_time(
double value);
1218 friend class ::google::protobuf::internal::TcParser;
1219 static const ::google::protobuf::internal::TcParseTable<5, 37,
1224 friend class ::google::protobuf::MessageLite;
1225 friend class ::google::protobuf::Arena;
1226 template <
typename T>
1227 friend class ::google::protobuf::Arena::InternalHelper;
1228 using InternalArenaConstructable_ = void;
1229 using DestructorSkippable_ = void;
1231 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
1232 inline explicit Impl_(
1233 ::google::protobuf::internal::InternalVisibility visibility,
1234 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1235 inline explicit Impl_(
1236 ::google::protobuf::internal::InternalVisibility visibility,
1237 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
1239 ::google::protobuf::internal::HasBits<2> _has_bits_;
1240 ::google::protobuf::internal::CachedSize _cached_size_;
1241 ::google::protobuf::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1242 static const ::google::protobuf::internal::LazyString _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_;
1243 ::google::protobuf::internal::ArenaStringPtr default_solver_optimizer_sets_;
1244 bool prune_search_tree_;
1245 bool sort_constraints_by_num_terms_;
1246 bool log_search_progress_;
1248 int synchronization_type_;
1249 ::int32_t max_number_of_consecutive_failing_optimizer_calls_;
1250 bool use_lp_strong_branching_;
1251 bool use_potential_one_flip_repairs_in_ls_;
1252 bool exploit_symmetry_in_sat_first_solution_;
1253 double decomposed_problem_min_time_in_seconds_;
1254 ::int32_t max_lp_solve_for_feasibility_problems_;
1255 double max_time_in_seconds_;
1256 ::int32_t max_num_decisions_in_ls_;
1257 ::int32_t random_seed_;
1258 ::int32_t num_relaxed_vars_;
1259 ::int32_t max_number_of_conflicts_in_random_lns_;
1260 bool compute_estimated_impact_;
1261 bool use_random_lns_;
1263 bool use_sat_to_choose_lns_neighbourhood_;
1264 ::int32_t num_random_lns_tries_;
1265 ::int64_t max_number_of_backtracks_in_ls_;
1266 ::int32_t max_number_of_conflicts_for_quick_check_;
1267 ::int32_t max_number_of_conflicts_in_random_solution_generation_;
1268 ::int64_t max_number_of_explored_assignments_per_try_in_ls_;
1269 bool use_transposition_table_in_ls_;
1270 bool use_learned_binary_clauses_in_lp_;
1271 ::int32_t number_of_solvers_;
1272 double max_deterministic_time_;
1273 double relative_gap_limit_;
1274 ::int32_t decomposer_num_variables_threshold_;
1275 ::int32_t num_bop_solvers_used_by_decomposition_;
1276 ::int32_t guided_sat_conflicts_chunk_;
1277 ::int32_t max_num_broken_constraints_in_ls_;
1278 double lp_max_deterministic_time_;
1279 PROTOBUF_TSAN_DECLARE_MEMBER
1281 union { Impl_ _impl_; };
1282 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1296#pragma GCC diagnostic push
1297#pragma GCC diagnostic ignored "-Wstrict-aliasing"
1305 bool value = (
_impl_._has_bits_[0] & 0x00000001u) != 0;
1309 ::google::protobuf::internal::TSanWrite(&
_impl_);
1315 return _internal_type();
1318 _internal_set_type(value);
1319 _impl_._has_bits_[0] |= 0x00000001u;
1322inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::_internal_type()
const {
1323 ::google::protobuf::internal::TSanRead(&
_impl_);
1327 ::google::protobuf::internal::TSanWrite(&
_impl_);
1329 assert(::google::protobuf::internal::ValidateEnum(
1339inline int BopSolverOptimizerSet::_internal_methods_size()
const {
1340 return _internal_methods().size();
1343 return _internal_methods_size();
1346 ::google::protobuf::internal::TSanWrite(&
_impl_);
1350 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1352 return _internal_mutable_methods()->Mutable(index);
1355 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1357 ::google::protobuf::internal::TSanWrite(&
_impl_);
1358 return _internal_mutable_methods();
1361 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1363 return _internal_methods().Get(index);
1366 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1367 ::google::protobuf::internal::TSanWrite(&
_impl_);
1373 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1375 return _internal_methods();
1377inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>&
1378BopSolverOptimizerSet::_internal_methods()
const {
1379 ::google::protobuf::internal::TSanRead(&
_impl_);
1382inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL
1383BopSolverOptimizerSet::_internal_mutable_methods() {
1384 ::google::protobuf::internal::TSanRead(&
_impl_);
1394 bool value = (
_impl_._has_bits_[0] & 0x00001000u) != 0;
1398 ::google::protobuf::internal::TSanWrite(&
_impl_);
1399 _impl_.max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1400 _impl_._has_bits_[0] &= ~0x00001000u;
1404 return _internal_max_time_in_seconds();
1407 _internal_set_max_time_in_seconds(value);
1408 _impl_._has_bits_[0] |= 0x00001000u;
1411inline double BopParameters::_internal_max_time_in_seconds()
const {
1412 ::google::protobuf::internal::TSanRead(&
_impl_);
1413 return _impl_.max_time_in_seconds_;
1415inline void BopParameters::_internal_set_max_time_in_seconds(
double value) {
1416 ::google::protobuf::internal::TSanWrite(&
_impl_);
1417 _impl_.max_time_in_seconds_ = value;
1422 bool value = (
_impl_._has_bits_[0] & 0x20000000u) != 0;
1426 ::google::protobuf::internal::TSanWrite(&
_impl_);
1427 _impl_.max_deterministic_time_ = std::numeric_limits<double>::infinity();
1428 _impl_._has_bits_[0] &= ~0x20000000u;
1432 return _internal_max_deterministic_time();
1435 _internal_set_max_deterministic_time(value);
1436 _impl_._has_bits_[0] |= 0x20000000u;
1439inline double BopParameters::_internal_max_deterministic_time()
const {
1440 ::google::protobuf::internal::TSanRead(&
_impl_);
1441 return _impl_.max_deterministic_time_;
1443inline void BopParameters::_internal_set_max_deterministic_time(
double value) {
1444 ::google::protobuf::internal::TSanWrite(&
_impl_);
1445 _impl_.max_deterministic_time_ = value;
1450 bool value = (
_impl_._has_bits_[1] & 0x00000008u) != 0;
1454 ::google::protobuf::internal::TSanWrite(&
_impl_);
1455 _impl_.lp_max_deterministic_time_ = 1;
1456 _impl_._has_bits_[1] &= ~0x00000008u;
1460 return _internal_lp_max_deterministic_time();
1463 _internal_set_lp_max_deterministic_time(value);
1464 _impl_._has_bits_[1] |= 0x00000008u;
1467inline double BopParameters::_internal_lp_max_deterministic_time()
const {
1468 ::google::protobuf::internal::TSanRead(&
_impl_);
1469 return _impl_.lp_max_deterministic_time_;
1471inline void BopParameters::_internal_set_lp_max_deterministic_time(
double value) {
1472 ::google::protobuf::internal::TSanWrite(&
_impl_);
1473 _impl_.lp_max_deterministic_time_ = value;
1478 bool value = (
_impl_._has_bits_[0] & 0x00000040u) != 0;
1482 ::google::protobuf::internal::TSanWrite(&
_impl_);
1483 _impl_.max_number_of_consecutive_failing_optimizer_calls_ = 0;
1484 _impl_._has_bits_[0] &= ~0x00000040u;
1488 return _internal_max_number_of_consecutive_failing_optimizer_calls();
1491 _internal_set_max_number_of_consecutive_failing_optimizer_calls(value);
1492 _impl_._has_bits_[0] |= 0x00000040u;
1495inline ::int32_t BopParameters::_internal_max_number_of_consecutive_failing_optimizer_calls()
const {
1496 ::google::protobuf::internal::TSanRead(&
_impl_);
1497 return _impl_.max_number_of_consecutive_failing_optimizer_calls_;
1499inline void BopParameters::_internal_set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value) {
1500 ::google::protobuf::internal::TSanWrite(&
_impl_);
1501 _impl_.max_number_of_consecutive_failing_optimizer_calls_ = value;
1506 bool value = (
_impl_._has_bits_[0] & 0x40000000u) != 0;
1510 ::google::protobuf::internal::TSanWrite(&
_impl_);
1511 _impl_.relative_gap_limit_ = 0.0001;
1512 _impl_._has_bits_[0] &= ~0x40000000u;
1516 return _internal_relative_gap_limit();
1519 _internal_set_relative_gap_limit(value);
1520 _impl_._has_bits_[0] |= 0x40000000u;
1523inline double BopParameters::_internal_relative_gap_limit()
const {
1524 ::google::protobuf::internal::TSanRead(&
_impl_);
1525 return _impl_.relative_gap_limit_;
1527inline void BopParameters::_internal_set_relative_gap_limit(
double value) {
1528 ::google::protobuf::internal::TSanWrite(&
_impl_);
1529 _impl_.relative_gap_limit_ = value;
1534 bool value = (
_impl_._has_bits_[0] & 0x00002000u) != 0;
1538 ::google::protobuf::internal::TSanWrite(&
_impl_);
1539 _impl_.max_num_decisions_in_ls_ = 4;
1540 _impl_._has_bits_[0] &= ~0x00002000u;
1544 return _internal_max_num_decisions_in_ls();
1547 _internal_set_max_num_decisions_in_ls(value);
1548 _impl_._has_bits_[0] |= 0x00002000u;
1551inline ::int32_t BopParameters::_internal_max_num_decisions_in_ls()
const {
1552 ::google::protobuf::internal::TSanRead(&
_impl_);
1553 return _impl_.max_num_decisions_in_ls_;
1555inline void BopParameters::_internal_set_max_num_decisions_in_ls(::int32_t value) {
1556 ::google::protobuf::internal::TSanWrite(&
_impl_);
1557 _impl_.max_num_decisions_in_ls_ = value;
1562 bool value = (
_impl_._has_bits_[1] & 0x00000004u) != 0;
1566 ::google::protobuf::internal::TSanWrite(&
_impl_);
1567 _impl_.max_num_broken_constraints_in_ls_ = 2147483647;
1568 _impl_._has_bits_[1] &= ~0x00000004u;
1572 return _internal_max_num_broken_constraints_in_ls();
1575 _internal_set_max_num_broken_constraints_in_ls(value);
1576 _impl_._has_bits_[1] |= 0x00000004u;
1579inline ::int32_t BopParameters::_internal_max_num_broken_constraints_in_ls()
const {
1580 ::google::protobuf::internal::TSanRead(&
_impl_);
1581 return _impl_.max_num_broken_constraints_in_ls_;
1583inline void BopParameters::_internal_set_max_num_broken_constraints_in_ls(::int32_t value) {
1584 ::google::protobuf::internal::TSanWrite(&
_impl_);
1585 _impl_.max_num_broken_constraints_in_ls_ = value;
1590 bool value = (
_impl_._has_bits_[0] & 0x00000008u) != 0;
1594 ::google::protobuf::internal::TSanWrite(&
_impl_);
1595 _impl_.log_search_progress_ =
false;
1596 _impl_._has_bits_[0] &= ~0x00000008u;
1600 return _internal_log_search_progress();
1603 _internal_set_log_search_progress(value);
1604 _impl_._has_bits_[0] |= 0x00000008u;
1607inline bool BopParameters::_internal_log_search_progress()
const {
1608 ::google::protobuf::internal::TSanRead(&
_impl_);
1609 return _impl_.log_search_progress_;
1611inline void BopParameters::_internal_set_log_search_progress(
bool value) {
1612 ::google::protobuf::internal::TSanWrite(&
_impl_);
1613 _impl_.log_search_progress_ = value;
1618 bool value = (
_impl_._has_bits_[0] & 0x00020000u) != 0;
1622 ::google::protobuf::internal::TSanWrite(&
_impl_);
1623 _impl_.compute_estimated_impact_ =
true;
1624 _impl_._has_bits_[0] &= ~0x00020000u;
1628 return _internal_compute_estimated_impact();
1631 _internal_set_compute_estimated_impact(value);
1632 _impl_._has_bits_[0] |= 0x00020000u;
1635inline bool BopParameters::_internal_compute_estimated_impact()
const {
1636 ::google::protobuf::internal::TSanRead(&
_impl_);
1637 return _impl_.compute_estimated_impact_;
1639inline void BopParameters::_internal_set_compute_estimated_impact(
bool value) {
1640 ::google::protobuf::internal::TSanWrite(&
_impl_);
1641 _impl_.compute_estimated_impact_ = value;
1646 bool value = (
_impl_._has_bits_[0] & 0x00000002u) != 0;
1650 ::google::protobuf::internal::TSanWrite(&
_impl_);
1651 _impl_.prune_search_tree_ =
false;
1652 _impl_._has_bits_[0] &= ~0x00000002u;
1656 return _internal_prune_search_tree();
1659 _internal_set_prune_search_tree(value);
1660 _impl_._has_bits_[0] |= 0x00000002u;
1663inline bool BopParameters::_internal_prune_search_tree()
const {
1664 ::google::protobuf::internal::TSanRead(&
_impl_);
1665 return _impl_.prune_search_tree_;
1667inline void BopParameters::_internal_set_prune_search_tree(
bool value) {
1668 ::google::protobuf::internal::TSanWrite(&
_impl_);
1669 _impl_.prune_search_tree_ = value;
1674 bool value = (
_impl_._has_bits_[0] & 0x00000004u) != 0;
1678 ::google::protobuf::internal::TSanWrite(&
_impl_);
1679 _impl_.sort_constraints_by_num_terms_ =
false;
1680 _impl_._has_bits_[0] &= ~0x00000004u;
1684 return _internal_sort_constraints_by_num_terms();
1687 _internal_set_sort_constraints_by_num_terms(value);
1688 _impl_._has_bits_[0] |= 0x00000004u;
1691inline bool BopParameters::_internal_sort_constraints_by_num_terms()
const {
1692 ::google::protobuf::internal::TSanRead(&
_impl_);
1693 return _impl_.sort_constraints_by_num_terms_;
1695inline void BopParameters::_internal_set_sort_constraints_by_num_terms(
bool value) {
1696 ::google::protobuf::internal::TSanWrite(&
_impl_);
1697 _impl_.sort_constraints_by_num_terms_ = value;
1702 bool value = (
_impl_._has_bits_[0] & 0x00040000u) != 0;
1706 ::google::protobuf::internal::TSanWrite(&
_impl_);
1707 _impl_.use_random_lns_ =
true;
1708 _impl_._has_bits_[0] &= ~0x00040000u;
1712 return _internal_use_random_lns();
1715 _internal_set_use_random_lns(value);
1716 _impl_._has_bits_[0] |= 0x00040000u;
1719inline bool BopParameters::_internal_use_random_lns()
const {
1720 ::google::protobuf::internal::TSanRead(&
_impl_);
1721 return _impl_.use_random_lns_;
1723inline void BopParameters::_internal_set_use_random_lns(
bool value) {
1724 ::google::protobuf::internal::TSanWrite(&
_impl_);
1725 _impl_.use_random_lns_ = value;
1730 bool value = (
_impl_._has_bits_[0] & 0x00004000u) != 0;
1734 ::google::protobuf::internal::TSanWrite(&
_impl_);
1736 _impl_._has_bits_[0] &= ~0x00004000u;
1740 return _internal_random_seed();
1743 _internal_set_random_seed(value);
1744 _impl_._has_bits_[0] |= 0x00004000u;
1747inline ::int32_t BopParameters::_internal_random_seed()
const {
1748 ::google::protobuf::internal::TSanRead(&
_impl_);
1749 return _impl_.random_seed_;
1751inline void BopParameters::_internal_set_random_seed(::int32_t value) {
1752 ::google::protobuf::internal::TSanWrite(&
_impl_);
1753 _impl_.random_seed_ = value;
1758 bool value = (
_impl_._has_bits_[0] & 0x00008000u) != 0;
1762 ::google::protobuf::internal::TSanWrite(&
_impl_);
1763 _impl_.num_relaxed_vars_ = 10;
1764 _impl_._has_bits_[0] &= ~0x00008000u;
1768 return _internal_num_relaxed_vars();
1771 _internal_set_num_relaxed_vars(value);
1772 _impl_._has_bits_[0] |= 0x00008000u;
1775inline ::int32_t BopParameters::_internal_num_relaxed_vars()
const {
1776 ::google::protobuf::internal::TSanRead(&
_impl_);
1777 return _impl_.num_relaxed_vars_;
1779inline void BopParameters::_internal_set_num_relaxed_vars(::int32_t value) {
1780 ::google::protobuf::internal::TSanWrite(&
_impl_);
1781 _impl_.num_relaxed_vars_ = value;
1786 bool value = (
_impl_._has_bits_[0] & 0x00010000u) != 0;
1790 ::google::protobuf::internal::TSanWrite(&
_impl_);
1791 _impl_.max_number_of_conflicts_in_random_lns_ = 2500;
1792 _impl_._has_bits_[0] &= ~0x00010000u;
1796 return _internal_max_number_of_conflicts_in_random_lns();
1799 _internal_set_max_number_of_conflicts_in_random_lns(value);
1800 _impl_._has_bits_[0] |= 0x00010000u;
1803inline ::int32_t BopParameters::_internal_max_number_of_conflicts_in_random_lns()
const {
1804 ::google::protobuf::internal::TSanRead(&
_impl_);
1805 return _impl_.max_number_of_conflicts_in_random_lns_;
1807inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_lns(::int32_t value) {
1808 ::google::protobuf::internal::TSanWrite(&
_impl_);
1809 _impl_.max_number_of_conflicts_in_random_lns_ = value;
1814 bool value = (
_impl_._has_bits_[0] & 0x00200000u) != 0;
1818 ::google::protobuf::internal::TSanWrite(&
_impl_);
1819 _impl_.num_random_lns_tries_ = 1;
1820 _impl_._has_bits_[0] &= ~0x00200000u;
1824 return _internal_num_random_lns_tries();
1827 _internal_set_num_random_lns_tries(value);
1828 _impl_._has_bits_[0] |= 0x00200000u;
1831inline ::int32_t BopParameters::_internal_num_random_lns_tries()
const {
1832 ::google::protobuf::internal::TSanRead(&
_impl_);
1833 return _impl_.num_random_lns_tries_;
1835inline void BopParameters::_internal_set_num_random_lns_tries(::int32_t value) {
1836 ::google::protobuf::internal::TSanWrite(&
_impl_);
1837 _impl_.num_random_lns_tries_ = value;
1842 bool value = (
_impl_._has_bits_[0] & 0x00400000u) != 0;
1846 ::google::protobuf::internal::TSanWrite(&
_impl_);
1847 _impl_.max_number_of_backtracks_in_ls_ = ::int64_t{100000000};
1848 _impl_._has_bits_[0] &= ~0x00400000u;
1852 return _internal_max_number_of_backtracks_in_ls();
1855 _internal_set_max_number_of_backtracks_in_ls(value);
1856 _impl_._has_bits_[0] |= 0x00400000u;
1859inline ::int64_t BopParameters::_internal_max_number_of_backtracks_in_ls()
const {
1860 ::google::protobuf::internal::TSanRead(&
_impl_);
1861 return _impl_.max_number_of_backtracks_in_ls_;
1863inline void BopParameters::_internal_set_max_number_of_backtracks_in_ls(::int64_t value) {
1864 ::google::protobuf::internal::TSanWrite(&
_impl_);
1865 _impl_.max_number_of_backtracks_in_ls_ = value;
1870 bool value = (
_impl_._has_bits_[0] & 0x00080000u) != 0;
1874 ::google::protobuf::internal::TSanWrite(&
_impl_);
1875 _impl_.use_lp_lns_ =
true;
1876 _impl_._has_bits_[0] &= ~0x00080000u;
1880 return _internal_use_lp_lns();
1883 _internal_set_use_lp_lns(value);
1884 _impl_._has_bits_[0] |= 0x00080000u;
1887inline bool BopParameters::_internal_use_lp_lns()
const {
1888 ::google::protobuf::internal::TSanRead(&
_impl_);
1889 return _impl_.use_lp_lns_;
1891inline void BopParameters::_internal_set_use_lp_lns(
bool value) {
1892 ::google::protobuf::internal::TSanWrite(&
_impl_);
1893 _impl_.use_lp_lns_ = value;
1898 bool value = (
_impl_._has_bits_[0] & 0x00100000u) != 0;
1902 ::google::protobuf::internal::TSanWrite(&
_impl_);
1903 _impl_.use_sat_to_choose_lns_neighbourhood_ =
true;
1904 _impl_._has_bits_[0] &= ~0x00100000u;
1908 return _internal_use_sat_to_choose_lns_neighbourhood();
1911 _internal_set_use_sat_to_choose_lns_neighbourhood(value);
1912 _impl_._has_bits_[0] |= 0x00100000u;
1915inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood()
const {
1916 ::google::protobuf::internal::TSanRead(&
_impl_);
1917 return _impl_.use_sat_to_choose_lns_neighbourhood_;
1919inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(
bool value) {
1920 ::google::protobuf::internal::TSanWrite(&
_impl_);
1921 _impl_.use_sat_to_choose_lns_neighbourhood_ = value;
1926 bool value = (
_impl_._has_bits_[0] & 0x00800000u) != 0;
1930 ::google::protobuf::internal::TSanWrite(&
_impl_);
1931 _impl_.max_number_of_conflicts_for_quick_check_ = 10;
1932 _impl_._has_bits_[0] &= ~0x00800000u;
1936 return _internal_max_number_of_conflicts_for_quick_check();
1939 _internal_set_max_number_of_conflicts_for_quick_check(value);
1940 _impl_._has_bits_[0] |= 0x00800000u;
1943inline ::int32_t BopParameters::_internal_max_number_of_conflicts_for_quick_check()
const {
1944 ::google::protobuf::internal::TSanRead(&
_impl_);
1945 return _impl_.max_number_of_conflicts_for_quick_check_;
1947inline void BopParameters::_internal_set_max_number_of_conflicts_for_quick_check(::int32_t value) {
1948 ::google::protobuf::internal::TSanWrite(&
_impl_);
1949 _impl_.max_number_of_conflicts_for_quick_check_ = value;
1954 bool value = (
_impl_._has_bits_[0] & 0x00000010u) != 0;
1958 ::google::protobuf::internal::TSanWrite(&
_impl_);
1959 _impl_.use_symmetry_ =
false;
1960 _impl_._has_bits_[0] &= ~0x00000010u;
1964 return _internal_use_symmetry();
1967 _internal_set_use_symmetry(value);
1968 _impl_._has_bits_[0] |= 0x00000010u;
1971inline bool BopParameters::_internal_use_symmetry()
const {
1972 ::google::protobuf::internal::TSanRead(&
_impl_);
1973 return _impl_.use_symmetry_;
1975inline void BopParameters::_internal_set_use_symmetry(
bool value) {
1976 ::google::protobuf::internal::TSanWrite(&
_impl_);
1977 _impl_.use_symmetry_ = value;
1982 bool value = (
_impl_._has_bits_[0] & 0x00000200u) != 0;
1986 ::google::protobuf::internal::TSanWrite(&
_impl_);
1987 _impl_.exploit_symmetry_in_sat_first_solution_ =
false;
1988 _impl_._has_bits_[0] &= ~0x00000200u;
1992 return _internal_exploit_symmetry_in_sat_first_solution();
1995 _internal_set_exploit_symmetry_in_sat_first_solution(value);
1996 _impl_._has_bits_[0] |= 0x00000200u;
1999inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution()
const {
2000 ::google::protobuf::internal::TSanRead(&
_impl_);
2001 return _impl_.exploit_symmetry_in_sat_first_solution_;
2003inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(
bool value) {
2004 ::google::protobuf::internal::TSanWrite(&
_impl_);
2005 _impl_.exploit_symmetry_in_sat_first_solution_ = value;
2010 bool value = (
_impl_._has_bits_[0] & 0x01000000u) != 0;
2014 ::google::protobuf::internal::TSanWrite(&
_impl_);
2015 _impl_.max_number_of_conflicts_in_random_solution_generation_ = 500;
2016 _impl_._has_bits_[0] &= ~0x01000000u;
2020 return _internal_max_number_of_conflicts_in_random_solution_generation();
2023 _internal_set_max_number_of_conflicts_in_random_solution_generation(value);
2024 _impl_._has_bits_[0] |= 0x01000000u;
2027inline ::int32_t BopParameters::_internal_max_number_of_conflicts_in_random_solution_generation()
const {
2028 ::google::protobuf::internal::TSanRead(&
_impl_);
2029 return _impl_.max_number_of_conflicts_in_random_solution_generation_;
2031inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_solution_generation(::int32_t value) {
2032 ::google::protobuf::internal::TSanWrite(&
_impl_);
2033 _impl_.max_number_of_conflicts_in_random_solution_generation_ = value;
2038 bool value = (
_impl_._has_bits_[0] & 0x02000000u) != 0;
2042 ::google::protobuf::internal::TSanWrite(&
_impl_);
2043 _impl_.max_number_of_explored_assignments_per_try_in_ls_ = ::int64_t{10000};
2044 _impl_._has_bits_[0] &= ~0x02000000u;
2048 return _internal_max_number_of_explored_assignments_per_try_in_ls();
2051 _internal_set_max_number_of_explored_assignments_per_try_in_ls(value);
2052 _impl_._has_bits_[0] |= 0x02000000u;
2055inline ::int64_t BopParameters::_internal_max_number_of_explored_assignments_per_try_in_ls()
const {
2056 ::google::protobuf::internal::TSanRead(&
_impl_);
2057 return _impl_.max_number_of_explored_assignments_per_try_in_ls_;
2059inline void BopParameters::_internal_set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value) {
2060 ::google::protobuf::internal::TSanWrite(&
_impl_);
2061 _impl_.max_number_of_explored_assignments_per_try_in_ls_ = value;
2066 bool value = (
_impl_._has_bits_[0] & 0x04000000u) != 0;
2070 ::google::protobuf::internal::TSanWrite(&
_impl_);
2071 _impl_.use_transposition_table_in_ls_ =
true;
2072 _impl_._has_bits_[0] &= ~0x04000000u;
2076 return _internal_use_transposition_table_in_ls();
2079 _internal_set_use_transposition_table_in_ls(value);
2080 _impl_._has_bits_[0] |= 0x04000000u;
2083inline bool BopParameters::_internal_use_transposition_table_in_ls()
const {
2084 ::google::protobuf::internal::TSanRead(&
_impl_);
2085 return _impl_.use_transposition_table_in_ls_;
2087inline void BopParameters::_internal_set_use_transposition_table_in_ls(
bool value) {
2088 ::google::protobuf::internal::TSanWrite(&
_impl_);
2089 _impl_.use_transposition_table_in_ls_ = value;
2094 bool value = (
_impl_._has_bits_[0] & 0x00000100u) != 0;
2098 ::google::protobuf::internal::TSanWrite(&
_impl_);
2099 _impl_.use_potential_one_flip_repairs_in_ls_ =
false;
2100 _impl_._has_bits_[0] &= ~0x00000100u;
2104 return _internal_use_potential_one_flip_repairs_in_ls();
2107 _internal_set_use_potential_one_flip_repairs_in_ls(value);
2108 _impl_._has_bits_[0] |= 0x00000100u;
2111inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls()
const {
2112 ::google::protobuf::internal::TSanRead(&
_impl_);
2113 return _impl_.use_potential_one_flip_repairs_in_ls_;
2115inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(
bool value) {
2116 ::google::protobuf::internal::TSanWrite(&
_impl_);
2117 _impl_.use_potential_one_flip_repairs_in_ls_ = value;
2122 bool value = (
_impl_._has_bits_[0] & 0x08000000u) != 0;
2126 ::google::protobuf::internal::TSanWrite(&
_impl_);
2127 _impl_.use_learned_binary_clauses_in_lp_ =
true;
2128 _impl_._has_bits_[0] &= ~0x08000000u;
2132 return _internal_use_learned_binary_clauses_in_lp();
2135 _internal_set_use_learned_binary_clauses_in_lp(value);
2136 _impl_._has_bits_[0] |= 0x08000000u;
2139inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp()
const {
2140 ::google::protobuf::internal::TSanRead(&
_impl_);
2141 return _impl_.use_learned_binary_clauses_in_lp_;
2143inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(
bool value) {
2144 ::google::protobuf::internal::TSanWrite(&
_impl_);
2145 _impl_.use_learned_binary_clauses_in_lp_ = value;
2150 bool value = (
_impl_._has_bits_[0] & 0x10000000u) != 0;
2154 ::google::protobuf::internal::TSanWrite(&
_impl_);
2155 _impl_.number_of_solvers_ = 1;
2156 _impl_._has_bits_[0] &= ~0x10000000u;
2160 return _internal_number_of_solvers();
2163 _internal_set_number_of_solvers(value);
2164 _impl_._has_bits_[0] |= 0x10000000u;
2167inline ::int32_t BopParameters::_internal_number_of_solvers()
const {
2168 ::google::protobuf::internal::TSanRead(&
_impl_);
2169 return _impl_.number_of_solvers_;
2171inline void BopParameters::_internal_set_number_of_solvers(::int32_t value) {
2172 ::google::protobuf::internal::TSanWrite(&
_impl_);
2173 _impl_.number_of_solvers_ = value;
2178 bool value = (
_impl_._has_bits_[0] & 0x00000020u) != 0;
2182 ::google::protobuf::internal::TSanWrite(&
_impl_);
2183 _impl_.synchronization_type_ = 0;
2184 _impl_._has_bits_[0] &= ~0x00000020u;
2188 return _internal_synchronization_type();
2191 _internal_set_synchronization_type(value);
2192 _impl_._has_bits_[0] |= 0x00000020u;
2195inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::_internal_synchronization_type()
const {
2196 ::google::protobuf::internal::TSanRead(&
_impl_);
2200 ::google::protobuf::internal::TSanWrite(&
_impl_);
2202 assert(::google::protobuf::internal::ValidateEnum(
2204 _impl_.synchronization_type_ = value;
2208inline int BopParameters::_internal_solver_optimizer_sets_size()
const {
2209 return _internal_solver_optimizer_sets().size();
2212 return _internal_solver_optimizer_sets_size();
2215 ::google::protobuf::internal::TSanWrite(&
_impl_);
2216 _impl_.solver_optimizer_sets_.Clear();
2219 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2221 return _internal_mutable_solver_optimizer_sets()->Mutable(index);
2224 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2226 ::google::protobuf::internal::TSanWrite(&
_impl_);
2227 return _internal_mutable_solver_optimizer_sets();
2230 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2232 return _internal_solver_optimizer_sets().Get(index);
2235 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2236 ::google::protobuf::internal::TSanWrite(&
_impl_);
2242 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2244 return _internal_solver_optimizer_sets();
2246inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>&
2247BopParameters::_internal_solver_optimizer_sets()
const {
2248 ::google::protobuf::internal::TSanRead(&
_impl_);
2249 return _impl_.solver_optimizer_sets_;
2251inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL
2252BopParameters::_internal_mutable_solver_optimizer_sets() {
2253 ::google::protobuf::internal::TSanRead(&
_impl_);
2254 return &
_impl_.solver_optimizer_sets_;
2259 bool value = (
_impl_._has_bits_[0] & 0x00000001u) != 0;
2263 ::google::protobuf::internal::TSanWrite(&
_impl_);
2264 _impl_.default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2265 _impl_._has_bits_[0] &= ~0x00000001u;
2268 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2270 if (
_impl_.default_solver_optimizer_sets_.IsDefault()) {
2271 return Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get();
2273 return _internal_default_solver_optimizer_sets();
2275template <
typename Arg_,
typename... Args_>
2277 ::google::protobuf::internal::TSanWrite(&
_impl_);
2278 _impl_._has_bits_[0] |= 0x00000001u;
2279 _impl_.default_solver_optimizer_sets_.Set(
static_cast<Arg_&&
>(arg), args..., GetArena());
2283 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2284 ::std::string* _s = _internal_mutable_default_solver_optimizer_sets();
2288inline const ::std::string& BopParameters::_internal_default_solver_optimizer_sets()
const {
2289 ::google::protobuf::internal::TSanRead(&
_impl_);
2290 return _impl_.default_solver_optimizer_sets_.Get();
2292inline void BopParameters::_internal_set_default_solver_optimizer_sets(const ::std::string& value) {
2293 ::google::protobuf::internal::TSanWrite(&
_impl_);
2294 _impl_._has_bits_[0] |= 0x00000001u;
2295 _impl_.default_solver_optimizer_sets_.Set(value, GetArena());
2297inline ::std::string* PROTOBUF_NONNULL BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2298 ::google::protobuf::internal::TSanWrite(&
_impl_);
2299 _impl_._has_bits_[0] |= 0x00000001u;
2300 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());
2303 ::google::protobuf::internal::TSanWrite(&
_impl_);
2305 if ((
_impl_._has_bits_[0] & 0x00000001u) == 0) {
2308 _impl_._has_bits_[0] &= ~0x00000001u;
2309 return _impl_.default_solver_optimizer_sets_.Release();
2312 ::google::protobuf::internal::TSanWrite(&
_impl_);
2313 if (value !=
nullptr) {
2314 _impl_._has_bits_[0] |= 0x00000001u;
2316 _impl_._has_bits_[0] &= ~0x00000001u;
2318 _impl_.default_solver_optimizer_sets_.SetAllocated(value, GetArena());
2324 bool value = (
_impl_._has_bits_[0] & 0x00000080u) != 0;
2328 ::google::protobuf::internal::TSanWrite(&
_impl_);
2329 _impl_.use_lp_strong_branching_ =
false;
2330 _impl_._has_bits_[0] &= ~0x00000080u;
2334 return _internal_use_lp_strong_branching();
2337 _internal_set_use_lp_strong_branching(value);
2338 _impl_._has_bits_[0] |= 0x00000080u;
2341inline bool BopParameters::_internal_use_lp_strong_branching()
const {
2342 ::google::protobuf::internal::TSanRead(&
_impl_);
2343 return _impl_.use_lp_strong_branching_;
2345inline void BopParameters::_internal_set_use_lp_strong_branching(
bool value) {
2346 ::google::protobuf::internal::TSanWrite(&
_impl_);
2347 _impl_.use_lp_strong_branching_ = value;
2352 bool value = (
_impl_._has_bits_[0] & 0x80000000u) != 0;
2356 ::google::protobuf::internal::TSanWrite(&
_impl_);
2357 _impl_.decomposer_num_variables_threshold_ = 50;
2358 _impl_._has_bits_[0] &= ~0x80000000u;
2362 return _internal_decomposer_num_variables_threshold();
2365 _internal_set_decomposer_num_variables_threshold(value);
2366 _impl_._has_bits_[0] |= 0x80000000u;
2369inline ::int32_t BopParameters::_internal_decomposer_num_variables_threshold()
const {
2370 ::google::protobuf::internal::TSanRead(&
_impl_);
2371 return _impl_.decomposer_num_variables_threshold_;
2373inline void BopParameters::_internal_set_decomposer_num_variables_threshold(::int32_t value) {
2374 ::google::protobuf::internal::TSanWrite(&
_impl_);
2375 _impl_.decomposer_num_variables_threshold_ = value;
2380 bool value = (
_impl_._has_bits_[1] & 0x00000001u) != 0;
2384 ::google::protobuf::internal::TSanWrite(&
_impl_);
2385 _impl_.num_bop_solvers_used_by_decomposition_ = 1;
2386 _impl_._has_bits_[1] &= ~0x00000001u;
2390 return _internal_num_bop_solvers_used_by_decomposition();
2393 _internal_set_num_bop_solvers_used_by_decomposition(value);
2394 _impl_._has_bits_[1] |= 0x00000001u;
2397inline ::int32_t BopParameters::_internal_num_bop_solvers_used_by_decomposition()
const {
2398 ::google::protobuf::internal::TSanRead(&
_impl_);
2399 return _impl_.num_bop_solvers_used_by_decomposition_;
2401inline void BopParameters::_internal_set_num_bop_solvers_used_by_decomposition(::int32_t value) {
2402 ::google::protobuf::internal::TSanWrite(&
_impl_);
2403 _impl_.num_bop_solvers_used_by_decomposition_ = value;
2408 bool value = (
_impl_._has_bits_[0] & 0x00000400u) != 0;
2412 ::google::protobuf::internal::TSanWrite(&
_impl_);
2413 _impl_.decomposed_problem_min_time_in_seconds_ = 0;
2414 _impl_._has_bits_[0] &= ~0x00000400u;
2418 return _internal_decomposed_problem_min_time_in_seconds();
2421 _internal_set_decomposed_problem_min_time_in_seconds(value);
2422 _impl_._has_bits_[0] |= 0x00000400u;
2425inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds()
const {
2426 ::google::protobuf::internal::TSanRead(&
_impl_);
2427 return _impl_.decomposed_problem_min_time_in_seconds_;
2429inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(
double value) {
2430 ::google::protobuf::internal::TSanWrite(&
_impl_);
2431 _impl_.decomposed_problem_min_time_in_seconds_ = value;
2436 bool value = (
_impl_._has_bits_[1] & 0x00000002u) != 0;
2440 ::google::protobuf::internal::TSanWrite(&
_impl_);
2441 _impl_.guided_sat_conflicts_chunk_ = 1000;
2442 _impl_._has_bits_[1] &= ~0x00000002u;
2446 return _internal_guided_sat_conflicts_chunk();
2449 _internal_set_guided_sat_conflicts_chunk(value);
2450 _impl_._has_bits_[1] |= 0x00000002u;
2453inline ::int32_t BopParameters::_internal_guided_sat_conflicts_chunk()
const {
2454 ::google::protobuf::internal::TSanRead(&
_impl_);
2455 return _impl_.guided_sat_conflicts_chunk_;
2457inline void BopParameters::_internal_set_guided_sat_conflicts_chunk(::int32_t value) {
2458 ::google::protobuf::internal::TSanWrite(&
_impl_);
2459 _impl_.guided_sat_conflicts_chunk_ = value;
2464 bool value = (
_impl_._has_bits_[0] & 0x00000800u) != 0;
2468 ::google::protobuf::internal::TSanWrite(&
_impl_);
2469 _impl_.max_lp_solve_for_feasibility_problems_ = 0;
2470 _impl_._has_bits_[0] &= ~0x00000800u;
2474 return _internal_max_lp_solve_for_feasibility_problems();
2477 _internal_set_max_lp_solve_for_feasibility_problems(value);
2478 _impl_._has_bits_[0] |= 0x00000800u;
2481inline ::int32_t BopParameters::_internal_max_lp_solve_for_feasibility_problems()
const {
2482 ::google::protobuf::internal::TSanRead(&
_impl_);
2483 return _impl_.max_lp_solve_for_feasibility_problems_;
2485inline void BopParameters::_internal_set_max_lp_solve_for_feasibility_problems(::int32_t value) {
2486 ::google::protobuf::internal::TSanWrite(&
_impl_);
2487 _impl_.max_lp_solve_for_feasibility_problems_ = value;
2491#pragma GCC diagnostic pop
2506 return ::operations_research::bop::BopOptimizerMethod_OptimizerType_descriptor();
2512 return ::operations_research::bop::BopParameters_ThreadSynchronizationType_descriptor();
2520#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
nested types -------------------------------------------------—
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
bool has_type() const
optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
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)
BopOptimizerMethod(::google::protobuf::Arena *PROTOBUF_NULLABLE arena, BopOptimizerMethod &&from) noexcept
static constexpr OptimizerType RANDOM_FIRST_SOLUTION
static constexpr OptimizerType LOCAL_SEARCH
bool has_synchronization_type() const
optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [...
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
optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
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
optional bool sort_constraints_by_num_terms = 5 [default = false];
void set_use_random_lns(bool value)
bool has_compute_estimated_impact() const
optional bool compute_estimated_impact = 3 [default = true];
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
optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
::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
optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
void set_number_of_solvers(::int32_t value)
bool has_max_number_of_conflicts_in_random_lns() const
optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
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
optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
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
optional double max_deterministic_time = 27 [default = inf];
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
optional bool log_search_progress = 14 [default = false];
::int32_t max_num_decisions_in_ls() const
bool has_use_lp_lns() const
optional bool use_lp_lns = 12 [default = true];
::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
optional int32 number_of_solvers = 24 [default = 1];
::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
optional int32 max_num_decisions_in_ls = 2 [default = 4];
void set_use_symmetry(bool value)
void set_log_search_progress(bool value)
bool has_prune_search_tree() const
optional bool prune_search_tree = 4 [default = false];
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
optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
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
optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH }...
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
optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
void set_num_bop_solvers_used_by_decomposition(::int32_t value)
bool has_decomposer_num_variables_threshold() const
optional int32 decomposer_num_variables_threshold = 30 [default = 50];
void set_relative_gap_limit(double value)
bool has_num_random_lns_tries() const
optional int32 num_random_lns_tries = 10 [default = 1];
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
optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
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
optional int32 random_seed = 7 [default = 8];
bool has_use_random_lns() const
optional bool use_random_lns = 6 [default = true];
void set_max_number_of_backtracks_in_ls(::int64_t value)
bool has_exploit_symmetry_in_sat_first_solution() const
optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
bool has_max_time_in_seconds() const
optional double max_time_in_seconds = 1 [default = inf];
int solver_optimizer_sets_size() const
repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
::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
optional int32 num_relaxed_vars = 8 [default = 10];
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
optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
void set_default_solver_optimizer_sets(Arg_ &&arg, Args_... args)
::size_t ByteSizeLong() const final
bool has_use_symmetry() const
optional bool use_symmetry = 17 [default = false];
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
optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
void clear_number_of_solvers()
void set_exploit_symmetry_in_sat_first_solution(bool value)
bool has_decomposed_problem_min_time_in_seconds() const
optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
bool use_sat_to_choose_lns_neighbourhood() const
::operations_research::bop::BopSolverOptimizerSet *PROTOBUF_NONNULL mutable_solver_optimizer_sets(int index)
BopParameters_ThreadSynchronizationType ThreadSynchronizationType
nested types -------------------------------------------------—
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
optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
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
optional bool use_transposition_table_in_ls = 22 [default = true];
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
optional double relative_gap_limit = 28 [default = 0.0001];
void set_decomposed_problem_min_time_in_seconds(double value)
bool has_max_lp_solve_for_feasibility_problems() const
optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
bool has_use_learned_binary_clauses_in_lp() const
optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
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
optional bool use_lp_strong_branching = 29 [default = false];
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
optional double lp_max_deterministic_time = 37 [default = 1];
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()
int methods_size() const
repeated .operations_research.bop.BopOptimizerMethod methods = 1;
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
In SWIG mode, we don't want anything besides these top-level includes.