OR-Tools  9.1
bop_parameters.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/bop/bop_parameters.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3017000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3017003 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
35 // @@protoc_insertion_point(includes)
36 #include <google/protobuf/port_def.inc>
37 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fbop_2fbop_5fparameters_2eproto
38 PROTOBUF_NAMESPACE_OPEN
39 namespace internal {
40 class AnyMetadata;
41 } // namespace internal
42 PROTOBUF_NAMESPACE_CLOSE
43 
44 // Internal implementation detail -- do not use these members.
46  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
47  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
48  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
49  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
50  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
51  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
53  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
54  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
55 };
56 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto;
57 namespace operations_research {
58 namespace bop {
59 class BopOptimizerMethod;
60 struct BopOptimizerMethodDefaultTypeInternal;
61 extern BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_;
62 class BopParameters;
63 struct BopParametersDefaultTypeInternal;
64 extern BopParametersDefaultTypeInternal _BopParameters_default_instance_;
65 class BopSolverOptimizerSet;
66 struct BopSolverOptimizerSetDefaultTypeInternal;
67 extern BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_;
68 } // namespace bop
69 } // namespace operations_research
70 PROTOBUF_NAMESPACE_OPEN
71 template<> ::operations_research::bop::BopOptimizerMethod* Arena::CreateMaybeMessage<::operations_research::bop::BopOptimizerMethod>(Arena*);
72 template<> ::operations_research::bop::BopParameters* Arena::CreateMaybeMessage<::operations_research::bop::BopParameters>(Arena*);
73 template<> ::operations_research::bop::BopSolverOptimizerSet* Arena::CreateMaybeMessage<::operations_research::bop::BopSolverOptimizerSet>(Arena*);
74 PROTOBUF_NAMESPACE_CLOSE
75 namespace operations_research {
76 namespace bop {
77 
94 };
99 
100 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BopOptimizerMethod_OptimizerType_descriptor();
101 template<typename T>
102 inline const std::string& BopOptimizerMethod_OptimizerType_Name(T enum_t_value) {
105  "Incorrect type passed to function BopOptimizerMethod_OptimizerType_Name.");
106  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
108 }
110  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopOptimizerMethod_OptimizerType* value) {
111  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopOptimizerMethod_OptimizerType>(
113 }
118 };
123 
124 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BopParameters_ThreadSynchronizationType_descriptor();
125 template<typename T>
126 inline const std::string& BopParameters_ThreadSynchronizationType_Name(T enum_t_value) {
129  "Incorrect type passed to function BopParameters_ThreadSynchronizationType_Name.");
130  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
132 }
134  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopParameters_ThreadSynchronizationType* value) {
135  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopParameters_ThreadSynchronizationType>(
137 }
138 // ===================================================================
139 
140 class BopOptimizerMethod final :
141  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopOptimizerMethod) */ {
142  public:
143  inline BopOptimizerMethod() : BopOptimizerMethod(nullptr) {}
144  ~BopOptimizerMethod() override;
145  explicit constexpr BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
146 
149  : BopOptimizerMethod() {
150  *this = ::std::move(from);
151  }
152 
154  CopyFrom(from);
155  return *this;
156  }
158  if (this == &from) return *this;
159  if (GetOwningArena() == from.GetOwningArena()) {
160  InternalSwap(&from);
161  } else {
162  CopyFrom(from);
163  }
164  return *this;
165  }
166 
167  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
168  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
169  }
170  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
171  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
172  }
173 
174  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
175  return GetDescriptor();
176  }
177  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
178  return default_instance().GetMetadata().descriptor;
179  }
180  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
181  return default_instance().GetMetadata().reflection;
182  }
184  return *internal_default_instance();
185  }
187  return reinterpret_cast<const BopOptimizerMethod*>(
189  }
190  static constexpr int kIndexInFileMessages =
191  0;
192 
194  a.Swap(&b);
195  }
196  inline void Swap(BopOptimizerMethod* other) {
197  if (other == this) return;
198  if (GetOwningArena() == other->GetOwningArena()) {
199  InternalSwap(other);
200  } else {
201  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
202  }
203  }
205  if (other == this) return;
206  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
207  InternalSwap(other);
208  }
209 
210  // implements Message ----------------------------------------------
211 
212  inline BopOptimizerMethod* New() const final {
213  return new BopOptimizerMethod();
214  }
215 
216  BopOptimizerMethod* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
217  return CreateMaybeMessage<BopOptimizerMethod>(arena);
218  }
219  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
220  void CopyFrom(const BopOptimizerMethod& from);
221  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
222  void MergeFrom(const BopOptimizerMethod& from);
223  private:
224  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
225  public:
226  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
227  bool IsInitialized() const final;
228 
229  size_t ByteSizeLong() const final;
230  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
231  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
232  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
233  int GetCachedSize() const final { return _cached_size_.Get(); }
234 
235  private:
236  void SharedCtor();
237  void SharedDtor();
238  void SetCachedSize(int size) const final;
239  void InternalSwap(BopOptimizerMethod* other);
240  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
241  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
242  return "operations_research.bop.BopOptimizerMethod";
243  }
244  protected:
245  explicit BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::Arena* arena,
246  bool is_message_owned = false);
247  private:
248  static void ArenaDtor(void* object);
249  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
250  public:
251 
252  static const ClassData _class_data_;
253  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
254 
255  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
256 
257  // nested types ----------------------------------------------------
258 
260  static constexpr OptimizerType SAT_CORE_BASED =
262  static constexpr OptimizerType SAT_LINEAR_SEARCH =
264  static constexpr OptimizerType LINEAR_RELAXATION =
266  static constexpr OptimizerType LOCAL_SEARCH =
274  static constexpr OptimizerType COMPLETE_LNS =
276  static constexpr OptimizerType LP_FIRST_SOLUTION =
290  static inline bool OptimizerType_IsValid(int value) {
292  }
293  static constexpr OptimizerType OptimizerType_MIN =
295  static constexpr OptimizerType OptimizerType_MAX =
297  static constexpr int OptimizerType_ARRAYSIZE =
299  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
302  }
303  template<typename T>
304  static inline const std::string& OptimizerType_Name(T enum_t_value) {
305  static_assert(::std::is_same<T, OptimizerType>::value ||
307  "Incorrect type passed to function OptimizerType_Name.");
308  return BopOptimizerMethod_OptimizerType_Name(enum_t_value);
309  }
310  static inline bool OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
311  OptimizerType* value) {
313  }
314 
315  // accessors -------------------------------------------------------
316 
317  enum : int {
319  };
320  // optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
321  bool has_type() const;
322  private:
323  bool _internal_has_type() const;
324  public:
325  void clear_type();
328  private:
331  public:
332 
333  // @@protoc_insertion_point(class_scope:operations_research.bop.BopOptimizerMethod)
334  private:
335  class _Internal;
336 
337  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
338  typedef void InternalArenaConstructable_;
339  typedef void DestructorSkippable_;
340  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
341  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
342  int type_;
343  friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
344 };
345 // -------------------------------------------------------------------
346 
348  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopSolverOptimizerSet) */ {
349  public:
351  ~BopSolverOptimizerSet() override;
352  explicit constexpr BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
353 
357  *this = ::std::move(from);
358  }
359 
361  CopyFrom(from);
362  return *this;
363  }
365  if (this == &from) return *this;
366  if (GetOwningArena() == from.GetOwningArena()) {
367  InternalSwap(&from);
368  } else {
369  CopyFrom(from);
370  }
371  return *this;
372  }
373 
374  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
375  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
376  }
377  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
378  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
379  }
380 
381  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
382  return GetDescriptor();
383  }
384  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
385  return default_instance().GetMetadata().descriptor;
386  }
387  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
388  return default_instance().GetMetadata().reflection;
389  }
391  return *internal_default_instance();
392  }
394  return reinterpret_cast<const BopSolverOptimizerSet*>(
396  }
397  static constexpr int kIndexInFileMessages =
398  1;
399 
401  a.Swap(&b);
402  }
403  inline void Swap(BopSolverOptimizerSet* other) {
404  if (other == this) return;
405  if (GetOwningArena() == other->GetOwningArena()) {
406  InternalSwap(other);
407  } else {
408  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
409  }
410  }
412  if (other == this) return;
413  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
414  InternalSwap(other);
415  }
416 
417  // implements Message ----------------------------------------------
418 
419  inline BopSolverOptimizerSet* New() const final {
420  return new BopSolverOptimizerSet();
421  }
422 
423  BopSolverOptimizerSet* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
424  return CreateMaybeMessage<BopSolverOptimizerSet>(arena);
425  }
426  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
427  void CopyFrom(const BopSolverOptimizerSet& from);
428  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
429  void MergeFrom(const BopSolverOptimizerSet& from);
430  private:
431  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
432  public:
433  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
434  bool IsInitialized() const final;
435 
436  size_t ByteSizeLong() const final;
437  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
438  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
439  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
440  int GetCachedSize() const final { return _cached_size_.Get(); }
441 
442  private:
443  void SharedCtor();
444  void SharedDtor();
445  void SetCachedSize(int size) const final;
446  void InternalSwap(BopSolverOptimizerSet* other);
447  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
448  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
449  return "operations_research.bop.BopSolverOptimizerSet";
450  }
451  protected:
452  explicit BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::Arena* arena,
453  bool is_message_owned = false);
454  private:
455  static void ArenaDtor(void* object);
456  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
457  public:
458 
459  static const ClassData _class_data_;
460  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
461 
462  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
463 
464  // nested types ----------------------------------------------------
465 
466  // accessors -------------------------------------------------------
467 
468  enum : int {
470  };
471  // repeated .operations_research.bop.BopOptimizerMethod methods = 1;
472  int methods_size() const;
473  private:
474  int _internal_methods_size() const;
475  public:
476  void clear_methods();
478  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
479  mutable_methods();
480  private:
481  const ::operations_research::bop::BopOptimizerMethod& _internal_methods(int index) const;
482  ::operations_research::bop::BopOptimizerMethod* _internal_add_methods();
483  public:
484  const ::operations_research::bop::BopOptimizerMethod& methods(int index) const;
486  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
487  methods() const;
488 
489  // @@protoc_insertion_point(class_scope:operations_research.bop.BopSolverOptimizerSet)
490  private:
491  class _Internal;
492 
493  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
494  typedef void InternalArenaConstructable_;
495  typedef void DestructorSkippable_;
496  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
497  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
498  friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
499 };
500 // -------------------------------------------------------------------
501 
502 class BopParameters final :
503  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopParameters) */ {
504  public:
505  inline BopParameters() : BopParameters(nullptr) {}
506  ~BopParameters() override;
507  explicit constexpr BopParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
508 
509  BopParameters(const BopParameters& from);
510  BopParameters(BopParameters&& from) noexcept
511  : BopParameters() {
512  *this = ::std::move(from);
513  }
514 
515  inline BopParameters& operator=(const BopParameters& from) {
516  CopyFrom(from);
517  return *this;
518  }
519  inline BopParameters& operator=(BopParameters&& from) noexcept {
520  if (this == &from) return *this;
521  if (GetOwningArena() == from.GetOwningArena()) {
522  InternalSwap(&from);
523  } else {
524  CopyFrom(from);
525  }
526  return *this;
527  }
528 
529  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
530  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
531  }
532  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
533  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
534  }
535 
536  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
537  return GetDescriptor();
538  }
539  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
540  return default_instance().GetMetadata().descriptor;
541  }
542  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
543  return default_instance().GetMetadata().reflection;
544  }
545  static const BopParameters& default_instance() {
546  return *internal_default_instance();
547  }
548  static inline const BopParameters* internal_default_instance() {
549  return reinterpret_cast<const BopParameters*>(
551  }
552  static constexpr int kIndexInFileMessages =
553  2;
554 
555  friend void swap(BopParameters& a, BopParameters& b) {
556  a.Swap(&b);
557  }
558  inline void Swap(BopParameters* other) {
559  if (other == this) return;
560  if (GetOwningArena() == other->GetOwningArena()) {
561  InternalSwap(other);
562  } else {
563  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
564  }
565  }
567  if (other == this) return;
568  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
569  InternalSwap(other);
570  }
571 
572  // implements Message ----------------------------------------------
573 
574  inline BopParameters* New() const final {
575  return new BopParameters();
576  }
577 
578  BopParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
579  return CreateMaybeMessage<BopParameters>(arena);
580  }
581  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
582  void CopyFrom(const BopParameters& from);
583  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
584  void MergeFrom(const BopParameters& from);
585  private:
586  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
587  public:
588  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
589  bool IsInitialized() const final;
590 
591  size_t ByteSizeLong() const final;
592  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
593  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
594  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
595  int GetCachedSize() const final { return _cached_size_.Get(); }
596 
597  private:
598  void SharedCtor();
599  void SharedDtor();
600  void SetCachedSize(int size) const final;
601  void InternalSwap(BopParameters* other);
602  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
603  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
604  return "operations_research.bop.BopParameters";
605  }
606  protected:
607  explicit BopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
608  bool is_message_owned = false);
609  private:
610  static void ArenaDtor(void* object);
611  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
612  public:
613 
614  static const ClassData _class_data_;
615  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
616 
617  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
618 
619  // nested types ----------------------------------------------------
620 
628  static inline bool ThreadSynchronizationType_IsValid(int value) {
630  }
635  static constexpr int ThreadSynchronizationType_ARRAYSIZE =
637  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
640  }
641  template<typename T>
642  static inline const std::string& ThreadSynchronizationType_Name(T enum_t_value) {
645  "Incorrect type passed to function ThreadSynchronizationType_Name.");
647  }
648  static inline bool ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
651  }
652 
653  // accessors -------------------------------------------------------
654 
655  enum : int {
693  };
694  // repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
695  int solver_optimizer_sets_size() const;
696  private:
697  int _internal_solver_optimizer_sets_size() const;
698  public:
701  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
703  private:
704  const ::operations_research::bop::BopSolverOptimizerSet& _internal_solver_optimizer_sets(int index) const;
705  ::operations_research::bop::BopSolverOptimizerSet* _internal_add_solver_optimizer_sets();
706  public:
707  const ::operations_research::bop::BopSolverOptimizerSet& solver_optimizer_sets(int index) const;
709  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
710  solver_optimizer_sets() const;
711 
712  // optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];
714  private:
715  bool _internal_has_default_solver_optimizer_sets() const;
716  public:
718  const std::string& default_solver_optimizer_sets() const;
719  template <typename ArgT0 = const std::string&, typename... ArgT>
720  void set_default_solver_optimizer_sets(ArgT0&& arg0, ArgT... args);
722  PROTOBUF_MUST_USE_RESULT std::string* release_default_solver_optimizer_sets();
724  private:
725  const std::string& _internal_default_solver_optimizer_sets() const;
726  inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_solver_optimizer_sets(const std::string& value);
727  std::string* _internal_mutable_default_solver_optimizer_sets();
728  public:
729 
730  // optional bool log_search_progress = 14 [default = false];
731  bool has_log_search_progress() const;
732  private:
733  bool _internal_has_log_search_progress() const;
734  public:
736  bool log_search_progress() const;
737  void set_log_search_progress(bool value);
738  private:
739  bool _internal_log_search_progress() const;
740  void _internal_set_log_search_progress(bool value);
741  public:
742 
743  // optional bool prune_search_tree = 4 [default = false];
744  bool has_prune_search_tree() const;
745  private:
746  bool _internal_has_prune_search_tree() const;
747  public:
749  bool prune_search_tree() const;
750  void set_prune_search_tree(bool value);
751  private:
752  bool _internal_prune_search_tree() const;
753  void _internal_set_prune_search_tree(bool value);
754  public:
755 
756  // optional bool sort_constraints_by_num_terms = 5 [default = false];
758  private:
759  bool _internal_has_sort_constraints_by_num_terms() const;
760  public:
762  bool sort_constraints_by_num_terms() const;
764  private:
765  bool _internal_sort_constraints_by_num_terms() const;
766  void _internal_set_sort_constraints_by_num_terms(bool value);
767  public:
768 
769  // optional bool use_symmetry = 17 [default = false];
770  bool has_use_symmetry() const;
771  private:
772  bool _internal_has_use_symmetry() const;
773  public:
774  void clear_use_symmetry();
775  bool use_symmetry() const;
776  void set_use_symmetry(bool value);
777  private:
778  bool _internal_use_symmetry() const;
779  void _internal_set_use_symmetry(bool value);
780  public:
781 
782  // optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
783  bool has_synchronization_type() const;
784  private:
785  bool _internal_has_synchronization_type() const;
786  public:
790  private:
791  ::operations_research::bop::BopParameters_ThreadSynchronizationType _internal_synchronization_type() const;
792  void _internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value);
793  public:
794 
795  // optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
797  private:
798  bool _internal_has_max_number_of_consecutive_failing_optimizer_calls() const;
799  public:
801  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_consecutive_failing_optimizer_calls() const;
802  void set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value);
803  private:
804  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_consecutive_failing_optimizer_calls() const;
805  void _internal_set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value);
806  public:
807 
808  // optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
810  private:
811  bool _internal_has_exploit_symmetry_in_sat_first_solution() const;
812  public:
816  private:
817  bool _internal_exploit_symmetry_in_sat_first_solution() const;
818  void _internal_set_exploit_symmetry_in_sat_first_solution(bool value);
819  public:
820 
821  // optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
823  private:
824  bool _internal_has_use_potential_one_flip_repairs_in_ls() const;
825  public:
829  private:
830  bool _internal_use_potential_one_flip_repairs_in_ls() const;
831  void _internal_set_use_potential_one_flip_repairs_in_ls(bool value);
832  public:
833 
834  // optional bool use_lp_strong_branching = 29 [default = false];
835  bool has_use_lp_strong_branching() const;
836  private:
837  bool _internal_has_use_lp_strong_branching() const;
838  public:
840  bool use_lp_strong_branching() const;
842  private:
843  bool _internal_use_lp_strong_branching() const;
844  void _internal_set_use_lp_strong_branching(bool value);
845  public:
846 
847  // optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
849  private:
850  bool _internal_has_decomposed_problem_min_time_in_seconds() const;
851  public:
855  private:
856  double _internal_decomposed_problem_min_time_in_seconds() const;
857  void _internal_set_decomposed_problem_min_time_in_seconds(double value);
858  public:
859 
860  // optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
862  private:
863  bool _internal_has_max_lp_solve_for_feasibility_problems() const;
864  public:
866  ::PROTOBUF_NAMESPACE_ID::int32 max_lp_solve_for_feasibility_problems() const;
867  void set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value);
868  private:
869  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_lp_solve_for_feasibility_problems() const;
870  void _internal_set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value);
871  public:
872 
873  // optional double max_time_in_seconds = 1 [default = inf];
874  bool has_max_time_in_seconds() const;
875  private:
876  bool _internal_has_max_time_in_seconds() const;
877  public:
879  double max_time_in_seconds() const;
880  void set_max_time_in_seconds(double value);
881  private:
882  double _internal_max_time_in_seconds() const;
883  void _internal_set_max_time_in_seconds(double value);
884  public:
885 
886  // optional int32 max_num_decisions_in_ls = 2 [default = 4];
887  bool has_max_num_decisions_in_ls() const;
888  private:
889  bool _internal_has_max_num_decisions_in_ls() const;
890  public:
892  ::PROTOBUF_NAMESPACE_ID::int32 max_num_decisions_in_ls() const;
893  void set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value);
894  private:
895  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_num_decisions_in_ls() const;
896  void _internal_set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value);
897  public:
898 
899  // optional int32 random_seed = 7 [default = 8];
900  bool has_random_seed() const;
901  private:
902  bool _internal_has_random_seed() const;
903  public:
904  void clear_random_seed();
905  ::PROTOBUF_NAMESPACE_ID::int32 random_seed() const;
906  void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
907  private:
908  ::PROTOBUF_NAMESPACE_ID::int32 _internal_random_seed() const;
909  void _internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
910  public:
911 
912  // optional int32 num_relaxed_vars = 8 [default = 10];
913  bool has_num_relaxed_vars() const;
914  private:
915  bool _internal_has_num_relaxed_vars() const;
916  public:
917  void clear_num_relaxed_vars();
918  ::PROTOBUF_NAMESPACE_ID::int32 num_relaxed_vars() const;
919  void set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
920  private:
921  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_relaxed_vars() const;
922  void _internal_set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
923  public:
924 
925  // optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
927  private:
928  bool _internal_has_max_number_of_conflicts_in_random_lns() const;
929  public:
931  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_lns() const;
932  void set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value);
933  private:
934  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_conflicts_in_random_lns() const;
935  void _internal_set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value);
936  public:
937 
938  // optional bool compute_estimated_impact = 3 [default = true];
939  bool has_compute_estimated_impact() const;
940  private:
941  bool _internal_has_compute_estimated_impact() const;
942  public:
944  bool compute_estimated_impact() const;
946  private:
947  bool _internal_compute_estimated_impact() const;
948  void _internal_set_compute_estimated_impact(bool value);
949  public:
950 
951  // optional bool use_random_lns = 6 [default = true];
952  bool has_use_random_lns() const;
953  private:
954  bool _internal_has_use_random_lns() const;
955  public:
956  void clear_use_random_lns();
957  bool use_random_lns() const;
958  void set_use_random_lns(bool value);
959  private:
960  bool _internal_use_random_lns() const;
961  void _internal_set_use_random_lns(bool value);
962  public:
963 
964  // optional bool use_lp_lns = 12 [default = true];
965  bool has_use_lp_lns() const;
966  private:
967  bool _internal_has_use_lp_lns() const;
968  public:
969  void clear_use_lp_lns();
970  bool use_lp_lns() const;
971  void set_use_lp_lns(bool value);
972  private:
973  bool _internal_use_lp_lns() const;
974  void _internal_set_use_lp_lns(bool value);
975  public:
976 
977  // optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
979  private:
980  bool _internal_has_use_sat_to_choose_lns_neighbourhood() const;
981  public:
985  private:
986  bool _internal_use_sat_to_choose_lns_neighbourhood() const;
987  void _internal_set_use_sat_to_choose_lns_neighbourhood(bool value);
988  public:
989 
990  // optional int32 num_random_lns_tries = 10 [default = 1];
991  bool has_num_random_lns_tries() const;
992  private:
993  bool _internal_has_num_random_lns_tries() const;
994  public:
996  ::PROTOBUF_NAMESPACE_ID::int32 num_random_lns_tries() const;
997  void set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value);
998  private:
999  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_random_lns_tries() const;
1000  void _internal_set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value);
1001  public:
1002 
1003  // optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1005  private:
1006  bool _internal_has_max_number_of_backtracks_in_ls() const;
1007  public:
1009  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_backtracks_in_ls() const;
1010  void set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value);
1011  private:
1012  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_number_of_backtracks_in_ls() const;
1013  void _internal_set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value);
1014  public:
1015 
1016  // optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1018  private:
1019  bool _internal_has_max_number_of_conflicts_for_quick_check() const;
1020  public:
1022  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_for_quick_check() const;
1023  void set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value);
1024  private:
1025  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_conflicts_for_quick_check() const;
1026  void _internal_set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value);
1027  public:
1028 
1029  // optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
1031  private:
1032  bool _internal_has_max_number_of_conflicts_in_random_solution_generation() const;
1033  public:
1035  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_solution_generation() const;
1036  void set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value);
1037  private:
1038  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_conflicts_in_random_solution_generation() const;
1039  void _internal_set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value);
1040  public:
1041 
1042  // optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
1044  private:
1045  bool _internal_has_max_number_of_explored_assignments_per_try_in_ls() const;
1046  public:
1048  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_explored_assignments_per_try_in_ls() const;
1049  void set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value);
1050  private:
1051  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_number_of_explored_assignments_per_try_in_ls() const;
1052  void _internal_set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value);
1053  public:
1054 
1055  // optional bool use_transposition_table_in_ls = 22 [default = true];
1056  bool has_use_transposition_table_in_ls() const;
1057  private:
1058  bool _internal_has_use_transposition_table_in_ls() const;
1059  public:
1061  bool use_transposition_table_in_ls() const;
1063  private:
1064  bool _internal_use_transposition_table_in_ls() const;
1065  void _internal_set_use_transposition_table_in_ls(bool value);
1066  public:
1067 
1068  // optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
1070  private:
1071  bool _internal_has_use_learned_binary_clauses_in_lp() const;
1072  public:
1074  bool use_learned_binary_clauses_in_lp() const;
1076  private:
1077  bool _internal_use_learned_binary_clauses_in_lp() const;
1078  void _internal_set_use_learned_binary_clauses_in_lp(bool value);
1079  public:
1080 
1081  // optional int32 number_of_solvers = 24 [default = 1];
1082  bool has_number_of_solvers() const;
1083  private:
1084  bool _internal_has_number_of_solvers() const;
1085  public:
1086  void clear_number_of_solvers();
1087  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solvers() const;
1088  void set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value);
1089  private:
1090  ::PROTOBUF_NAMESPACE_ID::int32 _internal_number_of_solvers() const;
1091  void _internal_set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value);
1092  public:
1093 
1094  // optional double max_deterministic_time = 27 [default = inf];
1095  bool has_max_deterministic_time() const;
1096  private:
1097  bool _internal_has_max_deterministic_time() const;
1098  public:
1100  double max_deterministic_time() const;
1101  void set_max_deterministic_time(double value);
1102  private:
1103  double _internal_max_deterministic_time() const;
1104  void _internal_set_max_deterministic_time(double value);
1105  public:
1106 
1107  // optional double relative_gap_limit = 28 [default = 0.0001];
1108  bool has_relative_gap_limit() const;
1109  private:
1110  bool _internal_has_relative_gap_limit() const;
1111  public:
1112  void clear_relative_gap_limit();
1113  double relative_gap_limit() const;
1114  void set_relative_gap_limit(double value);
1115  private:
1116  double _internal_relative_gap_limit() const;
1117  void _internal_set_relative_gap_limit(double value);
1118  public:
1119 
1120  // optional int32 decomposer_num_variables_threshold = 30 [default = 50];
1122  private:
1123  bool _internal_has_decomposer_num_variables_threshold() const;
1124  public:
1126  ::PROTOBUF_NAMESPACE_ID::int32 decomposer_num_variables_threshold() const;
1127  void set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value);
1128  private:
1129  ::PROTOBUF_NAMESPACE_ID::int32 _internal_decomposer_num_variables_threshold() const;
1130  void _internal_set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value);
1131  public:
1132 
1133  // optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
1135  private:
1136  bool _internal_has_num_bop_solvers_used_by_decomposition() const;
1137  public:
1139  ::PROTOBUF_NAMESPACE_ID::int32 num_bop_solvers_used_by_decomposition() const;
1140  void set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value);
1141  private:
1142  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_bop_solvers_used_by_decomposition() const;
1143  void _internal_set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value);
1144  public:
1145 
1146  // optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
1147  bool has_guided_sat_conflicts_chunk() const;
1148  private:
1149  bool _internal_has_guided_sat_conflicts_chunk() const;
1150  public:
1152  ::PROTOBUF_NAMESPACE_ID::int32 guided_sat_conflicts_chunk() const;
1153  void set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value);
1154  private:
1155  ::PROTOBUF_NAMESPACE_ID::int32 _internal_guided_sat_conflicts_chunk() const;
1156  void _internal_set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value);
1157  public:
1158 
1159  // optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1161  private:
1162  bool _internal_has_max_num_broken_constraints_in_ls() const;
1163  public:
1165  ::PROTOBUF_NAMESPACE_ID::int32 max_num_broken_constraints_in_ls() const;
1166  void set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value);
1167  private:
1168  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_num_broken_constraints_in_ls() const;
1169  void _internal_set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value);
1170  public:
1171 
1172  // optional double lp_max_deterministic_time = 37 [default = 1];
1173  bool has_lp_max_deterministic_time() const;
1174  private:
1175  bool _internal_has_lp_max_deterministic_time() const;
1176  public:
1178  double lp_max_deterministic_time() const;
1179  void set_lp_max_deterministic_time(double value);
1180  private:
1181  double _internal_lp_max_deterministic_time() const;
1182  void _internal_set_lp_max_deterministic_time(double value);
1183  public:
1184 
1185  // @@protoc_insertion_point(class_scope:operations_research.bop.BopParameters)
1186  private:
1187  class _Internal;
1188 
1189  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1190  typedef void InternalArenaConstructable_;
1191  typedef void DestructorSkippable_;
1192  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1193  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1194  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1195  static const ::PROTOBUF_NAMESPACE_ID::internal::LazyString _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_;
1196  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_solver_optimizer_sets_;
1197  bool log_search_progress_;
1198  bool prune_search_tree_;
1199  bool sort_constraints_by_num_terms_;
1200  bool use_symmetry_;
1201  int synchronization_type_;
1202  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_consecutive_failing_optimizer_calls_;
1203  bool exploit_symmetry_in_sat_first_solution_;
1204  bool use_potential_one_flip_repairs_in_ls_;
1205  bool use_lp_strong_branching_;
1206  double decomposed_problem_min_time_in_seconds_;
1207  ::PROTOBUF_NAMESPACE_ID::int32 max_lp_solve_for_feasibility_problems_;
1208  double max_time_in_seconds_;
1209  ::PROTOBUF_NAMESPACE_ID::int32 max_num_decisions_in_ls_;
1210  ::PROTOBUF_NAMESPACE_ID::int32 random_seed_;
1211  ::PROTOBUF_NAMESPACE_ID::int32 num_relaxed_vars_;
1212  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_lns_;
1213  bool compute_estimated_impact_;
1214  bool use_random_lns_;
1215  bool use_lp_lns_;
1216  bool use_sat_to_choose_lns_neighbourhood_;
1217  ::PROTOBUF_NAMESPACE_ID::int32 num_random_lns_tries_;
1218  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_backtracks_in_ls_;
1219  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_for_quick_check_;
1220  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_solution_generation_;
1221  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_explored_assignments_per_try_in_ls_;
1222  bool use_transposition_table_in_ls_;
1223  bool use_learned_binary_clauses_in_lp_;
1224  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solvers_;
1225  double max_deterministic_time_;
1226  double relative_gap_limit_;
1227  ::PROTOBUF_NAMESPACE_ID::int32 decomposer_num_variables_threshold_;
1228  ::PROTOBUF_NAMESPACE_ID::int32 num_bop_solvers_used_by_decomposition_;
1229  ::PROTOBUF_NAMESPACE_ID::int32 guided_sat_conflicts_chunk_;
1230  ::PROTOBUF_NAMESPACE_ID::int32 max_num_broken_constraints_in_ls_;
1231  double lp_max_deterministic_time_;
1232  friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1233 };
1234 // ===================================================================
1235 
1236 
1237 // ===================================================================
1238 
1239 #ifdef __GNUC__
1240  #pragma GCC diagnostic push
1241  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1242 #endif // __GNUC__
1243 // BopOptimizerMethod
1244 
1245 // optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
1246 inline bool BopOptimizerMethod::_internal_has_type() const {
1247  bool value = (_has_bits_[0] & 0x00000001u) != 0;
1248  return value;
1249 }
1250 inline bool BopOptimizerMethod::has_type() const {
1251  return _internal_has_type();
1252 }
1254  type_ = 0;
1255  _has_bits_[0] &= ~0x00000001u;
1256 }
1257 inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::_internal_type() const {
1258  return static_cast< ::operations_research::bop::BopOptimizerMethod_OptimizerType >(type_);
1259 }
1261  // @@protoc_insertion_point(field_get:operations_research.bop.BopOptimizerMethod.type)
1262  return _internal_type();
1263 }
1264 inline void BopOptimizerMethod::_internal_set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value) {
1266  _has_bits_[0] |= 0x00000001u;
1267  type_ = value;
1268 }
1270  _internal_set_type(value);
1271  // @@protoc_insertion_point(field_set:operations_research.bop.BopOptimizerMethod.type)
1272 }
1273 
1274 // -------------------------------------------------------------------
1275 
1276 // BopSolverOptimizerSet
1277 
1278 // repeated .operations_research.bop.BopOptimizerMethod methods = 1;
1279 inline int BopSolverOptimizerSet::_internal_methods_size() const {
1280  return methods_.size();
1281 }
1283  return _internal_methods_size();
1284 }
1286  methods_.Clear();
1287 }
1288 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::mutable_methods(int index) {
1289  // @@protoc_insertion_point(field_mutable:operations_research.bop.BopSolverOptimizerSet.methods)
1290  return methods_.Mutable(index);
1291 }
1292 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
1294  // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopSolverOptimizerSet.methods)
1295  return &methods_;
1296 }
1297 inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::_internal_methods(int index) const {
1298  return methods_.Get(index);
1299 }
1300 inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::methods(int index) const {
1301  // @@protoc_insertion_point(field_get:operations_research.bop.BopSolverOptimizerSet.methods)
1302  return _internal_methods(index);
1303 }
1304 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::_internal_add_methods() {
1305  return methods_.Add();
1306 }
1307 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::add_methods() {
1308  ::operations_research::bop::BopOptimizerMethod* _add = _internal_add_methods();
1309  // @@protoc_insertion_point(field_add:operations_research.bop.BopSolverOptimizerSet.methods)
1310  return _add;
1311 }
1312 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
1314  // @@protoc_insertion_point(field_list:operations_research.bop.BopSolverOptimizerSet.methods)
1315  return methods_;
1316 }
1317 
1318 // -------------------------------------------------------------------
1319 
1320 // BopParameters
1321 
1322 // optional double max_time_in_seconds = 1 [default = inf];
1323 inline bool BopParameters::_internal_has_max_time_in_seconds() const {
1324  bool value = (_has_bits_[0] & 0x00001000u) != 0;
1325  return value;
1326 }
1328  return _internal_has_max_time_in_seconds();
1329 }
1331  max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1332  _has_bits_[0] &= ~0x00001000u;
1333 }
1334 inline double BopParameters::_internal_max_time_in_seconds() const {
1335  return max_time_in_seconds_;
1336 }
1337 inline double BopParameters::max_time_in_seconds() const {
1338  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_time_in_seconds)
1339  return _internal_max_time_in_seconds();
1340 }
1341 inline void BopParameters::_internal_set_max_time_in_seconds(double value) {
1342  _has_bits_[0] |= 0x00001000u;
1343  max_time_in_seconds_ = value;
1344 }
1346  _internal_set_max_time_in_seconds(value);
1347  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_time_in_seconds)
1348 }
1349 
1350 // optional double max_deterministic_time = 27 [default = inf];
1351 inline bool BopParameters::_internal_has_max_deterministic_time() const {
1352  bool value = (_has_bits_[0] & 0x20000000u) != 0;
1353  return value;
1354 }
1356  return _internal_has_max_deterministic_time();
1357 }
1359  max_deterministic_time_ = std::numeric_limits<double>::infinity();
1360  _has_bits_[0] &= ~0x20000000u;
1361 }
1362 inline double BopParameters::_internal_max_deterministic_time() const {
1363  return max_deterministic_time_;
1364 }
1366  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_deterministic_time)
1367  return _internal_max_deterministic_time();
1368 }
1369 inline void BopParameters::_internal_set_max_deterministic_time(double value) {
1370  _has_bits_[0] |= 0x20000000u;
1371  max_deterministic_time_ = value;
1372 }
1374  _internal_set_max_deterministic_time(value);
1375  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_deterministic_time)
1376 }
1377 
1378 // optional double lp_max_deterministic_time = 37 [default = 1];
1379 inline bool BopParameters::_internal_has_lp_max_deterministic_time() const {
1380  bool value = (_has_bits_[1] & 0x00000008u) != 0;
1381  return value;
1382 }
1384  return _internal_has_lp_max_deterministic_time();
1385 }
1387  lp_max_deterministic_time_ = 1;
1388  _has_bits_[1] &= ~0x00000008u;
1389 }
1390 inline double BopParameters::_internal_lp_max_deterministic_time() const {
1391  return lp_max_deterministic_time_;
1392 }
1394  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.lp_max_deterministic_time)
1395  return _internal_lp_max_deterministic_time();
1396 }
1397 inline void BopParameters::_internal_set_lp_max_deterministic_time(double value) {
1398  _has_bits_[1] |= 0x00000008u;
1399  lp_max_deterministic_time_ = value;
1400 }
1402  _internal_set_lp_max_deterministic_time(value);
1403  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.lp_max_deterministic_time)
1404 }
1405 
1406 // optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
1407 inline bool BopParameters::_internal_has_max_number_of_consecutive_failing_optimizer_calls() const {
1408  bool value = (_has_bits_[0] & 0x00000040u) != 0;
1409  return value;
1410 }
1412  return _internal_has_max_number_of_consecutive_failing_optimizer_calls();
1413 }
1415  max_number_of_consecutive_failing_optimizer_calls_ = 0;
1416  _has_bits_[0] &= ~0x00000040u;
1417 }
1418 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_consecutive_failing_optimizer_calls() const {
1419  return max_number_of_consecutive_failing_optimizer_calls_;
1420 }
1421 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_consecutive_failing_optimizer_calls() const {
1422  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1423  return _internal_max_number_of_consecutive_failing_optimizer_calls();
1424 }
1425 inline void BopParameters::_internal_set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1426  _has_bits_[0] |= 0x00000040u;
1427  max_number_of_consecutive_failing_optimizer_calls_ = value;
1428 }
1430  _internal_set_max_number_of_consecutive_failing_optimizer_calls(value);
1431  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1432 }
1433 
1434 // optional double relative_gap_limit = 28 [default = 0.0001];
1435 inline bool BopParameters::_internal_has_relative_gap_limit() const {
1436  bool value = (_has_bits_[0] & 0x40000000u) != 0;
1437  return value;
1438 }
1440  return _internal_has_relative_gap_limit();
1441 }
1443  relative_gap_limit_ = 0.0001;
1444  _has_bits_[0] &= ~0x40000000u;
1445 }
1446 inline double BopParameters::_internal_relative_gap_limit() const {
1447  return relative_gap_limit_;
1448 }
1449 inline double BopParameters::relative_gap_limit() const {
1450  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.relative_gap_limit)
1451  return _internal_relative_gap_limit();
1452 }
1453 inline void BopParameters::_internal_set_relative_gap_limit(double value) {
1454  _has_bits_[0] |= 0x40000000u;
1455  relative_gap_limit_ = value;
1456 }
1458  _internal_set_relative_gap_limit(value);
1459  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.relative_gap_limit)
1460 }
1461 
1462 // optional int32 max_num_decisions_in_ls = 2 [default = 4];
1463 inline bool BopParameters::_internal_has_max_num_decisions_in_ls() const {
1464  bool value = (_has_bits_[0] & 0x00002000u) != 0;
1465  return value;
1466 }
1468  return _internal_has_max_num_decisions_in_ls();
1469 }
1471  max_num_decisions_in_ls_ = 4;
1472  _has_bits_[0] &= ~0x00002000u;
1473 }
1474 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_num_decisions_in_ls() const {
1475  return max_num_decisions_in_ls_;
1476 }
1477 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_num_decisions_in_ls() const {
1478  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1479  return _internal_max_num_decisions_in_ls();
1480 }
1481 inline void BopParameters::_internal_set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1482  _has_bits_[0] |= 0x00002000u;
1483  max_num_decisions_in_ls_ = value;
1484 }
1485 inline void BopParameters::set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1486  _internal_set_max_num_decisions_in_ls(value);
1487  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1488 }
1489 
1490 // optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1491 inline bool BopParameters::_internal_has_max_num_broken_constraints_in_ls() const {
1492  bool value = (_has_bits_[1] & 0x00000004u) != 0;
1493  return value;
1494 }
1496  return _internal_has_max_num_broken_constraints_in_ls();
1497 }
1499  max_num_broken_constraints_in_ls_ = 2147483647;
1500  _has_bits_[1] &= ~0x00000004u;
1501 }
1502 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_num_broken_constraints_in_ls() const {
1503  return max_num_broken_constraints_in_ls_;
1504 }
1505 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_num_broken_constraints_in_ls() const {
1506  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1507  return _internal_max_num_broken_constraints_in_ls();
1508 }
1509 inline void BopParameters::_internal_set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1510  _has_bits_[1] |= 0x00000004u;
1511  max_num_broken_constraints_in_ls_ = value;
1512 }
1513 inline void BopParameters::set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1514  _internal_set_max_num_broken_constraints_in_ls(value);
1515  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1516 }
1517 
1518 // optional bool log_search_progress = 14 [default = false];
1519 inline bool BopParameters::_internal_has_log_search_progress() const {
1520  bool value = (_has_bits_[0] & 0x00000002u) != 0;
1521  return value;
1522 }
1524  return _internal_has_log_search_progress();
1525 }
1527  log_search_progress_ = false;
1528  _has_bits_[0] &= ~0x00000002u;
1529 }
1530 inline bool BopParameters::_internal_log_search_progress() const {
1531  return log_search_progress_;
1532 }
1534  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.log_search_progress)
1535  return _internal_log_search_progress();
1536 }
1537 inline void BopParameters::_internal_set_log_search_progress(bool value) {
1538  _has_bits_[0] |= 0x00000002u;
1539  log_search_progress_ = value;
1540 }
1542  _internal_set_log_search_progress(value);
1543  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.log_search_progress)
1544 }
1545 
1546 // optional bool compute_estimated_impact = 3 [default = true];
1547 inline bool BopParameters::_internal_has_compute_estimated_impact() const {
1548  bool value = (_has_bits_[0] & 0x00020000u) != 0;
1549  return value;
1550 }
1552  return _internal_has_compute_estimated_impact();
1553 }
1555  compute_estimated_impact_ = true;
1556  _has_bits_[0] &= ~0x00020000u;
1557 }
1558 inline bool BopParameters::_internal_compute_estimated_impact() const {
1559  return compute_estimated_impact_;
1560 }
1562  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.compute_estimated_impact)
1563  return _internal_compute_estimated_impact();
1564 }
1565 inline void BopParameters::_internal_set_compute_estimated_impact(bool value) {
1566  _has_bits_[0] |= 0x00020000u;
1567  compute_estimated_impact_ = value;
1568 }
1570  _internal_set_compute_estimated_impact(value);
1571  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.compute_estimated_impact)
1572 }
1573 
1574 // optional bool prune_search_tree = 4 [default = false];
1575 inline bool BopParameters::_internal_has_prune_search_tree() const {
1576  bool value = (_has_bits_[0] & 0x00000004u) != 0;
1577  return value;
1578 }
1580  return _internal_has_prune_search_tree();
1581 }
1583  prune_search_tree_ = false;
1584  _has_bits_[0] &= ~0x00000004u;
1585 }
1586 inline bool BopParameters::_internal_prune_search_tree() const {
1587  return prune_search_tree_;
1588 }
1590  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.prune_search_tree)
1591  return _internal_prune_search_tree();
1592 }
1593 inline void BopParameters::_internal_set_prune_search_tree(bool value) {
1594  _has_bits_[0] |= 0x00000004u;
1595  prune_search_tree_ = value;
1596 }
1598  _internal_set_prune_search_tree(value);
1599  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.prune_search_tree)
1600 }
1601 
1602 // optional bool sort_constraints_by_num_terms = 5 [default = false];
1603 inline bool BopParameters::_internal_has_sort_constraints_by_num_terms() const {
1604  bool value = (_has_bits_[0] & 0x00000008u) != 0;
1605  return value;
1606 }
1608  return _internal_has_sort_constraints_by_num_terms();
1609 }
1611  sort_constraints_by_num_terms_ = false;
1612  _has_bits_[0] &= ~0x00000008u;
1613 }
1614 inline bool BopParameters::_internal_sort_constraints_by_num_terms() const {
1615  return sort_constraints_by_num_terms_;
1616 }
1618  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1619  return _internal_sort_constraints_by_num_terms();
1620 }
1621 inline void BopParameters::_internal_set_sort_constraints_by_num_terms(bool value) {
1622  _has_bits_[0] |= 0x00000008u;
1623  sort_constraints_by_num_terms_ = value;
1624 }
1626  _internal_set_sort_constraints_by_num_terms(value);
1627  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1628 }
1629 
1630 // optional bool use_random_lns = 6 [default = true];
1631 inline bool BopParameters::_internal_has_use_random_lns() const {
1632  bool value = (_has_bits_[0] & 0x00040000u) != 0;
1633  return value;
1634 }
1636  return _internal_has_use_random_lns();
1637 }
1639  use_random_lns_ = true;
1640  _has_bits_[0] &= ~0x00040000u;
1641 }
1642 inline bool BopParameters::_internal_use_random_lns() const {
1643  return use_random_lns_;
1644 }
1645 inline bool BopParameters::use_random_lns() const {
1646  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_random_lns)
1647  return _internal_use_random_lns();
1648 }
1649 inline void BopParameters::_internal_set_use_random_lns(bool value) {
1650  _has_bits_[0] |= 0x00040000u;
1651  use_random_lns_ = value;
1652 }
1654  _internal_set_use_random_lns(value);
1655  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_random_lns)
1656 }
1657 
1658 // optional int32 random_seed = 7 [default = 8];
1659 inline bool BopParameters::_internal_has_random_seed() const {
1660  bool value = (_has_bits_[0] & 0x00004000u) != 0;
1661  return value;
1662 }
1663 inline bool BopParameters::has_random_seed() const {
1664  return _internal_has_random_seed();
1665 }
1667  random_seed_ = 8;
1668  _has_bits_[0] &= ~0x00004000u;
1669 }
1670 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_random_seed() const {
1671  return random_seed_;
1672 }
1673 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::random_seed() const {
1674  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.random_seed)
1675  return _internal_random_seed();
1676 }
1677 inline void BopParameters::_internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
1678  _has_bits_[0] |= 0x00004000u;
1679  random_seed_ = value;
1680 }
1681 inline void BopParameters::set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
1682  _internal_set_random_seed(value);
1683  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.random_seed)
1684 }
1685 
1686 // optional int32 num_relaxed_vars = 8 [default = 10];
1687 inline bool BopParameters::_internal_has_num_relaxed_vars() const {
1688  bool value = (_has_bits_[0] & 0x00008000u) != 0;
1689  return value;
1690 }
1692  return _internal_has_num_relaxed_vars();
1693 }
1695  num_relaxed_vars_ = 10;
1696  _has_bits_[0] &= ~0x00008000u;
1697 }
1698 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_num_relaxed_vars() const {
1699  return num_relaxed_vars_;
1700 }
1701 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::num_relaxed_vars() const {
1702  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_relaxed_vars)
1703  return _internal_num_relaxed_vars();
1704 }
1705 inline void BopParameters::_internal_set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
1706  _has_bits_[0] |= 0x00008000u;
1707  num_relaxed_vars_ = value;
1708 }
1709 inline void BopParameters::set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
1710  _internal_set_num_relaxed_vars(value);
1711  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_relaxed_vars)
1712 }
1713 
1714 // optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
1715 inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_lns() const {
1716  bool value = (_has_bits_[0] & 0x00010000u) != 0;
1717  return value;
1718 }
1720  return _internal_has_max_number_of_conflicts_in_random_lns();
1721 }
1723  max_number_of_conflicts_in_random_lns_ = 2500;
1724  _has_bits_[0] &= ~0x00010000u;
1725 }
1726 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_conflicts_in_random_lns() const {
1727  return max_number_of_conflicts_in_random_lns_;
1728 }
1729 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_conflicts_in_random_lns() const {
1730  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1731  return _internal_max_number_of_conflicts_in_random_lns();
1732 }
1733 inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value) {
1734  _has_bits_[0] |= 0x00010000u;
1735  max_number_of_conflicts_in_random_lns_ = value;
1736 }
1737 inline void BopParameters::set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value) {
1738  _internal_set_max_number_of_conflicts_in_random_lns(value);
1739  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1740 }
1741 
1742 // optional int32 num_random_lns_tries = 10 [default = 1];
1743 inline bool BopParameters::_internal_has_num_random_lns_tries() const {
1744  bool value = (_has_bits_[0] & 0x00200000u) != 0;
1745  return value;
1746 }
1748  return _internal_has_num_random_lns_tries();
1749 }
1751  num_random_lns_tries_ = 1;
1752  _has_bits_[0] &= ~0x00200000u;
1753 }
1754 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_num_random_lns_tries() const {
1755  return num_random_lns_tries_;
1756 }
1757 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::num_random_lns_tries() const {
1758  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_random_lns_tries)
1759  return _internal_num_random_lns_tries();
1760 }
1761 inline void BopParameters::_internal_set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value) {
1762  _has_bits_[0] |= 0x00200000u;
1763  num_random_lns_tries_ = value;
1764 }
1765 inline void BopParameters::set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value) {
1766  _internal_set_num_random_lns_tries(value);
1767  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_random_lns_tries)
1768 }
1769 
1770 // optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1771 inline bool BopParameters::_internal_has_max_number_of_backtracks_in_ls() const {
1772  bool value = (_has_bits_[0] & 0x00400000u) != 0;
1773  return value;
1774 }
1776  return _internal_has_max_number_of_backtracks_in_ls();
1777 }
1779  max_number_of_backtracks_in_ls_ = int64_t{100000000};
1780  _has_bits_[0] &= ~0x00400000u;
1781 }
1782 inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::_internal_max_number_of_backtracks_in_ls() const {
1783  return max_number_of_backtracks_in_ls_;
1784 }
1785 inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::max_number_of_backtracks_in_ls() const {
1786  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1787  return _internal_max_number_of_backtracks_in_ls();
1788 }
1789 inline void BopParameters::_internal_set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) {
1790  _has_bits_[0] |= 0x00400000u;
1791  max_number_of_backtracks_in_ls_ = value;
1792 }
1793 inline void BopParameters::set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) {
1794  _internal_set_max_number_of_backtracks_in_ls(value);
1795  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1796 }
1797 
1798 // optional bool use_lp_lns = 12 [default = true];
1799 inline bool BopParameters::_internal_has_use_lp_lns() const {
1800  bool value = (_has_bits_[0] & 0x00080000u) != 0;
1801  return value;
1802 }
1803 inline bool BopParameters::has_use_lp_lns() const {
1804  return _internal_has_use_lp_lns();
1805 }
1807  use_lp_lns_ = true;
1808  _has_bits_[0] &= ~0x00080000u;
1809 }
1810 inline bool BopParameters::_internal_use_lp_lns() const {
1811  return use_lp_lns_;
1812 }
1813 inline bool BopParameters::use_lp_lns() const {
1814  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_lns)
1815  return _internal_use_lp_lns();
1816 }
1817 inline void BopParameters::_internal_set_use_lp_lns(bool value) {
1818  _has_bits_[0] |= 0x00080000u;
1819  use_lp_lns_ = value;
1820 }
1822  _internal_set_use_lp_lns(value);
1823  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_lns)
1824 }
1825 
1826 // optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
1827 inline bool BopParameters::_internal_has_use_sat_to_choose_lns_neighbourhood() const {
1828  bool value = (_has_bits_[0] & 0x00100000u) != 0;
1829  return value;
1830 }
1832  return _internal_has_use_sat_to_choose_lns_neighbourhood();
1833 }
1835  use_sat_to_choose_lns_neighbourhood_ = true;
1836  _has_bits_[0] &= ~0x00100000u;
1837 }
1838 inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood() const {
1839  return use_sat_to_choose_lns_neighbourhood_;
1840 }
1842  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1843  return _internal_use_sat_to_choose_lns_neighbourhood();
1844 }
1845 inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(bool value) {
1846  _has_bits_[0] |= 0x00100000u;
1847  use_sat_to_choose_lns_neighbourhood_ = value;
1848 }
1850  _internal_set_use_sat_to_choose_lns_neighbourhood(value);
1851  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1852 }
1853 
1854 // optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1855 inline bool BopParameters::_internal_has_max_number_of_conflicts_for_quick_check() const {
1856  bool value = (_has_bits_[0] & 0x00800000u) != 0;
1857  return value;
1858 }
1860  return _internal_has_max_number_of_conflicts_for_quick_check();
1861 }
1863  max_number_of_conflicts_for_quick_check_ = 10;
1864  _has_bits_[0] &= ~0x00800000u;
1865 }
1866 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_conflicts_for_quick_check() const {
1867  return max_number_of_conflicts_for_quick_check_;
1868 }
1869 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_conflicts_for_quick_check() const {
1870  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1871  return _internal_max_number_of_conflicts_for_quick_check();
1872 }
1873 inline void BopParameters::_internal_set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value) {
1874  _has_bits_[0] |= 0x00800000u;
1875  max_number_of_conflicts_for_quick_check_ = value;
1876 }
1877 inline void BopParameters::set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value) {
1878  _internal_set_max_number_of_conflicts_for_quick_check(value);
1879  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1880 }
1881 
1882 // optional bool use_symmetry = 17 [default = false];
1883 inline bool BopParameters::_internal_has_use_symmetry() const {
1884  bool value = (_has_bits_[0] & 0x00000010u) != 0;
1885  return value;
1886 }
1887 inline bool BopParameters::has_use_symmetry() const {
1888  return _internal_has_use_symmetry();
1889 }
1891  use_symmetry_ = false;
1892  _has_bits_[0] &= ~0x00000010u;
1893 }
1894 inline bool BopParameters::_internal_use_symmetry() const {
1895  return use_symmetry_;
1896 }
1897 inline bool BopParameters::use_symmetry() const {
1898  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_symmetry)
1899  return _internal_use_symmetry();
1900 }
1901 inline void BopParameters::_internal_set_use_symmetry(bool value) {
1902  _has_bits_[0] |= 0x00000010u;
1903  use_symmetry_ = value;
1904 }
1906  _internal_set_use_symmetry(value);
1907  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_symmetry)
1908 }
1909 
1910 // optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
1911 inline bool BopParameters::_internal_has_exploit_symmetry_in_sat_first_solution() const {
1912  bool value = (_has_bits_[0] & 0x00000080u) != 0;
1913  return value;
1914 }
1916  return _internal_has_exploit_symmetry_in_sat_first_solution();
1917 }
1919  exploit_symmetry_in_sat_first_solution_ = false;
1920  _has_bits_[0] &= ~0x00000080u;
1921 }
1922 inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution() const {
1923  return exploit_symmetry_in_sat_first_solution_;
1924 }
1926  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
1927  return _internal_exploit_symmetry_in_sat_first_solution();
1928 }
1929 inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(bool value) {
1930  _has_bits_[0] |= 0x00000080u;
1931  exploit_symmetry_in_sat_first_solution_ = value;
1932 }
1934  _internal_set_exploit_symmetry_in_sat_first_solution(value);
1935  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
1936 }
1937 
1938 // optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
1939 inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_solution_generation() const {
1940  bool value = (_has_bits_[0] & 0x01000000u) != 0;
1941  return value;
1942 }
1944  return _internal_has_max_number_of_conflicts_in_random_solution_generation();
1945 }
1947  max_number_of_conflicts_in_random_solution_generation_ = 500;
1948  _has_bits_[0] &= ~0x01000000u;
1949 }
1950 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_conflicts_in_random_solution_generation() const {
1951  return max_number_of_conflicts_in_random_solution_generation_;
1952 }
1953 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_conflicts_in_random_solution_generation() const {
1954  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
1955  return _internal_max_number_of_conflicts_in_random_solution_generation();
1956 }
1957 inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value) {
1958  _has_bits_[0] |= 0x01000000u;
1959  max_number_of_conflicts_in_random_solution_generation_ = value;
1960 }
1962  _internal_set_max_number_of_conflicts_in_random_solution_generation(value);
1963  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
1964 }
1965 
1966 // optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
1967 inline bool BopParameters::_internal_has_max_number_of_explored_assignments_per_try_in_ls() const {
1968  bool value = (_has_bits_[0] & 0x02000000u) != 0;
1969  return value;
1970 }
1972  return _internal_has_max_number_of_explored_assignments_per_try_in_ls();
1973 }
1975  max_number_of_explored_assignments_per_try_in_ls_ = int64_t{10000};
1976  _has_bits_[0] &= ~0x02000000u;
1977 }
1978 inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::_internal_max_number_of_explored_assignments_per_try_in_ls() const {
1979  return max_number_of_explored_assignments_per_try_in_ls_;
1980 }
1981 inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::max_number_of_explored_assignments_per_try_in_ls() const {
1982  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
1983  return _internal_max_number_of_explored_assignments_per_try_in_ls();
1984 }
1985 inline void BopParameters::_internal_set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) {
1986  _has_bits_[0] |= 0x02000000u;
1987  max_number_of_explored_assignments_per_try_in_ls_ = value;
1988 }
1990  _internal_set_max_number_of_explored_assignments_per_try_in_ls(value);
1991  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
1992 }
1993 
1994 // optional bool use_transposition_table_in_ls = 22 [default = true];
1995 inline bool BopParameters::_internal_has_use_transposition_table_in_ls() const {
1996  bool value = (_has_bits_[0] & 0x04000000u) != 0;
1997  return value;
1998 }
2000  return _internal_has_use_transposition_table_in_ls();
2001 }
2003  use_transposition_table_in_ls_ = true;
2004  _has_bits_[0] &= ~0x04000000u;
2005 }
2006 inline bool BopParameters::_internal_use_transposition_table_in_ls() const {
2007  return use_transposition_table_in_ls_;
2008 }
2010  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2011  return _internal_use_transposition_table_in_ls();
2012 }
2013 inline void BopParameters::_internal_set_use_transposition_table_in_ls(bool value) {
2014  _has_bits_[0] |= 0x04000000u;
2015  use_transposition_table_in_ls_ = value;
2016 }
2018  _internal_set_use_transposition_table_in_ls(value);
2019  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2020 }
2021 
2022 // optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
2023 inline bool BopParameters::_internal_has_use_potential_one_flip_repairs_in_ls() const {
2024  bool value = (_has_bits_[0] & 0x00000100u) != 0;
2025  return value;
2026 }
2028  return _internal_has_use_potential_one_flip_repairs_in_ls();
2029 }
2031  use_potential_one_flip_repairs_in_ls_ = false;
2032  _has_bits_[0] &= ~0x00000100u;
2033 }
2034 inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls() const {
2035  return use_potential_one_flip_repairs_in_ls_;
2036 }
2038  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2039  return _internal_use_potential_one_flip_repairs_in_ls();
2040 }
2041 inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(bool value) {
2042  _has_bits_[0] |= 0x00000100u;
2043  use_potential_one_flip_repairs_in_ls_ = value;
2044 }
2046  _internal_set_use_potential_one_flip_repairs_in_ls(value);
2047  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2048 }
2049 
2050 // optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
2051 inline bool BopParameters::_internal_has_use_learned_binary_clauses_in_lp() const {
2052  bool value = (_has_bits_[0] & 0x08000000u) != 0;
2053  return value;
2054 }
2056  return _internal_has_use_learned_binary_clauses_in_lp();
2057 }
2059  use_learned_binary_clauses_in_lp_ = true;
2060  _has_bits_[0] &= ~0x08000000u;
2061 }
2062 inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp() const {
2063  return use_learned_binary_clauses_in_lp_;
2064 }
2066  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2067  return _internal_use_learned_binary_clauses_in_lp();
2068 }
2069 inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(bool value) {
2070  _has_bits_[0] |= 0x08000000u;
2071  use_learned_binary_clauses_in_lp_ = value;
2072 }
2074  _internal_set_use_learned_binary_clauses_in_lp(value);
2075  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2076 }
2077 
2078 // optional int32 number_of_solvers = 24 [default = 1];
2079 inline bool BopParameters::_internal_has_number_of_solvers() const {
2080  bool value = (_has_bits_[0] & 0x10000000u) != 0;
2081  return value;
2082 }
2084  return _internal_has_number_of_solvers();
2085 }
2087  number_of_solvers_ = 1;
2088  _has_bits_[0] &= ~0x10000000u;
2089 }
2090 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_number_of_solvers() const {
2091  return number_of_solvers_;
2092 }
2093 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::number_of_solvers() const {
2094  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.number_of_solvers)
2095  return _internal_number_of_solvers();
2096 }
2097 inline void BopParameters::_internal_set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value) {
2098  _has_bits_[0] |= 0x10000000u;
2099  number_of_solvers_ = value;
2100 }
2101 inline void BopParameters::set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value) {
2102  _internal_set_number_of_solvers(value);
2103  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.number_of_solvers)
2104 }
2105 
2106 // optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
2107 inline bool BopParameters::_internal_has_synchronization_type() const {
2108  bool value = (_has_bits_[0] & 0x00000020u) != 0;
2109  return value;
2110 }
2112  return _internal_has_synchronization_type();
2113 }
2115  synchronization_type_ = 0;
2116  _has_bits_[0] &= ~0x00000020u;
2117 }
2118 inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::_internal_synchronization_type() const {
2119  return static_cast< ::operations_research::bop::BopParameters_ThreadSynchronizationType >(synchronization_type_);
2120 }
2122  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.synchronization_type)
2123  return _internal_synchronization_type();
2124 }
2125 inline void BopParameters::_internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value) {
2127  _has_bits_[0] |= 0x00000020u;
2128  synchronization_type_ = value;
2129 }
2131  _internal_set_synchronization_type(value);
2132  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.synchronization_type)
2133 }
2134 
2135 // repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
2136 inline int BopParameters::_internal_solver_optimizer_sets_size() const {
2137  return solver_optimizer_sets_.size();
2138 }
2140  return _internal_solver_optimizer_sets_size();
2141 }
2143  solver_optimizer_sets_.Clear();
2144 }
2145 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::mutable_solver_optimizer_sets(int index) {
2146  // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.solver_optimizer_sets)
2147  return solver_optimizer_sets_.Mutable(index);
2148 }
2149 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
2151  // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2152  return &solver_optimizer_sets_;
2153 }
2154 inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::_internal_solver_optimizer_sets(int index) const {
2155  return solver_optimizer_sets_.Get(index);
2156 }
2157 inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::solver_optimizer_sets(int index) const {
2158  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.solver_optimizer_sets)
2159  return _internal_solver_optimizer_sets(index);
2160 }
2161 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::_internal_add_solver_optimizer_sets() {
2162  return solver_optimizer_sets_.Add();
2163 }
2164 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::add_solver_optimizer_sets() {
2165  ::operations_research::bop::BopSolverOptimizerSet* _add = _internal_add_solver_optimizer_sets();
2166  // @@protoc_insertion_point(field_add:operations_research.bop.BopParameters.solver_optimizer_sets)
2167  return _add;
2168 }
2169 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
2171  // @@protoc_insertion_point(field_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2172  return solver_optimizer_sets_;
2173 }
2174 
2175 // optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];
2176 inline bool BopParameters::_internal_has_default_solver_optimizer_sets() const {
2177  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2178  return value;
2179 }
2181  return _internal_has_default_solver_optimizer_sets();
2182 }
2184  default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArenaForAllocation());
2185  _has_bits_[0] &= ~0x00000001u;
2186 }
2187 inline const std::string& BopParameters::default_solver_optimizer_sets() const {
2188  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2189  if (default_solver_optimizer_sets_.IsDefault(nullptr)) return _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get();
2190  return _internal_default_solver_optimizer_sets();
2191 }
2192 template <typename ArgT0, typename... ArgT>
2193 inline PROTOBUF_ALWAYS_INLINE
2194 void BopParameters::set_default_solver_optimizer_sets(ArgT0&& arg0, ArgT... args) {
2195  _has_bits_[0] |= 0x00000001u;
2196  default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
2197  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2198 }
2200  std::string* _s = _internal_mutable_default_solver_optimizer_sets();
2201  // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2202  return _s;
2203 }
2204 inline const std::string& BopParameters::_internal_default_solver_optimizer_sets() const {
2205  return default_solver_optimizer_sets_.Get();
2206 }
2207 inline void BopParameters::_internal_set_default_solver_optimizer_sets(const std::string& value) {
2208  _has_bits_[0] |= 0x00000001u;
2209  default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, value, GetArenaForAllocation());
2210 }
2211 inline std::string* BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2212  _has_bits_[0] |= 0x00000001u;
2213  return default_solver_optimizer_sets_.Mutable(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArenaForAllocation());
2214 }
2216  // @@protoc_insertion_point(field_release:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2217  if (!_internal_has_default_solver_optimizer_sets()) {
2218  return nullptr;
2219  }
2220  _has_bits_[0] &= ~0x00000001u;
2221  return default_solver_optimizer_sets_.ReleaseNonDefault(nullptr, GetArenaForAllocation());
2222 }
2223 inline void BopParameters::set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets) {
2224  if (default_solver_optimizer_sets != nullptr) {
2225  _has_bits_[0] |= 0x00000001u;
2226  } else {
2227  _has_bits_[0] &= ~0x00000001u;
2228  }
2229  default_solver_optimizer_sets_.SetAllocated(nullptr, default_solver_optimizer_sets,
2230  GetArenaForAllocation());
2231  // @@protoc_insertion_point(field_set_allocated:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2232 }
2233 
2234 // optional bool use_lp_strong_branching = 29 [default = false];
2235 inline bool BopParameters::_internal_has_use_lp_strong_branching() const {
2236  bool value = (_has_bits_[0] & 0x00000200u) != 0;
2237  return value;
2238 }
2240  return _internal_has_use_lp_strong_branching();
2241 }
2243  use_lp_strong_branching_ = false;
2244  _has_bits_[0] &= ~0x00000200u;
2245 }
2246 inline bool BopParameters::_internal_use_lp_strong_branching() const {
2247  return use_lp_strong_branching_;
2248 }
2250  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_strong_branching)
2251  return _internal_use_lp_strong_branching();
2252 }
2253 inline void BopParameters::_internal_set_use_lp_strong_branching(bool value) {
2254  _has_bits_[0] |= 0x00000200u;
2255  use_lp_strong_branching_ = value;
2256 }
2258  _internal_set_use_lp_strong_branching(value);
2259  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_strong_branching)
2260 }
2261 
2262 // optional int32 decomposer_num_variables_threshold = 30 [default = 50];
2263 inline bool BopParameters::_internal_has_decomposer_num_variables_threshold() const {
2264  bool value = (_has_bits_[0] & 0x80000000u) != 0;
2265  return value;
2266 }
2268  return _internal_has_decomposer_num_variables_threshold();
2269 }
2271  decomposer_num_variables_threshold_ = 50;
2272  _has_bits_[0] &= ~0x80000000u;
2273 }
2274 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_decomposer_num_variables_threshold() const {
2275  return decomposer_num_variables_threshold_;
2276 }
2277 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::decomposer_num_variables_threshold() const {
2278  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2279  return _internal_decomposer_num_variables_threshold();
2280 }
2281 inline void BopParameters::_internal_set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
2282  _has_bits_[0] |= 0x80000000u;
2283  decomposer_num_variables_threshold_ = value;
2284 }
2285 inline void BopParameters::set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
2286  _internal_set_decomposer_num_variables_threshold(value);
2287  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2288 }
2289 
2290 // optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
2291 inline bool BopParameters::_internal_has_num_bop_solvers_used_by_decomposition() const {
2292  bool value = (_has_bits_[1] & 0x00000001u) != 0;
2293  return value;
2294 }
2296  return _internal_has_num_bop_solvers_used_by_decomposition();
2297 }
2299  num_bop_solvers_used_by_decomposition_ = 1;
2300  _has_bits_[1] &= ~0x00000001u;
2301 }
2302 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_num_bop_solvers_used_by_decomposition() const {
2303  return num_bop_solvers_used_by_decomposition_;
2304 }
2305 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::num_bop_solvers_used_by_decomposition() const {
2306  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2307  return _internal_num_bop_solvers_used_by_decomposition();
2308 }
2309 inline void BopParameters::_internal_set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value) {
2310  _has_bits_[1] |= 0x00000001u;
2311  num_bop_solvers_used_by_decomposition_ = value;
2312 }
2313 inline void BopParameters::set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value) {
2314  _internal_set_num_bop_solvers_used_by_decomposition(value);
2315  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2316 }
2317 
2318 // optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
2319 inline bool BopParameters::_internal_has_decomposed_problem_min_time_in_seconds() const {
2320  bool value = (_has_bits_[0] & 0x00000400u) != 0;
2321  return value;
2322 }
2324  return _internal_has_decomposed_problem_min_time_in_seconds();
2325 }
2327  decomposed_problem_min_time_in_seconds_ = 0;
2328  _has_bits_[0] &= ~0x00000400u;
2329 }
2330 inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds() const {
2331  return decomposed_problem_min_time_in_seconds_;
2332 }
2334  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2335  return _internal_decomposed_problem_min_time_in_seconds();
2336 }
2337 inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(double value) {
2338  _has_bits_[0] |= 0x00000400u;
2339  decomposed_problem_min_time_in_seconds_ = value;
2340 }
2342  _internal_set_decomposed_problem_min_time_in_seconds(value);
2343  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2344 }
2345 
2346 // optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
2347 inline bool BopParameters::_internal_has_guided_sat_conflicts_chunk() const {
2348  bool value = (_has_bits_[1] & 0x00000002u) != 0;
2349  return value;
2350 }
2352  return _internal_has_guided_sat_conflicts_chunk();
2353 }
2355  guided_sat_conflicts_chunk_ = 1000;
2356  _has_bits_[1] &= ~0x00000002u;
2357 }
2358 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_guided_sat_conflicts_chunk() const {
2359  return guided_sat_conflicts_chunk_;
2360 }
2361 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::guided_sat_conflicts_chunk() const {
2362  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2363  return _internal_guided_sat_conflicts_chunk();
2364 }
2365 inline void BopParameters::_internal_set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value) {
2366  _has_bits_[1] |= 0x00000002u;
2367  guided_sat_conflicts_chunk_ = value;
2368 }
2369 inline void BopParameters::set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value) {
2370  _internal_set_guided_sat_conflicts_chunk(value);
2371  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2372 }
2373 
2374 // optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
2375 inline bool BopParameters::_internal_has_max_lp_solve_for_feasibility_problems() const {
2376  bool value = (_has_bits_[0] & 0x00000800u) != 0;
2377  return value;
2378 }
2380  return _internal_has_max_lp_solve_for_feasibility_problems();
2381 }
2383  max_lp_solve_for_feasibility_problems_ = 0;
2384  _has_bits_[0] &= ~0x00000800u;
2385 }
2386 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_lp_solve_for_feasibility_problems() const {
2387  return max_lp_solve_for_feasibility_problems_;
2388 }
2389 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_lp_solve_for_feasibility_problems() const {
2390  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2391  return _internal_max_lp_solve_for_feasibility_problems();
2392 }
2393 inline void BopParameters::_internal_set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value) {
2394  _has_bits_[0] |= 0x00000800u;
2395  max_lp_solve_for_feasibility_problems_ = value;
2396 }
2397 inline void BopParameters::set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value) {
2398  _internal_set_max_lp_solve_for_feasibility_problems(value);
2399  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2400 }
2401 
2402 #ifdef __GNUC__
2403  #pragma GCC diagnostic pop
2404 #endif // __GNUC__
2405 // -------------------------------------------------------------------
2406 
2407 // -------------------------------------------------------------------
2408 
2409 
2410 // @@protoc_insertion_point(namespace_scope)
2411 
2412 } // namespace bop
2413 } // namespace operations_research
2414 
2415 PROTOBUF_NAMESPACE_OPEN
2416 
2417 template <> struct is_proto_enum< ::operations_research::bop::BopOptimizerMethod_OptimizerType> : ::std::true_type {};
2418 template <>
2419 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopOptimizerMethod_OptimizerType>() {
2421 }
2422 template <> struct is_proto_enum< ::operations_research::bop::BopParameters_ThreadSynchronizationType> : ::std::true_type {};
2423 template <>
2424 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopParameters_ThreadSynchronizationType>() {
2426 }
2427 
2428 PROTOBUF_NAMESPACE_CLOSE
2429 
2430 // @@protoc_insertion_point(global_scope)
2431 
2432 #include <google/protobuf/port_undef.inc>
2433 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto
void set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value)
void UnsafeArenaSwap(BopParameters *other)
::operations_research::bop::BopParameters_ThreadSynchronizationType synchronization_type() const
BopParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
friend void swap(BopSolverOptimizerSet &a, BopSolverOptimizerSet &b)
void set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value)
BopOptimizerMethod * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
bool BopParameters_ThreadSynchronizationType_IsValid(int value)
void MergeFrom(const BopSolverOptimizerSet &from)
BopParameters(BopParameters &&from) noexcept
::PROTOBUF_NAMESPACE_ID::int32 max_num_broken_constraints_in_ls() const
bool has_max_number_of_conflicts_in_random_solution_generation() const
BopSolverOptimizerSet & operator=(BopSolverOptimizerSet &&from) noexcept
BopOptimizerMethod & operator=(BopOptimizerMethod &&from) noexcept
static constexpr OptimizerType RANDOM_VARIABLE_LNS_GUIDED_BY_LP
static const BopParameters * internal_default_instance()
void set_decomposed_problem_min_time_in_seconds(double value)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > * mutable_solver_optimizer_sets()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_explored_assignments_per_try_in_ls() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ThreadSynchronizationType_descriptor()
void set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value)
BopOptimizerMethod * New() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopParameters_ThreadSynchronizationType_descriptor()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * OptimizerType_descriptor()
const std::string name
::PROTOBUF_NAMESPACE_ID::int32 num_random_lns_tries() const
const std::string & BopOptimizerMethod_OptimizerType_Name(T enum_t_value)
static const BopSolverOptimizerSet & default_instance()
const std::string & default_solver_optimizer_sets() const
void set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_lns() const
::PROTOBUF_NAMESPACE_ID::int32 decomposer_num_variables_threshold() const
void set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(BopSolverOptimizerSet *other)
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MIN
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_consecutive_failing_optimizer_calls() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
constexpr int BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_ARRAYSIZE
static constexpr OptimizerType LOCAL_SEARCH
::PROTOBUF_NAMESPACE_ID::int32 random_seed() const
static constexpr OptimizerType RELATION_GRAPH_LNS
static const BopSolverOptimizerSet * internal_default_instance()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static constexpr OptimizerType RANDOM_VARIABLE_LNS
int64_t b
constexpr int BopOptimizerMethod_OptimizerType_OptimizerType_ARRAYSIZE
BopParameters * New() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
BopOptimizerMethod(BopOptimizerMethod &&from) noexcept
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const BopOptimizerMethod &from)
void CopyFrom(const BopSolverOptimizerSet &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static constexpr int ThreadSynchronizationType_ARRAYSIZE
void set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_
::PROTOBUF_NAMESPACE_ID::int32 num_bop_solvers_used_by_decomposition() const
const std::string & BopParameters_ThreadSynchronizationType_Name(T enum_t_value)
::PROTOBUF_NAMESPACE_ID::int32 guided_sat_conflicts_chunk() const
void set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
bool BopOptimizerMethod_OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopOptimizerMethod_OptimizerType *value)
static constexpr OptimizerType RELATION_GRAPH_LNS_GUIDED_BY_LP
static bool ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ThreadSynchronizationType *value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > & methods() const
static constexpr ThreadSynchronizationType SYNCHRONIZE_ON_RIGHT
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > & solver_optimizer_sets() const
static constexpr ThreadSynchronizationType NO_SYNCHRONIZATION
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MIN
void set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value)
BopSolverOptimizerSet * New() const final
void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_for_quick_check() const
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static constexpr ThreadSynchronizationType SYNCHRONIZE_ALL
void set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value)
void CopyFrom(const BopParameters &from)
static constexpr OptimizerType SAT_LINEAR_SEARCH
bool BopOptimizerMethod_OptimizerType_IsValid(int value)
void set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value)
friend void swap(BopParameters &a, BopParameters &b)
BopOptimizerMethod & operator=(const BopOptimizerMethod &from)
BopSolverOptimizerSet * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
::PROTOBUF_NAMESPACE_ID::int32 num_relaxed_vars() const
static constexpr OptimizerType COMPLETE_LNS
int index
Definition: pack.cc:509
void set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value)
BopSolverOptimizerSet(BopSolverOptimizerSet &&from) noexcept
void MergeFrom(const BopOptimizerMethod &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MAX
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > * mutable_methods()
void set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::int32 max_lp_solve_for_feasibility_problems() const
void set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void set_allocated_default_solver_optimizer_sets(std::string *default_solver_optimizer_sets)
static const std::string & OptimizerType_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
BopSolverOptimizerSet & operator=(const BopSolverOptimizerSet &from)
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_backtracks_in_ls() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static constexpr OptimizerType OBJECTIVE_FIRST_SOLUTION
void UnsafeArenaSwap(BopOptimizerMethod *other)
void set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr OptimizerType OptimizerType_MIN
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MAX
void set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value)
BopParameters & operator=(const BopParameters &from)
void set_default_solver_optimizer_sets(ArgT0 &&arg0, ArgT... args)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static constexpr OptimizerType LINEAR_RELAXATION
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopOptimizerMethod_OptimizerType_descriptor()
static constexpr OptimizerType LP_FIRST_SOLUTION
static constexpr OptimizerType RANDOM_FIRST_SOLUTION
::operations_research::bop::BopOptimizerMethod_OptimizerType type() const
void set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value)
static const std::string & ThreadSynchronizationType_Name(T enum_t_value)
static const BopParameters & default_instance()
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_
PROTOBUF_MUST_USE_RESULT std::string * release_default_solver_optimizer_sets()
::PROTOBUF_NAMESPACE_ID::int32 max_num_decisions_in_ls() const
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopParametersDefaultTypeInternal _BopParameters_default_instance_
Collection of objects used to extend the Constraint Solver library.
static const BopOptimizerMethod * internal_default_instance()
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void UnsafeArenaSwap(BopSolverOptimizerSet *other)
static bool OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, OptimizerType *value)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
static const BopOptimizerMethod & default_instance()
static constexpr OptimizerType SAT_CORE_BASED
static constexpr OptimizerType USER_GUIDED_FIRST_SOLUTION
::PROTOBUF_NAMESPACE_ID::int32 number_of_solvers() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
friend void swap(BopOptimizerMethod &a, BopOptimizerMethod &b)
static constexpr OptimizerType OptimizerType_MAX
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_solution_generation() const
void MergeFrom(const BopParameters &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::operations_research::bop::BopOptimizerMethod * add_methods()
BopParameters & operator=(BopParameters &&from) noexcept
static bool ThreadSynchronizationType_IsValid(int value)
int64_t value
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
bool BopParameters_ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopParameters_ThreadSynchronizationType *value)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr ThreadSynchronizationType ThreadSynchronizationType_MAX
::operations_research::bop::BopSolverOptimizerSet * add_solver_optimizer_sets()
int64_t a
static constexpr ThreadSynchronizationType ThreadSynchronizationType_MIN