OR-Tools  9.0
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 < 3015000
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 3015008 < 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;
58 namespace operations_research {
59 namespace bop {
60 class BopOptimizerMethod;
61 struct BopOptimizerMethodDefaultTypeInternal;
62 extern BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_;
63 class BopParameters;
64 struct BopParametersDefaultTypeInternal;
65 extern BopParametersDefaultTypeInternal _BopParameters_default_instance_;
66 class BopSolverOptimizerSet;
67 struct BopSolverOptimizerSetDefaultTypeInternal;
68 extern BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_;
69 } // namespace bop
70 } // namespace operations_research
71 PROTOBUF_NAMESPACE_OPEN
72 template<> ::operations_research::bop::BopOptimizerMethod* Arena::CreateMaybeMessage<::operations_research::bop::BopOptimizerMethod>(Arena*);
73 template<> ::operations_research::bop::BopParameters* Arena::CreateMaybeMessage<::operations_research::bop::BopParameters>(Arena*);
74 template<> ::operations_research::bop::BopSolverOptimizerSet* Arena::CreateMaybeMessage<::operations_research::bop::BopSolverOptimizerSet>(Arena*);
75 PROTOBUF_NAMESPACE_CLOSE
76 namespace operations_research {
77 namespace bop {
78 
95 };
100 
101 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BopOptimizerMethod_OptimizerType_descriptor();
102 template<typename T>
103 inline const std::string& BopOptimizerMethod_OptimizerType_Name(T enum_t_value) {
106  "Incorrect type passed to function BopOptimizerMethod_OptimizerType_Name.");
107  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
109 }
111  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopOptimizerMethod_OptimizerType* value) {
112  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopOptimizerMethod_OptimizerType>(
114 }
119 };
124 
125 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BopParameters_ThreadSynchronizationType_descriptor();
126 template<typename T>
127 inline const std::string& BopParameters_ThreadSynchronizationType_Name(T enum_t_value) {
130  "Incorrect type passed to function BopParameters_ThreadSynchronizationType_Name.");
131  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
133 }
135  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopParameters_ThreadSynchronizationType* value) {
136  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopParameters_ThreadSynchronizationType>(
138 }
139 // ===================================================================
140 
141 class BopOptimizerMethod PROTOBUF_FINAL :
142  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopOptimizerMethod) */ {
143  public:
144  inline BopOptimizerMethod() : BopOptimizerMethod(nullptr) {}
146  explicit constexpr BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
147 
148  BopOptimizerMethod(const BopOptimizerMethod& from);
149  BopOptimizerMethod(BopOptimizerMethod&& from) noexcept
150  : BopOptimizerMethod() {
151  *this = ::std::move(from);
152  }
153 
154  inline BopOptimizerMethod& operator=(const BopOptimizerMethod& from) {
155  CopyFrom(from);
156  return *this;
157  }
158  inline BopOptimizerMethod& operator=(BopOptimizerMethod&& from) noexcept {
159  if (GetArena() == from.GetArena()) {
160  if (this != &from) 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 GetMetadataStatic().descriptor;
179  }
180  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
181  return GetMetadataStatic().reflection;
182  }
183  static const BopOptimizerMethod& default_instance() {
184  return *internal_default_instance();
185  }
186  static inline const BopOptimizerMethod* internal_default_instance() {
187  return reinterpret_cast<const BopOptimizerMethod*>(
189  }
190  static constexpr int kIndexInFileMessages =
191  0;
192 
193  friend void swap(BopOptimizerMethod& a, BopOptimizerMethod& b) {
194  a.Swap(&b);
195  }
196  inline void Swap(BopOptimizerMethod* other) {
197  if (other == this) return;
198  if (GetArena() == other->GetArena()) {
199  InternalSwap(other);
200  } else {
201  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
202  }
203  }
204  void UnsafeArenaSwap(BopOptimizerMethod* other) {
205  if (other == this) return;
206  GOOGLE_DCHECK(GetArena() == other->GetArena());
207  InternalSwap(other);
208  }
209 
210  // implements Message ----------------------------------------------
211 
212  inline BopOptimizerMethod* New() const final {
213  return CreateMaybeMessage<BopOptimizerMethod>(nullptr);
214  }
215 
216  BopOptimizerMethod* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
217  return CreateMaybeMessage<BopOptimizerMethod>(arena);
218  }
219  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
220  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
221  void CopyFrom(const BopOptimizerMethod& from);
222  void MergeFrom(const BopOptimizerMethod& from);
223  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
224  bool IsInitialized() const final;
225 
226  size_t ByteSizeLong() const final;
227  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
228  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
229  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
230  int GetCachedSize() const final { return _cached_size_.Get(); }
231 
232  private:
233  inline void SharedCtor();
234  inline void SharedDtor();
235  void SetCachedSize(int size) const final;
236  void InternalSwap(BopOptimizerMethod* other);
237  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
238  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
239  return "operations_research.bop.BopOptimizerMethod";
240  }
241  protected:
242  explicit BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::Arena* arena);
243  private:
244  static void ArenaDtor(void* object);
245  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
246  public:
247 
248  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
249  private:
250  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
252  }
253 
254  public:
255 
256  // nested types ----------------------------------------------------
257 
259  static constexpr OptimizerType SAT_CORE_BASED =
261  static constexpr OptimizerType SAT_LINEAR_SEARCH =
263  static constexpr OptimizerType LINEAR_RELAXATION =
265  static constexpr OptimizerType LOCAL_SEARCH =
267  static constexpr OptimizerType RANDOM_FIRST_SOLUTION =
269  static constexpr OptimizerType RANDOM_CONSTRAINT_LNS =
271  static constexpr OptimizerType RANDOM_VARIABLE_LNS =
273  static constexpr OptimizerType COMPLETE_LNS =
275  static constexpr OptimizerType LP_FIRST_SOLUTION =
277  static constexpr OptimizerType OBJECTIVE_FIRST_SOLUTION =
279  static constexpr OptimizerType USER_GUIDED_FIRST_SOLUTION =
281  static constexpr OptimizerType RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP =
283  static constexpr OptimizerType RANDOM_VARIABLE_LNS_GUIDED_BY_LP =
285  static constexpr OptimizerType RELATION_GRAPH_LNS =
287  static constexpr OptimizerType RELATION_GRAPH_LNS_GUIDED_BY_LP =
289  static inline bool OptimizerType_IsValid(int value) {
291  }
292  static constexpr OptimizerType OptimizerType_MIN =
294  static constexpr OptimizerType OptimizerType_MAX =
296  static constexpr int OptimizerType_ARRAYSIZE =
298  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
301  }
302  template<typename T>
303  static inline const std::string& OptimizerType_Name(T enum_t_value) {
304  static_assert(::std::is_same<T, OptimizerType>::value ||
306  "Incorrect type passed to function OptimizerType_Name.");
307  return BopOptimizerMethod_OptimizerType_Name(enum_t_value);
308  }
309  static inline bool OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
310  OptimizerType* value) {
312  }
313 
314  // accessors -------------------------------------------------------
315 
316  enum : int {
317  kTypeFieldNumber = 1,
318  };
319  // optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
320  bool has_type() const;
321  private:
322  bool _internal_has_type() const;
323  public:
324  void clear_type();
327  private:
330  public:
331 
332  // @@protoc_insertion_point(class_scope:operations_research.bop.BopOptimizerMethod)
333  private:
334  class _Internal;
335 
336  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
337  typedef void InternalArenaConstructable_;
338  typedef void DestructorSkippable_;
339  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
340  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
341  int type_;
342  friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
343 };
344 // -------------------------------------------------------------------
345 
346 class BopSolverOptimizerSet PROTOBUF_FINAL :
347  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopSolverOptimizerSet) */ {
348  public:
349  inline BopSolverOptimizerSet() : BopSolverOptimizerSet(nullptr) {}
351  explicit constexpr BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
352 
353  BopSolverOptimizerSet(const BopSolverOptimizerSet& from);
354  BopSolverOptimizerSet(BopSolverOptimizerSet&& from) noexcept
355  : BopSolverOptimizerSet() {
356  *this = ::std::move(from);
357  }
358 
359  inline BopSolverOptimizerSet& operator=(const BopSolverOptimizerSet& from) {
360  CopyFrom(from);
361  return *this;
362  }
363  inline BopSolverOptimizerSet& operator=(BopSolverOptimizerSet&& from) noexcept {
364  if (GetArena() == from.GetArena()) {
365  if (this != &from) InternalSwap(&from);
366  } else {
367  CopyFrom(from);
368  }
369  return *this;
370  }
371 
372  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
373  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
374  }
375  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
376  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
377  }
378 
379  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
380  return GetDescriptor();
381  }
382  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
383  return GetMetadataStatic().descriptor;
384  }
385  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
386  return GetMetadataStatic().reflection;
387  }
388  static const BopSolverOptimizerSet& default_instance() {
389  return *internal_default_instance();
390  }
391  static inline const BopSolverOptimizerSet* internal_default_instance() {
392  return reinterpret_cast<const BopSolverOptimizerSet*>(
394  }
395  static constexpr int kIndexInFileMessages =
396  1;
397 
398  friend void swap(BopSolverOptimizerSet& a, BopSolverOptimizerSet& b) {
399  a.Swap(&b);
400  }
401  inline void Swap(BopSolverOptimizerSet* other) {
402  if (other == this) return;
403  if (GetArena() == other->GetArena()) {
404  InternalSwap(other);
405  } else {
406  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
407  }
408  }
409  void UnsafeArenaSwap(BopSolverOptimizerSet* other) {
410  if (other == this) return;
411  GOOGLE_DCHECK(GetArena() == other->GetArena());
412  InternalSwap(other);
413  }
414 
415  // implements Message ----------------------------------------------
416 
417  inline BopSolverOptimizerSet* New() const final {
418  return CreateMaybeMessage<BopSolverOptimizerSet>(nullptr);
419  }
420 
421  BopSolverOptimizerSet* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
422  return CreateMaybeMessage<BopSolverOptimizerSet>(arena);
423  }
424  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
425  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
426  void CopyFrom(const BopSolverOptimizerSet& from);
427  void MergeFrom(const BopSolverOptimizerSet& from);
428  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
429  bool IsInitialized() const final;
430 
431  size_t ByteSizeLong() const final;
432  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
433  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
434  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
435  int GetCachedSize() const final { return _cached_size_.Get(); }
436 
437  private:
438  inline void SharedCtor();
439  inline void SharedDtor();
440  void SetCachedSize(int size) const final;
441  void InternalSwap(BopSolverOptimizerSet* other);
442  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
443  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
444  return "operations_research.bop.BopSolverOptimizerSet";
445  }
446  protected:
447  explicit BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::Arena* arena);
448  private:
449  static void ArenaDtor(void* object);
450  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
451  public:
452 
453  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
454  private:
455  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
457  }
458 
459  public:
460 
461  // nested types ----------------------------------------------------
462 
463  // accessors -------------------------------------------------------
464 
465  enum : int {
466  kMethodsFieldNumber = 1,
467  };
468  // repeated .operations_research.bop.BopOptimizerMethod methods = 1;
469  int methods_size() const;
470  private:
471  int _internal_methods_size() const;
472  public:
474  ::operations_research::bop::BopOptimizerMethod* mutable_methods(int index);
475  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
477  private:
478  const ::operations_research::bop::BopOptimizerMethod& _internal_methods(int index) const;
479  ::operations_research::bop::BopOptimizerMethod* _internal_add_methods();
480  public:
481  const ::operations_research::bop::BopOptimizerMethod& methods(int index) const;
482  ::operations_research::bop::BopOptimizerMethod* add_methods();
483  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
484  methods() const;
485 
486  // @@protoc_insertion_point(class_scope:operations_research.bop.BopSolverOptimizerSet)
487  private:
488  class _Internal;
489 
490  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
491  typedef void InternalArenaConstructable_;
492  typedef void DestructorSkippable_;
493  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
494  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
495  friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
496 };
497 // -------------------------------------------------------------------
498 
499 class BopParameters PROTOBUF_FINAL :
500  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopParameters) */ {
501  public:
502  inline BopParameters() : BopParameters(nullptr) {}
503  virtual ~BopParameters();
504  explicit constexpr BopParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
505 
506  BopParameters(const BopParameters& from);
507  BopParameters(BopParameters&& from) noexcept
508  : BopParameters() {
509  *this = ::std::move(from);
510  }
511 
512  inline BopParameters& operator=(const BopParameters& from) {
513  CopyFrom(from);
514  return *this;
515  }
516  inline BopParameters& operator=(BopParameters&& from) noexcept {
517  if (GetArena() == from.GetArena()) {
518  if (this != &from) InternalSwap(&from);
519  } else {
520  CopyFrom(from);
521  }
522  return *this;
523  }
524 
525  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
526  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
527  }
528  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
529  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
530  }
531 
532  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
533  return GetDescriptor();
534  }
535  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
536  return GetMetadataStatic().descriptor;
537  }
538  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
539  return GetMetadataStatic().reflection;
540  }
541  static const BopParameters& default_instance() {
542  return *internal_default_instance();
543  }
544  static inline const BopParameters* internal_default_instance() {
545  return reinterpret_cast<const BopParameters*>(
547  }
548  static constexpr int kIndexInFileMessages =
549  2;
550 
551  friend void swap(BopParameters& a, BopParameters& b) {
552  a.Swap(&b);
553  }
554  inline void Swap(BopParameters* other) {
555  if (other == this) return;
556  if (GetArena() == other->GetArena()) {
557  InternalSwap(other);
558  } else {
559  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
560  }
561  }
562  void UnsafeArenaSwap(BopParameters* other) {
563  if (other == this) return;
564  GOOGLE_DCHECK(GetArena() == other->GetArena());
565  InternalSwap(other);
566  }
567 
568  // implements Message ----------------------------------------------
569 
570  inline BopParameters* New() const final {
571  return CreateMaybeMessage<BopParameters>(nullptr);
572  }
573 
574  BopParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
575  return CreateMaybeMessage<BopParameters>(arena);
576  }
577  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
578  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
579  void CopyFrom(const BopParameters& from);
580  void MergeFrom(const BopParameters& from);
581  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
582  bool IsInitialized() const final;
583 
584  size_t ByteSizeLong() const final;
585  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
586  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
587  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
588  int GetCachedSize() const final { return _cached_size_.Get(); }
589 
590  private:
591  inline void SharedCtor();
592  inline void SharedDtor();
593  void SetCachedSize(int size) const final;
594  void InternalSwap(BopParameters* other);
595  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
596  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
597  return "operations_research.bop.BopParameters";
598  }
599  protected:
600  explicit BopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
601  private:
602  static void ArenaDtor(void* object);
603  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
604  public:
605 
606  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
607  private:
608  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
610  }
611 
612  public:
613 
614  // nested types ----------------------------------------------------
615 
617  static constexpr ThreadSynchronizationType NO_SYNCHRONIZATION =
619  static constexpr ThreadSynchronizationType SYNCHRONIZE_ALL =
621  static constexpr ThreadSynchronizationType SYNCHRONIZE_ON_RIGHT =
623  static inline bool ThreadSynchronizationType_IsValid(int value) {
625  }
626  static constexpr ThreadSynchronizationType ThreadSynchronizationType_MIN =
628  static constexpr ThreadSynchronizationType ThreadSynchronizationType_MAX =
630  static constexpr int ThreadSynchronizationType_ARRAYSIZE =
632  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
635  }
636  template<typename T>
637  static inline const std::string& ThreadSynchronizationType_Name(T enum_t_value) {
640  "Incorrect type passed to function ThreadSynchronizationType_Name.");
642  }
643  static inline bool ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
646  }
647 
648  // accessors -------------------------------------------------------
649 
650  enum : int {
651  kSolverOptimizerSetsFieldNumber = 26,
652  kDefaultSolverOptimizerSetsFieldNumber = 33,
653  kLogSearchProgressFieldNumber = 14,
654  kPruneSearchTreeFieldNumber = 4,
655  kSortConstraintsByNumTermsFieldNumber = 5,
656  kUseSymmetryFieldNumber = 17,
657  kSynchronizationTypeFieldNumber = 25,
658  kMaxNumberOfConsecutiveFailingOptimizerCallsFieldNumber = 35,
659  kExploitSymmetryInSatFirstSolutionFieldNumber = 40,
660  kUsePotentialOneFlipRepairsInLsFieldNumber = 39,
661  kUseLpStrongBranchingFieldNumber = 29,
662  kDecomposedProblemMinTimeInSecondsFieldNumber = 36,
663  kMaxLpSolveForFeasibilityProblemsFieldNumber = 41,
664  kMaxTimeInSecondsFieldNumber = 1,
665  kMaxNumDecisionsInLsFieldNumber = 2,
666  kRandomSeedFieldNumber = 7,
667  kNumRelaxedVarsFieldNumber = 8,
668  kMaxNumberOfConflictsInRandomLnsFieldNumber = 9,
669  kComputeEstimatedImpactFieldNumber = 3,
670  kUseRandomLnsFieldNumber = 6,
671  kUseLpLnsFieldNumber = 12,
672  kUseSatToChooseLnsNeighbourhoodFieldNumber = 15,
673  kNumRandomLnsTriesFieldNumber = 10,
674  kMaxNumberOfBacktracksInLsFieldNumber = 11,
675  kMaxNumberOfConflictsForQuickCheckFieldNumber = 16,
676  kMaxNumberOfConflictsInRandomSolutionGenerationFieldNumber = 20,
677  kMaxNumberOfExploredAssignmentsPerTryInLsFieldNumber = 21,
678  kUseTranspositionTableInLsFieldNumber = 22,
679  kUseLearnedBinaryClausesInLpFieldNumber = 23,
680  kNumberOfSolversFieldNumber = 24,
681  kMaxDeterministicTimeFieldNumber = 27,
682  kRelativeGapLimitFieldNumber = 28,
683  kDecomposerNumVariablesThresholdFieldNumber = 30,
684  kNumBopSolversUsedByDecompositionFieldNumber = 31,
685  kGuidedSatConflictsChunkFieldNumber = 34,
686  kMaxNumBrokenConstraintsInLsFieldNumber = 38,
687  kLpMaxDeterministicTimeFieldNumber = 37,
688  };
689  // repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
691  private:
692  int _internal_solver_optimizer_sets_size() const;
693  public:
695  ::operations_research::bop::BopSolverOptimizerSet* mutable_solver_optimizer_sets(int index);
696  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
698  private:
699  const ::operations_research::bop::BopSolverOptimizerSet& _internal_solver_optimizer_sets(int index) const;
700  ::operations_research::bop::BopSolverOptimizerSet* _internal_add_solver_optimizer_sets();
701  public:
702  const ::operations_research::bop::BopSolverOptimizerSet& solver_optimizer_sets(int index) const;
703  ::operations_research::bop::BopSolverOptimizerSet* add_solver_optimizer_sets();
704  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
706 
707  // 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 } "];
709  private:
710  bool _internal_has_default_solver_optimizer_sets() const;
711  public:
713  const std::string& default_solver_optimizer_sets() const;
714  void set_default_solver_optimizer_sets(const std::string& value);
717  void set_default_solver_optimizer_sets(const char* value, size_t size);
720  void set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets);
721  private:
722  const std::string& _internal_default_solver_optimizer_sets() const;
723  void _internal_set_default_solver_optimizer_sets(const std::string& value);
724  std::string* _internal_mutable_default_solver_optimizer_sets();
725  public:
726 
727  // optional bool log_search_progress = 14 [default = false];
729  private:
730  bool _internal_has_log_search_progress() const;
731  public:
733  bool log_search_progress() const;
735  private:
736  bool _internal_log_search_progress() const;
737  void _internal_set_log_search_progress(bool value);
738  public:
739 
740  // optional bool prune_search_tree = 4 [default = false];
741  bool has_prune_search_tree() const;
742  private:
743  bool _internal_has_prune_search_tree() const;
744  public:
746  bool prune_search_tree() const;
748  private:
749  bool _internal_prune_search_tree() const;
750  void _internal_set_prune_search_tree(bool value);
751  public:
752 
753  // optional bool sort_constraints_by_num_terms = 5 [default = false];
755  private:
756  bool _internal_has_sort_constraints_by_num_terms() const;
757  public:
761  private:
762  bool _internal_sort_constraints_by_num_terms() const;
763  void _internal_set_sort_constraints_by_num_terms(bool value);
764  public:
765 
766  // optional bool use_symmetry = 17 [default = false];
767  bool has_use_symmetry() const;
768  private:
769  bool _internal_has_use_symmetry() const;
770  public:
772  bool use_symmetry() const;
774  private:
775  bool _internal_use_symmetry() const;
776  void _internal_set_use_symmetry(bool value);
777  public:
778 
779  // optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
781  private:
782  bool _internal_has_synchronization_type() const;
783  public:
787  private:
788  ::operations_research::bop::BopParameters_ThreadSynchronizationType _internal_synchronization_type() const;
789  void _internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value);
790  public:
791 
792  // optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
794  private:
795  bool _internal_has_max_number_of_consecutive_failing_optimizer_calls() const;
796  public:
798  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_consecutive_failing_optimizer_calls() const;
799  void set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value);
800  private:
801  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_consecutive_failing_optimizer_calls() const;
802  void _internal_set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value);
803  public:
804 
805  // optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
807  private:
808  bool _internal_has_exploit_symmetry_in_sat_first_solution() const;
809  public:
813  private:
814  bool _internal_exploit_symmetry_in_sat_first_solution() const;
815  void _internal_set_exploit_symmetry_in_sat_first_solution(bool value);
816  public:
817 
818  // optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
820  private:
821  bool _internal_has_use_potential_one_flip_repairs_in_ls() const;
822  public:
826  private:
827  bool _internal_use_potential_one_flip_repairs_in_ls() const;
828  void _internal_set_use_potential_one_flip_repairs_in_ls(bool value);
829  public:
830 
831  // optional bool use_lp_strong_branching = 29 [default = false];
833  private:
834  bool _internal_has_use_lp_strong_branching() const;
835  public:
839  private:
840  bool _internal_use_lp_strong_branching() const;
841  void _internal_set_use_lp_strong_branching(bool value);
842  public:
843 
844  // optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
846  private:
847  bool _internal_has_decomposed_problem_min_time_in_seconds() const;
848  public:
852  private:
853  double _internal_decomposed_problem_min_time_in_seconds() const;
854  void _internal_set_decomposed_problem_min_time_in_seconds(double value);
855  public:
856 
857  // optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
859  private:
860  bool _internal_has_max_lp_solve_for_feasibility_problems() const;
861  public:
863  ::PROTOBUF_NAMESPACE_ID::int32 max_lp_solve_for_feasibility_problems() const;
864  void set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value);
865  private:
866  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_lp_solve_for_feasibility_problems() const;
867  void _internal_set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value);
868  public:
869 
870  // optional double max_time_in_seconds = 1 [default = inf];
872  private:
873  bool _internal_has_max_time_in_seconds() const;
874  public:
876  double max_time_in_seconds() const;
878  private:
879  double _internal_max_time_in_seconds() const;
880  void _internal_set_max_time_in_seconds(double value);
881  public:
882 
883  // optional int32 max_num_decisions_in_ls = 2 [default = 4];
885  private:
886  bool _internal_has_max_num_decisions_in_ls() const;
887  public:
889  ::PROTOBUF_NAMESPACE_ID::int32 max_num_decisions_in_ls() const;
890  void set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value);
891  private:
892  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_num_decisions_in_ls() const;
893  void _internal_set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value);
894  public:
895 
896  // optional int32 random_seed = 7 [default = 8];
897  bool has_random_seed() const;
898  private:
899  bool _internal_has_random_seed() const;
900  public:
902  ::PROTOBUF_NAMESPACE_ID::int32 random_seed() const;
903  void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
904  private:
905  ::PROTOBUF_NAMESPACE_ID::int32 _internal_random_seed() const;
906  void _internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
907  public:
908 
909  // optional int32 num_relaxed_vars = 8 [default = 10];
910  bool has_num_relaxed_vars() const;
911  private:
912  bool _internal_has_num_relaxed_vars() const;
913  public:
915  ::PROTOBUF_NAMESPACE_ID::int32 num_relaxed_vars() const;
916  void set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
917  private:
918  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_relaxed_vars() const;
919  void _internal_set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
920  public:
921 
922  // optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
924  private:
925  bool _internal_has_max_number_of_conflicts_in_random_lns() const;
926  public:
928  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_lns() const;
929  void set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value);
930  private:
931  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_conflicts_in_random_lns() const;
932  void _internal_set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value);
933  public:
934 
935  // optional bool compute_estimated_impact = 3 [default = true];
937  private:
938  bool _internal_has_compute_estimated_impact() const;
939  public:
943  private:
944  bool _internal_compute_estimated_impact() const;
945  void _internal_set_compute_estimated_impact(bool value);
946  public:
947 
948  // optional bool use_random_lns = 6 [default = true];
949  bool has_use_random_lns() const;
950  private:
951  bool _internal_has_use_random_lns() const;
952  public:
954  bool use_random_lns() const;
956  private:
957  bool _internal_use_random_lns() const;
958  void _internal_set_use_random_lns(bool value);
959  public:
960 
961  // optional bool use_lp_lns = 12 [default = true];
962  bool has_use_lp_lns() const;
963  private:
964  bool _internal_has_use_lp_lns() const;
965  public:
967  bool use_lp_lns() const;
968  void set_use_lp_lns(bool value);
969  private:
970  bool _internal_use_lp_lns() const;
971  void _internal_set_use_lp_lns(bool value);
972  public:
973 
974  // optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
976  private:
977  bool _internal_has_use_sat_to_choose_lns_neighbourhood() const;
978  public:
982  private:
983  bool _internal_use_sat_to_choose_lns_neighbourhood() const;
984  void _internal_set_use_sat_to_choose_lns_neighbourhood(bool value);
985  public:
986 
987  // optional int32 num_random_lns_tries = 10 [default = 1];
989  private:
990  bool _internal_has_num_random_lns_tries() const;
991  public:
993  ::PROTOBUF_NAMESPACE_ID::int32 num_random_lns_tries() const;
994  void set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value);
995  private:
996  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_random_lns_tries() const;
997  void _internal_set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value);
998  public:
999 
1000  // optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1002  private:
1003  bool _internal_has_max_number_of_backtracks_in_ls() const;
1004  public:
1006  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_backtracks_in_ls() const;
1007  void set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value);
1008  private:
1009  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_number_of_backtracks_in_ls() const;
1010  void _internal_set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value);
1011  public:
1012 
1013  // optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1015  private:
1016  bool _internal_has_max_number_of_conflicts_for_quick_check() const;
1017  public:
1019  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_for_quick_check() const;
1020  void set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value);
1021  private:
1022  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_conflicts_for_quick_check() const;
1023  void _internal_set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value);
1024  public:
1025 
1026  // optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
1028  private:
1029  bool _internal_has_max_number_of_conflicts_in_random_solution_generation() const;
1030  public:
1032  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_solution_generation() const;
1034  private:
1035  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_conflicts_in_random_solution_generation() const;
1036  void _internal_set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value);
1037  public:
1038 
1039  // optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
1041  private:
1042  bool _internal_has_max_number_of_explored_assignments_per_try_in_ls() const;
1043  public:
1045  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_explored_assignments_per_try_in_ls() const;
1046  void set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value);
1047  private:
1048  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_number_of_explored_assignments_per_try_in_ls() const;
1049  void _internal_set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value);
1050  public:
1051 
1052  // optional bool use_transposition_table_in_ls = 22 [default = true];
1054  private:
1055  bool _internal_has_use_transposition_table_in_ls() const;
1056  public:
1060  private:
1061  bool _internal_use_transposition_table_in_ls() const;
1062  void _internal_set_use_transposition_table_in_ls(bool value);
1063  public:
1064 
1065  // optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
1067  private:
1068  bool _internal_has_use_learned_binary_clauses_in_lp() const;
1069  public:
1073  private:
1074  bool _internal_use_learned_binary_clauses_in_lp() const;
1075  void _internal_set_use_learned_binary_clauses_in_lp(bool value);
1076  public:
1077 
1078  // optional int32 number_of_solvers = 24 [default = 1];
1080  private:
1081  bool _internal_has_number_of_solvers() const;
1082  public:
1084  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solvers() const;
1085  void set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value);
1086  private:
1087  ::PROTOBUF_NAMESPACE_ID::int32 _internal_number_of_solvers() const;
1088  void _internal_set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value);
1089  public:
1090 
1091  // optional double max_deterministic_time = 27 [default = inf];
1093  private:
1094  bool _internal_has_max_deterministic_time() const;
1095  public:
1097  double max_deterministic_time() const;
1099  private:
1100  double _internal_max_deterministic_time() const;
1101  void _internal_set_max_deterministic_time(double value);
1102  public:
1103 
1104  // optional double relative_gap_limit = 28 [default = 0.0001];
1106  private:
1107  bool _internal_has_relative_gap_limit() const;
1108  public:
1110  double relative_gap_limit() const;
1112  private:
1113  double _internal_relative_gap_limit() const;
1114  void _internal_set_relative_gap_limit(double value);
1115  public:
1116 
1117  // optional int32 decomposer_num_variables_threshold = 30 [default = 50];
1119  private:
1120  bool _internal_has_decomposer_num_variables_threshold() const;
1121  public:
1123  ::PROTOBUF_NAMESPACE_ID::int32 decomposer_num_variables_threshold() const;
1124  void set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value);
1125  private:
1126  ::PROTOBUF_NAMESPACE_ID::int32 _internal_decomposer_num_variables_threshold() const;
1127  void _internal_set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value);
1128  public:
1129 
1130  // optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
1132  private:
1133  bool _internal_has_num_bop_solvers_used_by_decomposition() const;
1134  public:
1136  ::PROTOBUF_NAMESPACE_ID::int32 num_bop_solvers_used_by_decomposition() const;
1137  void set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value);
1138  private:
1139  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_bop_solvers_used_by_decomposition() const;
1140  void _internal_set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value);
1141  public:
1142 
1143  // optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
1145  private:
1146  bool _internal_has_guided_sat_conflicts_chunk() const;
1147  public:
1149  ::PROTOBUF_NAMESPACE_ID::int32 guided_sat_conflicts_chunk() const;
1150  void set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value);
1151  private:
1152  ::PROTOBUF_NAMESPACE_ID::int32 _internal_guided_sat_conflicts_chunk() const;
1153  void _internal_set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value);
1154  public:
1155 
1156  // optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1158  private:
1159  bool _internal_has_max_num_broken_constraints_in_ls() const;
1160  public:
1162  ::PROTOBUF_NAMESPACE_ID::int32 max_num_broken_constraints_in_ls() const;
1163  void set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value);
1164  private:
1165  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_num_broken_constraints_in_ls() const;
1166  void _internal_set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value);
1167  public:
1168 
1169  // optional double lp_max_deterministic_time = 37 [default = 1];
1171  private:
1172  bool _internal_has_lp_max_deterministic_time() const;
1173  public:
1177  private:
1178  double _internal_lp_max_deterministic_time() const;
1179  void _internal_set_lp_max_deterministic_time(double value);
1180  public:
1181 
1182  // @@protoc_insertion_point(class_scope:operations_research.bop.BopParameters)
1183  private:
1184  class _Internal;
1185 
1186  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1187  typedef void InternalArenaConstructable_;
1188  typedef void DestructorSkippable_;
1189  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1190  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1191  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1192  static const ::PROTOBUF_NAMESPACE_ID::internal::LazyString _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_;
1193  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_solver_optimizer_sets_;
1194  bool log_search_progress_;
1195  bool prune_search_tree_;
1196  bool sort_constraints_by_num_terms_;
1197  bool use_symmetry_;
1198  int synchronization_type_;
1199  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_consecutive_failing_optimizer_calls_;
1200  bool exploit_symmetry_in_sat_first_solution_;
1201  bool use_potential_one_flip_repairs_in_ls_;
1202  bool use_lp_strong_branching_;
1203  double decomposed_problem_min_time_in_seconds_;
1204  ::PROTOBUF_NAMESPACE_ID::int32 max_lp_solve_for_feasibility_problems_;
1205  double max_time_in_seconds_;
1206  ::PROTOBUF_NAMESPACE_ID::int32 max_num_decisions_in_ls_;
1207  ::PROTOBUF_NAMESPACE_ID::int32 random_seed_;
1208  ::PROTOBUF_NAMESPACE_ID::int32 num_relaxed_vars_;
1209  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_lns_;
1210  bool compute_estimated_impact_;
1211  bool use_random_lns_;
1212  bool use_lp_lns_;
1213  bool use_sat_to_choose_lns_neighbourhood_;
1214  ::PROTOBUF_NAMESPACE_ID::int32 num_random_lns_tries_;
1215  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_backtracks_in_ls_;
1216  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_for_quick_check_;
1217  ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_solution_generation_;
1218  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_explored_assignments_per_try_in_ls_;
1219  bool use_transposition_table_in_ls_;
1220  bool use_learned_binary_clauses_in_lp_;
1221  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solvers_;
1222  double max_deterministic_time_;
1223  double relative_gap_limit_;
1224  ::PROTOBUF_NAMESPACE_ID::int32 decomposer_num_variables_threshold_;
1225  ::PROTOBUF_NAMESPACE_ID::int32 num_bop_solvers_used_by_decomposition_;
1226  ::PROTOBUF_NAMESPACE_ID::int32 guided_sat_conflicts_chunk_;
1227  ::PROTOBUF_NAMESPACE_ID::int32 max_num_broken_constraints_in_ls_;
1228  double lp_max_deterministic_time_;
1229  friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1230 };
1231 // ===================================================================
1232 
1233 
1234 // ===================================================================
1235 
1236 #ifdef __GNUC__
1237  #pragma GCC diagnostic push
1238  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1239 #endif // __GNUC__
1240 // BopOptimizerMethod
1241 
1242 // optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
1243 inline bool BopOptimizerMethod::_internal_has_type() const {
1244  bool value = (_has_bits_[0] & 0x00000001u) != 0;
1245  return value;
1246 }
1247 inline bool BopOptimizerMethod::has_type() const {
1248  return _internal_has_type();
1249 }
1250 inline void BopOptimizerMethod::clear_type() {
1251  type_ = 0;
1252  _has_bits_[0] &= ~0x00000001u;
1253 }
1254 inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::_internal_type() const {
1255  return static_cast< ::operations_research::bop::BopOptimizerMethod_OptimizerType >(type_);
1256 }
1258  // @@protoc_insertion_point(field_get:operations_research.bop.BopOptimizerMethod.type)
1259  return _internal_type();
1260 }
1261 inline void BopOptimizerMethod::_internal_set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value) {
1263  _has_bits_[0] |= 0x00000001u;
1264  type_ = value;
1265 }
1266 inline void BopOptimizerMethod::set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value) {
1267  _internal_set_type(value);
1268  // @@protoc_insertion_point(field_set:operations_research.bop.BopOptimizerMethod.type)
1269 }
1270 
1271 // -------------------------------------------------------------------
1272 
1273 // BopSolverOptimizerSet
1274 
1275 // repeated .operations_research.bop.BopOptimizerMethod methods = 1;
1276 inline int BopSolverOptimizerSet::_internal_methods_size() const {
1277  return methods_.size();
1278 }
1279 inline int BopSolverOptimizerSet::methods_size() const {
1280  return _internal_methods_size();
1281 }
1282 inline void BopSolverOptimizerSet::clear_methods() {
1283  methods_.Clear();
1284 }
1285 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::mutable_methods(int index) {
1286  // @@protoc_insertion_point(field_mutable:operations_research.bop.BopSolverOptimizerSet.methods)
1287  return methods_.Mutable(index);
1288 }
1289 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
1290 BopSolverOptimizerSet::mutable_methods() {
1291  // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopSolverOptimizerSet.methods)
1292  return &methods_;
1293 }
1294 inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::_internal_methods(int index) const {
1295  return methods_.Get(index);
1296 }
1297 inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::methods(int index) const {
1298  // @@protoc_insertion_point(field_get:operations_research.bop.BopSolverOptimizerSet.methods)
1299  return _internal_methods(index);
1300 }
1301 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::_internal_add_methods() {
1302  return methods_.Add();
1303 }
1304 inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::add_methods() {
1305  // @@protoc_insertion_point(field_add:operations_research.bop.BopSolverOptimizerSet.methods)
1306  return _internal_add_methods();
1307 }
1308 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
1309 BopSolverOptimizerSet::methods() const {
1310  // @@protoc_insertion_point(field_list:operations_research.bop.BopSolverOptimizerSet.methods)
1311  return methods_;
1312 }
1313 
1314 // -------------------------------------------------------------------
1315 
1316 // BopParameters
1317 
1318 // optional double max_time_in_seconds = 1 [default = inf];
1319 inline bool BopParameters::_internal_has_max_time_in_seconds() const {
1320  bool value = (_has_bits_[0] & 0x00001000u) != 0;
1321  return value;
1322 }
1323 inline bool BopParameters::has_max_time_in_seconds() const {
1324  return _internal_has_max_time_in_seconds();
1325 }
1326 inline void BopParameters::clear_max_time_in_seconds() {
1327  max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1328  _has_bits_[0] &= ~0x00001000u;
1329 }
1330 inline double BopParameters::_internal_max_time_in_seconds() const {
1331  return max_time_in_seconds_;
1332 }
1333 inline double BopParameters::max_time_in_seconds() const {
1334  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_time_in_seconds)
1335  return _internal_max_time_in_seconds();
1336 }
1337 inline void BopParameters::_internal_set_max_time_in_seconds(double value) {
1338  _has_bits_[0] |= 0x00001000u;
1339  max_time_in_seconds_ = value;
1340 }
1341 inline void BopParameters::set_max_time_in_seconds(double value) {
1342  _internal_set_max_time_in_seconds(value);
1343  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_time_in_seconds)
1344 }
1345 
1346 // optional double max_deterministic_time = 27 [default = inf];
1347 inline bool BopParameters::_internal_has_max_deterministic_time() const {
1348  bool value = (_has_bits_[0] & 0x20000000u) != 0;
1349  return value;
1350 }
1351 inline bool BopParameters::has_max_deterministic_time() const {
1352  return _internal_has_max_deterministic_time();
1353 }
1354 inline void BopParameters::clear_max_deterministic_time() {
1355  max_deterministic_time_ = std::numeric_limits<double>::infinity();
1356  _has_bits_[0] &= ~0x20000000u;
1357 }
1358 inline double BopParameters::_internal_max_deterministic_time() const {
1359  return max_deterministic_time_;
1360 }
1361 inline double BopParameters::max_deterministic_time() const {
1362  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_deterministic_time)
1363  return _internal_max_deterministic_time();
1364 }
1365 inline void BopParameters::_internal_set_max_deterministic_time(double value) {
1366  _has_bits_[0] |= 0x20000000u;
1367  max_deterministic_time_ = value;
1368 }
1369 inline void BopParameters::set_max_deterministic_time(double value) {
1370  _internal_set_max_deterministic_time(value);
1371  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_deterministic_time)
1372 }
1373 
1374 // optional double lp_max_deterministic_time = 37 [default = 1];
1375 inline bool BopParameters::_internal_has_lp_max_deterministic_time() const {
1376  bool value = (_has_bits_[1] & 0x00000008u) != 0;
1377  return value;
1378 }
1379 inline bool BopParameters::has_lp_max_deterministic_time() const {
1380  return _internal_has_lp_max_deterministic_time();
1381 }
1382 inline void BopParameters::clear_lp_max_deterministic_time() {
1383  lp_max_deterministic_time_ = 1;
1384  _has_bits_[1] &= ~0x00000008u;
1385 }
1386 inline double BopParameters::_internal_lp_max_deterministic_time() const {
1387  return lp_max_deterministic_time_;
1388 }
1389 inline double BopParameters::lp_max_deterministic_time() const {
1390  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.lp_max_deterministic_time)
1391  return _internal_lp_max_deterministic_time();
1392 }
1393 inline void BopParameters::_internal_set_lp_max_deterministic_time(double value) {
1394  _has_bits_[1] |= 0x00000008u;
1395  lp_max_deterministic_time_ = value;
1396 }
1397 inline void BopParameters::set_lp_max_deterministic_time(double value) {
1398  _internal_set_lp_max_deterministic_time(value);
1399  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.lp_max_deterministic_time)
1400 }
1401 
1402 // optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
1403 inline bool BopParameters::_internal_has_max_number_of_consecutive_failing_optimizer_calls() const {
1404  bool value = (_has_bits_[0] & 0x00000040u) != 0;
1405  return value;
1406 }
1407 inline bool BopParameters::has_max_number_of_consecutive_failing_optimizer_calls() const {
1408  return _internal_has_max_number_of_consecutive_failing_optimizer_calls();
1409 }
1410 inline void BopParameters::clear_max_number_of_consecutive_failing_optimizer_calls() {
1411  max_number_of_consecutive_failing_optimizer_calls_ = 0;
1412  _has_bits_[0] &= ~0x00000040u;
1413 }
1414 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_consecutive_failing_optimizer_calls() const {
1415  return max_number_of_consecutive_failing_optimizer_calls_;
1416 }
1417 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_consecutive_failing_optimizer_calls() const {
1418  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1419  return _internal_max_number_of_consecutive_failing_optimizer_calls();
1420 }
1421 inline void BopParameters::_internal_set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1422  _has_bits_[0] |= 0x00000040u;
1423  max_number_of_consecutive_failing_optimizer_calls_ = value;
1424 }
1425 inline void BopParameters::set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1426  _internal_set_max_number_of_consecutive_failing_optimizer_calls(value);
1427  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1428 }
1429 
1430 // optional double relative_gap_limit = 28 [default = 0.0001];
1431 inline bool BopParameters::_internal_has_relative_gap_limit() const {
1432  bool value = (_has_bits_[0] & 0x40000000u) != 0;
1433  return value;
1434 }
1435 inline bool BopParameters::has_relative_gap_limit() const {
1436  return _internal_has_relative_gap_limit();
1437 }
1438 inline void BopParameters::clear_relative_gap_limit() {
1439  relative_gap_limit_ = 0.0001;
1440  _has_bits_[0] &= ~0x40000000u;
1441 }
1442 inline double BopParameters::_internal_relative_gap_limit() const {
1443  return relative_gap_limit_;
1444 }
1445 inline double BopParameters::relative_gap_limit() const {
1446  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.relative_gap_limit)
1447  return _internal_relative_gap_limit();
1448 }
1449 inline void BopParameters::_internal_set_relative_gap_limit(double value) {
1450  _has_bits_[0] |= 0x40000000u;
1451  relative_gap_limit_ = value;
1452 }
1453 inline void BopParameters::set_relative_gap_limit(double value) {
1454  _internal_set_relative_gap_limit(value);
1455  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.relative_gap_limit)
1456 }
1457 
1458 // optional int32 max_num_decisions_in_ls = 2 [default = 4];
1459 inline bool BopParameters::_internal_has_max_num_decisions_in_ls() const {
1460  bool value = (_has_bits_[0] & 0x00002000u) != 0;
1461  return value;
1462 }
1463 inline bool BopParameters::has_max_num_decisions_in_ls() const {
1464  return _internal_has_max_num_decisions_in_ls();
1465 }
1466 inline void BopParameters::clear_max_num_decisions_in_ls() {
1467  max_num_decisions_in_ls_ = 4;
1468  _has_bits_[0] &= ~0x00002000u;
1469 }
1470 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_num_decisions_in_ls() const {
1471  return max_num_decisions_in_ls_;
1472 }
1473 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_num_decisions_in_ls() const {
1474  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1475  return _internal_max_num_decisions_in_ls();
1476 }
1477 inline void BopParameters::_internal_set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1478  _has_bits_[0] |= 0x00002000u;
1479  max_num_decisions_in_ls_ = value;
1480 }
1481 inline void BopParameters::set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1482  _internal_set_max_num_decisions_in_ls(value);
1483  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1484 }
1485 
1486 // optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1487 inline bool BopParameters::_internal_has_max_num_broken_constraints_in_ls() const {
1488  bool value = (_has_bits_[1] & 0x00000004u) != 0;
1489  return value;
1490 }
1491 inline bool BopParameters::has_max_num_broken_constraints_in_ls() const {
1492  return _internal_has_max_num_broken_constraints_in_ls();
1493 }
1494 inline void BopParameters::clear_max_num_broken_constraints_in_ls() {
1495  max_num_broken_constraints_in_ls_ = 2147483647;
1496  _has_bits_[1] &= ~0x00000004u;
1497 }
1498 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_num_broken_constraints_in_ls() const {
1499  return max_num_broken_constraints_in_ls_;
1500 }
1501 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_num_broken_constraints_in_ls() const {
1502  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1503  return _internal_max_num_broken_constraints_in_ls();
1504 }
1505 inline void BopParameters::_internal_set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1506  _has_bits_[1] |= 0x00000004u;
1507  max_num_broken_constraints_in_ls_ = value;
1508 }
1509 inline void BopParameters::set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) {
1510  _internal_set_max_num_broken_constraints_in_ls(value);
1511  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1512 }
1513 
1514 // optional bool log_search_progress = 14 [default = false];
1515 inline bool BopParameters::_internal_has_log_search_progress() const {
1516  bool value = (_has_bits_[0] & 0x00000002u) != 0;
1517  return value;
1518 }
1519 inline bool BopParameters::has_log_search_progress() const {
1520  return _internal_has_log_search_progress();
1521 }
1522 inline void BopParameters::clear_log_search_progress() {
1523  log_search_progress_ = false;
1524  _has_bits_[0] &= ~0x00000002u;
1525 }
1526 inline bool BopParameters::_internal_log_search_progress() const {
1527  return log_search_progress_;
1528 }
1529 inline bool BopParameters::log_search_progress() const {
1530  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.log_search_progress)
1531  return _internal_log_search_progress();
1532 }
1533 inline void BopParameters::_internal_set_log_search_progress(bool value) {
1534  _has_bits_[0] |= 0x00000002u;
1535  log_search_progress_ = value;
1536 }
1537 inline void BopParameters::set_log_search_progress(bool value) {
1538  _internal_set_log_search_progress(value);
1539  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.log_search_progress)
1540 }
1541 
1542 // optional bool compute_estimated_impact = 3 [default = true];
1543 inline bool BopParameters::_internal_has_compute_estimated_impact() const {
1544  bool value = (_has_bits_[0] & 0x00020000u) != 0;
1545  return value;
1546 }
1547 inline bool BopParameters::has_compute_estimated_impact() const {
1548  return _internal_has_compute_estimated_impact();
1549 }
1550 inline void BopParameters::clear_compute_estimated_impact() {
1551  compute_estimated_impact_ = true;
1552  _has_bits_[0] &= ~0x00020000u;
1553 }
1554 inline bool BopParameters::_internal_compute_estimated_impact() const {
1555  return compute_estimated_impact_;
1556 }
1557 inline bool BopParameters::compute_estimated_impact() const {
1558  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.compute_estimated_impact)
1559  return _internal_compute_estimated_impact();
1560 }
1561 inline void BopParameters::_internal_set_compute_estimated_impact(bool value) {
1562  _has_bits_[0] |= 0x00020000u;
1563  compute_estimated_impact_ = value;
1564 }
1565 inline void BopParameters::set_compute_estimated_impact(bool value) {
1566  _internal_set_compute_estimated_impact(value);
1567  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.compute_estimated_impact)
1568 }
1569 
1570 // optional bool prune_search_tree = 4 [default = false];
1571 inline bool BopParameters::_internal_has_prune_search_tree() const {
1572  bool value = (_has_bits_[0] & 0x00000004u) != 0;
1573  return value;
1574 }
1575 inline bool BopParameters::has_prune_search_tree() const {
1576  return _internal_has_prune_search_tree();
1577 }
1578 inline void BopParameters::clear_prune_search_tree() {
1579  prune_search_tree_ = false;
1580  _has_bits_[0] &= ~0x00000004u;
1581 }
1582 inline bool BopParameters::_internal_prune_search_tree() const {
1583  return prune_search_tree_;
1584 }
1585 inline bool BopParameters::prune_search_tree() const {
1586  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.prune_search_tree)
1587  return _internal_prune_search_tree();
1588 }
1589 inline void BopParameters::_internal_set_prune_search_tree(bool value) {
1590  _has_bits_[0] |= 0x00000004u;
1591  prune_search_tree_ = value;
1592 }
1593 inline void BopParameters::set_prune_search_tree(bool value) {
1594  _internal_set_prune_search_tree(value);
1595  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.prune_search_tree)
1596 }
1597 
1598 // optional bool sort_constraints_by_num_terms = 5 [default = false];
1599 inline bool BopParameters::_internal_has_sort_constraints_by_num_terms() const {
1600  bool value = (_has_bits_[0] & 0x00000008u) != 0;
1601  return value;
1602 }
1603 inline bool BopParameters::has_sort_constraints_by_num_terms() const {
1604  return _internal_has_sort_constraints_by_num_terms();
1605 }
1606 inline void BopParameters::clear_sort_constraints_by_num_terms() {
1607  sort_constraints_by_num_terms_ = false;
1608  _has_bits_[0] &= ~0x00000008u;
1609 }
1610 inline bool BopParameters::_internal_sort_constraints_by_num_terms() const {
1611  return sort_constraints_by_num_terms_;
1612 }
1613 inline bool BopParameters::sort_constraints_by_num_terms() const {
1614  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1615  return _internal_sort_constraints_by_num_terms();
1616 }
1617 inline void BopParameters::_internal_set_sort_constraints_by_num_terms(bool value) {
1618  _has_bits_[0] |= 0x00000008u;
1619  sort_constraints_by_num_terms_ = value;
1620 }
1621 inline void BopParameters::set_sort_constraints_by_num_terms(bool value) {
1622  _internal_set_sort_constraints_by_num_terms(value);
1623  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1624 }
1625 
1626 // optional bool use_random_lns = 6 [default = true];
1627 inline bool BopParameters::_internal_has_use_random_lns() const {
1628  bool value = (_has_bits_[0] & 0x00040000u) != 0;
1629  return value;
1630 }
1631 inline bool BopParameters::has_use_random_lns() const {
1632  return _internal_has_use_random_lns();
1633 }
1634 inline void BopParameters::clear_use_random_lns() {
1635  use_random_lns_ = true;
1636  _has_bits_[0] &= ~0x00040000u;
1637 }
1638 inline bool BopParameters::_internal_use_random_lns() const {
1639  return use_random_lns_;
1640 }
1641 inline bool BopParameters::use_random_lns() const {
1642  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_random_lns)
1643  return _internal_use_random_lns();
1644 }
1645 inline void BopParameters::_internal_set_use_random_lns(bool value) {
1646  _has_bits_[0] |= 0x00040000u;
1647  use_random_lns_ = value;
1648 }
1649 inline void BopParameters::set_use_random_lns(bool value) {
1650  _internal_set_use_random_lns(value);
1651  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_random_lns)
1652 }
1653 
1654 // optional int32 random_seed = 7 [default = 8];
1655 inline bool BopParameters::_internal_has_random_seed() const {
1656  bool value = (_has_bits_[0] & 0x00004000u) != 0;
1657  return value;
1658 }
1659 inline bool BopParameters::has_random_seed() const {
1660  return _internal_has_random_seed();
1661 }
1662 inline void BopParameters::clear_random_seed() {
1663  random_seed_ = 8;
1664  _has_bits_[0] &= ~0x00004000u;
1665 }
1666 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_random_seed() const {
1667  return random_seed_;
1668 }
1669 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::random_seed() const {
1670  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.random_seed)
1671  return _internal_random_seed();
1672 }
1673 inline void BopParameters::_internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
1674  _has_bits_[0] |= 0x00004000u;
1675  random_seed_ = value;
1676 }
1677 inline void BopParameters::set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
1678  _internal_set_random_seed(value);
1679  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.random_seed)
1680 }
1681 
1682 // optional int32 num_relaxed_vars = 8 [default = 10];
1683 inline bool BopParameters::_internal_has_num_relaxed_vars() const {
1684  bool value = (_has_bits_[0] & 0x00008000u) != 0;
1685  return value;
1686 }
1687 inline bool BopParameters::has_num_relaxed_vars() const {
1688  return _internal_has_num_relaxed_vars();
1689 }
1690 inline void BopParameters::clear_num_relaxed_vars() {
1691  num_relaxed_vars_ = 10;
1692  _has_bits_[0] &= ~0x00008000u;
1693 }
1694 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_num_relaxed_vars() const {
1695  return num_relaxed_vars_;
1696 }
1697 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::num_relaxed_vars() const {
1698  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_relaxed_vars)
1699  return _internal_num_relaxed_vars();
1700 }
1701 inline void BopParameters::_internal_set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
1702  _has_bits_[0] |= 0x00008000u;
1703  num_relaxed_vars_ = value;
1704 }
1705 inline void BopParameters::set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
1706  _internal_set_num_relaxed_vars(value);
1707  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_relaxed_vars)
1708 }
1709 
1710 // optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
1711 inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_lns() const {
1712  bool value = (_has_bits_[0] & 0x00010000u) != 0;
1713  return value;
1714 }
1715 inline bool BopParameters::has_max_number_of_conflicts_in_random_lns() const {
1716  return _internal_has_max_number_of_conflicts_in_random_lns();
1717 }
1718 inline void BopParameters::clear_max_number_of_conflicts_in_random_lns() {
1719  max_number_of_conflicts_in_random_lns_ = 2500;
1720  _has_bits_[0] &= ~0x00010000u;
1721 }
1722 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_conflicts_in_random_lns() const {
1723  return max_number_of_conflicts_in_random_lns_;
1724 }
1725 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_conflicts_in_random_lns() const {
1726  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1727  return _internal_max_number_of_conflicts_in_random_lns();
1728 }
1729 inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value) {
1730  _has_bits_[0] |= 0x00010000u;
1731  max_number_of_conflicts_in_random_lns_ = value;
1732 }
1733 inline void BopParameters::set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value) {
1734  _internal_set_max_number_of_conflicts_in_random_lns(value);
1735  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1736 }
1737 
1738 // optional int32 num_random_lns_tries = 10 [default = 1];
1739 inline bool BopParameters::_internal_has_num_random_lns_tries() const {
1740  bool value = (_has_bits_[0] & 0x00200000u) != 0;
1741  return value;
1742 }
1743 inline bool BopParameters::has_num_random_lns_tries() const {
1744  return _internal_has_num_random_lns_tries();
1745 }
1746 inline void BopParameters::clear_num_random_lns_tries() {
1747  num_random_lns_tries_ = 1;
1748  _has_bits_[0] &= ~0x00200000u;
1749 }
1750 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_num_random_lns_tries() const {
1751  return num_random_lns_tries_;
1752 }
1753 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::num_random_lns_tries() const {
1754  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_random_lns_tries)
1755  return _internal_num_random_lns_tries();
1756 }
1757 inline void BopParameters::_internal_set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value) {
1758  _has_bits_[0] |= 0x00200000u;
1759  num_random_lns_tries_ = value;
1760 }
1761 inline void BopParameters::set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value) {
1762  _internal_set_num_random_lns_tries(value);
1763  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_random_lns_tries)
1764 }
1765 
1766 // optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1767 inline bool BopParameters::_internal_has_max_number_of_backtracks_in_ls() const {
1768  bool value = (_has_bits_[0] & 0x00400000u) != 0;
1769  return value;
1770 }
1771 inline bool BopParameters::has_max_number_of_backtracks_in_ls() const {
1772  return _internal_has_max_number_of_backtracks_in_ls();
1773 }
1774 inline void BopParameters::clear_max_number_of_backtracks_in_ls() {
1775  max_number_of_backtracks_in_ls_ = PROTOBUF_LONGLONG(100000000);
1776  _has_bits_[0] &= ~0x00400000u;
1777 }
1778 inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::_internal_max_number_of_backtracks_in_ls() const {
1779  return max_number_of_backtracks_in_ls_;
1780 }
1781 inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::max_number_of_backtracks_in_ls() const {
1782  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1783  return _internal_max_number_of_backtracks_in_ls();
1784 }
1785 inline void BopParameters::_internal_set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) {
1786  _has_bits_[0] |= 0x00400000u;
1787  max_number_of_backtracks_in_ls_ = value;
1788 }
1789 inline void BopParameters::set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) {
1790  _internal_set_max_number_of_backtracks_in_ls(value);
1791  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1792 }
1793 
1794 // optional bool use_lp_lns = 12 [default = true];
1795 inline bool BopParameters::_internal_has_use_lp_lns() const {
1796  bool value = (_has_bits_[0] & 0x00080000u) != 0;
1797  return value;
1798 }
1799 inline bool BopParameters::has_use_lp_lns() const {
1800  return _internal_has_use_lp_lns();
1801 }
1802 inline void BopParameters::clear_use_lp_lns() {
1803  use_lp_lns_ = true;
1804  _has_bits_[0] &= ~0x00080000u;
1805 }
1806 inline bool BopParameters::_internal_use_lp_lns() const {
1807  return use_lp_lns_;
1808 }
1809 inline bool BopParameters::use_lp_lns() const {
1810  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_lns)
1811  return _internal_use_lp_lns();
1812 }
1813 inline void BopParameters::_internal_set_use_lp_lns(bool value) {
1814  _has_bits_[0] |= 0x00080000u;
1815  use_lp_lns_ = value;
1816 }
1817 inline void BopParameters::set_use_lp_lns(bool value) {
1818  _internal_set_use_lp_lns(value);
1819  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_lns)
1820 }
1821 
1822 // optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
1823 inline bool BopParameters::_internal_has_use_sat_to_choose_lns_neighbourhood() const {
1824  bool value = (_has_bits_[0] & 0x00100000u) != 0;
1825  return value;
1826 }
1827 inline bool BopParameters::has_use_sat_to_choose_lns_neighbourhood() const {
1828  return _internal_has_use_sat_to_choose_lns_neighbourhood();
1829 }
1830 inline void BopParameters::clear_use_sat_to_choose_lns_neighbourhood() {
1831  use_sat_to_choose_lns_neighbourhood_ = true;
1832  _has_bits_[0] &= ~0x00100000u;
1833 }
1834 inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood() const {
1835  return use_sat_to_choose_lns_neighbourhood_;
1836 }
1837 inline bool BopParameters::use_sat_to_choose_lns_neighbourhood() const {
1838  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1839  return _internal_use_sat_to_choose_lns_neighbourhood();
1840 }
1841 inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(bool value) {
1842  _has_bits_[0] |= 0x00100000u;
1843  use_sat_to_choose_lns_neighbourhood_ = value;
1844 }
1845 inline void BopParameters::set_use_sat_to_choose_lns_neighbourhood(bool value) {
1846  _internal_set_use_sat_to_choose_lns_neighbourhood(value);
1847  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1848 }
1849 
1850 // optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1851 inline bool BopParameters::_internal_has_max_number_of_conflicts_for_quick_check() const {
1852  bool value = (_has_bits_[0] & 0x00800000u) != 0;
1853  return value;
1854 }
1855 inline bool BopParameters::has_max_number_of_conflicts_for_quick_check() const {
1856  return _internal_has_max_number_of_conflicts_for_quick_check();
1857 }
1858 inline void BopParameters::clear_max_number_of_conflicts_for_quick_check() {
1859  max_number_of_conflicts_for_quick_check_ = 10;
1860  _has_bits_[0] &= ~0x00800000u;
1861 }
1862 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_conflicts_for_quick_check() const {
1863  return max_number_of_conflicts_for_quick_check_;
1864 }
1865 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_conflicts_for_quick_check() const {
1866  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1867  return _internal_max_number_of_conflicts_for_quick_check();
1868 }
1869 inline void BopParameters::_internal_set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value) {
1870  _has_bits_[0] |= 0x00800000u;
1871  max_number_of_conflicts_for_quick_check_ = value;
1872 }
1873 inline void BopParameters::set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value) {
1874  _internal_set_max_number_of_conflicts_for_quick_check(value);
1875  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1876 }
1877 
1878 // optional bool use_symmetry = 17 [default = false];
1879 inline bool BopParameters::_internal_has_use_symmetry() const {
1880  bool value = (_has_bits_[0] & 0x00000010u) != 0;
1881  return value;
1882 }
1883 inline bool BopParameters::has_use_symmetry() const {
1884  return _internal_has_use_symmetry();
1885 }
1886 inline void BopParameters::clear_use_symmetry() {
1887  use_symmetry_ = false;
1888  _has_bits_[0] &= ~0x00000010u;
1889 }
1890 inline bool BopParameters::_internal_use_symmetry() const {
1891  return use_symmetry_;
1892 }
1893 inline bool BopParameters::use_symmetry() const {
1894  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_symmetry)
1895  return _internal_use_symmetry();
1896 }
1897 inline void BopParameters::_internal_set_use_symmetry(bool value) {
1898  _has_bits_[0] |= 0x00000010u;
1899  use_symmetry_ = value;
1900 }
1901 inline void BopParameters::set_use_symmetry(bool value) {
1902  _internal_set_use_symmetry(value);
1903  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_symmetry)
1904 }
1905 
1906 // optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
1907 inline bool BopParameters::_internal_has_exploit_symmetry_in_sat_first_solution() const {
1908  bool value = (_has_bits_[0] & 0x00000080u) != 0;
1909  return value;
1910 }
1911 inline bool BopParameters::has_exploit_symmetry_in_sat_first_solution() const {
1912  return _internal_has_exploit_symmetry_in_sat_first_solution();
1913 }
1914 inline void BopParameters::clear_exploit_symmetry_in_sat_first_solution() {
1915  exploit_symmetry_in_sat_first_solution_ = false;
1916  _has_bits_[0] &= ~0x00000080u;
1917 }
1918 inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution() const {
1919  return exploit_symmetry_in_sat_first_solution_;
1920 }
1921 inline bool BopParameters::exploit_symmetry_in_sat_first_solution() const {
1922  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
1923  return _internal_exploit_symmetry_in_sat_first_solution();
1924 }
1925 inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(bool value) {
1926  _has_bits_[0] |= 0x00000080u;
1927  exploit_symmetry_in_sat_first_solution_ = value;
1928 }
1929 inline void BopParameters::set_exploit_symmetry_in_sat_first_solution(bool value) {
1930  _internal_set_exploit_symmetry_in_sat_first_solution(value);
1931  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
1932 }
1933 
1934 // optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
1935 inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_solution_generation() const {
1936  bool value = (_has_bits_[0] & 0x01000000u) != 0;
1937  return value;
1938 }
1939 inline bool BopParameters::has_max_number_of_conflicts_in_random_solution_generation() const {
1940  return _internal_has_max_number_of_conflicts_in_random_solution_generation();
1941 }
1942 inline void BopParameters::clear_max_number_of_conflicts_in_random_solution_generation() {
1943  max_number_of_conflicts_in_random_solution_generation_ = 500;
1944  _has_bits_[0] &= ~0x01000000u;
1945 }
1946 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_conflicts_in_random_solution_generation() const {
1947  return max_number_of_conflicts_in_random_solution_generation_;
1948 }
1949 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_conflicts_in_random_solution_generation() const {
1950  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
1951  return _internal_max_number_of_conflicts_in_random_solution_generation();
1952 }
1953 inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value) {
1954  _has_bits_[0] |= 0x01000000u;
1955  max_number_of_conflicts_in_random_solution_generation_ = value;
1956 }
1957 inline void BopParameters::set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value) {
1958  _internal_set_max_number_of_conflicts_in_random_solution_generation(value);
1959  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
1960 }
1961 
1962 // optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
1963 inline bool BopParameters::_internal_has_max_number_of_explored_assignments_per_try_in_ls() const {
1964  bool value = (_has_bits_[0] & 0x02000000u) != 0;
1965  return value;
1966 }
1967 inline bool BopParameters::has_max_number_of_explored_assignments_per_try_in_ls() const {
1968  return _internal_has_max_number_of_explored_assignments_per_try_in_ls();
1969 }
1970 inline void BopParameters::clear_max_number_of_explored_assignments_per_try_in_ls() {
1971  max_number_of_explored_assignments_per_try_in_ls_ = PROTOBUF_LONGLONG(10000);
1972  _has_bits_[0] &= ~0x02000000u;
1973 }
1974 inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::_internal_max_number_of_explored_assignments_per_try_in_ls() const {
1975  return max_number_of_explored_assignments_per_try_in_ls_;
1976 }
1977 inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::max_number_of_explored_assignments_per_try_in_ls() const {
1978  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
1979  return _internal_max_number_of_explored_assignments_per_try_in_ls();
1980 }
1981 inline void BopParameters::_internal_set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) {
1982  _has_bits_[0] |= 0x02000000u;
1983  max_number_of_explored_assignments_per_try_in_ls_ = value;
1984 }
1985 inline void BopParameters::set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) {
1986  _internal_set_max_number_of_explored_assignments_per_try_in_ls(value);
1987  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
1988 }
1989 
1990 // optional bool use_transposition_table_in_ls = 22 [default = true];
1991 inline bool BopParameters::_internal_has_use_transposition_table_in_ls() const {
1992  bool value = (_has_bits_[0] & 0x04000000u) != 0;
1993  return value;
1994 }
1995 inline bool BopParameters::has_use_transposition_table_in_ls() const {
1996  return _internal_has_use_transposition_table_in_ls();
1997 }
1998 inline void BopParameters::clear_use_transposition_table_in_ls() {
1999  use_transposition_table_in_ls_ = true;
2000  _has_bits_[0] &= ~0x04000000u;
2001 }
2002 inline bool BopParameters::_internal_use_transposition_table_in_ls() const {
2003  return use_transposition_table_in_ls_;
2004 }
2005 inline bool BopParameters::use_transposition_table_in_ls() const {
2006  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2007  return _internal_use_transposition_table_in_ls();
2008 }
2009 inline void BopParameters::_internal_set_use_transposition_table_in_ls(bool value) {
2010  _has_bits_[0] |= 0x04000000u;
2011  use_transposition_table_in_ls_ = value;
2012 }
2013 inline void BopParameters::set_use_transposition_table_in_ls(bool value) {
2014  _internal_set_use_transposition_table_in_ls(value);
2015  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2016 }
2017 
2018 // optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
2019 inline bool BopParameters::_internal_has_use_potential_one_flip_repairs_in_ls() const {
2020  bool value = (_has_bits_[0] & 0x00000100u) != 0;
2021  return value;
2022 }
2023 inline bool BopParameters::has_use_potential_one_flip_repairs_in_ls() const {
2024  return _internal_has_use_potential_one_flip_repairs_in_ls();
2025 }
2026 inline void BopParameters::clear_use_potential_one_flip_repairs_in_ls() {
2027  use_potential_one_flip_repairs_in_ls_ = false;
2028  _has_bits_[0] &= ~0x00000100u;
2029 }
2030 inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls() const {
2031  return use_potential_one_flip_repairs_in_ls_;
2032 }
2033 inline bool BopParameters::use_potential_one_flip_repairs_in_ls() const {
2034  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2035  return _internal_use_potential_one_flip_repairs_in_ls();
2036 }
2037 inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(bool value) {
2038  _has_bits_[0] |= 0x00000100u;
2039  use_potential_one_flip_repairs_in_ls_ = value;
2040 }
2041 inline void BopParameters::set_use_potential_one_flip_repairs_in_ls(bool value) {
2042  _internal_set_use_potential_one_flip_repairs_in_ls(value);
2043  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2044 }
2045 
2046 // optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
2047 inline bool BopParameters::_internal_has_use_learned_binary_clauses_in_lp() const {
2048  bool value = (_has_bits_[0] & 0x08000000u) != 0;
2049  return value;
2050 }
2051 inline bool BopParameters::has_use_learned_binary_clauses_in_lp() const {
2052  return _internal_has_use_learned_binary_clauses_in_lp();
2053 }
2054 inline void BopParameters::clear_use_learned_binary_clauses_in_lp() {
2055  use_learned_binary_clauses_in_lp_ = true;
2056  _has_bits_[0] &= ~0x08000000u;
2057 }
2058 inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp() const {
2059  return use_learned_binary_clauses_in_lp_;
2060 }
2061 inline bool BopParameters::use_learned_binary_clauses_in_lp() const {
2062  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2063  return _internal_use_learned_binary_clauses_in_lp();
2064 }
2065 inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(bool value) {
2066  _has_bits_[0] |= 0x08000000u;
2067  use_learned_binary_clauses_in_lp_ = value;
2068 }
2069 inline void BopParameters::set_use_learned_binary_clauses_in_lp(bool value) {
2070  _internal_set_use_learned_binary_clauses_in_lp(value);
2071  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2072 }
2073 
2074 // optional int32 number_of_solvers = 24 [default = 1];
2075 inline bool BopParameters::_internal_has_number_of_solvers() const {
2076  bool value = (_has_bits_[0] & 0x10000000u) != 0;
2077  return value;
2078 }
2079 inline bool BopParameters::has_number_of_solvers() const {
2080  return _internal_has_number_of_solvers();
2081 }
2082 inline void BopParameters::clear_number_of_solvers() {
2083  number_of_solvers_ = 1;
2084  _has_bits_[0] &= ~0x10000000u;
2085 }
2086 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_number_of_solvers() const {
2087  return number_of_solvers_;
2088 }
2089 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::number_of_solvers() const {
2090  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.number_of_solvers)
2091  return _internal_number_of_solvers();
2092 }
2093 inline void BopParameters::_internal_set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value) {
2094  _has_bits_[0] |= 0x10000000u;
2095  number_of_solvers_ = value;
2096 }
2097 inline void BopParameters::set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value) {
2098  _internal_set_number_of_solvers(value);
2099  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.number_of_solvers)
2100 }
2101 
2102 // optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
2103 inline bool BopParameters::_internal_has_synchronization_type() const {
2104  bool value = (_has_bits_[0] & 0x00000020u) != 0;
2105  return value;
2106 }
2107 inline bool BopParameters::has_synchronization_type() const {
2108  return _internal_has_synchronization_type();
2109 }
2110 inline void BopParameters::clear_synchronization_type() {
2111  synchronization_type_ = 0;
2112  _has_bits_[0] &= ~0x00000020u;
2113 }
2114 inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::_internal_synchronization_type() const {
2115  return static_cast< ::operations_research::bop::BopParameters_ThreadSynchronizationType >(synchronization_type_);
2116 }
2117 inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::synchronization_type() const {
2118  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.synchronization_type)
2119  return _internal_synchronization_type();
2120 }
2121 inline void BopParameters::_internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value) {
2123  _has_bits_[0] |= 0x00000020u;
2124  synchronization_type_ = value;
2125 }
2126 inline void BopParameters::set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value) {
2127  _internal_set_synchronization_type(value);
2128  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.synchronization_type)
2129 }
2130 
2131 // repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
2132 inline int BopParameters::_internal_solver_optimizer_sets_size() const {
2133  return solver_optimizer_sets_.size();
2134 }
2135 inline int BopParameters::solver_optimizer_sets_size() const {
2136  return _internal_solver_optimizer_sets_size();
2137 }
2138 inline void BopParameters::clear_solver_optimizer_sets() {
2139  solver_optimizer_sets_.Clear();
2140 }
2141 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::mutable_solver_optimizer_sets(int index) {
2142  // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.solver_optimizer_sets)
2143  return solver_optimizer_sets_.Mutable(index);
2144 }
2145 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
2146 BopParameters::mutable_solver_optimizer_sets() {
2147  // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2148  return &solver_optimizer_sets_;
2149 }
2150 inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::_internal_solver_optimizer_sets(int index) const {
2151  return solver_optimizer_sets_.Get(index);
2152 }
2153 inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::solver_optimizer_sets(int index) const {
2154  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.solver_optimizer_sets)
2155  return _internal_solver_optimizer_sets(index);
2156 }
2157 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::_internal_add_solver_optimizer_sets() {
2158  return solver_optimizer_sets_.Add();
2159 }
2160 inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::add_solver_optimizer_sets() {
2161  // @@protoc_insertion_point(field_add:operations_research.bop.BopParameters.solver_optimizer_sets)
2162  return _internal_add_solver_optimizer_sets();
2163 }
2164 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
2165 BopParameters::solver_optimizer_sets() const {
2166  // @@protoc_insertion_point(field_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2167  return solver_optimizer_sets_;
2168 }
2169 
2170 // 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 } "];
2171 inline bool BopParameters::_internal_has_default_solver_optimizer_sets() const {
2172  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2173  return value;
2174 }
2175 inline bool BopParameters::has_default_solver_optimizer_sets() const {
2176  return _internal_has_default_solver_optimizer_sets();
2177 }
2178 inline void BopParameters::clear_default_solver_optimizer_sets() {
2179  default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2180  _has_bits_[0] &= ~0x00000001u;
2181 }
2182 inline const std::string& BopParameters::default_solver_optimizer_sets() const {
2183  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2184  if (default_solver_optimizer_sets_.IsDefault(nullptr)) return _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get();
2185  return _internal_default_solver_optimizer_sets();
2186 }
2187 inline void BopParameters::set_default_solver_optimizer_sets(const std::string& value) {
2188  _internal_set_default_solver_optimizer_sets(value);
2189  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2190 }
2191 inline std::string* BopParameters::mutable_default_solver_optimizer_sets() {
2192  // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2193  return _internal_mutable_default_solver_optimizer_sets();
2194 }
2195 inline const std::string& BopParameters::_internal_default_solver_optimizer_sets() const {
2196  return default_solver_optimizer_sets_.Get();
2197 }
2198 inline void BopParameters::_internal_set_default_solver_optimizer_sets(const std::string& value) {
2199  _has_bits_[0] |= 0x00000001u;
2200  default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, value, GetArena());
2201 }
2202 inline void BopParameters::set_default_solver_optimizer_sets(std::string&& value) {
2203  _has_bits_[0] |= 0x00000001u;
2204  default_solver_optimizer_sets_.Set(
2205  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, ::std::move(value), GetArena());
2206  // @@protoc_insertion_point(field_set_rvalue:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2207 }
2208 inline void BopParameters::set_default_solver_optimizer_sets(const char* value) {
2209  GOOGLE_DCHECK(value != nullptr);
2210  _has_bits_[0] |= 0x00000001u;
2211  default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, ::std::string(value), GetArena());
2212  // @@protoc_insertion_point(field_set_char:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2213 }
2214 inline void BopParameters::set_default_solver_optimizer_sets(const char* value,
2215  size_t size) {
2216  _has_bits_[0] |= 0x00000001u;
2217  default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, ::std::string(
2218  reinterpret_cast<const char*>(value), size), GetArena());
2219  // @@protoc_insertion_point(field_set_pointer:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2220 }
2221 inline std::string* BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2222  _has_bits_[0] |= 0x00000001u;
2223  return default_solver_optimizer_sets_.Mutable(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2224 }
2225 inline std::string* BopParameters::release_default_solver_optimizer_sets() {
2226  // @@protoc_insertion_point(field_release:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2227  if (!_internal_has_default_solver_optimizer_sets()) {
2228  return nullptr;
2229  }
2230  _has_bits_[0] &= ~0x00000001u;
2231  return default_solver_optimizer_sets_.ReleaseNonDefault(nullptr, GetArena());
2232 }
2233 inline void BopParameters::set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets) {
2234  if (default_solver_optimizer_sets != nullptr) {
2235  _has_bits_[0] |= 0x00000001u;
2236  } else {
2237  _has_bits_[0] &= ~0x00000001u;
2238  }
2239  default_solver_optimizer_sets_.SetAllocated(nullptr, default_solver_optimizer_sets,
2240  GetArena());
2241  // @@protoc_insertion_point(field_set_allocated:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2242 }
2243 
2244 // optional bool use_lp_strong_branching = 29 [default = false];
2245 inline bool BopParameters::_internal_has_use_lp_strong_branching() const {
2246  bool value = (_has_bits_[0] & 0x00000200u) != 0;
2247  return value;
2248 }
2249 inline bool BopParameters::has_use_lp_strong_branching() const {
2250  return _internal_has_use_lp_strong_branching();
2251 }
2252 inline void BopParameters::clear_use_lp_strong_branching() {
2253  use_lp_strong_branching_ = false;
2254  _has_bits_[0] &= ~0x00000200u;
2255 }
2256 inline bool BopParameters::_internal_use_lp_strong_branching() const {
2257  return use_lp_strong_branching_;
2258 }
2259 inline bool BopParameters::use_lp_strong_branching() const {
2260  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_strong_branching)
2261  return _internal_use_lp_strong_branching();
2262 }
2263 inline void BopParameters::_internal_set_use_lp_strong_branching(bool value) {
2264  _has_bits_[0] |= 0x00000200u;
2265  use_lp_strong_branching_ = value;
2266 }
2267 inline void BopParameters::set_use_lp_strong_branching(bool value) {
2268  _internal_set_use_lp_strong_branching(value);
2269  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_strong_branching)
2270 }
2271 
2272 // optional int32 decomposer_num_variables_threshold = 30 [default = 50];
2273 inline bool BopParameters::_internal_has_decomposer_num_variables_threshold() const {
2274  bool value = (_has_bits_[0] & 0x80000000u) != 0;
2275  return value;
2276 }
2277 inline bool BopParameters::has_decomposer_num_variables_threshold() const {
2278  return _internal_has_decomposer_num_variables_threshold();
2279 }
2280 inline void BopParameters::clear_decomposer_num_variables_threshold() {
2281  decomposer_num_variables_threshold_ = 50;
2282  _has_bits_[0] &= ~0x80000000u;
2283 }
2284 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_decomposer_num_variables_threshold() const {
2285  return decomposer_num_variables_threshold_;
2286 }
2287 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::decomposer_num_variables_threshold() const {
2288  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2289  return _internal_decomposer_num_variables_threshold();
2290 }
2291 inline void BopParameters::_internal_set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
2292  _has_bits_[0] |= 0x80000000u;
2293  decomposer_num_variables_threshold_ = value;
2294 }
2295 inline void BopParameters::set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
2296  _internal_set_decomposer_num_variables_threshold(value);
2297  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2298 }
2299 
2300 // optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
2301 inline bool BopParameters::_internal_has_num_bop_solvers_used_by_decomposition() const {
2302  bool value = (_has_bits_[1] & 0x00000001u) != 0;
2303  return value;
2304 }
2305 inline bool BopParameters::has_num_bop_solvers_used_by_decomposition() const {
2306  return _internal_has_num_bop_solvers_used_by_decomposition();
2307 }
2308 inline void BopParameters::clear_num_bop_solvers_used_by_decomposition() {
2309  num_bop_solvers_used_by_decomposition_ = 1;
2310  _has_bits_[1] &= ~0x00000001u;
2311 }
2312 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_num_bop_solvers_used_by_decomposition() const {
2313  return num_bop_solvers_used_by_decomposition_;
2314 }
2315 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::num_bop_solvers_used_by_decomposition() const {
2316  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2317  return _internal_num_bop_solvers_used_by_decomposition();
2318 }
2319 inline void BopParameters::_internal_set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value) {
2320  _has_bits_[1] |= 0x00000001u;
2321  num_bop_solvers_used_by_decomposition_ = value;
2322 }
2323 inline void BopParameters::set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value) {
2324  _internal_set_num_bop_solvers_used_by_decomposition(value);
2325  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2326 }
2327 
2328 // optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
2329 inline bool BopParameters::_internal_has_decomposed_problem_min_time_in_seconds() const {
2330  bool value = (_has_bits_[0] & 0x00000400u) != 0;
2331  return value;
2332 }
2333 inline bool BopParameters::has_decomposed_problem_min_time_in_seconds() const {
2334  return _internal_has_decomposed_problem_min_time_in_seconds();
2335 }
2336 inline void BopParameters::clear_decomposed_problem_min_time_in_seconds() {
2337  decomposed_problem_min_time_in_seconds_ = 0;
2338  _has_bits_[0] &= ~0x00000400u;
2339 }
2340 inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds() const {
2341  return decomposed_problem_min_time_in_seconds_;
2342 }
2343 inline double BopParameters::decomposed_problem_min_time_in_seconds() const {
2344  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2345  return _internal_decomposed_problem_min_time_in_seconds();
2346 }
2347 inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(double value) {
2348  _has_bits_[0] |= 0x00000400u;
2349  decomposed_problem_min_time_in_seconds_ = value;
2350 }
2351 inline void BopParameters::set_decomposed_problem_min_time_in_seconds(double value) {
2352  _internal_set_decomposed_problem_min_time_in_seconds(value);
2353  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2354 }
2355 
2356 // optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
2357 inline bool BopParameters::_internal_has_guided_sat_conflicts_chunk() const {
2358  bool value = (_has_bits_[1] & 0x00000002u) != 0;
2359  return value;
2360 }
2361 inline bool BopParameters::has_guided_sat_conflicts_chunk() const {
2362  return _internal_has_guided_sat_conflicts_chunk();
2363 }
2364 inline void BopParameters::clear_guided_sat_conflicts_chunk() {
2365  guided_sat_conflicts_chunk_ = 1000;
2366  _has_bits_[1] &= ~0x00000002u;
2367 }
2368 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_guided_sat_conflicts_chunk() const {
2369  return guided_sat_conflicts_chunk_;
2370 }
2371 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::guided_sat_conflicts_chunk() const {
2372  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2373  return _internal_guided_sat_conflicts_chunk();
2374 }
2375 inline void BopParameters::_internal_set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value) {
2376  _has_bits_[1] |= 0x00000002u;
2377  guided_sat_conflicts_chunk_ = value;
2378 }
2379 inline void BopParameters::set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value) {
2380  _internal_set_guided_sat_conflicts_chunk(value);
2381  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2382 }
2383 
2384 // optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
2385 inline bool BopParameters::_internal_has_max_lp_solve_for_feasibility_problems() const {
2386  bool value = (_has_bits_[0] & 0x00000800u) != 0;
2387  return value;
2388 }
2389 inline bool BopParameters::has_max_lp_solve_for_feasibility_problems() const {
2390  return _internal_has_max_lp_solve_for_feasibility_problems();
2391 }
2392 inline void BopParameters::clear_max_lp_solve_for_feasibility_problems() {
2393  max_lp_solve_for_feasibility_problems_ = 0;
2394  _has_bits_[0] &= ~0x00000800u;
2395 }
2396 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_lp_solve_for_feasibility_problems() const {
2397  return max_lp_solve_for_feasibility_problems_;
2398 }
2399 inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_lp_solve_for_feasibility_problems() const {
2400  // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2401  return _internal_max_lp_solve_for_feasibility_problems();
2402 }
2403 inline void BopParameters::_internal_set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value) {
2404  _has_bits_[0] |= 0x00000800u;
2405  max_lp_solve_for_feasibility_problems_ = value;
2406 }
2407 inline void BopParameters::set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value) {
2408  _internal_set_max_lp_solve_for_feasibility_problems(value);
2409  // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2410 }
2411 
2412 #ifdef __GNUC__
2413  #pragma GCC diagnostic pop
2414 #endif // __GNUC__
2415 // -------------------------------------------------------------------
2416 
2417 // -------------------------------------------------------------------
2418 
2419 
2420 // @@protoc_insertion_point(namespace_scope)
2421 
2422 } // namespace bop
2423 } // namespace operations_research
2424 
2425 PROTOBUF_NAMESPACE_OPEN
2426 
2427 template <> struct is_proto_enum< ::operations_research::bop::BopOptimizerMethod_OptimizerType> : ::std::true_type {};
2428 template <>
2429 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopOptimizerMethod_OptimizerType>() {
2431 }
2432 template <> struct is_proto_enum< ::operations_research::bop::BopParameters_ThreadSynchronizationType> : ::std::true_type {};
2433 template <>
2434 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopParameters_ThreadSynchronizationType>() {
2436 }
2437 
2438 PROTOBUF_NAMESPACE_CLOSE
2439 
2440 // @@protoc_insertion_point(global_scope)
2441 
2442 #include <google/protobuf/port_undef.inc>
2443 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto_metadata_getter(int index)
void set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value)
BopParameters(BopParameters &&from) noexcept
BopOptimizerMethod(const BopOptimizerMethod &from)
void set_use_transposition_table_in_ls(bool value)
BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_lp_max_deterministic_time(double value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
BopSolverOptimizerSet & operator=(BopSolverOptimizerSet &&from) noexcept
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > * mutable_methods()
const ::operations_research::bop::BopSolverOptimizerSet & solver_optimizer_sets(int index) const
::PROTOBUF_NAMESPACE_ID::int32 number_of_solvers() const
::operations_research::bop::BopOptimizerMethod * mutable_methods(int index)
bool has_max_number_of_conflicts_in_random_solution_generation() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * OptimizerType_descriptor()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ThreadSynchronizationType_descriptor()
static const BopSolverOptimizerSet & default_instance()
static const BopOptimizerMethod * internal_default_instance()
void MergeFrom(const BopParameters &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void UnsafeArenaSwap(BopParameters *other)
void set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_default_solver_optimizer_sets(std::string &&value)
BopParameters & operator=(const BopParameters &from)
void CopyFrom(const BopParameters &from)
::PROTOBUF_NAMESPACE_ID::int32 num_random_lns_tries() const
BopOptimizerMethod_OptimizerType OptimizerType
void set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value)
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value)
BopSolverOptimizerSet(const BopSolverOptimizerSet &from)
constexpr BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
constexpr BopParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
BopOptimizerMethod & operator=(BopOptimizerMethod &&from) noexcept
BopOptimizerMethod(BopOptimizerMethod &&from) noexcept
void set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::bop::BopSolverOptimizerSet * add_solver_optimizer_sets()
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_explored_assignments_per_try_in_ls() const
static bool ThreadSynchronizationType_IsValid(int value)
::PROTOBUF_NAMESPACE_ID::int32 num_relaxed_vars() const
const std::string & default_solver_optimizer_sets() const
BopParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void set_decomposed_problem_min_time_in_seconds(double value)
::PROTOBUF_NAMESPACE_ID::int32 decomposer_num_variables_threshold() const
BopOptimizerMethod & operator=(const BopOptimizerMethod &from)
BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::Arena *arena)
BopOptimizerMethod * New() const final
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_backtracks_in_ls() const
::operations_research::bop::BopOptimizerMethod * add_methods()
BopParameters & operator=(BopParameters &&from) noexcept
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value)
void set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(BopOptimizerMethod *other)
void MergeFrom(const BopOptimizerMethod &from)
::operations_research::bop::BopSolverOptimizerSet * mutable_solver_optimizer_sets(int index)
BopParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void Swap(BopSolverOptimizerSet *other)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > & solver_optimizer_sets() const
void set_sort_constraints_by_num_terms(bool value)
void set_default_solver_optimizer_sets(const std::string &value)
void set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_consecutive_failing_optimizer_calls() const
friend void swap(BopSolverOptimizerSet &a, BopSolverOptimizerSet &b)
::PROTOBUF_NAMESPACE_ID::int32 num_bop_solvers_used_by_decomposition() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_lns() const
void CopyFrom(const BopSolverOptimizerSet &from)
void set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 max_lp_solve_for_feasibility_problems() const
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_for_quick_check() const
BopOptimizerMethod * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::PROTOBUF_NAMESPACE_ID::int32 random_seed() const
static bool OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, OptimizerType *value)
void set_use_potential_one_flip_repairs_in_ls(bool value)
friend void swap(BopOptimizerMethod &a, BopOptimizerMethod &b)
BopParameters_ThreadSynchronizationType ThreadSynchronizationType
const ::operations_research::bop::BopOptimizerMethod & methods(int index) const
void set_use_learned_binary_clauses_in_lp(bool value)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_exploit_symmetry_in_sat_first_solution(bool value)
void set_allocated_default_solver_optimizer_sets(std::string *default_solver_optimizer_sets)
void set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > & methods() const
::PROTOBUF_NAMESPACE_ID::int32 max_num_decisions_in_ls() const
::operations_research::bop::BopOptimizerMethod_OptimizerType type() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void set_default_solver_optimizer_sets(const char *value)
void CopyFrom(const BopOptimizerMethod &from)
static const BopParameters & default_instance()
BopSolverOptimizerSet * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
BopSolverOptimizerSet * New() const final
BopParameters(const BopParameters &from)
void set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value)
static const BopParameters * internal_default_instance()
void set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value)
static const std::string & OptimizerType_Name(T enum_t_value)
::PROTOBUF_NAMESPACE_ID::int32 max_num_broken_constraints_in_ls() const
friend void swap(BopParameters &a, BopParameters &b)
void set_default_solver_optimizer_sets(const char *value, size_t size)
void set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > * mutable_solver_optimizer_sets()
static const std::string & ThreadSynchronizationType_Name(T enum_t_value)
bool has_max_number_of_consecutive_failing_optimizer_calls() const
static const BopSolverOptimizerSet * internal_default_instance()
std::string * mutable_default_solver_optimizer_sets()
static bool ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ThreadSynchronizationType *value)
void MergeFrom(const BopSolverOptimizerSet &from)
BopSolverOptimizerSet(BopSolverOptimizerSet &&from) noexcept
void UnsafeArenaSwap(BopSolverOptimizerSet *other)
std::string * release_default_solver_optimizer_sets()
BopSolverOptimizerSet & operator=(const BopSolverOptimizerSet &from)
::PROTOBUF_NAMESPACE_ID::int32 guided_sat_conflicts_chunk() const
void set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value)
static const BopOptimizerMethod & default_instance()
constexpr BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void set_use_sat_to_choose_lns_neighbourhood(bool value)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_solution_generation() const
void Swap(BopOptimizerMethod *other)
::operations_research::bop::BopParameters_ThreadSynchronizationType synchronization_type() const
bool has_max_number_of_explored_assignments_per_try_in_ls() const
int64_t b
int64_t a
const std::string name
int64_t value
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopParametersDefaultTypeInternal _BopParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_
const std::string & BopOptimizerMethod_OptimizerType_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopParameters_ThreadSynchronizationType_descriptor()
bool BopOptimizerMethod_OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopOptimizerMethod_OptimizerType *value)
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MIN
bool BopOptimizerMethod_OptimizerType_IsValid(int value)
const std::string & BopParameters_ThreadSynchronizationType_Name(T enum_t_value)
bool BopParameters_ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopParameters_ThreadSynchronizationType *value)
constexpr int BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_ARRAYSIZE
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopOptimizerMethod_OptimizerType_descriptor()
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MAX
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MIN
constexpr int BopOptimizerMethod_OptimizerType_OptimizerType_ARRAYSIZE
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MAX
@ BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_RANDOM_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS
@ BopOptimizerMethod_OptimizerType_OBJECTIVE_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_USER_GUIDED_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS_GUIDED_BY_LP
@ BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT
@ BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION
bool BopParameters_ThreadSynchronizationType_IsValid(int value)
Collection of objects used to extend the Constraint Solver library.
int index
Definition: pack.cc:509
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]