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