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