OR-Tools  9.2
sat_parameters.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/sat/sat_parameters.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fsat_5fparameters_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fsat_5fparameters_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3019000
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 3019001 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
35 // @@protoc_insertion_point(includes)
36 #include <google/protobuf/port_def.inc>
37 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fsat_5fparameters_2eproto
38 PROTOBUF_NAMESPACE_OPEN
39 namespace internal {
40 class AnyMetadata;
41 } // namespace internal
42 PROTOBUF_NAMESPACE_CLOSE
43 
44 // Internal implementation detail -- do not use these members.
46  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
47  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
48  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
49  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
50  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
51  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
53  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
54  static const uint32_t offsets[];
55 };
56 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto;
57 namespace operations_research {
58 namespace sat {
59 class SatParameters;
60 struct SatParametersDefaultTypeInternal;
61 extern SatParametersDefaultTypeInternal _SatParameters_default_instance_;
62 } // namespace sat
63 } // namespace operations_research
64 PROTOBUF_NAMESPACE_OPEN
65 template<> ::operations_research::sat::SatParameters* Arena::CreateMaybeMessage<::operations_research::sat::SatParameters>(Arena*);
66 PROTOBUF_NAMESPACE_CLOSE
67 namespace operations_research {
68 namespace sat {
69 
74 };
79 
80 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_VariableOrder_descriptor();
81 template<typename T>
82 inline const std::string& SatParameters_VariableOrder_Name(T enum_t_value) {
85  "Incorrect type passed to function SatParameters_VariableOrder_Name.");
86  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
88 }
90  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_VariableOrder* value) {
91  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_VariableOrder>(
93 }
100 };
105 
106 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_Polarity_descriptor();
107 template<typename T>
108 inline const std::string& SatParameters_Polarity_Name(T enum_t_value) {
111  "Incorrect type passed to function SatParameters_Polarity_Name.");
112  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
113  SatParameters_Polarity_descriptor(), enum_t_value);
114 }
116  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_Polarity* value) {
117  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_Polarity>(
119 }
125 };
130 
131 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_ConflictMinimizationAlgorithm_descriptor();
132 template<typename T>
133 inline const std::string& SatParameters_ConflictMinimizationAlgorithm_Name(T enum_t_value) {
136  "Incorrect type passed to function SatParameters_ConflictMinimizationAlgorithm_Name.");
137  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
139 }
141  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ConflictMinimizationAlgorithm* value) {
142  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_ConflictMinimizationAlgorithm>(
144 }
151 };
156 
157 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_BinaryMinizationAlgorithm_descriptor();
158 template<typename T>
159 inline const std::string& SatParameters_BinaryMinizationAlgorithm_Name(T enum_t_value) {
162  "Incorrect type passed to function SatParameters_BinaryMinizationAlgorithm_Name.");
163  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
165 }
167  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_BinaryMinizationAlgorithm* value) {
168  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_BinaryMinizationAlgorithm>(
170 }
175 };
180 
181 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_ClauseProtection_descriptor();
182 template<typename T>
183 inline const std::string& SatParameters_ClauseProtection_Name(T enum_t_value) {
186  "Incorrect type passed to function SatParameters_ClauseProtection_Name.");
187  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
189 }
191  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ClauseProtection* value) {
192  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_ClauseProtection>(
194 }
198 };
203 
204 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_ClauseOrdering_descriptor();
205 template<typename T>
206 inline const std::string& SatParameters_ClauseOrdering_Name(T enum_t_value) {
209  "Incorrect type passed to function SatParameters_ClauseOrdering_Name.");
210  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
212 }
214  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ClauseOrdering* value) {
215  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_ClauseOrdering>(
217 }
224 };
229 
230 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_RestartAlgorithm_descriptor();
231 template<typename T>
232 inline const std::string& SatParameters_RestartAlgorithm_Name(T enum_t_value) {
235  "Incorrect type passed to function SatParameters_RestartAlgorithm_Name.");
236  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
238 }
240  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_RestartAlgorithm* value) {
241  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_RestartAlgorithm>(
243 }
248 };
253 
254 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_MaxSatAssumptionOrder_descriptor();
255 template<typename T>
256 inline const std::string& SatParameters_MaxSatAssumptionOrder_Name(T enum_t_value) {
259  "Incorrect type passed to function SatParameters_MaxSatAssumptionOrder_Name.");
260  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
262 }
264  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_MaxSatAssumptionOrder* value) {
265  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_MaxSatAssumptionOrder>(
267 }
272 };
277 
278 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_MaxSatStratificationAlgorithm_descriptor();
279 template<typename T>
280 inline const std::string& SatParameters_MaxSatStratificationAlgorithm_Name(T enum_t_value) {
283  "Incorrect type passed to function SatParameters_MaxSatStratificationAlgorithm_Name.");
284  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
286 }
288  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_MaxSatStratificationAlgorithm* value) {
289  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_MaxSatStratificationAlgorithm>(
291 }
300 };
305 
306 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_SearchBranching_descriptor();
307 template<typename T>
308 inline const std::string& SatParameters_SearchBranching_Name(T enum_t_value) {
311  "Incorrect type passed to function SatParameters_SearchBranching_Name.");
312  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
314 }
316  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_SearchBranching* value) {
317  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_SearchBranching>(
319 }
325 };
330 
331 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SatParameters_FPRoundingMethod_descriptor();
332 template<typename T>
333 inline const std::string& SatParameters_FPRoundingMethod_Name(T enum_t_value) {
336  "Incorrect type passed to function SatParameters_FPRoundingMethod_Name.");
337  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
339 }
341  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_FPRoundingMethod* value) {
342  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_FPRoundingMethod>(
344 }
345 // ===================================================================
346 
347 class SatParameters final :
348  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SatParameters) */ {
349  public:
350  inline SatParameters() : SatParameters(nullptr) {}
351  ~SatParameters() override;
352  explicit constexpr SatParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
353 
354  SatParameters(const SatParameters& from);
355  SatParameters(SatParameters&& from) noexcept
356  : SatParameters() {
357  *this = ::std::move(from);
358  }
359 
360  inline SatParameters& operator=(const SatParameters& from) {
361  CopyFrom(from);
362  return *this;
363  }
364  inline SatParameters& operator=(SatParameters&& from) noexcept {
365  if (this == &from) return *this;
366  if (GetOwningArena() == from.GetOwningArena()
367  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
368  && GetOwningArena() != nullptr
369  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
370  ) {
371  InternalSwap(&from);
372  } else {
373  CopyFrom(from);
374  }
375  return *this;
376  }
377 
378  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
379  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
380  }
381  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
382  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
383  }
384 
385  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
386  return GetDescriptor();
387  }
388  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
389  return default_instance().GetMetadata().descriptor;
390  }
391  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
392  return default_instance().GetMetadata().reflection;
393  }
394  static const SatParameters& default_instance() {
395  return *internal_default_instance();
396  }
397  static inline const SatParameters* internal_default_instance() {
398  return reinterpret_cast<const SatParameters*>(
400  }
401  static constexpr int kIndexInFileMessages =
402  0;
403 
404  friend void swap(SatParameters& a, SatParameters& b) {
405  a.Swap(&b);
406  }
407  inline void Swap(SatParameters* other) {
408  if (other == this) return;
409  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
410  if (GetOwningArena() != nullptr &&
411  GetOwningArena() == other->GetOwningArena()) {
412  #else // PROTOBUF_FORCE_COPY_IN_SWAP
413  if (GetOwningArena() == other->GetOwningArena()) {
414  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
415  InternalSwap(other);
416  } else {
417  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
418  }
419  }
421  if (other == this) return;
422  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
423  InternalSwap(other);
424  }
425 
426  // implements Message ----------------------------------------------
427 
428  SatParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
429  return CreateMaybeMessage<SatParameters>(arena);
430  }
431  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
432  void CopyFrom(const SatParameters& from);
433  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
434  void MergeFrom(const SatParameters& from);
435  private:
436  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
437  public:
438  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
439  bool IsInitialized() const final;
440 
441  size_t ByteSizeLong() const final;
442  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
443  uint8_t* _InternalSerialize(
444  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
445  int GetCachedSize() const final { return _cached_size_.Get(); }
446 
447  private:
448  void SharedCtor();
449  void SharedDtor();
450  void SetCachedSize(int size) const final;
451  void InternalSwap(SatParameters* other);
452 
453  private:
454  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
455  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
456  return "operations_research.sat.SatParameters";
457  }
458  protected:
459  explicit SatParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
460  bool is_message_owned = false);
461  private:
462  static void ArenaDtor(void* object);
463  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
464  public:
465 
466  static const ClassData _class_data_;
467  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
468 
469  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
470 
471  // nested types ----------------------------------------------------
472 
474  static constexpr VariableOrder IN_ORDER =
476  static constexpr VariableOrder IN_REVERSE_ORDER =
478  static constexpr VariableOrder IN_RANDOM_ORDER =
480  static inline bool VariableOrder_IsValid(int value) {
482  }
483  static constexpr VariableOrder VariableOrder_MIN =
485  static constexpr VariableOrder VariableOrder_MAX =
487  static constexpr int VariableOrder_ARRAYSIZE =
489  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
492  }
493  template<typename T>
494  static inline const std::string& VariableOrder_Name(T enum_t_value) {
495  static_assert(::std::is_same<T, VariableOrder>::value ||
497  "Incorrect type passed to function VariableOrder_Name.");
498  return SatParameters_VariableOrder_Name(enum_t_value);
499  }
500  static inline bool VariableOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
501  VariableOrder* value) {
503  }
504 
506  static constexpr Polarity POLARITY_TRUE =
508  static constexpr Polarity POLARITY_FALSE =
510  static constexpr Polarity POLARITY_RANDOM =
512  static constexpr Polarity POLARITY_WEIGHTED_SIGN =
516  static inline bool Polarity_IsValid(int value) {
518  }
519  static constexpr Polarity Polarity_MIN =
521  static constexpr Polarity Polarity_MAX =
523  static constexpr int Polarity_ARRAYSIZE =
525  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
528  }
529  template<typename T>
530  static inline const std::string& Polarity_Name(T enum_t_value) {
531  static_assert(::std::is_same<T, Polarity>::value ||
533  "Incorrect type passed to function Polarity_Name.");
534  return SatParameters_Polarity_Name(enum_t_value);
535  }
536  static inline bool Polarity_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
537  Polarity* value) {
539  }
540 
552  }
559  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
562  }
563  template<typename T>
564  static inline const std::string& ConflictMinimizationAlgorithm_Name(T enum_t_value) {
567  "Incorrect type passed to function ConflictMinimizationAlgorithm_Name.");
569  }
570  static inline bool ConflictMinimizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
573  }
574 
586  static inline bool BinaryMinizationAlgorithm_IsValid(int value) {
588  }
593  static constexpr int BinaryMinizationAlgorithm_ARRAYSIZE =
595  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
598  }
599  template<typename T>
600  static inline const std::string& BinaryMinizationAlgorithm_Name(T enum_t_value) {
603  "Incorrect type passed to function BinaryMinizationAlgorithm_Name.");
605  }
606  static inline bool BinaryMinizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
609  }
610 
616  static constexpr ClauseProtection PROTECTION_LBD =
618  static inline bool ClauseProtection_IsValid(int value) {
620  }
625  static constexpr int ClauseProtection_ARRAYSIZE =
627  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
630  }
631  template<typename T>
632  static inline const std::string& ClauseProtection_Name(T enum_t_value) {
635  "Incorrect type passed to function ClauseProtection_Name.");
636  return SatParameters_ClauseProtection_Name(enum_t_value);
637  }
638  static inline bool ClauseProtection_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
641  }
642 
644  static constexpr ClauseOrdering CLAUSE_ACTIVITY =
646  static constexpr ClauseOrdering CLAUSE_LBD =
648  static inline bool ClauseOrdering_IsValid(int value) {
650  }
655  static constexpr int ClauseOrdering_ARRAYSIZE =
657  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
660  }
661  template<typename T>
662  static inline const std::string& ClauseOrdering_Name(T enum_t_value) {
663  static_assert(::std::is_same<T, ClauseOrdering>::value ||
665  "Incorrect type passed to function ClauseOrdering_Name.");
666  return SatParameters_ClauseOrdering_Name(enum_t_value);
667  }
668  static inline bool ClauseOrdering_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
671  }
672 
674  static constexpr RestartAlgorithm NO_RESTART =
676  static constexpr RestartAlgorithm LUBY_RESTART =
682  static constexpr RestartAlgorithm FIXED_RESTART =
684  static inline bool RestartAlgorithm_IsValid(int value) {
686  }
691  static constexpr int RestartAlgorithm_ARRAYSIZE =
693  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
696  }
697  template<typename T>
698  static inline const std::string& RestartAlgorithm_Name(T enum_t_value) {
701  "Incorrect type passed to function RestartAlgorithm_Name.");
702  return SatParameters_RestartAlgorithm_Name(enum_t_value);
703  }
704  static inline bool RestartAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
707  }
708 
716  static inline bool MaxSatAssumptionOrder_IsValid(int value) {
718  }
723  static constexpr int MaxSatAssumptionOrder_ARRAYSIZE =
725  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
728  }
729  template<typename T>
730  static inline const std::string& MaxSatAssumptionOrder_Name(T enum_t_value) {
733  "Incorrect type passed to function MaxSatAssumptionOrder_Name.");
734  return SatParameters_MaxSatAssumptionOrder_Name(enum_t_value);
735  }
736  static inline bool MaxSatAssumptionOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
739  }
740 
750  }
757  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
760  }
761  template<typename T>
762  static inline const std::string& MaxSatStratificationAlgorithm_Name(T enum_t_value) {
765  "Incorrect type passed to function MaxSatStratificationAlgorithm_Name.");
767  }
768  static inline bool MaxSatStratificationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
771  }
772 
776  static constexpr SearchBranching FIXED_SEARCH =
780  static constexpr SearchBranching LP_SEARCH =
786  static constexpr SearchBranching HINT_SEARCH =
788  static inline bool SearchBranching_IsValid(int value) {
790  }
795  static constexpr int SearchBranching_ARRAYSIZE =
797  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
800  }
801  template<typename T>
802  static inline const std::string& SearchBranching_Name(T enum_t_value) {
803  static_assert(::std::is_same<T, SearchBranching>::value ||
805  "Incorrect type passed to function SearchBranching_Name.");
806  return SatParameters_SearchBranching_Name(enum_t_value);
807  }
808  static inline bool SearchBranching_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
811  }
812 
816  static constexpr FPRoundingMethod LOCK_BASED =
822  static inline bool FPRoundingMethod_IsValid(int value) {
824  }
829  static constexpr int FPRoundingMethod_ARRAYSIZE =
831  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
834  }
835  template<typename T>
836  static inline const std::string& FPRoundingMethod_Name(T enum_t_value) {
839  "Incorrect type passed to function FPRoundingMethod_Name.");
840  return SatParameters_FPRoundingMethod_Name(enum_t_value);
841  }
842  static inline bool FPRoundingMethod_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
845  }
846 
847  // accessors -------------------------------------------------------
848 
849  enum : int {
1020  };
1021  // repeated .operations_research.sat.SatParameters.RestartAlgorithm restart_algorithms = 61;
1022  int restart_algorithms_size() const;
1023  private:
1024  int _internal_restart_algorithms_size() const;
1025  public:
1026  void clear_restart_algorithms();
1027  private:
1028  ::operations_research::sat::SatParameters_RestartAlgorithm _internal_restart_algorithms(int index) const;
1029  void _internal_add_restart_algorithms(::operations_research::sat::SatParameters_RestartAlgorithm value);
1030  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_restart_algorithms();
1031  public:
1035  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& restart_algorithms() const;
1036  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_restart_algorithms();
1037 
1038  // optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART"];
1039  bool has_default_restart_algorithms() const;
1040  private:
1041  bool _internal_has_default_restart_algorithms() const;
1042  public:
1044  const std::string& default_restart_algorithms() const;
1045  template <typename ArgT0 = const std::string&, typename... ArgT>
1046  void set_default_restart_algorithms(ArgT0&& arg0, ArgT... args);
1047  std::string* mutable_default_restart_algorithms();
1048  PROTOBUF_NODISCARD std::string* release_default_restart_algorithms();
1050  private:
1051  const std::string& _internal_default_restart_algorithms() const;
1052  inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_restart_algorithms(const std::string& value);
1053  std::string* _internal_mutable_default_restart_algorithms();
1054  public:
1055 
1056  // optional string name = 171 [default = ""];
1057  bool has_name() const;
1058  private:
1059  bool _internal_has_name() const;
1060  public:
1061  void clear_name();
1062  const std::string& name() const;
1063  template <typename ArgT0 = const std::string&, typename... ArgT>
1064  void set_name(ArgT0&& arg0, ArgT... args);
1065  std::string* mutable_name();
1066  PROTOBUF_NODISCARD std::string* release_name();
1067  void set_allocated_name(std::string* name);
1068  private:
1069  const std::string& _internal_name() const;
1070  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
1071  std::string* _internal_mutable_name();
1072  public:
1073 
1074  // optional string log_prefix = 185 [default = ""];
1075  bool has_log_prefix() const;
1076  private:
1077  bool _internal_has_log_prefix() const;
1078  public:
1079  void clear_log_prefix();
1080  const std::string& log_prefix() const;
1081  template <typename ArgT0 = const std::string&, typename... ArgT>
1082  void set_log_prefix(ArgT0&& arg0, ArgT... args);
1083  std::string* mutable_log_prefix();
1084  PROTOBUF_NODISCARD std::string* release_log_prefix();
1085  void set_allocated_log_prefix(std::string* log_prefix);
1086  private:
1087  const std::string& _internal_log_prefix() const;
1088  inline PROTOBUF_ALWAYS_INLINE void _internal_set_log_prefix(const std::string& value);
1089  std::string* _internal_mutable_log_prefix();
1090  public:
1091 
1092  // optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default = IN_ORDER];
1093  bool has_preferred_variable_order() const;
1094  private:
1095  bool _internal_has_preferred_variable_order() const;
1096  public:
1100  private:
1101  ::operations_research::sat::SatParameters_VariableOrder _internal_preferred_variable_order() const;
1102  void _internal_set_preferred_variable_order(::operations_research::sat::SatParameters_VariableOrder value);
1103  public:
1104 
1105  // optional int32 clause_cleanup_target = 13 [default = 0];
1106  bool has_clause_cleanup_target() const;
1107  private:
1108  bool _internal_has_clause_cleanup_target() const;
1109  public:
1111  int32_t clause_cleanup_target() const;
1112  void set_clause_cleanup_target(int32_t value);
1113  private:
1114  int32_t _internal_clause_cleanup_target() const;
1115  void _internal_set_clause_cleanup_target(int32_t value);
1116  public:
1117 
1118  // optional double random_branches_ratio = 32 [default = 0];
1119  bool has_random_branches_ratio() const;
1120  private:
1121  bool _internal_has_random_branches_ratio() const;
1122  public:
1124  double random_branches_ratio() const;
1125  void set_random_branches_ratio(double value);
1126  private:
1127  double _internal_random_branches_ratio() const;
1128  void _internal_set_random_branches_ratio(double value);
1129  public:
1130 
1131  // optional double random_polarity_ratio = 45 [default = 0];
1132  bool has_random_polarity_ratio() const;
1133  private:
1134  bool _internal_has_random_polarity_ratio() const;
1135  public:
1137  double random_polarity_ratio() const;
1138  void set_random_polarity_ratio(double value);
1139  private:
1140  double _internal_random_polarity_ratio() const;
1141  void _internal_set_random_polarity_ratio(double value);
1142  public:
1143 
1144  // optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [default = DEFAULT_ASSUMPTION_ORDER];
1145  bool has_max_sat_assumption_order() const;
1146  private:
1147  bool _internal_has_max_sat_assumption_order() const;
1148  public:
1152  private:
1153  ::operations_research::sat::SatParameters_MaxSatAssumptionOrder _internal_max_sat_assumption_order() const;
1154  void _internal_set_max_sat_assumption_order(::operations_research::sat::SatParameters_MaxSatAssumptionOrder value);
1155  public:
1156 
1157  // optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [default = PROTECTION_NONE];
1158  bool has_clause_cleanup_protection() const;
1159  private:
1160  bool _internal_has_clause_cleanup_protection() const;
1161  public:
1165  private:
1166  ::operations_research::sat::SatParameters_ClauseProtection _internal_clause_cleanup_protection() const;
1167  void _internal_set_clause_cleanup_protection(::operations_research::sat::SatParameters_ClauseProtection value);
1168  public:
1169 
1170  // optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default = CLAUSE_ACTIVITY];
1171  bool has_clause_cleanup_ordering() const;
1172  private:
1173  bool _internal_has_clause_cleanup_ordering() const;
1174  public:
1178  private:
1179  ::operations_research::sat::SatParameters_ClauseOrdering _internal_clause_cleanup_ordering() const;
1180  void _internal_set_clause_cleanup_ordering(::operations_research::sat::SatParameters_ClauseOrdering value);
1181  public:
1182 
1183  // optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
1185  private:
1186  bool _internal_has_num_conflicts_before_strategy_changes() const;
1187  public:
1189  int32_t num_conflicts_before_strategy_changes() const;
1191  private:
1192  int32_t _internal_num_conflicts_before_strategy_changes() const;
1193  void _internal_set_num_conflicts_before_strategy_changes(int32_t value);
1194  public:
1195 
1196  // optional double strategy_change_increase_ratio = 69 [default = 0];
1198  private:
1199  bool _internal_has_strategy_change_increase_ratio() const;
1200  public:
1202  double strategy_change_increase_ratio() const;
1204  private:
1205  double _internal_strategy_change_increase_ratio() const;
1206  void _internal_set_strategy_change_increase_ratio(double value);
1207  public:
1208 
1209  // optional double initial_variables_activity = 76 [default = 0];
1210  bool has_initial_variables_activity() const;
1211  private:
1212  bool _internal_has_initial_variables_activity() const;
1213  public:
1215  double initial_variables_activity() const;
1217  private:
1218  double _internal_initial_variables_activity() const;
1219  void _internal_set_initial_variables_activity(double value);
1220  public:
1221 
1222  // optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTOMATIC_SEARCH];
1223  bool has_search_branching() const;
1224  private:
1225  bool _internal_has_search_branching() const;
1226  public:
1227  void clear_search_branching();
1230  private:
1231  ::operations_research::sat::SatParameters_SearchBranching _internal_search_branching() const;
1232  void _internal_set_search_branching(::operations_research::sat::SatParameters_SearchBranching value);
1233  public:
1234 
1235  // optional bool use_erwa_heuristic = 75 [default = false];
1236  bool has_use_erwa_heuristic() const;
1237  private:
1238  bool _internal_has_use_erwa_heuristic() const;
1239  public:
1240  void clear_use_erwa_heuristic();
1241  bool use_erwa_heuristic() const;
1242  void set_use_erwa_heuristic(bool value);
1243  private:
1244  bool _internal_use_erwa_heuristic() const;
1245  void _internal_set_use_erwa_heuristic(bool value);
1246  public:
1247 
1248  // optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
1250  private:
1251  bool _internal_has_also_bump_variables_in_conflict_reasons() const;
1252  public:
1256  private:
1257  bool _internal_also_bump_variables_in_conflict_reasons() const;
1258  void _internal_set_also_bump_variables_in_conflict_reasons(bool value);
1259  public:
1260 
1261  // optional bool use_blocking_restart = 64 [default = false];
1262  bool has_use_blocking_restart() const;
1263  private:
1264  bool _internal_has_use_blocking_restart() const;
1265  public:
1267  bool use_blocking_restart() const;
1268  void set_use_blocking_restart(bool value);
1269  private:
1270  bool _internal_use_blocking_restart() const;
1271  void _internal_set_use_blocking_restart(bool value);
1272  public:
1273 
1274  // optional bool permute_variable_randomly = 178 [default = false];
1275  bool has_permute_variable_randomly() const;
1276  private:
1277  bool _internal_has_permute_variable_randomly() const;
1278  public:
1280  bool permute_variable_randomly() const;
1282  private:
1283  bool _internal_permute_variable_randomly() const;
1284  void _internal_set_permute_variable_randomly(bool value);
1285  public:
1286 
1287  // optional int32 num_search_workers = 100 [default = 0];
1288  bool has_num_search_workers() const;
1289  private:
1290  bool _internal_has_num_search_workers() const;
1291  public:
1292  void clear_num_search_workers();
1293  int32_t num_search_workers() const;
1294  void set_num_search_workers(int32_t value);
1295  private:
1296  int32_t _internal_num_search_workers() const;
1297  void _internal_set_num_search_workers(int32_t value);
1298  public:
1299 
1300  // optional bool max_sat_reverse_assumption_order = 52 [default = false];
1302  private:
1303  bool _internal_has_max_sat_reverse_assumption_order() const;
1304  public:
1306  bool max_sat_reverse_assumption_order() const;
1308  private:
1309  bool _internal_max_sat_reverse_assumption_order() const;
1310  void _internal_set_max_sat_reverse_assumption_order(bool value);
1311  public:
1312 
1313  // optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
1315  private:
1316  bool _internal_has_use_overload_checker_in_cumulative_constraint() const;
1317  public:
1321  private:
1322  bool _internal_use_overload_checker_in_cumulative_constraint() const;
1323  void _internal_set_use_overload_checker_in_cumulative_constraint(bool value);
1324  public:
1325 
1326  // optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
1328  private:
1329  bool _internal_has_use_timetable_edge_finding_in_cumulative_constraint() const;
1330  public:
1334  private:
1335  bool _internal_use_timetable_edge_finding_in_cumulative_constraint() const;
1336  void _internal_set_use_timetable_edge_finding_in_cumulative_constraint(bool value);
1337  public:
1338 
1339  // optional bool use_cumulative_in_no_overlap_2d = 200 [default = false];
1341  private:
1342  bool _internal_has_use_cumulative_in_no_overlap_2d() const;
1343  public:
1345  bool use_cumulative_in_no_overlap_2d() const;
1347  private:
1348  bool _internal_use_cumulative_in_no_overlap_2d() const;
1349  void _internal_set_use_cumulative_in_no_overlap_2d(bool value);
1350  public:
1351 
1352  // optional int64 search_randomization_tolerance = 104 [default = 0];
1354  private:
1355  bool _internal_has_search_randomization_tolerance() const;
1356  public:
1358  int64_t search_randomization_tolerance() const;
1360  private:
1361  int64_t _internal_search_randomization_tolerance() const;
1362  void _internal_set_search_randomization_tolerance(int64_t value);
1363  public:
1364 
1365  // optional bool use_pb_resolution = 43 [default = false];
1366  bool has_use_pb_resolution() const;
1367  private:
1368  bool _internal_has_use_pb_resolution() const;
1369  public:
1370  void clear_use_pb_resolution();
1371  bool use_pb_resolution() const;
1372  void set_use_pb_resolution(bool value);
1373  private:
1374  bool _internal_use_pb_resolution() const;
1375  void _internal_set_use_pb_resolution(bool value);
1376  public:
1377 
1378  // optional bool minimize_reduction_during_pb_resolution = 48 [default = false];
1380  private:
1381  bool _internal_has_minimize_reduction_during_pb_resolution() const;
1382  public:
1386  private:
1387  bool _internal_minimize_reduction_during_pb_resolution() const;
1388  void _internal_set_minimize_reduction_during_pb_resolution(bool value);
1389  public:
1390 
1391  // optional bool use_sat_inprocessing = 163 [default = false];
1392  bool has_use_sat_inprocessing() const;
1393  private:
1394  bool _internal_has_use_sat_inprocessing() const;
1395  public:
1397  bool use_sat_inprocessing() const;
1398  void set_use_sat_inprocessing(bool value);
1399  private:
1400  bool _internal_use_sat_inprocessing() const;
1401  void _internal_set_use_sat_inprocessing(bool value);
1402  public:
1403 
1404  // optional bool expand_alldiff_constraints = 170 [default = false];
1405  bool has_expand_alldiff_constraints() const;
1406  private:
1407  bool _internal_has_expand_alldiff_constraints() const;
1408  public:
1410  bool expand_alldiff_constraints() const;
1412  private:
1413  bool _internal_expand_alldiff_constraints() const;
1414  void _internal_set_expand_alldiff_constraints(bool value);
1415  public:
1416 
1417  // optional bool diversify_lns_params = 137 [default = false];
1418  bool has_diversify_lns_params() const;
1419  private:
1420  bool _internal_has_diversify_lns_params() const;
1421  public:
1423  bool diversify_lns_params() const;
1424  void set_diversify_lns_params(bool value);
1425  private:
1426  bool _internal_diversify_lns_params() const;
1427  void _internal_set_diversify_lns_params(bool value);
1428  public:
1429 
1430  // optional bool randomize_search = 103 [default = false];
1431  bool has_randomize_search() const;
1432  private:
1433  bool _internal_has_randomize_search() const;
1434  public:
1435  void clear_randomize_search();
1436  bool randomize_search() const;
1437  void set_randomize_search(bool value);
1438  private:
1439  bool _internal_randomize_search() const;
1440  void _internal_set_randomize_search(bool value);
1441  public:
1442 
1443  // optional bool use_branching_in_lp = 139 [default = false];
1444  bool has_use_branching_in_lp() const;
1445  private:
1446  bool _internal_has_use_branching_in_lp() const;
1447  public:
1449  bool use_branching_in_lp() const;
1450  void set_use_branching_in_lp(bool value);
1451  private:
1452  bool _internal_use_branching_in_lp() const;
1453  void _internal_set_use_branching_in_lp(bool value);
1454  public:
1455 
1456  // optional bool use_combined_no_overlap = 133 [default = false];
1457  bool has_use_combined_no_overlap() const;
1458  private:
1459  bool _internal_has_use_combined_no_overlap() const;
1460  public:
1462  bool use_combined_no_overlap() const;
1464  private:
1465  bool _internal_use_combined_no_overlap() const;
1466  void _internal_set_use_combined_no_overlap(bool value);
1467  public:
1468 
1469  // optional bool interleave_search = 136 [default = false];
1470  bool has_interleave_search() const;
1471  private:
1472  bool _internal_has_interleave_search() const;
1473  public:
1474  void clear_interleave_search();
1475  bool interleave_search() const;
1476  void set_interleave_search(bool value);
1477  private:
1478  bool _internal_interleave_search() const;
1479  void _internal_set_interleave_search(bool value);
1480  public:
1481 
1482  // optional bool reduce_memory_usage_in_interleave_mode = 141 [default = false];
1484  private:
1485  bool _internal_has_reduce_memory_usage_in_interleave_mode() const;
1486  public:
1490  private:
1491  bool _internal_reduce_memory_usage_in_interleave_mode() const;
1492  void _internal_set_reduce_memory_usage_in_interleave_mode(bool value);
1493  public:
1494 
1495  // optional bool use_lns_only = 101 [default = false];
1496  bool has_use_lns_only() const;
1497  private:
1498  bool _internal_has_use_lns_only() const;
1499  public:
1500  void clear_use_lns_only();
1501  bool use_lns_only() const;
1502  void set_use_lns_only(bool value);
1503  private:
1504  bool _internal_use_lns_only() const;
1505  void _internal_set_use_lns_only(bool value);
1506  public:
1507 
1508  // optional bool use_relaxation_lns = 150 [default = false];
1509  bool has_use_relaxation_lns() const;
1510  private:
1511  bool _internal_has_use_relaxation_lns() const;
1512  public:
1513  void clear_use_relaxation_lns();
1514  bool use_relaxation_lns() const;
1515  void set_use_relaxation_lns(bool value);
1516  private:
1517  bool _internal_use_relaxation_lns() const;
1518  void _internal_set_use_relaxation_lns(bool value);
1519  public:
1520 
1521  // optional bool optimize_with_lb_tree_search = 188 [default = false];
1522  bool has_optimize_with_lb_tree_search() const;
1523  private:
1524  bool _internal_has_optimize_with_lb_tree_search() const;
1525  public:
1527  bool optimize_with_lb_tree_search() const;
1529  private:
1530  bool _internal_optimize_with_lb_tree_search() const;
1531  void _internal_set_optimize_with_lb_tree_search(bool value);
1532  public:
1533 
1534  // optional bool optimize_with_max_hs = 85 [default = false];
1535  bool has_optimize_with_max_hs() const;
1536  private:
1537  bool _internal_has_optimize_with_max_hs() const;
1538  public:
1540  bool optimize_with_max_hs() const;
1541  void set_optimize_with_max_hs(bool value);
1542  private:
1543  bool _internal_optimize_with_max_hs() const;
1544  void _internal_set_optimize_with_max_hs(bool value);
1545  public:
1546 
1547  // optional bool enumerate_all_solutions = 87 [default = false];
1548  bool has_enumerate_all_solutions() const;
1549  private:
1550  bool _internal_has_enumerate_all_solutions() const;
1551  public:
1553  bool enumerate_all_solutions() const;
1555  private:
1556  bool _internal_enumerate_all_solutions() const;
1557  void _internal_set_enumerate_all_solutions(bool value);
1558  public:
1559 
1560  // optional bool keep_all_feasible_solutions_in_presolve = 173 [default = false];
1562  private:
1563  bool _internal_has_keep_all_feasible_solutions_in_presolve() const;
1564  public:
1568  private:
1569  bool _internal_keep_all_feasible_solutions_in_presolve() const;
1570  void _internal_set_keep_all_feasible_solutions_in_presolve(bool value);
1571  public:
1572 
1573  // optional bool exploit_best_solution = 130 [default = false];
1574  bool has_exploit_best_solution() const;
1575  private:
1576  bool _internal_has_exploit_best_solution() const;
1577  public:
1579  bool exploit_best_solution() const;
1580  void set_exploit_best_solution(bool value);
1581  private:
1582  bool _internal_exploit_best_solution() const;
1583  void _internal_set_exploit_best_solution(bool value);
1584  public:
1585 
1586  // optional bool exploit_relaxation_solution = 161 [default = false];
1587  bool has_exploit_relaxation_solution() const;
1588  private:
1589  bool _internal_has_exploit_relaxation_solution() const;
1590  public:
1592  bool exploit_relaxation_solution() const;
1594  private:
1595  bool _internal_exploit_relaxation_solution() const;
1596  void _internal_set_exploit_relaxation_solution(bool value);
1597  public:
1598 
1599  // optional bool use_probing_search = 176 [default = false];
1600  bool has_use_probing_search() const;
1601  private:
1602  bool _internal_has_use_probing_search() const;
1603  public:
1604  void clear_use_probing_search();
1605  bool use_probing_search() const;
1606  void set_use_probing_search(bool value);
1607  private:
1608  bool _internal_use_probing_search() const;
1609  void _internal_set_use_probing_search(bool value);
1610  public:
1611 
1612  // optional bool optimize_with_core = 83 [default = false];
1613  bool has_optimize_with_core() const;
1614  private:
1615  bool _internal_has_optimize_with_core() const;
1616  public:
1617  void clear_optimize_with_core();
1618  bool optimize_with_core() const;
1619  void set_optimize_with_core(bool value);
1620  private:
1621  bool _internal_optimize_with_core() const;
1622  void _internal_set_optimize_with_core(bool value);
1623  public:
1624 
1625  // optional bool fill_tightened_domains_in_response = 132 [default = false];
1627  private:
1628  bool _internal_has_fill_tightened_domains_in_response() const;
1629  public:
1633  private:
1634  bool _internal_fill_tightened_domains_in_response() const;
1635  void _internal_set_fill_tightened_domains_in_response(bool value);
1636  public:
1637 
1638  // optional bool fill_additional_solutions_in_response = 194 [default = false];
1640  private:
1641  bool _internal_has_fill_additional_solutions_in_response() const;
1642  public:
1646  private:
1647  bool _internal_fill_additional_solutions_in_response() const;
1648  void _internal_set_fill_additional_solutions_in_response(bool value);
1649  public:
1650 
1651  // optional bool stop_after_first_solution = 98 [default = false];
1652  bool has_stop_after_first_solution() const;
1653  private:
1654  bool _internal_has_stop_after_first_solution() const;
1655  public:
1657  bool stop_after_first_solution() const;
1659  private:
1660  bool _internal_stop_after_first_solution() const;
1661  void _internal_set_stop_after_first_solution(bool value);
1662  public:
1663 
1664  // optional bool stop_after_presolve = 149 [default = false];
1665  bool has_stop_after_presolve() const;
1666  private:
1667  bool _internal_has_stop_after_presolve() const;
1668  public:
1670  bool stop_after_presolve() const;
1671  void set_stop_after_presolve(bool value);
1672  private:
1673  bool _internal_stop_after_presolve() const;
1674  void _internal_set_stop_after_presolve(bool value);
1675  public:
1676 
1677  // optional int64 probing_period_at_root = 142 [default = 0];
1678  bool has_probing_period_at_root() const;
1679  private:
1680  bool _internal_has_probing_period_at_root() const;
1681  public:
1683  int64_t probing_period_at_root() const;
1684  void set_probing_period_at_root(int64_t value);
1685  private:
1686  int64_t _internal_probing_period_at_root() const;
1687  void _internal_set_probing_period_at_root(int64_t value);
1688  public:
1689 
1690  // optional bool permute_presolve_constraint_order = 179 [default = false];
1692  private:
1693  bool _internal_has_permute_presolve_constraint_order() const;
1694  public:
1696  bool permute_presolve_constraint_order() const;
1698  private:
1699  bool _internal_permute_presolve_constraint_order() const;
1700  void _internal_set_permute_presolve_constraint_order(bool value);
1701  public:
1702 
1703  // optional bool use_absl_random = 180 [default = false];
1704  bool has_use_absl_random() const;
1705  private:
1706  bool _internal_has_use_absl_random() const;
1707  public:
1708  void clear_use_absl_random();
1709  bool use_absl_random() const;
1710  void set_use_absl_random(bool value);
1711  private:
1712  bool _internal_use_absl_random() const;
1713  void _internal_set_use_absl_random(bool value);
1714  public:
1715 
1716  // optional bool log_search_progress = 41 [default = false];
1717  bool has_log_search_progress() const;
1718  private:
1719  bool _internal_has_log_search_progress() const;
1720  public:
1722  bool log_search_progress() const;
1723  void set_log_search_progress(bool value);
1724  private:
1725  bool _internal_log_search_progress() const;
1726  void _internal_set_log_search_progress(bool value);
1727  public:
1728 
1729  // optional bool log_to_response = 187 [default = false];
1730  bool has_log_to_response() const;
1731  private:
1732  bool _internal_has_log_to_response() const;
1733  public:
1734  void clear_log_to_response();
1735  bool log_to_response() const;
1736  void set_log_to_response(bool value);
1737  private:
1738  bool _internal_log_to_response() const;
1739  void _internal_set_log_to_response(bool value);
1740  public:
1741 
1742  // optional int32 debug_max_num_presolve_operations = 151 [default = 0];
1744  private:
1745  bool _internal_has_debug_max_num_presolve_operations() const;
1746  public:
1748  int32_t debug_max_num_presolve_operations() const;
1750  private:
1751  int32_t _internal_debug_max_num_presolve_operations() const;
1752  void _internal_set_debug_max_num_presolve_operations(int32_t value);
1753  public:
1754 
1755  // optional double relative_gap_limit = 160 [default = 0];
1756  bool has_relative_gap_limit() const;
1757  private:
1758  bool _internal_has_relative_gap_limit() const;
1759  public:
1760  void clear_relative_gap_limit();
1761  double relative_gap_limit() const;
1762  void set_relative_gap_limit(double value);
1763  private:
1764  double _internal_relative_gap_limit() const;
1765  void _internal_set_relative_gap_limit(double value);
1766  public:
1767 
1768  // optional bool only_add_cuts_at_level_zero = 92 [default = false];
1769  bool has_only_add_cuts_at_level_zero() const;
1770  private:
1771  bool _internal_has_only_add_cuts_at_level_zero() const;
1772  public:
1774  bool only_add_cuts_at_level_zero() const;
1776  private:
1777  bool _internal_only_add_cuts_at_level_zero() const;
1778  void _internal_set_only_add_cuts_at_level_zero(bool value);
1779  public:
1780 
1781  // optional bool add_objective_cut = 197 [default = false];
1782  bool has_add_objective_cut() const;
1783  private:
1784  bool _internal_has_add_objective_cut() const;
1785  public:
1786  void clear_add_objective_cut();
1787  bool add_objective_cut() const;
1788  void set_add_objective_cut(bool value);
1789  private:
1790  bool _internal_add_objective_cut() const;
1791  void _internal_set_add_objective_cut(bool value);
1792  public:
1793 
1794  // optional bool repair_hint = 167 [default = false];
1795  bool has_repair_hint() const;
1796  private:
1797  bool _internal_has_repair_hint() const;
1798  public:
1799  void clear_repair_hint();
1800  bool repair_hint() const;
1801  void set_repair_hint(bool value);
1802  private:
1803  bool _internal_repair_hint() const;
1804  void _internal_set_repair_hint(bool value);
1805  public:
1806 
1807  // optional bool fix_variables_to_their_hinted_value = 192 [default = false];
1809  private:
1810  bool _internal_has_fix_variables_to_their_hinted_value() const;
1811  public:
1815  private:
1816  bool _internal_fix_variables_to_their_hinted_value() const;
1817  void _internal_set_fix_variables_to_their_hinted_value(bool value);
1818  public:
1819 
1820  // optional bool polish_lp_solution = 175 [default = false];
1821  bool has_polish_lp_solution() const;
1822  private:
1823  bool _internal_has_polish_lp_solution() const;
1824  public:
1825  void clear_polish_lp_solution();
1826  bool polish_lp_solution() const;
1827  void set_polish_lp_solution(bool value);
1828  private:
1829  bool _internal_polish_lp_solution() const;
1830  void _internal_set_polish_lp_solution(bool value);
1831  public:
1832 
1833  // optional bool disable_constraint_expansion = 181 [default = false];
1834  bool has_disable_constraint_expansion() const;
1835  private:
1836  bool _internal_has_disable_constraint_expansion() const;
1837  public:
1839  bool disable_constraint_expansion() const;
1841  private:
1842  bool _internal_disable_constraint_expansion() const;
1843  void _internal_set_disable_constraint_expansion(bool value);
1844  public:
1845 
1846  // optional bool presolve_extract_integer_enforcement = 174 [default = false];
1848  private:
1849  bool _internal_has_presolve_extract_integer_enforcement() const;
1850  public:
1854  private:
1855  bool _internal_presolve_extract_integer_enforcement() const;
1856  void _internal_set_presolve_extract_integer_enforcement(bool value);
1857  public:
1858 
1859  // optional bool debug_postsolve_with_full_solver = 162 [default = false];
1861  private:
1862  bool _internal_has_debug_postsolve_with_full_solver() const;
1863  public:
1865  bool debug_postsolve_with_full_solver() const;
1867  private:
1868  bool _internal_debug_postsolve_with_full_solver() const;
1869  void _internal_set_debug_postsolve_with_full_solver(bool value);
1870  public:
1871 
1872  // optional bool debug_crash_on_bad_hint = 195 [default = false];
1873  bool has_debug_crash_on_bad_hint() const;
1874  private:
1875  bool _internal_has_debug_crash_on_bad_hint() const;
1876  public:
1878  bool debug_crash_on_bad_hint() const;
1880  private:
1881  bool _internal_debug_crash_on_bad_hint() const;
1882  void _internal_set_debug_crash_on_bad_hint(bool value);
1883  public:
1884 
1885  // optional int32 cut_level = 196 [default = 1];
1886  bool has_cut_level() const;
1887  private:
1888  bool _internal_has_cut_level() const;
1889  public:
1890  void clear_cut_level();
1891  int32_t cut_level() const;
1892  void set_cut_level(int32_t value);
1893  private:
1894  int32_t _internal_cut_level() const;
1895  void _internal_set_cut_level(int32_t value);
1896  public:
1897 
1898  // optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FALSE];
1899  bool has_initial_polarity() const;
1900  private:
1901  bool _internal_has_initial_polarity() const;
1902  public:
1903  void clear_initial_polarity();
1906  private:
1907  ::operations_research::sat::SatParameters_Polarity _internal_initial_polarity() const;
1908  void _internal_set_initial_polarity(::operations_research::sat::SatParameters_Polarity value);
1909  public:
1910 
1911  // optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm = 4 [default = RECURSIVE];
1912  bool has_minimization_algorithm() const;
1913  private:
1914  bool _internal_has_minimization_algorithm() const;
1915  public:
1919  private:
1920  ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm _internal_minimization_algorithm() const;
1921  void _internal_set_minimization_algorithm(::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm value);
1922  public:
1923 
1924  // optional double variable_activity_decay = 15 [default = 0.8];
1925  bool has_variable_activity_decay() const;
1926  private:
1927  bool _internal_has_variable_activity_decay() const;
1928  public:
1930  double variable_activity_decay() const;
1931  void set_variable_activity_decay(double value);
1932  private:
1933  double _internal_variable_activity_decay() const;
1934  void _internal_set_variable_activity_decay(double value);
1935  public:
1936 
1937  // optional double max_variable_activity_value = 16 [default = 1e+100];
1938  bool has_max_variable_activity_value() const;
1939  private:
1940  bool _internal_has_max_variable_activity_value() const;
1941  public:
1943  double max_variable_activity_value() const;
1945  private:
1946  double _internal_max_variable_activity_value() const;
1947  void _internal_set_max_variable_activity_value(double value);
1948  public:
1949 
1950  // optional double clause_activity_decay = 17 [default = 0.999];
1951  bool has_clause_activity_decay() const;
1952  private:
1953  bool _internal_has_clause_activity_decay() const;
1954  public:
1956  double clause_activity_decay() const;
1957  void set_clause_activity_decay(double value);
1958  private:
1959  double _internal_clause_activity_decay() const;
1960  void _internal_set_clause_activity_decay(double value);
1961  public:
1962 
1963  // optional int32 clause_cleanup_period = 11 [default = 10000];
1964  bool has_clause_cleanup_period() const;
1965  private:
1966  bool _internal_has_clause_cleanup_period() const;
1967  public:
1969  int32_t clause_cleanup_period() const;
1970  void set_clause_cleanup_period(int32_t value);
1971  private:
1972  int32_t _internal_clause_cleanup_period() const;
1973  void _internal_set_clause_cleanup_period(int32_t value);
1974  public:
1975 
1976  // optional int32 glucose_decay_increment_period = 24 [default = 5000];
1978  private:
1979  bool _internal_has_glucose_decay_increment_period() const;
1980  public:
1982  int32_t glucose_decay_increment_period() const;
1984  private:
1985  int32_t _internal_glucose_decay_increment_period() const;
1986  void _internal_set_glucose_decay_increment_period(int32_t value);
1987  public:
1988 
1989  // optional double max_clause_activity_value = 18 [default = 1e+20];
1990  bool has_max_clause_activity_value() const;
1991  private:
1992  bool _internal_has_max_clause_activity_value() const;
1993  public:
1995  double max_clause_activity_value() const;
1996  void set_max_clause_activity_value(double value);
1997  private:
1998  double _internal_max_clause_activity_value() const;
1999  void _internal_set_max_clause_activity_value(double value);
2000  public:
2001 
2002  // optional double glucose_max_decay = 22 [default = 0.95];
2003  bool has_glucose_max_decay() const;
2004  private:
2005  bool _internal_has_glucose_max_decay() const;
2006  public:
2007  void clear_glucose_max_decay();
2008  double glucose_max_decay() const;
2009  void set_glucose_max_decay(double value);
2010  private:
2011  double _internal_glucose_max_decay() const;
2012  void _internal_set_glucose_max_decay(double value);
2013  public:
2014 
2015  // optional double glucose_decay_increment = 23 [default = 0.01];
2016  bool has_glucose_decay_increment() const;
2017  private:
2018  bool _internal_has_glucose_decay_increment() const;
2019  public:
2021  double glucose_decay_increment() const;
2022  void set_glucose_decay_increment(double value);
2023  private:
2024  double _internal_glucose_decay_increment() const;
2025  void _internal_set_glucose_decay_increment(double value);
2026  public:
2027 
2028  // optional int32 restart_period = 30 [default = 50];
2029  bool has_restart_period() const;
2030  private:
2031  bool _internal_has_restart_period() const;
2032  public:
2033  void clear_restart_period();
2034  int32_t restart_period() const;
2035  void set_restart_period(int32_t value);
2036  private:
2037  int32_t _internal_restart_period() const;
2038  void _internal_set_restart_period(int32_t value);
2039  public:
2040 
2041  // optional int32 random_seed = 31 [default = 1];
2042  bool has_random_seed() const;
2043  private:
2044  bool _internal_has_random_seed() const;
2045  public:
2046  void clear_random_seed();
2047  int32_t random_seed() const;
2048  void set_random_seed(int32_t value);
2049  private:
2050  int32_t _internal_random_seed() const;
2051  void _internal_set_random_seed(int32_t value);
2052  public:
2053 
2054  // optional double max_time_in_seconds = 36 [default = inf];
2055  bool has_max_time_in_seconds() const;
2056  private:
2057  bool _internal_has_max_time_in_seconds() const;
2058  public:
2060  double max_time_in_seconds() const;
2061  void set_max_time_in_seconds(double value);
2062  private:
2063  double _internal_max_time_in_seconds() const;
2064  void _internal_set_max_time_in_seconds(double value);
2065  public:
2066 
2067  // optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
2068  bool has_max_number_of_conflicts() const;
2069  private:
2070  bool _internal_has_max_number_of_conflicts() const;
2071  public:
2073  int64_t max_number_of_conflicts() const;
2074  void set_max_number_of_conflicts(int64_t value);
2075  private:
2076  int64_t _internal_max_number_of_conflicts() const;
2077  void _internal_set_max_number_of_conflicts(int64_t value);
2078  public:
2079 
2080  // optional int64 max_memory_in_mb = 40 [default = 10000];
2081  bool has_max_memory_in_mb() const;
2082  private:
2083  bool _internal_has_max_memory_in_mb() const;
2084  public:
2085  void clear_max_memory_in_mb();
2086  int64_t max_memory_in_mb() const;
2087  void set_max_memory_in_mb(int64_t value);
2088  private:
2089  int64_t _internal_max_memory_in_mb() const;
2090  void _internal_set_max_memory_in_mb(int64_t value);
2091  public:
2092 
2093  // optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorithm = 34 [default = BINARY_MINIMIZATION_FIRST];
2094  bool has_binary_minimization_algorithm() const;
2095  private:
2096  bool _internal_has_binary_minimization_algorithm() const;
2097  public:
2101  private:
2102  ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm _internal_binary_minimization_algorithm() const;
2103  void _internal_set_binary_minimization_algorithm(::operations_research::sat::SatParameters_BinaryMinizationAlgorithm value);
2104  public:
2105 
2106  // optional int32 pb_cleanup_increment = 46 [default = 200];
2107  bool has_pb_cleanup_increment() const;
2108  private:
2109  bool _internal_has_pb_cleanup_increment() const;
2110  public:
2112  int32_t pb_cleanup_increment() const;
2113  void set_pb_cleanup_increment(int32_t value);
2114  private:
2115  int32_t _internal_pb_cleanup_increment() const;
2116  void _internal_set_pb_cleanup_increment(int32_t value);
2117  public:
2118 
2119  // optional double pb_cleanup_ratio = 47 [default = 0.5];
2120  bool has_pb_cleanup_ratio() const;
2121  private:
2122  bool _internal_has_pb_cleanup_ratio() const;
2123  public:
2124  void clear_pb_cleanup_ratio();
2125  double pb_cleanup_ratio() const;
2126  void set_pb_cleanup_ratio(double value);
2127  private:
2128  double _internal_pb_cleanup_ratio() const;
2129  void _internal_set_pb_cleanup_ratio(double value);
2130  public:
2131 
2132  // optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification = 53 [default = STRATIFICATION_DESCENT];
2133  bool has_max_sat_stratification() const;
2134  private:
2135  bool _internal_has_max_sat_stratification() const;
2136  public:
2140  private:
2141  ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm _internal_max_sat_stratification() const;
2142  void _internal_set_max_sat_stratification(::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm value);
2143  public:
2144 
2145  // optional int32 presolve_bve_threshold = 54 [default = 500];
2146  bool has_presolve_bve_threshold() const;
2147  private:
2148  bool _internal_has_presolve_bve_threshold() const;
2149  public:
2151  int32_t presolve_bve_threshold() const;
2152  void set_presolve_bve_threshold(int32_t value);
2153  private:
2154  int32_t _internal_presolve_bve_threshold() const;
2155  void _internal_set_presolve_bve_threshold(int32_t value);
2156  public:
2157 
2158  // optional double presolve_probing_deterministic_time_limit = 57 [default = 30];
2160  private:
2161  bool _internal_has_presolve_probing_deterministic_time_limit() const;
2162  public:
2166  private:
2167  double _internal_presolve_probing_deterministic_time_limit() const;
2168  void _internal_set_presolve_probing_deterministic_time_limit(double value);
2169  public:
2170 
2171  // optional int32 presolve_bve_clause_weight = 55 [default = 3];
2172  bool has_presolve_bve_clause_weight() const;
2173  private:
2174  bool _internal_has_presolve_bve_clause_weight() const;
2175  public:
2177  int32_t presolve_bve_clause_weight() const;
2178  void set_presolve_bve_clause_weight(int32_t value);
2179  private:
2180  int32_t _internal_presolve_bve_clause_weight() const;
2181  void _internal_set_presolve_bve_clause_weight(int32_t value);
2182  public:
2183 
2184  // optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
2185  bool has_clause_cleanup_lbd_bound() const;
2186  private:
2187  bool _internal_has_clause_cleanup_lbd_bound() const;
2188  public:
2190  int32_t clause_cleanup_lbd_bound() const;
2191  void set_clause_cleanup_lbd_bound(int32_t value);
2192  private:
2193  int32_t _internal_clause_cleanup_lbd_bound() const;
2194  void _internal_set_clause_cleanup_lbd_bound(int32_t value);
2195  public:
2196 
2197  // optional double restart_dl_average_ratio = 63 [default = 1];
2198  bool has_restart_dl_average_ratio() const;
2199  private:
2200  bool _internal_has_restart_dl_average_ratio() const;
2201  public:
2203  double restart_dl_average_ratio() const;
2204  void set_restart_dl_average_ratio(double value);
2205  private:
2206  double _internal_restart_dl_average_ratio() const;
2207  void _internal_set_restart_dl_average_ratio(double value);
2208  public:
2209 
2210  // optional int32 restart_running_window_size = 62 [default = 50];
2211  bool has_restart_running_window_size() const;
2212  private:
2213  bool _internal_has_restart_running_window_size() const;
2214  public:
2216  int32_t restart_running_window_size() const;
2217  void set_restart_running_window_size(int32_t value);
2218  private:
2219  int32_t _internal_restart_running_window_size() const;
2220  void _internal_set_restart_running_window_size(int32_t value);
2221  public:
2222 
2223  // optional int32 blocking_restart_window_size = 65 [default = 5000];
2224  bool has_blocking_restart_window_size() const;
2225  private:
2226  bool _internal_has_blocking_restart_window_size() const;
2227  public:
2229  int32_t blocking_restart_window_size() const;
2231  private:
2232  int32_t _internal_blocking_restart_window_size() const;
2233  void _internal_set_blocking_restart_window_size(int32_t value);
2234  public:
2235 
2236  // optional double blocking_restart_multiplier = 66 [default = 1.4];
2237  bool has_blocking_restart_multiplier() const;
2238  private:
2239  bool _internal_has_blocking_restart_multiplier() const;
2240  public:
2242  double blocking_restart_multiplier() const;
2244  private:
2245  double _internal_blocking_restart_multiplier() const;
2246  void _internal_set_blocking_restart_multiplier(double value);
2247  public:
2248 
2249  // optional double max_deterministic_time = 67 [default = inf];
2250  bool has_max_deterministic_time() const;
2251  private:
2252  bool _internal_has_max_deterministic_time() const;
2253  public:
2255  double max_deterministic_time() const;
2256  void set_max_deterministic_time(double value);
2257  private:
2258  double _internal_max_deterministic_time() const;
2259  void _internal_set_max_deterministic_time(double value);
2260  public:
2261 
2262  // optional bool cp_model_presolve = 86 [default = true];
2263  bool has_cp_model_presolve() const;
2264  private:
2265  bool _internal_has_cp_model_presolve() const;
2266  public:
2267  void clear_cp_model_presolve();
2268  bool cp_model_presolve() const;
2269  void set_cp_model_presolve(bool value);
2270  private:
2271  bool _internal_cp_model_presolve() const;
2272  void _internal_set_cp_model_presolve(bool value);
2273  public:
2274 
2275  // optional bool cp_model_use_sat_presolve = 93 [default = true];
2276  bool has_cp_model_use_sat_presolve() const;
2277  private:
2278  bool _internal_has_cp_model_use_sat_presolve() const;
2279  public:
2281  bool cp_model_use_sat_presolve() const;
2283  private:
2284  bool _internal_cp_model_use_sat_presolve() const;
2285  void _internal_set_cp_model_use_sat_presolve(bool value);
2286  public:
2287 
2288  // optional bool use_optimization_hints = 35 [default = true];
2289  bool has_use_optimization_hints() const;
2290  private:
2291  bool _internal_has_use_optimization_hints() const;
2292  public:
2294  bool use_optimization_hints() const;
2295  void set_use_optimization_hints(bool value);
2296  private:
2297  bool _internal_use_optimization_hints() const;
2298  void _internal_set_use_optimization_hints(bool value);
2299  public:
2300 
2301  // optional bool minimize_core = 50 [default = true];
2302  bool has_minimize_core() const;
2303  private:
2304  bool _internal_has_minimize_core() const;
2305  public:
2306  void clear_minimize_core();
2307  bool minimize_core() const;
2308  void set_minimize_core(bool value);
2309  private:
2310  bool _internal_minimize_core() const;
2311  void _internal_set_minimize_core(bool value);
2312  public:
2313 
2314  // optional int32 presolve_bva_threshold = 73 [default = 1];
2315  bool has_presolve_bva_threshold() const;
2316  private:
2317  bool _internal_has_presolve_bva_threshold() const;
2318  public:
2320  int32_t presolve_bva_threshold() const;
2321  void set_presolve_bva_threshold(int32_t value);
2322  private:
2323  int32_t _internal_presolve_bva_threshold() const;
2324  void _internal_set_presolve_bva_threshold(int32_t value);
2325  public:
2326 
2327  // optional double restart_lbd_average_ratio = 71 [default = 1];
2328  bool has_restart_lbd_average_ratio() const;
2329  private:
2330  bool _internal_has_restart_lbd_average_ratio() const;
2331  public:
2333  double restart_lbd_average_ratio() const;
2334  void set_restart_lbd_average_ratio(double value);
2335  private:
2336  double _internal_restart_lbd_average_ratio() const;
2337  void _internal_set_restart_lbd_average_ratio(double value);
2338  public:
2339 
2340  // optional bool use_phase_saving = 44 [default = true];
2341  bool has_use_phase_saving() const;
2342  private:
2343  bool _internal_has_use_phase_saving() const;
2344  public:
2345  void clear_use_phase_saving();
2346  bool use_phase_saving() const;
2347  void set_use_phase_saving(bool value);
2348  private:
2349  bool _internal_use_phase_saving() const;
2350  void _internal_set_use_phase_saving(bool value);
2351  public:
2352 
2353  // optional bool subsumption_during_conflict_analysis = 56 [default = true];
2355  private:
2356  bool _internal_has_subsumption_during_conflict_analysis() const;
2357  public:
2361  private:
2362  bool _internal_subsumption_during_conflict_analysis() const;
2363  void _internal_set_subsumption_during_conflict_analysis(bool value);
2364  public:
2365 
2366  // optional bool treat_binary_clauses_separately = 33 [default = true];
2368  private:
2369  bool _internal_has_treat_binary_clauses_separately() const;
2370  public:
2372  bool treat_binary_clauses_separately() const;
2374  private:
2375  bool _internal_treat_binary_clauses_separately() const;
2376  void _internal_set_treat_binary_clauses_separately(bool value);
2377  public:
2378 
2379  // optional bool log_subsolver_statistics = 189 [default = true];
2380  bool has_log_subsolver_statistics() const;
2381  private:
2382  bool _internal_has_log_subsolver_statistics() const;
2383  public:
2385  bool log_subsolver_statistics() const;
2387  private:
2388  bool _internal_log_subsolver_statistics() const;
2389  void _internal_set_log_subsolver_statistics(bool value);
2390  public:
2391 
2392  // optional bool find_multiple_cores = 84 [default = true];
2393  bool has_find_multiple_cores() const;
2394  private:
2395  bool _internal_has_find_multiple_cores() const;
2396  public:
2398  bool find_multiple_cores() const;
2399  void set_find_multiple_cores(bool value);
2400  private:
2401  bool _internal_find_multiple_cores() const;
2402  void _internal_set_find_multiple_cores(bool value);
2403  public:
2404 
2405  // optional bool cover_optimization = 89 [default = true];
2406  bool has_cover_optimization() const;
2407  private:
2408  bool _internal_has_cover_optimization() const;
2409  public:
2410  void clear_cover_optimization();
2411  bool cover_optimization() const;
2412  void set_cover_optimization(bool value);
2413  private:
2414  bool _internal_cover_optimization() const;
2415  void _internal_set_cover_optimization(bool value);
2416  public:
2417 
2418  // optional bool use_precedences_in_disjunctive_constraint = 74 [default = true];
2420  private:
2421  bool _internal_has_use_precedences_in_disjunctive_constraint() const;
2422  public:
2426  private:
2427  bool _internal_use_precedences_in_disjunctive_constraint() const;
2428  void _internal_set_use_precedences_in_disjunctive_constraint(bool value);
2429  public:
2430 
2431  // optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
2433  private:
2434  bool _internal_has_use_disjunctive_constraint_in_cumulative_constraint() const;
2435  public:
2439  private:
2440  bool _internal_use_disjunctive_constraint_in_cumulative_constraint() const;
2441  void _internal_set_use_disjunctive_constraint_in_cumulative_constraint(bool value);
2442  public:
2443 
2444  // optional int32 linearization_level = 90 [default = 1];
2445  bool has_linearization_level() const;
2446  private:
2447  bool _internal_has_linearization_level() const;
2448  public:
2450  int32_t linearization_level() const;
2451  void set_linearization_level(int32_t value);
2452  private:
2453  int32_t _internal_linearization_level() const;
2454  void _internal_set_linearization_level(int32_t value);
2455  public:
2456 
2457  // optional int32 max_num_cuts = 91 [default = 10000];
2458  bool has_max_num_cuts() const;
2459  private:
2460  bool _internal_has_max_num_cuts() const;
2461  public:
2462  void clear_max_num_cuts();
2463  int32_t max_num_cuts() const;
2464  void set_max_num_cuts(int32_t value);
2465  private:
2466  int32_t _internal_max_num_cuts() const;
2467  void _internal_set_max_num_cuts(int32_t value);
2468  public:
2469 
2470  // optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
2472  private:
2473  bool _internal_has_minimize_with_propagation_restart_period() const;
2474  public:
2478  private:
2479  int32_t _internal_minimize_with_propagation_restart_period() const;
2480  void _internal_set_minimize_with_propagation_restart_period(int32_t value);
2481  public:
2482 
2483  // optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
2485  private:
2486  bool _internal_has_minimize_with_propagation_num_decisions() const;
2487  public:
2491  private:
2492  int32_t _internal_minimize_with_propagation_num_decisions() const;
2493  void _internal_set_minimize_with_propagation_num_decisions(int32_t value);
2494  public:
2495 
2496  // optional bool log_to_stdout = 186 [default = true];
2497  bool has_log_to_stdout() const;
2498  private:
2499  bool _internal_has_log_to_stdout() const;
2500  public:
2501  void clear_log_to_stdout();
2502  bool log_to_stdout() const;
2503  void set_log_to_stdout(bool value);
2504  private:
2505  bool _internal_log_to_stdout() const;
2506  void _internal_set_log_to_stdout(bool value);
2507  public:
2508 
2509  // optional bool count_assumption_levels_in_lbd = 49 [default = true];
2511  private:
2512  bool _internal_has_count_assumption_levels_in_lbd() const;
2513  public:
2515  bool count_assumption_levels_in_lbd() const;
2517  private:
2518  bool _internal_count_assumption_levels_in_lbd() const;
2519  void _internal_set_count_assumption_levels_in_lbd(bool value);
2520  public:
2521 
2522  // optional bool presolve_blocked_clause = 88 [default = true];
2523  bool has_presolve_blocked_clause() const;
2524  private:
2525  bool _internal_has_presolve_blocked_clause() const;
2526  public:
2528  bool presolve_blocked_clause() const;
2530  private:
2531  bool _internal_presolve_blocked_clause() const;
2532  void _internal_set_presolve_blocked_clause(bool value);
2533  public:
2534 
2535  // optional bool presolve_use_bva = 72 [default = true];
2536  bool has_presolve_use_bva() const;
2537  private:
2538  bool _internal_has_presolve_use_bva() const;
2539  public:
2540  void clear_presolve_use_bva();
2541  bool presolve_use_bva() const;
2542  void set_presolve_use_bva(bool value);
2543  private:
2544  bool _internal_presolve_use_bva() const;
2545  void _internal_set_presolve_use_bva(bool value);
2546  public:
2547 
2548  // optional int32 binary_search_num_conflicts = 99 [default = -1];
2549  bool has_binary_search_num_conflicts() const;
2550  private:
2551  bool _internal_has_binary_search_num_conflicts() const;
2552  public:
2554  int32_t binary_search_num_conflicts() const;
2555  void set_binary_search_num_conflicts(int32_t value);
2556  private:
2557  int32_t _internal_binary_search_num_conflicts() const;
2558  void _internal_set_binary_search_num_conflicts(int32_t value);
2559  public:
2560 
2561  // optional int32 boolean_encoding_level = 107 [default = 1];
2562  bool has_boolean_encoding_level() const;
2563  private:
2564  bool _internal_has_boolean_encoding_level() const;
2565  public:
2567  int32_t boolean_encoding_level() const;
2568  void set_boolean_encoding_level(int32_t value);
2569  private:
2570  int32_t _internal_boolean_encoding_level() const;
2571  void _internal_set_boolean_encoding_level(int32_t value);
2572  public:
2573 
2574  // optional int32 cp_model_probing_level = 110 [default = 2];
2575  bool has_cp_model_probing_level() const;
2576  private:
2577  bool _internal_has_cp_model_probing_level() const;
2578  public:
2580  int32_t cp_model_probing_level() const;
2581  void set_cp_model_probing_level(int32_t value);
2582  private:
2583  int32_t _internal_cp_model_probing_level() const;
2584  void _internal_set_cp_model_probing_level(int32_t value);
2585  public:
2586 
2587  // optional bool exploit_objective = 131 [default = true];
2588  bool has_exploit_objective() const;
2589  private:
2590  bool _internal_has_exploit_objective() const;
2591  public:
2592  void clear_exploit_objective();
2593  bool exploit_objective() const;
2594  void set_exploit_objective(bool value);
2595  private:
2596  bool _internal_exploit_objective() const;
2597  void _internal_set_exploit_objective(bool value);
2598  public:
2599 
2600  // optional bool instantiate_all_variables = 106 [default = true];
2601  bool has_instantiate_all_variables() const;
2602  private:
2603  bool _internal_has_instantiate_all_variables() const;
2604  public:
2606  bool instantiate_all_variables() const;
2608  private:
2609  bool _internal_instantiate_all_variables() const;
2610  void _internal_set_instantiate_all_variables(bool value);
2611  public:
2612 
2613  // optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
2615  private:
2616  bool _internal_has_auto_detect_greater_than_at_least_one_of() const;
2617  public:
2621  private:
2622  bool _internal_auto_detect_greater_than_at_least_one_of() const;
2623  void _internal_set_auto_detect_greater_than_at_least_one_of(bool value);
2624  public:
2625 
2626  // optional bool share_objective_bounds = 113 [default = true];
2627  bool has_share_objective_bounds() const;
2628  private:
2629  bool _internal_has_share_objective_bounds() const;
2630  public:
2632  bool share_objective_bounds() const;
2633  void set_share_objective_bounds(bool value);
2634  private:
2635  bool _internal_share_objective_bounds() const;
2636  void _internal_set_share_objective_bounds(bool value);
2637  public:
2638 
2639  // optional bool add_lin_max_cuts = 152 [default = true];
2640  bool has_add_lin_max_cuts() const;
2641  private:
2642  bool _internal_has_add_lin_max_cuts() const;
2643  public:
2644  void clear_add_lin_max_cuts();
2645  bool add_lin_max_cuts() const;
2646  void set_add_lin_max_cuts(bool value);
2647  private:
2648  bool _internal_add_lin_max_cuts() const;
2649  void _internal_set_add_lin_max_cuts(bool value);
2650  public:
2651 
2652  // optional bool add_lp_constraints_lazily = 112 [default = true];
2653  bool has_add_lp_constraints_lazily() const;
2654  private:
2655  bool _internal_has_add_lp_constraints_lazily() const;
2656  public:
2658  bool add_lp_constraints_lazily() const;
2660  private:
2661  bool _internal_add_lp_constraints_lazily() const;
2662  void _internal_set_add_lp_constraints_lazily(bool value);
2663  public:
2664 
2665  // optional bool exploit_integer_lp_solution = 94 [default = true];
2666  bool has_exploit_integer_lp_solution() const;
2667  private:
2668  bool _internal_has_exploit_integer_lp_solution() const;
2669  public:
2671  bool exploit_integer_lp_solution() const;
2673  private:
2674  bool _internal_exploit_integer_lp_solution() const;
2675  void _internal_set_exploit_integer_lp_solution(bool value);
2676  public:
2677 
2678  // optional bool exploit_all_lp_solution = 116 [default = true];
2679  bool has_exploit_all_lp_solution() const;
2680  private:
2681  bool _internal_has_exploit_all_lp_solution() const;
2682  public:
2684  bool exploit_all_lp_solution() const;
2686  private:
2687  bool _internal_exploit_all_lp_solution() const;
2688  void _internal_set_exploit_all_lp_solution(bool value);
2689  public:
2690 
2691  // optional double min_orthogonality_for_lp_constraints = 115 [default = 0.05];
2693  private:
2694  bool _internal_has_min_orthogonality_for_lp_constraints() const;
2695  public:
2697  double min_orthogonality_for_lp_constraints() const;
2699  private:
2700  double _internal_min_orthogonality_for_lp_constraints() const;
2701  void _internal_set_min_orthogonality_for_lp_constraints(double value);
2702  public:
2703 
2704  // optional int32 max_integer_rounding_scaling = 119 [default = 600];
2705  bool has_max_integer_rounding_scaling() const;
2706  private:
2707  bool _internal_has_max_integer_rounding_scaling() const;
2708  public:
2710  int32_t max_integer_rounding_scaling() const;
2712  private:
2713  int32_t _internal_max_integer_rounding_scaling() const;
2714  void _internal_set_max_integer_rounding_scaling(int32_t value);
2715  public:
2716 
2717  // optional int32 max_consecutive_inactive_count = 121 [default = 100];
2719  private:
2720  bool _internal_has_max_consecutive_inactive_count() const;
2721  public:
2723  int32_t max_consecutive_inactive_count() const;
2725  private:
2726  int32_t _internal_max_consecutive_inactive_count() const;
2727  void _internal_set_max_consecutive_inactive_count(int32_t value);
2728  public:
2729 
2730  // optional int64 pseudo_cost_reliability_threshold = 123 [default = 100];
2732  private:
2733  bool _internal_has_pseudo_cost_reliability_threshold() const;
2734  public:
2736  int64_t pseudo_cost_reliability_threshold() const;
2738  private:
2739  int64_t _internal_pseudo_cost_reliability_threshold() const;
2740  void _internal_set_pseudo_cost_reliability_threshold(int64_t value);
2741  public:
2742 
2743  // optional double mip_max_bound = 124 [default = 10000000];
2744  bool has_mip_max_bound() const;
2745  private:
2746  bool _internal_has_mip_max_bound() const;
2747  public:
2748  void clear_mip_max_bound();
2749  double mip_max_bound() const;
2750  void set_mip_max_bound(double value);
2751  private:
2752  double _internal_mip_max_bound() const;
2753  void _internal_set_mip_max_bound(double value);
2754  public:
2755 
2756  // optional int32 new_constraints_batch_size = 122 [default = 50];
2757  bool has_new_constraints_batch_size() const;
2758  private:
2759  bool _internal_has_new_constraints_batch_size() const;
2760  public:
2762  int32_t new_constraints_batch_size() const;
2763  void set_new_constraints_batch_size(int32_t value);
2764  private:
2765  int32_t _internal_new_constraints_batch_size() const;
2766  void _internal_set_new_constraints_batch_size(int32_t value);
2767  public:
2768 
2769  // optional int32 mip_max_activity_exponent = 127 [default = 53];
2770  bool has_mip_max_activity_exponent() const;
2771  private:
2772  bool _internal_has_mip_max_activity_exponent() const;
2773  public:
2775  int32_t mip_max_activity_exponent() const;
2776  void set_mip_max_activity_exponent(int32_t value);
2777  private:
2778  int32_t _internal_mip_max_activity_exponent() const;
2779  void _internal_set_mip_max_activity_exponent(int32_t value);
2780  public:
2781 
2782  // optional double mip_var_scaling = 125 [default = 1];
2783  bool has_mip_var_scaling() const;
2784  private:
2785  bool _internal_has_mip_var_scaling() const;
2786  public:
2787  void clear_mip_var_scaling();
2788  double mip_var_scaling() const;
2789  void set_mip_var_scaling(double value);
2790  private:
2791  double _internal_mip_var_scaling() const;
2792  void _internal_set_mip_var_scaling(double value);
2793  public:
2794 
2795  // optional double mip_wanted_precision = 126 [default = 1e-06];
2796  bool has_mip_wanted_precision() const;
2797  private:
2798  bool _internal_has_mip_wanted_precision() const;
2799  public:
2801  double mip_wanted_precision() const;
2802  void set_mip_wanted_precision(double value);
2803  private:
2804  double _internal_mip_wanted_precision() const;
2805  void _internal_set_mip_wanted_precision(double value);
2806  public:
2807 
2808  // optional double mip_check_precision = 128 [default = 0.0001];
2809  bool has_mip_check_precision() const;
2810  private:
2811  bool _internal_has_mip_check_precision() const;
2812  public:
2814  double mip_check_precision() const;
2815  void set_mip_check_precision(double value);
2816  private:
2817  double _internal_mip_check_precision() const;
2818  void _internal_set_mip_check_precision(double value);
2819  public:
2820 
2821  // optional bool share_level_zero_bounds = 114 [default = true];
2822  bool has_share_level_zero_bounds() const;
2823  private:
2824  bool _internal_has_share_level_zero_bounds() const;
2825  public:
2827  bool share_level_zero_bounds() const;
2829  private:
2830  bool _internal_share_level_zero_bounds() const;
2831  void _internal_set_share_level_zero_bounds(bool value);
2832  public:
2833 
2834  // optional bool use_rins_lns = 129 [default = true];
2835  bool has_use_rins_lns() const;
2836  private:
2837  bool _internal_has_use_rins_lns() const;
2838  public:
2839  void clear_use_rins_lns();
2840  bool use_rins_lns() const;
2841  void set_use_rins_lns(bool value);
2842  private:
2843  bool _internal_use_rins_lns() const;
2844  void _internal_set_use_rins_lns(bool value);
2845  public:
2846 
2847  // optional bool use_feasibility_pump = 164 [default = true];
2848  bool has_use_feasibility_pump() const;
2849  private:
2850  bool _internal_has_use_feasibility_pump() const;
2851  public:
2853  bool use_feasibility_pump() const;
2854  void set_use_feasibility_pump(bool value);
2855  private:
2856  bool _internal_use_feasibility_pump() const;
2857  void _internal_set_use_feasibility_pump(bool value);
2858  public:
2859 
2860  // optional bool use_optional_variables = 108 [default = true];
2861  bool has_use_optional_variables() const;
2862  private:
2863  bool _internal_has_use_optional_variables() const;
2864  public:
2866  bool use_optional_variables() const;
2867  void set_use_optional_variables(bool value);
2868  private:
2869  bool _internal_use_optional_variables() const;
2870  void _internal_set_use_optional_variables(bool value);
2871  public:
2872 
2873  // optional int32 interleave_batch_size = 134 [default = 1];
2874  bool has_interleave_batch_size() const;
2875  private:
2876  bool _internal_has_interleave_batch_size() const;
2877  public:
2879  int32_t interleave_batch_size() const;
2880  void set_interleave_batch_size(int32_t value);
2881  private:
2882  int32_t _internal_interleave_batch_size() const;
2883  void _internal_set_interleave_batch_size(int32_t value);
2884  public:
2885 
2886  // optional int32 max_presolve_iterations = 138 [default = 3];
2887  bool has_max_presolve_iterations() const;
2888  private:
2889  bool _internal_has_max_presolve_iterations() const;
2890  public:
2892  int32_t max_presolve_iterations() const;
2893  void set_max_presolve_iterations(int32_t value);
2894  private:
2895  int32_t _internal_max_presolve_iterations() const;
2896  void _internal_set_max_presolve_iterations(int32_t value);
2897  public:
2898 
2899  // optional bool use_exact_lp_reason = 109 [default = true];
2900  bool has_use_exact_lp_reason() const;
2901  private:
2902  bool _internal_has_use_exact_lp_reason() const;
2903  public:
2905  bool use_exact_lp_reason() const;
2906  void set_use_exact_lp_reason(bool value);
2907  private:
2908  bool _internal_use_exact_lp_reason() const;
2909  void _internal_set_use_exact_lp_reason(bool value);
2910  public:
2911 
2912  // optional bool catch_sigint_signal = 135 [default = true];
2913  bool has_catch_sigint_signal() const;
2914  private:
2915  bool _internal_has_catch_sigint_signal() const;
2916  public:
2918  bool catch_sigint_signal() const;
2919  void set_catch_sigint_signal(bool value);
2920  private:
2921  bool _internal_catch_sigint_signal() const;
2922  void _internal_set_catch_sigint_signal(bool value);
2923  public:
2924 
2925  // optional bool use_implied_bounds = 144 [default = true];
2926  bool has_use_implied_bounds() const;
2927  private:
2928  bool _internal_has_use_implied_bounds() const;
2929  public:
2930  void clear_use_implied_bounds();
2931  bool use_implied_bounds() const;
2932  void set_use_implied_bounds(bool value);
2933  private:
2934  bool _internal_use_implied_bounds() const;
2935  void _internal_set_use_implied_bounds(bool value);
2936  public:
2937 
2938  // optional bool convert_intervals = 177 [default = true];
2939  bool has_convert_intervals() const;
2940  private:
2941  bool _internal_has_convert_intervals() const;
2942  public:
2943  void clear_convert_intervals();
2944  bool convert_intervals() const;
2945  void set_convert_intervals(bool value);
2946  private:
2947  bool _internal_convert_intervals() const;
2948  void _internal_set_convert_intervals(bool value);
2949  public:
2950 
2951  // optional double merge_no_overlap_work_limit = 145 [default = 1000000000000];
2952  bool has_merge_no_overlap_work_limit() const;
2953  private:
2954  bool _internal_has_merge_no_overlap_work_limit() const;
2955  public:
2957  double merge_no_overlap_work_limit() const;
2959  private:
2960  double _internal_merge_no_overlap_work_limit() const;
2961  void _internal_set_merge_no_overlap_work_limit(double value);
2962  public:
2963 
2964  // optional bool add_cg_cuts = 117 [default = true];
2965  bool has_add_cg_cuts() const;
2966  private:
2967  bool _internal_has_add_cg_cuts() const;
2968  public:
2969  void clear_add_cg_cuts();
2970  bool add_cg_cuts() const;
2971  void set_add_cg_cuts(bool value);
2972  private:
2973  bool _internal_add_cg_cuts() const;
2974  void _internal_set_add_cg_cuts(bool value);
2975  public:
2976 
2977  // optional bool add_mir_cuts = 120 [default = true];
2978  bool has_add_mir_cuts() const;
2979  private:
2980  bool _internal_has_add_mir_cuts() const;
2981  public:
2982  void clear_add_mir_cuts();
2983  bool add_mir_cuts() const;
2984  void set_add_mir_cuts(bool value);
2985  private:
2986  bool _internal_add_mir_cuts() const;
2987  void _internal_set_add_mir_cuts(bool value);
2988  public:
2989 
2990  // optional bool add_zero_half_cuts = 169 [default = true];
2991  bool has_add_zero_half_cuts() const;
2992  private:
2993  bool _internal_has_add_zero_half_cuts() const;
2994  public:
2995  void clear_add_zero_half_cuts();
2996  bool add_zero_half_cuts() const;
2997  void set_add_zero_half_cuts(bool value);
2998  private:
2999  bool _internal_add_zero_half_cuts() const;
3000  void _internal_set_add_zero_half_cuts(bool value);
3001  public:
3002 
3003  // optional bool add_clique_cuts = 172 [default = true];
3004  bool has_add_clique_cuts() const;
3005  private:
3006  bool _internal_has_add_clique_cuts() const;
3007  public:
3008  void clear_add_clique_cuts();
3009  bool add_clique_cuts() const;
3010  void set_add_clique_cuts(bool value);
3011  private:
3012  bool _internal_add_clique_cuts() const;
3013  void _internal_set_add_clique_cuts(bool value);
3014  public:
3015 
3016  // optional int32 presolve_substitution_level = 147 [default = 1];
3017  bool has_presolve_substitution_level() const;
3018  private:
3019  bool _internal_has_presolve_substitution_level() const;
3020  public:
3022  int32_t presolve_substitution_level() const;
3023  void set_presolve_substitution_level(int32_t value);
3024  private:
3025  int32_t _internal_presolve_substitution_level() const;
3026  void _internal_set_presolve_substitution_level(int32_t value);
3027  public:
3028 
3029  // optional double merge_at_most_one_work_limit = 146 [default = 100000000];
3030  bool has_merge_at_most_one_work_limit() const;
3031  private:
3032  bool _internal_has_merge_at_most_one_work_limit() const;
3033  public:
3035  double merge_at_most_one_work_limit() const;
3037  private:
3038  double _internal_merge_at_most_one_work_limit() const;
3039  void _internal_set_merge_at_most_one_work_limit(double value);
3040  public:
3041 
3042  // optional int32 max_all_diff_cut_size = 148 [default = 7];
3043  bool has_max_all_diff_cut_size() const;
3044  private:
3045  bool _internal_has_max_all_diff_cut_size() const;
3046  public:
3048  int32_t max_all_diff_cut_size() const;
3049  void set_max_all_diff_cut_size(int32_t value);
3050  private:
3051  int32_t _internal_max_all_diff_cut_size() const;
3052  void _internal_set_max_all_diff_cut_size(int32_t value);
3053  public:
3054 
3055  // optional int32 hint_conflict_limit = 153 [default = 10];
3056  bool has_hint_conflict_limit() const;
3057  private:
3058  bool _internal_has_hint_conflict_limit() const;
3059  public:
3061  int32_t hint_conflict_limit() const;
3062  void set_hint_conflict_limit(int32_t value);
3063  private:
3064  int32_t _internal_hint_conflict_limit() const;
3065  void _internal_set_hint_conflict_limit(int32_t value);
3066  public:
3067 
3068  // optional double cut_max_active_count_value = 155 [default = 10000000000];
3069  bool has_cut_max_active_count_value() const;
3070  private:
3071  bool _internal_has_cut_max_active_count_value() const;
3072  public:
3074  double cut_max_active_count_value() const;
3076  private:
3077  double _internal_cut_max_active_count_value() const;
3078  void _internal_set_cut_max_active_count_value(double value);
3079  public:
3080 
3081  // optional int32 max_cut_rounds_at_level_zero = 154 [default = 1];
3082  bool has_max_cut_rounds_at_level_zero() const;
3083  private:
3084  bool _internal_has_max_cut_rounds_at_level_zero() const;
3085  public:
3087  int32_t max_cut_rounds_at_level_zero() const;
3089  private:
3090  int32_t _internal_max_cut_rounds_at_level_zero() const;
3091  void _internal_set_max_cut_rounds_at_level_zero(int32_t value);
3092  public:
3093 
3094  // optional int32 cut_cleanup_target = 157 [default = 1000];
3095  bool has_cut_cleanup_target() const;
3096  private:
3097  bool _internal_has_cut_cleanup_target() const;
3098  public:
3099  void clear_cut_cleanup_target();
3100  int32_t cut_cleanup_target() const;
3101  void set_cut_cleanup_target(int32_t value);
3102  private:
3103  int32_t _internal_cut_cleanup_target() const;
3104  void _internal_set_cut_cleanup_target(int32_t value);
3105  public:
3106 
3107  // optional double cut_active_count_decay = 156 [default = 0.8];
3108  bool has_cut_active_count_decay() const;
3109  private:
3110  bool _internal_has_cut_active_count_decay() const;
3111  public:
3113  double cut_active_count_decay() const;
3114  void set_cut_active_count_decay(double value);
3115  private:
3116  double _internal_cut_active_count_decay() const;
3117  void _internal_set_cut_active_count_decay(double value);
3118  public:
3119 
3120  // optional double absolute_gap_limit = 159 [default = 0.0001];
3121  bool has_absolute_gap_limit() const;
3122  private:
3123  bool _internal_has_absolute_gap_limit() const;
3124  public:
3125  void clear_absolute_gap_limit();
3126  double absolute_gap_limit() const;
3127  void set_absolute_gap_limit(double value);
3128  private:
3129  double _internal_absolute_gap_limit() const;
3130  void _internal_set_absolute_gap_limit(double value);
3131  public:
3132 
3133  // optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGATION_ASSISTED];
3134  bool has_fp_rounding() const;
3135  private:
3136  bool _internal_has_fp_rounding() const;
3137  public:
3138  void clear_fp_rounding();
3141  private:
3142  ::operations_research::sat::SatParameters_FPRoundingMethod _internal_fp_rounding() const;
3143  void _internal_set_fp_rounding(::operations_research::sat::SatParameters_FPRoundingMethod value);
3144  public:
3145 
3146  // optional int32 polarity_rephase_increment = 168 [default = 1000];
3147  bool has_polarity_rephase_increment() const;
3148  private:
3149  bool _internal_has_polarity_rephase_increment() const;
3150  public:
3152  int32_t polarity_rephase_increment() const;
3153  void set_polarity_rephase_increment(int32_t value);
3154  private:
3155  int32_t _internal_polarity_rephase_increment() const;
3156  void _internal_set_polarity_rephase_increment(int32_t value);
3157  public:
3158 
3159  // optional bool mip_automatically_scale_variables = 166 [default = true];
3161  private:
3162  bool _internal_has_mip_automatically_scale_variables() const;
3163  public:
3165  bool mip_automatically_scale_variables() const;
3167  private:
3168  bool _internal_mip_automatically_scale_variables() const;
3169  void _internal_set_mip_automatically_scale_variables(bool value);
3170  public:
3171 
3172  // optional bool mip_compute_true_objective_bound = 198 [default = true];
3174  private:
3175  bool _internal_has_mip_compute_true_objective_bound() const;
3176  public:
3178  bool mip_compute_true_objective_bound() const;
3180  private:
3181  bool _internal_mip_compute_true_objective_bound() const;
3182  void _internal_set_mip_compute_true_objective_bound(bool value);
3183  public:
3184 
3185  // optional int32 symmetry_level = 183 [default = 2];
3186  bool has_symmetry_level() const;
3187  private:
3188  bool _internal_has_symmetry_level() const;
3189  public:
3190  void clear_symmetry_level();
3191  int32_t symmetry_level() const;
3192  void set_symmetry_level(int32_t value);
3193  private:
3194  int32_t _internal_symmetry_level() const;
3195  void _internal_set_symmetry_level(int32_t value);
3196  public:
3197 
3198  // optional double clause_cleanup_ratio = 190 [default = 0.5];
3199  bool has_clause_cleanup_ratio() const;
3200  private:
3201  bool _internal_has_clause_cleanup_ratio() const;
3202  public:
3204  double clause_cleanup_ratio() const;
3205  void set_clause_cleanup_ratio(double value);
3206  private:
3207  double _internal_clause_cleanup_ratio() const;
3208  void _internal_set_clause_cleanup_ratio(double value);
3209  public:
3210 
3211  // optional int32 max_domain_size_when_encoding_eq_neq_constraints = 191 [default = 16];
3213  private:
3214  bool _internal_has_max_domain_size_when_encoding_eq_neq_constraints() const;
3215  public:
3219  private:
3220  int32_t _internal_max_domain_size_when_encoding_eq_neq_constraints() const;
3221  void _internal_set_max_domain_size_when_encoding_eq_neq_constraints(int32_t value);
3222  public:
3223 
3224  // optional int32 solution_pool_size = 193 [default = 3];
3225  bool has_solution_pool_size() const;
3226  private:
3227  bool _internal_has_solution_pool_size() const;
3228  public:
3229  void clear_solution_pool_size();
3230  int32_t solution_pool_size() const;
3231  void set_solution_pool_size(int32_t value);
3232  private:
3233  int32_t _internal_solution_pool_size() const;
3234  void _internal_set_solution_pool_size(int32_t value);
3235  public:
3236 
3237  // optional double mip_max_valid_magnitude = 199 [default = 1e+30];
3238  bool has_mip_max_valid_magnitude() const;
3239  private:
3240  bool _internal_has_mip_max_valid_magnitude() const;
3241  public:
3243  double mip_max_valid_magnitude() const;
3244  void set_mip_max_valid_magnitude(double value);
3245  private:
3246  double _internal_mip_max_valid_magnitude() const;
3247  void _internal_set_mip_max_valid_magnitude(double value);
3248  public:
3249 
3250  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
3251  private:
3252  class _Internal;
3253 
3254  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3255  typedef void InternalArenaConstructable_;
3256  typedef void DestructorSkippable_;
3257  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<6> _has_bits_;
3258  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3259  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> restart_algorithms_;
3260  static const ::PROTOBUF_NAMESPACE_ID::internal::LazyString _i_give_permission_to_break_this_code_default_default_restart_algorithms_;
3261  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_restart_algorithms_;
3262  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
3263  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr log_prefix_;
3264  int preferred_variable_order_;
3265  int32_t clause_cleanup_target_;
3266  double random_branches_ratio_;
3267  double random_polarity_ratio_;
3268  int max_sat_assumption_order_;
3269  int clause_cleanup_protection_;
3270  int clause_cleanup_ordering_;
3271  int32_t num_conflicts_before_strategy_changes_;
3272  double strategy_change_increase_ratio_;
3273  double initial_variables_activity_;
3274  int search_branching_;
3275  bool use_erwa_heuristic_;
3276  bool also_bump_variables_in_conflict_reasons_;
3277  bool use_blocking_restart_;
3278  bool permute_variable_randomly_;
3279  int32_t num_search_workers_;
3280  bool max_sat_reverse_assumption_order_;
3281  bool use_overload_checker_in_cumulative_constraint_;
3282  bool use_timetable_edge_finding_in_cumulative_constraint_;
3283  bool use_cumulative_in_no_overlap_2d_;
3284  int64_t search_randomization_tolerance_;
3285  bool use_pb_resolution_;
3286  bool minimize_reduction_during_pb_resolution_;
3287  bool use_sat_inprocessing_;
3288  bool expand_alldiff_constraints_;
3289  bool diversify_lns_params_;
3290  bool randomize_search_;
3291  bool use_branching_in_lp_;
3292  bool use_combined_no_overlap_;
3293  bool interleave_search_;
3294  bool reduce_memory_usage_in_interleave_mode_;
3295  bool use_lns_only_;
3296  bool use_relaxation_lns_;
3297  bool optimize_with_lb_tree_search_;
3298  bool optimize_with_max_hs_;
3299  bool enumerate_all_solutions_;
3300  bool keep_all_feasible_solutions_in_presolve_;
3301  bool exploit_best_solution_;
3302  bool exploit_relaxation_solution_;
3303  bool use_probing_search_;
3304  bool optimize_with_core_;
3305  bool fill_tightened_domains_in_response_;
3306  bool fill_additional_solutions_in_response_;
3307  bool stop_after_first_solution_;
3308  bool stop_after_presolve_;
3309  int64_t probing_period_at_root_;
3310  bool permute_presolve_constraint_order_;
3311  bool use_absl_random_;
3312  bool log_search_progress_;
3313  bool log_to_response_;
3314  int32_t debug_max_num_presolve_operations_;
3315  double relative_gap_limit_;
3316  bool only_add_cuts_at_level_zero_;
3317  bool add_objective_cut_;
3318  bool repair_hint_;
3319  bool fix_variables_to_their_hinted_value_;
3320  bool polish_lp_solution_;
3321  bool disable_constraint_expansion_;
3322  bool presolve_extract_integer_enforcement_;
3323  bool debug_postsolve_with_full_solver_;
3324  bool debug_crash_on_bad_hint_;
3325  int32_t cut_level_;
3326  int initial_polarity_;
3327  int minimization_algorithm_;
3328  double variable_activity_decay_;
3329  double max_variable_activity_value_;
3330  double clause_activity_decay_;
3331  int32_t clause_cleanup_period_;
3332  int32_t glucose_decay_increment_period_;
3333  double max_clause_activity_value_;
3334  double glucose_max_decay_;
3335  double glucose_decay_increment_;
3336  int32_t restart_period_;
3337  int32_t random_seed_;
3338  double max_time_in_seconds_;
3339  int64_t max_number_of_conflicts_;
3340  int64_t max_memory_in_mb_;
3341  int binary_minimization_algorithm_;
3342  int32_t pb_cleanup_increment_;
3343  double pb_cleanup_ratio_;
3344  int max_sat_stratification_;
3345  int32_t presolve_bve_threshold_;
3346  double presolve_probing_deterministic_time_limit_;
3347  int32_t presolve_bve_clause_weight_;
3348  int32_t clause_cleanup_lbd_bound_;
3349  double restart_dl_average_ratio_;
3350  int32_t restart_running_window_size_;
3351  int32_t blocking_restart_window_size_;
3352  double blocking_restart_multiplier_;
3353  double max_deterministic_time_;
3354  bool cp_model_presolve_;
3355  bool cp_model_use_sat_presolve_;
3356  bool use_optimization_hints_;
3357  bool minimize_core_;
3358  int32_t presolve_bva_threshold_;
3359  double restart_lbd_average_ratio_;
3360  bool use_phase_saving_;
3361  bool subsumption_during_conflict_analysis_;
3362  bool treat_binary_clauses_separately_;
3363  bool log_subsolver_statistics_;
3364  bool find_multiple_cores_;
3365  bool cover_optimization_;
3366  bool use_precedences_in_disjunctive_constraint_;
3367  bool use_disjunctive_constraint_in_cumulative_constraint_;
3368  int32_t linearization_level_;
3369  int32_t max_num_cuts_;
3370  int32_t minimize_with_propagation_restart_period_;
3371  int32_t minimize_with_propagation_num_decisions_;
3372  bool log_to_stdout_;
3373  bool count_assumption_levels_in_lbd_;
3374  bool presolve_blocked_clause_;
3375  bool presolve_use_bva_;
3376  int32_t binary_search_num_conflicts_;
3377  int32_t boolean_encoding_level_;
3378  int32_t cp_model_probing_level_;
3379  bool exploit_objective_;
3380  bool instantiate_all_variables_;
3381  bool auto_detect_greater_than_at_least_one_of_;
3382  bool share_objective_bounds_;
3383  bool add_lin_max_cuts_;
3384  bool add_lp_constraints_lazily_;
3385  bool exploit_integer_lp_solution_;
3386  bool exploit_all_lp_solution_;
3387  double min_orthogonality_for_lp_constraints_;
3388  int32_t max_integer_rounding_scaling_;
3389  int32_t max_consecutive_inactive_count_;
3390  int64_t pseudo_cost_reliability_threshold_;
3391  double mip_max_bound_;
3392  int32_t new_constraints_batch_size_;
3393  int32_t mip_max_activity_exponent_;
3394  double mip_var_scaling_;
3395  double mip_wanted_precision_;
3396  double mip_check_precision_;
3397  bool share_level_zero_bounds_;
3398  bool use_rins_lns_;
3399  bool use_feasibility_pump_;
3400  bool use_optional_variables_;
3401  int32_t interleave_batch_size_;
3402  int32_t max_presolve_iterations_;
3403  bool use_exact_lp_reason_;
3404  bool catch_sigint_signal_;
3405  bool use_implied_bounds_;
3406  bool convert_intervals_;
3407  double merge_no_overlap_work_limit_;
3408  bool add_cg_cuts_;
3409  bool add_mir_cuts_;
3410  bool add_zero_half_cuts_;
3411  bool add_clique_cuts_;
3412  int32_t presolve_substitution_level_;
3413  double merge_at_most_one_work_limit_;
3414  int32_t max_all_diff_cut_size_;
3415  int32_t hint_conflict_limit_;
3416  double cut_max_active_count_value_;
3417  int32_t max_cut_rounds_at_level_zero_;
3418  int32_t cut_cleanup_target_;
3419  double cut_active_count_decay_;
3420  double absolute_gap_limit_;
3421  int fp_rounding_;
3422  int32_t polarity_rephase_increment_;
3423  bool mip_automatically_scale_variables_;
3424  bool mip_compute_true_objective_bound_;
3425  int32_t symmetry_level_;
3426  double clause_cleanup_ratio_;
3427  int32_t max_domain_size_when_encoding_eq_neq_constraints_;
3428  int32_t solution_pool_size_;
3429  double mip_max_valid_magnitude_;
3430  friend struct ::TableStruct_ortools_2fsat_2fsat_5fparameters_2eproto;
3431 };
3432 // ===================================================================
3433 
3434 
3435 // ===================================================================
3436 
3437 #ifdef __GNUC__
3438  #pragma GCC diagnostic push
3439  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
3440 #endif // __GNUC__
3441 // SatParameters
3442 
3443 // optional string name = 171 [default = ""];
3444 inline bool SatParameters::_internal_has_name() const {
3445  bool value = (_has_bits_[0] & 0x00000002u) != 0;
3446  return value;
3447 }
3448 inline bool SatParameters::has_name() const {
3449  return _internal_has_name();
3450 }
3452  name_.ClearToEmpty();
3453  _has_bits_[0] &= ~0x00000002u;
3454 }
3455 inline const std::string& SatParameters::name() const {
3456  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.name)
3457  return _internal_name();
3458 }
3459 template <typename ArgT0, typename... ArgT>
3460 inline PROTOBUF_ALWAYS_INLINE
3461 void SatParameters::set_name(ArgT0&& arg0, ArgT... args) {
3462  _has_bits_[0] |= 0x00000002u;
3463  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
3464  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.name)
3465 }
3466 inline std::string* SatParameters::mutable_name() {
3467  std::string* _s = _internal_mutable_name();
3468  // @@protoc_insertion_point(field_mutable:operations_research.sat.SatParameters.name)
3469  return _s;
3470 }
3471 inline const std::string& SatParameters::_internal_name() const {
3472  return name_.Get();
3473 }
3474 inline void SatParameters::_internal_set_name(const std::string& value) {
3475  _has_bits_[0] |= 0x00000002u;
3476  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
3477 }
3478 inline std::string* SatParameters::_internal_mutable_name() {
3479  _has_bits_[0] |= 0x00000002u;
3480  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
3481 }
3482 inline std::string* SatParameters::release_name() {
3483  // @@protoc_insertion_point(field_release:operations_research.sat.SatParameters.name)
3484  if (!_internal_has_name()) {
3485  return nullptr;
3486  }
3487  _has_bits_[0] &= ~0x00000002u;
3488  auto* p = name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
3489 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
3490  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
3491  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
3492  }
3493 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
3494  return p;
3495 }
3496 inline void SatParameters::set_allocated_name(std::string* name) {
3497  if (name != nullptr) {
3498  _has_bits_[0] |= 0x00000002u;
3499  } else {
3500  _has_bits_[0] &= ~0x00000002u;
3501  }
3502  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
3503  GetArenaForAllocation());
3504 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
3505  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
3506  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
3507  }
3508 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
3509  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.SatParameters.name)
3510 }
3511 
3512 // optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default = IN_ORDER];
3513 inline bool SatParameters::_internal_has_preferred_variable_order() const {
3514  bool value = (_has_bits_[0] & 0x00000008u) != 0;
3515  return value;
3516 }
3518  return _internal_has_preferred_variable_order();
3519 }
3521  preferred_variable_order_ = 0;
3522  _has_bits_[0] &= ~0x00000008u;
3523 }
3524 inline ::operations_research::sat::SatParameters_VariableOrder SatParameters::_internal_preferred_variable_order() const {
3525  return static_cast< ::operations_research::sat::SatParameters_VariableOrder >(preferred_variable_order_);
3526 }
3528  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.preferred_variable_order)
3529  return _internal_preferred_variable_order();
3530 }
3531 inline void SatParameters::_internal_set_preferred_variable_order(::operations_research::sat::SatParameters_VariableOrder value) {
3533  _has_bits_[0] |= 0x00000008u;
3534  preferred_variable_order_ = value;
3535 }
3537  _internal_set_preferred_variable_order(value);
3538  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.preferred_variable_order)
3539 }
3540 
3541 // optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FALSE];
3542 inline bool SatParameters::_internal_has_initial_polarity() const {
3543  bool value = (_has_bits_[2] & 0x00000002u) != 0;
3544  return value;
3545 }
3547  return _internal_has_initial_polarity();
3548 }
3550  initial_polarity_ = 1;
3551  _has_bits_[2] &= ~0x00000002u;
3552 }
3553 inline ::operations_research::sat::SatParameters_Polarity SatParameters::_internal_initial_polarity() const {
3554  return static_cast< ::operations_research::sat::SatParameters_Polarity >(initial_polarity_);
3555 }
3557  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.initial_polarity)
3558  return _internal_initial_polarity();
3559 }
3560 inline void SatParameters::_internal_set_initial_polarity(::operations_research::sat::SatParameters_Polarity value) {
3562  _has_bits_[2] |= 0x00000002u;
3563  initial_polarity_ = value;
3564 }
3566  _internal_set_initial_polarity(value);
3567  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.initial_polarity)
3568 }
3569 
3570 // optional bool use_phase_saving = 44 [default = true];
3571 inline bool SatParameters::_internal_has_use_phase_saving() const {
3572  bool value = (_has_bits_[3] & 0x00000008u) != 0;
3573  return value;
3574 }
3576  return _internal_has_use_phase_saving();
3577 }
3579  use_phase_saving_ = true;
3580  _has_bits_[3] &= ~0x00000008u;
3581 }
3582 inline bool SatParameters::_internal_use_phase_saving() const {
3583  return use_phase_saving_;
3584 }
3585 inline bool SatParameters::use_phase_saving() const {
3586  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_phase_saving)
3587  return _internal_use_phase_saving();
3588 }
3589 inline void SatParameters::_internal_set_use_phase_saving(bool value) {
3590  _has_bits_[3] |= 0x00000008u;
3591  use_phase_saving_ = value;
3592 }
3594  _internal_set_use_phase_saving(value);
3595  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_phase_saving)
3596 }
3597 
3598 // optional int32 polarity_rephase_increment = 168 [default = 1000];
3599 inline bool SatParameters::_internal_has_polarity_rephase_increment() const {
3600  bool value = (_has_bits_[5] & 0x00000002u) != 0;
3601  return value;
3602 }
3604  return _internal_has_polarity_rephase_increment();
3605 }
3607  polarity_rephase_increment_ = 1000;
3608  _has_bits_[5] &= ~0x00000002u;
3609 }
3610 inline int32_t SatParameters::_internal_polarity_rephase_increment() const {
3611  return polarity_rephase_increment_;
3612 }
3614  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.polarity_rephase_increment)
3615  return _internal_polarity_rephase_increment();
3616 }
3617 inline void SatParameters::_internal_set_polarity_rephase_increment(int32_t value) {
3618  _has_bits_[5] |= 0x00000002u;
3619  polarity_rephase_increment_ = value;
3620 }
3622  _internal_set_polarity_rephase_increment(value);
3623  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.polarity_rephase_increment)
3624 }
3625 
3626 // optional double random_polarity_ratio = 45 [default = 0];
3627 inline bool SatParameters::_internal_has_random_polarity_ratio() const {
3628  bool value = (_has_bits_[0] & 0x00000040u) != 0;
3629  return value;
3630 }
3632  return _internal_has_random_polarity_ratio();
3633 }
3635  random_polarity_ratio_ = 0;
3636  _has_bits_[0] &= ~0x00000040u;
3637 }
3638 inline double SatParameters::_internal_random_polarity_ratio() const {
3639  return random_polarity_ratio_;
3640 }
3642  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_polarity_ratio)
3643  return _internal_random_polarity_ratio();
3644 }
3645 inline void SatParameters::_internal_set_random_polarity_ratio(double value) {
3646  _has_bits_[0] |= 0x00000040u;
3647  random_polarity_ratio_ = value;
3648 }
3650  _internal_set_random_polarity_ratio(value);
3651  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_polarity_ratio)
3652 }
3653 
3654 // optional double random_branches_ratio = 32 [default = 0];
3655 inline bool SatParameters::_internal_has_random_branches_ratio() const {
3656  bool value = (_has_bits_[0] & 0x00000020u) != 0;
3657  return value;
3658 }
3660  return _internal_has_random_branches_ratio();
3661 }
3663  random_branches_ratio_ = 0;
3664  _has_bits_[0] &= ~0x00000020u;
3665 }
3666 inline double SatParameters::_internal_random_branches_ratio() const {
3667  return random_branches_ratio_;
3668 }
3670  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_branches_ratio)
3671  return _internal_random_branches_ratio();
3672 }
3673 inline void SatParameters::_internal_set_random_branches_ratio(double value) {
3674  _has_bits_[0] |= 0x00000020u;
3675  random_branches_ratio_ = value;
3676 }
3678  _internal_set_random_branches_ratio(value);
3679  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_branches_ratio)
3680 }
3681 
3682 // optional bool use_erwa_heuristic = 75 [default = false];
3683 inline bool SatParameters::_internal_has_use_erwa_heuristic() const {
3684  bool value = (_has_bits_[0] & 0x00004000u) != 0;
3685  return value;
3686 }
3688  return _internal_has_use_erwa_heuristic();
3689 }
3691  use_erwa_heuristic_ = false;
3692  _has_bits_[0] &= ~0x00004000u;
3693 }
3694 inline bool SatParameters::_internal_use_erwa_heuristic() const {
3695  return use_erwa_heuristic_;
3696 }
3698  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_erwa_heuristic)
3699  return _internal_use_erwa_heuristic();
3700 }
3701 inline void SatParameters::_internal_set_use_erwa_heuristic(bool value) {
3702  _has_bits_[0] |= 0x00004000u;
3703  use_erwa_heuristic_ = value;
3704 }
3706  _internal_set_use_erwa_heuristic(value);
3707  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_erwa_heuristic)
3708 }
3709 
3710 // optional double initial_variables_activity = 76 [default = 0];
3711 inline bool SatParameters::_internal_has_initial_variables_activity() const {
3712  bool value = (_has_bits_[0] & 0x00001000u) != 0;
3713  return value;
3714 }
3716  return _internal_has_initial_variables_activity();
3717 }
3719  initial_variables_activity_ = 0;
3720  _has_bits_[0] &= ~0x00001000u;
3721 }
3722 inline double SatParameters::_internal_initial_variables_activity() const {
3723  return initial_variables_activity_;
3724 }
3726  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.initial_variables_activity)
3727  return _internal_initial_variables_activity();
3728 }
3729 inline void SatParameters::_internal_set_initial_variables_activity(double value) {
3730  _has_bits_[0] |= 0x00001000u;
3731  initial_variables_activity_ = value;
3732 }
3734  _internal_set_initial_variables_activity(value);
3735  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.initial_variables_activity)
3736 }
3737 
3738 // optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
3739 inline bool SatParameters::_internal_has_also_bump_variables_in_conflict_reasons() const {
3740  bool value = (_has_bits_[0] & 0x00008000u) != 0;
3741  return value;
3742 }
3744  return _internal_has_also_bump_variables_in_conflict_reasons();
3745 }
3747  also_bump_variables_in_conflict_reasons_ = false;
3748  _has_bits_[0] &= ~0x00008000u;
3749 }
3750 inline bool SatParameters::_internal_also_bump_variables_in_conflict_reasons() const {
3751  return also_bump_variables_in_conflict_reasons_;
3752 }
3754  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.also_bump_variables_in_conflict_reasons)
3755  return _internal_also_bump_variables_in_conflict_reasons();
3756 }
3757 inline void SatParameters::_internal_set_also_bump_variables_in_conflict_reasons(bool value) {
3758  _has_bits_[0] |= 0x00008000u;
3759  also_bump_variables_in_conflict_reasons_ = value;
3760 }
3762  _internal_set_also_bump_variables_in_conflict_reasons(value);
3763  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.also_bump_variables_in_conflict_reasons)
3764 }
3765 
3766 // optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm = 4 [default = RECURSIVE];
3767 inline bool SatParameters::_internal_has_minimization_algorithm() const {
3768  bool value = (_has_bits_[2] & 0x00000004u) != 0;
3769  return value;
3770 }
3772  return _internal_has_minimization_algorithm();
3773 }
3775  minimization_algorithm_ = 2;
3776  _has_bits_[2] &= ~0x00000004u;
3777 }
3778 inline ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm SatParameters::_internal_minimization_algorithm() const {
3779  return static_cast< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm >(minimization_algorithm_);
3780 }
3782  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimization_algorithm)
3783  return _internal_minimization_algorithm();
3784 }
3785 inline void SatParameters::_internal_set_minimization_algorithm(::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm value) {
3787  _has_bits_[2] |= 0x00000004u;
3788  minimization_algorithm_ = value;
3789 }
3791  _internal_set_minimization_algorithm(value);
3792  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimization_algorithm)
3793 }
3794 
3795 // optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorithm = 34 [default = BINARY_MINIMIZATION_FIRST];
3796 inline bool SatParameters::_internal_has_binary_minimization_algorithm() const {
3797  bool value = (_has_bits_[2] & 0x00010000u) != 0;
3798  return value;
3799 }
3801  return _internal_has_binary_minimization_algorithm();
3802 }
3804  binary_minimization_algorithm_ = 1;
3805  _has_bits_[2] &= ~0x00010000u;
3806 }
3807 inline ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm SatParameters::_internal_binary_minimization_algorithm() const {
3808  return static_cast< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm >(binary_minimization_algorithm_);
3809 }
3811  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.binary_minimization_algorithm)
3812  return _internal_binary_minimization_algorithm();
3813 }
3814 inline void SatParameters::_internal_set_binary_minimization_algorithm(::operations_research::sat::SatParameters_BinaryMinizationAlgorithm value) {
3816  _has_bits_[2] |= 0x00010000u;
3817  binary_minimization_algorithm_ = value;
3818 }
3820  _internal_set_binary_minimization_algorithm(value);
3821  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.binary_minimization_algorithm)
3822 }
3823 
3824 // optional bool subsumption_during_conflict_analysis = 56 [default = true];
3825 inline bool SatParameters::_internal_has_subsumption_during_conflict_analysis() const {
3826  bool value = (_has_bits_[3] & 0x00000010u) != 0;
3827  return value;
3828 }
3830  return _internal_has_subsumption_during_conflict_analysis();
3831 }
3833  subsumption_during_conflict_analysis_ = true;
3834  _has_bits_[3] &= ~0x00000010u;
3835 }
3836 inline bool SatParameters::_internal_subsumption_during_conflict_analysis() const {
3837  return subsumption_during_conflict_analysis_;
3838 }
3840  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.subsumption_during_conflict_analysis)
3841  return _internal_subsumption_during_conflict_analysis();
3842 }
3843 inline void SatParameters::_internal_set_subsumption_during_conflict_analysis(bool value) {
3844  _has_bits_[3] |= 0x00000010u;
3845  subsumption_during_conflict_analysis_ = value;
3846 }
3848  _internal_set_subsumption_during_conflict_analysis(value);
3849  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.subsumption_during_conflict_analysis)
3850 }
3851 
3852 // optional int32 clause_cleanup_period = 11 [default = 10000];
3853 inline bool SatParameters::_internal_has_clause_cleanup_period() const {
3854  bool value = (_has_bits_[2] & 0x00000040u) != 0;
3855  return value;
3856 }
3858  return _internal_has_clause_cleanup_period();
3859 }
3861  clause_cleanup_period_ = 10000;
3862  _has_bits_[2] &= ~0x00000040u;
3863 }
3864 inline int32_t SatParameters::_internal_clause_cleanup_period() const {
3865  return clause_cleanup_period_;
3866 }
3868  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_period)
3869  return _internal_clause_cleanup_period();
3870 }
3871 inline void SatParameters::_internal_set_clause_cleanup_period(int32_t value) {
3872  _has_bits_[2] |= 0x00000040u;
3873  clause_cleanup_period_ = value;
3874 }
3876  _internal_set_clause_cleanup_period(value);
3877  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_period)
3878 }
3879 
3880 // optional int32 clause_cleanup_target = 13 [default = 0];
3881 inline bool SatParameters::_internal_has_clause_cleanup_target() const {
3882  bool value = (_has_bits_[0] & 0x00000010u) != 0;
3883  return value;
3884 }
3886  return _internal_has_clause_cleanup_target();
3887 }
3889  clause_cleanup_target_ = 0;
3890  _has_bits_[0] &= ~0x00000010u;
3891 }
3892 inline int32_t SatParameters::_internal_clause_cleanup_target() const {
3893  return clause_cleanup_target_;
3894 }
3896  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_target)
3897  return _internal_clause_cleanup_target();
3898 }
3899 inline void SatParameters::_internal_set_clause_cleanup_target(int32_t value) {
3900  _has_bits_[0] |= 0x00000010u;
3901  clause_cleanup_target_ = value;
3902 }
3904  _internal_set_clause_cleanup_target(value);
3905  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_target)
3906 }
3907 
3908 // optional double clause_cleanup_ratio = 190 [default = 0.5];
3909 inline bool SatParameters::_internal_has_clause_cleanup_ratio() const {
3910  bool value = (_has_bits_[5] & 0x00000020u) != 0;
3911  return value;
3912 }
3914  return _internal_has_clause_cleanup_ratio();
3915 }
3917  clause_cleanup_ratio_ = 0.5;
3918  _has_bits_[5] &= ~0x00000020u;
3919 }
3920 inline double SatParameters::_internal_clause_cleanup_ratio() const {
3921  return clause_cleanup_ratio_;
3922 }
3924  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_ratio)
3925  return _internal_clause_cleanup_ratio();
3926 }
3927 inline void SatParameters::_internal_set_clause_cleanup_ratio(double value) {
3928  _has_bits_[5] |= 0x00000020u;
3929  clause_cleanup_ratio_ = value;
3930 }
3932  _internal_set_clause_cleanup_ratio(value);
3933  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_ratio)
3934 }
3935 
3936 // optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [default = PROTECTION_NONE];
3937 inline bool SatParameters::_internal_has_clause_cleanup_protection() const {
3938  bool value = (_has_bits_[0] & 0x00000100u) != 0;
3939  return value;
3940 }
3942  return _internal_has_clause_cleanup_protection();
3943 }
3945  clause_cleanup_protection_ = 0;
3946  _has_bits_[0] &= ~0x00000100u;
3947 }
3948 inline ::operations_research::sat::SatParameters_ClauseProtection SatParameters::_internal_clause_cleanup_protection() const {
3949  return static_cast< ::operations_research::sat::SatParameters_ClauseProtection >(clause_cleanup_protection_);
3950 }
3952  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_protection)
3953  return _internal_clause_cleanup_protection();
3954 }
3955 inline void SatParameters::_internal_set_clause_cleanup_protection(::operations_research::sat::SatParameters_ClauseProtection value) {
3957  _has_bits_[0] |= 0x00000100u;
3958  clause_cleanup_protection_ = value;
3959 }
3961  _internal_set_clause_cleanup_protection(value);
3962  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_protection)
3963 }
3964 
3965 // optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
3966 inline bool SatParameters::_internal_has_clause_cleanup_lbd_bound() const {
3967  bool value = (_has_bits_[2] & 0x00800000u) != 0;
3968  return value;
3969 }
3971  return _internal_has_clause_cleanup_lbd_bound();
3972 }
3974  clause_cleanup_lbd_bound_ = 5;
3975  _has_bits_[2] &= ~0x00800000u;
3976 }
3977 inline int32_t SatParameters::_internal_clause_cleanup_lbd_bound() const {
3978  return clause_cleanup_lbd_bound_;
3979 }
3981  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_lbd_bound)
3982  return _internal_clause_cleanup_lbd_bound();
3983 }
3984 inline void SatParameters::_internal_set_clause_cleanup_lbd_bound(int32_t value) {
3985  _has_bits_[2] |= 0x00800000u;
3986  clause_cleanup_lbd_bound_ = value;
3987 }
3989  _internal_set_clause_cleanup_lbd_bound(value);
3990  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_lbd_bound)
3991 }
3992 
3993 // optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default = CLAUSE_ACTIVITY];
3994 inline bool SatParameters::_internal_has_clause_cleanup_ordering() const {
3995  bool value = (_has_bits_[0] & 0x00000200u) != 0;
3996  return value;
3997 }
3999  return _internal_has_clause_cleanup_ordering();
4000 }
4002  clause_cleanup_ordering_ = 0;
4003  _has_bits_[0] &= ~0x00000200u;
4004 }
4005 inline ::operations_research::sat::SatParameters_ClauseOrdering SatParameters::_internal_clause_cleanup_ordering() const {
4006  return static_cast< ::operations_research::sat::SatParameters_ClauseOrdering >(clause_cleanup_ordering_);
4007 }
4009  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_ordering)
4010  return _internal_clause_cleanup_ordering();
4011 }
4012 inline void SatParameters::_internal_set_clause_cleanup_ordering(::operations_research::sat::SatParameters_ClauseOrdering value) {
4014  _has_bits_[0] |= 0x00000200u;
4015  clause_cleanup_ordering_ = value;
4016 }
4018  _internal_set_clause_cleanup_ordering(value);
4019  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_ordering)
4020 }
4021 
4022 // optional int32 pb_cleanup_increment = 46 [default = 200];
4023 inline bool SatParameters::_internal_has_pb_cleanup_increment() const {
4024  bool value = (_has_bits_[2] & 0x00020000u) != 0;
4025  return value;
4026 }
4028  return _internal_has_pb_cleanup_increment();
4029 }
4031  pb_cleanup_increment_ = 200;
4032  _has_bits_[2] &= ~0x00020000u;
4033 }
4034 inline int32_t SatParameters::_internal_pb_cleanup_increment() const {
4035  return pb_cleanup_increment_;
4036 }
4037 inline int32_t SatParameters::pb_cleanup_increment() const {
4038  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pb_cleanup_increment)
4039  return _internal_pb_cleanup_increment();
4040 }
4041 inline void SatParameters::_internal_set_pb_cleanup_increment(int32_t value) {
4042  _has_bits_[2] |= 0x00020000u;
4043  pb_cleanup_increment_ = value;
4044 }
4046  _internal_set_pb_cleanup_increment(value);
4047  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pb_cleanup_increment)
4048 }
4049 
4050 // optional double pb_cleanup_ratio = 47 [default = 0.5];
4051 inline bool SatParameters::_internal_has_pb_cleanup_ratio() const {
4052  bool value = (_has_bits_[2] & 0x00040000u) != 0;
4053  return value;
4054 }
4056  return _internal_has_pb_cleanup_ratio();
4057 }
4059  pb_cleanup_ratio_ = 0.5;
4060  _has_bits_[2] &= ~0x00040000u;
4061 }
4062 inline double SatParameters::_internal_pb_cleanup_ratio() const {
4063  return pb_cleanup_ratio_;
4064 }
4065 inline double SatParameters::pb_cleanup_ratio() const {
4066  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pb_cleanup_ratio)
4067  return _internal_pb_cleanup_ratio();
4068 }
4069 inline void SatParameters::_internal_set_pb_cleanup_ratio(double value) {
4070  _has_bits_[2] |= 0x00040000u;
4071  pb_cleanup_ratio_ = value;
4072 }
4074  _internal_set_pb_cleanup_ratio(value);
4075  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pb_cleanup_ratio)
4076 }
4077 
4078 // optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
4079 inline bool SatParameters::_internal_has_minimize_with_propagation_restart_period() const {
4080  bool value = (_has_bits_[3] & 0x00002000u) != 0;
4081  return value;
4082 }
4084  return _internal_has_minimize_with_propagation_restart_period();
4085 }
4087  minimize_with_propagation_restart_period_ = 10;
4088  _has_bits_[3] &= ~0x00002000u;
4089 }
4090 inline int32_t SatParameters::_internal_minimize_with_propagation_restart_period() const {
4091  return minimize_with_propagation_restart_period_;
4092 }
4094  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_with_propagation_restart_period)
4095  return _internal_minimize_with_propagation_restart_period();
4096 }
4097 inline void SatParameters::_internal_set_minimize_with_propagation_restart_period(int32_t value) {
4098  _has_bits_[3] |= 0x00002000u;
4099  minimize_with_propagation_restart_period_ = value;
4100 }
4102  _internal_set_minimize_with_propagation_restart_period(value);
4103  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_with_propagation_restart_period)
4104 }
4105 
4106 // optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
4107 inline bool SatParameters::_internal_has_minimize_with_propagation_num_decisions() const {
4108  bool value = (_has_bits_[3] & 0x00004000u) != 0;
4109  return value;
4110 }
4112  return _internal_has_minimize_with_propagation_num_decisions();
4113 }
4115  minimize_with_propagation_num_decisions_ = 1000;
4116  _has_bits_[3] &= ~0x00004000u;
4117 }
4118 inline int32_t SatParameters::_internal_minimize_with_propagation_num_decisions() const {
4119  return minimize_with_propagation_num_decisions_;
4120 }
4122  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_with_propagation_num_decisions)
4123  return _internal_minimize_with_propagation_num_decisions();
4124 }
4125 inline void SatParameters::_internal_set_minimize_with_propagation_num_decisions(int32_t value) {
4126  _has_bits_[3] |= 0x00004000u;
4127  minimize_with_propagation_num_decisions_ = value;
4128 }
4130  _internal_set_minimize_with_propagation_num_decisions(value);
4131  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_with_propagation_num_decisions)
4132 }
4133 
4134 // optional double variable_activity_decay = 15 [default = 0.8];
4135 inline bool SatParameters::_internal_has_variable_activity_decay() const {
4136  bool value = (_has_bits_[2] & 0x00000008u) != 0;
4137  return value;
4138 }
4140  return _internal_has_variable_activity_decay();
4141 }
4143  variable_activity_decay_ = 0.8;
4144  _has_bits_[2] &= ~0x00000008u;
4145 }
4146 inline double SatParameters::_internal_variable_activity_decay() const {
4147  return variable_activity_decay_;
4148 }
4150  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.variable_activity_decay)
4151  return _internal_variable_activity_decay();
4152 }
4153 inline void SatParameters::_internal_set_variable_activity_decay(double value) {
4154  _has_bits_[2] |= 0x00000008u;
4155  variable_activity_decay_ = value;
4156 }
4158  _internal_set_variable_activity_decay(value);
4159  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.variable_activity_decay)
4160 }
4161 
4162 // optional double max_variable_activity_value = 16 [default = 1e+100];
4163 inline bool SatParameters::_internal_has_max_variable_activity_value() const {
4164  bool value = (_has_bits_[2] & 0x00000010u) != 0;
4165  return value;
4166 }
4168  return _internal_has_max_variable_activity_value();
4169 }
4171  max_variable_activity_value_ = 1e+100;
4172  _has_bits_[2] &= ~0x00000010u;
4173 }
4174 inline double SatParameters::_internal_max_variable_activity_value() const {
4175  return max_variable_activity_value_;
4176 }
4178  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_variable_activity_value)
4179  return _internal_max_variable_activity_value();
4180 }
4181 inline void SatParameters::_internal_set_max_variable_activity_value(double value) {
4182  _has_bits_[2] |= 0x00000010u;
4183  max_variable_activity_value_ = value;
4184 }
4186  _internal_set_max_variable_activity_value(value);
4187  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_variable_activity_value)
4188 }
4189 
4190 // optional double glucose_max_decay = 22 [default = 0.95];
4191 inline bool SatParameters::_internal_has_glucose_max_decay() const {
4192  bool value = (_has_bits_[2] & 0x00000200u) != 0;
4193  return value;
4194 }
4196  return _internal_has_glucose_max_decay();
4197 }
4199  glucose_max_decay_ = 0.95;
4200  _has_bits_[2] &= ~0x00000200u;
4201 }
4202 inline double SatParameters::_internal_glucose_max_decay() const {
4203  return glucose_max_decay_;
4204 }
4205 inline double SatParameters::glucose_max_decay() const {
4206  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_max_decay)
4207  return _internal_glucose_max_decay();
4208 }
4209 inline void SatParameters::_internal_set_glucose_max_decay(double value) {
4210  _has_bits_[2] |= 0x00000200u;
4211  glucose_max_decay_ = value;
4212 }
4214  _internal_set_glucose_max_decay(value);
4215  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_max_decay)
4216 }
4217 
4218 // optional double glucose_decay_increment = 23 [default = 0.01];
4219 inline bool SatParameters::_internal_has_glucose_decay_increment() const {
4220  bool value = (_has_bits_[2] & 0x00000400u) != 0;
4221  return value;
4222 }
4224  return _internal_has_glucose_decay_increment();
4225 }
4227  glucose_decay_increment_ = 0.01;
4228  _has_bits_[2] &= ~0x00000400u;
4229 }
4230 inline double SatParameters::_internal_glucose_decay_increment() const {
4231  return glucose_decay_increment_;
4232 }
4234  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_decay_increment)
4235  return _internal_glucose_decay_increment();
4236 }
4237 inline void SatParameters::_internal_set_glucose_decay_increment(double value) {
4238  _has_bits_[2] |= 0x00000400u;
4239  glucose_decay_increment_ = value;
4240 }
4242  _internal_set_glucose_decay_increment(value);
4243  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_decay_increment)
4244 }
4245 
4246 // optional int32 glucose_decay_increment_period = 24 [default = 5000];
4247 inline bool SatParameters::_internal_has_glucose_decay_increment_period() const {
4248  bool value = (_has_bits_[2] & 0x00000080u) != 0;
4249  return value;
4250 }
4252  return _internal_has_glucose_decay_increment_period();
4253 }
4255  glucose_decay_increment_period_ = 5000;
4256  _has_bits_[2] &= ~0x00000080u;
4257 }
4258 inline int32_t SatParameters::_internal_glucose_decay_increment_period() const {
4259  return glucose_decay_increment_period_;
4260 }
4262  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_decay_increment_period)
4263  return _internal_glucose_decay_increment_period();
4264 }
4265 inline void SatParameters::_internal_set_glucose_decay_increment_period(int32_t value) {
4266  _has_bits_[2] |= 0x00000080u;
4267  glucose_decay_increment_period_ = value;
4268 }
4270  _internal_set_glucose_decay_increment_period(value);
4271  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_decay_increment_period)
4272 }
4273 
4274 // optional double clause_activity_decay = 17 [default = 0.999];
4275 inline bool SatParameters::_internal_has_clause_activity_decay() const {
4276  bool value = (_has_bits_[2] & 0x00000020u) != 0;
4277  return value;
4278 }
4280  return _internal_has_clause_activity_decay();
4281 }
4283  clause_activity_decay_ = 0.999;
4284  _has_bits_[2] &= ~0x00000020u;
4285 }
4286 inline double SatParameters::_internal_clause_activity_decay() const {
4287  return clause_activity_decay_;
4288 }
4290  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_activity_decay)
4291  return _internal_clause_activity_decay();
4292 }
4293 inline void SatParameters::_internal_set_clause_activity_decay(double value) {
4294  _has_bits_[2] |= 0x00000020u;
4295  clause_activity_decay_ = value;
4296 }
4298  _internal_set_clause_activity_decay(value);
4299  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_activity_decay)
4300 }
4301 
4302 // optional double max_clause_activity_value = 18 [default = 1e+20];
4303 inline bool SatParameters::_internal_has_max_clause_activity_value() const {
4304  bool value = (_has_bits_[2] & 0x00000100u) != 0;
4305  return value;
4306 }
4308  return _internal_has_max_clause_activity_value();
4309 }
4311  max_clause_activity_value_ = 1e+20;
4312  _has_bits_[2] &= ~0x00000100u;
4313 }
4314 inline double SatParameters::_internal_max_clause_activity_value() const {
4315  return max_clause_activity_value_;
4316 }
4318  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_clause_activity_value)
4319  return _internal_max_clause_activity_value();
4320 }
4321 inline void SatParameters::_internal_set_max_clause_activity_value(double value) {
4322  _has_bits_[2] |= 0x00000100u;
4323  max_clause_activity_value_ = value;
4324 }
4326  _internal_set_max_clause_activity_value(value);
4327  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_clause_activity_value)
4328 }
4329 
4330 // repeated .operations_research.sat.SatParameters.RestartAlgorithm restart_algorithms = 61;
4331 inline int SatParameters::_internal_restart_algorithms_size() const {
4332  return restart_algorithms_.size();
4333 }
4335  return _internal_restart_algorithms_size();
4336 }
4338  restart_algorithms_.Clear();
4339 }
4340 inline ::operations_research::sat::SatParameters_RestartAlgorithm SatParameters::_internal_restart_algorithms(int index) const {
4341  return static_cast< ::operations_research::sat::SatParameters_RestartAlgorithm >(restart_algorithms_.Get(index));
4342 }
4344  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_algorithms)
4345  return _internal_restart_algorithms(index);
4346 }
4349  restart_algorithms_.Set(index, value);
4350  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_algorithms)
4351 }
4352 inline void SatParameters::_internal_add_restart_algorithms(::operations_research::sat::SatParameters_RestartAlgorithm value) {
4354  restart_algorithms_.Add(value);
4355 }
4357  _internal_add_restart_algorithms(value);
4358  // @@protoc_insertion_point(field_add:operations_research.sat.SatParameters.restart_algorithms)
4359 }
4360 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
4362  // @@protoc_insertion_point(field_list:operations_research.sat.SatParameters.restart_algorithms)
4363  return restart_algorithms_;
4364 }
4365 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
4366 SatParameters::_internal_mutable_restart_algorithms() {
4367  return &restart_algorithms_;
4368 }
4369 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
4371  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SatParameters.restart_algorithms)
4372  return _internal_mutable_restart_algorithms();
4373 }
4374 
4375 // optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART"];
4376 inline bool SatParameters::_internal_has_default_restart_algorithms() const {
4377  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4378  return value;
4379 }
4381  return _internal_has_default_restart_algorithms();
4382 }
4384  default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArenaForAllocation());
4385  _has_bits_[0] &= ~0x00000001u;
4386 }
4387 inline const std::string& SatParameters::default_restart_algorithms() const {
4388  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.default_restart_algorithms)
4389  if (default_restart_algorithms_.IsDefault(nullptr)) return _i_give_permission_to_break_this_code_default_default_restart_algorithms_.get();
4390  return _internal_default_restart_algorithms();
4391 }
4392 template <typename ArgT0, typename... ArgT>
4393 inline PROTOBUF_ALWAYS_INLINE
4394 void SatParameters::set_default_restart_algorithms(ArgT0&& arg0, ArgT... args) {
4395  _has_bits_[0] |= 0x00000001u;
4396  default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
4397  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.default_restart_algorithms)
4398 }
4400  std::string* _s = _internal_mutable_default_restart_algorithms();
4401  // @@protoc_insertion_point(field_mutable:operations_research.sat.SatParameters.default_restart_algorithms)
4402  return _s;
4403 }
4404 inline const std::string& SatParameters::_internal_default_restart_algorithms() const {
4405  return default_restart_algorithms_.Get();
4406 }
4407 inline void SatParameters::_internal_set_default_restart_algorithms(const std::string& value) {
4408  _has_bits_[0] |= 0x00000001u;
4409  default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, value, GetArenaForAllocation());
4410 }
4411 inline std::string* SatParameters::_internal_mutable_default_restart_algorithms() {
4412  _has_bits_[0] |= 0x00000001u;
4413  return default_restart_algorithms_.Mutable(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArenaForAllocation());
4414 }
4416  // @@protoc_insertion_point(field_release:operations_research.sat.SatParameters.default_restart_algorithms)
4417  if (!_internal_has_default_restart_algorithms()) {
4418  return nullptr;
4419  }
4420  _has_bits_[0] &= ~0x00000001u;
4421  auto* p = default_restart_algorithms_.ReleaseNonDefault(nullptr, GetArenaForAllocation());
4422  return p;
4423 }
4425  if (default_restart_algorithms != nullptr) {
4426  _has_bits_[0] |= 0x00000001u;
4427  } else {
4428  _has_bits_[0] &= ~0x00000001u;
4429  }
4430  default_restart_algorithms_.SetAllocated(nullptr, default_restart_algorithms,
4431  GetArenaForAllocation());
4432  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.SatParameters.default_restart_algorithms)
4433 }
4434 
4435 // optional int32 restart_period = 30 [default = 50];
4436 inline bool SatParameters::_internal_has_restart_period() const {
4437  bool value = (_has_bits_[2] & 0x00000800u) != 0;
4438  return value;
4439 }
4441  return _internal_has_restart_period();
4442 }
4444  restart_period_ = 50;
4445  _has_bits_[2] &= ~0x00000800u;
4446 }
4447 inline int32_t SatParameters::_internal_restart_period() const {
4448  return restart_period_;
4449 }
4450 inline int32_t SatParameters::restart_period() const {
4451  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_period)
4452  return _internal_restart_period();
4453 }
4454 inline void SatParameters::_internal_set_restart_period(int32_t value) {
4455  _has_bits_[2] |= 0x00000800u;
4456  restart_period_ = value;
4457 }
4459  _internal_set_restart_period(value);
4460  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_period)
4461 }
4462 
4463 // optional int32 restart_running_window_size = 62 [default = 50];
4464 inline bool SatParameters::_internal_has_restart_running_window_size() const {
4465  bool value = (_has_bits_[2] & 0x02000000u) != 0;
4466  return value;
4467 }
4469  return _internal_has_restart_running_window_size();
4470 }
4472  restart_running_window_size_ = 50;
4473  _has_bits_[2] &= ~0x02000000u;
4474 }
4475 inline int32_t SatParameters::_internal_restart_running_window_size() const {
4476  return restart_running_window_size_;
4477 }
4479  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_running_window_size)
4480  return _internal_restart_running_window_size();
4481 }
4482 inline void SatParameters::_internal_set_restart_running_window_size(int32_t value) {
4483  _has_bits_[2] |= 0x02000000u;
4484  restart_running_window_size_ = value;
4485 }
4487  _internal_set_restart_running_window_size(value);
4488  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_running_window_size)
4489 }
4490 
4491 // optional double restart_dl_average_ratio = 63 [default = 1];
4492 inline bool SatParameters::_internal_has_restart_dl_average_ratio() const {
4493  bool value = (_has_bits_[2] & 0x01000000u) != 0;
4494  return value;
4495 }
4497  return _internal_has_restart_dl_average_ratio();
4498 }
4500  restart_dl_average_ratio_ = 1;
4501  _has_bits_[2] &= ~0x01000000u;
4502 }
4503 inline double SatParameters::_internal_restart_dl_average_ratio() const {
4504  return restart_dl_average_ratio_;
4505 }
4507  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_dl_average_ratio)
4508  return _internal_restart_dl_average_ratio();
4509 }
4510 inline void SatParameters::_internal_set_restart_dl_average_ratio(double value) {
4511  _has_bits_[2] |= 0x01000000u;
4512  restart_dl_average_ratio_ = value;
4513 }
4515  _internal_set_restart_dl_average_ratio(value);
4516  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_dl_average_ratio)
4517 }
4518 
4519 // optional double restart_lbd_average_ratio = 71 [default = 1];
4520 inline bool SatParameters::_internal_has_restart_lbd_average_ratio() const {
4521  bool value = (_has_bits_[3] & 0x00000004u) != 0;
4522  return value;
4523 }
4525  return _internal_has_restart_lbd_average_ratio();
4526 }
4528  restart_lbd_average_ratio_ = 1;
4529  _has_bits_[3] &= ~0x00000004u;
4530 }
4531 inline double SatParameters::_internal_restart_lbd_average_ratio() const {
4532  return restart_lbd_average_ratio_;
4533 }
4535  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_lbd_average_ratio)
4536  return _internal_restart_lbd_average_ratio();
4537 }
4538 inline void SatParameters::_internal_set_restart_lbd_average_ratio(double value) {
4539  _has_bits_[3] |= 0x00000004u;
4540  restart_lbd_average_ratio_ = value;
4541 }
4543  _internal_set_restart_lbd_average_ratio(value);
4544  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_lbd_average_ratio)
4545 }
4546 
4547 // optional bool use_blocking_restart = 64 [default = false];
4548 inline bool SatParameters::_internal_has_use_blocking_restart() const {
4549  bool value = (_has_bits_[0] & 0x00010000u) != 0;
4550  return value;
4551 }
4553  return _internal_has_use_blocking_restart();
4554 }
4556  use_blocking_restart_ = false;
4557  _has_bits_[0] &= ~0x00010000u;
4558 }
4559 inline bool SatParameters::_internal_use_blocking_restart() const {
4560  return use_blocking_restart_;
4561 }
4563  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_blocking_restart)
4564  return _internal_use_blocking_restart();
4565 }
4566 inline void SatParameters::_internal_set_use_blocking_restart(bool value) {
4567  _has_bits_[0] |= 0x00010000u;
4568  use_blocking_restart_ = value;
4569 }
4571  _internal_set_use_blocking_restart(value);
4572  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_blocking_restart)
4573 }
4574 
4575 // optional int32 blocking_restart_window_size = 65 [default = 5000];
4576 inline bool SatParameters::_internal_has_blocking_restart_window_size() const {
4577  bool value = (_has_bits_[2] & 0x04000000u) != 0;
4578  return value;
4579 }
4581  return _internal_has_blocking_restart_window_size();
4582 }
4584  blocking_restart_window_size_ = 5000;
4585  _has_bits_[2] &= ~0x04000000u;
4586 }
4587 inline int32_t SatParameters::_internal_blocking_restart_window_size() const {
4588  return blocking_restart_window_size_;
4589 }
4591  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.blocking_restart_window_size)
4592  return _internal_blocking_restart_window_size();
4593 }
4594 inline void SatParameters::_internal_set_blocking_restart_window_size(int32_t value) {
4595  _has_bits_[2] |= 0x04000000u;
4596  blocking_restart_window_size_ = value;
4597 }
4599  _internal_set_blocking_restart_window_size(value);
4600  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.blocking_restart_window_size)
4601 }
4602 
4603 // optional double blocking_restart_multiplier = 66 [default = 1.4];
4604 inline bool SatParameters::_internal_has_blocking_restart_multiplier() const {
4605  bool value = (_has_bits_[2] & 0x08000000u) != 0;
4606  return value;
4607 }
4609  return _internal_has_blocking_restart_multiplier();
4610 }
4612  blocking_restart_multiplier_ = 1.4;
4613  _has_bits_[2] &= ~0x08000000u;
4614 }
4615 inline double SatParameters::_internal_blocking_restart_multiplier() const {
4616  return blocking_restart_multiplier_;
4617 }
4619  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.blocking_restart_multiplier)
4620  return _internal_blocking_restart_multiplier();
4621 }
4622 inline void SatParameters::_internal_set_blocking_restart_multiplier(double value) {
4623  _has_bits_[2] |= 0x08000000u;
4624  blocking_restart_multiplier_ = value;
4625 }
4627  _internal_set_blocking_restart_multiplier(value);
4628  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.blocking_restart_multiplier)
4629 }
4630 
4631 // optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
4632 inline bool SatParameters::_internal_has_num_conflicts_before_strategy_changes() const {
4633  bool value = (_has_bits_[0] & 0x00000400u) != 0;
4634  return value;
4635 }
4637  return _internal_has_num_conflicts_before_strategy_changes();
4638 }
4640  num_conflicts_before_strategy_changes_ = 0;
4641  _has_bits_[0] &= ~0x00000400u;
4642 }
4643 inline int32_t SatParameters::_internal_num_conflicts_before_strategy_changes() const {
4644  return num_conflicts_before_strategy_changes_;
4645 }
4647  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.num_conflicts_before_strategy_changes)
4648  return _internal_num_conflicts_before_strategy_changes();
4649 }
4650 inline void SatParameters::_internal_set_num_conflicts_before_strategy_changes(int32_t value) {
4651  _has_bits_[0] |= 0x00000400u;
4652  num_conflicts_before_strategy_changes_ = value;
4653 }
4655  _internal_set_num_conflicts_before_strategy_changes(value);
4656  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.num_conflicts_before_strategy_changes)
4657 }
4658 
4659 // optional double strategy_change_increase_ratio = 69 [default = 0];
4660 inline bool SatParameters::_internal_has_strategy_change_increase_ratio() const {
4661  bool value = (_has_bits_[0] & 0x00000800u) != 0;
4662  return value;
4663 }
4665  return _internal_has_strategy_change_increase_ratio();
4666 }
4668  strategy_change_increase_ratio_ = 0;
4669  _has_bits_[0] &= ~0x00000800u;
4670 }
4671 inline double SatParameters::_internal_strategy_change_increase_ratio() const {
4672  return strategy_change_increase_ratio_;
4673 }
4675  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.strategy_change_increase_ratio)
4676  return _internal_strategy_change_increase_ratio();
4677 }
4678 inline void SatParameters::_internal_set_strategy_change_increase_ratio(double value) {
4679  _has_bits_[0] |= 0x00000800u;
4680  strategy_change_increase_ratio_ = value;
4681 }
4683  _internal_set_strategy_change_increase_ratio(value);
4684  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.strategy_change_increase_ratio)
4685 }
4686 
4687 // optional double max_time_in_seconds = 36 [default = inf];
4688 inline bool SatParameters::_internal_has_max_time_in_seconds() const {
4689  bool value = (_has_bits_[2] & 0x00002000u) != 0;
4690  return value;
4691 }
4693  return _internal_has_max_time_in_seconds();
4694 }
4696  max_time_in_seconds_ = std::numeric_limits<double>::infinity();
4697  _has_bits_[2] &= ~0x00002000u;
4698 }
4699 inline double SatParameters::_internal_max_time_in_seconds() const {
4700  return max_time_in_seconds_;
4701 }
4702 inline double SatParameters::max_time_in_seconds() const {
4703  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_time_in_seconds)
4704  return _internal_max_time_in_seconds();
4705 }
4706 inline void SatParameters::_internal_set_max_time_in_seconds(double value) {
4707  _has_bits_[2] |= 0x00002000u;
4708  max_time_in_seconds_ = value;
4709 }
4711  _internal_set_max_time_in_seconds(value);
4712  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_time_in_seconds)
4713 }
4714 
4715 // optional double max_deterministic_time = 67 [default = inf];
4716 inline bool SatParameters::_internal_has_max_deterministic_time() const {
4717  bool value = (_has_bits_[2] & 0x10000000u) != 0;
4718  return value;
4719 }
4721  return _internal_has_max_deterministic_time();
4722 }
4724  max_deterministic_time_ = std::numeric_limits<double>::infinity();
4725  _has_bits_[2] &= ~0x10000000u;
4726 }
4727 inline double SatParameters::_internal_max_deterministic_time() const {
4728  return max_deterministic_time_;
4729 }
4731  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_deterministic_time)
4732  return _internal_max_deterministic_time();
4733 }
4734 inline void SatParameters::_internal_set_max_deterministic_time(double value) {
4735  _has_bits_[2] |= 0x10000000u;
4736  max_deterministic_time_ = value;
4737 }
4739  _internal_set_max_deterministic_time(value);
4740  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_deterministic_time)
4741 }
4742 
4743 // optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
4744 inline bool SatParameters::_internal_has_max_number_of_conflicts() const {
4745  bool value = (_has_bits_[2] & 0x00004000u) != 0;
4746  return value;
4747 }
4749  return _internal_has_max_number_of_conflicts();
4750 }
4752  max_number_of_conflicts_ = int64_t{9223372036854775807};
4753  _has_bits_[2] &= ~0x00004000u;
4754 }
4755 inline int64_t SatParameters::_internal_max_number_of_conflicts() const {
4756  return max_number_of_conflicts_;
4757 }
4759  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_number_of_conflicts)
4760  return _internal_max_number_of_conflicts();
4761 }
4762 inline void SatParameters::_internal_set_max_number_of_conflicts(int64_t value) {
4763  _has_bits_[2] |= 0x00004000u;
4764  max_number_of_conflicts_ = value;
4765 }
4767  _internal_set_max_number_of_conflicts(value);
4768  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_number_of_conflicts)
4769 }
4770 
4771 // optional int64 max_memory_in_mb = 40 [default = 10000];
4772 inline bool SatParameters::_internal_has_max_memory_in_mb() const {
4773  bool value = (_has_bits_[2] & 0x00008000u) != 0;
4774  return value;
4775 }
4777  return _internal_has_max_memory_in_mb();
4778 }
4780  max_memory_in_mb_ = int64_t{10000};
4781  _has_bits_[2] &= ~0x00008000u;
4782 }
4783 inline int64_t SatParameters::_internal_max_memory_in_mb() const {
4784  return max_memory_in_mb_;
4785 }
4786 inline int64_t SatParameters::max_memory_in_mb() const {
4787  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_memory_in_mb)
4788  return _internal_max_memory_in_mb();
4789 }
4790 inline void SatParameters::_internal_set_max_memory_in_mb(int64_t value) {
4791  _has_bits_[2] |= 0x00008000u;
4792  max_memory_in_mb_ = value;
4793 }
4795  _internal_set_max_memory_in_mb(value);
4796  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_memory_in_mb)
4797 }
4798 
4799 // optional double absolute_gap_limit = 159 [default = 0.0001];
4800 inline bool SatParameters::_internal_has_absolute_gap_limit() const {
4801  bool value = (_has_bits_[4] & 0x80000000u) != 0;
4802  return value;
4803 }
4805  return _internal_has_absolute_gap_limit();
4806 }
4808  absolute_gap_limit_ = 0.0001;
4809  _has_bits_[4] &= ~0x80000000u;
4810 }
4811 inline double SatParameters::_internal_absolute_gap_limit() const {
4812  return absolute_gap_limit_;
4813 }
4814 inline double SatParameters::absolute_gap_limit() const {
4815  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.absolute_gap_limit)
4816  return _internal_absolute_gap_limit();
4817 }
4818 inline void SatParameters::_internal_set_absolute_gap_limit(double value) {
4819  _has_bits_[4] |= 0x80000000u;
4820  absolute_gap_limit_ = value;
4821 }
4823  _internal_set_absolute_gap_limit(value);
4824  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.absolute_gap_limit)
4825 }
4826 
4827 // optional double relative_gap_limit = 160 [default = 0];
4828 inline bool SatParameters::_internal_has_relative_gap_limit() const {
4829  bool value = (_has_bits_[1] & 0x00400000u) != 0;
4830  return value;
4831 }
4833  return _internal_has_relative_gap_limit();
4834 }
4836  relative_gap_limit_ = 0;
4837  _has_bits_[1] &= ~0x00400000u;
4838 }
4839 inline double SatParameters::_internal_relative_gap_limit() const {
4840  return relative_gap_limit_;
4841 }
4842 inline double SatParameters::relative_gap_limit() const {
4843  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.relative_gap_limit)
4844  return _internal_relative_gap_limit();
4845 }
4846 inline void SatParameters::_internal_set_relative_gap_limit(double value) {
4847  _has_bits_[1] |= 0x00400000u;
4848  relative_gap_limit_ = value;
4849 }
4851  _internal_set_relative_gap_limit(value);
4852  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.relative_gap_limit)
4853 }
4854 
4855 // optional bool treat_binary_clauses_separately = 33 [default = true];
4856 inline bool SatParameters::_internal_has_treat_binary_clauses_separately() const {
4857  bool value = (_has_bits_[3] & 0x00000020u) != 0;
4858  return value;
4859 }
4861  return _internal_has_treat_binary_clauses_separately();
4862 }
4864  treat_binary_clauses_separately_ = true;
4865  _has_bits_[3] &= ~0x00000020u;
4866 }
4867 inline bool SatParameters::_internal_treat_binary_clauses_separately() const {
4868  return treat_binary_clauses_separately_;
4869 }
4871  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.treat_binary_clauses_separately)
4872  return _internal_treat_binary_clauses_separately();
4873 }
4874 inline void SatParameters::_internal_set_treat_binary_clauses_separately(bool value) {
4875  _has_bits_[3] |= 0x00000020u;
4876  treat_binary_clauses_separately_ = value;
4877 }
4879  _internal_set_treat_binary_clauses_separately(value);
4880  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.treat_binary_clauses_separately)
4881 }
4882 
4883 // optional int32 random_seed = 31 [default = 1];
4884 inline bool SatParameters::_internal_has_random_seed() const {
4885  bool value = (_has_bits_[2] & 0x00001000u) != 0;
4886  return value;
4887 }
4888 inline bool SatParameters::has_random_seed() const {
4889  return _internal_has_random_seed();
4890 }
4892  random_seed_ = 1;
4893  _has_bits_[2] &= ~0x00001000u;
4894 }
4895 inline int32_t SatParameters::_internal_random_seed() const {
4896  return random_seed_;
4897 }
4898 inline int32_t SatParameters::random_seed() const {
4899  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_seed)
4900  return _internal_random_seed();
4901 }
4902 inline void SatParameters::_internal_set_random_seed(int32_t value) {
4903  _has_bits_[2] |= 0x00001000u;
4904  random_seed_ = value;
4905 }
4907  _internal_set_random_seed(value);
4908  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_seed)
4909 }
4910 
4911 // optional bool permute_variable_randomly = 178 [default = false];
4912 inline bool SatParameters::_internal_has_permute_variable_randomly() const {
4913  bool value = (_has_bits_[0] & 0x00020000u) != 0;
4914  return value;
4915 }
4917  return _internal_has_permute_variable_randomly();
4918 }
4920  permute_variable_randomly_ = false;
4921  _has_bits_[0] &= ~0x00020000u;
4922 }
4923 inline bool SatParameters::_internal_permute_variable_randomly() const {
4924  return permute_variable_randomly_;
4925 }
4927  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.permute_variable_randomly)
4928  return _internal_permute_variable_randomly();
4929 }
4930 inline void SatParameters::_internal_set_permute_variable_randomly(bool value) {
4931  _has_bits_[0] |= 0x00020000u;
4932  permute_variable_randomly_ = value;
4933 }
4935  _internal_set_permute_variable_randomly(value);
4936  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.permute_variable_randomly)
4937 }
4938 
4939 // optional bool permute_presolve_constraint_order = 179 [default = false];
4940 inline bool SatParameters::_internal_has_permute_presolve_constraint_order() const {
4941  bool value = (_has_bits_[1] & 0x00020000u) != 0;
4942  return value;
4943 }
4945  return _internal_has_permute_presolve_constraint_order();
4946 }
4948  permute_presolve_constraint_order_ = false;
4949  _has_bits_[1] &= ~0x00020000u;
4950 }
4951 inline bool SatParameters::_internal_permute_presolve_constraint_order() const {
4952  return permute_presolve_constraint_order_;
4953 }
4955  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.permute_presolve_constraint_order)
4956  return _internal_permute_presolve_constraint_order();
4957 }
4958 inline void SatParameters::_internal_set_permute_presolve_constraint_order(bool value) {
4959  _has_bits_[1] |= 0x00020000u;
4960  permute_presolve_constraint_order_ = value;
4961 }
4963  _internal_set_permute_presolve_constraint_order(value);
4964  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.permute_presolve_constraint_order)
4965 }
4966 
4967 // optional bool use_absl_random = 180 [default = false];
4968 inline bool SatParameters::_internal_has_use_absl_random() const {
4969  bool value = (_has_bits_[1] & 0x00040000u) != 0;
4970  return value;
4971 }
4973  return _internal_has_use_absl_random();
4974 }
4976  use_absl_random_ = false;
4977  _has_bits_[1] &= ~0x00040000u;
4978 }
4979 inline bool SatParameters::_internal_use_absl_random() const {
4980  return use_absl_random_;
4981 }
4982 inline bool SatParameters::use_absl_random() const {
4983  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_absl_random)
4984  return _internal_use_absl_random();
4985 }
4986 inline void SatParameters::_internal_set_use_absl_random(bool value) {
4987  _has_bits_[1] |= 0x00040000u;
4988  use_absl_random_ = value;
4989 }
4991  _internal_set_use_absl_random(value);
4992  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_absl_random)
4993 }
4994 
4995 // optional bool log_search_progress = 41 [default = false];
4996 inline bool SatParameters::_internal_has_log_search_progress() const {
4997  bool value = (_has_bits_[1] & 0x00080000u) != 0;
4998  return value;
4999 }
5001  return _internal_has_log_search_progress();
5002 }
5004  log_search_progress_ = false;
5005  _has_bits_[1] &= ~0x00080000u;
5006 }
5007 inline bool SatParameters::_internal_log_search_progress() const {
5008  return log_search_progress_;
5009 }
5011  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.log_search_progress)
5012  return _internal_log_search_progress();
5013 }
5014 inline void SatParameters::_internal_set_log_search_progress(bool value) {
5015  _has_bits_[1] |= 0x00080000u;
5016  log_search_progress_ = value;
5017 }
5019  _internal_set_log_search_progress(value);
5020  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.log_search_progress)
5021 }
5022 
5023 // optional bool log_subsolver_statistics = 189 [default = true];
5024 inline bool SatParameters::_internal_has_log_subsolver_statistics() const {
5025  bool value = (_has_bits_[3] & 0x00000040u) != 0;
5026  return value;
5027 }
5029  return _internal_has_log_subsolver_statistics();
5030 }
5032  log_subsolver_statistics_ = true;
5033  _has_bits_[3] &= ~0x00000040u;
5034 }
5035 inline bool SatParameters::_internal_log_subsolver_statistics() const {
5036  return log_subsolver_statistics_;
5037 }
5039  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.log_subsolver_statistics)
5040  return _internal_log_subsolver_statistics();
5041 }
5042 inline void SatParameters::_internal_set_log_subsolver_statistics(bool value) {
5043  _has_bits_[3] |= 0x00000040u;
5044  log_subsolver_statistics_ = value;
5045 }
5047  _internal_set_log_subsolver_statistics(value);
5048  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.log_subsolver_statistics)
5049 }
5050 
5051 // optional string log_prefix = 185 [default = ""];
5052 inline bool SatParameters::_internal_has_log_prefix() const {
5053  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5054  return value;
5055 }
5056 inline bool SatParameters::has_log_prefix() const {
5057  return _internal_has_log_prefix();
5058 }
5060  log_prefix_.ClearToEmpty();
5061  _has_bits_[0] &= ~0x00000004u;
5062 }
5063 inline const std::string& SatParameters::log_prefix() const {
5064  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.log_prefix)
5065  return _internal_log_prefix();
5066 }
5067 template <typename ArgT0, typename... ArgT>
5068 inline PROTOBUF_ALWAYS_INLINE
5069 void SatParameters::set_log_prefix(ArgT0&& arg0, ArgT... args) {
5070  _has_bits_[0] |= 0x00000004u;
5071  log_prefix_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
5072  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.log_prefix)
5073 }
5074 inline std::string* SatParameters::mutable_log_prefix() {
5075  std::string* _s = _internal_mutable_log_prefix();
5076  // @@protoc_insertion_point(field_mutable:operations_research.sat.SatParameters.log_prefix)
5077  return _s;
5078 }
5079 inline const std::string& SatParameters::_internal_log_prefix() const {
5080  return log_prefix_.Get();
5081 }
5082 inline void SatParameters::_internal_set_log_prefix(const std::string& value) {
5083  _has_bits_[0] |= 0x00000004u;
5084  log_prefix_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
5085 }
5086 inline std::string* SatParameters::_internal_mutable_log_prefix() {
5087  _has_bits_[0] |= 0x00000004u;
5088  return log_prefix_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
5089 }
5090 inline std::string* SatParameters::release_log_prefix() {
5091  // @@protoc_insertion_point(field_release:operations_research.sat.SatParameters.log_prefix)
5092  if (!_internal_has_log_prefix()) {
5093  return nullptr;
5094  }
5095  _has_bits_[0] &= ~0x00000004u;
5096  auto* p = log_prefix_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
5097 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
5098  if (log_prefix_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
5099  log_prefix_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
5100  }
5101 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
5102  return p;
5103 }
5105  if (log_prefix != nullptr) {
5106  _has_bits_[0] |= 0x00000004u;
5107  } else {
5108  _has_bits_[0] &= ~0x00000004u;
5109  }
5110  log_prefix_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), log_prefix,
5111  GetArenaForAllocation());
5112 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
5113  if (log_prefix_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
5114  log_prefix_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
5115  }
5116 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
5117  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.SatParameters.log_prefix)
5118 }
5119 
5120 // optional bool log_to_stdout = 186 [default = true];
5121 inline bool SatParameters::_internal_has_log_to_stdout() const {
5122  bool value = (_has_bits_[3] & 0x00008000u) != 0;
5123  return value;
5124 }
5126  return _internal_has_log_to_stdout();
5127 }
5129  log_to_stdout_ = true;
5130  _has_bits_[3] &= ~0x00008000u;
5131 }
5132 inline bool SatParameters::_internal_log_to_stdout() const {
5133  return log_to_stdout_;
5134 }
5135 inline bool SatParameters::log_to_stdout() const {
5136  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.log_to_stdout)
5137  return _internal_log_to_stdout();
5138 }
5139 inline void SatParameters::_internal_set_log_to_stdout(bool value) {
5140  _has_bits_[3] |= 0x00008000u;
5141  log_to_stdout_ = value;
5142 }
5144  _internal_set_log_to_stdout(value);
5145  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.log_to_stdout)
5146 }
5147 
5148 // optional bool log_to_response = 187 [default = false];
5149 inline bool SatParameters::_internal_has_log_to_response() const {
5150  bool value = (_has_bits_[1] & 0x00100000u) != 0;
5151  return value;
5152 }
5154  return _internal_has_log_to_response();
5155 }
5157  log_to_response_ = false;
5158  _has_bits_[1] &= ~0x00100000u;
5159 }
5160 inline bool SatParameters::_internal_log_to_response() const {
5161  return log_to_response_;
5162 }
5163 inline bool SatParameters::log_to_response() const {
5164  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.log_to_response)
5165  return _internal_log_to_response();
5166 }
5167 inline void SatParameters::_internal_set_log_to_response(bool value) {
5168  _has_bits_[1] |= 0x00100000u;
5169  log_to_response_ = value;
5170 }
5172  _internal_set_log_to_response(value);
5173  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.log_to_response)
5174 }
5175 
5176 // optional bool use_pb_resolution = 43 [default = false];
5177 inline bool SatParameters::_internal_has_use_pb_resolution() const {
5178  bool value = (_has_bits_[0] & 0x01000000u) != 0;
5179  return value;
5180 }
5182  return _internal_has_use_pb_resolution();
5183 }
5185  use_pb_resolution_ = false;
5186  _has_bits_[0] &= ~0x01000000u;
5187 }
5188 inline bool SatParameters::_internal_use_pb_resolution() const {
5189  return use_pb_resolution_;
5190 }
5192  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_pb_resolution)
5193  return _internal_use_pb_resolution();
5194 }
5195 inline void SatParameters::_internal_set_use_pb_resolution(bool value) {
5196  _has_bits_[0] |= 0x01000000u;
5197  use_pb_resolution_ = value;
5198 }
5200  _internal_set_use_pb_resolution(value);
5201  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_pb_resolution)
5202 }
5203 
5204 // optional bool minimize_reduction_during_pb_resolution = 48 [default = false];
5205 inline bool SatParameters::_internal_has_minimize_reduction_during_pb_resolution() const {
5206  bool value = (_has_bits_[0] & 0x02000000u) != 0;
5207  return value;
5208 }
5210  return _internal_has_minimize_reduction_during_pb_resolution();
5211 }
5213  minimize_reduction_during_pb_resolution_ = false;
5214  _has_bits_[0] &= ~0x02000000u;
5215 }
5216 inline bool SatParameters::_internal_minimize_reduction_during_pb_resolution() const {
5217  return minimize_reduction_during_pb_resolution_;
5218 }
5220  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_reduction_during_pb_resolution)
5221  return _internal_minimize_reduction_during_pb_resolution();
5222 }
5223 inline void SatParameters::_internal_set_minimize_reduction_during_pb_resolution(bool value) {
5224  _has_bits_[0] |= 0x02000000u;
5225  minimize_reduction_during_pb_resolution_ = value;
5226 }
5228  _internal_set_minimize_reduction_during_pb_resolution(value);
5229  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_reduction_during_pb_resolution)
5230 }
5231 
5232 // optional bool count_assumption_levels_in_lbd = 49 [default = true];
5233 inline bool SatParameters::_internal_has_count_assumption_levels_in_lbd() const {
5234  bool value = (_has_bits_[3] & 0x00010000u) != 0;
5235  return value;
5236 }
5238  return _internal_has_count_assumption_levels_in_lbd();
5239 }
5241  count_assumption_levels_in_lbd_ = true;
5242  _has_bits_[3] &= ~0x00010000u;
5243 }
5244 inline bool SatParameters::_internal_count_assumption_levels_in_lbd() const {
5245  return count_assumption_levels_in_lbd_;
5246 }
5248  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.count_assumption_levels_in_lbd)
5249  return _internal_count_assumption_levels_in_lbd();
5250 }
5251 inline void SatParameters::_internal_set_count_assumption_levels_in_lbd(bool value) {
5252  _has_bits_[3] |= 0x00010000u;
5253  count_assumption_levels_in_lbd_ = value;
5254 }
5256  _internal_set_count_assumption_levels_in_lbd(value);
5257  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.count_assumption_levels_in_lbd)
5258 }
5259 
5260 // optional int32 presolve_bve_threshold = 54 [default = 500];
5261 inline bool SatParameters::_internal_has_presolve_bve_threshold() const {
5262  bool value = (_has_bits_[2] & 0x00100000u) != 0;
5263  return value;
5264 }
5266  return _internal_has_presolve_bve_threshold();
5267 }
5269  presolve_bve_threshold_ = 500;
5270  _has_bits_[2] &= ~0x00100000u;
5271 }
5272 inline int32_t SatParameters::_internal_presolve_bve_threshold() const {
5273  return presolve_bve_threshold_;
5274 }
5276  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bve_threshold)
5277  return _internal_presolve_bve_threshold();
5278 }
5279 inline void SatParameters::_internal_set_presolve_bve_threshold(int32_t value) {
5280  _has_bits_[2] |= 0x00100000u;
5281  presolve_bve_threshold_ = value;
5282 }
5284  _internal_set_presolve_bve_threshold(value);
5285  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bve_threshold)
5286 }
5287 
5288 // optional int32 presolve_bve_clause_weight = 55 [default = 3];
5289 inline bool SatParameters::_internal_has_presolve_bve_clause_weight() const {
5290  bool value = (_has_bits_[2] & 0x00400000u) != 0;
5291  return value;
5292 }
5294  return _internal_has_presolve_bve_clause_weight();
5295 }
5297  presolve_bve_clause_weight_ = 3;
5298  _has_bits_[2] &= ~0x00400000u;
5299 }
5300 inline int32_t SatParameters::_internal_presolve_bve_clause_weight() const {
5301  return presolve_bve_clause_weight_;
5302 }
5304  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bve_clause_weight)
5305  return _internal_presolve_bve_clause_weight();
5306 }
5307 inline void SatParameters::_internal_set_presolve_bve_clause_weight(int32_t value) {
5308  _has_bits_[2] |= 0x00400000u;
5309  presolve_bve_clause_weight_ = value;
5310 }
5312  _internal_set_presolve_bve_clause_weight(value);
5313  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bve_clause_weight)
5314 }
5315 
5316 // optional double presolve_probing_deterministic_time_limit = 57 [default = 30];
5317 inline bool SatParameters::_internal_has_presolve_probing_deterministic_time_limit() const {
5318  bool value = (_has_bits_[2] & 0x00200000u) != 0;
5319  return value;
5320 }
5322  return _internal_has_presolve_probing_deterministic_time_limit();
5323 }
5325  presolve_probing_deterministic_time_limit_ = 30;
5326  _has_bits_[2] &= ~0x00200000u;
5327 }
5328 inline double SatParameters::_internal_presolve_probing_deterministic_time_limit() const {
5329  return presolve_probing_deterministic_time_limit_;
5330 }
5332  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_probing_deterministic_time_limit)
5333  return _internal_presolve_probing_deterministic_time_limit();
5334 }
5335 inline void SatParameters::_internal_set_presolve_probing_deterministic_time_limit(double value) {
5336  _has_bits_[2] |= 0x00200000u;
5337  presolve_probing_deterministic_time_limit_ = value;
5338 }
5340  _internal_set_presolve_probing_deterministic_time_limit(value);
5341  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_probing_deterministic_time_limit)
5342 }
5343 
5344 // optional bool presolve_blocked_clause = 88 [default = true];
5345 inline bool SatParameters::_internal_has_presolve_blocked_clause() const {
5346  bool value = (_has_bits_[3] & 0x00020000u) != 0;
5347  return value;
5348 }
5350  return _internal_has_presolve_blocked_clause();
5351 }
5353  presolve_blocked_clause_ = true;
5354  _has_bits_[3] &= ~0x00020000u;
5355 }
5356 inline bool SatParameters::_internal_presolve_blocked_clause() const {
5357  return presolve_blocked_clause_;
5358 }
5360  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_blocked_clause)
5361  return _internal_presolve_blocked_clause();
5362 }
5363 inline void SatParameters::_internal_set_presolve_blocked_clause(bool value) {
5364  _has_bits_[3] |= 0x00020000u;
5365  presolve_blocked_clause_ = value;
5366 }
5368  _internal_set_presolve_blocked_clause(value);
5369  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_blocked_clause)
5370 }
5371 
5372 // optional bool presolve_use_bva = 72 [default = true];
5373 inline bool SatParameters::_internal_has_presolve_use_bva() const {
5374  bool value = (_has_bits_[3] & 0x00040000u) != 0;
5375  return value;
5376 }
5378  return _internal_has_presolve_use_bva();
5379 }
5381  presolve_use_bva_ = true;
5382  _has_bits_[3] &= ~0x00040000u;
5383 }
5384 inline bool SatParameters::_internal_presolve_use_bva() const {
5385  return presolve_use_bva_;
5386 }
5387 inline bool SatParameters::presolve_use_bva() const {
5388  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_use_bva)
5389  return _internal_presolve_use_bva();
5390 }
5391 inline void SatParameters::_internal_set_presolve_use_bva(bool value) {
5392  _has_bits_[3] |= 0x00040000u;
5393  presolve_use_bva_ = value;
5394 }
5396  _internal_set_presolve_use_bva(value);
5397  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_use_bva)
5398 }
5399 
5400 // optional int32 presolve_bva_threshold = 73 [default = 1];
5401 inline bool SatParameters::_internal_has_presolve_bva_threshold() const {
5402  bool value = (_has_bits_[3] & 0x00000002u) != 0;
5403  return value;
5404 }
5406  return _internal_has_presolve_bva_threshold();
5407 }
5409  presolve_bva_threshold_ = 1;
5410  _has_bits_[3] &= ~0x00000002u;
5411 }
5412 inline int32_t SatParameters::_internal_presolve_bva_threshold() const {
5413  return presolve_bva_threshold_;
5414 }
5416  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bva_threshold)
5417  return _internal_presolve_bva_threshold();
5418 }
5419 inline void SatParameters::_internal_set_presolve_bva_threshold(int32_t value) {
5420  _has_bits_[3] |= 0x00000002u;
5421  presolve_bva_threshold_ = value;
5422 }
5424  _internal_set_presolve_bva_threshold(value);
5425  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bva_threshold)
5426 }
5427 
5428 // optional int32 max_presolve_iterations = 138 [default = 3];
5429 inline bool SatParameters::_internal_has_max_presolve_iterations() const {
5430  bool value = (_has_bits_[4] & 0x00002000u) != 0;
5431  return value;
5432 }
5434  return _internal_has_max_presolve_iterations();
5435 }
5437  max_presolve_iterations_ = 3;
5438  _has_bits_[4] &= ~0x00002000u;
5439 }
5440 inline int32_t SatParameters::_internal_max_presolve_iterations() const {
5441  return max_presolve_iterations_;
5442 }
5444  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_presolve_iterations)
5445  return _internal_max_presolve_iterations();
5446 }
5447 inline void SatParameters::_internal_set_max_presolve_iterations(int32_t value) {
5448  _has_bits_[4] |= 0x00002000u;
5449  max_presolve_iterations_ = value;
5450 }
5452  _internal_set_max_presolve_iterations(value);
5453  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_presolve_iterations)
5454 }
5455 
5456 // optional bool cp_model_presolve = 86 [default = true];
5457 inline bool SatParameters::_internal_has_cp_model_presolve() const {
5458  bool value = (_has_bits_[2] & 0x20000000u) != 0;
5459  return value;
5460 }
5462  return _internal_has_cp_model_presolve();
5463 }
5465  cp_model_presolve_ = true;
5466  _has_bits_[2] &= ~0x20000000u;
5467 }
5468 inline bool SatParameters::_internal_cp_model_presolve() const {
5469  return cp_model_presolve_;
5470 }
5472  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_presolve)
5473  return _internal_cp_model_presolve();
5474 }
5475 inline void SatParameters::_internal_set_cp_model_presolve(bool value) {
5476  _has_bits_[2] |= 0x20000000u;
5477  cp_model_presolve_ = value;
5478 }
5480  _internal_set_cp_model_presolve(value);
5481  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_presolve)
5482 }
5483 
5484 // optional int32 cp_model_probing_level = 110 [default = 2];
5485 inline bool SatParameters::_internal_has_cp_model_probing_level() const {
5486  bool value = (_has_bits_[3] & 0x00200000u) != 0;
5487  return value;
5488 }
5490  return _internal_has_cp_model_probing_level();
5491 }
5493  cp_model_probing_level_ = 2;
5494  _has_bits_[3] &= ~0x00200000u;
5495 }
5496 inline int32_t SatParameters::_internal_cp_model_probing_level() const {
5497  return cp_model_probing_level_;
5498 }
5500  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_probing_level)
5501  return _internal_cp_model_probing_level();
5502 }
5503 inline void SatParameters::_internal_set_cp_model_probing_level(int32_t value) {
5504  _has_bits_[3] |= 0x00200000u;
5505  cp_model_probing_level_ = value;
5506 }
5508  _internal_set_cp_model_probing_level(value);
5509  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_probing_level)
5510 }
5511 
5512 // optional bool cp_model_use_sat_presolve = 93 [default = true];
5513 inline bool SatParameters::_internal_has_cp_model_use_sat_presolve() const {
5514  bool value = (_has_bits_[2] & 0x40000000u) != 0;
5515  return value;
5516 }
5518  return _internal_has_cp_model_use_sat_presolve();
5519 }
5521  cp_model_use_sat_presolve_ = true;
5522  _has_bits_[2] &= ~0x40000000u;
5523 }
5524 inline bool SatParameters::_internal_cp_model_use_sat_presolve() const {
5525  return cp_model_use_sat_presolve_;
5526 }
5528  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_use_sat_presolve)
5529  return _internal_cp_model_use_sat_presolve();
5530 }
5531 inline void SatParameters::_internal_set_cp_model_use_sat_presolve(bool value) {
5532  _has_bits_[2] |= 0x40000000u;
5533  cp_model_use_sat_presolve_ = value;
5534 }
5536  _internal_set_cp_model_use_sat_presolve(value);
5537  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_use_sat_presolve)
5538 }
5539 
5540 // optional bool use_sat_inprocessing = 163 [default = false];
5541 inline bool SatParameters::_internal_has_use_sat_inprocessing() const {
5542  bool value = (_has_bits_[0] & 0x04000000u) != 0;
5543  return value;
5544 }
5546  return _internal_has_use_sat_inprocessing();
5547 }
5549  use_sat_inprocessing_ = false;
5550  _has_bits_[0] &= ~0x04000000u;
5551 }
5552 inline bool SatParameters::_internal_use_sat_inprocessing() const {
5553  return use_sat_inprocessing_;
5554 }
5556  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_sat_inprocessing)
5557  return _internal_use_sat_inprocessing();
5558 }
5559 inline void SatParameters::_internal_set_use_sat_inprocessing(bool value) {
5560  _has_bits_[0] |= 0x04000000u;
5561  use_sat_inprocessing_ = value;
5562 }
5564  _internal_set_use_sat_inprocessing(value);
5565  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_sat_inprocessing)
5566 }
5567 
5568 // optional bool expand_alldiff_constraints = 170 [default = false];
5569 inline bool SatParameters::_internal_has_expand_alldiff_constraints() const {
5570  bool value = (_has_bits_[0] & 0x08000000u) != 0;
5571  return value;
5572 }
5574  return _internal_has_expand_alldiff_constraints();
5575 }
5577  expand_alldiff_constraints_ = false;
5578  _has_bits_[0] &= ~0x08000000u;
5579 }
5580 inline bool SatParameters::_internal_expand_alldiff_constraints() const {
5581  return expand_alldiff_constraints_;
5582 }
5584  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.expand_alldiff_constraints)
5585  return _internal_expand_alldiff_constraints();
5586 }
5587 inline void SatParameters::_internal_set_expand_alldiff_constraints(bool value) {
5588  _has_bits_[0] |= 0x08000000u;
5589  expand_alldiff_constraints_ = value;
5590 }
5592  _internal_set_expand_alldiff_constraints(value);
5593  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.expand_alldiff_constraints)
5594 }
5595 
5596 // optional bool disable_constraint_expansion = 181 [default = false];
5597 inline bool SatParameters::_internal_has_disable_constraint_expansion() const {
5598  bool value = (_has_bits_[1] & 0x10000000u) != 0;
5599  return value;
5600 }
5602  return _internal_has_disable_constraint_expansion();
5603 }
5605  disable_constraint_expansion_ = false;
5606  _has_bits_[1] &= ~0x10000000u;
5607 }
5608 inline bool SatParameters::_internal_disable_constraint_expansion() const {
5609  return disable_constraint_expansion_;
5610 }
5612  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.disable_constraint_expansion)
5613  return _internal_disable_constraint_expansion();
5614 }
5615 inline void SatParameters::_internal_set_disable_constraint_expansion(bool value) {
5616  _has_bits_[1] |= 0x10000000u;
5617  disable_constraint_expansion_ = value;
5618 }
5620  _internal_set_disable_constraint_expansion(value);
5621  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.disable_constraint_expansion)
5622 }
5623 
5624 // optional double merge_no_overlap_work_limit = 145 [default = 1000000000000];
5625 inline bool SatParameters::_internal_has_merge_no_overlap_work_limit() const {
5626  bool value = (_has_bits_[4] & 0x00040000u) != 0;
5627  return value;
5628 }
5630  return _internal_has_merge_no_overlap_work_limit();
5631 }
5633  merge_no_overlap_work_limit_ = 1000000000000;
5634  _has_bits_[4] &= ~0x00040000u;
5635 }
5636 inline double SatParameters::_internal_merge_no_overlap_work_limit() const {
5637  return merge_no_overlap_work_limit_;
5638 }
5640  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.merge_no_overlap_work_limit)
5641  return _internal_merge_no_overlap_work_limit();
5642 }
5643 inline void SatParameters::_internal_set_merge_no_overlap_work_limit(double value) {
5644  _has_bits_[4] |= 0x00040000u;
5645  merge_no_overlap_work_limit_ = value;
5646 }
5648  _internal_set_merge_no_overlap_work_limit(value);
5649  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.merge_no_overlap_work_limit)
5650 }
5651 
5652 // optional double merge_at_most_one_work_limit = 146 [default = 100000000];
5653 inline bool SatParameters::_internal_has_merge_at_most_one_work_limit() const {
5654  bool value = (_has_bits_[4] & 0x01000000u) != 0;
5655  return value;
5656 }
5658  return _internal_has_merge_at_most_one_work_limit();
5659 }
5661  merge_at_most_one_work_limit_ = 100000000;
5662  _has_bits_[4] &= ~0x01000000u;
5663 }
5664 inline double SatParameters::_internal_merge_at_most_one_work_limit() const {
5665  return merge_at_most_one_work_limit_;
5666 }
5668  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.merge_at_most_one_work_limit)
5669  return _internal_merge_at_most_one_work_limit();
5670 }
5671 inline void SatParameters::_internal_set_merge_at_most_one_work_limit(double value) {
5672  _has_bits_[4] |= 0x01000000u;
5673  merge_at_most_one_work_limit_ = value;
5674 }
5676  _internal_set_merge_at_most_one_work_limit(value);
5677  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.merge_at_most_one_work_limit)
5678 }
5679 
5680 // optional int32 presolve_substitution_level = 147 [default = 1];
5681 inline bool SatParameters::_internal_has_presolve_substitution_level() const {
5682  bool value = (_has_bits_[4] & 0x00800000u) != 0;
5683  return value;
5684 }
5686  return _internal_has_presolve_substitution_level();
5687 }
5689  presolve_substitution_level_ = 1;
5690  _has_bits_[4] &= ~0x00800000u;
5691 }
5692 inline int32_t SatParameters::_internal_presolve_substitution_level() const {
5693  return presolve_substitution_level_;
5694 }
5696  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_substitution_level)
5697  return _internal_presolve_substitution_level();
5698 }
5699 inline void SatParameters::_internal_set_presolve_substitution_level(int32_t value) {
5700  _has_bits_[4] |= 0x00800000u;
5701  presolve_substitution_level_ = value;
5702 }
5704  _internal_set_presolve_substitution_level(value);
5705  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_substitution_level)
5706 }
5707 
5708 // optional bool presolve_extract_integer_enforcement = 174 [default = false];
5709 inline bool SatParameters::_internal_has_presolve_extract_integer_enforcement() const {
5710  bool value = (_has_bits_[1] & 0x20000000u) != 0;
5711  return value;
5712 }
5714  return _internal_has_presolve_extract_integer_enforcement();
5715 }
5717  presolve_extract_integer_enforcement_ = false;
5718  _has_bits_[1] &= ~0x20000000u;
5719 }
5720 inline bool SatParameters::_internal_presolve_extract_integer_enforcement() const {
5721  return presolve_extract_integer_enforcement_;
5722 }
5724  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_extract_integer_enforcement)
5725  return _internal_presolve_extract_integer_enforcement();
5726 }
5727 inline void SatParameters::_internal_set_presolve_extract_integer_enforcement(bool value) {
5728  _has_bits_[1] |= 0x20000000u;
5729  presolve_extract_integer_enforcement_ = value;
5730 }
5732  _internal_set_presolve_extract_integer_enforcement(value);
5733  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_extract_integer_enforcement)
5734 }
5735 
5736 // optional bool debug_postsolve_with_full_solver = 162 [default = false];
5737 inline bool SatParameters::_internal_has_debug_postsolve_with_full_solver() const {
5738  bool value = (_has_bits_[1] & 0x40000000u) != 0;
5739  return value;
5740 }
5742  return _internal_has_debug_postsolve_with_full_solver();
5743 }
5745  debug_postsolve_with_full_solver_ = false;
5746  _has_bits_[1] &= ~0x40000000u;
5747 }
5748 inline bool SatParameters::_internal_debug_postsolve_with_full_solver() const {
5749  return debug_postsolve_with_full_solver_;
5750 }
5752  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.debug_postsolve_with_full_solver)
5753  return _internal_debug_postsolve_with_full_solver();
5754 }
5755 inline void SatParameters::_internal_set_debug_postsolve_with_full_solver(bool value) {
5756  _has_bits_[1] |= 0x40000000u;
5757  debug_postsolve_with_full_solver_ = value;
5758 }
5760  _internal_set_debug_postsolve_with_full_solver(value);
5761  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.debug_postsolve_with_full_solver)
5762 }
5763 
5764 // optional int32 debug_max_num_presolve_operations = 151 [default = 0];
5765 inline bool SatParameters::_internal_has_debug_max_num_presolve_operations() const {
5766  bool value = (_has_bits_[1] & 0x00200000u) != 0;
5767  return value;
5768 }
5770  return _internal_has_debug_max_num_presolve_operations();
5771 }
5773  debug_max_num_presolve_operations_ = 0;
5774  _has_bits_[1] &= ~0x00200000u;
5775 }
5776 inline int32_t SatParameters::_internal_debug_max_num_presolve_operations() const {
5777  return debug_max_num_presolve_operations_;
5778 }
5780  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.debug_max_num_presolve_operations)
5781  return _internal_debug_max_num_presolve_operations();
5782 }
5783 inline void SatParameters::_internal_set_debug_max_num_presolve_operations(int32_t value) {
5784  _has_bits_[1] |= 0x00200000u;
5785  debug_max_num_presolve_operations_ = value;
5786 }
5788  _internal_set_debug_max_num_presolve_operations(value);
5789  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.debug_max_num_presolve_operations)
5790 }
5791 
5792 // optional bool debug_crash_on_bad_hint = 195 [default = false];
5793 inline bool SatParameters::_internal_has_debug_crash_on_bad_hint() const {
5794  bool value = (_has_bits_[1] & 0x80000000u) != 0;
5795  return value;
5796 }
5798  return _internal_has_debug_crash_on_bad_hint();
5799 }
5801  debug_crash_on_bad_hint_ = false;
5802  _has_bits_[1] &= ~0x80000000u;
5803 }
5804 inline bool SatParameters::_internal_debug_crash_on_bad_hint() const {
5805  return debug_crash_on_bad_hint_;
5806 }
5808  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.debug_crash_on_bad_hint)
5809  return _internal_debug_crash_on_bad_hint();
5810 }
5811 inline void SatParameters::_internal_set_debug_crash_on_bad_hint(bool value) {
5812  _has_bits_[1] |= 0x80000000u;
5813  debug_crash_on_bad_hint_ = value;
5814 }
5816  _internal_set_debug_crash_on_bad_hint(value);
5817  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.debug_crash_on_bad_hint)
5818 }
5819 
5820 // optional bool use_optimization_hints = 35 [default = true];
5821 inline bool SatParameters::_internal_has_use_optimization_hints() const {
5822  bool value = (_has_bits_[2] & 0x80000000u) != 0;
5823  return value;
5824 }
5826  return _internal_has_use_optimization_hints();
5827 }
5829  use_optimization_hints_ = true;
5830  _has_bits_[2] &= ~0x80000000u;
5831 }
5832 inline bool SatParameters::_internal_use_optimization_hints() const {
5833  return use_optimization_hints_;
5834 }
5836  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_optimization_hints)
5837  return _internal_use_optimization_hints();
5838 }
5839 inline void SatParameters::_internal_set_use_optimization_hints(bool value) {
5840  _has_bits_[2] |= 0x80000000u;
5841  use_optimization_hints_ = value;
5842 }
5844  _internal_set_use_optimization_hints(value);
5845  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_optimization_hints)
5846 }
5847 
5848 // optional bool minimize_core = 50 [default = true];
5849 inline bool SatParameters::_internal_has_minimize_core() const {
5850  bool value = (_has_bits_[3] & 0x00000001u) != 0;
5851  return value;
5852 }
5854  return _internal_has_minimize_core();
5855 }
5857  minimize_core_ = true;
5858  _has_bits_[3] &= ~0x00000001u;
5859 }
5860 inline bool SatParameters::_internal_minimize_core() const {
5861  return minimize_core_;
5862 }
5863 inline bool SatParameters::minimize_core() const {
5864  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_core)
5865  return _internal_minimize_core();
5866 }
5867 inline void SatParameters::_internal_set_minimize_core(bool value) {
5868  _has_bits_[3] |= 0x00000001u;
5869  minimize_core_ = value;
5870 }
5872  _internal_set_minimize_core(value);
5873  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_core)
5874 }
5875 
5876 // optional bool find_multiple_cores = 84 [default = true];
5877 inline bool SatParameters::_internal_has_find_multiple_cores() const {
5878  bool value = (_has_bits_[3] & 0x00000080u) != 0;
5879  return value;
5880 }
5882  return _internal_has_find_multiple_cores();
5883 }
5885  find_multiple_cores_ = true;
5886  _has_bits_[3] &= ~0x00000080u;
5887 }
5888 inline bool SatParameters::_internal_find_multiple_cores() const {
5889  return find_multiple_cores_;
5890 }
5892  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.find_multiple_cores)
5893  return _internal_find_multiple_cores();
5894 }
5895 inline void SatParameters::_internal_set_find_multiple_cores(bool value) {
5896  _has_bits_[3] |= 0x00000080u;
5897  find_multiple_cores_ = value;
5898 }
5900  _internal_set_find_multiple_cores(value);
5901  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.find_multiple_cores)
5902 }
5903 
5904 // optional bool cover_optimization = 89 [default = true];
5905 inline bool SatParameters::_internal_has_cover_optimization() const {
5906  bool value = (_has_bits_[3] & 0x00000100u) != 0;
5907  return value;
5908 }
5910  return _internal_has_cover_optimization();
5911 }
5913  cover_optimization_ = true;
5914  _has_bits_[3] &= ~0x00000100u;
5915 }
5916 inline bool SatParameters::_internal_cover_optimization() const {
5917  return cover_optimization_;
5918 }
5920  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cover_optimization)
5921  return _internal_cover_optimization();
5922 }
5923 inline void SatParameters::_internal_set_cover_optimization(bool value) {
5924  _has_bits_[3] |= 0x00000100u;
5925  cover_optimization_ = value;
5926 }
5928  _internal_set_cover_optimization(value);
5929  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cover_optimization)
5930 }
5931 
5932 // optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [default = DEFAULT_ASSUMPTION_ORDER];
5933 inline bool SatParameters::_internal_has_max_sat_assumption_order() const {
5934  bool value = (_has_bits_[0] & 0x00000080u) != 0;
5935  return value;
5936 }
5938  return _internal_has_max_sat_assumption_order();
5939 }
5941  max_sat_assumption_order_ = 0;
5942  _has_bits_[0] &= ~0x00000080u;
5943 }
5944 inline ::operations_research::sat::SatParameters_MaxSatAssumptionOrder SatParameters::_internal_max_sat_assumption_order() const {
5945  return static_cast< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder >(max_sat_assumption_order_);
5946 }
5948  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_assumption_order)
5949  return _internal_max_sat_assumption_order();
5950 }
5951 inline void SatParameters::_internal_set_max_sat_assumption_order(::operations_research::sat::SatParameters_MaxSatAssumptionOrder value) {
5953  _has_bits_[0] |= 0x00000080u;
5954  max_sat_assumption_order_ = value;
5955 }
5957  _internal_set_max_sat_assumption_order(value);
5958  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_assumption_order)
5959 }
5960 
5961 // optional bool max_sat_reverse_assumption_order = 52 [default = false];
5962 inline bool SatParameters::_internal_has_max_sat_reverse_assumption_order() const {
5963  bool value = (_has_bits_[0] & 0x00080000u) != 0;
5964  return value;
5965 }
5967  return _internal_has_max_sat_reverse_assumption_order();
5968 }
5970  max_sat_reverse_assumption_order_ = false;
5971  _has_bits_[0] &= ~0x00080000u;
5972 }
5973 inline bool SatParameters::_internal_max_sat_reverse_assumption_order() const {
5974  return max_sat_reverse_assumption_order_;
5975 }
5977  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_reverse_assumption_order)
5978  return _internal_max_sat_reverse_assumption_order();
5979 }
5980 inline void SatParameters::_internal_set_max_sat_reverse_assumption_order(bool value) {
5981  _has_bits_[0] |= 0x00080000u;
5982  max_sat_reverse_assumption_order_ = value;
5983 }
5985  _internal_set_max_sat_reverse_assumption_order(value);
5986  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_reverse_assumption_order)
5987 }
5988 
5989 // optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification = 53 [default = STRATIFICATION_DESCENT];
5990 inline bool SatParameters::_internal_has_max_sat_stratification() const {
5991  bool value = (_has_bits_[2] & 0x00080000u) != 0;
5992  return value;
5993 }
5995  return _internal_has_max_sat_stratification();
5996 }
5998  max_sat_stratification_ = 1;
5999  _has_bits_[2] &= ~0x00080000u;
6000 }
6001 inline ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm SatParameters::_internal_max_sat_stratification() const {
6002  return static_cast< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm >(max_sat_stratification_);
6003 }
6005  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_stratification)
6006  return _internal_max_sat_stratification();
6007 }
6008 inline void SatParameters::_internal_set_max_sat_stratification(::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm value) {
6010  _has_bits_[2] |= 0x00080000u;
6011  max_sat_stratification_ = value;
6012 }
6014  _internal_set_max_sat_stratification(value);
6015  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_stratification)
6016 }
6017 
6018 // optional bool use_precedences_in_disjunctive_constraint = 74 [default = true];
6019 inline bool SatParameters::_internal_has_use_precedences_in_disjunctive_constraint() const {
6020  bool value = (_has_bits_[3] & 0x00000200u) != 0;
6021  return value;
6022 }
6024  return _internal_has_use_precedences_in_disjunctive_constraint();
6025 }
6027  use_precedences_in_disjunctive_constraint_ = true;
6028  _has_bits_[3] &= ~0x00000200u;
6029 }
6030 inline bool SatParameters::_internal_use_precedences_in_disjunctive_constraint() const {
6031  return use_precedences_in_disjunctive_constraint_;
6032 }
6034  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_precedences_in_disjunctive_constraint)
6035  return _internal_use_precedences_in_disjunctive_constraint();
6036 }
6037 inline void SatParameters::_internal_set_use_precedences_in_disjunctive_constraint(bool value) {
6038  _has_bits_[3] |= 0x00000200u;
6039  use_precedences_in_disjunctive_constraint_ = value;
6040 }
6042  _internal_set_use_precedences_in_disjunctive_constraint(value);
6043  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_precedences_in_disjunctive_constraint)
6044 }
6045 
6046 // optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
6047 inline bool SatParameters::_internal_has_use_overload_checker_in_cumulative_constraint() const {
6048  bool value = (_has_bits_[0] & 0x00100000u) != 0;
6049  return value;
6050 }
6052  return _internal_has_use_overload_checker_in_cumulative_constraint();
6053 }
6055  use_overload_checker_in_cumulative_constraint_ = false;
6056  _has_bits_[0] &= ~0x00100000u;
6057 }
6058 inline bool SatParameters::_internal_use_overload_checker_in_cumulative_constraint() const {
6059  return use_overload_checker_in_cumulative_constraint_;
6060 }
6062  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_overload_checker_in_cumulative_constraint)
6063  return _internal_use_overload_checker_in_cumulative_constraint();
6064 }
6065 inline void SatParameters::_internal_set_use_overload_checker_in_cumulative_constraint(bool value) {
6066  _has_bits_[0] |= 0x00100000u;
6067  use_overload_checker_in_cumulative_constraint_ = value;
6068 }
6070  _internal_set_use_overload_checker_in_cumulative_constraint(value);
6071  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_overload_checker_in_cumulative_constraint)
6072 }
6073 
6074 // optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
6075 inline bool SatParameters::_internal_has_use_timetable_edge_finding_in_cumulative_constraint() const {
6076  bool value = (_has_bits_[0] & 0x00200000u) != 0;
6077  return value;
6078 }
6080  return _internal_has_use_timetable_edge_finding_in_cumulative_constraint();
6081 }
6083  use_timetable_edge_finding_in_cumulative_constraint_ = false;
6084  _has_bits_[0] &= ~0x00200000u;
6085 }
6086 inline bool SatParameters::_internal_use_timetable_edge_finding_in_cumulative_constraint() const {
6087  return use_timetable_edge_finding_in_cumulative_constraint_;
6088 }
6090  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_timetable_edge_finding_in_cumulative_constraint)
6091  return _internal_use_timetable_edge_finding_in_cumulative_constraint();
6092 }
6093 inline void SatParameters::_internal_set_use_timetable_edge_finding_in_cumulative_constraint(bool value) {
6094  _has_bits_[0] |= 0x00200000u;
6095  use_timetable_edge_finding_in_cumulative_constraint_ = value;
6096 }
6098  _internal_set_use_timetable_edge_finding_in_cumulative_constraint(value);
6099  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_timetable_edge_finding_in_cumulative_constraint)
6100 }
6101 
6102 // optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
6103 inline bool SatParameters::_internal_has_use_disjunctive_constraint_in_cumulative_constraint() const {
6104  bool value = (_has_bits_[3] & 0x00000400u) != 0;
6105  return value;
6106 }
6108  return _internal_has_use_disjunctive_constraint_in_cumulative_constraint();
6109 }
6111  use_disjunctive_constraint_in_cumulative_constraint_ = true;
6112  _has_bits_[3] &= ~0x00000400u;
6113 }
6114 inline bool SatParameters::_internal_use_disjunctive_constraint_in_cumulative_constraint() const {
6115  return use_disjunctive_constraint_in_cumulative_constraint_;
6116 }
6118  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_disjunctive_constraint_in_cumulative_constraint)
6119  return _internal_use_disjunctive_constraint_in_cumulative_constraint();
6120 }
6121 inline void SatParameters::_internal_set_use_disjunctive_constraint_in_cumulative_constraint(bool value) {
6122  _has_bits_[3] |= 0x00000400u;
6123  use_disjunctive_constraint_in_cumulative_constraint_ = value;
6124 }
6126  _internal_set_use_disjunctive_constraint_in_cumulative_constraint(value);
6127  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_disjunctive_constraint_in_cumulative_constraint)
6128 }
6129 
6130 // optional bool use_cumulative_in_no_overlap_2d = 200 [default = false];
6131 inline bool SatParameters::_internal_has_use_cumulative_in_no_overlap_2d() const {
6132  bool value = (_has_bits_[0] & 0x00400000u) != 0;
6133  return value;
6134 }
6136  return _internal_has_use_cumulative_in_no_overlap_2d();
6137 }
6139  use_cumulative_in_no_overlap_2d_ = false;
6140  _has_bits_[0] &= ~0x00400000u;
6141 }
6142 inline bool SatParameters::_internal_use_cumulative_in_no_overlap_2d() const {
6143  return use_cumulative_in_no_overlap_2d_;
6144 }
6146  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_cumulative_in_no_overlap_2d)
6147  return _internal_use_cumulative_in_no_overlap_2d();
6148 }
6149 inline void SatParameters::_internal_set_use_cumulative_in_no_overlap_2d(bool value) {
6150  _has_bits_[0] |= 0x00400000u;
6151  use_cumulative_in_no_overlap_2d_ = value;
6152 }
6154  _internal_set_use_cumulative_in_no_overlap_2d(value);
6155  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_cumulative_in_no_overlap_2d)
6156 }
6157 
6158 // optional int32 linearization_level = 90 [default = 1];
6159 inline bool SatParameters::_internal_has_linearization_level() const {
6160  bool value = (_has_bits_[3] & 0x00000800u) != 0;
6161  return value;
6162 }
6164  return _internal_has_linearization_level();
6165 }
6167  linearization_level_ = 1;
6168  _has_bits_[3] &= ~0x00000800u;
6169 }
6170 inline int32_t SatParameters::_internal_linearization_level() const {
6171  return linearization_level_;
6172 }
6173 inline int32_t SatParameters::linearization_level() const {
6174  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.linearization_level)
6175  return _internal_linearization_level();
6176 }
6177 inline void SatParameters::_internal_set_linearization_level(int32_t value) {
6178  _has_bits_[3] |= 0x00000800u;
6179  linearization_level_ = value;
6180 }
6182  _internal_set_linearization_level(value);
6183  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.linearization_level)
6184 }
6185 
6186 // optional int32 boolean_encoding_level = 107 [default = 1];
6187 inline bool SatParameters::_internal_has_boolean_encoding_level() const {
6188  bool value = (_has_bits_[3] & 0x00100000u) != 0;
6189  return value;
6190 }
6192  return _internal_has_boolean_encoding_level();
6193 }
6195  boolean_encoding_level_ = 1;
6196  _has_bits_[3] &= ~0x00100000u;
6197 }
6198 inline int32_t SatParameters::_internal_boolean_encoding_level() const {
6199  return boolean_encoding_level_;
6200 }
6202  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.boolean_encoding_level)
6203  return _internal_boolean_encoding_level();
6204 }
6205 inline void SatParameters::_internal_set_boolean_encoding_level(int32_t value) {
6206  _has_bits_[3] |= 0x00100000u;
6207  boolean_encoding_level_ = value;
6208 }
6210  _internal_set_boolean_encoding_level(value);
6211  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.boolean_encoding_level)
6212 }
6213 
6214 // optional int32 max_domain_size_when_encoding_eq_neq_constraints = 191 [default = 16];
6215 inline bool SatParameters::_internal_has_max_domain_size_when_encoding_eq_neq_constraints() const {
6216  bool value = (_has_bits_[5] & 0x00000040u) != 0;
6217  return value;
6218 }
6220  return _internal_has_max_domain_size_when_encoding_eq_neq_constraints();
6221 }
6223  max_domain_size_when_encoding_eq_neq_constraints_ = 16;
6224  _has_bits_[5] &= ~0x00000040u;
6225 }
6226 inline int32_t SatParameters::_internal_max_domain_size_when_encoding_eq_neq_constraints() const {
6227  return max_domain_size_when_encoding_eq_neq_constraints_;
6228 }
6230  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_domain_size_when_encoding_eq_neq_constraints)
6231  return _internal_max_domain_size_when_encoding_eq_neq_constraints();
6232 }
6233 inline void SatParameters::_internal_set_max_domain_size_when_encoding_eq_neq_constraints(int32_t value) {
6234  _has_bits_[5] |= 0x00000040u;
6235  max_domain_size_when_encoding_eq_neq_constraints_ = value;
6236 }
6238  _internal_set_max_domain_size_when_encoding_eq_neq_constraints(value);
6239  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_domain_size_when_encoding_eq_neq_constraints)
6240 }
6241 
6242 // optional int32 max_num_cuts = 91 [default = 10000];
6243 inline bool SatParameters::_internal_has_max_num_cuts() const {
6244  bool value = (_has_bits_[3] & 0x00001000u) != 0;
6245  return value;
6246 }
6247 inline bool SatParameters::has_max_num_cuts() const {
6248  return _internal_has_max_num_cuts();
6249 }
6251  max_num_cuts_ = 10000;
6252  _has_bits_[3] &= ~0x00001000u;
6253 }
6254 inline int32_t SatParameters::_internal_max_num_cuts() const {
6255  return max_num_cuts_;
6256 }
6257 inline int32_t SatParameters::max_num_cuts() const {
6258  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_num_cuts)
6259  return _internal_max_num_cuts();
6260 }
6261 inline void SatParameters::_internal_set_max_num_cuts(int32_t value) {
6262  _has_bits_[3] |= 0x00001000u;
6263  max_num_cuts_ = value;
6264 }
6266  _internal_set_max_num_cuts(value);
6267  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_num_cuts)
6268 }
6269 
6270 // optional int32 cut_level = 196 [default = 1];
6271 inline bool SatParameters::_internal_has_cut_level() const {
6272  bool value = (_has_bits_[2] & 0x00000001u) != 0;
6273  return value;
6274 }
6275 inline bool SatParameters::has_cut_level() const {
6276  return _internal_has_cut_level();
6277 }
6279  cut_level_ = 1;
6280  _has_bits_[2] &= ~0x00000001u;
6281 }
6282 inline int32_t SatParameters::_internal_cut_level() const {
6283  return cut_level_;
6284 }
6285 inline int32_t SatParameters::cut_level() const {
6286  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cut_level)
6287  return _internal_cut_level();
6288 }
6289 inline void SatParameters::_internal_set_cut_level(int32_t value) {
6290  _has_bits_[2] |= 0x00000001u;
6291  cut_level_ = value;
6292 }
6293 inline void SatParameters::set_cut_level(int32_t value) {
6294  _internal_set_cut_level(value);
6295  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cut_level)
6296 }
6297 
6298 // optional bool only_add_cuts_at_level_zero = 92 [default = false];
6299 inline bool SatParameters::_internal_has_only_add_cuts_at_level_zero() const {
6300  bool value = (_has_bits_[1] & 0x00800000u) != 0;
6301  return value;
6302 }
6304  return _internal_has_only_add_cuts_at_level_zero();
6305 }
6307  only_add_cuts_at_level_zero_ = false;
6308  _has_bits_[1] &= ~0x00800000u;
6309 }
6310 inline bool SatParameters::_internal_only_add_cuts_at_level_zero() const {
6311  return only_add_cuts_at_level_zero_;
6312 }
6314  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.only_add_cuts_at_level_zero)
6315  return _internal_only_add_cuts_at_level_zero();
6316 }
6317 inline void SatParameters::_internal_set_only_add_cuts_at_level_zero(bool value) {
6318  _has_bits_[1] |= 0x00800000u;
6319  only_add_cuts_at_level_zero_ = value;
6320 }
6322  _internal_set_only_add_cuts_at_level_zero(value);
6323  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.only_add_cuts_at_level_zero)
6324 }
6325 
6326 // optional bool add_objective_cut = 197 [default = false];
6327 inline bool SatParameters::_internal_has_add_objective_cut() const {
6328  bool value = (_has_bits_[1] & 0x01000000u) != 0;
6329  return value;
6330 }
6332  return _internal_has_add_objective_cut();
6333 }
6335  add_objective_cut_ = false;
6336  _has_bits_[1] &= ~0x01000000u;
6337 }
6338 inline bool SatParameters::_internal_add_objective_cut() const {
6339  return add_objective_cut_;
6340 }
6342  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_objective_cut)
6343  return _internal_add_objective_cut();
6344 }
6345 inline void SatParameters::_internal_set_add_objective_cut(bool value) {
6346  _has_bits_[1] |= 0x01000000u;
6347  add_objective_cut_ = value;
6348 }
6350  _internal_set_add_objective_cut(value);
6351  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_objective_cut)
6352 }
6353 
6354 // optional bool add_cg_cuts = 117 [default = true];
6355 inline bool SatParameters::_internal_has_add_cg_cuts() const {
6356  bool value = (_has_bits_[4] & 0x00080000u) != 0;
6357  return value;
6358 }
6359 inline bool SatParameters::has_add_cg_cuts() const {
6360  return _internal_has_add_cg_cuts();
6361 }
6363  add_cg_cuts_ = true;
6364  _has_bits_[4] &= ~0x00080000u;
6365 }
6366 inline bool SatParameters::_internal_add_cg_cuts() const {
6367  return add_cg_cuts_;
6368 }
6369 inline bool SatParameters::add_cg_cuts() const {
6370  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_cg_cuts)
6371  return _internal_add_cg_cuts();
6372 }
6373 inline void SatParameters::_internal_set_add_cg_cuts(bool value) {
6374  _has_bits_[4] |= 0x00080000u;
6375  add_cg_cuts_ = value;
6376 }
6378  _internal_set_add_cg_cuts(value);
6379  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_cg_cuts)
6380 }
6381 
6382 // optional bool add_mir_cuts = 120 [default = true];
6383 inline bool SatParameters::_internal_has_add_mir_cuts() const {
6384  bool value = (_has_bits_[4] & 0x00100000u) != 0;
6385  return value;
6386 }
6387 inline bool SatParameters::has_add_mir_cuts() const {
6388  return _internal_has_add_mir_cuts();
6389 }
6391  add_mir_cuts_ = true;
6392  _has_bits_[4] &= ~0x00100000u;
6393 }
6394 inline bool SatParameters::_internal_add_mir_cuts() const {
6395  return add_mir_cuts_;
6396 }
6397 inline bool SatParameters::add_mir_cuts() const {
6398  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_mir_cuts)
6399  return _internal_add_mir_cuts();
6400 }
6401 inline void SatParameters::_internal_set_add_mir_cuts(bool value) {
6402  _has_bits_[4] |= 0x00100000u;
6403  add_mir_cuts_ = value;
6404 }
6406  _internal_set_add_mir_cuts(value);
6407  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_mir_cuts)
6408 }
6409 
6410 // optional bool add_zero_half_cuts = 169 [default = true];
6411 inline bool SatParameters::_internal_has_add_zero_half_cuts() const {
6412  bool value = (_has_bits_[4] & 0x00200000u) != 0;
6413  return value;
6414 }
6416  return _internal_has_add_zero_half_cuts();
6417 }
6419  add_zero_half_cuts_ = true;
6420  _has_bits_[4] &= ~0x00200000u;
6421 }
6422 inline bool SatParameters::_internal_add_zero_half_cuts() const {
6423  return add_zero_half_cuts_;
6424 }
6426  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_zero_half_cuts)
6427  return _internal_add_zero_half_cuts();
6428 }
6429 inline void SatParameters::_internal_set_add_zero_half_cuts(bool value) {
6430  _has_bits_[4] |= 0x00200000u;
6431  add_zero_half_cuts_ = value;
6432 }
6434  _internal_set_add_zero_half_cuts(value);
6435  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_zero_half_cuts)
6436 }
6437 
6438 // optional bool add_clique_cuts = 172 [default = true];
6439 inline bool SatParameters::_internal_has_add_clique_cuts() const {
6440  bool value = (_has_bits_[4] & 0x00400000u) != 0;
6441  return value;
6442 }
6444  return _internal_has_add_clique_cuts();
6445 }
6447  add_clique_cuts_ = true;
6448  _has_bits_[4] &= ~0x00400000u;
6449 }
6450 inline bool SatParameters::_internal_add_clique_cuts() const {
6451  return add_clique_cuts_;
6452 }
6453 inline bool SatParameters::add_clique_cuts() const {
6454  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_clique_cuts)
6455  return _internal_add_clique_cuts();
6456 }
6457 inline void SatParameters::_internal_set_add_clique_cuts(bool value) {
6458  _has_bits_[4] |= 0x00400000u;
6459  add_clique_cuts_ = value;
6460 }
6462  _internal_set_add_clique_cuts(value);
6463  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_clique_cuts)
6464 }
6465 
6466 // optional int32 max_all_diff_cut_size = 148 [default = 7];
6467 inline bool SatParameters::_internal_has_max_all_diff_cut_size() const {
6468  bool value = (_has_bits_[4] & 0x02000000u) != 0;
6469  return value;
6470 }
6472  return _internal_has_max_all_diff_cut_size();
6473 }
6475  max_all_diff_cut_size_ = 7;
6476  _has_bits_[4] &= ~0x02000000u;
6477 }
6478 inline int32_t SatParameters::_internal_max_all_diff_cut_size() const {
6479  return max_all_diff_cut_size_;
6480 }
6482  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_all_diff_cut_size)
6483  return _internal_max_all_diff_cut_size();
6484 }
6485 inline void SatParameters::_internal_set_max_all_diff_cut_size(int32_t value) {
6486  _has_bits_[4] |= 0x02000000u;
6487  max_all_diff_cut_size_ = value;
6488 }
6490  _internal_set_max_all_diff_cut_size(value);
6491  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_all_diff_cut_size)
6492 }
6493 
6494 // optional bool add_lin_max_cuts = 152 [default = true];
6495 inline bool SatParameters::_internal_has_add_lin_max_cuts() const {
6496  bool value = (_has_bits_[3] & 0x04000000u) != 0;
6497  return value;
6498 }
6500  return _internal_has_add_lin_max_cuts();
6501 }
6503  add_lin_max_cuts_ = true;
6504  _has_bits_[3] &= ~0x04000000u;
6505 }
6506 inline bool SatParameters::_internal_add_lin_max_cuts() const {
6507  return add_lin_max_cuts_;
6508 }
6509 inline bool SatParameters::add_lin_max_cuts() const {
6510  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_lin_max_cuts)
6511  return _internal_add_lin_max_cuts();
6512 }
6513 inline void SatParameters::_internal_set_add_lin_max_cuts(bool value) {
6514  _has_bits_[3] |= 0x04000000u;
6515  add_lin_max_cuts_ = value;
6516 }
6518  _internal_set_add_lin_max_cuts(value);
6519  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_lin_max_cuts)
6520 }
6521 
6522 // optional int32 max_integer_rounding_scaling = 119 [default = 600];
6523 inline bool SatParameters::_internal_has_max_integer_rounding_scaling() const {
6524  bool value = (_has_bits_[3] & 0x80000000u) != 0;
6525  return value;
6526 }
6528  return _internal_has_max_integer_rounding_scaling();
6529 }
6531  max_integer_rounding_scaling_ = 600;
6532  _has_bits_[3] &= ~0x80000000u;
6533 }
6534 inline int32_t SatParameters::_internal_max_integer_rounding_scaling() const {
6535  return max_integer_rounding_scaling_;
6536 }
6538  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_integer_rounding_scaling)
6539  return _internal_max_integer_rounding_scaling();
6540 }
6541 inline void SatParameters::_internal_set_max_integer_rounding_scaling(int32_t value) {
6542  _has_bits_[3] |= 0x80000000u;
6543  max_integer_rounding_scaling_ = value;
6544 }
6546  _internal_set_max_integer_rounding_scaling(value);
6547  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_integer_rounding_scaling)
6548 }
6549 
6550 // optional bool add_lp_constraints_lazily = 112 [default = true];
6551 inline bool SatParameters::_internal_has_add_lp_constraints_lazily() const {
6552  bool value = (_has_bits_[3] & 0x08000000u) != 0;
6553  return value;
6554 }
6556  return _internal_has_add_lp_constraints_lazily();
6557 }
6559  add_lp_constraints_lazily_ = true;
6560  _has_bits_[3] &= ~0x08000000u;
6561 }
6562 inline bool SatParameters::_internal_add_lp_constraints_lazily() const {
6563  return add_lp_constraints_lazily_;
6564 }
6566  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_lp_constraints_lazily)
6567  return _internal_add_lp_constraints_lazily();
6568 }
6569 inline void SatParameters::_internal_set_add_lp_constraints_lazily(bool value) {
6570  _has_bits_[3] |= 0x08000000u;
6571  add_lp_constraints_lazily_ = value;
6572 }
6574  _internal_set_add_lp_constraints_lazily(value);
6575  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_lp_constraints_lazily)
6576 }
6577 
6578 // optional double min_orthogonality_for_lp_constraints = 115 [default = 0.05];
6579 inline bool SatParameters::_internal_has_min_orthogonality_for_lp_constraints() const {
6580  bool value = (_has_bits_[3] & 0x40000000u) != 0;
6581  return value;
6582 }
6584  return _internal_has_min_orthogonality_for_lp_constraints();
6585 }
6587  min_orthogonality_for_lp_constraints_ = 0.05;
6588  _has_bits_[3] &= ~0x40000000u;
6589 }
6590 inline double SatParameters::_internal_min_orthogonality_for_lp_constraints() const {
6591  return min_orthogonality_for_lp_constraints_;
6592 }
6594  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.min_orthogonality_for_lp_constraints)
6595  return _internal_min_orthogonality_for_lp_constraints();
6596 }
6597 inline void SatParameters::_internal_set_min_orthogonality_for_lp_constraints(double value) {
6598  _has_bits_[3] |= 0x40000000u;
6599  min_orthogonality_for_lp_constraints_ = value;
6600 }
6602  _internal_set_min_orthogonality_for_lp_constraints(value);
6603  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.min_orthogonality_for_lp_constraints)
6604 }
6605 
6606 // optional int32 max_cut_rounds_at_level_zero = 154 [default = 1];
6607 inline bool SatParameters::_internal_has_max_cut_rounds_at_level_zero() const {
6608  bool value = (_has_bits_[4] & 0x10000000u) != 0;
6609  return value;
6610 }
6612  return _internal_has_max_cut_rounds_at_level_zero();
6613 }
6615  max_cut_rounds_at_level_zero_ = 1;
6616  _has_bits_[4] &= ~0x10000000u;
6617 }
6618 inline int32_t SatParameters::_internal_max_cut_rounds_at_level_zero() const {
6619  return max_cut_rounds_at_level_zero_;
6620 }
6622  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_cut_rounds_at_level_zero)
6623  return _internal_max_cut_rounds_at_level_zero();
6624 }
6625 inline void SatParameters::_internal_set_max_cut_rounds_at_level_zero(int32_t value) {
6626  _has_bits_[4] |= 0x10000000u;
6627  max_cut_rounds_at_level_zero_ = value;
6628 }
6630  _internal_set_max_cut_rounds_at_level_zero(value);
6631  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_cut_rounds_at_level_zero)
6632 }
6633 
6634 // optional int32 max_consecutive_inactive_count = 121 [default = 100];
6635 inline bool SatParameters::_internal_has_max_consecutive_inactive_count() const {
6636  bool value = (_has_bits_[4] & 0x00000001u) != 0;
6637  return value;
6638 }
6640  return _internal_has_max_consecutive_inactive_count();
6641 }
6643  max_consecutive_inactive_count_ = 100;
6644  _has_bits_[4] &= ~0x00000001u;
6645 }
6646 inline int32_t SatParameters::_internal_max_consecutive_inactive_count() const {
6647  return max_consecutive_inactive_count_;
6648 }
6650  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_consecutive_inactive_count)
6651  return _internal_max_consecutive_inactive_count();
6652 }
6653 inline void SatParameters::_internal_set_max_consecutive_inactive_count(int32_t value) {
6654  _has_bits_[4] |= 0x00000001u;
6655  max_consecutive_inactive_count_ = value;
6656 }
6658  _internal_set_max_consecutive_inactive_count(value);
6659  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_consecutive_inactive_count)
6660 }
6661 
6662 // optional double cut_max_active_count_value = 155 [default = 10000000000];
6663 inline bool SatParameters::_internal_has_cut_max_active_count_value() const {
6664  bool value = (_has_bits_[4] & 0x08000000u) != 0;
6665  return value;
6666 }
6668  return _internal_has_cut_max_active_count_value();
6669 }
6671  cut_max_active_count_value_ = 10000000000;
6672  _has_bits_[4] &= ~0x08000000u;
6673 }
6674 inline double SatParameters::_internal_cut_max_active_count_value() const {
6675  return cut_max_active_count_value_;
6676 }
6678  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cut_max_active_count_value)
6679  return _internal_cut_max_active_count_value();
6680 }
6681 inline void SatParameters::_internal_set_cut_max_active_count_value(double value) {
6682  _has_bits_[4] |= 0x08000000u;
6683  cut_max_active_count_value_ = value;
6684 }
6686  _internal_set_cut_max_active_count_value(value);
6687  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cut_max_active_count_value)
6688 }
6689 
6690 // optional double cut_active_count_decay = 156 [default = 0.8];
6691 inline bool SatParameters::_internal_has_cut_active_count_decay() const {
6692  bool value = (_has_bits_[4] & 0x40000000u) != 0;
6693  return value;
6694 }
6696  return _internal_has_cut_active_count_decay();
6697 }
6699  cut_active_count_decay_ = 0.8;
6700  _has_bits_[4] &= ~0x40000000u;
6701 }
6702 inline double SatParameters::_internal_cut_active_count_decay() const {
6703  return cut_active_count_decay_;
6704 }
6706  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cut_active_count_decay)
6707  return _internal_cut_active_count_decay();
6708 }
6709 inline void SatParameters::_internal_set_cut_active_count_decay(double value) {
6710  _has_bits_[4] |= 0x40000000u;
6711  cut_active_count_decay_ = value;
6712 }
6714  _internal_set_cut_active_count_decay(value);
6715  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cut_active_count_decay)
6716 }
6717 
6718 // optional int32 cut_cleanup_target = 157 [default = 1000];
6719 inline bool SatParameters::_internal_has_cut_cleanup_target() const {
6720  bool value = (_has_bits_[4] & 0x20000000u) != 0;
6721  return value;
6722 }
6724  return _internal_has_cut_cleanup_target();
6725 }
6727  cut_cleanup_target_ = 1000;
6728  _has_bits_[4] &= ~0x20000000u;
6729 }
6730 inline int32_t SatParameters::_internal_cut_cleanup_target() const {
6731  return cut_cleanup_target_;
6732 }
6733 inline int32_t SatParameters::cut_cleanup_target() const {
6734  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cut_cleanup_target)
6735  return _internal_cut_cleanup_target();
6736 }
6737 inline void SatParameters::_internal_set_cut_cleanup_target(int32_t value) {
6738  _has_bits_[4] |= 0x20000000u;
6739  cut_cleanup_target_ = value;
6740 }
6742  _internal_set_cut_cleanup_target(value);
6743  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cut_cleanup_target)
6744 }
6745 
6746 // optional int32 new_constraints_batch_size = 122 [default = 50];
6747 inline bool SatParameters::_internal_has_new_constraints_batch_size() const {
6748  bool value = (_has_bits_[4] & 0x00000008u) != 0;
6749  return value;
6750 }
6752  return _internal_has_new_constraints_batch_size();
6753 }
6755  new_constraints_batch_size_ = 50;
6756  _has_bits_[4] &= ~0x00000008u;
6757 }
6758 inline int32_t SatParameters::_internal_new_constraints_batch_size() const {
6759  return new_constraints_batch_size_;
6760 }
6762  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.new_constraints_batch_size)
6763  return _internal_new_constraints_batch_size();
6764 }
6765 inline void SatParameters::_internal_set_new_constraints_batch_size(int32_t value) {
6766  _has_bits_[4] |= 0x00000008u;
6767  new_constraints_batch_size_ = value;
6768 }
6770  _internal_set_new_constraints_batch_size(value);
6771  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.new_constraints_batch_size)
6772 }
6773 
6774 // optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTOMATIC_SEARCH];
6775 inline bool SatParameters::_internal_has_search_branching() const {
6776  bool value = (_has_bits_[0] & 0x00002000u) != 0;
6777  return value;
6778 }
6780  return _internal_has_search_branching();
6781 }
6783  search_branching_ = 0;
6784  _has_bits_[0] &= ~0x00002000u;
6785 }
6786 inline ::operations_research::sat::SatParameters_SearchBranching SatParameters::_internal_search_branching() const {
6787  return static_cast< ::operations_research::sat::SatParameters_SearchBranching >(search_branching_);
6788 }
6790  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.search_branching)
6791  return _internal_search_branching();
6792 }
6793 inline void SatParameters::_internal_set_search_branching(::operations_research::sat::SatParameters_SearchBranching value) {
6795  _has_bits_[0] |= 0x00002000u;
6796  search_branching_ = value;
6797 }
6799  _internal_set_search_branching(value);
6800  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.search_branching)
6801 }
6802 
6803 // optional int32 hint_conflict_limit = 153 [default = 10];
6804 inline bool SatParameters::_internal_has_hint_conflict_limit() const {
6805  bool value = (_has_bits_[4] & 0x04000000u) != 0;
6806  return value;
6807 }
6809  return _internal_has_hint_conflict_limit();
6810 }
6812  hint_conflict_limit_ = 10;
6813  _has_bits_[4] &= ~0x04000000u;
6814 }
6815 inline int32_t SatParameters::_internal_hint_conflict_limit() const {
6816  return hint_conflict_limit_;
6817 }
6818 inline int32_t SatParameters::hint_conflict_limit() const {
6819  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.hint_conflict_limit)
6820  return _internal_hint_conflict_limit();
6821 }
6822 inline void SatParameters::_internal_set_hint_conflict_limit(int32_t value) {
6823  _has_bits_[4] |= 0x04000000u;
6824  hint_conflict_limit_ = value;
6825 }
6827  _internal_set_hint_conflict_limit(value);
6828  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.hint_conflict_limit)
6829 }
6830 
6831 // optional bool repair_hint = 167 [default = false];
6832 inline bool SatParameters::_internal_has_repair_hint() const {
6833  bool value = (_has_bits_[1] & 0x02000000u) != 0;
6834  return value;
6835 }
6836 inline bool SatParameters::has_repair_hint() const {
6837  return _internal_has_repair_hint();
6838 }
6840  repair_hint_ = false;
6841  _has_bits_[1] &= ~0x02000000u;
6842 }
6843 inline bool SatParameters::_internal_repair_hint() const {
6844  return repair_hint_;
6845 }
6846 inline bool SatParameters::repair_hint() const {
6847  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.repair_hint)
6848  return _internal_repair_hint();
6849 }
6850 inline void SatParameters::_internal_set_repair_hint(bool value) {
6851  _has_bits_[1] |= 0x02000000u;
6852  repair_hint_ = value;
6853 }
6855  _internal_set_repair_hint(value);
6856  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.repair_hint)
6857 }
6858 
6859 // optional bool fix_variables_to_their_hinted_value = 192 [default = false];
6860 inline bool SatParameters::_internal_has_fix_variables_to_their_hinted_value() const {
6861  bool value = (_has_bits_[1] & 0x04000000u) != 0;
6862  return value;
6863 }
6865  return _internal_has_fix_variables_to_their_hinted_value();
6866 }
6868  fix_variables_to_their_hinted_value_ = false;
6869  _has_bits_[1] &= ~0x04000000u;
6870 }
6871 inline bool SatParameters::_internal_fix_variables_to_their_hinted_value() const {
6872  return fix_variables_to_their_hinted_value_;
6873 }
6875  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.fix_variables_to_their_hinted_value)
6876  return _internal_fix_variables_to_their_hinted_value();
6877 }
6878 inline void SatParameters::_internal_set_fix_variables_to_their_hinted_value(bool value) {
6879  _has_bits_[1] |= 0x04000000u;
6880  fix_variables_to_their_hinted_value_ = value;
6881 }
6883  _internal_set_fix_variables_to_their_hinted_value(value);
6884  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.fix_variables_to_their_hinted_value)
6885 }
6886 
6887 // optional bool exploit_integer_lp_solution = 94 [default = true];
6888 inline bool SatParameters::_internal_has_exploit_integer_lp_solution() const {
6889  bool value = (_has_bits_[3] & 0x10000000u) != 0;
6890  return value;
6891 }
6893  return _internal_has_exploit_integer_lp_solution();
6894 }
6896  exploit_integer_lp_solution_ = true;
6897  _has_bits_[3] &= ~0x10000000u;
6898 }
6899 inline bool SatParameters::_internal_exploit_integer_lp_solution() const {
6900  return exploit_integer_lp_solution_;
6901 }
6903  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_integer_lp_solution)
6904  return _internal_exploit_integer_lp_solution();
6905 }
6906 inline void SatParameters::_internal_set_exploit_integer_lp_solution(bool value) {
6907  _has_bits_[3] |= 0x10000000u;
6908  exploit_integer_lp_solution_ = value;
6909 }
6911  _internal_set_exploit_integer_lp_solution(value);
6912  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_integer_lp_solution)
6913 }
6914 
6915 // optional bool exploit_all_lp_solution = 116 [default = true];
6916 inline bool SatParameters::_internal_has_exploit_all_lp_solution() const {
6917  bool value = (_has_bits_[3] & 0x20000000u) != 0;
6918  return value;
6919 }
6921  return _internal_has_exploit_all_lp_solution();
6922 }
6924  exploit_all_lp_solution_ = true;
6925  _has_bits_[3] &= ~0x20000000u;
6926 }
6927 inline bool SatParameters::_internal_exploit_all_lp_solution() const {
6928  return exploit_all_lp_solution_;
6929 }
6931  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_all_lp_solution)
6932  return _internal_exploit_all_lp_solution();
6933 }
6934 inline void SatParameters::_internal_set_exploit_all_lp_solution(bool value) {
6935  _has_bits_[3] |= 0x20000000u;
6936  exploit_all_lp_solution_ = value;
6937 }
6939  _internal_set_exploit_all_lp_solution(value);
6940  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_all_lp_solution)
6941 }
6942 
6943 // optional bool exploit_best_solution = 130 [default = false];
6944 inline bool SatParameters::_internal_has_exploit_best_solution() const {
6945  bool value = (_has_bits_[1] & 0x00000100u) != 0;
6946  return value;
6947 }
6949  return _internal_has_exploit_best_solution();
6950 }
6952  exploit_best_solution_ = false;
6953  _has_bits_[1] &= ~0x00000100u;
6954 }
6955 inline bool SatParameters::_internal_exploit_best_solution() const {
6956  return exploit_best_solution_;
6957 }
6959  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_best_solution)
6960  return _internal_exploit_best_solution();
6961 }
6962 inline void SatParameters::_internal_set_exploit_best_solution(bool value) {
6963  _has_bits_[1] |= 0x00000100u;
6964  exploit_best_solution_ = value;
6965 }
6967  _internal_set_exploit_best_solution(value);
6968  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_best_solution)
6969 }
6970 
6971 // optional bool exploit_relaxation_solution = 161 [default = false];
6972 inline bool SatParameters::_internal_has_exploit_relaxation_solution() const {
6973  bool value = (_has_bits_[1] & 0x00000200u) != 0;
6974  return value;
6975 }
6977  return _internal_has_exploit_relaxation_solution();
6978 }
6980  exploit_relaxation_solution_ = false;
6981  _has_bits_[1] &= ~0x00000200u;
6982 }
6983 inline bool SatParameters::_internal_exploit_relaxation_solution() const {
6984  return exploit_relaxation_solution_;
6985 }
6987  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_relaxation_solution)
6988  return _internal_exploit_relaxation_solution();
6989 }
6990 inline void SatParameters::_internal_set_exploit_relaxation_solution(bool value) {
6991  _has_bits_[1] |= 0x00000200u;
6992  exploit_relaxation_solution_ = value;
6993 }
6995  _internal_set_exploit_relaxation_solution(value);
6996  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_relaxation_solution)
6997 }
6998 
6999 // optional bool exploit_objective = 131 [default = true];
7000 inline bool SatParameters::_internal_has_exploit_objective() const {
7001  bool value = (_has_bits_[3] & 0x00400000u) != 0;
7002  return value;
7003 }
7005  return _internal_has_exploit_objective();
7006 }
7008  exploit_objective_ = true;
7009  _has_bits_[3] &= ~0x00400000u;
7010 }
7011 inline bool SatParameters::_internal_exploit_objective() const {
7012  return exploit_objective_;
7013 }
7015  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_objective)
7016  return _internal_exploit_objective();
7017 }
7018 inline void SatParameters::_internal_set_exploit_objective(bool value) {
7019  _has_bits_[3] |= 0x00400000u;
7020  exploit_objective_ = value;
7021 }
7023  _internal_set_exploit_objective(value);
7024  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_objective)
7025 }
7026 
7027 // optional int64 probing_period_at_root = 142 [default = 0];
7028 inline bool SatParameters::_internal_has_probing_period_at_root() const {
7029  bool value = (_has_bits_[1] & 0x00010000u) != 0;
7030  return value;
7031 }
7033  return _internal_has_probing_period_at_root();
7034 }
7036  probing_period_at_root_ = int64_t{0};
7037  _has_bits_[1] &= ~0x00010000u;
7038 }
7039 inline int64_t SatParameters::_internal_probing_period_at_root() const {
7040  return probing_period_at_root_;
7041 }
7043  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.probing_period_at_root)
7044  return _internal_probing_period_at_root();
7045 }
7046 inline void SatParameters::_internal_set_probing_period_at_root(int64_t value) {
7047  _has_bits_[1] |= 0x00010000u;
7048  probing_period_at_root_ = value;
7049 }
7051  _internal_set_probing_period_at_root(value);
7052  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.probing_period_at_root)
7053 }
7054 
7055 // optional bool use_probing_search = 176 [default = false];
7056 inline bool SatParameters::_internal_has_use_probing_search() const {
7057  bool value = (_has_bits_[1] & 0x00000400u) != 0;
7058  return value;
7059 }
7061  return _internal_has_use_probing_search();
7062 }
7064  use_probing_search_ = false;
7065  _has_bits_[1] &= ~0x00000400u;
7066 }
7067 inline bool SatParameters::_internal_use_probing_search() const {
7068  return use_probing_search_;
7069 }
7071  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_probing_search)
7072  return _internal_use_probing_search();
7073 }
7074 inline void SatParameters::_internal_set_use_probing_search(bool value) {
7075  _has_bits_[1] |= 0x00000400u;
7076  use_probing_search_ = value;
7077 }
7079  _internal_set_use_probing_search(value);
7080  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_probing_search)
7081 }
7082 
7083 // optional int64 pseudo_cost_reliability_threshold = 123 [default = 100];
7084 inline bool SatParameters::_internal_has_pseudo_cost_reliability_threshold() const {
7085  bool value = (_has_bits_[4] & 0x00000002u) != 0;
7086  return value;
7087 }
7089  return _internal_has_pseudo_cost_reliability_threshold();
7090 }
7092  pseudo_cost_reliability_threshold_ = int64_t{100};
7093  _has_bits_[4] &= ~0x00000002u;
7094 }
7095 inline int64_t SatParameters::_internal_pseudo_cost_reliability_threshold() const {
7096  return pseudo_cost_reliability_threshold_;
7097 }
7099  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pseudo_cost_reliability_threshold)
7100  return _internal_pseudo_cost_reliability_threshold();
7101 }
7102 inline void SatParameters::_internal_set_pseudo_cost_reliability_threshold(int64_t value) {
7103  _has_bits_[4] |= 0x00000002u;
7104  pseudo_cost_reliability_threshold_ = value;
7105 }
7107  _internal_set_pseudo_cost_reliability_threshold(value);
7108  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pseudo_cost_reliability_threshold)
7109 }
7110 
7111 // optional bool optimize_with_core = 83 [default = false];
7112 inline bool SatParameters::_internal_has_optimize_with_core() const {
7113  bool value = (_has_bits_[1] & 0x00000800u) != 0;
7114  return value;
7115 }
7117  return _internal_has_optimize_with_core();
7118 }
7120  optimize_with_core_ = false;
7121  _has_bits_[1] &= ~0x00000800u;
7122 }
7123 inline bool SatParameters::_internal_optimize_with_core() const {
7124  return optimize_with_core_;
7125 }
7127  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.optimize_with_core)
7128  return _internal_optimize_with_core();
7129 }
7130 inline void SatParameters::_internal_set_optimize_with_core(bool value) {
7131  _has_bits_[1] |= 0x00000800u;
7132  optimize_with_core_ = value;
7133 }
7135  _internal_set_optimize_with_core(value);
7136  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.optimize_with_core)
7137 }
7138 
7139 // optional bool optimize_with_lb_tree_search = 188 [default = false];
7140 inline bool SatParameters::_internal_has_optimize_with_lb_tree_search() const {
7141  bool value = (_has_bits_[1] & 0x00000010u) != 0;
7142  return value;
7143 }
7145  return _internal_has_optimize_with_lb_tree_search();
7146 }
7148  optimize_with_lb_tree_search_ = false;
7149  _has_bits_[1] &= ~0x00000010u;
7150 }
7151 inline bool SatParameters::_internal_optimize_with_lb_tree_search() const {
7152  return optimize_with_lb_tree_search_;
7153 }
7155  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.optimize_with_lb_tree_search)
7156  return _internal_optimize_with_lb_tree_search();
7157 }
7158 inline void SatParameters::_internal_set_optimize_with_lb_tree_search(bool value) {
7159  _has_bits_[1] |= 0x00000010u;
7160  optimize_with_lb_tree_search_ = value;
7161 }
7163  _internal_set_optimize_with_lb_tree_search(value);
7164  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.optimize_with_lb_tree_search)
7165 }
7166 
7167 // optional int32 binary_search_num_conflicts = 99 [default = -1];
7168 inline bool SatParameters::_internal_has_binary_search_num_conflicts() const {
7169  bool value = (_has_bits_[3] & 0x00080000u) != 0;
7170  return value;
7171 }
7173  return _internal_has_binary_search_num_conflicts();
7174 }
7176  binary_search_num_conflicts_ = -1;
7177  _has_bits_[3] &= ~0x00080000u;
7178 }
7179 inline int32_t SatParameters::_internal_binary_search_num_conflicts() const {
7180  return binary_search_num_conflicts_;
7181 }
7183  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.binary_search_num_conflicts)
7184  return _internal_binary_search_num_conflicts();
7185 }
7186 inline void SatParameters::_internal_set_binary_search_num_conflicts(int32_t value) {
7187  _has_bits_[3] |= 0x00080000u;
7188  binary_search_num_conflicts_ = value;
7189 }
7191  _internal_set_binary_search_num_conflicts(value);
7192  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.binary_search_num_conflicts)
7193 }
7194 
7195 // optional bool optimize_with_max_hs = 85 [default = false];
7196 inline bool SatParameters::_internal_has_optimize_with_max_hs() const {
7197  bool value = (_has_bits_[1] & 0x00000020u) != 0;
7198  return value;
7199 }
7201  return _internal_has_optimize_with_max_hs();
7202 }
7204  optimize_with_max_hs_ = false;
7205  _has_bits_[1] &= ~0x00000020u;
7206 }
7207 inline bool SatParameters::_internal_optimize_with_max_hs() const {
7208  return optimize_with_max_hs_;
7209 }
7211  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.optimize_with_max_hs)
7212  return _internal_optimize_with_max_hs();
7213 }
7214 inline void SatParameters::_internal_set_optimize_with_max_hs(bool value) {
7215  _has_bits_[1] |= 0x00000020u;
7216  optimize_with_max_hs_ = value;
7217 }
7219  _internal_set_optimize_with_max_hs(value);
7220  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.optimize_with_max_hs)
7221 }
7222 
7223 // optional bool enumerate_all_solutions = 87 [default = false];
7224 inline bool SatParameters::_internal_has_enumerate_all_solutions() const {
7225  bool value = (_has_bits_[1] & 0x00000040u) != 0;
7226  return value;
7227 }
7229  return _internal_has_enumerate_all_solutions();
7230 }
7232  enumerate_all_solutions_ = false;
7233  _has_bits_[1] &= ~0x00000040u;
7234 }
7235 inline bool SatParameters::_internal_enumerate_all_solutions() const {
7236  return enumerate_all_solutions_;
7237 }
7239  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.enumerate_all_solutions)
7240  return _internal_enumerate_all_solutions();
7241 }
7242 inline void SatParameters::_internal_set_enumerate_all_solutions(bool value) {
7243  _has_bits_[1] |= 0x00000040u;
7244  enumerate_all_solutions_ = value;
7245 }
7247  _internal_set_enumerate_all_solutions(value);
7248  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.enumerate_all_solutions)
7249 }
7250 
7251 // optional bool keep_all_feasible_solutions_in_presolve = 173 [default = false];
7252 inline bool SatParameters::_internal_has_keep_all_feasible_solutions_in_presolve() const {
7253  bool value = (_has_bits_[1] & 0x00000080u) != 0;
7254  return value;
7255 }
7257  return _internal_has_keep_all_feasible_solutions_in_presolve();
7258 }
7260  keep_all_feasible_solutions_in_presolve_ = false;
7261  _has_bits_[1] &= ~0x00000080u;
7262 }
7263 inline bool SatParameters::_internal_keep_all_feasible_solutions_in_presolve() const {
7264  return keep_all_feasible_solutions_in_presolve_;
7265 }
7267  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.keep_all_feasible_solutions_in_presolve)
7268  return _internal_keep_all_feasible_solutions_in_presolve();
7269 }
7270 inline void SatParameters::_internal_set_keep_all_feasible_solutions_in_presolve(bool value) {
7271  _has_bits_[1] |= 0x00000080u;
7272  keep_all_feasible_solutions_in_presolve_ = value;
7273 }
7275  _internal_set_keep_all_feasible_solutions_in_presolve(value);
7276  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.keep_all_feasible_solutions_in_presolve)
7277 }
7278 
7279 // optional bool fill_tightened_domains_in_response = 132 [default = false];
7280 inline bool SatParameters::_internal_has_fill_tightened_domains_in_response() const {
7281  bool value = (_has_bits_[1] & 0x00001000u) != 0;
7282  return value;
7283 }
7285  return _internal_has_fill_tightened_domains_in_response();
7286 }
7288  fill_tightened_domains_in_response_ = false;
7289  _has_bits_[1] &= ~0x00001000u;
7290 }
7291 inline bool SatParameters::_internal_fill_tightened_domains_in_response() const {
7292  return fill_tightened_domains_in_response_;
7293 }
7295  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.fill_tightened_domains_in_response)
7296  return _internal_fill_tightened_domains_in_response();
7297 }
7298 inline void SatParameters::_internal_set_fill_tightened_domains_in_response(bool value) {
7299  _has_bits_[1] |= 0x00001000u;
7300  fill_tightened_domains_in_response_ = value;
7301 }
7303  _internal_set_fill_tightened_domains_in_response(value);
7304  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.fill_tightened_domains_in_response)
7305 }
7306 
7307 // optional bool fill_additional_solutions_in_response = 194 [default = false];
7308 inline bool SatParameters::_internal_has_fill_additional_solutions_in_response() const {
7309  bool value = (_has_bits_[1] & 0x00002000u) != 0;
7310  return value;
7311 }
7313  return _internal_has_fill_additional_solutions_in_response();
7314 }
7316  fill_additional_solutions_in_response_ = false;
7317  _has_bits_[1] &= ~0x00002000u;
7318 }
7319 inline bool SatParameters::_internal_fill_additional_solutions_in_response() const {
7320  return fill_additional_solutions_in_response_;
7321 }
7323  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.fill_additional_solutions_in_response)
7324  return _internal_fill_additional_solutions_in_response();
7325 }
7326 inline void SatParameters::_internal_set_fill_additional_solutions_in_response(bool value) {
7327  _has_bits_[1] |= 0x00002000u;
7328  fill_additional_solutions_in_response_ = value;
7329 }
7331  _internal_set_fill_additional_solutions_in_response(value);
7332  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.fill_additional_solutions_in_response)
7333 }
7334 
7335 // optional bool instantiate_all_variables = 106 [default = true];
7336 inline bool SatParameters::_internal_has_instantiate_all_variables() const {
7337  bool value = (_has_bits_[3] & 0x00800000u) != 0;
7338  return value;
7339 }
7341  return _internal_has_instantiate_all_variables();
7342 }
7344  instantiate_all_variables_ = true;
7345  _has_bits_[3] &= ~0x00800000u;
7346 }
7347 inline bool SatParameters::_internal_instantiate_all_variables() const {
7348  return instantiate_all_variables_;
7349 }
7351  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.instantiate_all_variables)
7352  return _internal_instantiate_all_variables();
7353 }
7354 inline void SatParameters::_internal_set_instantiate_all_variables(bool value) {
7355  _has_bits_[3] |= 0x00800000u;
7356  instantiate_all_variables_ = value;
7357 }
7359  _internal_set_instantiate_all_variables(value);
7360  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.instantiate_all_variables)
7361 }
7362 
7363 // optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
7364 inline bool SatParameters::_internal_has_auto_detect_greater_than_at_least_one_of() const {
7365  bool value = (_has_bits_[3] & 0x01000000u) != 0;
7366  return value;
7367 }
7369  return _internal_has_auto_detect_greater_than_at_least_one_of();
7370 }
7372  auto_detect_greater_than_at_least_one_of_ = true;
7373  _has_bits_[3] &= ~0x01000000u;
7374 }
7375 inline bool SatParameters::_internal_auto_detect_greater_than_at_least_one_of() const {
7376  return auto_detect_greater_than_at_least_one_of_;
7377 }
7379  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.auto_detect_greater_than_at_least_one_of)
7380  return _internal_auto_detect_greater_than_at_least_one_of();
7381 }
7382 inline void SatParameters::_internal_set_auto_detect_greater_than_at_least_one_of(bool value) {
7383  _has_bits_[3] |= 0x01000000u;
7384  auto_detect_greater_than_at_least_one_of_ = value;
7385 }
7387  _internal_set_auto_detect_greater_than_at_least_one_of(value);
7388  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.auto_detect_greater_than_at_least_one_of)
7389 }
7390 
7391 // optional bool stop_after_first_solution = 98 [default = false];
7392 inline bool SatParameters::_internal_has_stop_after_first_solution() const {
7393  bool value = (_has_bits_[1] & 0x00004000u) != 0;
7394  return value;
7395 }
7397  return _internal_has_stop_after_first_solution();
7398 }
7400  stop_after_first_solution_ = false;
7401  _has_bits_[1] &= ~0x00004000u;
7402 }
7403 inline bool SatParameters::_internal_stop_after_first_solution() const {
7404  return stop_after_first_solution_;
7405 }
7407  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.stop_after_first_solution)
7408  return _internal_stop_after_first_solution();
7409 }
7410 inline void SatParameters::_internal_set_stop_after_first_solution(bool value) {
7411  _has_bits_[1] |= 0x00004000u;
7412  stop_after_first_solution_ = value;
7413 }
7415  _internal_set_stop_after_first_solution(value);
7416  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.stop_after_first_solution)
7417 }
7418 
7419 // optional bool stop_after_presolve = 149 [default = false];
7420 inline bool SatParameters::_internal_has_stop_after_presolve() const {
7421  bool value = (_has_bits_[1] & 0x00008000u) != 0;
7422  return value;
7423 }
7425  return _internal_has_stop_after_presolve();
7426 }
7428  stop_after_presolve_ = false;
7429  _has_bits_[1] &= ~0x00008000u;
7430 }
7431 inline bool SatParameters::_internal_stop_after_presolve() const {
7432  return stop_after_presolve_;
7433 }
7435  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.stop_after_presolve)
7436  return _internal_stop_after_presolve();
7437 }
7438 inline void SatParameters::_internal_set_stop_after_presolve(bool value) {
7439  _has_bits_[1] |= 0x00008000u;
7440  stop_after_presolve_ = value;
7441 }
7443  _internal_set_stop_after_presolve(value);
7444  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.stop_after_presolve)
7445 }
7446 
7447 // optional int32 num_search_workers = 100 [default = 0];
7448 inline bool SatParameters::_internal_has_num_search_workers() const {
7449  bool value = (_has_bits_[0] & 0x00040000u) != 0;
7450  return value;
7451 }
7453  return _internal_has_num_search_workers();
7454 }
7456  num_search_workers_ = 0;
7457  _has_bits_[0] &= ~0x00040000u;
7458 }
7459 inline int32_t SatParameters::_internal_num_search_workers() const {
7460  return num_search_workers_;
7461 }
7462 inline int32_t SatParameters::num_search_workers() const {
7463  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.num_search_workers)
7464  return _internal_num_search_workers();
7465 }
7466 inline void SatParameters::_internal_set_num_search_workers(int32_t value) {
7467  _has_bits_[0] |= 0x00040000u;
7468  num_search_workers_ = value;
7469 }
7471  _internal_set_num_search_workers(value);
7472  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.num_search_workers)
7473 }
7474 
7475 // optional bool interleave_search = 136 [default = false];
7476 inline bool SatParameters::_internal_has_interleave_search() const {
7477  bool value = (_has_bits_[1] & 0x00000001u) != 0;
7478  return value;
7479 }
7481  return _internal_has_interleave_search();
7482 }
7484  interleave_search_ = false;
7485  _has_bits_[1] &= ~0x00000001u;
7486 }
7487 inline bool SatParameters::_internal_interleave_search() const {
7488  return interleave_search_;
7489 }
7491  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.interleave_search)
7492  return _internal_interleave_search();
7493 }
7494 inline void SatParameters::_internal_set_interleave_search(bool value) {
7495  _has_bits_[1] |= 0x00000001u;
7496  interleave_search_ = value;
7497 }
7499  _internal_set_interleave_search(value);
7500  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.interleave_search)
7501 }
7502 
7503 // optional int32 interleave_batch_size = 134 [default = 1];
7504 inline bool SatParameters::_internal_has_interleave_batch_size() const {
7505  bool value = (_has_bits_[4] & 0x00001000u) != 0;
7506  return value;
7507 }
7509  return _internal_has_interleave_batch_size();
7510 }
7512  interleave_batch_size_ = 1;
7513  _has_bits_[4] &= ~0x00001000u;
7514 }
7515 inline int32_t SatParameters::_internal_interleave_batch_size() const {
7516  return interleave_batch_size_;
7517 }
7519  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.interleave_batch_size)
7520  return _internal_interleave_batch_size();
7521 }
7522 inline void SatParameters::_internal_set_interleave_batch_size(int32_t value) {
7523  _has_bits_[4] |= 0x00001000u;
7524  interleave_batch_size_ = value;
7525 }
7527  _internal_set_interleave_batch_size(value);
7528  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.interleave_batch_size)
7529 }
7530 
7531 // optional bool reduce_memory_usage_in_interleave_mode = 141 [default = false];
7532 inline bool SatParameters::_internal_has_reduce_memory_usage_in_interleave_mode() const {
7533  bool value = (_has_bits_[1] & 0x00000002u) != 0;
7534  return value;
7535 }
7537  return _internal_has_reduce_memory_usage_in_interleave_mode();
7538 }
7540  reduce_memory_usage_in_interleave_mode_ = false;
7541  _has_bits_[1] &= ~0x00000002u;
7542 }
7543 inline bool SatParameters::_internal_reduce_memory_usage_in_interleave_mode() const {
7544  return reduce_memory_usage_in_interleave_mode_;
7545 }
7547  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.reduce_memory_usage_in_interleave_mode)
7548  return _internal_reduce_memory_usage_in_interleave_mode();
7549 }
7550 inline void SatParameters::_internal_set_reduce_memory_usage_in_interleave_mode(bool value) {
7551  _has_bits_[1] |= 0x00000002u;
7552  reduce_memory_usage_in_interleave_mode_ = value;
7553 }
7555  _internal_set_reduce_memory_usage_in_interleave_mode(value);
7556  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.reduce_memory_usage_in_interleave_mode)
7557 }
7558 
7559 // optional bool share_objective_bounds = 113 [default = true];
7560 inline bool SatParameters::_internal_has_share_objective_bounds() const {
7561  bool value = (_has_bits_[3] & 0x02000000u) != 0;
7562  return value;
7563 }
7565  return _internal_has_share_objective_bounds();
7566 }
7568  share_objective_bounds_ = true;
7569  _has_bits_[3] &= ~0x02000000u;
7570 }
7571 inline bool SatParameters::_internal_share_objective_bounds() const {
7572  return share_objective_bounds_;
7573 }
7575  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.share_objective_bounds)
7576  return _internal_share_objective_bounds();
7577 }
7578 inline void SatParameters::_internal_set_share_objective_bounds(bool value) {
7579  _has_bits_[3] |= 0x02000000u;
7580  share_objective_bounds_ = value;
7581 }
7583  _internal_set_share_objective_bounds(value);
7584  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.share_objective_bounds)
7585 }
7586 
7587 // optional bool share_level_zero_bounds = 114 [default = true];
7588 inline bool SatParameters::_internal_has_share_level_zero_bounds() const {
7589  bool value = (_has_bits_[4] & 0x00000100u) != 0;
7590  return value;
7591 }
7593  return _internal_has_share_level_zero_bounds();
7594 }
7596  share_level_zero_bounds_ = true;
7597  _has_bits_[4] &= ~0x00000100u;
7598 }
7599 inline bool SatParameters::_internal_share_level_zero_bounds() const {
7600  return share_level_zero_bounds_;
7601 }
7603  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.share_level_zero_bounds)
7604  return _internal_share_level_zero_bounds();
7605 }
7606 inline void SatParameters::_internal_set_share_level_zero_bounds(bool value) {
7607  _has_bits_[4] |= 0x00000100u;
7608  share_level_zero_bounds_ = value;
7609 }
7611  _internal_set_share_level_zero_bounds(value);
7612  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.share_level_zero_bounds)
7613 }
7614 
7615 // optional bool use_lns_only = 101 [default = false];
7616 inline bool SatParameters::_internal_has_use_lns_only() const {
7617  bool value = (_has_bits_[1] & 0x00000004u) != 0;
7618  return value;
7619 }
7620 inline bool SatParameters::has_use_lns_only() const {
7621  return _internal_has_use_lns_only();
7622 }
7624  use_lns_only_ = false;
7625  _has_bits_[1] &= ~0x00000004u;
7626 }
7627 inline bool SatParameters::_internal_use_lns_only() const {
7628  return use_lns_only_;
7629 }
7630 inline bool SatParameters::use_lns_only() const {
7631  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_lns_only)
7632  return _internal_use_lns_only();
7633 }
7634 inline void SatParameters::_internal_set_use_lns_only(bool value) {
7635  _has_bits_[1] |= 0x00000004u;
7636  use_lns_only_ = value;
7637 }
7639  _internal_set_use_lns_only(value);
7640  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_lns_only)
7641 }
7642 
7643 // optional int32 solution_pool_size = 193 [default = 3];
7644 inline bool SatParameters::_internal_has_solution_pool_size() const {
7645  bool value = (_has_bits_[5] & 0x00000080u) != 0;
7646  return value;
7647 }
7649  return _internal_has_solution_pool_size();
7650 }
7652  solution_pool_size_ = 3;
7653  _has_bits_[5] &= ~0x00000080u;
7654 }
7655 inline int32_t SatParameters::_internal_solution_pool_size() const {
7656  return solution_pool_size_;
7657 }
7658 inline int32_t SatParameters::solution_pool_size() const {
7659  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.solution_pool_size)
7660  return _internal_solution_pool_size();
7661 }
7662 inline void SatParameters::_internal_set_solution_pool_size(int32_t value) {
7663  _has_bits_[5] |= 0x00000080u;
7664  solution_pool_size_ = value;
7665 }
7667  _internal_set_solution_pool_size(value);
7668  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.solution_pool_size)
7669 }
7670 
7671 // optional bool use_rins_lns = 129 [default = true];
7672 inline bool SatParameters::_internal_has_use_rins_lns() const {
7673  bool value = (_has_bits_[4] & 0x00000200u) != 0;
7674  return value;
7675 }
7676 inline bool SatParameters::has_use_rins_lns() const {
7677  return _internal_has_use_rins_lns();
7678 }
7680  use_rins_lns_ = true;
7681  _has_bits_[4] &= ~0x00000200u;
7682 }
7683 inline bool SatParameters::_internal_use_rins_lns() const {
7684  return use_rins_lns_;
7685 }
7686 inline bool SatParameters::use_rins_lns() const {
7687  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_rins_lns)
7688  return _internal_use_rins_lns();
7689 }
7690 inline void SatParameters::_internal_set_use_rins_lns(bool value) {
7691  _has_bits_[4] |= 0x00000200u;
7692  use_rins_lns_ = value;
7693 }
7695  _internal_set_use_rins_lns(value);
7696  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_rins_lns)
7697 }
7698 
7699 // optional bool use_feasibility_pump = 164 [default = true];
7700 inline bool SatParameters::_internal_has_use_feasibility_pump() const {
7701  bool value = (_has_bits_[4] & 0x00000400u) != 0;
7702  return value;
7703 }
7705  return _internal_has_use_feasibility_pump();
7706 }
7708  use_feasibility_pump_ = true;
7709  _has_bits_[4] &= ~0x00000400u;
7710 }
7711 inline bool SatParameters::_internal_use_feasibility_pump() const {
7712  return use_feasibility_pump_;
7713 }
7715  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_feasibility_pump)
7716  return _internal_use_feasibility_pump();
7717 }
7718 inline void SatParameters::_internal_set_use_feasibility_pump(bool value) {
7719  _has_bits_[4] |= 0x00000400u;
7720  use_feasibility_pump_ = value;
7721 }
7723  _internal_set_use_feasibility_pump(value);
7724  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_feasibility_pump)
7725 }
7726 
7727 // optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGATION_ASSISTED];
7728 inline bool SatParameters::_internal_has_fp_rounding() const {
7729  bool value = (_has_bits_[5] & 0x00000001u) != 0;
7730  return value;
7731 }
7732 inline bool SatParameters::has_fp_rounding() const {
7733  return _internal_has_fp_rounding();
7734 }
7736  fp_rounding_ = 2;
7737  _has_bits_[5] &= ~0x00000001u;
7738 }
7739 inline ::operations_research::sat::SatParameters_FPRoundingMethod SatParameters::_internal_fp_rounding() const {
7740  return static_cast< ::operations_research::sat::SatParameters_FPRoundingMethod >(fp_rounding_);
7741 }
7743  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.fp_rounding)
7744  return _internal_fp_rounding();
7745 }
7746 inline void SatParameters::_internal_set_fp_rounding(::operations_research::sat::SatParameters_FPRoundingMethod value) {
7748  _has_bits_[5] |= 0x00000001u;
7749  fp_rounding_ = value;
7750 }
7752  _internal_set_fp_rounding(value);
7753  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.fp_rounding)
7754 }
7755 
7756 // optional bool use_relaxation_lns = 150 [default = false];
7757 inline bool SatParameters::_internal_has_use_relaxation_lns() const {
7758  bool value = (_has_bits_[1] & 0x00000008u) != 0;
7759  return value;
7760 }
7762  return _internal_has_use_relaxation_lns();
7763 }
7765  use_relaxation_lns_ = false;
7766  _has_bits_[1] &= ~0x00000008u;
7767 }
7768 inline bool SatParameters::_internal_use_relaxation_lns() const {
7769  return use_relaxation_lns_;
7770 }
7772  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_relaxation_lns)
7773  return _internal_use_relaxation_lns();
7774 }
7775 inline void SatParameters::_internal_set_use_relaxation_lns(bool value) {
7776  _has_bits_[1] |= 0x00000008u;
7777  use_relaxation_lns_ = value;
7778 }
7780  _internal_set_use_relaxation_lns(value);
7781  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_relaxation_lns)
7782 }
7783 
7784 // optional bool diversify_lns_params = 137 [default = false];
7785 inline bool SatParameters::_internal_has_diversify_lns_params() const {
7786  bool value = (_has_bits_[0] & 0x10000000u) != 0;
7787  return value;
7788 }
7790  return _internal_has_diversify_lns_params();
7791 }
7793  diversify_lns_params_ = false;
7794  _has_bits_[0] &= ~0x10000000u;
7795 }
7796 inline bool SatParameters::_internal_diversify_lns_params() const {
7797  return diversify_lns_params_;
7798 }
7800  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.diversify_lns_params)
7801  return _internal_diversify_lns_params();
7802 }
7803 inline void SatParameters::_internal_set_diversify_lns_params(bool value) {
7804  _has_bits_[0] |= 0x10000000u;
7805  diversify_lns_params_ = value;
7806 }
7808  _internal_set_diversify_lns_params(value);
7809  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.diversify_lns_params)
7810 }
7811 
7812 // optional bool randomize_search = 103 [default = false];
7813 inline bool SatParameters::_internal_has_randomize_search() const {
7814  bool value = (_has_bits_[0] & 0x20000000u) != 0;
7815  return value;
7816 }
7818  return _internal_has_randomize_search();
7819 }
7821  randomize_search_ = false;
7822  _has_bits_[0] &= ~0x20000000u;
7823 }
7824 inline bool SatParameters::_internal_randomize_search() const {
7825  return randomize_search_;
7826 }
7827 inline bool SatParameters::randomize_search() const {
7828  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.randomize_search)
7829  return _internal_randomize_search();
7830 }
7831 inline void SatParameters::_internal_set_randomize_search(bool value) {
7832  _has_bits_[0] |= 0x20000000u;
7833  randomize_search_ = value;
7834 }
7836  _internal_set_randomize_search(value);
7837  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.randomize_search)
7838 }
7839 
7840 // optional int64 search_randomization_tolerance = 104 [default = 0];
7841 inline bool SatParameters::_internal_has_search_randomization_tolerance() const {
7842  bool value = (_has_bits_[0] & 0x00800000u) != 0;
7843  return value;
7844 }
7846  return _internal_has_search_randomization_tolerance();
7847 }
7849  search_randomization_tolerance_ = int64_t{0};
7850  _has_bits_[0] &= ~0x00800000u;
7851 }
7852 inline int64_t SatParameters::_internal_search_randomization_tolerance() const {
7853  return search_randomization_tolerance_;
7854 }
7856  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.search_randomization_tolerance)
7857  return _internal_search_randomization_tolerance();
7858 }
7859 inline void SatParameters::_internal_set_search_randomization_tolerance(int64_t value) {
7860  _has_bits_[0] |= 0x00800000u;
7861  search_randomization_tolerance_ = value;
7862 }
7864  _internal_set_search_randomization_tolerance(value);
7865  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.search_randomization_tolerance)
7866 }
7867 
7868 // optional bool use_optional_variables = 108 [default = true];
7869 inline bool SatParameters::_internal_has_use_optional_variables() const {
7870  bool value = (_has_bits_[4] & 0x00000800u) != 0;
7871  return value;
7872 }
7874  return _internal_has_use_optional_variables();
7875 }
7877  use_optional_variables_ = true;
7878  _has_bits_[4] &= ~0x00000800u;
7879 }
7880 inline bool SatParameters::_internal_use_optional_variables() const {
7881  return use_optional_variables_;
7882 }
7884  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_optional_variables)
7885  return _internal_use_optional_variables();
7886 }
7887 inline void SatParameters::_internal_set_use_optional_variables(bool value) {
7888  _has_bits_[4] |= 0x00000800u;
7889  use_optional_variables_ = value;
7890 }
7892  _internal_set_use_optional_variables(value);
7893  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_optional_variables)
7894 }
7895 
7896 // optional bool use_exact_lp_reason = 109 [default = true];
7897 inline bool SatParameters::_internal_has_use_exact_lp_reason() const {
7898  bool value = (_has_bits_[4] & 0x00004000u) != 0;
7899  return value;
7900 }
7902  return _internal_has_use_exact_lp_reason();
7903 }
7905  use_exact_lp_reason_ = true;
7906  _has_bits_[4] &= ~0x00004000u;
7907 }
7908 inline bool SatParameters::_internal_use_exact_lp_reason() const {
7909  return use_exact_lp_reason_;
7910 }
7912  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_exact_lp_reason)
7913  return _internal_use_exact_lp_reason();
7914 }
7915 inline void SatParameters::_internal_set_use_exact_lp_reason(bool value) {
7916  _has_bits_[4] |= 0x00004000u;
7917  use_exact_lp_reason_ = value;
7918 }
7920  _internal_set_use_exact_lp_reason(value);
7921  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_exact_lp_reason)
7922 }
7923 
7924 // optional bool use_branching_in_lp = 139 [default = false];
7925 inline bool SatParameters::_internal_has_use_branching_in_lp() const {
7926  bool value = (_has_bits_[0] & 0x40000000u) != 0;
7927  return value;
7928 }
7930  return _internal_has_use_branching_in_lp();
7931 }
7933  use_branching_in_lp_ = false;
7934  _has_bits_[0] &= ~0x40000000u;
7935 }
7936 inline bool SatParameters::_internal_use_branching_in_lp() const {
7937  return use_branching_in_lp_;
7938 }
7940  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_branching_in_lp)
7941  return _internal_use_branching_in_lp();
7942 }
7943 inline void SatParameters::_internal_set_use_branching_in_lp(bool value) {
7944  _has_bits_[0] |= 0x40000000u;
7945  use_branching_in_lp_ = value;
7946 }
7948  _internal_set_use_branching_in_lp(value);
7949  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_branching_in_lp)
7950 }
7951 
7952 // optional bool use_combined_no_overlap = 133 [default = false];
7953 inline bool SatParameters::_internal_has_use_combined_no_overlap() const {
7954  bool value = (_has_bits_[0] & 0x80000000u) != 0;
7955  return value;
7956 }
7958  return _internal_has_use_combined_no_overlap();
7959 }
7961  use_combined_no_overlap_ = false;
7962  _has_bits_[0] &= ~0x80000000u;
7963 }
7964 inline bool SatParameters::_internal_use_combined_no_overlap() const {
7965  return use_combined_no_overlap_;
7966 }
7968  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_combined_no_overlap)
7969  return _internal_use_combined_no_overlap();
7970 }
7971 inline void SatParameters::_internal_set_use_combined_no_overlap(bool value) {
7972  _has_bits_[0] |= 0x80000000u;
7973  use_combined_no_overlap_ = value;
7974 }
7976  _internal_set_use_combined_no_overlap(value);
7977  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_combined_no_overlap)
7978 }
7979 
7980 // optional bool catch_sigint_signal = 135 [default = true];
7981 inline bool SatParameters::_internal_has_catch_sigint_signal() const {
7982  bool value = (_has_bits_[4] & 0x00008000u) != 0;
7983  return value;
7984 }
7986  return _internal_has_catch_sigint_signal();
7987 }
7989  catch_sigint_signal_ = true;
7990  _has_bits_[4] &= ~0x00008000u;
7991 }
7992 inline bool SatParameters::_internal_catch_sigint_signal() const {
7993  return catch_sigint_signal_;
7994 }
7996  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.catch_sigint_signal)
7997  return _internal_catch_sigint_signal();
7998 }
7999 inline void SatParameters::_internal_set_catch_sigint_signal(bool value) {
8000  _has_bits_[4] |= 0x00008000u;
8001  catch_sigint_signal_ = value;
8002 }
8004  _internal_set_catch_sigint_signal(value);
8005  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.catch_sigint_signal)
8006 }
8007 
8008 // optional bool use_implied_bounds = 144 [default = true];
8009 inline bool SatParameters::_internal_has_use_implied_bounds() const {
8010  bool value = (_has_bits_[4] & 0x00010000u) != 0;
8011  return value;
8012 }
8014  return _internal_has_use_implied_bounds();
8015 }
8017  use_implied_bounds_ = true;
8018  _has_bits_[4] &= ~0x00010000u;
8019 }
8020 inline bool SatParameters::_internal_use_implied_bounds() const {
8021  return use_implied_bounds_;
8022 }
8024  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_implied_bounds)
8025  return _internal_use_implied_bounds();
8026 }
8027 inline void SatParameters::_internal_set_use_implied_bounds(bool value) {
8028  _has_bits_[4] |= 0x00010000u;
8029  use_implied_bounds_ = value;
8030 }
8032  _internal_set_use_implied_bounds(value);
8033  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_implied_bounds)
8034 }
8035 
8036 // optional bool polish_lp_solution = 175 [default = false];
8037 inline bool SatParameters::_internal_has_polish_lp_solution() const {
8038  bool value = (_has_bits_[1] & 0x08000000u) != 0;
8039  return value;
8040 }
8042  return _internal_has_polish_lp_solution();
8043 }
8045  polish_lp_solution_ = false;
8046  _has_bits_[1] &= ~0x08000000u;
8047 }
8048 inline bool SatParameters::_internal_polish_lp_solution() const {
8049  return polish_lp_solution_;
8050 }
8052  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.polish_lp_solution)
8053  return _internal_polish_lp_solution();
8054 }
8055 inline void SatParameters::_internal_set_polish_lp_solution(bool value) {
8056  _has_bits_[1] |= 0x08000000u;
8057  polish_lp_solution_ = value;
8058 }
8060  _internal_set_polish_lp_solution(value);
8061  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.polish_lp_solution)
8062 }
8063 
8064 // optional bool convert_intervals = 177 [default = true];
8065 inline bool SatParameters::_internal_has_convert_intervals() const {
8066  bool value = (_has_bits_[4] & 0x00020000u) != 0;
8067  return value;
8068 }
8070  return _internal_has_convert_intervals();
8071 }
8073  convert_intervals_ = true;
8074  _has_bits_[4] &= ~0x00020000u;
8075 }
8076 inline bool SatParameters::_internal_convert_intervals() const {
8077  return convert_intervals_;
8078 }
8080  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.convert_intervals)
8081  return _internal_convert_intervals();
8082 }
8083 inline void SatParameters::_internal_set_convert_intervals(bool value) {
8084  _has_bits_[4] |= 0x00020000u;
8085  convert_intervals_ = value;
8086 }
8088  _internal_set_convert_intervals(value);
8089  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.convert_intervals)
8090 }
8091 
8092 // optional int32 symmetry_level = 183 [default = 2];
8093 inline bool SatParameters::_internal_has_symmetry_level() const {
8094  bool value = (_has_bits_[5] & 0x00000010u) != 0;
8095  return value;
8096 }
8098  return _internal_has_symmetry_level();
8099 }
8101  symmetry_level_ = 2;
8102  _has_bits_[5] &= ~0x00000010u;
8103 }
8104 inline int32_t SatParameters::_internal_symmetry_level() const {
8105  return symmetry_level_;
8106 }
8107 inline int32_t SatParameters::symmetry_level() const {
8108  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.symmetry_level)
8109  return _internal_symmetry_level();
8110 }
8111 inline void SatParameters::_internal_set_symmetry_level(int32_t value) {
8112  _has_bits_[5] |= 0x00000010u;
8113  symmetry_level_ = value;
8114 }
8116  _internal_set_symmetry_level(value);
8117  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.symmetry_level)
8118 }
8119 
8120 // optional double mip_max_bound = 124 [default = 10000000];
8121 inline bool SatParameters::_internal_has_mip_max_bound() const {
8122  bool value = (_has_bits_[4] & 0x00000004u) != 0;
8123  return value;
8124 }
8126  return _internal_has_mip_max_bound();
8127 }
8129  mip_max_bound_ = 10000000;
8130  _has_bits_[4] &= ~0x00000004u;
8131 }
8132 inline double SatParameters::_internal_mip_max_bound() const {
8133  return mip_max_bound_;
8134 }
8135 inline double SatParameters::mip_max_bound() const {
8136  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_max_bound)
8137  return _internal_mip_max_bound();
8138 }
8139 inline void SatParameters::_internal_set_mip_max_bound(double value) {
8140  _has_bits_[4] |= 0x00000004u;
8141  mip_max_bound_ = value;
8142 }
8144  _internal_set_mip_max_bound(value);
8145  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_max_bound)
8146 }
8147 
8148 // optional double mip_var_scaling = 125 [default = 1];
8149 inline bool SatParameters::_internal_has_mip_var_scaling() const {
8150  bool value = (_has_bits_[4] & 0x00000020u) != 0;
8151  return value;
8152 }
8154  return _internal_has_mip_var_scaling();
8155 }
8157  mip_var_scaling_ = 1;
8158  _has_bits_[4] &= ~0x00000020u;
8159 }
8160 inline double SatParameters::_internal_mip_var_scaling() const {
8161  return mip_var_scaling_;
8162 }
8163 inline double SatParameters::mip_var_scaling() const {
8164  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_var_scaling)
8165  return _internal_mip_var_scaling();
8166 }
8167 inline void SatParameters::_internal_set_mip_var_scaling(double value) {
8168  _has_bits_[4] |= 0x00000020u;
8169  mip_var_scaling_ = value;
8170 }
8172  _internal_set_mip_var_scaling(value);
8173  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_var_scaling)
8174 }
8175 
8176 // optional bool mip_automatically_scale_variables = 166 [default = true];
8177 inline bool SatParameters::_internal_has_mip_automatically_scale_variables() const {
8178  bool value = (_has_bits_[5] & 0x00000004u) != 0;
8179  return value;
8180 }
8182  return _internal_has_mip_automatically_scale_variables();
8183 }
8185  mip_automatically_scale_variables_ = true;
8186  _has_bits_[5] &= ~0x00000004u;
8187 }
8188 inline bool SatParameters::_internal_mip_automatically_scale_variables() const {
8189  return mip_automatically_scale_variables_;
8190 }
8192  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_automatically_scale_variables)
8193  return _internal_mip_automatically_scale_variables();
8194 }
8195 inline void SatParameters::_internal_set_mip_automatically_scale_variables(bool value) {
8196  _has_bits_[5] |= 0x00000004u;
8197  mip_automatically_scale_variables_ = value;
8198 }
8200  _internal_set_mip_automatically_scale_variables(value);
8201  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_automatically_scale_variables)
8202 }
8203 
8204 // optional double mip_wanted_precision = 126 [default = 1e-06];
8205 inline bool SatParameters::_internal_has_mip_wanted_precision() const {
8206  bool value = (_has_bits_[4] & 0x00000040u) != 0;
8207  return value;
8208 }
8210  return _internal_has_mip_wanted_precision();
8211 }
8213  mip_wanted_precision_ = 1e-06;
8214  _has_bits_[4] &= ~0x00000040u;
8215 }
8216 inline double SatParameters::_internal_mip_wanted_precision() const {
8217  return mip_wanted_precision_;
8218 }
8220  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_wanted_precision)
8221  return _internal_mip_wanted_precision();
8222 }
8223 inline void SatParameters::_internal_set_mip_wanted_precision(double value) {
8224  _has_bits_[4] |= 0x00000040u;
8225  mip_wanted_precision_ = value;
8226 }
8228  _internal_set_mip_wanted_precision(value);
8229  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_wanted_precision)
8230 }
8231 
8232 // optional int32 mip_max_activity_exponent = 127 [default = 53];
8233 inline bool SatParameters::_internal_has_mip_max_activity_exponent() const {
8234  bool value = (_has_bits_[4] & 0x00000010u) != 0;
8235  return value;
8236 }
8238  return _internal_has_mip_max_activity_exponent();
8239 }
8241  mip_max_activity_exponent_ = 53;
8242  _has_bits_[4] &= ~0x00000010u;
8243 }
8244 inline int32_t SatParameters::_internal_mip_max_activity_exponent() const {
8245  return mip_max_activity_exponent_;
8246 }
8248  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_max_activity_exponent)
8249  return _internal_mip_max_activity_exponent();
8250 }
8251 inline void SatParameters::_internal_set_mip_max_activity_exponent(int32_t value) {
8252  _has_bits_[4] |= 0x00000010u;
8253  mip_max_activity_exponent_ = value;
8254 }
8256  _internal_set_mip_max_activity_exponent(value);
8257  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_max_activity_exponent)
8258 }
8259 
8260 // optional double mip_check_precision = 128 [default = 0.0001];
8261 inline bool SatParameters::_internal_has_mip_check_precision() const {
8262  bool value = (_has_bits_[4] & 0x00000080u) != 0;
8263  return value;
8264 }
8266  return _internal_has_mip_check_precision();
8267 }
8269  mip_check_precision_ = 0.0001;
8270  _has_bits_[4] &= ~0x00000080u;
8271 }
8272 inline double SatParameters::_internal_mip_check_precision() const {
8273  return mip_check_precision_;
8274 }
8275 inline double SatParameters::mip_check_precision() const {
8276  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_check_precision)
8277  return _internal_mip_check_precision();
8278 }
8279 inline void SatParameters::_internal_set_mip_check_precision(double value) {
8280  _has_bits_[4] |= 0x00000080u;
8281  mip_check_precision_ = value;
8282 }
8284  _internal_set_mip_check_precision(value);
8285  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_check_precision)
8286 }
8287 
8288 // optional bool mip_compute_true_objective_bound = 198 [default = true];
8289 inline bool SatParameters::_internal_has_mip_compute_true_objective_bound() const {
8290  bool value = (_has_bits_[5] & 0x00000008u) != 0;
8291  return value;
8292 }
8294  return _internal_has_mip_compute_true_objective_bound();
8295 }
8297  mip_compute_true_objective_bound_ = true;
8298  _has_bits_[5] &= ~0x00000008u;
8299 }
8300 inline bool SatParameters::_internal_mip_compute_true_objective_bound() const {
8301  return mip_compute_true_objective_bound_;
8302 }
8304  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_compute_true_objective_bound)
8305  return _internal_mip_compute_true_objective_bound();
8306 }
8307 inline void SatParameters::_internal_set_mip_compute_true_objective_bound(bool value) {
8308  _has_bits_[5] |= 0x00000008u;
8309  mip_compute_true_objective_bound_ = value;
8310 }
8312  _internal_set_mip_compute_true_objective_bound(value);
8313  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_compute_true_objective_bound)
8314 }
8315 
8316 // optional double mip_max_valid_magnitude = 199 [default = 1e+30];
8317 inline bool SatParameters::_internal_has_mip_max_valid_magnitude() const {
8318  bool value = (_has_bits_[5] & 0x00000100u) != 0;
8319  return value;
8320 }
8322  return _internal_has_mip_max_valid_magnitude();
8323 }
8325  mip_max_valid_magnitude_ = 1e+30;
8326  _has_bits_[5] &= ~0x00000100u;
8327 }
8328 inline double SatParameters::_internal_mip_max_valid_magnitude() const {
8329  return mip_max_valid_magnitude_;
8330 }
8332  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_max_valid_magnitude)
8333  return _internal_mip_max_valid_magnitude();
8334 }
8335 inline void SatParameters::_internal_set_mip_max_valid_magnitude(double value) {
8336  _has_bits_[5] |= 0x00000100u;
8337  mip_max_valid_magnitude_ = value;
8338 }
8340  _internal_set_mip_max_valid_magnitude(value);
8341  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_max_valid_magnitude)
8342 }
8343 
8344 #ifdef __GNUC__
8345  #pragma GCC diagnostic pop
8346 #endif // __GNUC__
8347 
8348 // @@protoc_insertion_point(namespace_scope)
8349 
8350 } // namespace sat
8351 } // namespace operations_research
8352 
8353 PROTOBUF_NAMESPACE_OPEN
8354 
8355 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_VariableOrder> : ::std::true_type {};
8356 template <>
8357 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_VariableOrder>() {
8359 }
8360 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_Polarity> : ::std::true_type {};
8361 template <>
8362 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_Polarity>() {
8364 }
8365 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm> : ::std::true_type {};
8366 template <>
8367 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm>() {
8369 }
8370 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm> : ::std::true_type {};
8371 template <>
8372 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm>() {
8374 }
8375 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ClauseProtection> : ::std::true_type {};
8376 template <>
8377 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ClauseProtection>() {
8379 }
8380 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ClauseOrdering> : ::std::true_type {};
8381 template <>
8382 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ClauseOrdering>() {
8384 }
8385 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_RestartAlgorithm> : ::std::true_type {};
8386 template <>
8387 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_RestartAlgorithm>() {
8389 }
8390 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder> : ::std::true_type {};
8391 template <>
8392 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder>() {
8394 }
8395 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm> : ::std::true_type {};
8396 template <>
8397 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm>() {
8399 }
8400 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_SearchBranching> : ::std::true_type {};
8401 template <>
8402 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_SearchBranching>() {
8404 }
8405 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_FPRoundingMethod> : ::std::true_type {};
8406 template <>
8407 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_FPRoundingMethod>() {
8409 }
8410 
8411 PROTOBUF_NAMESPACE_CLOSE
8412 
8413 // @@protoc_insertion_point(global_scope)
8414 
8415 #include <google/protobuf/port_undef.inc>
8416 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fsat_5fparameters_2eproto
constexpr int SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_ARRAYSIZE
static const std::string & ClauseProtection_Name(T enum_t_value)
void set_use_disjunctive_constraint_in_cumulative_constraint(bool value)
static constexpr Polarity POLARITY_FALSE
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static constexpr BinaryMinizationAlgorithm EXPERIMENTAL_BINARY_MINIMIZATION
bool SatParameters_VariableOrder_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatStratificationAlgorithm_descriptor()
void set_allocated_log_prefix(std::string *log_prefix)
void MergeFrom(const SatParameters &from)
static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MAX
void set_max_consecutive_inactive_count(int32_t value)
static constexpr RestartAlgorithm FIXED_RESTART
static constexpr RestartAlgorithm RestartAlgorithm_MAX
bool SatParameters_ClauseProtection_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ClauseProtection *value)
::operations_research::sat::SatParameters_Polarity initial_polarity() const
bool SatParameters_Polarity_IsValid(int value)
void set_debug_max_num_presolve_operations(int32_t value)
static const std::string & BinaryMinizationAlgorithm_Name(T enum_t_value)
static constexpr RestartAlgorithm LBD_MOVING_AVERAGE_RESTART
static const std::string & Polarity_Name(T enum_t_value)
const std::string & default_restart_algorithms() const
static constexpr SearchBranching LP_SEARCH
constexpr int SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_ARRAYSIZE
constexpr SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MAX
SatParameters_SearchBranching SearchBranching
static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MIN
constexpr SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MIN
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatAssumptionOrder_descriptor()
PROTOBUF_NODISCARD std::string * release_log_prefix()
constexpr SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MAX
static bool BinaryMinizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BinaryMinizationAlgorithm *value)
constexpr SatParameters_ClauseProtection SatParameters_ClauseProtection_ClauseProtection_MAX
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
const std::string & SatParameters_ClauseOrdering_Name(T enum_t_value)
::operations_research::sat::SatParameters_MaxSatAssumptionOrder max_sat_assumption_order() const
static constexpr ConflictMinimizationAlgorithm NONE
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ConflictMinimizationAlgorithm_descriptor()
void set_log_prefix(ArgT0 &&arg0, ArgT... args)
static bool ClauseProtection_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClauseProtection *value)
const std::string & SatParameters_ClauseProtection_Name(T enum_t_value)
SatParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
constexpr SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MIN
PROTOBUF_NODISCARD std::string * release_default_restart_algorithms()
static constexpr ClauseProtection ClauseProtection_MIN
static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MAX
const std::string name
void set_keep_all_feasible_solutions_in_presolve(bool value)
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
const std::string & SatParameters_BinaryMinizationAlgorithm_Name(T enum_t_value)
static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MAX
static bool SearchBranching_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SearchBranching *value)
void set_glucose_decay_increment_period(int32_t value)
bool SatParameters_ClauseOrdering_IsValid(int value)
constexpr int SatParameters_FPRoundingMethod_FPRoundingMethod_ARRAYSIZE
bool SatParameters_ClauseProtection_IsValid(int value)
constexpr SatParameters_Polarity SatParameters_Polarity_Polarity_MIN
static constexpr int ConflictMinimizationAlgorithm_ARRAYSIZE
static constexpr RestartAlgorithm RestartAlgorithm_MIN
SatParameters_MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm
bool has_use_disjunctive_constraint_in_cumulative_constraint() const
static constexpr ClauseProtection PROTECTION_NONE
static const std::string & MaxSatStratificationAlgorithm_Name(T enum_t_value)
constexpr int SatParameters_ClauseProtection_ClauseProtection_ARRAYSIZE
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ConflictMinimizationAlgorithm_descriptor()
void set_clause_cleanup_ordering(::operations_research::sat::SatParameters_ClauseOrdering value)
static const std::string & VariableOrder_Name(T enum_t_value)
::operations_research::sat::SatParameters_SearchBranching search_branching() const
static constexpr ClauseProtection PROTECTION_ALWAYS
void set_fp_rounding(::operations_research::sat::SatParameters_FPRoundingMethod value)
void set_max_sat_stratification(::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm value)
SatParameters & operator=(SatParameters &&from) noexcept
SatParameters & operator=(const SatParameters &from)
void set_search_randomization_tolerance(int64_t value)
bool SatParameters_ConflictMinimizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ConflictMinimizationAlgorithm *value)
static bool ClauseProtection_IsValid(int value)
static constexpr VariableOrder IN_REVERSE_ORDER
constexpr int SatParameters_ClauseOrdering_ClauseOrdering_ARRAYSIZE
static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_DEPTH
static constexpr SearchBranching PORTFOLIO_SEARCH
constexpr SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MAX
void set_auto_detect_greater_than_at_least_one_of(bool value)
void set_minimization_algorithm(::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm value)
void set_minimize_with_propagation_restart_period(int32_t value)
constexpr SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MAX
static constexpr Polarity POLARITY_RANDOM
static constexpr ClauseOrdering CLAUSE_LBD
void CopyFrom(const SatParameters &from)
bool SatParameters_RestartAlgorithm_IsValid(int value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int > * mutable_restart_algorithms()
constexpr int SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_ARRAYSIZE
int64_t b
constexpr SatParameters_FPRoundingMethod SatParameters_FPRoundingMethod_FPRoundingMethod_MIN
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_FPRoundingMethod_descriptor()
static constexpr SearchBranching PSEUDO_COST_SEARCH
static constexpr SearchBranching PORTFOLIO_WITH_QUICK_RESTART_SEARCH
void set_name(ArgT0 &&arg0, ArgT... args)
SatParameters_ClauseOrdering ClauseOrdering
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_SearchBranching_descriptor()
static constexpr FPRoundingMethod LOCK_BASED
static bool MaxSatAssumptionOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MaxSatAssumptionOrder *value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MaxSatAssumptionOrder_descriptor()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ClauseProtection_descriptor()
::operations_research::sat::SatParameters_VariableOrder preferred_variable_order() const
::operations_research::sat::SatParameters_FPRoundingMethod fp_rounding() const
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * FPRoundingMethod_descriptor()
void set_minimize_reduction_during_pb_resolution(bool value)
void set_num_conflicts_before_strategy_changes(int32_t value)
constexpr SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MIN
constexpr SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MAX
static constexpr RestartAlgorithm DL_MOVING_AVERAGE_RESTART
static constexpr ClauseOrdering CLAUSE_ACTIVITY
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
void UnsafeArenaSwap(SatParameters *other)
const std::string & SatParameters_ConflictMinimizationAlgorithm_Name(T enum_t_value)
static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_WEIGHT
bool SatParameters_BinaryMinizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_BinaryMinizationAlgorithm *value)
static const std::string & ConflictMinimizationAlgorithm_Name(T enum_t_value)
constexpr SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MAX
static constexpr MaxSatAssumptionOrder DEFAULT_ASSUMPTION_ORDER
PROTOBUF_NODISCARD std::string * release_name()
static constexpr ClauseOrdering ClauseOrdering_MAX
constexpr SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MAX
void set_binary_minimization_algorithm(::operations_research::sat::SatParameters_BinaryMinizationAlgorithm value)
static constexpr RestartAlgorithm LUBY_RESTART
static constexpr FPRoundingMethod NEAREST_INTEGER
bool SatParameters_MaxSatStratificationAlgorithm_IsValid(int value)
const std::string & SatParameters_VariableOrder_Name(T enum_t_value)
static bool ConflictMinimizationAlgorithm_IsValid(int value)
void set_max_domain_size_when_encoding_eq_neq_constraints(int32_t value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int > & restart_algorithms() const
const std::string & SatParameters_FPRoundingMethod_Name(T enum_t_value)
static constexpr FPRoundingMethod FPRoundingMethod_MAX
SatParameters_BinaryMinizationAlgorithm BinaryMinizationAlgorithm
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MaxSatStratificationAlgorithm_descriptor()
const std::string & SatParameters_MaxSatStratificationAlgorithm_Name(T enum_t_value)
static bool BinaryMinizationAlgorithm_IsValid(int value)
bool SatParameters_MaxSatAssumptionOrder_IsValid(int value)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * RestartAlgorithm_descriptor()
constexpr int SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_ARRAYSIZE
static constexpr VariableOrder IN_ORDER
static bool ClauseOrdering_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClauseOrdering *value)
static constexpr ConflictMinimizationAlgorithm SIMPLE
constexpr SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MIN
static constexpr VariableOrder VariableOrder_MIN
bool SatParameters_MaxSatAssumptionOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_MaxSatAssumptionOrder *value)
int index
Definition: pack.cc:509
constexpr SatParameters_FPRoundingMethod SatParameters_FPRoundingMethod_FPRoundingMethod_MAX
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_WITH_REACHABILITY
SatParameters(SatParameters &&from) noexcept
static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MIN
constexpr SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MIN
static constexpr ClauseProtection PROTECTION_LBD
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr VariableOrder VariableOrder_MAX
bool SatParameters_BinaryMinizationAlgorithm_IsValid(int value)
bool SatParameters_FPRoundingMethod_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_FPRoundingMethod *value)
constexpr SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MIN
static constexpr SearchBranching SearchBranching_MIN
bool SatParameters_ClauseOrdering_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ClauseOrdering *value)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
constexpr int SatParameters_SearchBranching_SearchBranching_ARRAYSIZE
static constexpr int BinaryMinizationAlgorithm_ARRAYSIZE
void set_restart_algorithms(int index, ::operations_research::sat::SatParameters_RestartAlgorithm value)
static const std::string & ClauseOrdering_Name(T enum_t_value)
static bool RestartAlgorithm_IsValid(int value)
static constexpr SearchBranching AUTOMATIC_SEARCH
void set_initial_polarity(::operations_research::sat::SatParameters_Polarity value)
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
SatParameters_ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm
static constexpr SearchBranching SearchBranching_MAX
static bool MaxSatStratificationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MaxSatStratificationAlgorithm *value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseProtection_descriptor()
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_NONE
static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MIN
bool SatParameters_SearchBranching_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_SearchBranching *value)
::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm minimization_algorithm() const
const std::string & SatParameters_SearchBranching_Name(T enum_t_value)
constexpr int SatParameters_RestartAlgorithm_RestartAlgorithm_ARRAYSIZE
void set_pseudo_cost_reliability_threshold(int64_t value)
const std::string & SatParameters_RestartAlgorithm_Name(T enum_t_value)
bool has_use_timetable_edge_finding_in_cumulative_constraint() const
void set_allocated_default_restart_algorithms(std::string *default_restart_algorithms)
bool SatParameters_MaxSatStratificationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_MaxSatStratificationAlgorithm *value)
static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MAX
static constexpr FPRoundingMethod PROPAGATION_ASSISTED
constexpr SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MAX
static bool MaxSatStratificationAlgorithm_IsValid(int value)
static constexpr SearchBranching HINT_SEARCH
static constexpr int MaxSatAssumptionOrder_ARRAYSIZE
static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MIN
static const SatParameters & default_instance()
void set_min_orthogonality_for_lp_constraints(double value)
static bool FPRoundingMethod_IsValid(int value)
int32_t max_domain_size_when_encoding_eq_neq_constraints() const
static constexpr RestartAlgorithm NO_RESTART
static bool VariableOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VariableOrder *value)
bool SatParameters_VariableOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_VariableOrder *value)
static constexpr FPRoundingMethod FPRoundingMethod_MIN
bool SatParameters_FPRoundingMethod_IsValid(int value)
void set_use_timetable_edge_finding_in_cumulative_constraint(bool value)
static bool MaxSatAssumptionOrder_IsValid(int value)
::operations_research::sat::SatParameters_BinaryMinizationAlgorithm binary_minimization_algorithm() const
void set_default_restart_algorithms(ArgT0 &&arg0, ArgT... args)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Polarity_descriptor()
constexpr SatParameters_Polarity SatParameters_Polarity_Polarity_MAX
static constexpr FPRoundingMethod ACTIVE_LOCK_BASED
const std::string & SatParameters_MaxSatAssumptionOrder_Name(T enum_t_value)
void set_use_overload_checker_in_cumulative_constraint(bool value)
static const std::string & MaxSatAssumptionOrder_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BinaryMinizationAlgorithm_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_VariableOrder_descriptor()
bool SatParameters_SearchBranching_IsValid(int value)
SatParameters_RestartAlgorithm RestartAlgorithm
static constexpr BinaryMinizationAlgorithm NO_BINARY_MINIMIZATION
static const SatParameters * internal_default_instance()
static bool Polarity_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Polarity *value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SearchBranching_descriptor()
const std::string & SatParameters_Polarity_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_RestartAlgorithm_descriptor()
const std::string & log_prefix() const
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_BinaryMinizationAlgorithm_descriptor()
static constexpr SearchBranching FIXED_SEARCH
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableOrder_descriptor()
Collection of objects used to extend the Constraint Solver library.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_Polarity_descriptor()
void add_restart_algorithms(::operations_research::sat::SatParameters_RestartAlgorithm value)
constexpr int SatParameters_Polarity_Polarity_ARRAYSIZE
static const std::string & SearchBranching_Name(T enum_t_value)
static constexpr Polarity POLARITY_REVERSE_WEIGHTED_SIGN
::operations_research::sat::SatParameters_ClauseOrdering clause_cleanup_ordering() const
static constexpr VariableOrder IN_RANDOM_ORDER
friend void swap(SatParameters &a, SatParameters &b)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
::operations_research::sat::SatParameters_ClauseProtection clause_cleanup_protection() const
bool SatParameters_ConflictMinimizationAlgorithm_IsValid(int value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ClauseOrdering_descriptor()
static bool ConflictMinimizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ConflictMinimizationAlgorithm *value)
static const std::string & RestartAlgorithm_Name(T enum_t_value)
static constexpr ClauseOrdering ClauseOrdering_MIN
SatParameters_FPRoundingMethod FPRoundingMethod
bool SatParameters_Polarity_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_Polarity *value)
void set_search_branching(::operations_research::sat::SatParameters_SearchBranching value)
static bool FPRoundingMethod_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, FPRoundingMethod *value)
void set_clause_cleanup_protection(::operations_research::sat::SatParameters_ClauseProtection value)
static constexpr Polarity POLARITY_WEIGHTED_SIGN
static constexpr ClauseProtection ClauseProtection_MAX
void set_presolve_probing_deterministic_time_limit(double value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SatParametersDefaultTypeInternal _SatParameters_default_instance_
::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm max_sat_stratification() const
constexpr SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MIN
SatParameters_ClauseProtection ClauseProtection
constexpr SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MIN
void set_minimize_with_propagation_num_decisions(int32_t value)
static const std::string & FPRoundingMethod_Name(T enum_t_value)
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_DESCENT
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseOrdering_descriptor()
bool SatParameters_RestartAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_RestartAlgorithm *value)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static bool RestartAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RestartAlgorithm *value)
int64_t value
void set_also_bump_variables_in_conflict_reasons(bool value)
static constexpr ConflictMinimizationAlgorithm EXPERIMENTAL
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
constexpr int SatParameters_VariableOrder_VariableOrder_ARRAYSIZE
static constexpr int MaxSatStratificationAlgorithm_ARRAYSIZE
constexpr SatParameters_ClauseProtection SatParameters_ClauseProtection_ClauseProtection_MIN
static constexpr ConflictMinimizationAlgorithm RECURSIVE
void set_max_sat_assumption_order(::operations_research::sat::SatParameters_MaxSatAssumptionOrder value)
void set_preferred_variable_order(::operations_research::sat::SatParameters_VariableOrder value)
int64_t a
static bool SearchBranching_IsValid(int value)
void set_use_precedences_in_disjunctive_constraint(bool value)
SatParameters_MaxSatAssumptionOrder MaxSatAssumptionOrder
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_ASCENT