OR-Tools  8.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 < 3014000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3014000 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
35 // @@protoc_insertion_point(includes)
36 #include <google/protobuf/port_def.inc>
37 #define PROTOBUF_INTERNAL_EXPORT_ortools_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[];
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 class SatParametersDefaultTypeInternal;
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 PROTOBUF_FINAL :
348  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SatParameters) */ {
349  public:
350  inline SatParameters() : SatParameters(nullptr) {}
351  virtual ~SatParameters();
352 
353  SatParameters(const SatParameters& from);
354  SatParameters(SatParameters&& from) noexcept
355  : SatParameters() {
356  *this = ::std::move(from);
357  }
358 
359  inline SatParameters& operator=(const SatParameters& from) {
360  CopyFrom(from);
361  return *this;
362  }
363  inline SatParameters& operator=(SatParameters&& from) noexcept {
364  if (GetArena() == from.GetArena()) {
365  if (this != &from) InternalSwap(&from);
366  } else {
367  CopyFrom(from);
368  }
369  return *this;
370  }
371 
372  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
373  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
374  }
375  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
376  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
377  }
378 
379  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
380  return GetDescriptor();
381  }
382  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
383  return GetMetadataStatic().descriptor;
384  }
385  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
386  return GetMetadataStatic().reflection;
387  }
388  static const SatParameters& default_instance();
389 
390  static inline const SatParameters* internal_default_instance() {
391  return reinterpret_cast<const SatParameters*>(
393  }
394  static constexpr int kIndexInFileMessages =
395  0;
396 
397  friend void swap(SatParameters& a, SatParameters& b) {
398  a.Swap(&b);
399  }
400  inline void Swap(SatParameters* other) {
401  if (other == this) return;
402  if (GetArena() == other->GetArena()) {
403  InternalSwap(other);
404  } else {
405  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
406  }
407  }
408  void UnsafeArenaSwap(SatParameters* other) {
409  if (other == this) return;
410  GOOGLE_DCHECK(GetArena() == other->GetArena());
411  InternalSwap(other);
412  }
413 
414  // implements Message ----------------------------------------------
415 
416  inline SatParameters* New() const final {
417  return CreateMaybeMessage<SatParameters>(nullptr);
418  }
419 
420  SatParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
421  return CreateMaybeMessage<SatParameters>(arena);
422  }
423  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
424  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
425  void CopyFrom(const SatParameters& from);
426  void MergeFrom(const SatParameters& from);
427  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
428  bool IsInitialized() const final;
429 
430  size_t ByteSizeLong() const final;
431  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
432  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
433  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
434  int GetCachedSize() const final { return _cached_size_.Get(); }
435 
436  private:
437  inline void SharedCtor();
438  inline void SharedDtor();
439  void SetCachedSize(int size) const final;
440  void InternalSwap(SatParameters* other);
441  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
442  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
443  return "operations_research.sat.SatParameters";
444  }
445  protected:
446  explicit SatParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
447  private:
448  static void ArenaDtor(void* object);
449  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
450  public:
451 
452  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
453  private:
454  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
455  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto);
456  return ::descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto.file_level_metadata[kIndexInFileMessages];
457  }
458 
459  public:
460 
461  // nested types ----------------------------------------------------
462 
464  static constexpr VariableOrder IN_ORDER =
466  static constexpr VariableOrder IN_REVERSE_ORDER =
468  static constexpr VariableOrder IN_RANDOM_ORDER =
470  static inline bool VariableOrder_IsValid(int value) {
472  }
473  static constexpr VariableOrder VariableOrder_MIN =
475  static constexpr VariableOrder VariableOrder_MAX =
477  static constexpr int VariableOrder_ARRAYSIZE =
479  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
482  }
483  template<typename T>
484  static inline const std::string& VariableOrder_Name(T enum_t_value) {
485  static_assert(::std::is_same<T, VariableOrder>::value ||
487  "Incorrect type passed to function VariableOrder_Name.");
488  return SatParameters_VariableOrder_Name(enum_t_value);
489  }
490  static inline bool VariableOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
491  VariableOrder* value) {
493  }
494 
496  static constexpr Polarity POLARITY_TRUE =
498  static constexpr Polarity POLARITY_FALSE =
500  static constexpr Polarity POLARITY_RANDOM =
502  static constexpr Polarity POLARITY_WEIGHTED_SIGN =
504  static constexpr Polarity POLARITY_REVERSE_WEIGHTED_SIGN =
506  static inline bool Polarity_IsValid(int value) {
508  }
509  static constexpr Polarity Polarity_MIN =
511  static constexpr Polarity Polarity_MAX =
513  static constexpr int Polarity_ARRAYSIZE =
515  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
518  }
519  template<typename T>
520  static inline const std::string& Polarity_Name(T enum_t_value) {
521  static_assert(::std::is_same<T, Polarity>::value ||
523  "Incorrect type passed to function Polarity_Name.");
524  return SatParameters_Polarity_Name(enum_t_value);
525  }
526  static inline bool Polarity_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
527  Polarity* value) {
529  }
530 
532  static constexpr ConflictMinimizationAlgorithm NONE =
534  static constexpr ConflictMinimizationAlgorithm SIMPLE =
536  static constexpr ConflictMinimizationAlgorithm RECURSIVE =
538  static constexpr ConflictMinimizationAlgorithm EXPERIMENTAL =
542  }
543  static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MIN =
545  static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MAX =
547  static constexpr int ConflictMinimizationAlgorithm_ARRAYSIZE =
549  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
552  }
553  template<typename T>
554  static inline const std::string& ConflictMinimizationAlgorithm_Name(T enum_t_value) {
557  "Incorrect type passed to function ConflictMinimizationAlgorithm_Name.");
559  }
560  static inline bool ConflictMinimizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
563  }
564 
566  static constexpr BinaryMinizationAlgorithm NO_BINARY_MINIMIZATION =
568  static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST =
570  static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION =
572  static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_WITH_REACHABILITY =
574  static constexpr BinaryMinizationAlgorithm EXPERIMENTAL_BINARY_MINIMIZATION =
576  static inline bool BinaryMinizationAlgorithm_IsValid(int value) {
578  }
579  static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MIN =
581  static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MAX =
583  static constexpr int BinaryMinizationAlgorithm_ARRAYSIZE =
585  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
588  }
589  template<typename T>
590  static inline const std::string& BinaryMinizationAlgorithm_Name(T enum_t_value) {
593  "Incorrect type passed to function BinaryMinizationAlgorithm_Name.");
595  }
596  static inline bool BinaryMinizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
599  }
600 
602  static constexpr ClauseProtection PROTECTION_NONE =
604  static constexpr ClauseProtection PROTECTION_ALWAYS =
606  static constexpr ClauseProtection PROTECTION_LBD =
608  static inline bool ClauseProtection_IsValid(int value) {
610  }
611  static constexpr ClauseProtection ClauseProtection_MIN =
613  static constexpr ClauseProtection ClauseProtection_MAX =
615  static constexpr int ClauseProtection_ARRAYSIZE =
617  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
620  }
621  template<typename T>
622  static inline const std::string& ClauseProtection_Name(T enum_t_value) {
625  "Incorrect type passed to function ClauseProtection_Name.");
626  return SatParameters_ClauseProtection_Name(enum_t_value);
627  }
628  static inline bool ClauseProtection_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
631  }
632 
634  static constexpr ClauseOrdering CLAUSE_ACTIVITY =
636  static constexpr ClauseOrdering CLAUSE_LBD =
638  static inline bool ClauseOrdering_IsValid(int value) {
640  }
641  static constexpr ClauseOrdering ClauseOrdering_MIN =
643  static constexpr ClauseOrdering ClauseOrdering_MAX =
645  static constexpr int ClauseOrdering_ARRAYSIZE =
647  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
650  }
651  template<typename T>
652  static inline const std::string& ClauseOrdering_Name(T enum_t_value) {
653  static_assert(::std::is_same<T, ClauseOrdering>::value ||
655  "Incorrect type passed to function ClauseOrdering_Name.");
656  return SatParameters_ClauseOrdering_Name(enum_t_value);
657  }
658  static inline bool ClauseOrdering_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
661  }
662 
664  static constexpr RestartAlgorithm NO_RESTART =
666  static constexpr RestartAlgorithm LUBY_RESTART =
668  static constexpr RestartAlgorithm DL_MOVING_AVERAGE_RESTART =
670  static constexpr RestartAlgorithm LBD_MOVING_AVERAGE_RESTART =
672  static constexpr RestartAlgorithm FIXED_RESTART =
674  static inline bool RestartAlgorithm_IsValid(int value) {
676  }
677  static constexpr RestartAlgorithm RestartAlgorithm_MIN =
679  static constexpr RestartAlgorithm RestartAlgorithm_MAX =
681  static constexpr int RestartAlgorithm_ARRAYSIZE =
683  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
686  }
687  template<typename T>
688  static inline const std::string& RestartAlgorithm_Name(T enum_t_value) {
691  "Incorrect type passed to function RestartAlgorithm_Name.");
692  return SatParameters_RestartAlgorithm_Name(enum_t_value);
693  }
694  static inline bool RestartAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
697  }
698 
700  static constexpr MaxSatAssumptionOrder DEFAULT_ASSUMPTION_ORDER =
702  static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_DEPTH =
704  static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_WEIGHT =
706  static inline bool MaxSatAssumptionOrder_IsValid(int value) {
708  }
709  static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MIN =
711  static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MAX =
713  static constexpr int MaxSatAssumptionOrder_ARRAYSIZE =
715  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
718  }
719  template<typename T>
720  static inline const std::string& MaxSatAssumptionOrder_Name(T enum_t_value) {
723  "Incorrect type passed to function MaxSatAssumptionOrder_Name.");
724  return SatParameters_MaxSatAssumptionOrder_Name(enum_t_value);
725  }
726  static inline bool MaxSatAssumptionOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
729  }
730 
732  static constexpr MaxSatStratificationAlgorithm STRATIFICATION_NONE =
734  static constexpr MaxSatStratificationAlgorithm STRATIFICATION_DESCENT =
736  static constexpr MaxSatStratificationAlgorithm STRATIFICATION_ASCENT =
740  }
741  static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MIN =
743  static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MAX =
745  static constexpr int MaxSatStratificationAlgorithm_ARRAYSIZE =
747  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
750  }
751  template<typename T>
752  static inline const std::string& MaxSatStratificationAlgorithm_Name(T enum_t_value) {
755  "Incorrect type passed to function MaxSatStratificationAlgorithm_Name.");
757  }
758  static inline bool MaxSatStratificationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
761  }
762 
764  static constexpr SearchBranching AUTOMATIC_SEARCH =
766  static constexpr SearchBranching FIXED_SEARCH =
768  static constexpr SearchBranching PORTFOLIO_SEARCH =
770  static constexpr SearchBranching LP_SEARCH =
772  static constexpr SearchBranching PSEUDO_COST_SEARCH =
774  static constexpr SearchBranching PORTFOLIO_WITH_QUICK_RESTART_SEARCH =
776  static constexpr SearchBranching HINT_SEARCH =
778  static inline bool SearchBranching_IsValid(int value) {
780  }
781  static constexpr SearchBranching SearchBranching_MIN =
783  static constexpr SearchBranching SearchBranching_MAX =
785  static constexpr int SearchBranching_ARRAYSIZE =
787  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
790  }
791  template<typename T>
792  static inline const std::string& SearchBranching_Name(T enum_t_value) {
793  static_assert(::std::is_same<T, SearchBranching>::value ||
795  "Incorrect type passed to function SearchBranching_Name.");
796  return SatParameters_SearchBranching_Name(enum_t_value);
797  }
798  static inline bool SearchBranching_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
801  }
802 
804  static constexpr FPRoundingMethod NEAREST_INTEGER =
806  static constexpr FPRoundingMethod LOCK_BASED =
808  static constexpr FPRoundingMethod ACTIVE_LOCK_BASED =
810  static constexpr FPRoundingMethod PROPAGATION_ASSISTED =
812  static inline bool FPRoundingMethod_IsValid(int value) {
814  }
815  static constexpr FPRoundingMethod FPRoundingMethod_MIN =
817  static constexpr FPRoundingMethod FPRoundingMethod_MAX =
819  static constexpr int FPRoundingMethod_ARRAYSIZE =
821  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
824  }
825  template<typename T>
826  static inline const std::string& FPRoundingMethod_Name(T enum_t_value) {
829  "Incorrect type passed to function FPRoundingMethod_Name.");
830  return SatParameters_FPRoundingMethod_Name(enum_t_value);
831  }
832  static inline bool FPRoundingMethod_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
835  }
836 
837  // accessors -------------------------------------------------------
838 
839  enum : int {
840  kRestartAlgorithmsFieldNumber = 61,
841  kDefaultRestartAlgorithmsFieldNumber = 70,
842  kNameFieldNumber = 171,
843  kPreferredVariableOrderFieldNumber = 1,
844  kMaxSatAssumptionOrderFieldNumber = 51,
845  kRandomBranchesRatioFieldNumber = 32,
846  kRandomPolarityRatioFieldNumber = 45,
847  kClauseCleanupProtectionFieldNumber = 58,
848  kClauseCleanupOrderingFieldNumber = 60,
849  kStrategyChangeIncreaseRatioFieldNumber = 69,
850  kNumConflictsBeforeStrategyChangesFieldNumber = 68,
851  kSearchBranchingFieldNumber = 82,
852  kInitialVariablesActivityFieldNumber = 76,
853  kSearchRandomizationToleranceFieldNumber = 104,
854  kUseErwaHeuristicFieldNumber = 75,
855  kAlsoBumpVariablesInConflictReasonsFieldNumber = 77,
856  kUseBlockingRestartFieldNumber = 64,
857  kPermuteVariableRandomlyFieldNumber = 178,
858  kPermutePresolveConstraintOrderFieldNumber = 179,
859  kUseAbslRandomFieldNumber = 180,
860  kLogSearchProgressFieldNumber = 41,
861  kUsePbResolutionFieldNumber = 43,
862  kUseTimetableEdgeFindingInCumulativeConstraintFieldNumber = 79,
863  kOnlyAddCutsAtLevelZeroFieldNumber = 92,
864  kAddKnapsackCutsFieldNumber = 111,
865  kRepairHintFieldNumber = 167,
866  kOptimizeWithMaxHsFieldNumber = 85,
867  kEnumerateAllSolutionsFieldNumber = 87,
868  kKeepAllFeasibleSolutionsInPresolveFieldNumber = 173,
869  kFillTightenedDomainsInResponseFieldNumber = 132,
870  kDisableConstraintExpansionFieldNumber = 181,
871  kPresolveExtractIntegerEnforcementFieldNumber = 174,
872  kMaxSatReverseAssumptionOrderFieldNumber = 52,
873  kUseOverloadCheckerInCumulativeConstraintFieldNumber = 78,
874  kUseLnsOnlyFieldNumber = 101,
875  kLnsFocusOnDecisionVariablesFieldNumber = 105,
876  kUseRelaxationLnsFieldNumber = 150,
877  kDiversifyLnsParamsFieldNumber = 137,
878  kStopAfterFirstSolutionFieldNumber = 98,
879  kStopAfterPresolveFieldNumber = 149,
880  kInterleaveSearchFieldNumber = 136,
881  kReduceMemoryUsageInInterleaveModeFieldNumber = 141,
882  kMinimizeReductionDuringPbResolutionFieldNumber = 48,
883  kCpModelPostsolveWithFullSolverFieldNumber = 162,
884  kUseSatInprocessingFieldNumber = 163,
885  kExpandAlldiffConstraintsFieldNumber = 170,
886  kExploitBestSolutionFieldNumber = 130,
887  kExploitRelaxationSolutionFieldNumber = 161,
888  kUseProbingSearchFieldNumber = 176,
889  kOptimizeWithCoreFieldNumber = 83,
890  kRandomizeSearchFieldNumber = 103,
891  kUseBranchingInLpFieldNumber = 139,
892  kUseCombinedNoOverlapFieldNumber = 133,
893  kPolishLpSolutionFieldNumber = 175,
894  kProbingPeriodAtRootFieldNumber = 142,
895  kAbsoluteGapLimitFieldNumber = 159,
896  kRelativeGapLimitFieldNumber = 160,
897  kCpModelMaxNumPresolveOperationsFieldNumber = 151,
898  kConvertIntervalsFieldNumber = 177,
899  kInitialPolarityFieldNumber = 2,
900  kMinimizationAlgorithmFieldNumber = 4,
901  kClauseCleanupPeriodFieldNumber = 11,
902  kClauseCleanupTargetFieldNumber = 13,
903  kVariableActivityDecayFieldNumber = 15,
904  kMaxVariableActivityValueFieldNumber = 16,
905  kClauseActivityDecayFieldNumber = 17,
906  kMaxClauseActivityValueFieldNumber = 18,
907  kGlucoseMaxDecayFieldNumber = 22,
908  kGlucoseDecayIncrementFieldNumber = 23,
909  kGlucoseDecayIncrementPeriodFieldNumber = 24,
910  kRestartPeriodFieldNumber = 30,
911  kRandomSeedFieldNumber = 31,
912  kBinaryMinimizationAlgorithmFieldNumber = 34,
913  kMaxTimeInSecondsFieldNumber = 36,
914  kMaxNumberOfConflictsFieldNumber = 37,
915  kMaxMemoryInMbFieldNumber = 40,
916  kUsePhaseSavingFieldNumber = 44,
917  kSubsumptionDuringConflictAnalysisFieldNumber = 56,
918  kTreatBinaryClausesSeparatelyFieldNumber = 33,
919  kCountAssumptionLevelsInLbdFieldNumber = 49,
920  kPbCleanupIncrementFieldNumber = 46,
921  kPbCleanupRatioFieldNumber = 47,
922  kMaxSatStratificationFieldNumber = 53,
923  kPresolveBveThresholdFieldNumber = 54,
924  kPresolveProbingDeterministicTimeLimitFieldNumber = 57,
925  kPresolveBveClauseWeightFieldNumber = 55,
926  kClauseCleanupLbdBoundFieldNumber = 59,
927  kRestartDlAverageRatioFieldNumber = 63,
928  kRestartRunningWindowSizeFieldNumber = 62,
929  kUseOptimizationHintsFieldNumber = 35,
930  kMinimizeCoreFieldNumber = 50,
931  kFindMultipleCoresFieldNumber = 84,
932  kCoverOptimizationFieldNumber = 89,
933  kBlockingRestartMultiplierFieldNumber = 66,
934  kMaxDeterministicTimeFieldNumber = 67,
935  kBlockingRestartWindowSizeFieldNumber = 65,
936  kPresolveBvaThresholdFieldNumber = 73,
937  kRestartLbdAverageRatioFieldNumber = 71,
938  kPresolveBlockedClauseFieldNumber = 88,
939  kPresolveUseBvaFieldNumber = 72,
940  kCpModelPresolveFieldNumber = 86,
941  kCpModelUseSatPresolveFieldNumber = 93,
942  kLinearizationLevelFieldNumber = 90,
943  kMaxNumCutsFieldNumber = 91,
944  kMinimizeWithPropagationRestartPeriodFieldNumber = 96,
945  kMinimizeWithPropagationNumDecisionsFieldNumber = 97,
946  kUsePrecedencesInDisjunctiveConstraintFieldNumber = 74,
947  kUseDisjunctiveConstraintInCumulativeConstraintFieldNumber = 80,
948  kAddCgCutsFieldNumber = 117,
949  kAddMirCutsFieldNumber = 120,
950  kBinarySearchNumConflictsFieldNumber = 99,
951  kNumSearchWorkersFieldNumber = 100,
952  kBooleanEncodingLevelFieldNumber = 107,
953  kCpModelProbingLevelFieldNumber = 110,
954  kExploitIntegerLpSolutionFieldNumber = 94,
955  kExploitAllLpSolutionFieldNumber = 116,
956  kExploitObjectiveFieldNumber = 131,
957  kInstantiateAllVariablesFieldNumber = 106,
958  kMaxIntegerRoundingScalingFieldNumber = 119,
959  kMinOrthogonalityForLpConstraintsFieldNumber = 115,
960  kMaxConsecutiveInactiveCountFieldNumber = 121,
961  kNewConstraintsBatchSizeFieldNumber = 122,
962  kPseudoCostReliabilityThresholdFieldNumber = 123,
963  kMipMaxBoundFieldNumber = 124,
964  kMipVarScalingFieldNumber = 125,
965  kMipWantedPrecisionFieldNumber = 126,
966  kAutoDetectGreaterThanAtLeastOneOfFieldNumber = 95,
967  kShareObjectiveBoundsFieldNumber = 113,
968  kShareLevelZeroBoundsFieldNumber = 114,
969  kLnsExpandIntervalsInConstraintGraphFieldNumber = 184,
970  kMipMaxActivityExponentFieldNumber = 127,
971  kMipCheckPrecisionFieldNumber = 128,
972  kUseRinsLnsFieldNumber = 129,
973  kUseFeasibilityPumpFieldNumber = 164,
974  kUseOptionalVariablesFieldNumber = 108,
975  kUseExactLpReasonFieldNumber = 109,
976  kInterleaveBatchSizeFieldNumber = 134,
977  kMaxPresolveIterationsFieldNumber = 138,
978  kPresolveSubstitutionLevelFieldNumber = 147,
979  kMergeNoOverlapWorkLimitFieldNumber = 145,
980  kMergeAtMostOneWorkLimitFieldNumber = 146,
981  kMaxAllDiffCutSizeFieldNumber = 148,
982  kCatchSigintSignalFieldNumber = 135,
983  kUseImpliedBoundsFieldNumber = 144,
984  kMipAutomaticallyScaleVariablesFieldNumber = 166,
985  kAddZeroHalfCutsFieldNumber = 169,
986  kAddCliqueCutsFieldNumber = 172,
987  kAddLinMaxCutsFieldNumber = 152,
988  kAddLpConstraintsLazilyFieldNumber = 112,
989  kHintConflictLimitFieldNumber = 153,
990  kCutMaxActiveCountValueFieldNumber = 155,
991  kMaxCutRoundsAtLevelZeroFieldNumber = 154,
992  kExpandElementConstraintsFieldNumber = 140,
993  kExpandAutomatonConstraintsFieldNumber = 143,
994  kExpandTableConstraintsFieldNumber = 158,
995  kExpandReservoirConstraintsFieldNumber = 182,
996  kCutActiveCountDecayFieldNumber = 156,
997  kCutCleanupTargetFieldNumber = 157,
998  kFpRoundingFieldNumber = 165,
999  kPolarityRephaseIncrementFieldNumber = 168,
1000  kSymmetryLevelFieldNumber = 183,
1001  };
1002  // repeated .operations_research.sat.SatParameters.RestartAlgorithm restart_algorithms = 61;
1004  private:
1005  int _internal_restart_algorithms_size() const;
1006  public:
1008  private:
1009  ::operations_research::sat::SatParameters_RestartAlgorithm _internal_restart_algorithms(int index) const;
1010  void _internal_add_restart_algorithms(::operations_research::sat::SatParameters_RestartAlgorithm value);
1011  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_restart_algorithms();
1012  public:
1016  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& restart_algorithms() const;
1017  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_restart_algorithms();
1018 
1019  // optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART"];
1021  private:
1022  bool _internal_has_default_restart_algorithms() const;
1023  public:
1025  const std::string& default_restart_algorithms() const;
1026  void set_default_restart_algorithms(const std::string& value);
1029  void set_default_restart_algorithms(const char* value, size_t size);
1032  void set_allocated_default_restart_algorithms(std::string* default_restart_algorithms);
1033  private:
1034  const std::string& _internal_default_restart_algorithms() const;
1035  void _internal_set_default_restart_algorithms(const std::string& value);
1036  std::string* _internal_mutable_default_restart_algorithms();
1037  public:
1038 
1039  // optional string name = 171 [default = ""];
1040  bool has_name() const;
1041  private:
1042  bool _internal_has_name() const;
1043  public:
1044  void clear_name();
1045  const std::string& name() const;
1046  void set_name(const std::string& value);
1047  void set_name(std::string&& value);
1048  void set_name(const char* value);
1049  void set_name(const char* value, size_t size);
1050  std::string* mutable_name();
1051  std::string* release_name();
1052  void set_allocated_name(std::string* name);
1053  private:
1054  const std::string& _internal_name() const;
1055  void _internal_set_name(const std::string& value);
1056  std::string* _internal_mutable_name();
1057  public:
1058 
1059  // optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default = IN_ORDER];
1061  private:
1062  bool _internal_has_preferred_variable_order() const;
1063  public:
1067  private:
1068  ::operations_research::sat::SatParameters_VariableOrder _internal_preferred_variable_order() const;
1069  void _internal_set_preferred_variable_order(::operations_research::sat::SatParameters_VariableOrder value);
1070  public:
1071 
1072  // optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [default = DEFAULT_ASSUMPTION_ORDER];
1074  private:
1075  bool _internal_has_max_sat_assumption_order() const;
1076  public:
1080  private:
1081  ::operations_research::sat::SatParameters_MaxSatAssumptionOrder _internal_max_sat_assumption_order() const;
1082  void _internal_set_max_sat_assumption_order(::operations_research::sat::SatParameters_MaxSatAssumptionOrder value);
1083  public:
1084 
1085  // optional double random_branches_ratio = 32 [default = 0];
1087  private:
1088  bool _internal_has_random_branches_ratio() const;
1089  public:
1091  double random_branches_ratio() const;
1093  private:
1094  double _internal_random_branches_ratio() const;
1095  void _internal_set_random_branches_ratio(double value);
1096  public:
1097 
1098  // optional double random_polarity_ratio = 45 [default = 0];
1100  private:
1101  bool _internal_has_random_polarity_ratio() const;
1102  public:
1104  double random_polarity_ratio() const;
1106  private:
1107  double _internal_random_polarity_ratio() const;
1108  void _internal_set_random_polarity_ratio(double value);
1109  public:
1110 
1111  // optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [default = PROTECTION_NONE];
1113  private:
1114  bool _internal_has_clause_cleanup_protection() const;
1115  public:
1119  private:
1120  ::operations_research::sat::SatParameters_ClauseProtection _internal_clause_cleanup_protection() const;
1121  void _internal_set_clause_cleanup_protection(::operations_research::sat::SatParameters_ClauseProtection value);
1122  public:
1123 
1124  // optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default = CLAUSE_ACTIVITY];
1126  private:
1127  bool _internal_has_clause_cleanup_ordering() const;
1128  public:
1132  private:
1133  ::operations_research::sat::SatParameters_ClauseOrdering _internal_clause_cleanup_ordering() const;
1134  void _internal_set_clause_cleanup_ordering(::operations_research::sat::SatParameters_ClauseOrdering value);
1135  public:
1136 
1137  // optional double strategy_change_increase_ratio = 69 [default = 0];
1139  private:
1140  bool _internal_has_strategy_change_increase_ratio() const;
1141  public:
1145  private:
1146  double _internal_strategy_change_increase_ratio() const;
1147  void _internal_set_strategy_change_increase_ratio(double value);
1148  public:
1149 
1150  // optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
1152  private:
1153  bool _internal_has_num_conflicts_before_strategy_changes() const;
1154  public:
1158  private:
1159  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_conflicts_before_strategy_changes() const;
1160  void _internal_set_num_conflicts_before_strategy_changes(::PROTOBUF_NAMESPACE_ID::int32 value);
1161  public:
1162 
1163  // optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTOMATIC_SEARCH];
1164  bool has_search_branching() const;
1165  private:
1166  bool _internal_has_search_branching() const;
1167  public:
1171  private:
1172  ::operations_research::sat::SatParameters_SearchBranching _internal_search_branching() const;
1173  void _internal_set_search_branching(::operations_research::sat::SatParameters_SearchBranching value);
1174  public:
1175 
1176  // optional double initial_variables_activity = 76 [default = 0];
1178  private:
1179  bool _internal_has_initial_variables_activity() const;
1180  public:
1184  private:
1185  double _internal_initial_variables_activity() const;
1186  void _internal_set_initial_variables_activity(double value);
1187  public:
1188 
1189  // optional int64 search_randomization_tolerance = 104 [default = 0];
1191  private:
1192  bool _internal_has_search_randomization_tolerance() const;
1193  public:
1197  private:
1198  ::PROTOBUF_NAMESPACE_ID::int64 _internal_search_randomization_tolerance() const;
1199  void _internal_set_search_randomization_tolerance(::PROTOBUF_NAMESPACE_ID::int64 value);
1200  public:
1201 
1202  // optional bool use_erwa_heuristic = 75 [default = false];
1204  private:
1205  bool _internal_has_use_erwa_heuristic() const;
1206  public:
1208  bool use_erwa_heuristic() const;
1210  private:
1211  bool _internal_use_erwa_heuristic() const;
1212  void _internal_set_use_erwa_heuristic(bool value);
1213  public:
1214 
1215  // optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
1217  private:
1218  bool _internal_has_also_bump_variables_in_conflict_reasons() const;
1219  public:
1223  private:
1224  bool _internal_also_bump_variables_in_conflict_reasons() const;
1225  void _internal_set_also_bump_variables_in_conflict_reasons(bool value);
1226  public:
1227 
1228  // optional bool use_blocking_restart = 64 [default = false];
1230  private:
1231  bool _internal_has_use_blocking_restart() const;
1232  public:
1234  bool use_blocking_restart() const;
1236  private:
1237  bool _internal_use_blocking_restart() const;
1238  void _internal_set_use_blocking_restart(bool value);
1239  public:
1240 
1241  // optional bool permute_variable_randomly = 178 [default = false];
1243  private:
1244  bool _internal_has_permute_variable_randomly() const;
1245  public:
1249  private:
1250  bool _internal_permute_variable_randomly() const;
1251  void _internal_set_permute_variable_randomly(bool value);
1252  public:
1253 
1254  // optional bool permute_presolve_constraint_order = 179 [default = false];
1256  private:
1257  bool _internal_has_permute_presolve_constraint_order() const;
1258  public:
1262  private:
1263  bool _internal_permute_presolve_constraint_order() const;
1264  void _internal_set_permute_presolve_constraint_order(bool value);
1265  public:
1266 
1267  // optional bool use_absl_random = 180 [default = false];
1268  bool has_use_absl_random() const;
1269  private:
1270  bool _internal_has_use_absl_random() const;
1271  public:
1273  bool use_absl_random() const;
1275  private:
1276  bool _internal_use_absl_random() const;
1277  void _internal_set_use_absl_random(bool value);
1278  public:
1279 
1280  // optional bool log_search_progress = 41 [default = false];
1282  private:
1283  bool _internal_has_log_search_progress() const;
1284  public:
1286  bool log_search_progress() const;
1288  private:
1289  bool _internal_log_search_progress() const;
1290  void _internal_set_log_search_progress(bool value);
1291  public:
1292 
1293  // optional bool use_pb_resolution = 43 [default = false];
1295  private:
1296  bool _internal_has_use_pb_resolution() const;
1297  public:
1299  bool use_pb_resolution() const;
1301  private:
1302  bool _internal_use_pb_resolution() const;
1303  void _internal_set_use_pb_resolution(bool value);
1304  public:
1305 
1306  // optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
1308  private:
1309  bool _internal_has_use_timetable_edge_finding_in_cumulative_constraint() const;
1310  public:
1314  private:
1315  bool _internal_use_timetable_edge_finding_in_cumulative_constraint() const;
1316  void _internal_set_use_timetable_edge_finding_in_cumulative_constraint(bool value);
1317  public:
1318 
1319  // optional bool only_add_cuts_at_level_zero = 92 [default = false];
1321  private:
1322  bool _internal_has_only_add_cuts_at_level_zero() const;
1323  public:
1327  private:
1328  bool _internal_only_add_cuts_at_level_zero() const;
1329  void _internal_set_only_add_cuts_at_level_zero(bool value);
1330  public:
1331 
1332  // optional bool add_knapsack_cuts = 111 [default = false];
1334  private:
1335  bool _internal_has_add_knapsack_cuts() const;
1336  public:
1338  bool add_knapsack_cuts() const;
1340  private:
1341  bool _internal_add_knapsack_cuts() const;
1342  void _internal_set_add_knapsack_cuts(bool value);
1343  public:
1344 
1345  // optional bool repair_hint = 167 [default = false];
1346  bool has_repair_hint() const;
1347  private:
1348  bool _internal_has_repair_hint() const;
1349  public:
1351  bool repair_hint() const;
1353  private:
1354  bool _internal_repair_hint() const;
1355  void _internal_set_repair_hint(bool value);
1356  public:
1357 
1358  // optional bool optimize_with_max_hs = 85 [default = false];
1360  private:
1361  bool _internal_has_optimize_with_max_hs() const;
1362  public:
1364  bool optimize_with_max_hs() const;
1366  private:
1367  bool _internal_optimize_with_max_hs() const;
1368  void _internal_set_optimize_with_max_hs(bool value);
1369  public:
1370 
1371  // optional bool enumerate_all_solutions = 87 [default = false];
1373  private:
1374  bool _internal_has_enumerate_all_solutions() const;
1375  public:
1379  private:
1380  bool _internal_enumerate_all_solutions() const;
1381  void _internal_set_enumerate_all_solutions(bool value);
1382  public:
1383 
1384  // optional bool keep_all_feasible_solutions_in_presolve = 173 [default = false];
1386  private:
1387  bool _internal_has_keep_all_feasible_solutions_in_presolve() const;
1388  public:
1392  private:
1393  bool _internal_keep_all_feasible_solutions_in_presolve() const;
1394  void _internal_set_keep_all_feasible_solutions_in_presolve(bool value);
1395  public:
1396 
1397  // optional bool fill_tightened_domains_in_response = 132 [default = false];
1399  private:
1400  bool _internal_has_fill_tightened_domains_in_response() const;
1401  public:
1405  private:
1406  bool _internal_fill_tightened_domains_in_response() const;
1407  void _internal_set_fill_tightened_domains_in_response(bool value);
1408  public:
1409 
1410  // optional bool disable_constraint_expansion = 181 [default = false];
1412  private:
1413  bool _internal_has_disable_constraint_expansion() const;
1414  public:
1418  private:
1419  bool _internal_disable_constraint_expansion() const;
1420  void _internal_set_disable_constraint_expansion(bool value);
1421  public:
1422 
1423  // optional bool presolve_extract_integer_enforcement = 174 [default = false];
1425  private:
1426  bool _internal_has_presolve_extract_integer_enforcement() const;
1427  public:
1431  private:
1432  bool _internal_presolve_extract_integer_enforcement() const;
1433  void _internal_set_presolve_extract_integer_enforcement(bool value);
1434  public:
1435 
1436  // optional bool max_sat_reverse_assumption_order = 52 [default = false];
1438  private:
1439  bool _internal_has_max_sat_reverse_assumption_order() const;
1440  public:
1444  private:
1445  bool _internal_max_sat_reverse_assumption_order() const;
1446  void _internal_set_max_sat_reverse_assumption_order(bool value);
1447  public:
1448 
1449  // optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
1451  private:
1452  bool _internal_has_use_overload_checker_in_cumulative_constraint() const;
1453  public:
1457  private:
1458  bool _internal_use_overload_checker_in_cumulative_constraint() const;
1459  void _internal_set_use_overload_checker_in_cumulative_constraint(bool value);
1460  public:
1461 
1462  // optional bool use_lns_only = 101 [default = false];
1463  bool has_use_lns_only() const;
1464  private:
1465  bool _internal_has_use_lns_only() const;
1466  public:
1468  bool use_lns_only() const;
1470  private:
1471  bool _internal_use_lns_only() const;
1472  void _internal_set_use_lns_only(bool value);
1473  public:
1474 
1475  // optional bool lns_focus_on_decision_variables = 105 [default = false];
1477  private:
1478  bool _internal_has_lns_focus_on_decision_variables() const;
1479  public:
1483  private:
1484  bool _internal_lns_focus_on_decision_variables() const;
1485  void _internal_set_lns_focus_on_decision_variables(bool value);
1486  public:
1487 
1488  // optional bool use_relaxation_lns = 150 [default = false];
1490  private:
1491  bool _internal_has_use_relaxation_lns() const;
1492  public:
1494  bool use_relaxation_lns() const;
1496  private:
1497  bool _internal_use_relaxation_lns() const;
1498  void _internal_set_use_relaxation_lns(bool value);
1499  public:
1500 
1501  // optional bool diversify_lns_params = 137 [default = false];
1503  private:
1504  bool _internal_has_diversify_lns_params() const;
1505  public:
1507  bool diversify_lns_params() const;
1509  private:
1510  bool _internal_diversify_lns_params() const;
1511  void _internal_set_diversify_lns_params(bool value);
1512  public:
1513 
1514  // optional bool stop_after_first_solution = 98 [default = false];
1516  private:
1517  bool _internal_has_stop_after_first_solution() const;
1518  public:
1522  private:
1523  bool _internal_stop_after_first_solution() const;
1524  void _internal_set_stop_after_first_solution(bool value);
1525  public:
1526 
1527  // optional bool stop_after_presolve = 149 [default = false];
1529  private:
1530  bool _internal_has_stop_after_presolve() const;
1531  public:
1533  bool stop_after_presolve() const;
1535  private:
1536  bool _internal_stop_after_presolve() const;
1537  void _internal_set_stop_after_presolve(bool value);
1538  public:
1539 
1540  // optional bool interleave_search = 136 [default = false];
1542  private:
1543  bool _internal_has_interleave_search() const;
1544  public:
1546  bool interleave_search() const;
1548  private:
1549  bool _internal_interleave_search() const;
1550  void _internal_set_interleave_search(bool value);
1551  public:
1552 
1553  // optional bool reduce_memory_usage_in_interleave_mode = 141 [default = false];
1555  private:
1556  bool _internal_has_reduce_memory_usage_in_interleave_mode() const;
1557  public:
1561  private:
1562  bool _internal_reduce_memory_usage_in_interleave_mode() const;
1563  void _internal_set_reduce_memory_usage_in_interleave_mode(bool value);
1564  public:
1565 
1566  // optional bool minimize_reduction_during_pb_resolution = 48 [default = false];
1568  private:
1569  bool _internal_has_minimize_reduction_during_pb_resolution() const;
1570  public:
1574  private:
1575  bool _internal_minimize_reduction_during_pb_resolution() const;
1576  void _internal_set_minimize_reduction_during_pb_resolution(bool value);
1577  public:
1578 
1579  // optional bool cp_model_postsolve_with_full_solver = 162 [default = false];
1581  private:
1582  bool _internal_has_cp_model_postsolve_with_full_solver() const;
1583  public:
1587  private:
1588  bool _internal_cp_model_postsolve_with_full_solver() const;
1589  void _internal_set_cp_model_postsolve_with_full_solver(bool value);
1590  public:
1591 
1592  // optional bool use_sat_inprocessing = 163 [default = false];
1594  private:
1595  bool _internal_has_use_sat_inprocessing() const;
1596  public:
1598  bool use_sat_inprocessing() const;
1600  private:
1601  bool _internal_use_sat_inprocessing() const;
1602  void _internal_set_use_sat_inprocessing(bool value);
1603  public:
1604 
1605  // optional bool expand_alldiff_constraints = 170 [default = false];
1607  private:
1608  bool _internal_has_expand_alldiff_constraints() const;
1609  public:
1613  private:
1614  bool _internal_expand_alldiff_constraints() const;
1615  void _internal_set_expand_alldiff_constraints(bool value);
1616  public:
1617 
1618  // optional bool exploit_best_solution = 130 [default = false];
1620  private:
1621  bool _internal_has_exploit_best_solution() const;
1622  public:
1626  private:
1627  bool _internal_exploit_best_solution() const;
1628  void _internal_set_exploit_best_solution(bool value);
1629  public:
1630 
1631  // optional bool exploit_relaxation_solution = 161 [default = false];
1633  private:
1634  bool _internal_has_exploit_relaxation_solution() const;
1635  public:
1639  private:
1640  bool _internal_exploit_relaxation_solution() const;
1641  void _internal_set_exploit_relaxation_solution(bool value);
1642  public:
1643 
1644  // optional bool use_probing_search = 176 [default = false];
1646  private:
1647  bool _internal_has_use_probing_search() const;
1648  public:
1650  bool use_probing_search() const;
1652  private:
1653  bool _internal_use_probing_search() const;
1654  void _internal_set_use_probing_search(bool value);
1655  public:
1656 
1657  // optional bool optimize_with_core = 83 [default = false];
1659  private:
1660  bool _internal_has_optimize_with_core() const;
1661  public:
1663  bool optimize_with_core() const;
1665  private:
1666  bool _internal_optimize_with_core() const;
1667  void _internal_set_optimize_with_core(bool value);
1668  public:
1669 
1670  // optional bool randomize_search = 103 [default = false];
1671  bool has_randomize_search() const;
1672  private:
1673  bool _internal_has_randomize_search() const;
1674  public:
1676  bool randomize_search() const;
1678  private:
1679  bool _internal_randomize_search() const;
1680  void _internal_set_randomize_search(bool value);
1681  public:
1682 
1683  // optional bool use_branching_in_lp = 139 [default = false];
1685  private:
1686  bool _internal_has_use_branching_in_lp() const;
1687  public:
1689  bool use_branching_in_lp() const;
1691  private:
1692  bool _internal_use_branching_in_lp() const;
1693  void _internal_set_use_branching_in_lp(bool value);
1694  public:
1695 
1696  // optional bool use_combined_no_overlap = 133 [default = false];
1698  private:
1699  bool _internal_has_use_combined_no_overlap() const;
1700  public:
1704  private:
1705  bool _internal_use_combined_no_overlap() const;
1706  void _internal_set_use_combined_no_overlap(bool value);
1707  public:
1708 
1709  // optional bool polish_lp_solution = 175 [default = false];
1711  private:
1712  bool _internal_has_polish_lp_solution() const;
1713  public:
1715  bool polish_lp_solution() const;
1717  private:
1718  bool _internal_polish_lp_solution() const;
1719  void _internal_set_polish_lp_solution(bool value);
1720  public:
1721 
1722  // optional int64 probing_period_at_root = 142 [default = 0];
1724  private:
1725  bool _internal_has_probing_period_at_root() const;
1726  public:
1730  private:
1731  ::PROTOBUF_NAMESPACE_ID::int64 _internal_probing_period_at_root() const;
1732  void _internal_set_probing_period_at_root(::PROTOBUF_NAMESPACE_ID::int64 value);
1733  public:
1734 
1735  // optional double absolute_gap_limit = 159 [default = 0];
1737  private:
1738  bool _internal_has_absolute_gap_limit() const;
1739  public:
1741  double absolute_gap_limit() const;
1743  private:
1744  double _internal_absolute_gap_limit() const;
1745  void _internal_set_absolute_gap_limit(double value);
1746  public:
1747 
1748  // optional double relative_gap_limit = 160 [default = 0];
1750  private:
1751  bool _internal_has_relative_gap_limit() const;
1752  public:
1754  double relative_gap_limit() const;
1756  private:
1757  double _internal_relative_gap_limit() const;
1758  void _internal_set_relative_gap_limit(double value);
1759  public:
1760 
1761  // optional int32 cp_model_max_num_presolve_operations = 151 [default = 0];
1763  private:
1764  bool _internal_has_cp_model_max_num_presolve_operations() const;
1765  public:
1769  private:
1770  ::PROTOBUF_NAMESPACE_ID::int32 _internal_cp_model_max_num_presolve_operations() const;
1771  void _internal_set_cp_model_max_num_presolve_operations(::PROTOBUF_NAMESPACE_ID::int32 value);
1772  public:
1773 
1774  // optional bool convert_intervals = 177 [default = false];
1776  private:
1777  bool _internal_has_convert_intervals() const;
1778  public:
1780  bool convert_intervals() const;
1782  private:
1783  bool _internal_convert_intervals() const;
1784  void _internal_set_convert_intervals(bool value);
1785  public:
1786 
1787  // optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FALSE];
1788  bool has_initial_polarity() const;
1789  private:
1790  bool _internal_has_initial_polarity() const;
1791  public:
1795  private:
1796  ::operations_research::sat::SatParameters_Polarity _internal_initial_polarity() const;
1797  void _internal_set_initial_polarity(::operations_research::sat::SatParameters_Polarity value);
1798  public:
1799 
1800  // optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm = 4 [default = RECURSIVE];
1802  private:
1803  bool _internal_has_minimization_algorithm() const;
1804  public:
1808  private:
1809  ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm _internal_minimization_algorithm() const;
1810  void _internal_set_minimization_algorithm(::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm value);
1811  public:
1812 
1813  // optional int32 clause_cleanup_period = 11 [default = 10000];
1815  private:
1816  bool _internal_has_clause_cleanup_period() const;
1817  public:
1821  private:
1822  ::PROTOBUF_NAMESPACE_ID::int32 _internal_clause_cleanup_period() const;
1823  void _internal_set_clause_cleanup_period(::PROTOBUF_NAMESPACE_ID::int32 value);
1824  public:
1825 
1826  // optional int32 clause_cleanup_target = 13 [default = 10000];
1828  private:
1829  bool _internal_has_clause_cleanup_target() const;
1830  public:
1834  private:
1835  ::PROTOBUF_NAMESPACE_ID::int32 _internal_clause_cleanup_target() const;
1836  void _internal_set_clause_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1837  public:
1838 
1839  // optional double variable_activity_decay = 15 [default = 0.8];
1841  private:
1842  bool _internal_has_variable_activity_decay() const;
1843  public:
1845  double variable_activity_decay() const;
1847  private:
1848  double _internal_variable_activity_decay() const;
1849  void _internal_set_variable_activity_decay(double value);
1850  public:
1851 
1852  // optional double max_variable_activity_value = 16 [default = 1e+100];
1854  private:
1855  bool _internal_has_max_variable_activity_value() const;
1856  public:
1860  private:
1861  double _internal_max_variable_activity_value() const;
1862  void _internal_set_max_variable_activity_value(double value);
1863  public:
1864 
1865  // optional double clause_activity_decay = 17 [default = 0.999];
1867  private:
1868  bool _internal_has_clause_activity_decay() const;
1869  public:
1871  double clause_activity_decay() const;
1873  private:
1874  double _internal_clause_activity_decay() const;
1875  void _internal_set_clause_activity_decay(double value);
1876  public:
1877 
1878  // optional double max_clause_activity_value = 18 [default = 1e+20];
1880  private:
1881  bool _internal_has_max_clause_activity_value() const;
1882  public:
1886  private:
1887  double _internal_max_clause_activity_value() const;
1888  void _internal_set_max_clause_activity_value(double value);
1889  public:
1890 
1891  // optional double glucose_max_decay = 22 [default = 0.95];
1893  private:
1894  bool _internal_has_glucose_max_decay() const;
1895  public:
1897  double glucose_max_decay() const;
1899  private:
1900  double _internal_glucose_max_decay() const;
1901  void _internal_set_glucose_max_decay(double value);
1902  public:
1903 
1904  // optional double glucose_decay_increment = 23 [default = 0.01];
1906  private:
1907  bool _internal_has_glucose_decay_increment() const;
1908  public:
1910  double glucose_decay_increment() const;
1912  private:
1913  double _internal_glucose_decay_increment() const;
1914  void _internal_set_glucose_decay_increment(double value);
1915  public:
1916 
1917  // optional int32 glucose_decay_increment_period = 24 [default = 5000];
1919  private:
1920  bool _internal_has_glucose_decay_increment_period() const;
1921  public:
1925  private:
1926  ::PROTOBUF_NAMESPACE_ID::int32 _internal_glucose_decay_increment_period() const;
1927  void _internal_set_glucose_decay_increment_period(::PROTOBUF_NAMESPACE_ID::int32 value);
1928  public:
1929 
1930  // optional int32 restart_period = 30 [default = 50];
1931  bool has_restart_period() const;
1932  private:
1933  bool _internal_has_restart_period() const;
1934  public:
1938  private:
1939  ::PROTOBUF_NAMESPACE_ID::int32 _internal_restart_period() const;
1940  void _internal_set_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value);
1941  public:
1942 
1943  // optional int32 random_seed = 31 [default = 1];
1944  bool has_random_seed() const;
1945  private:
1946  bool _internal_has_random_seed() const;
1947  public:
1951  private:
1952  ::PROTOBUF_NAMESPACE_ID::int32 _internal_random_seed() const;
1953  void _internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
1954  public:
1955 
1956  // optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorithm = 34 [default = BINARY_MINIMIZATION_FIRST];
1958  private:
1959  bool _internal_has_binary_minimization_algorithm() const;
1960  public:
1964  private:
1965  ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm _internal_binary_minimization_algorithm() const;
1966  void _internal_set_binary_minimization_algorithm(::operations_research::sat::SatParameters_BinaryMinizationAlgorithm value);
1967  public:
1968 
1969  // optional double max_time_in_seconds = 36 [default = inf];
1971  private:
1972  bool _internal_has_max_time_in_seconds() const;
1973  public:
1975  double max_time_in_seconds() const;
1977  private:
1978  double _internal_max_time_in_seconds() const;
1979  void _internal_set_max_time_in_seconds(double value);
1980  public:
1981 
1982  // optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
1984  private:
1985  bool _internal_has_max_number_of_conflicts() const;
1986  public:
1990  private:
1991  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_number_of_conflicts() const;
1992  void _internal_set_max_number_of_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
1993  public:
1994 
1995  // optional int64 max_memory_in_mb = 40 [default = 10000];
1996  bool has_max_memory_in_mb() const;
1997  private:
1998  bool _internal_has_max_memory_in_mb() const;
1999  public:
2003  private:
2004  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_memory_in_mb() const;
2005  void _internal_set_max_memory_in_mb(::PROTOBUF_NAMESPACE_ID::int64 value);
2006  public:
2007 
2008  // optional bool use_phase_saving = 44 [default = true];
2009  bool has_use_phase_saving() const;
2010  private:
2011  bool _internal_has_use_phase_saving() const;
2012  public:
2014  bool use_phase_saving() const;
2016  private:
2017  bool _internal_use_phase_saving() const;
2018  void _internal_set_use_phase_saving(bool value);
2019  public:
2020 
2021  // optional bool subsumption_during_conflict_analysis = 56 [default = true];
2023  private:
2024  bool _internal_has_subsumption_during_conflict_analysis() const;
2025  public:
2029  private:
2030  bool _internal_subsumption_during_conflict_analysis() const;
2031  void _internal_set_subsumption_during_conflict_analysis(bool value);
2032  public:
2033 
2034  // optional bool treat_binary_clauses_separately = 33 [default = true];
2036  private:
2037  bool _internal_has_treat_binary_clauses_separately() const;
2038  public:
2042  private:
2043  bool _internal_treat_binary_clauses_separately() const;
2044  void _internal_set_treat_binary_clauses_separately(bool value);
2045  public:
2046 
2047  // optional bool count_assumption_levels_in_lbd = 49 [default = true];
2049  private:
2050  bool _internal_has_count_assumption_levels_in_lbd() const;
2051  public:
2055  private:
2056  bool _internal_count_assumption_levels_in_lbd() const;
2057  void _internal_set_count_assumption_levels_in_lbd(bool value);
2058  public:
2059 
2060  // optional int32 pb_cleanup_increment = 46 [default = 200];
2062  private:
2063  bool _internal_has_pb_cleanup_increment() const;
2064  public:
2068  private:
2069  ::PROTOBUF_NAMESPACE_ID::int32 _internal_pb_cleanup_increment() const;
2070  void _internal_set_pb_cleanup_increment(::PROTOBUF_NAMESPACE_ID::int32 value);
2071  public:
2072 
2073  // optional double pb_cleanup_ratio = 47 [default = 0.5];
2074  bool has_pb_cleanup_ratio() const;
2075  private:
2076  bool _internal_has_pb_cleanup_ratio() const;
2077  public:
2079  double pb_cleanup_ratio() const;
2081  private:
2082  double _internal_pb_cleanup_ratio() const;
2083  void _internal_set_pb_cleanup_ratio(double value);
2084  public:
2085 
2086  // optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification = 53 [default = STRATIFICATION_DESCENT];
2088  private:
2089  bool _internal_has_max_sat_stratification() const;
2090  public:
2094  private:
2095  ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm _internal_max_sat_stratification() const;
2096  void _internal_set_max_sat_stratification(::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm value);
2097  public:
2098 
2099  // optional int32 presolve_bve_threshold = 54 [default = 500];
2101  private:
2102  bool _internal_has_presolve_bve_threshold() const;
2103  public:
2107  private:
2108  ::PROTOBUF_NAMESPACE_ID::int32 _internal_presolve_bve_threshold() const;
2109  void _internal_set_presolve_bve_threshold(::PROTOBUF_NAMESPACE_ID::int32 value);
2110  public:
2111 
2112  // optional double presolve_probing_deterministic_time_limit = 57 [default = 30];
2114  private:
2115  bool _internal_has_presolve_probing_deterministic_time_limit() const;
2116  public:
2120  private:
2121  double _internal_presolve_probing_deterministic_time_limit() const;
2122  void _internal_set_presolve_probing_deterministic_time_limit(double value);
2123  public:
2124 
2125  // optional int32 presolve_bve_clause_weight = 55 [default = 3];
2127  private:
2128  bool _internal_has_presolve_bve_clause_weight() const;
2129  public:
2133  private:
2134  ::PROTOBUF_NAMESPACE_ID::int32 _internal_presolve_bve_clause_weight() const;
2135  void _internal_set_presolve_bve_clause_weight(::PROTOBUF_NAMESPACE_ID::int32 value);
2136  public:
2137 
2138  // optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
2140  private:
2141  bool _internal_has_clause_cleanup_lbd_bound() const;
2142  public:
2146  private:
2147  ::PROTOBUF_NAMESPACE_ID::int32 _internal_clause_cleanup_lbd_bound() const;
2148  void _internal_set_clause_cleanup_lbd_bound(::PROTOBUF_NAMESPACE_ID::int32 value);
2149  public:
2150 
2151  // optional double restart_dl_average_ratio = 63 [default = 1];
2153  private:
2154  bool _internal_has_restart_dl_average_ratio() const;
2155  public:
2159  private:
2160  double _internal_restart_dl_average_ratio() const;
2161  void _internal_set_restart_dl_average_ratio(double value);
2162  public:
2163 
2164  // optional int32 restart_running_window_size = 62 [default = 50];
2166  private:
2167  bool _internal_has_restart_running_window_size() const;
2168  public:
2172  private:
2173  ::PROTOBUF_NAMESPACE_ID::int32 _internal_restart_running_window_size() const;
2174  void _internal_set_restart_running_window_size(::PROTOBUF_NAMESPACE_ID::int32 value);
2175  public:
2176 
2177  // optional bool use_optimization_hints = 35 [default = true];
2179  private:
2180  bool _internal_has_use_optimization_hints() const;
2181  public:
2185  private:
2186  bool _internal_use_optimization_hints() const;
2187  void _internal_set_use_optimization_hints(bool value);
2188  public:
2189 
2190  // optional bool minimize_core = 50 [default = true];
2191  bool has_minimize_core() const;
2192  private:
2193  bool _internal_has_minimize_core() const;
2194  public:
2196  bool minimize_core() const;
2198  private:
2199  bool _internal_minimize_core() const;
2200  void _internal_set_minimize_core(bool value);
2201  public:
2202 
2203  // optional bool find_multiple_cores = 84 [default = true];
2205  private:
2206  bool _internal_has_find_multiple_cores() const;
2207  public:
2209  bool find_multiple_cores() const;
2211  private:
2212  bool _internal_find_multiple_cores() const;
2213  void _internal_set_find_multiple_cores(bool value);
2214  public:
2215 
2216  // optional bool cover_optimization = 89 [default = true];
2218  private:
2219  bool _internal_has_cover_optimization() const;
2220  public:
2222  bool cover_optimization() const;
2224  private:
2225  bool _internal_cover_optimization() const;
2226  void _internal_set_cover_optimization(bool value);
2227  public:
2228 
2229  // optional double blocking_restart_multiplier = 66 [default = 1.4];
2231  private:
2232  bool _internal_has_blocking_restart_multiplier() const;
2233  public:
2237  private:
2238  double _internal_blocking_restart_multiplier() const;
2239  void _internal_set_blocking_restart_multiplier(double value);
2240  public:
2241 
2242  // optional double max_deterministic_time = 67 [default = inf];
2244  private:
2245  bool _internal_has_max_deterministic_time() const;
2246  public:
2248  double max_deterministic_time() const;
2250  private:
2251  double _internal_max_deterministic_time() const;
2252  void _internal_set_max_deterministic_time(double value);
2253  public:
2254 
2255  // optional int32 blocking_restart_window_size = 65 [default = 5000];
2257  private:
2258  bool _internal_has_blocking_restart_window_size() const;
2259  public:
2263  private:
2264  ::PROTOBUF_NAMESPACE_ID::int32 _internal_blocking_restart_window_size() const;
2265  void _internal_set_blocking_restart_window_size(::PROTOBUF_NAMESPACE_ID::int32 value);
2266  public:
2267 
2268  // optional int32 presolve_bva_threshold = 73 [default = 1];
2270  private:
2271  bool _internal_has_presolve_bva_threshold() const;
2272  public:
2276  private:
2277  ::PROTOBUF_NAMESPACE_ID::int32 _internal_presolve_bva_threshold() const;
2278  void _internal_set_presolve_bva_threshold(::PROTOBUF_NAMESPACE_ID::int32 value);
2279  public:
2280 
2281  // optional double restart_lbd_average_ratio = 71 [default = 1];
2283  private:
2284  bool _internal_has_restart_lbd_average_ratio() const;
2285  public:
2289  private:
2290  double _internal_restart_lbd_average_ratio() const;
2291  void _internal_set_restart_lbd_average_ratio(double value);
2292  public:
2293 
2294  // optional bool presolve_blocked_clause = 88 [default = true];
2296  private:
2297  bool _internal_has_presolve_blocked_clause() const;
2298  public:
2302  private:
2303  bool _internal_presolve_blocked_clause() const;
2304  void _internal_set_presolve_blocked_clause(bool value);
2305  public:
2306 
2307  // optional bool presolve_use_bva = 72 [default = true];
2308  bool has_presolve_use_bva() const;
2309  private:
2310  bool _internal_has_presolve_use_bva() const;
2311  public:
2313  bool presolve_use_bva() const;
2315  private:
2316  bool _internal_presolve_use_bva() const;
2317  void _internal_set_presolve_use_bva(bool value);
2318  public:
2319 
2320  // optional bool cp_model_presolve = 86 [default = true];
2322  private:
2323  bool _internal_has_cp_model_presolve() const;
2324  public:
2326  bool cp_model_presolve() const;
2328  private:
2329  bool _internal_cp_model_presolve() const;
2330  void _internal_set_cp_model_presolve(bool value);
2331  public:
2332 
2333  // optional bool cp_model_use_sat_presolve = 93 [default = true];
2335  private:
2336  bool _internal_has_cp_model_use_sat_presolve() const;
2337  public:
2341  private:
2342  bool _internal_cp_model_use_sat_presolve() const;
2343  void _internal_set_cp_model_use_sat_presolve(bool value);
2344  public:
2345 
2346  // optional int32 linearization_level = 90 [default = 1];
2348  private:
2349  bool _internal_has_linearization_level() const;
2350  public:
2354  private:
2355  ::PROTOBUF_NAMESPACE_ID::int32 _internal_linearization_level() const;
2356  void _internal_set_linearization_level(::PROTOBUF_NAMESPACE_ID::int32 value);
2357  public:
2358 
2359  // optional int32 max_num_cuts = 91 [default = 10000];
2360  bool has_max_num_cuts() const;
2361  private:
2362  bool _internal_has_max_num_cuts() const;
2363  public:
2367  private:
2368  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_num_cuts() const;
2369  void _internal_set_max_num_cuts(::PROTOBUF_NAMESPACE_ID::int32 value);
2370  public:
2371 
2372  // optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
2374  private:
2375  bool _internal_has_minimize_with_propagation_restart_period() const;
2376  public:
2380  private:
2381  ::PROTOBUF_NAMESPACE_ID::int32 _internal_minimize_with_propagation_restart_period() const;
2382  void _internal_set_minimize_with_propagation_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value);
2383  public:
2384 
2385  // optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
2387  private:
2388  bool _internal_has_minimize_with_propagation_num_decisions() const;
2389  public:
2393  private:
2394  ::PROTOBUF_NAMESPACE_ID::int32 _internal_minimize_with_propagation_num_decisions() const;
2395  void _internal_set_minimize_with_propagation_num_decisions(::PROTOBUF_NAMESPACE_ID::int32 value);
2396  public:
2397 
2398  // optional bool use_precedences_in_disjunctive_constraint = 74 [default = true];
2400  private:
2401  bool _internal_has_use_precedences_in_disjunctive_constraint() const;
2402  public:
2406  private:
2407  bool _internal_use_precedences_in_disjunctive_constraint() const;
2408  void _internal_set_use_precedences_in_disjunctive_constraint(bool value);
2409  public:
2410 
2411  // optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
2413  private:
2414  bool _internal_has_use_disjunctive_constraint_in_cumulative_constraint() const;
2415  public:
2419  private:
2420  bool _internal_use_disjunctive_constraint_in_cumulative_constraint() const;
2421  void _internal_set_use_disjunctive_constraint_in_cumulative_constraint(bool value);
2422  public:
2423 
2424  // optional bool add_cg_cuts = 117 [default = true];
2425  bool has_add_cg_cuts() const;
2426  private:
2427  bool _internal_has_add_cg_cuts() const;
2428  public:
2430  bool add_cg_cuts() const;
2432  private:
2433  bool _internal_add_cg_cuts() const;
2434  void _internal_set_add_cg_cuts(bool value);
2435  public:
2436 
2437  // optional bool add_mir_cuts = 120 [default = true];
2438  bool has_add_mir_cuts() const;
2439  private:
2440  bool _internal_has_add_mir_cuts() const;
2441  public:
2443  bool add_mir_cuts() const;
2445  private:
2446  bool _internal_add_mir_cuts() const;
2447  void _internal_set_add_mir_cuts(bool value);
2448  public:
2449 
2450  // optional int32 binary_search_num_conflicts = 99 [default = -1];
2452  private:
2453  bool _internal_has_binary_search_num_conflicts() const;
2454  public:
2458  private:
2459  ::PROTOBUF_NAMESPACE_ID::int32 _internal_binary_search_num_conflicts() const;
2460  void _internal_set_binary_search_num_conflicts(::PROTOBUF_NAMESPACE_ID::int32 value);
2461  public:
2462 
2463  // optional int32 num_search_workers = 100 [default = 1];
2465  private:
2466  bool _internal_has_num_search_workers() const;
2467  public:
2471  private:
2472  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_search_workers() const;
2473  void _internal_set_num_search_workers(::PROTOBUF_NAMESPACE_ID::int32 value);
2474  public:
2475 
2476  // optional int32 boolean_encoding_level = 107 [default = 1];
2478  private:
2479  bool _internal_has_boolean_encoding_level() const;
2480  public:
2484  private:
2485  ::PROTOBUF_NAMESPACE_ID::int32 _internal_boolean_encoding_level() const;
2486  void _internal_set_boolean_encoding_level(::PROTOBUF_NAMESPACE_ID::int32 value);
2487  public:
2488 
2489  // optional int32 cp_model_probing_level = 110 [default = 2];
2491  private:
2492  bool _internal_has_cp_model_probing_level() const;
2493  public:
2497  private:
2498  ::PROTOBUF_NAMESPACE_ID::int32 _internal_cp_model_probing_level() const;
2499  void _internal_set_cp_model_probing_level(::PROTOBUF_NAMESPACE_ID::int32 value);
2500  public:
2501 
2502  // optional bool exploit_integer_lp_solution = 94 [default = true];
2504  private:
2505  bool _internal_has_exploit_integer_lp_solution() const;
2506  public:
2510  private:
2511  bool _internal_exploit_integer_lp_solution() const;
2512  void _internal_set_exploit_integer_lp_solution(bool value);
2513  public:
2514 
2515  // optional bool exploit_all_lp_solution = 116 [default = true];
2517  private:
2518  bool _internal_has_exploit_all_lp_solution() const;
2519  public:
2523  private:
2524  bool _internal_exploit_all_lp_solution() const;
2525  void _internal_set_exploit_all_lp_solution(bool value);
2526  public:
2527 
2528  // optional bool exploit_objective = 131 [default = true];
2530  private:
2531  bool _internal_has_exploit_objective() const;
2532  public:
2534  bool exploit_objective() const;
2536  private:
2537  bool _internal_exploit_objective() const;
2538  void _internal_set_exploit_objective(bool value);
2539  public:
2540 
2541  // optional bool instantiate_all_variables = 106 [default = true];
2543  private:
2544  bool _internal_has_instantiate_all_variables() const;
2545  public:
2549  private:
2550  bool _internal_instantiate_all_variables() const;
2551  void _internal_set_instantiate_all_variables(bool value);
2552  public:
2553 
2554  // optional int32 max_integer_rounding_scaling = 119 [default = 600];
2556  private:
2557  bool _internal_has_max_integer_rounding_scaling() const;
2558  public:
2562  private:
2563  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_integer_rounding_scaling() const;
2564  void _internal_set_max_integer_rounding_scaling(::PROTOBUF_NAMESPACE_ID::int32 value);
2565  public:
2566 
2567  // optional double min_orthogonality_for_lp_constraints = 115 [default = 0.05];
2569  private:
2570  bool _internal_has_min_orthogonality_for_lp_constraints() const;
2571  public:
2575  private:
2576  double _internal_min_orthogonality_for_lp_constraints() const;
2577  void _internal_set_min_orthogonality_for_lp_constraints(double value);
2578  public:
2579 
2580  // optional int32 max_consecutive_inactive_count = 121 [default = 100];
2582  private:
2583  bool _internal_has_max_consecutive_inactive_count() const;
2584  public:
2588  private:
2589  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_consecutive_inactive_count() const;
2590  void _internal_set_max_consecutive_inactive_count(::PROTOBUF_NAMESPACE_ID::int32 value);
2591  public:
2592 
2593  // optional int32 new_constraints_batch_size = 122 [default = 50];
2595  private:
2596  bool _internal_has_new_constraints_batch_size() const;
2597  public:
2601  private:
2602  ::PROTOBUF_NAMESPACE_ID::int32 _internal_new_constraints_batch_size() const;
2603  void _internal_set_new_constraints_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value);
2604  public:
2605 
2606  // optional int64 pseudo_cost_reliability_threshold = 123 [default = 100];
2608  private:
2609  bool _internal_has_pseudo_cost_reliability_threshold() const;
2610  public:
2614  private:
2615  ::PROTOBUF_NAMESPACE_ID::int64 _internal_pseudo_cost_reliability_threshold() const;
2616  void _internal_set_pseudo_cost_reliability_threshold(::PROTOBUF_NAMESPACE_ID::int64 value);
2617  public:
2618 
2619  // optional double mip_max_bound = 124 [default = 10000000];
2620  bool has_mip_max_bound() const;
2621  private:
2622  bool _internal_has_mip_max_bound() const;
2623  public:
2625  double mip_max_bound() const;
2626  void set_mip_max_bound(double value);
2627  private:
2628  double _internal_mip_max_bound() const;
2629  void _internal_set_mip_max_bound(double value);
2630  public:
2631 
2632  // optional double mip_var_scaling = 125 [default = 1];
2633  bool has_mip_var_scaling() const;
2634  private:
2635  bool _internal_has_mip_var_scaling() const;
2636  public:
2638  double mip_var_scaling() const;
2640  private:
2641  double _internal_mip_var_scaling() const;
2642  void _internal_set_mip_var_scaling(double value);
2643  public:
2644 
2645  // optional double mip_wanted_precision = 126 [default = 1e-06];
2647  private:
2648  bool _internal_has_mip_wanted_precision() const;
2649  public:
2651  double mip_wanted_precision() const;
2653  private:
2654  double _internal_mip_wanted_precision() const;
2655  void _internal_set_mip_wanted_precision(double value);
2656  public:
2657 
2658  // optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
2660  private:
2661  bool _internal_has_auto_detect_greater_than_at_least_one_of() const;
2662  public:
2666  private:
2667  bool _internal_auto_detect_greater_than_at_least_one_of() const;
2668  void _internal_set_auto_detect_greater_than_at_least_one_of(bool value);
2669  public:
2670 
2671  // optional bool share_objective_bounds = 113 [default = true];
2673  private:
2674  bool _internal_has_share_objective_bounds() const;
2675  public:
2679  private:
2680  bool _internal_share_objective_bounds() const;
2681  void _internal_set_share_objective_bounds(bool value);
2682  public:
2683 
2684  // optional bool share_level_zero_bounds = 114 [default = true];
2686  private:
2687  bool _internal_has_share_level_zero_bounds() const;
2688  public:
2692  private:
2693  bool _internal_share_level_zero_bounds() const;
2694  void _internal_set_share_level_zero_bounds(bool value);
2695  public:
2696 
2697  // optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
2699  private:
2700  bool _internal_has_lns_expand_intervals_in_constraint_graph() const;
2701  public:
2705  private:
2706  bool _internal_lns_expand_intervals_in_constraint_graph() const;
2707  void _internal_set_lns_expand_intervals_in_constraint_graph(bool value);
2708  public:
2709 
2710  // optional int32 mip_max_activity_exponent = 127 [default = 53];
2712  private:
2713  bool _internal_has_mip_max_activity_exponent() const;
2714  public:
2718  private:
2719  ::PROTOBUF_NAMESPACE_ID::int32 _internal_mip_max_activity_exponent() const;
2720  void _internal_set_mip_max_activity_exponent(::PROTOBUF_NAMESPACE_ID::int32 value);
2721  public:
2722 
2723  // optional double mip_check_precision = 128 [default = 0.0001];
2725  private:
2726  bool _internal_has_mip_check_precision() const;
2727  public:
2729  double mip_check_precision() const;
2731  private:
2732  double _internal_mip_check_precision() const;
2733  void _internal_set_mip_check_precision(double value);
2734  public:
2735 
2736  // optional bool use_rins_lns = 129 [default = true];
2737  bool has_use_rins_lns() const;
2738  private:
2739  bool _internal_has_use_rins_lns() const;
2740  public:
2742  bool use_rins_lns() const;
2744  private:
2745  bool _internal_use_rins_lns() const;
2746  void _internal_set_use_rins_lns(bool value);
2747  public:
2748 
2749  // optional bool use_feasibility_pump = 164 [default = true];
2751  private:
2752  bool _internal_has_use_feasibility_pump() const;
2753  public:
2755  bool use_feasibility_pump() const;
2757  private:
2758  bool _internal_use_feasibility_pump() const;
2759  void _internal_set_use_feasibility_pump(bool value);
2760  public:
2761 
2762  // optional bool use_optional_variables = 108 [default = true];
2764  private:
2765  bool _internal_has_use_optional_variables() const;
2766  public:
2770  private:
2771  bool _internal_use_optional_variables() const;
2772  void _internal_set_use_optional_variables(bool value);
2773  public:
2774 
2775  // optional bool use_exact_lp_reason = 109 [default = true];
2777  private:
2778  bool _internal_has_use_exact_lp_reason() const;
2779  public:
2781  bool use_exact_lp_reason() const;
2783  private:
2784  bool _internal_use_exact_lp_reason() const;
2785  void _internal_set_use_exact_lp_reason(bool value);
2786  public:
2787 
2788  // optional int32 interleave_batch_size = 134 [default = 1];
2790  private:
2791  bool _internal_has_interleave_batch_size() const;
2792  public:
2796  private:
2797  ::PROTOBUF_NAMESPACE_ID::int32 _internal_interleave_batch_size() const;
2798  void _internal_set_interleave_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value);
2799  public:
2800 
2801  // optional int32 max_presolve_iterations = 138 [default = 3];
2803  private:
2804  bool _internal_has_max_presolve_iterations() const;
2805  public:
2809  private:
2810  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_presolve_iterations() const;
2811  void _internal_set_max_presolve_iterations(::PROTOBUF_NAMESPACE_ID::int32 value);
2812  public:
2813 
2814  // optional int32 presolve_substitution_level = 147 [default = 1];
2816  private:
2817  bool _internal_has_presolve_substitution_level() const;
2818  public:
2822  private:
2823  ::PROTOBUF_NAMESPACE_ID::int32 _internal_presolve_substitution_level() const;
2824  void _internal_set_presolve_substitution_level(::PROTOBUF_NAMESPACE_ID::int32 value);
2825  public:
2826 
2827  // optional double merge_no_overlap_work_limit = 145 [default = 1000000000000];
2829  private:
2830  bool _internal_has_merge_no_overlap_work_limit() const;
2831  public:
2835  private:
2836  double _internal_merge_no_overlap_work_limit() const;
2837  void _internal_set_merge_no_overlap_work_limit(double value);
2838  public:
2839 
2840  // optional double merge_at_most_one_work_limit = 146 [default = 100000000];
2842  private:
2843  bool _internal_has_merge_at_most_one_work_limit() const;
2844  public:
2848  private:
2849  double _internal_merge_at_most_one_work_limit() const;
2850  void _internal_set_merge_at_most_one_work_limit(double value);
2851  public:
2852 
2853  // optional int32 max_all_diff_cut_size = 148 [default = 7];
2855  private:
2856  bool _internal_has_max_all_diff_cut_size() const;
2857  public:
2861  private:
2862  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_all_diff_cut_size() const;
2863  void _internal_set_max_all_diff_cut_size(::PROTOBUF_NAMESPACE_ID::int32 value);
2864  public:
2865 
2866  // optional bool catch_sigint_signal = 135 [default = true];
2868  private:
2869  bool _internal_has_catch_sigint_signal() const;
2870  public:
2872  bool catch_sigint_signal() const;
2874  private:
2875  bool _internal_catch_sigint_signal() const;
2876  void _internal_set_catch_sigint_signal(bool value);
2877  public:
2878 
2879  // optional bool use_implied_bounds = 144 [default = true];
2881  private:
2882  bool _internal_has_use_implied_bounds() const;
2883  public:
2885  bool use_implied_bounds() const;
2887  private:
2888  bool _internal_use_implied_bounds() const;
2889  void _internal_set_use_implied_bounds(bool value);
2890  public:
2891 
2892  // optional bool mip_automatically_scale_variables = 166 [default = true];
2894  private:
2895  bool _internal_has_mip_automatically_scale_variables() const;
2896  public:
2900  private:
2901  bool _internal_mip_automatically_scale_variables() const;
2902  void _internal_set_mip_automatically_scale_variables(bool value);
2903  public:
2904 
2905  // optional bool add_zero_half_cuts = 169 [default = true];
2907  private:
2908  bool _internal_has_add_zero_half_cuts() const;
2909  public:
2911  bool add_zero_half_cuts() const;
2913  private:
2914  bool _internal_add_zero_half_cuts() const;
2915  void _internal_set_add_zero_half_cuts(bool value);
2916  public:
2917 
2918  // optional bool add_clique_cuts = 172 [default = true];
2919  bool has_add_clique_cuts() const;
2920  private:
2921  bool _internal_has_add_clique_cuts() const;
2922  public:
2924  bool add_clique_cuts() const;
2926  private:
2927  bool _internal_add_clique_cuts() const;
2928  void _internal_set_add_clique_cuts(bool value);
2929  public:
2930 
2931  // optional bool add_lin_max_cuts = 152 [default = true];
2932  bool has_add_lin_max_cuts() const;
2933  private:
2934  bool _internal_has_add_lin_max_cuts() const;
2935  public:
2937  bool add_lin_max_cuts() const;
2939  private:
2940  bool _internal_add_lin_max_cuts() const;
2941  void _internal_set_add_lin_max_cuts(bool value);
2942  public:
2943 
2944  // optional bool add_lp_constraints_lazily = 112 [default = true];
2946  private:
2947  bool _internal_has_add_lp_constraints_lazily() const;
2948  public:
2952  private:
2953  bool _internal_add_lp_constraints_lazily() const;
2954  void _internal_set_add_lp_constraints_lazily(bool value);
2955  public:
2956 
2957  // optional int32 hint_conflict_limit = 153 [default = 10];
2959  private:
2960  bool _internal_has_hint_conflict_limit() const;
2961  public:
2965  private:
2966  ::PROTOBUF_NAMESPACE_ID::int32 _internal_hint_conflict_limit() const;
2967  void _internal_set_hint_conflict_limit(::PROTOBUF_NAMESPACE_ID::int32 value);
2968  public:
2969 
2970  // optional double cut_max_active_count_value = 155 [default = 10000000000];
2972  private:
2973  bool _internal_has_cut_max_active_count_value() const;
2974  public:
2978  private:
2979  double _internal_cut_max_active_count_value() const;
2980  void _internal_set_cut_max_active_count_value(double value);
2981  public:
2982 
2983  // optional int32 max_cut_rounds_at_level_zero = 154 [default = 1];
2985  private:
2986  bool _internal_has_max_cut_rounds_at_level_zero() const;
2987  public:
2991  private:
2992  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_cut_rounds_at_level_zero() const;
2993  void _internal_set_max_cut_rounds_at_level_zero(::PROTOBUF_NAMESPACE_ID::int32 value);
2994  public:
2995 
2996  // optional bool expand_element_constraints = 140 [default = true];
2998  private:
2999  bool _internal_has_expand_element_constraints() const;
3000  public:
3004  private:
3005  bool _internal_expand_element_constraints() const;
3006  void _internal_set_expand_element_constraints(bool value);
3007  public:
3008 
3009  // optional bool expand_automaton_constraints = 143 [default = true];
3011  private:
3012  bool _internal_has_expand_automaton_constraints() const;
3013  public:
3017  private:
3018  bool _internal_expand_automaton_constraints() const;
3019  void _internal_set_expand_automaton_constraints(bool value);
3020  public:
3021 
3022  // optional bool expand_table_constraints = 158 [default = true];
3024  private:
3025  bool _internal_has_expand_table_constraints() const;
3026  public:
3030  private:
3031  bool _internal_expand_table_constraints() const;
3032  void _internal_set_expand_table_constraints(bool value);
3033  public:
3034 
3035  // optional bool expand_reservoir_constraints = 182 [default = true];
3037  private:
3038  bool _internal_has_expand_reservoir_constraints() const;
3039  public:
3043  private:
3044  bool _internal_expand_reservoir_constraints() const;
3045  void _internal_set_expand_reservoir_constraints(bool value);
3046  public:
3047 
3048  // optional double cut_active_count_decay = 156 [default = 0.8];
3050  private:
3051  bool _internal_has_cut_active_count_decay() const;
3052  public:
3054  double cut_active_count_decay() const;
3056  private:
3057  double _internal_cut_active_count_decay() const;
3058  void _internal_set_cut_active_count_decay(double value);
3059  public:
3060 
3061  // optional int32 cut_cleanup_target = 157 [default = 1000];
3063  private:
3064  bool _internal_has_cut_cleanup_target() const;
3065  public:
3069  private:
3070  ::PROTOBUF_NAMESPACE_ID::int32 _internal_cut_cleanup_target() const;
3071  void _internal_set_cut_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value);
3072  public:
3073 
3074  // optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGATION_ASSISTED];
3075  bool has_fp_rounding() const;
3076  private:
3077  bool _internal_has_fp_rounding() const;
3078  public:
3082  private:
3083  ::operations_research::sat::SatParameters_FPRoundingMethod _internal_fp_rounding() const;
3084  void _internal_set_fp_rounding(::operations_research::sat::SatParameters_FPRoundingMethod value);
3085  public:
3086 
3087  // optional int32 polarity_rephase_increment = 168 [default = 1000];
3089  private:
3090  bool _internal_has_polarity_rephase_increment() const;
3091  public:
3095  private:
3096  ::PROTOBUF_NAMESPACE_ID::int32 _internal_polarity_rephase_increment() const;
3097  void _internal_set_polarity_rephase_increment(::PROTOBUF_NAMESPACE_ID::int32 value);
3098  public:
3099 
3100  // optional int32 symmetry_level = 183 [default = 2];
3101  bool has_symmetry_level() const;
3102  private:
3103  bool _internal_has_symmetry_level() const;
3104  public:
3108  private:
3109  ::PROTOBUF_NAMESPACE_ID::int32 _internal_symmetry_level() const;
3110  void _internal_set_symmetry_level(::PROTOBUF_NAMESPACE_ID::int32 value);
3111  public:
3112 
3113  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
3114  private:
3115  class _Internal;
3116 
3117  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3118  typedef void InternalArenaConstructable_;
3119  typedef void DestructorSkippable_;
3120  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<5> _has_bits_;
3121  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3122  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> restart_algorithms_;
3123  static const ::PROTOBUF_NAMESPACE_ID::internal::LazyString _i_give_permission_to_break_this_code_default_default_restart_algorithms_;
3124  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_restart_algorithms_;
3125  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
3126  int preferred_variable_order_;
3127  int max_sat_assumption_order_;
3128  double random_branches_ratio_;
3129  double random_polarity_ratio_;
3130  int clause_cleanup_protection_;
3131  int clause_cleanup_ordering_;
3132  double strategy_change_increase_ratio_;
3133  ::PROTOBUF_NAMESPACE_ID::int32 num_conflicts_before_strategy_changes_;
3134  int search_branching_;
3135  double initial_variables_activity_;
3136  ::PROTOBUF_NAMESPACE_ID::int64 search_randomization_tolerance_;
3137  bool use_erwa_heuristic_;
3138  bool also_bump_variables_in_conflict_reasons_;
3139  bool use_blocking_restart_;
3140  bool permute_variable_randomly_;
3141  bool permute_presolve_constraint_order_;
3142  bool use_absl_random_;
3143  bool log_search_progress_;
3144  bool use_pb_resolution_;
3145  bool use_timetable_edge_finding_in_cumulative_constraint_;
3146  bool only_add_cuts_at_level_zero_;
3147  bool add_knapsack_cuts_;
3148  bool repair_hint_;
3149  bool optimize_with_max_hs_;
3150  bool enumerate_all_solutions_;
3151  bool keep_all_feasible_solutions_in_presolve_;
3152  bool fill_tightened_domains_in_response_;
3153  bool disable_constraint_expansion_;
3154  bool presolve_extract_integer_enforcement_;
3155  bool max_sat_reverse_assumption_order_;
3156  bool use_overload_checker_in_cumulative_constraint_;
3157  bool use_lns_only_;
3158  bool lns_focus_on_decision_variables_;
3159  bool use_relaxation_lns_;
3160  bool diversify_lns_params_;
3161  bool stop_after_first_solution_;
3162  bool stop_after_presolve_;
3163  bool interleave_search_;
3164  bool reduce_memory_usage_in_interleave_mode_;
3165  bool minimize_reduction_during_pb_resolution_;
3166  bool cp_model_postsolve_with_full_solver_;
3167  bool use_sat_inprocessing_;
3168  bool expand_alldiff_constraints_;
3169  bool exploit_best_solution_;
3170  bool exploit_relaxation_solution_;
3171  bool use_probing_search_;
3172  bool optimize_with_core_;
3173  bool randomize_search_;
3174  bool use_branching_in_lp_;
3175  bool use_combined_no_overlap_;
3176  bool polish_lp_solution_;
3177  ::PROTOBUF_NAMESPACE_ID::int64 probing_period_at_root_;
3178  double absolute_gap_limit_;
3179  double relative_gap_limit_;
3180  ::PROTOBUF_NAMESPACE_ID::int32 cp_model_max_num_presolve_operations_;
3181  bool convert_intervals_;
3182  int initial_polarity_;
3183  int minimization_algorithm_;
3184  ::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_period_;
3185  ::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_target_;
3186  double variable_activity_decay_;
3187  double max_variable_activity_value_;
3188  double clause_activity_decay_;
3189  double max_clause_activity_value_;
3190  double glucose_max_decay_;
3191  double glucose_decay_increment_;
3192  ::PROTOBUF_NAMESPACE_ID::int32 glucose_decay_increment_period_;
3193  ::PROTOBUF_NAMESPACE_ID::int32 restart_period_;
3194  ::PROTOBUF_NAMESPACE_ID::int32 random_seed_;
3195  int binary_minimization_algorithm_;
3196  double max_time_in_seconds_;
3197  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_conflicts_;
3198  ::PROTOBUF_NAMESPACE_ID::int64 max_memory_in_mb_;
3199  bool use_phase_saving_;
3200  bool subsumption_during_conflict_analysis_;
3201  bool treat_binary_clauses_separately_;
3202  bool count_assumption_levels_in_lbd_;
3203  ::PROTOBUF_NAMESPACE_ID::int32 pb_cleanup_increment_;
3204  double pb_cleanup_ratio_;
3205  int max_sat_stratification_;
3206  ::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_threshold_;
3207  double presolve_probing_deterministic_time_limit_;
3208  ::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_clause_weight_;
3209  ::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_lbd_bound_;
3210  double restart_dl_average_ratio_;
3211  ::PROTOBUF_NAMESPACE_ID::int32 restart_running_window_size_;
3212  bool use_optimization_hints_;
3213  bool minimize_core_;
3214  bool find_multiple_cores_;
3215  bool cover_optimization_;
3216  double blocking_restart_multiplier_;
3217  double max_deterministic_time_;
3218  ::PROTOBUF_NAMESPACE_ID::int32 blocking_restart_window_size_;
3219  ::PROTOBUF_NAMESPACE_ID::int32 presolve_bva_threshold_;
3220  double restart_lbd_average_ratio_;
3221  bool presolve_blocked_clause_;
3222  bool presolve_use_bva_;
3223  bool cp_model_presolve_;
3224  bool cp_model_use_sat_presolve_;
3225  ::PROTOBUF_NAMESPACE_ID::int32 linearization_level_;
3226  ::PROTOBUF_NAMESPACE_ID::int32 max_num_cuts_;
3227  ::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_restart_period_;
3228  ::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_num_decisions_;
3229  bool use_precedences_in_disjunctive_constraint_;
3230  bool use_disjunctive_constraint_in_cumulative_constraint_;
3231  bool add_cg_cuts_;
3232  bool add_mir_cuts_;
3233  ::PROTOBUF_NAMESPACE_ID::int32 binary_search_num_conflicts_;
3234  ::PROTOBUF_NAMESPACE_ID::int32 num_search_workers_;
3235  ::PROTOBUF_NAMESPACE_ID::int32 boolean_encoding_level_;
3236  ::PROTOBUF_NAMESPACE_ID::int32 cp_model_probing_level_;
3237  bool exploit_integer_lp_solution_;
3238  bool exploit_all_lp_solution_;
3239  bool exploit_objective_;
3240  bool instantiate_all_variables_;
3241  ::PROTOBUF_NAMESPACE_ID::int32 max_integer_rounding_scaling_;
3242  double min_orthogonality_for_lp_constraints_;
3243  ::PROTOBUF_NAMESPACE_ID::int32 max_consecutive_inactive_count_;
3244  ::PROTOBUF_NAMESPACE_ID::int32 new_constraints_batch_size_;
3245  ::PROTOBUF_NAMESPACE_ID::int64 pseudo_cost_reliability_threshold_;
3246  double mip_max_bound_;
3247  double mip_var_scaling_;
3248  double mip_wanted_precision_;
3249  bool auto_detect_greater_than_at_least_one_of_;
3250  bool share_objective_bounds_;
3251  bool share_level_zero_bounds_;
3252  bool lns_expand_intervals_in_constraint_graph_;
3253  ::PROTOBUF_NAMESPACE_ID::int32 mip_max_activity_exponent_;
3254  double mip_check_precision_;
3255  bool use_rins_lns_;
3256  bool use_feasibility_pump_;
3257  bool use_optional_variables_;
3258  bool use_exact_lp_reason_;
3259  ::PROTOBUF_NAMESPACE_ID::int32 interleave_batch_size_;
3260  ::PROTOBUF_NAMESPACE_ID::int32 max_presolve_iterations_;
3261  ::PROTOBUF_NAMESPACE_ID::int32 presolve_substitution_level_;
3262  double merge_no_overlap_work_limit_;
3263  double merge_at_most_one_work_limit_;
3264  ::PROTOBUF_NAMESPACE_ID::int32 max_all_diff_cut_size_;
3265  bool catch_sigint_signal_;
3266  bool use_implied_bounds_;
3267  bool mip_automatically_scale_variables_;
3268  bool add_zero_half_cuts_;
3269  bool add_clique_cuts_;
3270  bool add_lin_max_cuts_;
3271  bool add_lp_constraints_lazily_;
3272  ::PROTOBUF_NAMESPACE_ID::int32 hint_conflict_limit_;
3273  double cut_max_active_count_value_;
3274  ::PROTOBUF_NAMESPACE_ID::int32 max_cut_rounds_at_level_zero_;
3275  bool expand_element_constraints_;
3276  bool expand_automaton_constraints_;
3277  bool expand_table_constraints_;
3278  bool expand_reservoir_constraints_;
3279  double cut_active_count_decay_;
3280  ::PROTOBUF_NAMESPACE_ID::int32 cut_cleanup_target_;
3281  int fp_rounding_;
3282  ::PROTOBUF_NAMESPACE_ID::int32 polarity_rephase_increment_;
3283  ::PROTOBUF_NAMESPACE_ID::int32 symmetry_level_;
3284  friend struct ::TableStruct_ortools_2fsat_2fsat_5fparameters_2eproto;
3285 };
3286 // ===================================================================
3287 
3288 
3289 // ===================================================================
3290 
3291 #ifdef __GNUC__
3292  #pragma GCC diagnostic push
3293  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
3294 #endif // __GNUC__
3295 // SatParameters
3296 
3297 // optional string name = 171 [default = ""];
3298 inline bool SatParameters::_internal_has_name() const {
3299  bool value = (_has_bits_[0] & 0x00000002u) != 0;
3300  return value;
3301 }
3302 inline bool SatParameters::has_name() const {
3303  return _internal_has_name();
3304 }
3305 inline void SatParameters::clear_name() {
3306  name_.ClearToEmpty();
3307  _has_bits_[0] &= ~0x00000002u;
3308 }
3309 inline const std::string& SatParameters::name() const {
3310  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.name)
3311  return _internal_name();
3312 }
3313 inline void SatParameters::set_name(const std::string& value) {
3314  _internal_set_name(value);
3315  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.name)
3316 }
3317 inline std::string* SatParameters::mutable_name() {
3318  // @@protoc_insertion_point(field_mutable:operations_research.sat.SatParameters.name)
3319  return _internal_mutable_name();
3320 }
3321 inline const std::string& SatParameters::_internal_name() const {
3322  return name_.Get();
3323 }
3324 inline void SatParameters::_internal_set_name(const std::string& value) {
3325  _has_bits_[0] |= 0x00000002u;
3326  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
3327 }
3328 inline void SatParameters::set_name(std::string&& value) {
3329  _has_bits_[0] |= 0x00000002u;
3330  name_.Set(
3331  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
3332  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.SatParameters.name)
3333 }
3334 inline void SatParameters::set_name(const char* value) {
3335  GOOGLE_DCHECK(value != nullptr);
3336  _has_bits_[0] |= 0x00000002u;
3337  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
3338  // @@protoc_insertion_point(field_set_char:operations_research.sat.SatParameters.name)
3339 }
3340 inline void SatParameters::set_name(const char* value,
3341  size_t size) {
3342  _has_bits_[0] |= 0x00000002u;
3343  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
3344  reinterpret_cast<const char*>(value), size), GetArena());
3345  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.SatParameters.name)
3346 }
3347 inline std::string* SatParameters::_internal_mutable_name() {
3348  _has_bits_[0] |= 0x00000002u;
3349  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
3350 }
3351 inline std::string* SatParameters::release_name() {
3352  // @@protoc_insertion_point(field_release:operations_research.sat.SatParameters.name)
3353  if (!_internal_has_name()) {
3354  return nullptr;
3355  }
3356  _has_bits_[0] &= ~0x00000002u;
3357  return name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
3358 }
3359 inline void SatParameters::set_allocated_name(std::string* name) {
3360  if (name != nullptr) {
3361  _has_bits_[0] |= 0x00000002u;
3362  } else {
3363  _has_bits_[0] &= ~0x00000002u;
3364  }
3365  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
3366  GetArena());
3367  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.SatParameters.name)
3368 }
3369 
3370 // optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default = IN_ORDER];
3371 inline bool SatParameters::_internal_has_preferred_variable_order() const {
3372  bool value = (_has_bits_[0] & 0x00000004u) != 0;
3373  return value;
3374 }
3375 inline bool SatParameters::has_preferred_variable_order() const {
3376  return _internal_has_preferred_variable_order();
3377 }
3378 inline void SatParameters::clear_preferred_variable_order() {
3379  preferred_variable_order_ = 0;
3380  _has_bits_[0] &= ~0x00000004u;
3381 }
3382 inline ::operations_research::sat::SatParameters_VariableOrder SatParameters::_internal_preferred_variable_order() const {
3383  return static_cast< ::operations_research::sat::SatParameters_VariableOrder >(preferred_variable_order_);
3384 }
3385 inline ::operations_research::sat::SatParameters_VariableOrder SatParameters::preferred_variable_order() const {
3386  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.preferred_variable_order)
3387  return _internal_preferred_variable_order();
3388 }
3389 inline void SatParameters::_internal_set_preferred_variable_order(::operations_research::sat::SatParameters_VariableOrder value) {
3391  _has_bits_[0] |= 0x00000004u;
3392  preferred_variable_order_ = value;
3393 }
3394 inline void SatParameters::set_preferred_variable_order(::operations_research::sat::SatParameters_VariableOrder value) {
3395  _internal_set_preferred_variable_order(value);
3396  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.preferred_variable_order)
3397 }
3398 
3399 // optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FALSE];
3400 inline bool SatParameters::_internal_has_initial_polarity() const {
3401  bool value = (_has_bits_[1] & 0x04000000u) != 0;
3402  return value;
3403 }
3404 inline bool SatParameters::has_initial_polarity() const {
3405  return _internal_has_initial_polarity();
3406 }
3407 inline void SatParameters::clear_initial_polarity() {
3408  initial_polarity_ = 1;
3409  _has_bits_[1] &= ~0x04000000u;
3410 }
3411 inline ::operations_research::sat::SatParameters_Polarity SatParameters::_internal_initial_polarity() const {
3412  return static_cast< ::operations_research::sat::SatParameters_Polarity >(initial_polarity_);
3413 }
3414 inline ::operations_research::sat::SatParameters_Polarity SatParameters::initial_polarity() const {
3415  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.initial_polarity)
3416  return _internal_initial_polarity();
3417 }
3418 inline void SatParameters::_internal_set_initial_polarity(::operations_research::sat::SatParameters_Polarity value) {
3420  _has_bits_[1] |= 0x04000000u;
3421  initial_polarity_ = value;
3422 }
3423 inline void SatParameters::set_initial_polarity(::operations_research::sat::SatParameters_Polarity value) {
3424  _internal_set_initial_polarity(value);
3425  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.initial_polarity)
3426 }
3427 
3428 // optional bool use_phase_saving = 44 [default = true];
3429 inline bool SatParameters::_internal_has_use_phase_saving() const {
3430  bool value = (_has_bits_[2] & 0x00000800u) != 0;
3431  return value;
3432 }
3433 inline bool SatParameters::has_use_phase_saving() const {
3434  return _internal_has_use_phase_saving();
3435 }
3436 inline void SatParameters::clear_use_phase_saving() {
3437  use_phase_saving_ = true;
3438  _has_bits_[2] &= ~0x00000800u;
3439 }
3440 inline bool SatParameters::_internal_use_phase_saving() const {
3441  return use_phase_saving_;
3442 }
3443 inline bool SatParameters::use_phase_saving() const {
3444  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_phase_saving)
3445  return _internal_use_phase_saving();
3446 }
3447 inline void SatParameters::_internal_set_use_phase_saving(bool value) {
3448  _has_bits_[2] |= 0x00000800u;
3449  use_phase_saving_ = value;
3450 }
3451 inline void SatParameters::set_use_phase_saving(bool value) {
3452  _internal_set_use_phase_saving(value);
3453  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_phase_saving)
3454 }
3455 
3456 // optional int32 polarity_rephase_increment = 168 [default = 1000];
3457 inline bool SatParameters::_internal_has_polarity_rephase_increment() const {
3458  bool value = (_has_bits_[4] & 0x40000000u) != 0;
3459  return value;
3460 }
3461 inline bool SatParameters::has_polarity_rephase_increment() const {
3462  return _internal_has_polarity_rephase_increment();
3463 }
3464 inline void SatParameters::clear_polarity_rephase_increment() {
3465  polarity_rephase_increment_ = 1000;
3466  _has_bits_[4] &= ~0x40000000u;
3467 }
3468 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_polarity_rephase_increment() const {
3469  return polarity_rephase_increment_;
3470 }
3471 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::polarity_rephase_increment() const {
3472  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.polarity_rephase_increment)
3473  return _internal_polarity_rephase_increment();
3474 }
3475 inline void SatParameters::_internal_set_polarity_rephase_increment(::PROTOBUF_NAMESPACE_ID::int32 value) {
3476  _has_bits_[4] |= 0x40000000u;
3477  polarity_rephase_increment_ = value;
3478 }
3479 inline void SatParameters::set_polarity_rephase_increment(::PROTOBUF_NAMESPACE_ID::int32 value) {
3480  _internal_set_polarity_rephase_increment(value);
3481  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.polarity_rephase_increment)
3482 }
3483 
3484 // optional double random_polarity_ratio = 45 [default = 0];
3485 inline bool SatParameters::_internal_has_random_polarity_ratio() const {
3486  bool value = (_has_bits_[0] & 0x00000020u) != 0;
3487  return value;
3488 }
3489 inline bool SatParameters::has_random_polarity_ratio() const {
3490  return _internal_has_random_polarity_ratio();
3491 }
3492 inline void SatParameters::clear_random_polarity_ratio() {
3493  random_polarity_ratio_ = 0;
3494  _has_bits_[0] &= ~0x00000020u;
3495 }
3496 inline double SatParameters::_internal_random_polarity_ratio() const {
3497  return random_polarity_ratio_;
3498 }
3499 inline double SatParameters::random_polarity_ratio() const {
3500  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_polarity_ratio)
3501  return _internal_random_polarity_ratio();
3502 }
3503 inline void SatParameters::_internal_set_random_polarity_ratio(double value) {
3504  _has_bits_[0] |= 0x00000020u;
3505  random_polarity_ratio_ = value;
3506 }
3507 inline void SatParameters::set_random_polarity_ratio(double value) {
3508  _internal_set_random_polarity_ratio(value);
3509  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_polarity_ratio)
3510 }
3511 
3512 // optional double random_branches_ratio = 32 [default = 0];
3513 inline bool SatParameters::_internal_has_random_branches_ratio() const {
3514  bool value = (_has_bits_[0] & 0x00000010u) != 0;
3515  return value;
3516 }
3517 inline bool SatParameters::has_random_branches_ratio() const {
3518  return _internal_has_random_branches_ratio();
3519 }
3520 inline void SatParameters::clear_random_branches_ratio() {
3521  random_branches_ratio_ = 0;
3522  _has_bits_[0] &= ~0x00000010u;
3523 }
3524 inline double SatParameters::_internal_random_branches_ratio() const {
3525  return random_branches_ratio_;
3526 }
3527 inline double SatParameters::random_branches_ratio() const {
3528  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_branches_ratio)
3529  return _internal_random_branches_ratio();
3530 }
3531 inline void SatParameters::_internal_set_random_branches_ratio(double value) {
3532  _has_bits_[0] |= 0x00000010u;
3533  random_branches_ratio_ = value;
3534 }
3535 inline void SatParameters::set_random_branches_ratio(double value) {
3536  _internal_set_random_branches_ratio(value);
3537  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_branches_ratio)
3538 }
3539 
3540 // optional bool use_erwa_heuristic = 75 [default = false];
3541 inline bool SatParameters::_internal_has_use_erwa_heuristic() const {
3542  bool value = (_has_bits_[0] & 0x00002000u) != 0;
3543  return value;
3544 }
3545 inline bool SatParameters::has_use_erwa_heuristic() const {
3546  return _internal_has_use_erwa_heuristic();
3547 }
3548 inline void SatParameters::clear_use_erwa_heuristic() {
3549  use_erwa_heuristic_ = false;
3550  _has_bits_[0] &= ~0x00002000u;
3551 }
3552 inline bool SatParameters::_internal_use_erwa_heuristic() const {
3553  return use_erwa_heuristic_;
3554 }
3555 inline bool SatParameters::use_erwa_heuristic() const {
3556  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_erwa_heuristic)
3557  return _internal_use_erwa_heuristic();
3558 }
3559 inline void SatParameters::_internal_set_use_erwa_heuristic(bool value) {
3560  _has_bits_[0] |= 0x00002000u;
3561  use_erwa_heuristic_ = value;
3562 }
3563 inline void SatParameters::set_use_erwa_heuristic(bool value) {
3564  _internal_set_use_erwa_heuristic(value);
3565  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_erwa_heuristic)
3566 }
3567 
3568 // optional double initial_variables_activity = 76 [default = 0];
3569 inline bool SatParameters::_internal_has_initial_variables_activity() const {
3570  bool value = (_has_bits_[0] & 0x00000800u) != 0;
3571  return value;
3572 }
3573 inline bool SatParameters::has_initial_variables_activity() const {
3574  return _internal_has_initial_variables_activity();
3575 }
3576 inline void SatParameters::clear_initial_variables_activity() {
3577  initial_variables_activity_ = 0;
3578  _has_bits_[0] &= ~0x00000800u;
3579 }
3580 inline double SatParameters::_internal_initial_variables_activity() const {
3581  return initial_variables_activity_;
3582 }
3583 inline double SatParameters::initial_variables_activity() const {
3584  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.initial_variables_activity)
3585  return _internal_initial_variables_activity();
3586 }
3587 inline void SatParameters::_internal_set_initial_variables_activity(double value) {
3588  _has_bits_[0] |= 0x00000800u;
3589  initial_variables_activity_ = value;
3590 }
3591 inline void SatParameters::set_initial_variables_activity(double value) {
3592  _internal_set_initial_variables_activity(value);
3593  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.initial_variables_activity)
3594 }
3595 
3596 // optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
3597 inline bool SatParameters::_internal_has_also_bump_variables_in_conflict_reasons() const {
3598  bool value = (_has_bits_[0] & 0x00004000u) != 0;
3599  return value;
3600 }
3601 inline bool SatParameters::has_also_bump_variables_in_conflict_reasons() const {
3602  return _internal_has_also_bump_variables_in_conflict_reasons();
3603 }
3604 inline void SatParameters::clear_also_bump_variables_in_conflict_reasons() {
3605  also_bump_variables_in_conflict_reasons_ = false;
3606  _has_bits_[0] &= ~0x00004000u;
3607 }
3608 inline bool SatParameters::_internal_also_bump_variables_in_conflict_reasons() const {
3609  return also_bump_variables_in_conflict_reasons_;
3610 }
3611 inline bool SatParameters::also_bump_variables_in_conflict_reasons() const {
3612  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.also_bump_variables_in_conflict_reasons)
3613  return _internal_also_bump_variables_in_conflict_reasons();
3614 }
3615 inline void SatParameters::_internal_set_also_bump_variables_in_conflict_reasons(bool value) {
3616  _has_bits_[0] |= 0x00004000u;
3617  also_bump_variables_in_conflict_reasons_ = value;
3618 }
3619 inline void SatParameters::set_also_bump_variables_in_conflict_reasons(bool value) {
3620  _internal_set_also_bump_variables_in_conflict_reasons(value);
3621  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.also_bump_variables_in_conflict_reasons)
3622 }
3623 
3624 // optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm = 4 [default = RECURSIVE];
3625 inline bool SatParameters::_internal_has_minimization_algorithm() const {
3626  bool value = (_has_bits_[1] & 0x08000000u) != 0;
3627  return value;
3628 }
3629 inline bool SatParameters::has_minimization_algorithm() const {
3630  return _internal_has_minimization_algorithm();
3631 }
3632 inline void SatParameters::clear_minimization_algorithm() {
3633  minimization_algorithm_ = 2;
3634  _has_bits_[1] &= ~0x08000000u;
3635 }
3636 inline ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm SatParameters::_internal_minimization_algorithm() const {
3637  return static_cast< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm >(minimization_algorithm_);
3638 }
3639 inline ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm SatParameters::minimization_algorithm() const {
3640  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimization_algorithm)
3641  return _internal_minimization_algorithm();
3642 }
3643 inline void SatParameters::_internal_set_minimization_algorithm(::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm value) {
3645  _has_bits_[1] |= 0x08000000u;
3646  minimization_algorithm_ = value;
3647 }
3648 inline void SatParameters::set_minimization_algorithm(::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm value) {
3649  _internal_set_minimization_algorithm(value);
3650  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimization_algorithm)
3651 }
3652 
3653 // optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorithm = 34 [default = BINARY_MINIMIZATION_FIRST];
3654 inline bool SatParameters::_internal_has_binary_minimization_algorithm() const {
3655  bool value = (_has_bits_[2] & 0x00000080u) != 0;
3656  return value;
3657 }
3658 inline bool SatParameters::has_binary_minimization_algorithm() const {
3659  return _internal_has_binary_minimization_algorithm();
3660 }
3661 inline void SatParameters::clear_binary_minimization_algorithm() {
3662  binary_minimization_algorithm_ = 1;
3663  _has_bits_[2] &= ~0x00000080u;
3664 }
3665 inline ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm SatParameters::_internal_binary_minimization_algorithm() const {
3666  return static_cast< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm >(binary_minimization_algorithm_);
3667 }
3668 inline ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm SatParameters::binary_minimization_algorithm() const {
3669  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.binary_minimization_algorithm)
3670  return _internal_binary_minimization_algorithm();
3671 }
3672 inline void SatParameters::_internal_set_binary_minimization_algorithm(::operations_research::sat::SatParameters_BinaryMinizationAlgorithm value) {
3674  _has_bits_[2] |= 0x00000080u;
3675  binary_minimization_algorithm_ = value;
3676 }
3677 inline void SatParameters::set_binary_minimization_algorithm(::operations_research::sat::SatParameters_BinaryMinizationAlgorithm value) {
3678  _internal_set_binary_minimization_algorithm(value);
3679  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.binary_minimization_algorithm)
3680 }
3681 
3682 // optional bool subsumption_during_conflict_analysis = 56 [default = true];
3683 inline bool SatParameters::_internal_has_subsumption_during_conflict_analysis() const {
3684  bool value = (_has_bits_[2] & 0x00001000u) != 0;
3685  return value;
3686 }
3687 inline bool SatParameters::has_subsumption_during_conflict_analysis() const {
3688  return _internal_has_subsumption_during_conflict_analysis();
3689 }
3690 inline void SatParameters::clear_subsumption_during_conflict_analysis() {
3691  subsumption_during_conflict_analysis_ = true;
3692  _has_bits_[2] &= ~0x00001000u;
3693 }
3694 inline bool SatParameters::_internal_subsumption_during_conflict_analysis() const {
3695  return subsumption_during_conflict_analysis_;
3696 }
3697 inline bool SatParameters::subsumption_during_conflict_analysis() const {
3698  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.subsumption_during_conflict_analysis)
3699  return _internal_subsumption_during_conflict_analysis();
3700 }
3701 inline void SatParameters::_internal_set_subsumption_during_conflict_analysis(bool value) {
3702  _has_bits_[2] |= 0x00001000u;
3703  subsumption_during_conflict_analysis_ = value;
3704 }
3705 inline void SatParameters::set_subsumption_during_conflict_analysis(bool value) {
3706  _internal_set_subsumption_during_conflict_analysis(value);
3707  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.subsumption_during_conflict_analysis)
3708 }
3709 
3710 // optional int32 clause_cleanup_period = 11 [default = 10000];
3711 inline bool SatParameters::_internal_has_clause_cleanup_period() const {
3712  bool value = (_has_bits_[1] & 0x10000000u) != 0;
3713  return value;
3714 }
3715 inline bool SatParameters::has_clause_cleanup_period() const {
3716  return _internal_has_clause_cleanup_period();
3717 }
3718 inline void SatParameters::clear_clause_cleanup_period() {
3719  clause_cleanup_period_ = 10000;
3720  _has_bits_[1] &= ~0x10000000u;
3721 }
3722 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_clause_cleanup_period() const {
3723  return clause_cleanup_period_;
3724 }
3725 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::clause_cleanup_period() const {
3726  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_period)
3727  return _internal_clause_cleanup_period();
3728 }
3729 inline void SatParameters::_internal_set_clause_cleanup_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
3730  _has_bits_[1] |= 0x10000000u;
3731  clause_cleanup_period_ = value;
3732 }
3733 inline void SatParameters::set_clause_cleanup_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
3734  _internal_set_clause_cleanup_period(value);
3735  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_period)
3736 }
3737 
3738 // optional int32 clause_cleanup_target = 13 [default = 10000];
3739 inline bool SatParameters::_internal_has_clause_cleanup_target() const {
3740  bool value = (_has_bits_[1] & 0x20000000u) != 0;
3741  return value;
3742 }
3743 inline bool SatParameters::has_clause_cleanup_target() const {
3744  return _internal_has_clause_cleanup_target();
3745 }
3746 inline void SatParameters::clear_clause_cleanup_target() {
3747  clause_cleanup_target_ = 10000;
3748  _has_bits_[1] &= ~0x20000000u;
3749 }
3750 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_clause_cleanup_target() const {
3751  return clause_cleanup_target_;
3752 }
3753 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::clause_cleanup_target() const {
3754  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_target)
3755  return _internal_clause_cleanup_target();
3756 }
3757 inline void SatParameters::_internal_set_clause_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
3758  _has_bits_[1] |= 0x20000000u;
3759  clause_cleanup_target_ = value;
3760 }
3761 inline void SatParameters::set_clause_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
3762  _internal_set_clause_cleanup_target(value);
3763  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_target)
3764 }
3765 
3766 // optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [default = PROTECTION_NONE];
3767 inline bool SatParameters::_internal_has_clause_cleanup_protection() const {
3768  bool value = (_has_bits_[0] & 0x00000040u) != 0;
3769  return value;
3770 }
3771 inline bool SatParameters::has_clause_cleanup_protection() const {
3772  return _internal_has_clause_cleanup_protection();
3773 }
3774 inline void SatParameters::clear_clause_cleanup_protection() {
3775  clause_cleanup_protection_ = 0;
3776  _has_bits_[0] &= ~0x00000040u;
3777 }
3778 inline ::operations_research::sat::SatParameters_ClauseProtection SatParameters::_internal_clause_cleanup_protection() const {
3779  return static_cast< ::operations_research::sat::SatParameters_ClauseProtection >(clause_cleanup_protection_);
3780 }
3781 inline ::operations_research::sat::SatParameters_ClauseProtection SatParameters::clause_cleanup_protection() const {
3782  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_protection)
3783  return _internal_clause_cleanup_protection();
3784 }
3785 inline void SatParameters::_internal_set_clause_cleanup_protection(::operations_research::sat::SatParameters_ClauseProtection value) {
3787  _has_bits_[0] |= 0x00000040u;
3788  clause_cleanup_protection_ = value;
3789 }
3790 inline void SatParameters::set_clause_cleanup_protection(::operations_research::sat::SatParameters_ClauseProtection value) {
3791  _internal_set_clause_cleanup_protection(value);
3792  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_protection)
3793 }
3794 
3795 // optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
3796 inline bool SatParameters::_internal_has_clause_cleanup_lbd_bound() const {
3797  bool value = (_has_bits_[2] & 0x00200000u) != 0;
3798  return value;
3799 }
3800 inline bool SatParameters::has_clause_cleanup_lbd_bound() const {
3801  return _internal_has_clause_cleanup_lbd_bound();
3802 }
3803 inline void SatParameters::clear_clause_cleanup_lbd_bound() {
3804  clause_cleanup_lbd_bound_ = 5;
3805  _has_bits_[2] &= ~0x00200000u;
3806 }
3807 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_clause_cleanup_lbd_bound() const {
3808  return clause_cleanup_lbd_bound_;
3809 }
3810 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::clause_cleanup_lbd_bound() const {
3811  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_lbd_bound)
3812  return _internal_clause_cleanup_lbd_bound();
3813 }
3814 inline void SatParameters::_internal_set_clause_cleanup_lbd_bound(::PROTOBUF_NAMESPACE_ID::int32 value) {
3815  _has_bits_[2] |= 0x00200000u;
3816  clause_cleanup_lbd_bound_ = value;
3817 }
3818 inline void SatParameters::set_clause_cleanup_lbd_bound(::PROTOBUF_NAMESPACE_ID::int32 value) {
3819  _internal_set_clause_cleanup_lbd_bound(value);
3820  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_lbd_bound)
3821 }
3822 
3823 // optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default = CLAUSE_ACTIVITY];
3824 inline bool SatParameters::_internal_has_clause_cleanup_ordering() const {
3825  bool value = (_has_bits_[0] & 0x00000080u) != 0;
3826  return value;
3827 }
3828 inline bool SatParameters::has_clause_cleanup_ordering() const {
3829  return _internal_has_clause_cleanup_ordering();
3830 }
3831 inline void SatParameters::clear_clause_cleanup_ordering() {
3832  clause_cleanup_ordering_ = 0;
3833  _has_bits_[0] &= ~0x00000080u;
3834 }
3835 inline ::operations_research::sat::SatParameters_ClauseOrdering SatParameters::_internal_clause_cleanup_ordering() const {
3836  return static_cast< ::operations_research::sat::SatParameters_ClauseOrdering >(clause_cleanup_ordering_);
3837 }
3838 inline ::operations_research::sat::SatParameters_ClauseOrdering SatParameters::clause_cleanup_ordering() const {
3839  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_ordering)
3840  return _internal_clause_cleanup_ordering();
3841 }
3842 inline void SatParameters::_internal_set_clause_cleanup_ordering(::operations_research::sat::SatParameters_ClauseOrdering value) {
3844  _has_bits_[0] |= 0x00000080u;
3845  clause_cleanup_ordering_ = value;
3846 }
3847 inline void SatParameters::set_clause_cleanup_ordering(::operations_research::sat::SatParameters_ClauseOrdering value) {
3848  _internal_set_clause_cleanup_ordering(value);
3849  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_ordering)
3850 }
3851 
3852 // optional int32 pb_cleanup_increment = 46 [default = 200];
3853 inline bool SatParameters::_internal_has_pb_cleanup_increment() const {
3854  bool value = (_has_bits_[2] & 0x00008000u) != 0;
3855  return value;
3856 }
3857 inline bool SatParameters::has_pb_cleanup_increment() const {
3858  return _internal_has_pb_cleanup_increment();
3859 }
3860 inline void SatParameters::clear_pb_cleanup_increment() {
3861  pb_cleanup_increment_ = 200;
3862  _has_bits_[2] &= ~0x00008000u;
3863 }
3864 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_pb_cleanup_increment() const {
3865  return pb_cleanup_increment_;
3866 }
3867 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::pb_cleanup_increment() const {
3868  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pb_cleanup_increment)
3869  return _internal_pb_cleanup_increment();
3870 }
3871 inline void SatParameters::_internal_set_pb_cleanup_increment(::PROTOBUF_NAMESPACE_ID::int32 value) {
3872  _has_bits_[2] |= 0x00008000u;
3873  pb_cleanup_increment_ = value;
3874 }
3875 inline void SatParameters::set_pb_cleanup_increment(::PROTOBUF_NAMESPACE_ID::int32 value) {
3876  _internal_set_pb_cleanup_increment(value);
3877  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pb_cleanup_increment)
3878 }
3879 
3880 // optional double pb_cleanup_ratio = 47 [default = 0.5];
3881 inline bool SatParameters::_internal_has_pb_cleanup_ratio() const {
3882  bool value = (_has_bits_[2] & 0x00010000u) != 0;
3883  return value;
3884 }
3885 inline bool SatParameters::has_pb_cleanup_ratio() const {
3886  return _internal_has_pb_cleanup_ratio();
3887 }
3888 inline void SatParameters::clear_pb_cleanup_ratio() {
3889  pb_cleanup_ratio_ = 0.5;
3890  _has_bits_[2] &= ~0x00010000u;
3891 }
3892 inline double SatParameters::_internal_pb_cleanup_ratio() const {
3893  return pb_cleanup_ratio_;
3894 }
3895 inline double SatParameters::pb_cleanup_ratio() const {
3896  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pb_cleanup_ratio)
3897  return _internal_pb_cleanup_ratio();
3898 }
3899 inline void SatParameters::_internal_set_pb_cleanup_ratio(double value) {
3900  _has_bits_[2] |= 0x00010000u;
3901  pb_cleanup_ratio_ = value;
3902 }
3903 inline void SatParameters::set_pb_cleanup_ratio(double value) {
3904  _internal_set_pb_cleanup_ratio(value);
3905  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pb_cleanup_ratio)
3906 }
3907 
3908 // optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
3909 inline bool SatParameters::_internal_has_minimize_with_propagation_restart_period() const {
3910  bool value = (_has_bits_[3] & 0x00000080u) != 0;
3911  return value;
3912 }
3913 inline bool SatParameters::has_minimize_with_propagation_restart_period() const {
3914  return _internal_has_minimize_with_propagation_restart_period();
3915 }
3916 inline void SatParameters::clear_minimize_with_propagation_restart_period() {
3917  minimize_with_propagation_restart_period_ = 10;
3918  _has_bits_[3] &= ~0x00000080u;
3919 }
3920 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_minimize_with_propagation_restart_period() const {
3921  return minimize_with_propagation_restart_period_;
3922 }
3923 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::minimize_with_propagation_restart_period() const {
3924  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_with_propagation_restart_period)
3925  return _internal_minimize_with_propagation_restart_period();
3926 }
3927 inline void SatParameters::_internal_set_minimize_with_propagation_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
3928  _has_bits_[3] |= 0x00000080u;
3929  minimize_with_propagation_restart_period_ = value;
3930 }
3931 inline void SatParameters::set_minimize_with_propagation_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
3932  _internal_set_minimize_with_propagation_restart_period(value);
3933  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_with_propagation_restart_period)
3934 }
3935 
3936 // optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
3937 inline bool SatParameters::_internal_has_minimize_with_propagation_num_decisions() const {
3938  bool value = (_has_bits_[3] & 0x00000100u) != 0;
3939  return value;
3940 }
3941 inline bool SatParameters::has_minimize_with_propagation_num_decisions() const {
3942  return _internal_has_minimize_with_propagation_num_decisions();
3943 }
3944 inline void SatParameters::clear_minimize_with_propagation_num_decisions() {
3945  minimize_with_propagation_num_decisions_ = 1000;
3946  _has_bits_[3] &= ~0x00000100u;
3947 }
3948 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_minimize_with_propagation_num_decisions() const {
3949  return minimize_with_propagation_num_decisions_;
3950 }
3951 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::minimize_with_propagation_num_decisions() const {
3952  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_with_propagation_num_decisions)
3953  return _internal_minimize_with_propagation_num_decisions();
3954 }
3955 inline void SatParameters::_internal_set_minimize_with_propagation_num_decisions(::PROTOBUF_NAMESPACE_ID::int32 value) {
3956  _has_bits_[3] |= 0x00000100u;
3957  minimize_with_propagation_num_decisions_ = value;
3958 }
3959 inline void SatParameters::set_minimize_with_propagation_num_decisions(::PROTOBUF_NAMESPACE_ID::int32 value) {
3960  _internal_set_minimize_with_propagation_num_decisions(value);
3961  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_with_propagation_num_decisions)
3962 }
3963 
3964 // optional double variable_activity_decay = 15 [default = 0.8];
3965 inline bool SatParameters::_internal_has_variable_activity_decay() const {
3966  bool value = (_has_bits_[1] & 0x40000000u) != 0;
3967  return value;
3968 }
3969 inline bool SatParameters::has_variable_activity_decay() const {
3970  return _internal_has_variable_activity_decay();
3971 }
3972 inline void SatParameters::clear_variable_activity_decay() {
3973  variable_activity_decay_ = 0.8;
3974  _has_bits_[1] &= ~0x40000000u;
3975 }
3976 inline double SatParameters::_internal_variable_activity_decay() const {
3977  return variable_activity_decay_;
3978 }
3979 inline double SatParameters::variable_activity_decay() const {
3980  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.variable_activity_decay)
3981  return _internal_variable_activity_decay();
3982 }
3983 inline void SatParameters::_internal_set_variable_activity_decay(double value) {
3984  _has_bits_[1] |= 0x40000000u;
3985  variable_activity_decay_ = value;
3986 }
3987 inline void SatParameters::set_variable_activity_decay(double value) {
3988  _internal_set_variable_activity_decay(value);
3989  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.variable_activity_decay)
3990 }
3991 
3992 // optional double max_variable_activity_value = 16 [default = 1e+100];
3993 inline bool SatParameters::_internal_has_max_variable_activity_value() const {
3994  bool value = (_has_bits_[1] & 0x80000000u) != 0;
3995  return value;
3996 }
3997 inline bool SatParameters::has_max_variable_activity_value() const {
3998  return _internal_has_max_variable_activity_value();
3999 }
4000 inline void SatParameters::clear_max_variable_activity_value() {
4001  max_variable_activity_value_ = 1e+100;
4002  _has_bits_[1] &= ~0x80000000u;
4003 }
4004 inline double SatParameters::_internal_max_variable_activity_value() const {
4005  return max_variable_activity_value_;
4006 }
4007 inline double SatParameters::max_variable_activity_value() const {
4008  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_variable_activity_value)
4009  return _internal_max_variable_activity_value();
4010 }
4011 inline void SatParameters::_internal_set_max_variable_activity_value(double value) {
4012  _has_bits_[1] |= 0x80000000u;
4013  max_variable_activity_value_ = value;
4014 }
4015 inline void SatParameters::set_max_variable_activity_value(double value) {
4016  _internal_set_max_variable_activity_value(value);
4017  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_variable_activity_value)
4018 }
4019 
4020 // optional double glucose_max_decay = 22 [default = 0.95];
4021 inline bool SatParameters::_internal_has_glucose_max_decay() const {
4022  bool value = (_has_bits_[2] & 0x00000004u) != 0;
4023  return value;
4024 }
4025 inline bool SatParameters::has_glucose_max_decay() const {
4026  return _internal_has_glucose_max_decay();
4027 }
4028 inline void SatParameters::clear_glucose_max_decay() {
4029  glucose_max_decay_ = 0.95;
4030  _has_bits_[2] &= ~0x00000004u;
4031 }
4032 inline double SatParameters::_internal_glucose_max_decay() const {
4033  return glucose_max_decay_;
4034 }
4035 inline double SatParameters::glucose_max_decay() const {
4036  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_max_decay)
4037  return _internal_glucose_max_decay();
4038 }
4039 inline void SatParameters::_internal_set_glucose_max_decay(double value) {
4040  _has_bits_[2] |= 0x00000004u;
4041  glucose_max_decay_ = value;
4042 }
4043 inline void SatParameters::set_glucose_max_decay(double value) {
4044  _internal_set_glucose_max_decay(value);
4045  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_max_decay)
4046 }
4047 
4048 // optional double glucose_decay_increment = 23 [default = 0.01];
4049 inline bool SatParameters::_internal_has_glucose_decay_increment() const {
4050  bool value = (_has_bits_[2] & 0x00000008u) != 0;
4051  return value;
4052 }
4053 inline bool SatParameters::has_glucose_decay_increment() const {
4054  return _internal_has_glucose_decay_increment();
4055 }
4056 inline void SatParameters::clear_glucose_decay_increment() {
4057  glucose_decay_increment_ = 0.01;
4058  _has_bits_[2] &= ~0x00000008u;
4059 }
4060 inline double SatParameters::_internal_glucose_decay_increment() const {
4061  return glucose_decay_increment_;
4062 }
4063 inline double SatParameters::glucose_decay_increment() const {
4064  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_decay_increment)
4065  return _internal_glucose_decay_increment();
4066 }
4067 inline void SatParameters::_internal_set_glucose_decay_increment(double value) {
4068  _has_bits_[2] |= 0x00000008u;
4069  glucose_decay_increment_ = value;
4070 }
4071 inline void SatParameters::set_glucose_decay_increment(double value) {
4072  _internal_set_glucose_decay_increment(value);
4073  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_decay_increment)
4074 }
4075 
4076 // optional int32 glucose_decay_increment_period = 24 [default = 5000];
4077 inline bool SatParameters::_internal_has_glucose_decay_increment_period() const {
4078  bool value = (_has_bits_[2] & 0x00000010u) != 0;
4079  return value;
4080 }
4081 inline bool SatParameters::has_glucose_decay_increment_period() const {
4082  return _internal_has_glucose_decay_increment_period();
4083 }
4084 inline void SatParameters::clear_glucose_decay_increment_period() {
4085  glucose_decay_increment_period_ = 5000;
4086  _has_bits_[2] &= ~0x00000010u;
4087 }
4088 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_glucose_decay_increment_period() const {
4089  return glucose_decay_increment_period_;
4090 }
4091 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::glucose_decay_increment_period() const {
4092  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_decay_increment_period)
4093  return _internal_glucose_decay_increment_period();
4094 }
4095 inline void SatParameters::_internal_set_glucose_decay_increment_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
4096  _has_bits_[2] |= 0x00000010u;
4097  glucose_decay_increment_period_ = value;
4098 }
4099 inline void SatParameters::set_glucose_decay_increment_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
4100  _internal_set_glucose_decay_increment_period(value);
4101  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_decay_increment_period)
4102 }
4103 
4104 // optional double clause_activity_decay = 17 [default = 0.999];
4105 inline bool SatParameters::_internal_has_clause_activity_decay() const {
4106  bool value = (_has_bits_[2] & 0x00000001u) != 0;
4107  return value;
4108 }
4109 inline bool SatParameters::has_clause_activity_decay() const {
4110  return _internal_has_clause_activity_decay();
4111 }
4112 inline void SatParameters::clear_clause_activity_decay() {
4113  clause_activity_decay_ = 0.999;
4114  _has_bits_[2] &= ~0x00000001u;
4115 }
4116 inline double SatParameters::_internal_clause_activity_decay() const {
4117  return clause_activity_decay_;
4118 }
4119 inline double SatParameters::clause_activity_decay() const {
4120  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_activity_decay)
4121  return _internal_clause_activity_decay();
4122 }
4123 inline void SatParameters::_internal_set_clause_activity_decay(double value) {
4124  _has_bits_[2] |= 0x00000001u;
4125  clause_activity_decay_ = value;
4126 }
4127 inline void SatParameters::set_clause_activity_decay(double value) {
4128  _internal_set_clause_activity_decay(value);
4129  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_activity_decay)
4130 }
4131 
4132 // optional double max_clause_activity_value = 18 [default = 1e+20];
4133 inline bool SatParameters::_internal_has_max_clause_activity_value() const {
4134  bool value = (_has_bits_[2] & 0x00000002u) != 0;
4135  return value;
4136 }
4137 inline bool SatParameters::has_max_clause_activity_value() const {
4138  return _internal_has_max_clause_activity_value();
4139 }
4140 inline void SatParameters::clear_max_clause_activity_value() {
4141  max_clause_activity_value_ = 1e+20;
4142  _has_bits_[2] &= ~0x00000002u;
4143 }
4144 inline double SatParameters::_internal_max_clause_activity_value() const {
4145  return max_clause_activity_value_;
4146 }
4147 inline double SatParameters::max_clause_activity_value() const {
4148  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_clause_activity_value)
4149  return _internal_max_clause_activity_value();
4150 }
4151 inline void SatParameters::_internal_set_max_clause_activity_value(double value) {
4152  _has_bits_[2] |= 0x00000002u;
4153  max_clause_activity_value_ = value;
4154 }
4155 inline void SatParameters::set_max_clause_activity_value(double value) {
4156  _internal_set_max_clause_activity_value(value);
4157  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_clause_activity_value)
4158 }
4159 
4160 // repeated .operations_research.sat.SatParameters.RestartAlgorithm restart_algorithms = 61;
4161 inline int SatParameters::_internal_restart_algorithms_size() const {
4162  return restart_algorithms_.size();
4163 }
4164 inline int SatParameters::restart_algorithms_size() const {
4165  return _internal_restart_algorithms_size();
4166 }
4167 inline void SatParameters::clear_restart_algorithms() {
4168  restart_algorithms_.Clear();
4169 }
4170 inline ::operations_research::sat::SatParameters_RestartAlgorithm SatParameters::_internal_restart_algorithms(int index) const {
4171  return static_cast< ::operations_research::sat::SatParameters_RestartAlgorithm >(restart_algorithms_.Get(index));
4172 }
4173 inline ::operations_research::sat::SatParameters_RestartAlgorithm SatParameters::restart_algorithms(int index) const {
4174  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_algorithms)
4175  return _internal_restart_algorithms(index);
4176 }
4177 inline void SatParameters::set_restart_algorithms(int index, ::operations_research::sat::SatParameters_RestartAlgorithm value) {
4179  restart_algorithms_.Set(index, value);
4180  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_algorithms)
4181 }
4182 inline void SatParameters::_internal_add_restart_algorithms(::operations_research::sat::SatParameters_RestartAlgorithm value) {
4184  restart_algorithms_.Add(value);
4185 }
4186 inline void SatParameters::add_restart_algorithms(::operations_research::sat::SatParameters_RestartAlgorithm value) {
4187  // @@protoc_insertion_point(field_add:operations_research.sat.SatParameters.restart_algorithms)
4188  _internal_add_restart_algorithms(value);
4189 }
4190 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
4191 SatParameters::restart_algorithms() const {
4192  // @@protoc_insertion_point(field_list:operations_research.sat.SatParameters.restart_algorithms)
4193  return restart_algorithms_;
4194 }
4195 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
4196 SatParameters::_internal_mutable_restart_algorithms() {
4197  return &restart_algorithms_;
4198 }
4199 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
4200 SatParameters::mutable_restart_algorithms() {
4201  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SatParameters.restart_algorithms)
4202  return _internal_mutable_restart_algorithms();
4203 }
4204 
4205 // optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART"];
4206 inline bool SatParameters::_internal_has_default_restart_algorithms() const {
4207  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4208  return value;
4209 }
4210 inline bool SatParameters::has_default_restart_algorithms() const {
4211  return _internal_has_default_restart_algorithms();
4212 }
4213 inline void SatParameters::clear_default_restart_algorithms() {
4214  default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArena());
4215  _has_bits_[0] &= ~0x00000001u;
4216 }
4217 inline const std::string& SatParameters::default_restart_algorithms() const {
4218  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.default_restart_algorithms)
4219  if (default_restart_algorithms_.IsDefault(nullptr)) return _i_give_permission_to_break_this_code_default_default_restart_algorithms_.get();
4220  return _internal_default_restart_algorithms();
4221 }
4222 inline void SatParameters::set_default_restart_algorithms(const std::string& value) {
4223  _internal_set_default_restart_algorithms(value);
4224  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.default_restart_algorithms)
4225 }
4226 inline std::string* SatParameters::mutable_default_restart_algorithms() {
4227  // @@protoc_insertion_point(field_mutable:operations_research.sat.SatParameters.default_restart_algorithms)
4228  return _internal_mutable_default_restart_algorithms();
4229 }
4230 inline const std::string& SatParameters::_internal_default_restart_algorithms() const {
4231  return default_restart_algorithms_.Get();
4232 }
4233 inline void SatParameters::_internal_set_default_restart_algorithms(const std::string& value) {
4234  _has_bits_[0] |= 0x00000001u;
4235  default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, value, GetArena());
4236 }
4237 inline void SatParameters::set_default_restart_algorithms(std::string&& value) {
4238  _has_bits_[0] |= 0x00000001u;
4239  default_restart_algorithms_.Set(
4240  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, ::std::move(value), GetArena());
4241  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.SatParameters.default_restart_algorithms)
4242 }
4243 inline void SatParameters::set_default_restart_algorithms(const char* value) {
4244  GOOGLE_DCHECK(value != nullptr);
4245  _has_bits_[0] |= 0x00000001u;
4246  default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, ::std::string(value), GetArena());
4247  // @@protoc_insertion_point(field_set_char:operations_research.sat.SatParameters.default_restart_algorithms)
4248 }
4249 inline void SatParameters::set_default_restart_algorithms(const char* value,
4250  size_t size) {
4251  _has_bits_[0] |= 0x00000001u;
4252  default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, ::std::string(
4253  reinterpret_cast<const char*>(value), size), GetArena());
4254  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.SatParameters.default_restart_algorithms)
4255 }
4256 inline std::string* SatParameters::_internal_mutable_default_restart_algorithms() {
4257  _has_bits_[0] |= 0x00000001u;
4258  return default_restart_algorithms_.Mutable(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArena());
4259 }
4260 inline std::string* SatParameters::release_default_restart_algorithms() {
4261  // @@protoc_insertion_point(field_release:operations_research.sat.SatParameters.default_restart_algorithms)
4262  if (!_internal_has_default_restart_algorithms()) {
4263  return nullptr;
4264  }
4265  _has_bits_[0] &= ~0x00000001u;
4266  return default_restart_algorithms_.ReleaseNonDefault(nullptr, GetArena());
4267 }
4268 inline void SatParameters::set_allocated_default_restart_algorithms(std::string* default_restart_algorithms) {
4269  if (default_restart_algorithms != nullptr) {
4270  _has_bits_[0] |= 0x00000001u;
4271  } else {
4272  _has_bits_[0] &= ~0x00000001u;
4273  }
4274  default_restart_algorithms_.SetAllocated(nullptr, default_restart_algorithms,
4275  GetArena());
4276  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.SatParameters.default_restart_algorithms)
4277 }
4278 
4279 // optional int32 restart_period = 30 [default = 50];
4280 inline bool SatParameters::_internal_has_restart_period() const {
4281  bool value = (_has_bits_[2] & 0x00000020u) != 0;
4282  return value;
4283 }
4284 inline bool SatParameters::has_restart_period() const {
4285  return _internal_has_restart_period();
4286 }
4287 inline void SatParameters::clear_restart_period() {
4288  restart_period_ = 50;
4289  _has_bits_[2] &= ~0x00000020u;
4290 }
4291 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_restart_period() const {
4292  return restart_period_;
4293 }
4294 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::restart_period() const {
4295  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_period)
4296  return _internal_restart_period();
4297 }
4298 inline void SatParameters::_internal_set_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
4299  _has_bits_[2] |= 0x00000020u;
4300  restart_period_ = value;
4301 }
4302 inline void SatParameters::set_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
4303  _internal_set_restart_period(value);
4304  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_period)
4305 }
4306 
4307 // optional int32 restart_running_window_size = 62 [default = 50];
4308 inline bool SatParameters::_internal_has_restart_running_window_size() const {
4309  bool value = (_has_bits_[2] & 0x00800000u) != 0;
4310  return value;
4311 }
4312 inline bool SatParameters::has_restart_running_window_size() const {
4313  return _internal_has_restart_running_window_size();
4314 }
4315 inline void SatParameters::clear_restart_running_window_size() {
4316  restart_running_window_size_ = 50;
4317  _has_bits_[2] &= ~0x00800000u;
4318 }
4319 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_restart_running_window_size() const {
4320  return restart_running_window_size_;
4321 }
4322 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::restart_running_window_size() const {
4323  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_running_window_size)
4324  return _internal_restart_running_window_size();
4325 }
4326 inline void SatParameters::_internal_set_restart_running_window_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
4327  _has_bits_[2] |= 0x00800000u;
4328  restart_running_window_size_ = value;
4329 }
4330 inline void SatParameters::set_restart_running_window_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
4331  _internal_set_restart_running_window_size(value);
4332  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_running_window_size)
4333 }
4334 
4335 // optional double restart_dl_average_ratio = 63 [default = 1];
4336 inline bool SatParameters::_internal_has_restart_dl_average_ratio() const {
4337  bool value = (_has_bits_[2] & 0x00400000u) != 0;
4338  return value;
4339 }
4340 inline bool SatParameters::has_restart_dl_average_ratio() const {
4341  return _internal_has_restart_dl_average_ratio();
4342 }
4343 inline void SatParameters::clear_restart_dl_average_ratio() {
4344  restart_dl_average_ratio_ = 1;
4345  _has_bits_[2] &= ~0x00400000u;
4346 }
4347 inline double SatParameters::_internal_restart_dl_average_ratio() const {
4348  return restart_dl_average_ratio_;
4349 }
4350 inline double SatParameters::restart_dl_average_ratio() const {
4351  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_dl_average_ratio)
4352  return _internal_restart_dl_average_ratio();
4353 }
4354 inline void SatParameters::_internal_set_restart_dl_average_ratio(double value) {
4355  _has_bits_[2] |= 0x00400000u;
4356  restart_dl_average_ratio_ = value;
4357 }
4358 inline void SatParameters::set_restart_dl_average_ratio(double value) {
4359  _internal_set_restart_dl_average_ratio(value);
4360  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_dl_average_ratio)
4361 }
4362 
4363 // optional double restart_lbd_average_ratio = 71 [default = 1];
4364 inline bool SatParameters::_internal_has_restart_lbd_average_ratio() const {
4365  bool value = (_has_bits_[3] & 0x00000001u) != 0;
4366  return value;
4367 }
4368 inline bool SatParameters::has_restart_lbd_average_ratio() const {
4369  return _internal_has_restart_lbd_average_ratio();
4370 }
4371 inline void SatParameters::clear_restart_lbd_average_ratio() {
4372  restart_lbd_average_ratio_ = 1;
4373  _has_bits_[3] &= ~0x00000001u;
4374 }
4375 inline double SatParameters::_internal_restart_lbd_average_ratio() const {
4376  return restart_lbd_average_ratio_;
4377 }
4378 inline double SatParameters::restart_lbd_average_ratio() const {
4379  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_lbd_average_ratio)
4380  return _internal_restart_lbd_average_ratio();
4381 }
4382 inline void SatParameters::_internal_set_restart_lbd_average_ratio(double value) {
4383  _has_bits_[3] |= 0x00000001u;
4384  restart_lbd_average_ratio_ = value;
4385 }
4386 inline void SatParameters::set_restart_lbd_average_ratio(double value) {
4387  _internal_set_restart_lbd_average_ratio(value);
4388  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_lbd_average_ratio)
4389 }
4390 
4391 // optional bool use_blocking_restart = 64 [default = false];
4392 inline bool SatParameters::_internal_has_use_blocking_restart() const {
4393  bool value = (_has_bits_[0] & 0x00008000u) != 0;
4394  return value;
4395 }
4396 inline bool SatParameters::has_use_blocking_restart() const {
4397  return _internal_has_use_blocking_restart();
4398 }
4399 inline void SatParameters::clear_use_blocking_restart() {
4400  use_blocking_restart_ = false;
4401  _has_bits_[0] &= ~0x00008000u;
4402 }
4403 inline bool SatParameters::_internal_use_blocking_restart() const {
4404  return use_blocking_restart_;
4405 }
4406 inline bool SatParameters::use_blocking_restart() const {
4407  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_blocking_restart)
4408  return _internal_use_blocking_restart();
4409 }
4410 inline void SatParameters::_internal_set_use_blocking_restart(bool value) {
4411  _has_bits_[0] |= 0x00008000u;
4412  use_blocking_restart_ = value;
4413 }
4414 inline void SatParameters::set_use_blocking_restart(bool value) {
4415  _internal_set_use_blocking_restart(value);
4416  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_blocking_restart)
4417 }
4418 
4419 // optional int32 blocking_restart_window_size = 65 [default = 5000];
4420 inline bool SatParameters::_internal_has_blocking_restart_window_size() const {
4421  bool value = (_has_bits_[2] & 0x40000000u) != 0;
4422  return value;
4423 }
4424 inline bool SatParameters::has_blocking_restart_window_size() const {
4425  return _internal_has_blocking_restart_window_size();
4426 }
4427 inline void SatParameters::clear_blocking_restart_window_size() {
4428  blocking_restart_window_size_ = 5000;
4429  _has_bits_[2] &= ~0x40000000u;
4430 }
4431 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_blocking_restart_window_size() const {
4432  return blocking_restart_window_size_;
4433 }
4434 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::blocking_restart_window_size() const {
4435  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.blocking_restart_window_size)
4436  return _internal_blocking_restart_window_size();
4437 }
4438 inline void SatParameters::_internal_set_blocking_restart_window_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
4439  _has_bits_[2] |= 0x40000000u;
4440  blocking_restart_window_size_ = value;
4441 }
4442 inline void SatParameters::set_blocking_restart_window_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
4443  _internal_set_blocking_restart_window_size(value);
4444  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.blocking_restart_window_size)
4445 }
4446 
4447 // optional double blocking_restart_multiplier = 66 [default = 1.4];
4448 inline bool SatParameters::_internal_has_blocking_restart_multiplier() const {
4449  bool value = (_has_bits_[2] & 0x10000000u) != 0;
4450  return value;
4451 }
4452 inline bool SatParameters::has_blocking_restart_multiplier() const {
4453  return _internal_has_blocking_restart_multiplier();
4454 }
4455 inline void SatParameters::clear_blocking_restart_multiplier() {
4456  blocking_restart_multiplier_ = 1.4;
4457  _has_bits_[2] &= ~0x10000000u;
4458 }
4459 inline double SatParameters::_internal_blocking_restart_multiplier() const {
4460  return blocking_restart_multiplier_;
4461 }
4462 inline double SatParameters::blocking_restart_multiplier() const {
4463  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.blocking_restart_multiplier)
4464  return _internal_blocking_restart_multiplier();
4465 }
4466 inline void SatParameters::_internal_set_blocking_restart_multiplier(double value) {
4467  _has_bits_[2] |= 0x10000000u;
4468  blocking_restart_multiplier_ = value;
4469 }
4470 inline void SatParameters::set_blocking_restart_multiplier(double value) {
4471  _internal_set_blocking_restart_multiplier(value);
4472  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.blocking_restart_multiplier)
4473 }
4474 
4475 // optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
4476 inline bool SatParameters::_internal_has_num_conflicts_before_strategy_changes() const {
4477  bool value = (_has_bits_[0] & 0x00000200u) != 0;
4478  return value;
4479 }
4480 inline bool SatParameters::has_num_conflicts_before_strategy_changes() const {
4481  return _internal_has_num_conflicts_before_strategy_changes();
4482 }
4483 inline void SatParameters::clear_num_conflicts_before_strategy_changes() {
4484  num_conflicts_before_strategy_changes_ = 0;
4485  _has_bits_[0] &= ~0x00000200u;
4486 }
4487 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_num_conflicts_before_strategy_changes() const {
4488  return num_conflicts_before_strategy_changes_;
4489 }
4490 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::num_conflicts_before_strategy_changes() const {
4491  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.num_conflicts_before_strategy_changes)
4492  return _internal_num_conflicts_before_strategy_changes();
4493 }
4494 inline void SatParameters::_internal_set_num_conflicts_before_strategy_changes(::PROTOBUF_NAMESPACE_ID::int32 value) {
4495  _has_bits_[0] |= 0x00000200u;
4496  num_conflicts_before_strategy_changes_ = value;
4497 }
4498 inline void SatParameters::set_num_conflicts_before_strategy_changes(::PROTOBUF_NAMESPACE_ID::int32 value) {
4499  _internal_set_num_conflicts_before_strategy_changes(value);
4500  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.num_conflicts_before_strategy_changes)
4501 }
4502 
4503 // optional double strategy_change_increase_ratio = 69 [default = 0];
4504 inline bool SatParameters::_internal_has_strategy_change_increase_ratio() const {
4505  bool value = (_has_bits_[0] & 0x00000100u) != 0;
4506  return value;
4507 }
4508 inline bool SatParameters::has_strategy_change_increase_ratio() const {
4509  return _internal_has_strategy_change_increase_ratio();
4510 }
4511 inline void SatParameters::clear_strategy_change_increase_ratio() {
4512  strategy_change_increase_ratio_ = 0;
4513  _has_bits_[0] &= ~0x00000100u;
4514 }
4515 inline double SatParameters::_internal_strategy_change_increase_ratio() const {
4516  return strategy_change_increase_ratio_;
4517 }
4518 inline double SatParameters::strategy_change_increase_ratio() const {
4519  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.strategy_change_increase_ratio)
4520  return _internal_strategy_change_increase_ratio();
4521 }
4522 inline void SatParameters::_internal_set_strategy_change_increase_ratio(double value) {
4523  _has_bits_[0] |= 0x00000100u;
4524  strategy_change_increase_ratio_ = value;
4525 }
4526 inline void SatParameters::set_strategy_change_increase_ratio(double value) {
4527  _internal_set_strategy_change_increase_ratio(value);
4528  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.strategy_change_increase_ratio)
4529 }
4530 
4531 // optional double max_time_in_seconds = 36 [default = inf];
4532 inline bool SatParameters::_internal_has_max_time_in_seconds() const {
4533  bool value = (_has_bits_[2] & 0x00000100u) != 0;
4534  return value;
4535 }
4536 inline bool SatParameters::has_max_time_in_seconds() const {
4537  return _internal_has_max_time_in_seconds();
4538 }
4539 inline void SatParameters::clear_max_time_in_seconds() {
4540  max_time_in_seconds_ = std::numeric_limits<double>::infinity();
4541  _has_bits_[2] &= ~0x00000100u;
4542 }
4543 inline double SatParameters::_internal_max_time_in_seconds() const {
4544  return max_time_in_seconds_;
4545 }
4546 inline double SatParameters::max_time_in_seconds() const {
4547  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_time_in_seconds)
4548  return _internal_max_time_in_seconds();
4549 }
4550 inline void SatParameters::_internal_set_max_time_in_seconds(double value) {
4551  _has_bits_[2] |= 0x00000100u;
4552  max_time_in_seconds_ = value;
4553 }
4554 inline void SatParameters::set_max_time_in_seconds(double value) {
4555  _internal_set_max_time_in_seconds(value);
4556  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_time_in_seconds)
4557 }
4558 
4559 // optional double max_deterministic_time = 67 [default = inf];
4560 inline bool SatParameters::_internal_has_max_deterministic_time() const {
4561  bool value = (_has_bits_[2] & 0x20000000u) != 0;
4562  return value;
4563 }
4564 inline bool SatParameters::has_max_deterministic_time() const {
4565  return _internal_has_max_deterministic_time();
4566 }
4567 inline void SatParameters::clear_max_deterministic_time() {
4568  max_deterministic_time_ = std::numeric_limits<double>::infinity();
4569  _has_bits_[2] &= ~0x20000000u;
4570 }
4571 inline double SatParameters::_internal_max_deterministic_time() const {
4572  return max_deterministic_time_;
4573 }
4574 inline double SatParameters::max_deterministic_time() const {
4575  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_deterministic_time)
4576  return _internal_max_deterministic_time();
4577 }
4578 inline void SatParameters::_internal_set_max_deterministic_time(double value) {
4579  _has_bits_[2] |= 0x20000000u;
4580  max_deterministic_time_ = value;
4581 }
4582 inline void SatParameters::set_max_deterministic_time(double value) {
4583  _internal_set_max_deterministic_time(value);
4584  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_deterministic_time)
4585 }
4586 
4587 // optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
4588 inline bool SatParameters::_internal_has_max_number_of_conflicts() const {
4589  bool value = (_has_bits_[2] & 0x00000200u) != 0;
4590  return value;
4591 }
4592 inline bool SatParameters::has_max_number_of_conflicts() const {
4593  return _internal_has_max_number_of_conflicts();
4594 }
4595 inline void SatParameters::clear_max_number_of_conflicts() {
4596  max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
4597  _has_bits_[2] &= ~0x00000200u;
4598 }
4599 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::_internal_max_number_of_conflicts() const {
4600  return max_number_of_conflicts_;
4601 }
4602 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::max_number_of_conflicts() const {
4603  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_number_of_conflicts)
4604  return _internal_max_number_of_conflicts();
4605 }
4606 inline void SatParameters::_internal_set_max_number_of_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
4607  _has_bits_[2] |= 0x00000200u;
4608  max_number_of_conflicts_ = value;
4609 }
4610 inline void SatParameters::set_max_number_of_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
4611  _internal_set_max_number_of_conflicts(value);
4612  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_number_of_conflicts)
4613 }
4614 
4615 // optional int64 max_memory_in_mb = 40 [default = 10000];
4616 inline bool SatParameters::_internal_has_max_memory_in_mb() const {
4617  bool value = (_has_bits_[2] & 0x00000400u) != 0;
4618  return value;
4619 }
4620 inline bool SatParameters::has_max_memory_in_mb() const {
4621  return _internal_has_max_memory_in_mb();
4622 }
4623 inline void SatParameters::clear_max_memory_in_mb() {
4624  max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
4625  _has_bits_[2] &= ~0x00000400u;
4626 }
4627 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::_internal_max_memory_in_mb() const {
4628  return max_memory_in_mb_;
4629 }
4630 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::max_memory_in_mb() const {
4631  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_memory_in_mb)
4632  return _internal_max_memory_in_mb();
4633 }
4634 inline void SatParameters::_internal_set_max_memory_in_mb(::PROTOBUF_NAMESPACE_ID::int64 value) {
4635  _has_bits_[2] |= 0x00000400u;
4636  max_memory_in_mb_ = value;
4637 }
4638 inline void SatParameters::set_max_memory_in_mb(::PROTOBUF_NAMESPACE_ID::int64 value) {
4639  _internal_set_max_memory_in_mb(value);
4640  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_memory_in_mb)
4641 }
4642 
4643 // optional double absolute_gap_limit = 159 [default = 0];
4644 inline bool SatParameters::_internal_has_absolute_gap_limit() const {
4645  bool value = (_has_bits_[1] & 0x00400000u) != 0;
4646  return value;
4647 }
4648 inline bool SatParameters::has_absolute_gap_limit() const {
4649  return _internal_has_absolute_gap_limit();
4650 }
4651 inline void SatParameters::clear_absolute_gap_limit() {
4652  absolute_gap_limit_ = 0;
4653  _has_bits_[1] &= ~0x00400000u;
4654 }
4655 inline double SatParameters::_internal_absolute_gap_limit() const {
4656  return absolute_gap_limit_;
4657 }
4658 inline double SatParameters::absolute_gap_limit() const {
4659  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.absolute_gap_limit)
4660  return _internal_absolute_gap_limit();
4661 }
4662 inline void SatParameters::_internal_set_absolute_gap_limit(double value) {
4663  _has_bits_[1] |= 0x00400000u;
4664  absolute_gap_limit_ = value;
4665 }
4666 inline void SatParameters::set_absolute_gap_limit(double value) {
4667  _internal_set_absolute_gap_limit(value);
4668  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.absolute_gap_limit)
4669 }
4670 
4671 // optional double relative_gap_limit = 160 [default = 0];
4672 inline bool SatParameters::_internal_has_relative_gap_limit() const {
4673  bool value = (_has_bits_[1] & 0x00800000u) != 0;
4674  return value;
4675 }
4676 inline bool SatParameters::has_relative_gap_limit() const {
4677  return _internal_has_relative_gap_limit();
4678 }
4679 inline void SatParameters::clear_relative_gap_limit() {
4680  relative_gap_limit_ = 0;
4681  _has_bits_[1] &= ~0x00800000u;
4682 }
4683 inline double SatParameters::_internal_relative_gap_limit() const {
4684  return relative_gap_limit_;
4685 }
4686 inline double SatParameters::relative_gap_limit() const {
4687  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.relative_gap_limit)
4688  return _internal_relative_gap_limit();
4689 }
4690 inline void SatParameters::_internal_set_relative_gap_limit(double value) {
4691  _has_bits_[1] |= 0x00800000u;
4692  relative_gap_limit_ = value;
4693 }
4694 inline void SatParameters::set_relative_gap_limit(double value) {
4695  _internal_set_relative_gap_limit(value);
4696  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.relative_gap_limit)
4697 }
4698 
4699 // optional bool treat_binary_clauses_separately = 33 [default = true];
4700 inline bool SatParameters::_internal_has_treat_binary_clauses_separately() const {
4701  bool value = (_has_bits_[2] & 0x00002000u) != 0;
4702  return value;
4703 }
4704 inline bool SatParameters::has_treat_binary_clauses_separately() const {
4705  return _internal_has_treat_binary_clauses_separately();
4706 }
4707 inline void SatParameters::clear_treat_binary_clauses_separately() {
4708  treat_binary_clauses_separately_ = true;
4709  _has_bits_[2] &= ~0x00002000u;
4710 }
4711 inline bool SatParameters::_internal_treat_binary_clauses_separately() const {
4712  return treat_binary_clauses_separately_;
4713 }
4714 inline bool SatParameters::treat_binary_clauses_separately() const {
4715  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.treat_binary_clauses_separately)
4716  return _internal_treat_binary_clauses_separately();
4717 }
4718 inline void SatParameters::_internal_set_treat_binary_clauses_separately(bool value) {
4719  _has_bits_[2] |= 0x00002000u;
4720  treat_binary_clauses_separately_ = value;
4721 }
4722 inline void SatParameters::set_treat_binary_clauses_separately(bool value) {
4723  _internal_set_treat_binary_clauses_separately(value);
4724  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.treat_binary_clauses_separately)
4725 }
4726 
4727 // optional int32 random_seed = 31 [default = 1];
4728 inline bool SatParameters::_internal_has_random_seed() const {
4729  bool value = (_has_bits_[2] & 0x00000040u) != 0;
4730  return value;
4731 }
4732 inline bool SatParameters::has_random_seed() const {
4733  return _internal_has_random_seed();
4734 }
4735 inline void SatParameters::clear_random_seed() {
4736  random_seed_ = 1;
4737  _has_bits_[2] &= ~0x00000040u;
4738 }
4739 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_random_seed() const {
4740  return random_seed_;
4741 }
4742 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::random_seed() const {
4743  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_seed)
4744  return _internal_random_seed();
4745 }
4746 inline void SatParameters::_internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
4747  _has_bits_[2] |= 0x00000040u;
4748  random_seed_ = value;
4749 }
4750 inline void SatParameters::set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
4751  _internal_set_random_seed(value);
4752  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_seed)
4753 }
4754 
4755 // optional bool permute_variable_randomly = 178 [default = false];
4756 inline bool SatParameters::_internal_has_permute_variable_randomly() const {
4757  bool value = (_has_bits_[0] & 0x00010000u) != 0;
4758  return value;
4759 }
4760 inline bool SatParameters::has_permute_variable_randomly() const {
4761  return _internal_has_permute_variable_randomly();
4762 }
4763 inline void SatParameters::clear_permute_variable_randomly() {
4764  permute_variable_randomly_ = false;
4765  _has_bits_[0] &= ~0x00010000u;
4766 }
4767 inline bool SatParameters::_internal_permute_variable_randomly() const {
4768  return permute_variable_randomly_;
4769 }
4770 inline bool SatParameters::permute_variable_randomly() const {
4771  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.permute_variable_randomly)
4772  return _internal_permute_variable_randomly();
4773 }
4774 inline void SatParameters::_internal_set_permute_variable_randomly(bool value) {
4775  _has_bits_[0] |= 0x00010000u;
4776  permute_variable_randomly_ = value;
4777 }
4778 inline void SatParameters::set_permute_variable_randomly(bool value) {
4779  _internal_set_permute_variable_randomly(value);
4780  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.permute_variable_randomly)
4781 }
4782 
4783 // optional bool permute_presolve_constraint_order = 179 [default = false];
4784 inline bool SatParameters::_internal_has_permute_presolve_constraint_order() const {
4785  bool value = (_has_bits_[0] & 0x00020000u) != 0;
4786  return value;
4787 }
4788 inline bool SatParameters::has_permute_presolve_constraint_order() const {
4789  return _internal_has_permute_presolve_constraint_order();
4790 }
4791 inline void SatParameters::clear_permute_presolve_constraint_order() {
4792  permute_presolve_constraint_order_ = false;
4793  _has_bits_[0] &= ~0x00020000u;
4794 }
4795 inline bool SatParameters::_internal_permute_presolve_constraint_order() const {
4796  return permute_presolve_constraint_order_;
4797 }
4798 inline bool SatParameters::permute_presolve_constraint_order() const {
4799  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.permute_presolve_constraint_order)
4800  return _internal_permute_presolve_constraint_order();
4801 }
4802 inline void SatParameters::_internal_set_permute_presolve_constraint_order(bool value) {
4803  _has_bits_[0] |= 0x00020000u;
4804  permute_presolve_constraint_order_ = value;
4805 }
4806 inline void SatParameters::set_permute_presolve_constraint_order(bool value) {
4807  _internal_set_permute_presolve_constraint_order(value);
4808  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.permute_presolve_constraint_order)
4809 }
4810 
4811 // optional bool use_absl_random = 180 [default = false];
4812 inline bool SatParameters::_internal_has_use_absl_random() const {
4813  bool value = (_has_bits_[0] & 0x00040000u) != 0;
4814  return value;
4815 }
4816 inline bool SatParameters::has_use_absl_random() const {
4817  return _internal_has_use_absl_random();
4818 }
4819 inline void SatParameters::clear_use_absl_random() {
4820  use_absl_random_ = false;
4821  _has_bits_[0] &= ~0x00040000u;
4822 }
4823 inline bool SatParameters::_internal_use_absl_random() const {
4824  return use_absl_random_;
4825 }
4826 inline bool SatParameters::use_absl_random() const {
4827  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_absl_random)
4828  return _internal_use_absl_random();
4829 }
4830 inline void SatParameters::_internal_set_use_absl_random(bool value) {
4831  _has_bits_[0] |= 0x00040000u;
4832  use_absl_random_ = value;
4833 }
4834 inline void SatParameters::set_use_absl_random(bool value) {
4835  _internal_set_use_absl_random(value);
4836  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_absl_random)
4837 }
4838 
4839 // optional bool log_search_progress = 41 [default = false];
4840 inline bool SatParameters::_internal_has_log_search_progress() const {
4841  bool value = (_has_bits_[0] & 0x00080000u) != 0;
4842  return value;
4843 }
4844 inline bool SatParameters::has_log_search_progress() const {
4845  return _internal_has_log_search_progress();
4846 }
4847 inline void SatParameters::clear_log_search_progress() {
4848  log_search_progress_ = false;
4849  _has_bits_[0] &= ~0x00080000u;
4850 }
4851 inline bool SatParameters::_internal_log_search_progress() const {
4852  return log_search_progress_;
4853 }
4854 inline bool SatParameters::log_search_progress() const {
4855  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.log_search_progress)
4856  return _internal_log_search_progress();
4857 }
4858 inline void SatParameters::_internal_set_log_search_progress(bool value) {
4859  _has_bits_[0] |= 0x00080000u;
4860  log_search_progress_ = value;
4861 }
4862 inline void SatParameters::set_log_search_progress(bool value) {
4863  _internal_set_log_search_progress(value);
4864  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.log_search_progress)
4865 }
4866 
4867 // optional bool use_pb_resolution = 43 [default = false];
4868 inline bool SatParameters::_internal_has_use_pb_resolution() const {
4869  bool value = (_has_bits_[0] & 0x00100000u) != 0;
4870  return value;
4871 }
4872 inline bool SatParameters::has_use_pb_resolution() const {
4873  return _internal_has_use_pb_resolution();
4874 }
4875 inline void SatParameters::clear_use_pb_resolution() {
4876  use_pb_resolution_ = false;
4877  _has_bits_[0] &= ~0x00100000u;
4878 }
4879 inline bool SatParameters::_internal_use_pb_resolution() const {
4880  return use_pb_resolution_;
4881 }
4882 inline bool SatParameters::use_pb_resolution() const {
4883  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_pb_resolution)
4884  return _internal_use_pb_resolution();
4885 }
4886 inline void SatParameters::_internal_set_use_pb_resolution(bool value) {
4887  _has_bits_[0] |= 0x00100000u;
4888  use_pb_resolution_ = value;
4889 }
4890 inline void SatParameters::set_use_pb_resolution(bool value) {
4891  _internal_set_use_pb_resolution(value);
4892  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_pb_resolution)
4893 }
4894 
4895 // optional bool minimize_reduction_during_pb_resolution = 48 [default = false];
4896 inline bool SatParameters::_internal_has_minimize_reduction_during_pb_resolution() const {
4897  bool value = (_has_bits_[1] & 0x00000200u) != 0;
4898  return value;
4899 }
4900 inline bool SatParameters::has_minimize_reduction_during_pb_resolution() const {
4901  return _internal_has_minimize_reduction_during_pb_resolution();
4902 }
4903 inline void SatParameters::clear_minimize_reduction_during_pb_resolution() {
4904  minimize_reduction_during_pb_resolution_ = false;
4905  _has_bits_[1] &= ~0x00000200u;
4906 }
4907 inline bool SatParameters::_internal_minimize_reduction_during_pb_resolution() const {
4908  return minimize_reduction_during_pb_resolution_;
4909 }
4910 inline bool SatParameters::minimize_reduction_during_pb_resolution() const {
4911  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_reduction_during_pb_resolution)
4912  return _internal_minimize_reduction_during_pb_resolution();
4913 }
4914 inline void SatParameters::_internal_set_minimize_reduction_during_pb_resolution(bool value) {
4915  _has_bits_[1] |= 0x00000200u;
4916  minimize_reduction_during_pb_resolution_ = value;
4917 }
4918 inline void SatParameters::set_minimize_reduction_during_pb_resolution(bool value) {
4919  _internal_set_minimize_reduction_during_pb_resolution(value);
4920  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_reduction_during_pb_resolution)
4921 }
4922 
4923 // optional bool count_assumption_levels_in_lbd = 49 [default = true];
4924 inline bool SatParameters::_internal_has_count_assumption_levels_in_lbd() const {
4925  bool value = (_has_bits_[2] & 0x00004000u) != 0;
4926  return value;
4927 }
4928 inline bool SatParameters::has_count_assumption_levels_in_lbd() const {
4929  return _internal_has_count_assumption_levels_in_lbd();
4930 }
4931 inline void SatParameters::clear_count_assumption_levels_in_lbd() {
4932  count_assumption_levels_in_lbd_ = true;
4933  _has_bits_[2] &= ~0x00004000u;
4934 }
4935 inline bool SatParameters::_internal_count_assumption_levels_in_lbd() const {
4936  return count_assumption_levels_in_lbd_;
4937 }
4938 inline bool SatParameters::count_assumption_levels_in_lbd() const {
4939  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.count_assumption_levels_in_lbd)
4940  return _internal_count_assumption_levels_in_lbd();
4941 }
4942 inline void SatParameters::_internal_set_count_assumption_levels_in_lbd(bool value) {
4943  _has_bits_[2] |= 0x00004000u;
4944  count_assumption_levels_in_lbd_ = value;
4945 }
4946 inline void SatParameters::set_count_assumption_levels_in_lbd(bool value) {
4947  _internal_set_count_assumption_levels_in_lbd(value);
4948  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.count_assumption_levels_in_lbd)
4949 }
4950 
4951 // optional int32 presolve_bve_threshold = 54 [default = 500];
4952 inline bool SatParameters::_internal_has_presolve_bve_threshold() const {
4953  bool value = (_has_bits_[2] & 0x00040000u) != 0;
4954  return value;
4955 }
4956 inline bool SatParameters::has_presolve_bve_threshold() const {
4957  return _internal_has_presolve_bve_threshold();
4958 }
4959 inline void SatParameters::clear_presolve_bve_threshold() {
4960  presolve_bve_threshold_ = 500;
4961  _has_bits_[2] &= ~0x00040000u;
4962 }
4963 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_presolve_bve_threshold() const {
4964  return presolve_bve_threshold_;
4965 }
4966 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::presolve_bve_threshold() const {
4967  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bve_threshold)
4968  return _internal_presolve_bve_threshold();
4969 }
4970 inline void SatParameters::_internal_set_presolve_bve_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
4971  _has_bits_[2] |= 0x00040000u;
4972  presolve_bve_threshold_ = value;
4973 }
4974 inline void SatParameters::set_presolve_bve_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
4975  _internal_set_presolve_bve_threshold(value);
4976  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bve_threshold)
4977 }
4978 
4979 // optional int32 presolve_bve_clause_weight = 55 [default = 3];
4980 inline bool SatParameters::_internal_has_presolve_bve_clause_weight() const {
4981  bool value = (_has_bits_[2] & 0x00100000u) != 0;
4982  return value;
4983 }
4984 inline bool SatParameters::has_presolve_bve_clause_weight() const {
4985  return _internal_has_presolve_bve_clause_weight();
4986 }
4987 inline void SatParameters::clear_presolve_bve_clause_weight() {
4988  presolve_bve_clause_weight_ = 3;
4989  _has_bits_[2] &= ~0x00100000u;
4990 }
4991 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_presolve_bve_clause_weight() const {
4992  return presolve_bve_clause_weight_;
4993 }
4994 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::presolve_bve_clause_weight() const {
4995  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bve_clause_weight)
4996  return _internal_presolve_bve_clause_weight();
4997 }
4998 inline void SatParameters::_internal_set_presolve_bve_clause_weight(::PROTOBUF_NAMESPACE_ID::int32 value) {
4999  _has_bits_[2] |= 0x00100000u;
5000  presolve_bve_clause_weight_ = value;
5001 }
5002 inline void SatParameters::set_presolve_bve_clause_weight(::PROTOBUF_NAMESPACE_ID::int32 value) {
5003  _internal_set_presolve_bve_clause_weight(value);
5004  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bve_clause_weight)
5005 }
5006 
5007 // optional double presolve_probing_deterministic_time_limit = 57 [default = 30];
5008 inline bool SatParameters::_internal_has_presolve_probing_deterministic_time_limit() const {
5009  bool value = (_has_bits_[2] & 0x00080000u) != 0;
5010  return value;
5011 }
5012 inline bool SatParameters::has_presolve_probing_deterministic_time_limit() const {
5013  return _internal_has_presolve_probing_deterministic_time_limit();
5014 }
5015 inline void SatParameters::clear_presolve_probing_deterministic_time_limit() {
5016  presolve_probing_deterministic_time_limit_ = 30;
5017  _has_bits_[2] &= ~0x00080000u;
5018 }
5019 inline double SatParameters::_internal_presolve_probing_deterministic_time_limit() const {
5020  return presolve_probing_deterministic_time_limit_;
5021 }
5022 inline double SatParameters::presolve_probing_deterministic_time_limit() const {
5023  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_probing_deterministic_time_limit)
5024  return _internal_presolve_probing_deterministic_time_limit();
5025 }
5026 inline void SatParameters::_internal_set_presolve_probing_deterministic_time_limit(double value) {
5027  _has_bits_[2] |= 0x00080000u;
5028  presolve_probing_deterministic_time_limit_ = value;
5029 }
5030 inline void SatParameters::set_presolve_probing_deterministic_time_limit(double value) {
5031  _internal_set_presolve_probing_deterministic_time_limit(value);
5032  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_probing_deterministic_time_limit)
5033 }
5034 
5035 // optional bool presolve_blocked_clause = 88 [default = true];
5036 inline bool SatParameters::_internal_has_presolve_blocked_clause() const {
5037  bool value = (_has_bits_[3] & 0x00000002u) != 0;
5038  return value;
5039 }
5040 inline bool SatParameters::has_presolve_blocked_clause() const {
5041  return _internal_has_presolve_blocked_clause();
5042 }
5043 inline void SatParameters::clear_presolve_blocked_clause() {
5044  presolve_blocked_clause_ = true;
5045  _has_bits_[3] &= ~0x00000002u;
5046 }
5047 inline bool SatParameters::_internal_presolve_blocked_clause() const {
5048  return presolve_blocked_clause_;
5049 }
5050 inline bool SatParameters::presolve_blocked_clause() const {
5051  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_blocked_clause)
5052  return _internal_presolve_blocked_clause();
5053 }
5054 inline void SatParameters::_internal_set_presolve_blocked_clause(bool value) {
5055  _has_bits_[3] |= 0x00000002u;
5056  presolve_blocked_clause_ = value;
5057 }
5058 inline void SatParameters::set_presolve_blocked_clause(bool value) {
5059  _internal_set_presolve_blocked_clause(value);
5060  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_blocked_clause)
5061 }
5062 
5063 // optional bool presolve_use_bva = 72 [default = true];
5064 inline bool SatParameters::_internal_has_presolve_use_bva() const {
5065  bool value = (_has_bits_[3] & 0x00000004u) != 0;
5066  return value;
5067 }
5068 inline bool SatParameters::has_presolve_use_bva() const {
5069  return _internal_has_presolve_use_bva();
5070 }
5071 inline void SatParameters::clear_presolve_use_bva() {
5072  presolve_use_bva_ = true;
5073  _has_bits_[3] &= ~0x00000004u;
5074 }
5075 inline bool SatParameters::_internal_presolve_use_bva() const {
5076  return presolve_use_bva_;
5077 }
5078 inline bool SatParameters::presolve_use_bva() const {
5079  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_use_bva)
5080  return _internal_presolve_use_bva();
5081 }
5082 inline void SatParameters::_internal_set_presolve_use_bva(bool value) {
5083  _has_bits_[3] |= 0x00000004u;
5084  presolve_use_bva_ = value;
5085 }
5086 inline void SatParameters::set_presolve_use_bva(bool value) {
5087  _internal_set_presolve_use_bva(value);
5088  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_use_bva)
5089 }
5090 
5091 // optional int32 presolve_bva_threshold = 73 [default = 1];
5092 inline bool SatParameters::_internal_has_presolve_bva_threshold() const {
5093  bool value = (_has_bits_[2] & 0x80000000u) != 0;
5094  return value;
5095 }
5096 inline bool SatParameters::has_presolve_bva_threshold() const {
5097  return _internal_has_presolve_bva_threshold();
5098 }
5099 inline void SatParameters::clear_presolve_bva_threshold() {
5100  presolve_bva_threshold_ = 1;
5101  _has_bits_[2] &= ~0x80000000u;
5102 }
5103 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_presolve_bva_threshold() const {
5104  return presolve_bva_threshold_;
5105 }
5106 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::presolve_bva_threshold() const {
5107  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bva_threshold)
5108  return _internal_presolve_bva_threshold();
5109 }
5110 inline void SatParameters::_internal_set_presolve_bva_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
5111  _has_bits_[2] |= 0x80000000u;
5112  presolve_bva_threshold_ = value;
5113 }
5114 inline void SatParameters::set_presolve_bva_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
5115  _internal_set_presolve_bva_threshold(value);
5116  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bva_threshold)
5117 }
5118 
5119 // optional int32 max_presolve_iterations = 138 [default = 3];
5120 inline bool SatParameters::_internal_has_max_presolve_iterations() const {
5121  bool value = (_has_bits_[4] & 0x00000100u) != 0;
5122  return value;
5123 }
5124 inline bool SatParameters::has_max_presolve_iterations() const {
5125  return _internal_has_max_presolve_iterations();
5126 }
5127 inline void SatParameters::clear_max_presolve_iterations() {
5128  max_presolve_iterations_ = 3;
5129  _has_bits_[4] &= ~0x00000100u;
5130 }
5131 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_max_presolve_iterations() const {
5132  return max_presolve_iterations_;
5133 }
5134 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::max_presolve_iterations() const {
5135  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_presolve_iterations)
5136  return _internal_max_presolve_iterations();
5137 }
5138 inline void SatParameters::_internal_set_max_presolve_iterations(::PROTOBUF_NAMESPACE_ID::int32 value) {
5139  _has_bits_[4] |= 0x00000100u;
5140  max_presolve_iterations_ = value;
5141 }
5142 inline void SatParameters::set_max_presolve_iterations(::PROTOBUF_NAMESPACE_ID::int32 value) {
5143  _internal_set_max_presolve_iterations(value);
5144  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_presolve_iterations)
5145 }
5146 
5147 // optional bool cp_model_presolve = 86 [default = true];
5148 inline bool SatParameters::_internal_has_cp_model_presolve() const {
5149  bool value = (_has_bits_[3] & 0x00000008u) != 0;
5150  return value;
5151 }
5152 inline bool SatParameters::has_cp_model_presolve() const {
5153  return _internal_has_cp_model_presolve();
5154 }
5155 inline void SatParameters::clear_cp_model_presolve() {
5156  cp_model_presolve_ = true;
5157  _has_bits_[3] &= ~0x00000008u;
5158 }
5159 inline bool SatParameters::_internal_cp_model_presolve() const {
5160  return cp_model_presolve_;
5161 }
5162 inline bool SatParameters::cp_model_presolve() const {
5163  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_presolve)
5164  return _internal_cp_model_presolve();
5165 }
5166 inline void SatParameters::_internal_set_cp_model_presolve(bool value) {
5167  _has_bits_[3] |= 0x00000008u;
5168  cp_model_presolve_ = value;
5169 }
5170 inline void SatParameters::set_cp_model_presolve(bool value) {
5171  _internal_set_cp_model_presolve(value);
5172  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_presolve)
5173 }
5174 
5175 // optional bool cp_model_postsolve_with_full_solver = 162 [default = false];
5176 inline bool SatParameters::_internal_has_cp_model_postsolve_with_full_solver() const {
5177  bool value = (_has_bits_[1] & 0x00000400u) != 0;
5178  return value;
5179 }
5180 inline bool SatParameters::has_cp_model_postsolve_with_full_solver() const {
5181  return _internal_has_cp_model_postsolve_with_full_solver();
5182 }
5183 inline void SatParameters::clear_cp_model_postsolve_with_full_solver() {
5184  cp_model_postsolve_with_full_solver_ = false;
5185  _has_bits_[1] &= ~0x00000400u;
5186 }
5187 inline bool SatParameters::_internal_cp_model_postsolve_with_full_solver() const {
5188  return cp_model_postsolve_with_full_solver_;
5189 }
5190 inline bool SatParameters::cp_model_postsolve_with_full_solver() const {
5191  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_postsolve_with_full_solver)
5192  return _internal_cp_model_postsolve_with_full_solver();
5193 }
5194 inline void SatParameters::_internal_set_cp_model_postsolve_with_full_solver(bool value) {
5195  _has_bits_[1] |= 0x00000400u;
5196  cp_model_postsolve_with_full_solver_ = value;
5197 }
5198 inline void SatParameters::set_cp_model_postsolve_with_full_solver(bool value) {
5199  _internal_set_cp_model_postsolve_with_full_solver(value);
5200  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_postsolve_with_full_solver)
5201 }
5202 
5203 // optional int32 cp_model_max_num_presolve_operations = 151 [default = 0];
5204 inline bool SatParameters::_internal_has_cp_model_max_num_presolve_operations() const {
5205  bool value = (_has_bits_[1] & 0x01000000u) != 0;
5206  return value;
5207 }
5208 inline bool SatParameters::has_cp_model_max_num_presolve_operations() const {
5209  return _internal_has_cp_model_max_num_presolve_operations();
5210 }
5211 inline void SatParameters::clear_cp_model_max_num_presolve_operations() {
5212  cp_model_max_num_presolve_operations_ = 0;
5213  _has_bits_[1] &= ~0x01000000u;
5214 }
5215 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_cp_model_max_num_presolve_operations() const {
5216  return cp_model_max_num_presolve_operations_;
5217 }
5218 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::cp_model_max_num_presolve_operations() const {
5219  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_max_num_presolve_operations)
5220  return _internal_cp_model_max_num_presolve_operations();
5221 }
5222 inline void SatParameters::_internal_set_cp_model_max_num_presolve_operations(::PROTOBUF_NAMESPACE_ID::int32 value) {
5223  _has_bits_[1] |= 0x01000000u;
5224  cp_model_max_num_presolve_operations_ = value;
5225 }
5226 inline void SatParameters::set_cp_model_max_num_presolve_operations(::PROTOBUF_NAMESPACE_ID::int32 value) {
5227  _internal_set_cp_model_max_num_presolve_operations(value);
5228  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_max_num_presolve_operations)
5229 }
5230 
5231 // optional int32 cp_model_probing_level = 110 [default = 2];
5232 inline bool SatParameters::_internal_has_cp_model_probing_level() const {
5233  bool value = (_has_bits_[3] & 0x00010000u) != 0;
5234  return value;
5235 }
5236 inline bool SatParameters::has_cp_model_probing_level() const {
5237  return _internal_has_cp_model_probing_level();
5238 }
5239 inline void SatParameters::clear_cp_model_probing_level() {
5240  cp_model_probing_level_ = 2;
5241  _has_bits_[3] &= ~0x00010000u;
5242 }
5243 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_cp_model_probing_level() const {
5244  return cp_model_probing_level_;
5245 }
5246 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::cp_model_probing_level() const {
5247  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_probing_level)
5248  return _internal_cp_model_probing_level();
5249 }
5250 inline void SatParameters::_internal_set_cp_model_probing_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
5251  _has_bits_[3] |= 0x00010000u;
5252  cp_model_probing_level_ = value;
5253 }
5254 inline void SatParameters::set_cp_model_probing_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
5255  _internal_set_cp_model_probing_level(value);
5256  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_probing_level)
5257 }
5258 
5259 // optional bool cp_model_use_sat_presolve = 93 [default = true];
5260 inline bool SatParameters::_internal_has_cp_model_use_sat_presolve() const {
5261  bool value = (_has_bits_[3] & 0x00000010u) != 0;
5262  return value;
5263 }
5264 inline bool SatParameters::has_cp_model_use_sat_presolve() const {
5265  return _internal_has_cp_model_use_sat_presolve();
5266 }
5267 inline void SatParameters::clear_cp_model_use_sat_presolve() {
5268  cp_model_use_sat_presolve_ = true;
5269  _has_bits_[3] &= ~0x00000010u;
5270 }
5271 inline bool SatParameters::_internal_cp_model_use_sat_presolve() const {
5272  return cp_model_use_sat_presolve_;
5273 }
5274 inline bool SatParameters::cp_model_use_sat_presolve() const {
5275  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_use_sat_presolve)
5276  return _internal_cp_model_use_sat_presolve();
5277 }
5278 inline void SatParameters::_internal_set_cp_model_use_sat_presolve(bool value) {
5279  _has_bits_[3] |= 0x00000010u;
5280  cp_model_use_sat_presolve_ = value;
5281 }
5282 inline void SatParameters::set_cp_model_use_sat_presolve(bool value) {
5283  _internal_set_cp_model_use_sat_presolve(value);
5284  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_use_sat_presolve)
5285 }
5286 
5287 // optional bool use_sat_inprocessing = 163 [default = false];
5288 inline bool SatParameters::_internal_has_use_sat_inprocessing() const {
5289  bool value = (_has_bits_[1] & 0x00000800u) != 0;
5290  return value;
5291 }
5292 inline bool SatParameters::has_use_sat_inprocessing() const {
5293  return _internal_has_use_sat_inprocessing();
5294 }
5295 inline void SatParameters::clear_use_sat_inprocessing() {
5296  use_sat_inprocessing_ = false;
5297  _has_bits_[1] &= ~0x00000800u;
5298 }
5299 inline bool SatParameters::_internal_use_sat_inprocessing() const {
5300  return use_sat_inprocessing_;
5301 }
5302 inline bool SatParameters::use_sat_inprocessing() const {
5303  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_sat_inprocessing)
5304  return _internal_use_sat_inprocessing();
5305 }
5306 inline void SatParameters::_internal_set_use_sat_inprocessing(bool value) {
5307  _has_bits_[1] |= 0x00000800u;
5308  use_sat_inprocessing_ = value;
5309 }
5310 inline void SatParameters::set_use_sat_inprocessing(bool value) {
5311  _internal_set_use_sat_inprocessing(value);
5312  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_sat_inprocessing)
5313 }
5314 
5315 // optional bool expand_element_constraints = 140 [default = true];
5316 inline bool SatParameters::_internal_has_expand_element_constraints() const {
5317  bool value = (_has_bits_[4] & 0x00800000u) != 0;
5318  return value;
5319 }
5320 inline bool SatParameters::has_expand_element_constraints() const {
5321  return _internal_has_expand_element_constraints();
5322 }
5323 inline void SatParameters::clear_expand_element_constraints() {
5324  expand_element_constraints_ = true;
5325  _has_bits_[4] &= ~0x00800000u;
5326 }
5327 inline bool SatParameters::_internal_expand_element_constraints() const {
5328  return expand_element_constraints_;
5329 }
5330 inline bool SatParameters::expand_element_constraints() const {
5331  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.expand_element_constraints)
5332  return _internal_expand_element_constraints();
5333 }
5334 inline void SatParameters::_internal_set_expand_element_constraints(bool value) {
5335  _has_bits_[4] |= 0x00800000u;
5336  expand_element_constraints_ = value;
5337 }
5338 inline void SatParameters::set_expand_element_constraints(bool value) {
5339  _internal_set_expand_element_constraints(value);
5340  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.expand_element_constraints)
5341 }
5342 
5343 // optional bool expand_automaton_constraints = 143 [default = true];
5344 inline bool SatParameters::_internal_has_expand_automaton_constraints() const {
5345  bool value = (_has_bits_[4] & 0x01000000u) != 0;
5346  return value;
5347 }
5348 inline bool SatParameters::has_expand_automaton_constraints() const {
5349  return _internal_has_expand_automaton_constraints();
5350 }
5351 inline void SatParameters::clear_expand_automaton_constraints() {
5352  expand_automaton_constraints_ = true;
5353  _has_bits_[4] &= ~0x01000000u;
5354 }
5355 inline bool SatParameters::_internal_expand_automaton_constraints() const {
5356  return expand_automaton_constraints_;
5357 }
5358 inline bool SatParameters::expand_automaton_constraints() const {
5359  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.expand_automaton_constraints)
5360  return _internal_expand_automaton_constraints();
5361 }
5362 inline void SatParameters::_internal_set_expand_automaton_constraints(bool value) {
5363  _has_bits_[4] |= 0x01000000u;
5364  expand_automaton_constraints_ = value;
5365 }
5366 inline void SatParameters::set_expand_automaton_constraints(bool value) {
5367  _internal_set_expand_automaton_constraints(value);
5368  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.expand_automaton_constraints)
5369 }
5370 
5371 // optional bool expand_table_constraints = 158 [default = true];
5372 inline bool SatParameters::_internal_has_expand_table_constraints() const {
5373  bool value = (_has_bits_[4] & 0x02000000u) != 0;
5374  return value;
5375 }
5376 inline bool SatParameters::has_expand_table_constraints() const {
5377  return _internal_has_expand_table_constraints();
5378 }
5379 inline void SatParameters::clear_expand_table_constraints() {
5380  expand_table_constraints_ = true;
5381  _has_bits_[4] &= ~0x02000000u;
5382 }
5383 inline bool SatParameters::_internal_expand_table_constraints() const {
5384  return expand_table_constraints_;
5385 }
5386 inline bool SatParameters::expand_table_constraints() const {
5387  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.expand_table_constraints)
5388  return _internal_expand_table_constraints();
5389 }
5390 inline void SatParameters::_internal_set_expand_table_constraints(bool value) {
5391  _has_bits_[4] |= 0x02000000u;
5392  expand_table_constraints_ = value;
5393 }
5394 inline void SatParameters::set_expand_table_constraints(bool value) {
5395  _internal_set_expand_table_constraints(value);
5396  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.expand_table_constraints)
5397 }
5398 
5399 // optional bool expand_alldiff_constraints = 170 [default = false];
5400 inline bool SatParameters::_internal_has_expand_alldiff_constraints() const {
5401  bool value = (_has_bits_[1] & 0x00001000u) != 0;
5402  return value;
5403 }
5404 inline bool SatParameters::has_expand_alldiff_constraints() const {
5405  return _internal_has_expand_alldiff_constraints();
5406 }
5407 inline void SatParameters::clear_expand_alldiff_constraints() {
5408  expand_alldiff_constraints_ = false;
5409  _has_bits_[1] &= ~0x00001000u;
5410 }
5411 inline bool SatParameters::_internal_expand_alldiff_constraints() const {
5412  return expand_alldiff_constraints_;
5413 }
5414 inline bool SatParameters::expand_alldiff_constraints() const {
5415  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.expand_alldiff_constraints)
5416  return _internal_expand_alldiff_constraints();
5417 }
5418 inline void SatParameters::_internal_set_expand_alldiff_constraints(bool value) {
5419  _has_bits_[1] |= 0x00001000u;
5420  expand_alldiff_constraints_ = value;
5421 }
5422 inline void SatParameters::set_expand_alldiff_constraints(bool value) {
5423  _internal_set_expand_alldiff_constraints(value);
5424  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.expand_alldiff_constraints)
5425 }
5426 
5427 // optional bool expand_reservoir_constraints = 182 [default = true];
5428 inline bool SatParameters::_internal_has_expand_reservoir_constraints() const {
5429  bool value = (_has_bits_[4] & 0x04000000u) != 0;
5430  return value;
5431 }
5432 inline bool SatParameters::has_expand_reservoir_constraints() const {
5433  return _internal_has_expand_reservoir_constraints();
5434 }
5435 inline void SatParameters::clear_expand_reservoir_constraints() {
5436  expand_reservoir_constraints_ = true;
5437  _has_bits_[4] &= ~0x04000000u;
5438 }
5439 inline bool SatParameters::_internal_expand_reservoir_constraints() const {
5440  return expand_reservoir_constraints_;
5441 }
5442 inline bool SatParameters::expand_reservoir_constraints() const {
5443  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.expand_reservoir_constraints)
5444  return _internal_expand_reservoir_constraints();
5445 }
5446 inline void SatParameters::_internal_set_expand_reservoir_constraints(bool value) {
5447  _has_bits_[4] |= 0x04000000u;
5448  expand_reservoir_constraints_ = value;
5449 }
5450 inline void SatParameters::set_expand_reservoir_constraints(bool value) {
5451  _internal_set_expand_reservoir_constraints(value);
5452  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.expand_reservoir_constraints)
5453 }
5454 
5455 // optional bool disable_constraint_expansion = 181 [default = false];
5456 inline bool SatParameters::_internal_has_disable_constraint_expansion() const {
5457  bool value = (_has_bits_[0] & 0x20000000u) != 0;
5458  return value;
5459 }
5460 inline bool SatParameters::has_disable_constraint_expansion() const {
5461  return _internal_has_disable_constraint_expansion();
5462 }
5463 inline void SatParameters::clear_disable_constraint_expansion() {
5464  disable_constraint_expansion_ = false;
5465  _has_bits_[0] &= ~0x20000000u;
5466 }
5467 inline bool SatParameters::_internal_disable_constraint_expansion() const {
5468  return disable_constraint_expansion_;
5469 }
5470 inline bool SatParameters::disable_constraint_expansion() const {
5471  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.disable_constraint_expansion)
5472  return _internal_disable_constraint_expansion();
5473 }
5474 inline void SatParameters::_internal_set_disable_constraint_expansion(bool value) {
5475  _has_bits_[0] |= 0x20000000u;
5476  disable_constraint_expansion_ = value;
5477 }
5478 inline void SatParameters::set_disable_constraint_expansion(bool value) {
5479  _internal_set_disable_constraint_expansion(value);
5480  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.disable_constraint_expansion)
5481 }
5482 
5483 // optional double merge_no_overlap_work_limit = 145 [default = 1000000000000];
5484 inline bool SatParameters::_internal_has_merge_no_overlap_work_limit() const {
5485  bool value = (_has_bits_[4] & 0x00000400u) != 0;
5486  return value;
5487 }
5488 inline bool SatParameters::has_merge_no_overlap_work_limit() const {
5489  return _internal_has_merge_no_overlap_work_limit();
5490 }
5491 inline void SatParameters::clear_merge_no_overlap_work_limit() {
5492  merge_no_overlap_work_limit_ = 1000000000000;
5493  _has_bits_[4] &= ~0x00000400u;
5494 }
5495 inline double SatParameters::_internal_merge_no_overlap_work_limit() const {
5496  return merge_no_overlap_work_limit_;
5497 }
5498 inline double SatParameters::merge_no_overlap_work_limit() const {
5499  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.merge_no_overlap_work_limit)
5500  return _internal_merge_no_overlap_work_limit();
5501 }
5502 inline void SatParameters::_internal_set_merge_no_overlap_work_limit(double value) {
5503  _has_bits_[4] |= 0x00000400u;
5504  merge_no_overlap_work_limit_ = value;
5505 }
5506 inline void SatParameters::set_merge_no_overlap_work_limit(double value) {
5507  _internal_set_merge_no_overlap_work_limit(value);
5508  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.merge_no_overlap_work_limit)
5509 }
5510 
5511 // optional double merge_at_most_one_work_limit = 146 [default = 100000000];
5512 inline bool SatParameters::_internal_has_merge_at_most_one_work_limit() const {
5513  bool value = (_has_bits_[4] & 0x00000800u) != 0;
5514  return value;
5515 }
5516 inline bool SatParameters::has_merge_at_most_one_work_limit() const {
5517  return _internal_has_merge_at_most_one_work_limit();
5518 }
5519 inline void SatParameters::clear_merge_at_most_one_work_limit() {
5520  merge_at_most_one_work_limit_ = 100000000;
5521  _has_bits_[4] &= ~0x00000800u;
5522 }
5523 inline double SatParameters::_internal_merge_at_most_one_work_limit() const {
5524  return merge_at_most_one_work_limit_;
5525 }
5526 inline double SatParameters::merge_at_most_one_work_limit() const {
5527  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.merge_at_most_one_work_limit)
5528  return _internal_merge_at_most_one_work_limit();
5529 }
5530 inline void SatParameters::_internal_set_merge_at_most_one_work_limit(double value) {
5531  _has_bits_[4] |= 0x00000800u;
5532  merge_at_most_one_work_limit_ = value;
5533 }
5534 inline void SatParameters::set_merge_at_most_one_work_limit(double value) {
5535  _internal_set_merge_at_most_one_work_limit(value);
5536  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.merge_at_most_one_work_limit)
5537 }
5538 
5539 // optional int32 presolve_substitution_level = 147 [default = 1];
5540 inline bool SatParameters::_internal_has_presolve_substitution_level() const {
5541  bool value = (_has_bits_[4] & 0x00000200u) != 0;
5542  return value;
5543 }
5544 inline bool SatParameters::has_presolve_substitution_level() const {
5545  return _internal_has_presolve_substitution_level();
5546 }
5547 inline void SatParameters::clear_presolve_substitution_level() {
5548  presolve_substitution_level_ = 1;
5549  _has_bits_[4] &= ~0x00000200u;
5550 }
5551 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_presolve_substitution_level() const {
5552  return presolve_substitution_level_;
5553 }
5554 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::presolve_substitution_level() const {
5555  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_substitution_level)
5556  return _internal_presolve_substitution_level();
5557 }
5558 inline void SatParameters::_internal_set_presolve_substitution_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
5559  _has_bits_[4] |= 0x00000200u;
5560  presolve_substitution_level_ = value;
5561 }
5562 inline void SatParameters::set_presolve_substitution_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
5563  _internal_set_presolve_substitution_level(value);
5564  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_substitution_level)
5565 }
5566 
5567 // optional bool presolve_extract_integer_enforcement = 174 [default = false];
5568 inline bool SatParameters::_internal_has_presolve_extract_integer_enforcement() const {
5569  bool value = (_has_bits_[0] & 0x40000000u) != 0;
5570  return value;
5571 }
5572 inline bool SatParameters::has_presolve_extract_integer_enforcement() const {
5573  return _internal_has_presolve_extract_integer_enforcement();
5574 }
5575 inline void SatParameters::clear_presolve_extract_integer_enforcement() {
5576  presolve_extract_integer_enforcement_ = false;
5577  _has_bits_[0] &= ~0x40000000u;
5578 }
5579 inline bool SatParameters::_internal_presolve_extract_integer_enforcement() const {
5580  return presolve_extract_integer_enforcement_;
5581 }
5582 inline bool SatParameters::presolve_extract_integer_enforcement() const {
5583  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_extract_integer_enforcement)
5584  return _internal_presolve_extract_integer_enforcement();
5585 }
5586 inline void SatParameters::_internal_set_presolve_extract_integer_enforcement(bool value) {
5587  _has_bits_[0] |= 0x40000000u;
5588  presolve_extract_integer_enforcement_ = value;
5589 }
5590 inline void SatParameters::set_presolve_extract_integer_enforcement(bool value) {
5591  _internal_set_presolve_extract_integer_enforcement(value);
5592  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_extract_integer_enforcement)
5593 }
5594 
5595 // optional bool use_optimization_hints = 35 [default = true];
5596 inline bool SatParameters::_internal_has_use_optimization_hints() const {
5597  bool value = (_has_bits_[2] & 0x01000000u) != 0;
5598  return value;
5599 }
5600 inline bool SatParameters::has_use_optimization_hints() const {
5601  return _internal_has_use_optimization_hints();
5602 }
5603 inline void SatParameters::clear_use_optimization_hints() {
5604  use_optimization_hints_ = true;
5605  _has_bits_[2] &= ~0x01000000u;
5606 }
5607 inline bool SatParameters::_internal_use_optimization_hints() const {
5608  return use_optimization_hints_;
5609 }
5610 inline bool SatParameters::use_optimization_hints() const {
5611  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_optimization_hints)
5612  return _internal_use_optimization_hints();
5613 }
5614 inline void SatParameters::_internal_set_use_optimization_hints(bool value) {
5615  _has_bits_[2] |= 0x01000000u;
5616  use_optimization_hints_ = value;
5617 }
5618 inline void SatParameters::set_use_optimization_hints(bool value) {
5619  _internal_set_use_optimization_hints(value);
5620  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_optimization_hints)
5621 }
5622 
5623 // optional bool minimize_core = 50 [default = true];
5624 inline bool SatParameters::_internal_has_minimize_core() const {
5625  bool value = (_has_bits_[2] & 0x02000000u) != 0;
5626  return value;
5627 }
5628 inline bool SatParameters::has_minimize_core() const {
5629  return _internal_has_minimize_core();
5630 }
5631 inline void SatParameters::clear_minimize_core() {
5632  minimize_core_ = true;
5633  _has_bits_[2] &= ~0x02000000u;
5634 }
5635 inline bool SatParameters::_internal_minimize_core() const {
5636  return minimize_core_;
5637 }
5638 inline bool SatParameters::minimize_core() const {
5639  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_core)
5640  return _internal_minimize_core();
5641 }
5642 inline void SatParameters::_internal_set_minimize_core(bool value) {
5643  _has_bits_[2] |= 0x02000000u;
5644  minimize_core_ = value;
5645 }
5646 inline void SatParameters::set_minimize_core(bool value) {
5647  _internal_set_minimize_core(value);
5648  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_core)
5649 }
5650 
5651 // optional bool find_multiple_cores = 84 [default = true];
5652 inline bool SatParameters::_internal_has_find_multiple_cores() const {
5653  bool value = (_has_bits_[2] & 0x04000000u) != 0;
5654  return value;
5655 }
5656 inline bool SatParameters::has_find_multiple_cores() const {
5657  return _internal_has_find_multiple_cores();
5658 }
5659 inline void SatParameters::clear_find_multiple_cores() {
5660  find_multiple_cores_ = true;
5661  _has_bits_[2] &= ~0x04000000u;
5662 }
5663 inline bool SatParameters::_internal_find_multiple_cores() const {
5664  return find_multiple_cores_;
5665 }
5666 inline bool SatParameters::find_multiple_cores() const {
5667  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.find_multiple_cores)
5668  return _internal_find_multiple_cores();
5669 }
5670 inline void SatParameters::_internal_set_find_multiple_cores(bool value) {
5671  _has_bits_[2] |= 0x04000000u;
5672  find_multiple_cores_ = value;
5673 }
5674 inline void SatParameters::set_find_multiple_cores(bool value) {
5675  _internal_set_find_multiple_cores(value);
5676  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.find_multiple_cores)
5677 }
5678 
5679 // optional bool cover_optimization = 89 [default = true];
5680 inline bool SatParameters::_internal_has_cover_optimization() const {
5681  bool value = (_has_bits_[2] & 0x08000000u) != 0;
5682  return value;
5683 }
5684 inline bool SatParameters::has_cover_optimization() const {
5685  return _internal_has_cover_optimization();
5686 }
5687 inline void SatParameters::clear_cover_optimization() {
5688  cover_optimization_ = true;
5689  _has_bits_[2] &= ~0x08000000u;
5690 }
5691 inline bool SatParameters::_internal_cover_optimization() const {
5692  return cover_optimization_;
5693 }
5694 inline bool SatParameters::cover_optimization() const {
5695  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cover_optimization)
5696  return _internal_cover_optimization();
5697 }
5698 inline void SatParameters::_internal_set_cover_optimization(bool value) {
5699  _has_bits_[2] |= 0x08000000u;
5700  cover_optimization_ = value;
5701 }
5702 inline void SatParameters::set_cover_optimization(bool value) {
5703  _internal_set_cover_optimization(value);
5704  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cover_optimization)
5705 }
5706 
5707 // optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [default = DEFAULT_ASSUMPTION_ORDER];
5708 inline bool SatParameters::_internal_has_max_sat_assumption_order() const {
5709  bool value = (_has_bits_[0] & 0x00000008u) != 0;
5710  return value;
5711 }
5712 inline bool SatParameters::has_max_sat_assumption_order() const {
5713  return _internal_has_max_sat_assumption_order();
5714 }
5715 inline void SatParameters::clear_max_sat_assumption_order() {
5716  max_sat_assumption_order_ = 0;
5717  _has_bits_[0] &= ~0x00000008u;
5718 }
5719 inline ::operations_research::sat::SatParameters_MaxSatAssumptionOrder SatParameters::_internal_max_sat_assumption_order() const {
5720  return static_cast< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder >(max_sat_assumption_order_);
5721 }
5722 inline ::operations_research::sat::SatParameters_MaxSatAssumptionOrder SatParameters::max_sat_assumption_order() const {
5723  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_assumption_order)
5724  return _internal_max_sat_assumption_order();
5725 }
5726 inline void SatParameters::_internal_set_max_sat_assumption_order(::operations_research::sat::SatParameters_MaxSatAssumptionOrder value) {
5728  _has_bits_[0] |= 0x00000008u;
5729  max_sat_assumption_order_ = value;
5730 }
5731 inline void SatParameters::set_max_sat_assumption_order(::operations_research::sat::SatParameters_MaxSatAssumptionOrder value) {
5732  _internal_set_max_sat_assumption_order(value);
5733  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_assumption_order)
5734 }
5735 
5736 // optional bool max_sat_reverse_assumption_order = 52 [default = false];
5737 inline bool SatParameters::_internal_has_max_sat_reverse_assumption_order() const {
5738  bool value = (_has_bits_[0] & 0x80000000u) != 0;
5739  return value;
5740 }
5741 inline bool SatParameters::has_max_sat_reverse_assumption_order() const {
5742  return _internal_has_max_sat_reverse_assumption_order();
5743 }
5744 inline void SatParameters::clear_max_sat_reverse_assumption_order() {
5745  max_sat_reverse_assumption_order_ = false;
5746  _has_bits_[0] &= ~0x80000000u;
5747 }
5748 inline bool SatParameters::_internal_max_sat_reverse_assumption_order() const {
5749  return max_sat_reverse_assumption_order_;
5750 }
5751 inline bool SatParameters::max_sat_reverse_assumption_order() const {
5752  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_reverse_assumption_order)
5753  return _internal_max_sat_reverse_assumption_order();
5754 }
5755 inline void SatParameters::_internal_set_max_sat_reverse_assumption_order(bool value) {
5756  _has_bits_[0] |= 0x80000000u;
5757  max_sat_reverse_assumption_order_ = value;
5758 }
5759 inline void SatParameters::set_max_sat_reverse_assumption_order(bool value) {
5760  _internal_set_max_sat_reverse_assumption_order(value);
5761  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_reverse_assumption_order)
5762 }
5763 
5764 // optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification = 53 [default = STRATIFICATION_DESCENT];
5765 inline bool SatParameters::_internal_has_max_sat_stratification() const {
5766  bool value = (_has_bits_[2] & 0x00020000u) != 0;
5767  return value;
5768 }
5769 inline bool SatParameters::has_max_sat_stratification() const {
5770  return _internal_has_max_sat_stratification();
5771 }
5772 inline void SatParameters::clear_max_sat_stratification() {
5773  max_sat_stratification_ = 1;
5774  _has_bits_[2] &= ~0x00020000u;
5775 }
5776 inline ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm SatParameters::_internal_max_sat_stratification() const {
5777  return static_cast< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm >(max_sat_stratification_);
5778 }
5779 inline ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm SatParameters::max_sat_stratification() const {
5780  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_stratification)
5781  return _internal_max_sat_stratification();
5782 }
5783 inline void SatParameters::_internal_set_max_sat_stratification(::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm value) {
5785  _has_bits_[2] |= 0x00020000u;
5786  max_sat_stratification_ = value;
5787 }
5788 inline void SatParameters::set_max_sat_stratification(::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm value) {
5789  _internal_set_max_sat_stratification(value);
5790  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_stratification)
5791 }
5792 
5793 // optional bool use_precedences_in_disjunctive_constraint = 74 [default = true];
5794 inline bool SatParameters::_internal_has_use_precedences_in_disjunctive_constraint() const {
5795  bool value = (_has_bits_[3] & 0x00000200u) != 0;
5796  return value;
5797 }
5798 inline bool SatParameters::has_use_precedences_in_disjunctive_constraint() const {
5799  return _internal_has_use_precedences_in_disjunctive_constraint();
5800 }
5801 inline void SatParameters::clear_use_precedences_in_disjunctive_constraint() {
5802  use_precedences_in_disjunctive_constraint_ = true;
5803  _has_bits_[3] &= ~0x00000200u;
5804 }
5805 inline bool SatParameters::_internal_use_precedences_in_disjunctive_constraint() const {
5806  return use_precedences_in_disjunctive_constraint_;
5807 }
5808 inline bool SatParameters::use_precedences_in_disjunctive_constraint() const {
5809  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_precedences_in_disjunctive_constraint)
5810  return _internal_use_precedences_in_disjunctive_constraint();
5811 }
5812 inline void SatParameters::_internal_set_use_precedences_in_disjunctive_constraint(bool value) {
5813  _has_bits_[3] |= 0x00000200u;
5814  use_precedences_in_disjunctive_constraint_ = value;
5815 }
5816 inline void SatParameters::set_use_precedences_in_disjunctive_constraint(bool value) {
5817  _internal_set_use_precedences_in_disjunctive_constraint(value);
5818  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_precedences_in_disjunctive_constraint)
5819 }
5820 
5821 // optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
5822 inline bool SatParameters::_internal_has_use_overload_checker_in_cumulative_constraint() const {
5823  bool value = (_has_bits_[1] & 0x00000001u) != 0;
5824  return value;
5825 }
5826 inline bool SatParameters::has_use_overload_checker_in_cumulative_constraint() const {
5827  return _internal_has_use_overload_checker_in_cumulative_constraint();
5828 }
5829 inline void SatParameters::clear_use_overload_checker_in_cumulative_constraint() {
5830  use_overload_checker_in_cumulative_constraint_ = false;
5831  _has_bits_[1] &= ~0x00000001u;
5832 }
5833 inline bool SatParameters::_internal_use_overload_checker_in_cumulative_constraint() const {
5834  return use_overload_checker_in_cumulative_constraint_;
5835 }
5836 inline bool SatParameters::use_overload_checker_in_cumulative_constraint() const {
5837  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_overload_checker_in_cumulative_constraint)
5838  return _internal_use_overload_checker_in_cumulative_constraint();
5839 }
5840 inline void SatParameters::_internal_set_use_overload_checker_in_cumulative_constraint(bool value) {
5841  _has_bits_[1] |= 0x00000001u;
5842  use_overload_checker_in_cumulative_constraint_ = value;
5843 }
5844 inline void SatParameters::set_use_overload_checker_in_cumulative_constraint(bool value) {
5845  _internal_set_use_overload_checker_in_cumulative_constraint(value);
5846  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_overload_checker_in_cumulative_constraint)
5847 }
5848 
5849 // optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
5850 inline bool SatParameters::_internal_has_use_timetable_edge_finding_in_cumulative_constraint() const {
5851  bool value = (_has_bits_[0] & 0x00200000u) != 0;
5852  return value;
5853 }
5854 inline bool SatParameters::has_use_timetable_edge_finding_in_cumulative_constraint() const {
5855  return _internal_has_use_timetable_edge_finding_in_cumulative_constraint();
5856 }
5857 inline void SatParameters::clear_use_timetable_edge_finding_in_cumulative_constraint() {
5858  use_timetable_edge_finding_in_cumulative_constraint_ = false;
5859  _has_bits_[0] &= ~0x00200000u;
5860 }
5861 inline bool SatParameters::_internal_use_timetable_edge_finding_in_cumulative_constraint() const {
5862  return use_timetable_edge_finding_in_cumulative_constraint_;
5863 }
5864 inline bool SatParameters::use_timetable_edge_finding_in_cumulative_constraint() const {
5865  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_timetable_edge_finding_in_cumulative_constraint)
5866  return _internal_use_timetable_edge_finding_in_cumulative_constraint();
5867 }
5868 inline void SatParameters::_internal_set_use_timetable_edge_finding_in_cumulative_constraint(bool value) {
5869  _has_bits_[0] |= 0x00200000u;
5870  use_timetable_edge_finding_in_cumulative_constraint_ = value;
5871 }
5872 inline void SatParameters::set_use_timetable_edge_finding_in_cumulative_constraint(bool value) {
5873  _internal_set_use_timetable_edge_finding_in_cumulative_constraint(value);
5874  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_timetable_edge_finding_in_cumulative_constraint)
5875 }
5876 
5877 // optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
5878 inline bool SatParameters::_internal_has_use_disjunctive_constraint_in_cumulative_constraint() const {
5879  bool value = (_has_bits_[3] & 0x00000400u) != 0;
5880  return value;
5881 }
5882 inline bool SatParameters::has_use_disjunctive_constraint_in_cumulative_constraint() const {
5883  return _internal_has_use_disjunctive_constraint_in_cumulative_constraint();
5884 }
5885 inline void SatParameters::clear_use_disjunctive_constraint_in_cumulative_constraint() {
5886  use_disjunctive_constraint_in_cumulative_constraint_ = true;
5887  _has_bits_[3] &= ~0x00000400u;
5888 }
5889 inline bool SatParameters::_internal_use_disjunctive_constraint_in_cumulative_constraint() const {
5890  return use_disjunctive_constraint_in_cumulative_constraint_;
5891 }
5892 inline bool SatParameters::use_disjunctive_constraint_in_cumulative_constraint() const {
5893  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_disjunctive_constraint_in_cumulative_constraint)
5894  return _internal_use_disjunctive_constraint_in_cumulative_constraint();
5895 }
5896 inline void SatParameters::_internal_set_use_disjunctive_constraint_in_cumulative_constraint(bool value) {
5897  _has_bits_[3] |= 0x00000400u;
5898  use_disjunctive_constraint_in_cumulative_constraint_ = value;
5899 }
5900 inline void SatParameters::set_use_disjunctive_constraint_in_cumulative_constraint(bool value) {
5901  _internal_set_use_disjunctive_constraint_in_cumulative_constraint(value);
5902  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_disjunctive_constraint_in_cumulative_constraint)
5903 }
5904 
5905 // optional int32 linearization_level = 90 [default = 1];
5906 inline bool SatParameters::_internal_has_linearization_level() const {
5907  bool value = (_has_bits_[3] & 0x00000020u) != 0;
5908  return value;
5909 }
5910 inline bool SatParameters::has_linearization_level() const {
5911  return _internal_has_linearization_level();
5912 }
5913 inline void SatParameters::clear_linearization_level() {
5914  linearization_level_ = 1;
5915  _has_bits_[3] &= ~0x00000020u;
5916 }
5917 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_linearization_level() const {
5918  return linearization_level_;
5919 }
5920 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::linearization_level() const {
5921  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.linearization_level)
5922  return _internal_linearization_level();
5923 }
5924 inline void SatParameters::_internal_set_linearization_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
5925  _has_bits_[3] |= 0x00000020u;
5926  linearization_level_ = value;
5927 }
5928 inline void SatParameters::set_linearization_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
5929  _internal_set_linearization_level(value);
5930  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.linearization_level)
5931 }
5932 
5933 // optional int32 boolean_encoding_level = 107 [default = 1];
5934 inline bool SatParameters::_internal_has_boolean_encoding_level() const {
5935  bool value = (_has_bits_[3] & 0x00008000u) != 0;
5936  return value;
5937 }
5938 inline bool SatParameters::has_boolean_encoding_level() const {
5939  return _internal_has_boolean_encoding_level();
5940 }
5941 inline void SatParameters::clear_boolean_encoding_level() {
5942  boolean_encoding_level_ = 1;
5943  _has_bits_[3] &= ~0x00008000u;
5944 }
5945 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_boolean_encoding_level() const {
5946  return boolean_encoding_level_;
5947 }
5948 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::boolean_encoding_level() const {
5949  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.boolean_encoding_level)
5950  return _internal_boolean_encoding_level();
5951 }
5952 inline void SatParameters::_internal_set_boolean_encoding_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
5953  _has_bits_[3] |= 0x00008000u;
5954  boolean_encoding_level_ = value;
5955 }
5956 inline void SatParameters::set_boolean_encoding_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
5957  _internal_set_boolean_encoding_level(value);
5958  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.boolean_encoding_level)
5959 }
5960 
5961 // optional int32 max_num_cuts = 91 [default = 10000];
5962 inline bool SatParameters::_internal_has_max_num_cuts() const {
5963  bool value = (_has_bits_[3] & 0x00000040u) != 0;
5964  return value;
5965 }
5966 inline bool SatParameters::has_max_num_cuts() const {
5967  return _internal_has_max_num_cuts();
5968 }
5969 inline void SatParameters::clear_max_num_cuts() {
5970  max_num_cuts_ = 10000;
5971  _has_bits_[3] &= ~0x00000040u;
5972 }
5973 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_max_num_cuts() const {
5974  return max_num_cuts_;
5975 }
5976 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::max_num_cuts() const {
5977  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_num_cuts)
5978  return _internal_max_num_cuts();
5979 }
5980 inline void SatParameters::_internal_set_max_num_cuts(::PROTOBUF_NAMESPACE_ID::int32 value) {
5981  _has_bits_[3] |= 0x00000040u;
5982  max_num_cuts_ = value;
5983 }
5984 inline void SatParameters::set_max_num_cuts(::PROTOBUF_NAMESPACE_ID::int32 value) {
5985  _internal_set_max_num_cuts(value);
5986  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_num_cuts)
5987 }
5988 
5989 // optional bool only_add_cuts_at_level_zero = 92 [default = false];
5990 inline bool SatParameters::_internal_has_only_add_cuts_at_level_zero() const {
5991  bool value = (_has_bits_[0] & 0x00400000u) != 0;
5992  return value;
5993 }
5994 inline bool SatParameters::has_only_add_cuts_at_level_zero() const {
5995  return _internal_has_only_add_cuts_at_level_zero();
5996 }
5997 inline void SatParameters::clear_only_add_cuts_at_level_zero() {
5998  only_add_cuts_at_level_zero_ = false;
5999  _has_bits_[0] &= ~0x00400000u;
6000 }
6001 inline bool SatParameters::_internal_only_add_cuts_at_level_zero() const {
6002  return only_add_cuts_at_level_zero_;
6003 }
6004 inline bool SatParameters::only_add_cuts_at_level_zero() const {
6005  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.only_add_cuts_at_level_zero)
6006  return _internal_only_add_cuts_at_level_zero();
6007 }
6008 inline void SatParameters::_internal_set_only_add_cuts_at_level_zero(bool value) {
6009  _has_bits_[0] |= 0x00400000u;
6010  only_add_cuts_at_level_zero_ = value;
6011 }
6012 inline void SatParameters::set_only_add_cuts_at_level_zero(bool value) {
6013  _internal_set_only_add_cuts_at_level_zero(value);
6014  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.only_add_cuts_at_level_zero)
6015 }
6016 
6017 // optional bool add_knapsack_cuts = 111 [default = false];
6018 inline bool SatParameters::_internal_has_add_knapsack_cuts() const {
6019  bool value = (_has_bits_[0] & 0x00800000u) != 0;
6020  return value;
6021 }
6022 inline bool SatParameters::has_add_knapsack_cuts() const {
6023  return _internal_has_add_knapsack_cuts();
6024 }
6025 inline void SatParameters::clear_add_knapsack_cuts() {
6026  add_knapsack_cuts_ = false;
6027  _has_bits_[0] &= ~0x00800000u;
6028 }
6029 inline bool SatParameters::_internal_add_knapsack_cuts() const {
6030  return add_knapsack_cuts_;
6031 }
6032 inline bool SatParameters::add_knapsack_cuts() const {
6033  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_knapsack_cuts)
6034  return _internal_add_knapsack_cuts();
6035 }
6036 inline void SatParameters::_internal_set_add_knapsack_cuts(bool value) {
6037  _has_bits_[0] |= 0x00800000u;
6038  add_knapsack_cuts_ = value;
6039 }
6040 inline void SatParameters::set_add_knapsack_cuts(bool value) {
6041  _internal_set_add_knapsack_cuts(value);
6042  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_knapsack_cuts)
6043 }
6044 
6045 // optional bool add_cg_cuts = 117 [default = true];
6046 inline bool SatParameters::_internal_has_add_cg_cuts() const {
6047  bool value = (_has_bits_[3] & 0x00000800u) != 0;
6048  return value;
6049 }
6050 inline bool SatParameters::has_add_cg_cuts() const {
6051  return _internal_has_add_cg_cuts();
6052 }
6053 inline void SatParameters::clear_add_cg_cuts() {
6054  add_cg_cuts_ = true;
6055  _has_bits_[3] &= ~0x00000800u;
6056 }
6057 inline bool SatParameters::_internal_add_cg_cuts() const {
6058  return add_cg_cuts_;
6059 }
6060 inline bool SatParameters::add_cg_cuts() const {
6061  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_cg_cuts)
6062  return _internal_add_cg_cuts();
6063 }
6064 inline void SatParameters::_internal_set_add_cg_cuts(bool value) {
6065  _has_bits_[3] |= 0x00000800u;
6066  add_cg_cuts_ = value;
6067 }
6068 inline void SatParameters::set_add_cg_cuts(bool value) {
6069  _internal_set_add_cg_cuts(value);
6070  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_cg_cuts)
6071 }
6072 
6073 // optional bool add_mir_cuts = 120 [default = true];
6074 inline bool SatParameters::_internal_has_add_mir_cuts() const {
6075  bool value = (_has_bits_[3] & 0x00001000u) != 0;
6076  return value;
6077 }
6078 inline bool SatParameters::has_add_mir_cuts() const {
6079  return _internal_has_add_mir_cuts();
6080 }
6081 inline void SatParameters::clear_add_mir_cuts() {
6082  add_mir_cuts_ = true;
6083  _has_bits_[3] &= ~0x00001000u;
6084 }
6085 inline bool SatParameters::_internal_add_mir_cuts() const {
6086  return add_mir_cuts_;
6087 }
6088 inline bool SatParameters::add_mir_cuts() const {
6089  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_mir_cuts)
6090  return _internal_add_mir_cuts();
6091 }
6092 inline void SatParameters::_internal_set_add_mir_cuts(bool value) {
6093  _has_bits_[3] |= 0x00001000u;
6094  add_mir_cuts_ = value;
6095 }
6096 inline void SatParameters::set_add_mir_cuts(bool value) {
6097  _internal_set_add_mir_cuts(value);
6098  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_mir_cuts)
6099 }
6100 
6101 // optional bool add_zero_half_cuts = 169 [default = true];
6102 inline bool SatParameters::_internal_has_add_zero_half_cuts() const {
6103  bool value = (_has_bits_[4] & 0x00010000u) != 0;
6104  return value;
6105 }
6106 inline bool SatParameters::has_add_zero_half_cuts() const {
6107  return _internal_has_add_zero_half_cuts();
6108 }
6109 inline void SatParameters::clear_add_zero_half_cuts() {
6110  add_zero_half_cuts_ = true;
6111  _has_bits_[4] &= ~0x00010000u;
6112 }
6113 inline bool SatParameters::_internal_add_zero_half_cuts() const {
6114  return add_zero_half_cuts_;
6115 }
6116 inline bool SatParameters::add_zero_half_cuts() const {
6117  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_zero_half_cuts)
6118  return _internal_add_zero_half_cuts();
6119 }
6120 inline void SatParameters::_internal_set_add_zero_half_cuts(bool value) {
6121  _has_bits_[4] |= 0x00010000u;
6122  add_zero_half_cuts_ = value;
6123 }
6124 inline void SatParameters::set_add_zero_half_cuts(bool value) {
6125  _internal_set_add_zero_half_cuts(value);
6126  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_zero_half_cuts)
6127 }
6128 
6129 // optional bool add_clique_cuts = 172 [default = true];
6130 inline bool SatParameters::_internal_has_add_clique_cuts() const {
6131  bool value = (_has_bits_[4] & 0x00020000u) != 0;
6132  return value;
6133 }
6134 inline bool SatParameters::has_add_clique_cuts() const {
6135  return _internal_has_add_clique_cuts();
6136 }
6137 inline void SatParameters::clear_add_clique_cuts() {
6138  add_clique_cuts_ = true;
6139  _has_bits_[4] &= ~0x00020000u;
6140 }
6141 inline bool SatParameters::_internal_add_clique_cuts() const {
6142  return add_clique_cuts_;
6143 }
6144 inline bool SatParameters::add_clique_cuts() const {
6145  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_clique_cuts)
6146  return _internal_add_clique_cuts();
6147 }
6148 inline void SatParameters::_internal_set_add_clique_cuts(bool value) {
6149  _has_bits_[4] |= 0x00020000u;
6150  add_clique_cuts_ = value;
6151 }
6152 inline void SatParameters::set_add_clique_cuts(bool value) {
6153  _internal_set_add_clique_cuts(value);
6154  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_clique_cuts)
6155 }
6156 
6157 // optional int32 max_all_diff_cut_size = 148 [default = 7];
6158 inline bool SatParameters::_internal_has_max_all_diff_cut_size() const {
6159  bool value = (_has_bits_[4] & 0x00001000u) != 0;
6160  return value;
6161 }
6162 inline bool SatParameters::has_max_all_diff_cut_size() const {
6163  return _internal_has_max_all_diff_cut_size();
6164 }
6165 inline void SatParameters::clear_max_all_diff_cut_size() {
6166  max_all_diff_cut_size_ = 7;
6167  _has_bits_[4] &= ~0x00001000u;
6168 }
6169 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_max_all_diff_cut_size() const {
6170  return max_all_diff_cut_size_;
6171 }
6172 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::max_all_diff_cut_size() const {
6173  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_all_diff_cut_size)
6174  return _internal_max_all_diff_cut_size();
6175 }
6176 inline void SatParameters::_internal_set_max_all_diff_cut_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6177  _has_bits_[4] |= 0x00001000u;
6178  max_all_diff_cut_size_ = value;
6179 }
6180 inline void SatParameters::set_max_all_diff_cut_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6181  _internal_set_max_all_diff_cut_size(value);
6182  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_all_diff_cut_size)
6183 }
6184 
6185 // optional bool add_lin_max_cuts = 152 [default = true];
6186 inline bool SatParameters::_internal_has_add_lin_max_cuts() const {
6187  bool value = (_has_bits_[4] & 0x00040000u) != 0;
6188  return value;
6189 }
6190 inline bool SatParameters::has_add_lin_max_cuts() const {
6191  return _internal_has_add_lin_max_cuts();
6192 }
6193 inline void SatParameters::clear_add_lin_max_cuts() {
6194  add_lin_max_cuts_ = true;
6195  _has_bits_[4] &= ~0x00040000u;
6196 }
6197 inline bool SatParameters::_internal_add_lin_max_cuts() const {
6198  return add_lin_max_cuts_;
6199 }
6200 inline bool SatParameters::add_lin_max_cuts() const {
6201  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_lin_max_cuts)
6202  return _internal_add_lin_max_cuts();
6203 }
6204 inline void SatParameters::_internal_set_add_lin_max_cuts(bool value) {
6205  _has_bits_[4] |= 0x00040000u;
6206  add_lin_max_cuts_ = value;
6207 }
6208 inline void SatParameters::set_add_lin_max_cuts(bool value) {
6209  _internal_set_add_lin_max_cuts(value);
6210  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_lin_max_cuts)
6211 }
6212 
6213 // optional int32 max_integer_rounding_scaling = 119 [default = 600];
6214 inline bool SatParameters::_internal_has_max_integer_rounding_scaling() const {
6215  bool value = (_has_bits_[3] & 0x00200000u) != 0;
6216  return value;
6217 }
6218 inline bool SatParameters::has_max_integer_rounding_scaling() const {
6219  return _internal_has_max_integer_rounding_scaling();
6220 }
6221 inline void SatParameters::clear_max_integer_rounding_scaling() {
6222  max_integer_rounding_scaling_ = 600;
6223  _has_bits_[3] &= ~0x00200000u;
6224 }
6225 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_max_integer_rounding_scaling() const {
6226  return max_integer_rounding_scaling_;
6227 }
6228 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::max_integer_rounding_scaling() const {
6229  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_integer_rounding_scaling)
6230  return _internal_max_integer_rounding_scaling();
6231 }
6232 inline void SatParameters::_internal_set_max_integer_rounding_scaling(::PROTOBUF_NAMESPACE_ID::int32 value) {
6233  _has_bits_[3] |= 0x00200000u;
6234  max_integer_rounding_scaling_ = value;
6235 }
6236 inline void SatParameters::set_max_integer_rounding_scaling(::PROTOBUF_NAMESPACE_ID::int32 value) {
6237  _internal_set_max_integer_rounding_scaling(value);
6238  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_integer_rounding_scaling)
6239 }
6240 
6241 // optional bool add_lp_constraints_lazily = 112 [default = true];
6242 inline bool SatParameters::_internal_has_add_lp_constraints_lazily() const {
6243  bool value = (_has_bits_[4] & 0x00080000u) != 0;
6244  return value;
6245 }
6246 inline bool SatParameters::has_add_lp_constraints_lazily() const {
6247  return _internal_has_add_lp_constraints_lazily();
6248 }
6249 inline void SatParameters::clear_add_lp_constraints_lazily() {
6250  add_lp_constraints_lazily_ = true;
6251  _has_bits_[4] &= ~0x00080000u;
6252 }
6253 inline bool SatParameters::_internal_add_lp_constraints_lazily() const {
6254  return add_lp_constraints_lazily_;
6255 }
6256 inline bool SatParameters::add_lp_constraints_lazily() const {
6257  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_lp_constraints_lazily)
6258  return _internal_add_lp_constraints_lazily();
6259 }
6260 inline void SatParameters::_internal_set_add_lp_constraints_lazily(bool value) {
6261  _has_bits_[4] |= 0x00080000u;
6262  add_lp_constraints_lazily_ = value;
6263 }
6264 inline void SatParameters::set_add_lp_constraints_lazily(bool value) {
6265  _internal_set_add_lp_constraints_lazily(value);
6266  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_lp_constraints_lazily)
6267 }
6268 
6269 // optional double min_orthogonality_for_lp_constraints = 115 [default = 0.05];
6270 inline bool SatParameters::_internal_has_min_orthogonality_for_lp_constraints() const {
6271  bool value = (_has_bits_[3] & 0x00400000u) != 0;
6272  return value;
6273 }
6274 inline bool SatParameters::has_min_orthogonality_for_lp_constraints() const {
6275  return _internal_has_min_orthogonality_for_lp_constraints();
6276 }
6277 inline void SatParameters::clear_min_orthogonality_for_lp_constraints() {
6278  min_orthogonality_for_lp_constraints_ = 0.05;
6279  _has_bits_[3] &= ~0x00400000u;
6280 }
6281 inline double SatParameters::_internal_min_orthogonality_for_lp_constraints() const {
6282  return min_orthogonality_for_lp_constraints_;
6283 }
6284 inline double SatParameters::min_orthogonality_for_lp_constraints() const {
6285  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.min_orthogonality_for_lp_constraints)
6286  return _internal_min_orthogonality_for_lp_constraints();
6287 }
6288 inline void SatParameters::_internal_set_min_orthogonality_for_lp_constraints(double value) {
6289  _has_bits_[3] |= 0x00400000u;
6290  min_orthogonality_for_lp_constraints_ = value;
6291 }
6292 inline void SatParameters::set_min_orthogonality_for_lp_constraints(double value) {
6293  _internal_set_min_orthogonality_for_lp_constraints(value);
6294  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.min_orthogonality_for_lp_constraints)
6295 }
6296 
6297 // optional int32 max_cut_rounds_at_level_zero = 154 [default = 1];
6298 inline bool SatParameters::_internal_has_max_cut_rounds_at_level_zero() const {
6299  bool value = (_has_bits_[4] & 0x00400000u) != 0;
6300  return value;
6301 }
6302 inline bool SatParameters::has_max_cut_rounds_at_level_zero() const {
6303  return _internal_has_max_cut_rounds_at_level_zero();
6304 }
6305 inline void SatParameters::clear_max_cut_rounds_at_level_zero() {
6306  max_cut_rounds_at_level_zero_ = 1;
6307  _has_bits_[4] &= ~0x00400000u;
6308 }
6309 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_max_cut_rounds_at_level_zero() const {
6310  return max_cut_rounds_at_level_zero_;
6311 }
6312 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::max_cut_rounds_at_level_zero() const {
6313  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_cut_rounds_at_level_zero)
6314  return _internal_max_cut_rounds_at_level_zero();
6315 }
6316 inline void SatParameters::_internal_set_max_cut_rounds_at_level_zero(::PROTOBUF_NAMESPACE_ID::int32 value) {
6317  _has_bits_[4] |= 0x00400000u;
6318  max_cut_rounds_at_level_zero_ = value;
6319 }
6320 inline void SatParameters::set_max_cut_rounds_at_level_zero(::PROTOBUF_NAMESPACE_ID::int32 value) {
6321  _internal_set_max_cut_rounds_at_level_zero(value);
6322  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_cut_rounds_at_level_zero)
6323 }
6324 
6325 // optional int32 max_consecutive_inactive_count = 121 [default = 100];
6326 inline bool SatParameters::_internal_has_max_consecutive_inactive_count() const {
6327  bool value = (_has_bits_[3] & 0x00800000u) != 0;
6328  return value;
6329 }
6330 inline bool SatParameters::has_max_consecutive_inactive_count() const {
6331  return _internal_has_max_consecutive_inactive_count();
6332 }
6333 inline void SatParameters::clear_max_consecutive_inactive_count() {
6334  max_consecutive_inactive_count_ = 100;
6335  _has_bits_[3] &= ~0x00800000u;
6336 }
6337 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_max_consecutive_inactive_count() const {
6338  return max_consecutive_inactive_count_;
6339 }
6340 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::max_consecutive_inactive_count() const {
6341  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_consecutive_inactive_count)
6342  return _internal_max_consecutive_inactive_count();
6343 }
6344 inline void SatParameters::_internal_set_max_consecutive_inactive_count(::PROTOBUF_NAMESPACE_ID::int32 value) {
6345  _has_bits_[3] |= 0x00800000u;
6346  max_consecutive_inactive_count_ = value;
6347 }
6348 inline void SatParameters::set_max_consecutive_inactive_count(::PROTOBUF_NAMESPACE_ID::int32 value) {
6349  _internal_set_max_consecutive_inactive_count(value);
6350  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_consecutive_inactive_count)
6351 }
6352 
6353 // optional double cut_max_active_count_value = 155 [default = 10000000000];
6354 inline bool SatParameters::_internal_has_cut_max_active_count_value() const {
6355  bool value = (_has_bits_[4] & 0x00200000u) != 0;
6356  return value;
6357 }
6358 inline bool SatParameters::has_cut_max_active_count_value() const {
6359  return _internal_has_cut_max_active_count_value();
6360 }
6361 inline void SatParameters::clear_cut_max_active_count_value() {
6362  cut_max_active_count_value_ = 10000000000;
6363  _has_bits_[4] &= ~0x00200000u;
6364 }
6365 inline double SatParameters::_internal_cut_max_active_count_value() const {
6366  return cut_max_active_count_value_;
6367 }
6368 inline double SatParameters::cut_max_active_count_value() const {
6369  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cut_max_active_count_value)
6370  return _internal_cut_max_active_count_value();
6371 }
6372 inline void SatParameters::_internal_set_cut_max_active_count_value(double value) {
6373  _has_bits_[4] |= 0x00200000u;
6374  cut_max_active_count_value_ = value;
6375 }
6376 inline void SatParameters::set_cut_max_active_count_value(double value) {
6377  _internal_set_cut_max_active_count_value(value);
6378  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cut_max_active_count_value)
6379 }
6380 
6381 // optional double cut_active_count_decay = 156 [default = 0.8];
6382 inline bool SatParameters::_internal_has_cut_active_count_decay() const {
6383  bool value = (_has_bits_[4] & 0x08000000u) != 0;
6384  return value;
6385 }
6386 inline bool SatParameters::has_cut_active_count_decay() const {
6387  return _internal_has_cut_active_count_decay();
6388 }
6389 inline void SatParameters::clear_cut_active_count_decay() {
6390  cut_active_count_decay_ = 0.8;
6391  _has_bits_[4] &= ~0x08000000u;
6392 }
6393 inline double SatParameters::_internal_cut_active_count_decay() const {
6394  return cut_active_count_decay_;
6395 }
6396 inline double SatParameters::cut_active_count_decay() const {
6397  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cut_active_count_decay)
6398  return _internal_cut_active_count_decay();
6399 }
6400 inline void SatParameters::_internal_set_cut_active_count_decay(double value) {
6401  _has_bits_[4] |= 0x08000000u;
6402  cut_active_count_decay_ = value;
6403 }
6404 inline void SatParameters::set_cut_active_count_decay(double value) {
6405  _internal_set_cut_active_count_decay(value);
6406  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cut_active_count_decay)
6407 }
6408 
6409 // optional int32 cut_cleanup_target = 157 [default = 1000];
6410 inline bool SatParameters::_internal_has_cut_cleanup_target() const {
6411  bool value = (_has_bits_[4] & 0x10000000u) != 0;
6412  return value;
6413 }
6414 inline bool SatParameters::has_cut_cleanup_target() const {
6415  return _internal_has_cut_cleanup_target();
6416 }
6417 inline void SatParameters::clear_cut_cleanup_target() {
6418  cut_cleanup_target_ = 1000;
6419  _has_bits_[4] &= ~0x10000000u;
6420 }
6421 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_cut_cleanup_target() const {
6422  return cut_cleanup_target_;
6423 }
6424 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::cut_cleanup_target() const {
6425  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cut_cleanup_target)
6426  return _internal_cut_cleanup_target();
6427 }
6428 inline void SatParameters::_internal_set_cut_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6429  _has_bits_[4] |= 0x10000000u;
6430  cut_cleanup_target_ = value;
6431 }
6432 inline void SatParameters::set_cut_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6433  _internal_set_cut_cleanup_target(value);
6434  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cut_cleanup_target)
6435 }
6436 
6437 // optional int32 new_constraints_batch_size = 122 [default = 50];
6438 inline bool SatParameters::_internal_has_new_constraints_batch_size() const {
6439  bool value = (_has_bits_[3] & 0x01000000u) != 0;
6440  return value;
6441 }
6442 inline bool SatParameters::has_new_constraints_batch_size() const {
6443  return _internal_has_new_constraints_batch_size();
6444 }
6445 inline void SatParameters::clear_new_constraints_batch_size() {
6446  new_constraints_batch_size_ = 50;
6447  _has_bits_[3] &= ~0x01000000u;
6448 }
6449 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_new_constraints_batch_size() const {
6450  return new_constraints_batch_size_;
6451 }
6452 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::new_constraints_batch_size() const {
6453  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.new_constraints_batch_size)
6454  return _internal_new_constraints_batch_size();
6455 }
6456 inline void SatParameters::_internal_set_new_constraints_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6457  _has_bits_[3] |= 0x01000000u;
6458  new_constraints_batch_size_ = value;
6459 }
6460 inline void SatParameters::set_new_constraints_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6461  _internal_set_new_constraints_batch_size(value);
6462  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.new_constraints_batch_size)
6463 }
6464 
6465 // optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTOMATIC_SEARCH];
6466 inline bool SatParameters::_internal_has_search_branching() const {
6467  bool value = (_has_bits_[0] & 0x00000400u) != 0;
6468  return value;
6469 }
6470 inline bool SatParameters::has_search_branching() const {
6471  return _internal_has_search_branching();
6472 }
6473 inline void SatParameters::clear_search_branching() {
6474  search_branching_ = 0;
6475  _has_bits_[0] &= ~0x00000400u;
6476 }
6477 inline ::operations_research::sat::SatParameters_SearchBranching SatParameters::_internal_search_branching() const {
6478  return static_cast< ::operations_research::sat::SatParameters_SearchBranching >(search_branching_);
6479 }
6480 inline ::operations_research::sat::SatParameters_SearchBranching SatParameters::search_branching() const {
6481  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.search_branching)
6482  return _internal_search_branching();
6483 }
6484 inline void SatParameters::_internal_set_search_branching(::operations_research::sat::SatParameters_SearchBranching value) {
6486  _has_bits_[0] |= 0x00000400u;
6487  search_branching_ = value;
6488 }
6489 inline void SatParameters::set_search_branching(::operations_research::sat::SatParameters_SearchBranching value) {
6490  _internal_set_search_branching(value);
6491  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.search_branching)
6492 }
6493 
6494 // optional int32 hint_conflict_limit = 153 [default = 10];
6495 inline bool SatParameters::_internal_has_hint_conflict_limit() const {
6496  bool value = (_has_bits_[4] & 0x00100000u) != 0;
6497  return value;
6498 }
6499 inline bool SatParameters::has_hint_conflict_limit() const {
6500  return _internal_has_hint_conflict_limit();
6501 }
6502 inline void SatParameters::clear_hint_conflict_limit() {
6503  hint_conflict_limit_ = 10;
6504  _has_bits_[4] &= ~0x00100000u;
6505 }
6506 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_hint_conflict_limit() const {
6507  return hint_conflict_limit_;
6508 }
6509 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::hint_conflict_limit() const {
6510  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.hint_conflict_limit)
6511  return _internal_hint_conflict_limit();
6512 }
6513 inline void SatParameters::_internal_set_hint_conflict_limit(::PROTOBUF_NAMESPACE_ID::int32 value) {
6514  _has_bits_[4] |= 0x00100000u;
6515  hint_conflict_limit_ = value;
6516 }
6517 inline void SatParameters::set_hint_conflict_limit(::PROTOBUF_NAMESPACE_ID::int32 value) {
6518  _internal_set_hint_conflict_limit(value);
6519  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.hint_conflict_limit)
6520 }
6521 
6522 // optional bool repair_hint = 167 [default = false];
6523 inline bool SatParameters::_internal_has_repair_hint() const {
6524  bool value = (_has_bits_[0] & 0x01000000u) != 0;
6525  return value;
6526 }
6527 inline bool SatParameters::has_repair_hint() const {
6528  return _internal_has_repair_hint();
6529 }
6530 inline void SatParameters::clear_repair_hint() {
6531  repair_hint_ = false;
6532  _has_bits_[0] &= ~0x01000000u;
6533 }
6534 inline bool SatParameters::_internal_repair_hint() const {
6535  return repair_hint_;
6536 }
6537 inline bool SatParameters::repair_hint() const {
6538  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.repair_hint)
6539  return _internal_repair_hint();
6540 }
6541 inline void SatParameters::_internal_set_repair_hint(bool value) {
6542  _has_bits_[0] |= 0x01000000u;
6543  repair_hint_ = value;
6544 }
6545 inline void SatParameters::set_repair_hint(bool value) {
6546  _internal_set_repair_hint(value);
6547  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.repair_hint)
6548 }
6549 
6550 // optional bool exploit_integer_lp_solution = 94 [default = true];
6551 inline bool SatParameters::_internal_has_exploit_integer_lp_solution() const {
6552  bool value = (_has_bits_[3] & 0x00020000u) != 0;
6553  return value;
6554 }
6555 inline bool SatParameters::has_exploit_integer_lp_solution() const {
6556  return _internal_has_exploit_integer_lp_solution();
6557 }
6558 inline void SatParameters::clear_exploit_integer_lp_solution() {
6559  exploit_integer_lp_solution_ = true;
6560  _has_bits_[3] &= ~0x00020000u;
6561 }
6562 inline bool SatParameters::_internal_exploit_integer_lp_solution() const {
6563  return exploit_integer_lp_solution_;
6564 }
6565 inline bool SatParameters::exploit_integer_lp_solution() const {
6566  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_integer_lp_solution)
6567  return _internal_exploit_integer_lp_solution();
6568 }
6569 inline void SatParameters::_internal_set_exploit_integer_lp_solution(bool value) {
6570  _has_bits_[3] |= 0x00020000u;
6571  exploit_integer_lp_solution_ = value;
6572 }
6573 inline void SatParameters::set_exploit_integer_lp_solution(bool value) {
6574  _internal_set_exploit_integer_lp_solution(value);
6575  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_integer_lp_solution)
6576 }
6577 
6578 // optional bool exploit_all_lp_solution = 116 [default = true];
6579 inline bool SatParameters::_internal_has_exploit_all_lp_solution() const {
6580  bool value = (_has_bits_[3] & 0x00040000u) != 0;
6581  return value;
6582 }
6583 inline bool SatParameters::has_exploit_all_lp_solution() const {
6584  return _internal_has_exploit_all_lp_solution();
6585 }
6586 inline void SatParameters::clear_exploit_all_lp_solution() {
6587  exploit_all_lp_solution_ = true;
6588  _has_bits_[3] &= ~0x00040000u;
6589 }
6590 inline bool SatParameters::_internal_exploit_all_lp_solution() const {
6591  return exploit_all_lp_solution_;
6592 }
6593 inline bool SatParameters::exploit_all_lp_solution() const {
6594  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_all_lp_solution)
6595  return _internal_exploit_all_lp_solution();
6596 }
6597 inline void SatParameters::_internal_set_exploit_all_lp_solution(bool value) {
6598  _has_bits_[3] |= 0x00040000u;
6599  exploit_all_lp_solution_ = value;
6600 }
6601 inline void SatParameters::set_exploit_all_lp_solution(bool value) {
6602  _internal_set_exploit_all_lp_solution(value);
6603  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_all_lp_solution)
6604 }
6605 
6606 // optional bool exploit_best_solution = 130 [default = false];
6607 inline bool SatParameters::_internal_has_exploit_best_solution() const {
6608  bool value = (_has_bits_[1] & 0x00002000u) != 0;
6609  return value;
6610 }
6611 inline bool SatParameters::has_exploit_best_solution() const {
6612  return _internal_has_exploit_best_solution();
6613 }
6614 inline void SatParameters::clear_exploit_best_solution() {
6615  exploit_best_solution_ = false;
6616  _has_bits_[1] &= ~0x00002000u;
6617 }
6618 inline bool SatParameters::_internal_exploit_best_solution() const {
6619  return exploit_best_solution_;
6620 }
6621 inline bool SatParameters::exploit_best_solution() const {
6622  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_best_solution)
6623  return _internal_exploit_best_solution();
6624 }
6625 inline void SatParameters::_internal_set_exploit_best_solution(bool value) {
6626  _has_bits_[1] |= 0x00002000u;
6627  exploit_best_solution_ = value;
6628 }
6629 inline void SatParameters::set_exploit_best_solution(bool value) {
6630  _internal_set_exploit_best_solution(value);
6631  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_best_solution)
6632 }
6633 
6634 // optional bool exploit_relaxation_solution = 161 [default = false];
6635 inline bool SatParameters::_internal_has_exploit_relaxation_solution() const {
6636  bool value = (_has_bits_[1] & 0x00004000u) != 0;
6637  return value;
6638 }
6639 inline bool SatParameters::has_exploit_relaxation_solution() const {
6640  return _internal_has_exploit_relaxation_solution();
6641 }
6642 inline void SatParameters::clear_exploit_relaxation_solution() {
6643  exploit_relaxation_solution_ = false;
6644  _has_bits_[1] &= ~0x00004000u;
6645 }
6646 inline bool SatParameters::_internal_exploit_relaxation_solution() const {
6647  return exploit_relaxation_solution_;
6648 }
6649 inline bool SatParameters::exploit_relaxation_solution() const {
6650  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_relaxation_solution)
6651  return _internal_exploit_relaxation_solution();
6652 }
6653 inline void SatParameters::_internal_set_exploit_relaxation_solution(bool value) {
6654  _has_bits_[1] |= 0x00004000u;
6655  exploit_relaxation_solution_ = value;
6656 }
6657 inline void SatParameters::set_exploit_relaxation_solution(bool value) {
6658  _internal_set_exploit_relaxation_solution(value);
6659  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_relaxation_solution)
6660 }
6661 
6662 // optional bool exploit_objective = 131 [default = true];
6663 inline bool SatParameters::_internal_has_exploit_objective() const {
6664  bool value = (_has_bits_[3] & 0x00080000u) != 0;
6665  return value;
6666 }
6667 inline bool SatParameters::has_exploit_objective() const {
6668  return _internal_has_exploit_objective();
6669 }
6670 inline void SatParameters::clear_exploit_objective() {
6671  exploit_objective_ = true;
6672  _has_bits_[3] &= ~0x00080000u;
6673 }
6674 inline bool SatParameters::_internal_exploit_objective() const {
6675  return exploit_objective_;
6676 }
6677 inline bool SatParameters::exploit_objective() const {
6678  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_objective)
6679  return _internal_exploit_objective();
6680 }
6681 inline void SatParameters::_internal_set_exploit_objective(bool value) {
6682  _has_bits_[3] |= 0x00080000u;
6683  exploit_objective_ = value;
6684 }
6685 inline void SatParameters::set_exploit_objective(bool value) {
6686  _internal_set_exploit_objective(value);
6687  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_objective)
6688 }
6689 
6690 // optional int64 probing_period_at_root = 142 [default = 0];
6691 inline bool SatParameters::_internal_has_probing_period_at_root() const {
6692  bool value = (_has_bits_[1] & 0x00200000u) != 0;
6693  return value;
6694 }
6695 inline bool SatParameters::has_probing_period_at_root() const {
6696  return _internal_has_probing_period_at_root();
6697 }
6698 inline void SatParameters::clear_probing_period_at_root() {
6699  probing_period_at_root_ = PROTOBUF_LONGLONG(0);
6700  _has_bits_[1] &= ~0x00200000u;
6701 }
6702 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::_internal_probing_period_at_root() const {
6703  return probing_period_at_root_;
6704 }
6705 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::probing_period_at_root() const {
6706  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.probing_period_at_root)
6707  return _internal_probing_period_at_root();
6708 }
6709 inline void SatParameters::_internal_set_probing_period_at_root(::PROTOBUF_NAMESPACE_ID::int64 value) {
6710  _has_bits_[1] |= 0x00200000u;
6711  probing_period_at_root_ = value;
6712 }
6713 inline void SatParameters::set_probing_period_at_root(::PROTOBUF_NAMESPACE_ID::int64 value) {
6714  _internal_set_probing_period_at_root(value);
6715  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.probing_period_at_root)
6716 }
6717 
6718 // optional bool use_probing_search = 176 [default = false];
6719 inline bool SatParameters::_internal_has_use_probing_search() const {
6720  bool value = (_has_bits_[1] & 0x00008000u) != 0;
6721  return value;
6722 }
6723 inline bool SatParameters::has_use_probing_search() const {
6724  return _internal_has_use_probing_search();
6725 }
6726 inline void SatParameters::clear_use_probing_search() {
6727  use_probing_search_ = false;
6728  _has_bits_[1] &= ~0x00008000u;
6729 }
6730 inline bool SatParameters::_internal_use_probing_search() const {
6731  return use_probing_search_;
6732 }
6733 inline bool SatParameters::use_probing_search() const {
6734  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_probing_search)
6735  return _internal_use_probing_search();
6736 }
6737 inline void SatParameters::_internal_set_use_probing_search(bool value) {
6738  _has_bits_[1] |= 0x00008000u;
6739  use_probing_search_ = value;
6740 }
6741 inline void SatParameters::set_use_probing_search(bool value) {
6742  _internal_set_use_probing_search(value);
6743  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_probing_search)
6744 }
6745 
6746 // optional int64 pseudo_cost_reliability_threshold = 123 [default = 100];
6747 inline bool SatParameters::_internal_has_pseudo_cost_reliability_threshold() const {
6748  bool value = (_has_bits_[3] & 0x02000000u) != 0;
6749  return value;
6750 }
6751 inline bool SatParameters::has_pseudo_cost_reliability_threshold() const {
6752  return _internal_has_pseudo_cost_reliability_threshold();
6753 }
6754 inline void SatParameters::clear_pseudo_cost_reliability_threshold() {
6755  pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
6756  _has_bits_[3] &= ~0x02000000u;
6757 }
6758 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::_internal_pseudo_cost_reliability_threshold() const {
6759  return pseudo_cost_reliability_threshold_;
6760 }
6761 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::pseudo_cost_reliability_threshold() const {
6762  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pseudo_cost_reliability_threshold)
6763  return _internal_pseudo_cost_reliability_threshold();
6764 }
6765 inline void SatParameters::_internal_set_pseudo_cost_reliability_threshold(::PROTOBUF_NAMESPACE_ID::int64 value) {
6766  _has_bits_[3] |= 0x02000000u;
6767  pseudo_cost_reliability_threshold_ = value;
6768 }
6769 inline void SatParameters::set_pseudo_cost_reliability_threshold(::PROTOBUF_NAMESPACE_ID::int64 value) {
6770  _internal_set_pseudo_cost_reliability_threshold(value);
6771  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pseudo_cost_reliability_threshold)
6772 }
6773 
6774 // optional bool optimize_with_core = 83 [default = false];
6775 inline bool SatParameters::_internal_has_optimize_with_core() const {
6776  bool value = (_has_bits_[1] & 0x00010000u) != 0;
6777  return value;
6778 }
6779 inline bool SatParameters::has_optimize_with_core() const {
6780  return _internal_has_optimize_with_core();
6781 }
6782 inline void SatParameters::clear_optimize_with_core() {
6783  optimize_with_core_ = false;
6784  _has_bits_[1] &= ~0x00010000u;
6785 }
6786 inline bool SatParameters::_internal_optimize_with_core() const {
6787  return optimize_with_core_;
6788 }
6789 inline bool SatParameters::optimize_with_core() const {
6790  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.optimize_with_core)
6791  return _internal_optimize_with_core();
6792 }
6793 inline void SatParameters::_internal_set_optimize_with_core(bool value) {
6794  _has_bits_[1] |= 0x00010000u;
6795  optimize_with_core_ = value;
6796 }
6797 inline void SatParameters::set_optimize_with_core(bool value) {
6798  _internal_set_optimize_with_core(value);
6799  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.optimize_with_core)
6800 }
6801 
6802 // optional int32 binary_search_num_conflicts = 99 [default = -1];
6803 inline bool SatParameters::_internal_has_binary_search_num_conflicts() const {
6804  bool value = (_has_bits_[3] & 0x00002000u) != 0;
6805  return value;
6806 }
6807 inline bool SatParameters::has_binary_search_num_conflicts() const {
6808  return _internal_has_binary_search_num_conflicts();
6809 }
6810 inline void SatParameters::clear_binary_search_num_conflicts() {
6811  binary_search_num_conflicts_ = -1;
6812  _has_bits_[3] &= ~0x00002000u;
6813 }
6814 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_binary_search_num_conflicts() const {
6815  return binary_search_num_conflicts_;
6816 }
6817 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::binary_search_num_conflicts() const {
6818  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.binary_search_num_conflicts)
6819  return _internal_binary_search_num_conflicts();
6820 }
6821 inline void SatParameters::_internal_set_binary_search_num_conflicts(::PROTOBUF_NAMESPACE_ID::int32 value) {
6822  _has_bits_[3] |= 0x00002000u;
6823  binary_search_num_conflicts_ = value;
6824 }
6825 inline void SatParameters::set_binary_search_num_conflicts(::PROTOBUF_NAMESPACE_ID::int32 value) {
6826  _internal_set_binary_search_num_conflicts(value);
6827  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.binary_search_num_conflicts)
6828 }
6829 
6830 // optional bool optimize_with_max_hs = 85 [default = false];
6831 inline bool SatParameters::_internal_has_optimize_with_max_hs() const {
6832  bool value = (_has_bits_[0] & 0x02000000u) != 0;
6833  return value;
6834 }
6835 inline bool SatParameters::has_optimize_with_max_hs() const {
6836  return _internal_has_optimize_with_max_hs();
6837 }
6838 inline void SatParameters::clear_optimize_with_max_hs() {
6839  optimize_with_max_hs_ = false;
6840  _has_bits_[0] &= ~0x02000000u;
6841 }
6842 inline bool SatParameters::_internal_optimize_with_max_hs() const {
6843  return optimize_with_max_hs_;
6844 }
6845 inline bool SatParameters::optimize_with_max_hs() const {
6846  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.optimize_with_max_hs)
6847  return _internal_optimize_with_max_hs();
6848 }
6849 inline void SatParameters::_internal_set_optimize_with_max_hs(bool value) {
6850  _has_bits_[0] |= 0x02000000u;
6851  optimize_with_max_hs_ = value;
6852 }
6853 inline void SatParameters::set_optimize_with_max_hs(bool value) {
6854  _internal_set_optimize_with_max_hs(value);
6855  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.optimize_with_max_hs)
6856 }
6857 
6858 // optional bool enumerate_all_solutions = 87 [default = false];
6859 inline bool SatParameters::_internal_has_enumerate_all_solutions() const {
6860  bool value = (_has_bits_[0] & 0x04000000u) != 0;
6861  return value;
6862 }
6863 inline bool SatParameters::has_enumerate_all_solutions() const {
6864  return _internal_has_enumerate_all_solutions();
6865 }
6866 inline void SatParameters::clear_enumerate_all_solutions() {
6867  enumerate_all_solutions_ = false;
6868  _has_bits_[0] &= ~0x04000000u;
6869 }
6870 inline bool SatParameters::_internal_enumerate_all_solutions() const {
6871  return enumerate_all_solutions_;
6872 }
6873 inline bool SatParameters::enumerate_all_solutions() const {
6874  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.enumerate_all_solutions)
6875  return _internal_enumerate_all_solutions();
6876 }
6877 inline void SatParameters::_internal_set_enumerate_all_solutions(bool value) {
6878  _has_bits_[0] |= 0x04000000u;
6879  enumerate_all_solutions_ = value;
6880 }
6881 inline void SatParameters::set_enumerate_all_solutions(bool value) {
6882  _internal_set_enumerate_all_solutions(value);
6883  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.enumerate_all_solutions)
6884 }
6885 
6886 // optional bool keep_all_feasible_solutions_in_presolve = 173 [default = false];
6887 inline bool SatParameters::_internal_has_keep_all_feasible_solutions_in_presolve() const {
6888  bool value = (_has_bits_[0] & 0x08000000u) != 0;
6889  return value;
6890 }
6891 inline bool SatParameters::has_keep_all_feasible_solutions_in_presolve() const {
6892  return _internal_has_keep_all_feasible_solutions_in_presolve();
6893 }
6894 inline void SatParameters::clear_keep_all_feasible_solutions_in_presolve() {
6895  keep_all_feasible_solutions_in_presolve_ = false;
6896  _has_bits_[0] &= ~0x08000000u;
6897 }
6898 inline bool SatParameters::_internal_keep_all_feasible_solutions_in_presolve() const {
6899  return keep_all_feasible_solutions_in_presolve_;
6900 }
6901 inline bool SatParameters::keep_all_feasible_solutions_in_presolve() const {
6902  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.keep_all_feasible_solutions_in_presolve)
6903  return _internal_keep_all_feasible_solutions_in_presolve();
6904 }
6905 inline void SatParameters::_internal_set_keep_all_feasible_solutions_in_presolve(bool value) {
6906  _has_bits_[0] |= 0x08000000u;
6907  keep_all_feasible_solutions_in_presolve_ = value;
6908 }
6909 inline void SatParameters::set_keep_all_feasible_solutions_in_presolve(bool value) {
6910  _internal_set_keep_all_feasible_solutions_in_presolve(value);
6911  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.keep_all_feasible_solutions_in_presolve)
6912 }
6913 
6914 // optional bool fill_tightened_domains_in_response = 132 [default = false];
6915 inline bool SatParameters::_internal_has_fill_tightened_domains_in_response() const {
6916  bool value = (_has_bits_[0] & 0x10000000u) != 0;
6917  return value;
6918 }
6919 inline bool SatParameters::has_fill_tightened_domains_in_response() const {
6920  return _internal_has_fill_tightened_domains_in_response();
6921 }
6922 inline void SatParameters::clear_fill_tightened_domains_in_response() {
6923  fill_tightened_domains_in_response_ = false;
6924  _has_bits_[0] &= ~0x10000000u;
6925 }
6926 inline bool SatParameters::_internal_fill_tightened_domains_in_response() const {
6927  return fill_tightened_domains_in_response_;
6928 }
6929 inline bool SatParameters::fill_tightened_domains_in_response() const {
6930  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.fill_tightened_domains_in_response)
6931  return _internal_fill_tightened_domains_in_response();
6932 }
6933 inline void SatParameters::_internal_set_fill_tightened_domains_in_response(bool value) {
6934  _has_bits_[0] |= 0x10000000u;
6935  fill_tightened_domains_in_response_ = value;
6936 }
6937 inline void SatParameters::set_fill_tightened_domains_in_response(bool value) {
6938  _internal_set_fill_tightened_domains_in_response(value);
6939  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.fill_tightened_domains_in_response)
6940 }
6941 
6942 // optional bool instantiate_all_variables = 106 [default = true];
6943 inline bool SatParameters::_internal_has_instantiate_all_variables() const {
6944  bool value = (_has_bits_[3] & 0x00100000u) != 0;
6945  return value;
6946 }
6947 inline bool SatParameters::has_instantiate_all_variables() const {
6948  return _internal_has_instantiate_all_variables();
6949 }
6950 inline void SatParameters::clear_instantiate_all_variables() {
6951  instantiate_all_variables_ = true;
6952  _has_bits_[3] &= ~0x00100000u;
6953 }
6954 inline bool SatParameters::_internal_instantiate_all_variables() const {
6955  return instantiate_all_variables_;
6956 }
6957 inline bool SatParameters::instantiate_all_variables() const {
6958  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.instantiate_all_variables)
6959  return _internal_instantiate_all_variables();
6960 }
6961 inline void SatParameters::_internal_set_instantiate_all_variables(bool value) {
6962  _has_bits_[3] |= 0x00100000u;
6963  instantiate_all_variables_ = value;
6964 }
6965 inline void SatParameters::set_instantiate_all_variables(bool value) {
6966  _internal_set_instantiate_all_variables(value);
6967  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.instantiate_all_variables)
6968 }
6969 
6970 // optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
6971 inline bool SatParameters::_internal_has_auto_detect_greater_than_at_least_one_of() const {
6972  bool value = (_has_bits_[3] & 0x20000000u) != 0;
6973  return value;
6974 }
6975 inline bool SatParameters::has_auto_detect_greater_than_at_least_one_of() const {
6976  return _internal_has_auto_detect_greater_than_at_least_one_of();
6977 }
6978 inline void SatParameters::clear_auto_detect_greater_than_at_least_one_of() {
6979  auto_detect_greater_than_at_least_one_of_ = true;
6980  _has_bits_[3] &= ~0x20000000u;
6981 }
6982 inline bool SatParameters::_internal_auto_detect_greater_than_at_least_one_of() const {
6983  return auto_detect_greater_than_at_least_one_of_;
6984 }
6985 inline bool SatParameters::auto_detect_greater_than_at_least_one_of() const {
6986  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.auto_detect_greater_than_at_least_one_of)
6987  return _internal_auto_detect_greater_than_at_least_one_of();
6988 }
6989 inline void SatParameters::_internal_set_auto_detect_greater_than_at_least_one_of(bool value) {
6990  _has_bits_[3] |= 0x20000000u;
6991  auto_detect_greater_than_at_least_one_of_ = value;
6992 }
6993 inline void SatParameters::set_auto_detect_greater_than_at_least_one_of(bool value) {
6994  _internal_set_auto_detect_greater_than_at_least_one_of(value);
6995  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.auto_detect_greater_than_at_least_one_of)
6996 }
6997 
6998 // optional bool stop_after_first_solution = 98 [default = false];
6999 inline bool SatParameters::_internal_has_stop_after_first_solution() const {
7000  bool value = (_has_bits_[1] & 0x00000020u) != 0;
7001  return value;
7002 }
7003 inline bool SatParameters::has_stop_after_first_solution() const {
7004  return _internal_has_stop_after_first_solution();
7005 }
7006 inline void SatParameters::clear_stop_after_first_solution() {
7007  stop_after_first_solution_ = false;
7008  _has_bits_[1] &= ~0x00000020u;
7009 }
7010 inline bool SatParameters::_internal_stop_after_first_solution() const {
7011  return stop_after_first_solution_;
7012 }
7013 inline bool SatParameters::stop_after_first_solution() const {
7014  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.stop_after_first_solution)
7015  return _internal_stop_after_first_solution();
7016 }
7017 inline void SatParameters::_internal_set_stop_after_first_solution(bool value) {
7018  _has_bits_[1] |= 0x00000020u;
7019  stop_after_first_solution_ = value;
7020 }
7021 inline void SatParameters::set_stop_after_first_solution(bool value) {
7022  _internal_set_stop_after_first_solution(value);
7023  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.stop_after_first_solution)
7024 }
7025 
7026 // optional bool stop_after_presolve = 149 [default = false];
7027 inline bool SatParameters::_internal_has_stop_after_presolve() const {
7028  bool value = (_has_bits_[1] & 0x00000040u) != 0;
7029  return value;
7030 }
7031 inline bool SatParameters::has_stop_after_presolve() const {
7032  return _internal_has_stop_after_presolve();
7033 }
7034 inline void SatParameters::clear_stop_after_presolve() {
7035  stop_after_presolve_ = false;
7036  _has_bits_[1] &= ~0x00000040u;
7037 }
7038 inline bool SatParameters::_internal_stop_after_presolve() const {
7039  return stop_after_presolve_;
7040 }
7041 inline bool SatParameters::stop_after_presolve() const {
7042  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.stop_after_presolve)
7043  return _internal_stop_after_presolve();
7044 }
7045 inline void SatParameters::_internal_set_stop_after_presolve(bool value) {
7046  _has_bits_[1] |= 0x00000040u;
7047  stop_after_presolve_ = value;
7048 }
7049 inline void SatParameters::set_stop_after_presolve(bool value) {
7050  _internal_set_stop_after_presolve(value);
7051  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.stop_after_presolve)
7052 }
7053 
7054 // optional int32 num_search_workers = 100 [default = 1];
7055 inline bool SatParameters::_internal_has_num_search_workers() const {
7056  bool value = (_has_bits_[3] & 0x00004000u) != 0;
7057  return value;
7058 }
7059 inline bool SatParameters::has_num_search_workers() const {
7060  return _internal_has_num_search_workers();
7061 }
7062 inline void SatParameters::clear_num_search_workers() {
7063  num_search_workers_ = 1;
7064  _has_bits_[3] &= ~0x00004000u;
7065 }
7066 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_num_search_workers() const {
7067  return num_search_workers_;
7068 }
7069 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::num_search_workers() const {
7070  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.num_search_workers)
7071  return _internal_num_search_workers();
7072 }
7073 inline void SatParameters::_internal_set_num_search_workers(::PROTOBUF_NAMESPACE_ID::int32 value) {
7074  _has_bits_[3] |= 0x00004000u;
7075  num_search_workers_ = value;
7076 }
7077 inline void SatParameters::set_num_search_workers(::PROTOBUF_NAMESPACE_ID::int32 value) {
7078  _internal_set_num_search_workers(value);
7079  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.num_search_workers)
7080 }
7081 
7082 // optional bool interleave_search = 136 [default = false];
7083 inline bool SatParameters::_internal_has_interleave_search() const {
7084  bool value = (_has_bits_[1] & 0x00000080u) != 0;
7085  return value;
7086 }
7087 inline bool SatParameters::has_interleave_search() const {
7088  return _internal_has_interleave_search();
7089 }
7090 inline void SatParameters::clear_interleave_search() {
7091  interleave_search_ = false;
7092  _has_bits_[1] &= ~0x00000080u;
7093 }
7094 inline bool SatParameters::_internal_interleave_search() const {
7095  return interleave_search_;
7096 }
7097 inline bool SatParameters::interleave_search() const {
7098  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.interleave_search)
7099  return _internal_interleave_search();
7100 }
7101 inline void SatParameters::_internal_set_interleave_search(bool value) {
7102  _has_bits_[1] |= 0x00000080u;
7103  interleave_search_ = value;
7104 }
7105 inline void SatParameters::set_interleave_search(bool value) {
7106  _internal_set_interleave_search(value);
7107  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.interleave_search)
7108 }
7109 
7110 // optional int32 interleave_batch_size = 134 [default = 1];
7111 inline bool SatParameters::_internal_has_interleave_batch_size() const {
7112  bool value = (_has_bits_[4] & 0x00000080u) != 0;
7113  return value;
7114 }
7115 inline bool SatParameters::has_interleave_batch_size() const {
7116  return _internal_has_interleave_batch_size();
7117 }
7118 inline void SatParameters::clear_interleave_batch_size() {
7119  interleave_batch_size_ = 1;
7120  _has_bits_[4] &= ~0x00000080u;
7121 }
7122 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_interleave_batch_size() const {
7123  return interleave_batch_size_;
7124 }
7125 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::interleave_batch_size() const {
7126  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.interleave_batch_size)
7127  return _internal_interleave_batch_size();
7128 }
7129 inline void SatParameters::_internal_set_interleave_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
7130  _has_bits_[4] |= 0x00000080u;
7131  interleave_batch_size_ = value;
7132 }
7133 inline void SatParameters::set_interleave_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
7134  _internal_set_interleave_batch_size(value);
7135  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.interleave_batch_size)
7136 }
7137 
7138 // optional bool reduce_memory_usage_in_interleave_mode = 141 [default = false];
7139 inline bool SatParameters::_internal_has_reduce_memory_usage_in_interleave_mode() const {
7140  bool value = (_has_bits_[1] & 0x00000100u) != 0;
7141  return value;
7142 }
7143 inline bool SatParameters::has_reduce_memory_usage_in_interleave_mode() const {
7144  return _internal_has_reduce_memory_usage_in_interleave_mode();
7145 }
7146 inline void SatParameters::clear_reduce_memory_usage_in_interleave_mode() {
7147  reduce_memory_usage_in_interleave_mode_ = false;
7148  _has_bits_[1] &= ~0x00000100u;
7149 }
7150 inline bool SatParameters::_internal_reduce_memory_usage_in_interleave_mode() const {
7151  return reduce_memory_usage_in_interleave_mode_;
7152 }
7153 inline bool SatParameters::reduce_memory_usage_in_interleave_mode() const {
7154  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.reduce_memory_usage_in_interleave_mode)
7155  return _internal_reduce_memory_usage_in_interleave_mode();
7156 }
7157 inline void SatParameters::_internal_set_reduce_memory_usage_in_interleave_mode(bool value) {
7158  _has_bits_[1] |= 0x00000100u;
7159  reduce_memory_usage_in_interleave_mode_ = value;
7160 }
7161 inline void SatParameters::set_reduce_memory_usage_in_interleave_mode(bool value) {
7162  _internal_set_reduce_memory_usage_in_interleave_mode(value);
7163  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.reduce_memory_usage_in_interleave_mode)
7164 }
7165 
7166 // optional bool share_objective_bounds = 113 [default = true];
7167 inline bool SatParameters::_internal_has_share_objective_bounds() const {
7168  bool value = (_has_bits_[3] & 0x40000000u) != 0;
7169  return value;
7170 }
7171 inline bool SatParameters::has_share_objective_bounds() const {
7172  return _internal_has_share_objective_bounds();
7173 }
7174 inline void SatParameters::clear_share_objective_bounds() {
7175  share_objective_bounds_ = true;
7176  _has_bits_[3] &= ~0x40000000u;
7177 }
7178 inline bool SatParameters::_internal_share_objective_bounds() const {
7179  return share_objective_bounds_;
7180 }
7181 inline bool SatParameters::share_objective_bounds() const {
7182  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.share_objective_bounds)
7183  return _internal_share_objective_bounds();
7184 }
7185 inline void SatParameters::_internal_set_share_objective_bounds(bool value) {
7186  _has_bits_[3] |= 0x40000000u;
7187  share_objective_bounds_ = value;
7188 }
7189 inline void SatParameters::set_share_objective_bounds(bool value) {
7190  _internal_set_share_objective_bounds(value);
7191  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.share_objective_bounds)
7192 }
7193 
7194 // optional bool share_level_zero_bounds = 114 [default = true];
7195 inline bool SatParameters::_internal_has_share_level_zero_bounds() const {
7196  bool value = (_has_bits_[3] & 0x80000000u) != 0;
7197  return value;
7198 }
7199 inline bool SatParameters::has_share_level_zero_bounds() const {
7200  return _internal_has_share_level_zero_bounds();
7201 }
7202 inline void SatParameters::clear_share_level_zero_bounds() {
7203  share_level_zero_bounds_ = true;
7204  _has_bits_[3] &= ~0x80000000u;
7205 }
7206 inline bool SatParameters::_internal_share_level_zero_bounds() const {
7207  return share_level_zero_bounds_;
7208 }
7209 inline bool SatParameters::share_level_zero_bounds() const {
7210  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.share_level_zero_bounds)
7211  return _internal_share_level_zero_bounds();
7212 }
7213 inline void SatParameters::_internal_set_share_level_zero_bounds(bool value) {
7214  _has_bits_[3] |= 0x80000000u;
7215  share_level_zero_bounds_ = value;
7216 }
7217 inline void SatParameters::set_share_level_zero_bounds(bool value) {
7218  _internal_set_share_level_zero_bounds(value);
7219  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.share_level_zero_bounds)
7220 }
7221 
7222 // optional bool use_lns_only = 101 [default = false];
7223 inline bool SatParameters::_internal_has_use_lns_only() const {
7224  bool value = (_has_bits_[1] & 0x00000002u) != 0;
7225  return value;
7226 }
7227 inline bool SatParameters::has_use_lns_only() const {
7228  return _internal_has_use_lns_only();
7229 }
7230 inline void SatParameters::clear_use_lns_only() {
7231  use_lns_only_ = false;
7232  _has_bits_[1] &= ~0x00000002u;
7233 }
7234 inline bool SatParameters::_internal_use_lns_only() const {
7235  return use_lns_only_;
7236 }
7237 inline bool SatParameters::use_lns_only() const {
7238  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_lns_only)
7239  return _internal_use_lns_only();
7240 }
7241 inline void SatParameters::_internal_set_use_lns_only(bool value) {
7242  _has_bits_[1] |= 0x00000002u;
7243  use_lns_only_ = value;
7244 }
7245 inline void SatParameters::set_use_lns_only(bool value) {
7246  _internal_set_use_lns_only(value);
7247  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_lns_only)
7248 }
7249 
7250 // optional bool lns_focus_on_decision_variables = 105 [default = false];
7251 inline bool SatParameters::_internal_has_lns_focus_on_decision_variables() const {
7252  bool value = (_has_bits_[1] & 0x00000004u) != 0;
7253  return value;
7254 }
7255 inline bool SatParameters::has_lns_focus_on_decision_variables() const {
7256  return _internal_has_lns_focus_on_decision_variables();
7257 }
7258 inline void SatParameters::clear_lns_focus_on_decision_variables() {
7259  lns_focus_on_decision_variables_ = false;
7260  _has_bits_[1] &= ~0x00000004u;
7261 }
7262 inline bool SatParameters::_internal_lns_focus_on_decision_variables() const {
7263  return lns_focus_on_decision_variables_;
7264 }
7265 inline bool SatParameters::lns_focus_on_decision_variables() const {
7266  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.lns_focus_on_decision_variables)
7267  return _internal_lns_focus_on_decision_variables();
7268 }
7269 inline void SatParameters::_internal_set_lns_focus_on_decision_variables(bool value) {
7270  _has_bits_[1] |= 0x00000004u;
7271  lns_focus_on_decision_variables_ = value;
7272 }
7273 inline void SatParameters::set_lns_focus_on_decision_variables(bool value) {
7274  _internal_set_lns_focus_on_decision_variables(value);
7275  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.lns_focus_on_decision_variables)
7276 }
7277 
7278 // optional bool lns_expand_intervals_in_constraint_graph = 184 [default = true];
7279 inline bool SatParameters::_internal_has_lns_expand_intervals_in_constraint_graph() const {
7280  bool value = (_has_bits_[4] & 0x00000001u) != 0;
7281  return value;
7282 }
7283 inline bool SatParameters::has_lns_expand_intervals_in_constraint_graph() const {
7284  return _internal_has_lns_expand_intervals_in_constraint_graph();
7285 }
7286 inline void SatParameters::clear_lns_expand_intervals_in_constraint_graph() {
7287  lns_expand_intervals_in_constraint_graph_ = true;
7288  _has_bits_[4] &= ~0x00000001u;
7289 }
7290 inline bool SatParameters::_internal_lns_expand_intervals_in_constraint_graph() const {
7291  return lns_expand_intervals_in_constraint_graph_;
7292 }
7293 inline bool SatParameters::lns_expand_intervals_in_constraint_graph() const {
7294  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.lns_expand_intervals_in_constraint_graph)
7295  return _internal_lns_expand_intervals_in_constraint_graph();
7296 }
7297 inline void SatParameters::_internal_set_lns_expand_intervals_in_constraint_graph(bool value) {
7298  _has_bits_[4] |= 0x00000001u;
7299  lns_expand_intervals_in_constraint_graph_ = value;
7300 }
7301 inline void SatParameters::set_lns_expand_intervals_in_constraint_graph(bool value) {
7302  _internal_set_lns_expand_intervals_in_constraint_graph(value);
7303  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.lns_expand_intervals_in_constraint_graph)
7304 }
7305 
7306 // optional bool use_rins_lns = 129 [default = true];
7307 inline bool SatParameters::_internal_has_use_rins_lns() const {
7308  bool value = (_has_bits_[4] & 0x00000008u) != 0;
7309  return value;
7310 }
7311 inline bool SatParameters::has_use_rins_lns() const {
7312  return _internal_has_use_rins_lns();
7313 }
7314 inline void SatParameters::clear_use_rins_lns() {
7315  use_rins_lns_ = true;
7316  _has_bits_[4] &= ~0x00000008u;
7317 }
7318 inline bool SatParameters::_internal_use_rins_lns() const {
7319  return use_rins_lns_;
7320 }
7321 inline bool SatParameters::use_rins_lns() const {
7322  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_rins_lns)
7323  return _internal_use_rins_lns();
7324 }
7325 inline void SatParameters::_internal_set_use_rins_lns(bool value) {
7326  _has_bits_[4] |= 0x00000008u;
7327  use_rins_lns_ = value;
7328 }
7329 inline void SatParameters::set_use_rins_lns(bool value) {
7330  _internal_set_use_rins_lns(value);
7331  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_rins_lns)
7332 }
7333 
7334 // optional bool use_feasibility_pump = 164 [default = true];
7335 inline bool SatParameters::_internal_has_use_feasibility_pump() const {
7336  bool value = (_has_bits_[4] & 0x00000010u) != 0;
7337  return value;
7338 }
7339 inline bool SatParameters::has_use_feasibility_pump() const {
7340  return _internal_has_use_feasibility_pump();
7341 }
7342 inline void SatParameters::clear_use_feasibility_pump() {
7343  use_feasibility_pump_ = true;
7344  _has_bits_[4] &= ~0x00000010u;
7345 }
7346 inline bool SatParameters::_internal_use_feasibility_pump() const {
7347  return use_feasibility_pump_;
7348 }
7349 inline bool SatParameters::use_feasibility_pump() const {
7350  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_feasibility_pump)
7351  return _internal_use_feasibility_pump();
7352 }
7353 inline void SatParameters::_internal_set_use_feasibility_pump(bool value) {
7354  _has_bits_[4] |= 0x00000010u;
7355  use_feasibility_pump_ = value;
7356 }
7357 inline void SatParameters::set_use_feasibility_pump(bool value) {
7358  _internal_set_use_feasibility_pump(value);
7359  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_feasibility_pump)
7360 }
7361 
7362 // optional .operations_research.sat.SatParameters.FPRoundingMethod fp_rounding = 165 [default = PROPAGATION_ASSISTED];
7363 inline bool SatParameters::_internal_has_fp_rounding() const {
7364  bool value = (_has_bits_[4] & 0x20000000u) != 0;
7365  return value;
7366 }
7367 inline bool SatParameters::has_fp_rounding() const {
7368  return _internal_has_fp_rounding();
7369 }
7370 inline void SatParameters::clear_fp_rounding() {
7371  fp_rounding_ = 2;
7372  _has_bits_[4] &= ~0x20000000u;
7373 }
7374 inline ::operations_research::sat::SatParameters_FPRoundingMethod SatParameters::_internal_fp_rounding() const {
7375  return static_cast< ::operations_research::sat::SatParameters_FPRoundingMethod >(fp_rounding_);
7376 }
7377 inline ::operations_research::sat::SatParameters_FPRoundingMethod SatParameters::fp_rounding() const {
7378  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.fp_rounding)
7379  return _internal_fp_rounding();
7380 }
7381 inline void SatParameters::_internal_set_fp_rounding(::operations_research::sat::SatParameters_FPRoundingMethod value) {
7383  _has_bits_[4] |= 0x20000000u;
7384  fp_rounding_ = value;
7385 }
7386 inline void SatParameters::set_fp_rounding(::operations_research::sat::SatParameters_FPRoundingMethod value) {
7387  _internal_set_fp_rounding(value);
7388  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.fp_rounding)
7389 }
7390 
7391 // optional bool use_relaxation_lns = 150 [default = false];
7392 inline bool SatParameters::_internal_has_use_relaxation_lns() const {
7393  bool value = (_has_bits_[1] & 0x00000008u) != 0;
7394  return value;
7395 }
7396 inline bool SatParameters::has_use_relaxation_lns() const {
7397  return _internal_has_use_relaxation_lns();
7398 }
7399 inline void SatParameters::clear_use_relaxation_lns() {
7400  use_relaxation_lns_ = false;
7401  _has_bits_[1] &= ~0x00000008u;
7402 }
7403 inline bool SatParameters::_internal_use_relaxation_lns() const {
7404  return use_relaxation_lns_;
7405 }
7406 inline bool SatParameters::use_relaxation_lns() const {
7407  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_relaxation_lns)
7408  return _internal_use_relaxation_lns();
7409 }
7410 inline void SatParameters::_internal_set_use_relaxation_lns(bool value) {
7411  _has_bits_[1] |= 0x00000008u;
7412  use_relaxation_lns_ = value;
7413 }
7414 inline void SatParameters::set_use_relaxation_lns(bool value) {
7415  _internal_set_use_relaxation_lns(value);
7416  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_relaxation_lns)
7417 }
7418 
7419 // optional bool diversify_lns_params = 137 [default = false];
7420 inline bool SatParameters::_internal_has_diversify_lns_params() const {
7421  bool value = (_has_bits_[1] & 0x00000010u) != 0;
7422  return value;
7423 }
7424 inline bool SatParameters::has_diversify_lns_params() const {
7425  return _internal_has_diversify_lns_params();
7426 }
7427 inline void SatParameters::clear_diversify_lns_params() {
7428  diversify_lns_params_ = false;
7429  _has_bits_[1] &= ~0x00000010u;
7430 }
7431 inline bool SatParameters::_internal_diversify_lns_params() const {
7432  return diversify_lns_params_;
7433 }
7434 inline bool SatParameters::diversify_lns_params() const {
7435  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.diversify_lns_params)
7436  return _internal_diversify_lns_params();
7437 }
7438 inline void SatParameters::_internal_set_diversify_lns_params(bool value) {
7439  _has_bits_[1] |= 0x00000010u;
7440  diversify_lns_params_ = value;
7441 }
7442 inline void SatParameters::set_diversify_lns_params(bool value) {
7443  _internal_set_diversify_lns_params(value);
7444  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.diversify_lns_params)
7445 }
7446 
7447 // optional bool randomize_search = 103 [default = false];
7448 inline bool SatParameters::_internal_has_randomize_search() const {
7449  bool value = (_has_bits_[1] & 0x00020000u) != 0;
7450  return value;
7451 }
7452 inline bool SatParameters::has_randomize_search() const {
7453  return _internal_has_randomize_search();
7454 }
7455 inline void SatParameters::clear_randomize_search() {
7456  randomize_search_ = false;
7457  _has_bits_[1] &= ~0x00020000u;
7458 }
7459 inline bool SatParameters::_internal_randomize_search() const {
7460  return randomize_search_;
7461 }
7462 inline bool SatParameters::randomize_search() const {
7463  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.randomize_search)
7464  return _internal_randomize_search();
7465 }
7466 inline void SatParameters::_internal_set_randomize_search(bool value) {
7467  _has_bits_[1] |= 0x00020000u;
7468  randomize_search_ = value;
7469 }
7470 inline void SatParameters::set_randomize_search(bool value) {
7471  _internal_set_randomize_search(value);
7472  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.randomize_search)
7473 }
7474 
7475 // optional int64 search_randomization_tolerance = 104 [default = 0];
7476 inline bool SatParameters::_internal_has_search_randomization_tolerance() const {
7477  bool value = (_has_bits_[0] & 0x00001000u) != 0;
7478  return value;
7479 }
7480 inline bool SatParameters::has_search_randomization_tolerance() const {
7481  return _internal_has_search_randomization_tolerance();
7482 }
7483 inline void SatParameters::clear_search_randomization_tolerance() {
7484  search_randomization_tolerance_ = PROTOBUF_LONGLONG(0);
7485  _has_bits_[0] &= ~0x00001000u;
7486 }
7487 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::_internal_search_randomization_tolerance() const {
7488  return search_randomization_tolerance_;
7489 }
7490 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::search_randomization_tolerance() const {
7491  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.search_randomization_tolerance)
7492  return _internal_search_randomization_tolerance();
7493 }
7494 inline void SatParameters::_internal_set_search_randomization_tolerance(::PROTOBUF_NAMESPACE_ID::int64 value) {
7495  _has_bits_[0] |= 0x00001000u;
7496  search_randomization_tolerance_ = value;
7497 }
7498 inline void SatParameters::set_search_randomization_tolerance(::PROTOBUF_NAMESPACE_ID::int64 value) {
7499  _internal_set_search_randomization_tolerance(value);
7500  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.search_randomization_tolerance)
7501 }
7502 
7503 // optional bool use_optional_variables = 108 [default = true];
7504 inline bool SatParameters::_internal_has_use_optional_variables() const {
7505  bool value = (_has_bits_[4] & 0x00000020u) != 0;
7506  return value;
7507 }
7508 inline bool SatParameters::has_use_optional_variables() const {
7509  return _internal_has_use_optional_variables();
7510 }
7511 inline void SatParameters::clear_use_optional_variables() {
7512  use_optional_variables_ = true;
7513  _has_bits_[4] &= ~0x00000020u;
7514 }
7515 inline bool SatParameters::_internal_use_optional_variables() const {
7516  return use_optional_variables_;
7517 }
7518 inline bool SatParameters::use_optional_variables() const {
7519  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_optional_variables)
7520  return _internal_use_optional_variables();
7521 }
7522 inline void SatParameters::_internal_set_use_optional_variables(bool value) {
7523  _has_bits_[4] |= 0x00000020u;
7524  use_optional_variables_ = value;
7525 }
7526 inline void SatParameters::set_use_optional_variables(bool value) {
7527  _internal_set_use_optional_variables(value);
7528  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_optional_variables)
7529 }
7530 
7531 // optional bool use_exact_lp_reason = 109 [default = true];
7532 inline bool SatParameters::_internal_has_use_exact_lp_reason() const {
7533  bool value = (_has_bits_[4] & 0x00000040u) != 0;
7534  return value;
7535 }
7536 inline bool SatParameters::has_use_exact_lp_reason() const {
7537  return _internal_has_use_exact_lp_reason();
7538 }
7539 inline void SatParameters::clear_use_exact_lp_reason() {
7540  use_exact_lp_reason_ = true;
7541  _has_bits_[4] &= ~0x00000040u;
7542 }
7543 inline bool SatParameters::_internal_use_exact_lp_reason() const {
7544  return use_exact_lp_reason_;
7545 }
7546 inline bool SatParameters::use_exact_lp_reason() const {
7547  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_exact_lp_reason)
7548  return _internal_use_exact_lp_reason();
7549 }
7550 inline void SatParameters::_internal_set_use_exact_lp_reason(bool value) {
7551  _has_bits_[4] |= 0x00000040u;
7552  use_exact_lp_reason_ = value;
7553 }
7554 inline void SatParameters::set_use_exact_lp_reason(bool value) {
7555  _internal_set_use_exact_lp_reason(value);
7556  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_exact_lp_reason)
7557 }
7558 
7559 // optional bool use_branching_in_lp = 139 [default = false];
7560 inline bool SatParameters::_internal_has_use_branching_in_lp() const {
7561  bool value = (_has_bits_[1] & 0x00040000u) != 0;
7562  return value;
7563 }
7564 inline bool SatParameters::has_use_branching_in_lp() const {
7565  return _internal_has_use_branching_in_lp();
7566 }
7567 inline void SatParameters::clear_use_branching_in_lp() {
7568  use_branching_in_lp_ = false;
7569  _has_bits_[1] &= ~0x00040000u;
7570 }
7571 inline bool SatParameters::_internal_use_branching_in_lp() const {
7572  return use_branching_in_lp_;
7573 }
7574 inline bool SatParameters::use_branching_in_lp() const {
7575  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_branching_in_lp)
7576  return _internal_use_branching_in_lp();
7577 }
7578 inline void SatParameters::_internal_set_use_branching_in_lp(bool value) {
7579  _has_bits_[1] |= 0x00040000u;
7580  use_branching_in_lp_ = value;
7581 }
7582 inline void SatParameters::set_use_branching_in_lp(bool value) {
7583  _internal_set_use_branching_in_lp(value);
7584  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_branching_in_lp)
7585 }
7586 
7587 // optional bool use_combined_no_overlap = 133 [default = false];
7588 inline bool SatParameters::_internal_has_use_combined_no_overlap() const {
7589  bool value = (_has_bits_[1] & 0x00080000u) != 0;
7590  return value;
7591 }
7592 inline bool SatParameters::has_use_combined_no_overlap() const {
7593  return _internal_has_use_combined_no_overlap();
7594 }
7595 inline void SatParameters::clear_use_combined_no_overlap() {
7596  use_combined_no_overlap_ = false;
7597  _has_bits_[1] &= ~0x00080000u;
7598 }
7599 inline bool SatParameters::_internal_use_combined_no_overlap() const {
7600  return use_combined_no_overlap_;
7601 }
7602 inline bool SatParameters::use_combined_no_overlap() const {
7603  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_combined_no_overlap)
7604  return _internal_use_combined_no_overlap();
7605 }
7606 inline void SatParameters::_internal_set_use_combined_no_overlap(bool value) {
7607  _has_bits_[1] |= 0x00080000u;
7608  use_combined_no_overlap_ = value;
7609 }
7610 inline void SatParameters::set_use_combined_no_overlap(bool value) {
7611  _internal_set_use_combined_no_overlap(value);
7612  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_combined_no_overlap)
7613 }
7614 
7615 // optional bool catch_sigint_signal = 135 [default = true];
7616 inline bool SatParameters::_internal_has_catch_sigint_signal() const {
7617  bool value = (_has_bits_[4] & 0x00002000u) != 0;
7618  return value;
7619 }
7620 inline bool SatParameters::has_catch_sigint_signal() const {
7621  return _internal_has_catch_sigint_signal();
7622 }
7623 inline void SatParameters::clear_catch_sigint_signal() {
7624  catch_sigint_signal_ = true;
7625  _has_bits_[4] &= ~0x00002000u;
7626 }
7627 inline bool SatParameters::_internal_catch_sigint_signal() const {
7628  return catch_sigint_signal_;
7629 }
7630 inline bool SatParameters::catch_sigint_signal() const {
7631  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.catch_sigint_signal)
7632  return _internal_catch_sigint_signal();
7633 }
7634 inline void SatParameters::_internal_set_catch_sigint_signal(bool value) {
7635  _has_bits_[4] |= 0x00002000u;
7636  catch_sigint_signal_ = value;
7637 }
7638 inline void SatParameters::set_catch_sigint_signal(bool value) {
7639  _internal_set_catch_sigint_signal(value);
7640  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.catch_sigint_signal)
7641 }
7642 
7643 // optional bool use_implied_bounds = 144 [default = true];
7644 inline bool SatParameters::_internal_has_use_implied_bounds() const {
7645  bool value = (_has_bits_[4] & 0x00004000u) != 0;
7646  return value;
7647 }
7648 inline bool SatParameters::has_use_implied_bounds() const {
7649  return _internal_has_use_implied_bounds();
7650 }
7651 inline void SatParameters::clear_use_implied_bounds() {
7652  use_implied_bounds_ = true;
7653  _has_bits_[4] &= ~0x00004000u;
7654 }
7655 inline bool SatParameters::_internal_use_implied_bounds() const {
7656  return use_implied_bounds_;
7657 }
7658 inline bool SatParameters::use_implied_bounds() const {
7659  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_implied_bounds)
7660  return _internal_use_implied_bounds();
7661 }
7662 inline void SatParameters::_internal_set_use_implied_bounds(bool value) {
7663  _has_bits_[4] |= 0x00004000u;
7664  use_implied_bounds_ = value;
7665 }
7666 inline void SatParameters::set_use_implied_bounds(bool value) {
7667  _internal_set_use_implied_bounds(value);
7668  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_implied_bounds)
7669 }
7670 
7671 // optional bool polish_lp_solution = 175 [default = false];
7672 inline bool SatParameters::_internal_has_polish_lp_solution() const {
7673  bool value = (_has_bits_[1] & 0x00100000u) != 0;
7674  return value;
7675 }
7676 inline bool SatParameters::has_polish_lp_solution() const {
7677  return _internal_has_polish_lp_solution();
7678 }
7679 inline void SatParameters::clear_polish_lp_solution() {
7680  polish_lp_solution_ = false;
7681  _has_bits_[1] &= ~0x00100000u;
7682 }
7683 inline bool SatParameters::_internal_polish_lp_solution() const {
7684  return polish_lp_solution_;
7685 }
7686 inline bool SatParameters::polish_lp_solution() const {
7687  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.polish_lp_solution)
7688  return _internal_polish_lp_solution();
7689 }
7690 inline void SatParameters::_internal_set_polish_lp_solution(bool value) {
7691  _has_bits_[1] |= 0x00100000u;
7692  polish_lp_solution_ = value;
7693 }
7694 inline void SatParameters::set_polish_lp_solution(bool value) {
7695  _internal_set_polish_lp_solution(value);
7696  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.polish_lp_solution)
7697 }
7698 
7699 // optional bool convert_intervals = 177 [default = false];
7700 inline bool SatParameters::_internal_has_convert_intervals() const {
7701  bool value = (_has_bits_[1] & 0x02000000u) != 0;
7702  return value;
7703 }
7704 inline bool SatParameters::has_convert_intervals() const {
7705  return _internal_has_convert_intervals();
7706 }
7707 inline void SatParameters::clear_convert_intervals() {
7708  convert_intervals_ = false;
7709  _has_bits_[1] &= ~0x02000000u;
7710 }
7711 inline bool SatParameters::_internal_convert_intervals() const {
7712  return convert_intervals_;
7713 }
7714 inline bool SatParameters::convert_intervals() const {
7715  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.convert_intervals)
7716  return _internal_convert_intervals();
7717 }
7718 inline void SatParameters::_internal_set_convert_intervals(bool value) {
7719  _has_bits_[1] |= 0x02000000u;
7720  convert_intervals_ = value;
7721 }
7722 inline void SatParameters::set_convert_intervals(bool value) {
7723  _internal_set_convert_intervals(value);
7724  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.convert_intervals)
7725 }
7726 
7727 // optional int32 symmetry_level = 183 [default = 2];
7728 inline bool SatParameters::_internal_has_symmetry_level() const {
7729  bool value = (_has_bits_[4] & 0x80000000u) != 0;
7730  return value;
7731 }
7732 inline bool SatParameters::has_symmetry_level() const {
7733  return _internal_has_symmetry_level();
7734 }
7735 inline void SatParameters::clear_symmetry_level() {
7736  symmetry_level_ = 2;
7737  _has_bits_[4] &= ~0x80000000u;
7738 }
7739 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_symmetry_level() const {
7740  return symmetry_level_;
7741 }
7742 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::symmetry_level() const {
7743  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.symmetry_level)
7744  return _internal_symmetry_level();
7745 }
7746 inline void SatParameters::_internal_set_symmetry_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
7747  _has_bits_[4] |= 0x80000000u;
7748  symmetry_level_ = value;
7749 }
7750 inline void SatParameters::set_symmetry_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
7751  _internal_set_symmetry_level(value);
7752  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.symmetry_level)
7753 }
7754 
7755 // optional double mip_max_bound = 124 [default = 10000000];
7756 inline bool SatParameters::_internal_has_mip_max_bound() const {
7757  bool value = (_has_bits_[3] & 0x04000000u) != 0;
7758  return value;
7759 }
7760 inline bool SatParameters::has_mip_max_bound() const {
7761  return _internal_has_mip_max_bound();
7762 }
7763 inline void SatParameters::clear_mip_max_bound() {
7764  mip_max_bound_ = 10000000;
7765  _has_bits_[3] &= ~0x04000000u;
7766 }
7767 inline double SatParameters::_internal_mip_max_bound() const {
7768  return mip_max_bound_;
7769 }
7770 inline double SatParameters::mip_max_bound() const {
7771  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_max_bound)
7772  return _internal_mip_max_bound();
7773 }
7774 inline void SatParameters::_internal_set_mip_max_bound(double value) {
7775  _has_bits_[3] |= 0x04000000u;
7776  mip_max_bound_ = value;
7777 }
7778 inline void SatParameters::set_mip_max_bound(double value) {
7779  _internal_set_mip_max_bound(value);
7780  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_max_bound)
7781 }
7782 
7783 // optional double mip_var_scaling = 125 [default = 1];
7784 inline bool SatParameters::_internal_has_mip_var_scaling() const {
7785  bool value = (_has_bits_[3] & 0x08000000u) != 0;
7786  return value;
7787 }
7788 inline bool SatParameters::has_mip_var_scaling() const {
7789  return _internal_has_mip_var_scaling();
7790 }
7791 inline void SatParameters::clear_mip_var_scaling() {
7792  mip_var_scaling_ = 1;
7793  _has_bits_[3] &= ~0x08000000u;
7794 }
7795 inline double SatParameters::_internal_mip_var_scaling() const {
7796  return mip_var_scaling_;
7797 }
7798 inline double SatParameters::mip_var_scaling() const {
7799  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_var_scaling)
7800  return _internal_mip_var_scaling();
7801 }
7802 inline void SatParameters::_internal_set_mip_var_scaling(double value) {
7803  _has_bits_[3] |= 0x08000000u;
7804  mip_var_scaling_ = value;
7805 }
7806 inline void SatParameters::set_mip_var_scaling(double value) {
7807  _internal_set_mip_var_scaling(value);
7808  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_var_scaling)
7809 }
7810 
7811 // optional bool mip_automatically_scale_variables = 166 [default = true];
7812 inline bool SatParameters::_internal_has_mip_automatically_scale_variables() const {
7813  bool value = (_has_bits_[4] & 0x00008000u) != 0;
7814  return value;
7815 }
7816 inline bool SatParameters::has_mip_automatically_scale_variables() const {
7817  return _internal_has_mip_automatically_scale_variables();
7818 }
7819 inline void SatParameters::clear_mip_automatically_scale_variables() {
7820  mip_automatically_scale_variables_ = true;
7821  _has_bits_[4] &= ~0x00008000u;
7822 }
7823 inline bool SatParameters::_internal_mip_automatically_scale_variables() const {
7824  return mip_automatically_scale_variables_;
7825 }
7826 inline bool SatParameters::mip_automatically_scale_variables() const {
7827  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_automatically_scale_variables)
7828  return _internal_mip_automatically_scale_variables();
7829 }
7830 inline void SatParameters::_internal_set_mip_automatically_scale_variables(bool value) {
7831  _has_bits_[4] |= 0x00008000u;
7832  mip_automatically_scale_variables_ = value;
7833 }
7834 inline void SatParameters::set_mip_automatically_scale_variables(bool value) {
7835  _internal_set_mip_automatically_scale_variables(value);
7836  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_automatically_scale_variables)
7837 }
7838 
7839 // optional double mip_wanted_precision = 126 [default = 1e-06];
7840 inline bool SatParameters::_internal_has_mip_wanted_precision() const {
7841  bool value = (_has_bits_[3] & 0x10000000u) != 0;
7842  return value;
7843 }
7844 inline bool SatParameters::has_mip_wanted_precision() const {
7845  return _internal_has_mip_wanted_precision();
7846 }
7847 inline void SatParameters::clear_mip_wanted_precision() {
7848  mip_wanted_precision_ = 1e-06;
7849  _has_bits_[3] &= ~0x10000000u;
7850 }
7851 inline double SatParameters::_internal_mip_wanted_precision() const {
7852  return mip_wanted_precision_;
7853 }
7854 inline double SatParameters::mip_wanted_precision() const {
7855  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_wanted_precision)
7856  return _internal_mip_wanted_precision();
7857 }
7858 inline void SatParameters::_internal_set_mip_wanted_precision(double value) {
7859  _has_bits_[3] |= 0x10000000u;
7860  mip_wanted_precision_ = value;
7861 }
7862 inline void SatParameters::set_mip_wanted_precision(double value) {
7863  _internal_set_mip_wanted_precision(value);
7864  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_wanted_precision)
7865 }
7866 
7867 // optional int32 mip_max_activity_exponent = 127 [default = 53];
7868 inline bool SatParameters::_internal_has_mip_max_activity_exponent() const {
7869  bool value = (_has_bits_[4] & 0x00000002u) != 0;
7870  return value;
7871 }
7872 inline bool SatParameters::has_mip_max_activity_exponent() const {
7873  return _internal_has_mip_max_activity_exponent();
7874 }
7875 inline void SatParameters::clear_mip_max_activity_exponent() {
7876  mip_max_activity_exponent_ = 53;
7877  _has_bits_[4] &= ~0x00000002u;
7878 }
7879 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::_internal_mip_max_activity_exponent() const {
7880  return mip_max_activity_exponent_;
7881 }
7882 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::mip_max_activity_exponent() const {
7883  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_max_activity_exponent)
7884  return _internal_mip_max_activity_exponent();
7885 }
7886 inline void SatParameters::_internal_set_mip_max_activity_exponent(::PROTOBUF_NAMESPACE_ID::int32 value) {
7887  _has_bits_[4] |= 0x00000002u;
7888  mip_max_activity_exponent_ = value;
7889 }
7890 inline void SatParameters::set_mip_max_activity_exponent(::PROTOBUF_NAMESPACE_ID::int32 value) {
7891  _internal_set_mip_max_activity_exponent(value);
7892  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_max_activity_exponent)
7893 }
7894 
7895 // optional double mip_check_precision = 128 [default = 0.0001];
7896 inline bool SatParameters::_internal_has_mip_check_precision() const {
7897  bool value = (_has_bits_[4] & 0x00000004u) != 0;
7898  return value;
7899 }
7900 inline bool SatParameters::has_mip_check_precision() const {
7901  return _internal_has_mip_check_precision();
7902 }
7903 inline void SatParameters::clear_mip_check_precision() {
7904  mip_check_precision_ = 0.0001;
7905  _has_bits_[4] &= ~0x00000004u;
7906 }
7907 inline double SatParameters::_internal_mip_check_precision() const {
7908  return mip_check_precision_;
7909 }
7910 inline double SatParameters::mip_check_precision() const {
7911  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_check_precision)
7912  return _internal_mip_check_precision();
7913 }
7914 inline void SatParameters::_internal_set_mip_check_precision(double value) {
7915  _has_bits_[4] |= 0x00000004u;
7916  mip_check_precision_ = value;
7917 }
7918 inline void SatParameters::set_mip_check_precision(double value) {
7919  _internal_set_mip_check_precision(value);
7920  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_check_precision)
7921 }
7922 
7923 #ifdef __GNUC__
7924  #pragma GCC diagnostic pop
7925 #endif // __GNUC__
7926 
7927 // @@protoc_insertion_point(namespace_scope)
7928 
7929 } // namespace sat
7930 } // namespace operations_research
7931 
7932 PROTOBUF_NAMESPACE_OPEN
7933 
7934 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_VariableOrder> : ::std::true_type {};
7935 template <>
7936 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_VariableOrder>() {
7938 }
7939 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_Polarity> : ::std::true_type {};
7940 template <>
7941 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_Polarity>() {
7943 }
7944 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm> : ::std::true_type {};
7945 template <>
7946 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm>() {
7948 }
7949 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm> : ::std::true_type {};
7950 template <>
7951 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm>() {
7953 }
7954 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ClauseProtection> : ::std::true_type {};
7955 template <>
7956 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ClauseProtection>() {
7958 }
7959 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ClauseOrdering> : ::std::true_type {};
7960 template <>
7961 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ClauseOrdering>() {
7963 }
7964 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_RestartAlgorithm> : ::std::true_type {};
7965 template <>
7966 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_RestartAlgorithm>() {
7968 }
7969 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder> : ::std::true_type {};
7970 template <>
7971 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder>() {
7973 }
7974 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm> : ::std::true_type {};
7975 template <>
7976 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm>() {
7978 }
7979 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_SearchBranching> : ::std::true_type {};
7980 template <>
7981 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_SearchBranching>() {
7983 }
7984 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_FPRoundingMethod> : ::std::true_type {};
7985 template <>
7986 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_FPRoundingMethod>() {
7988 }
7989 
7990 PROTOBUF_NAMESPACE_CLOSE
7991 
7992 // @@protoc_insertion_point(global_scope)
7993 
7994 #include <google/protobuf/port_undef.inc>
7995 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fsat_5fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::int32 interleave_batch_size() const
static const std::string & SearchBranching_Name(T enum_t_value)
void set_use_precedences_in_disjunctive_constraint(bool value)
SatParameters_FPRoundingMethod FPRoundingMethod
::operations_research::sat::SatParameters_VariableOrder preferred_variable_order() const
void set_restart_algorithms(int index, ::operations_research::sat::SatParameters_RestartAlgorithm value)
void set_use_timetable_edge_finding_in_cumulative_constraint(bool value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableOrder_descriptor()
friend void swap(SatParameters &a, SatParameters &b)
SatParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const std::string & VariableOrder_Name(T enum_t_value)
const std::string & default_restart_algorithms() const
void set_minimize_with_propagation_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_restart_dl_average_ratio(double value)
void MergeFrom(const SatParameters &from)
void set_initial_polarity(::operations_research::sat::SatParameters_Polarity value)
void set_search_branching(::operations_research::sat::SatParameters_SearchBranching value)
::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_clause_weight() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void set_mip_max_activity_exponent(::PROTOBUF_NAMESPACE_ID::int32 value)
void add_restart_algorithms(::operations_research::sat::SatParameters_RestartAlgorithm value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ClauseProtection_descriptor()
void set_max_variable_activity_value(double value)
SatParameters_SearchBranching SearchBranching
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * FPRoundingMethod_descriptor()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Polarity_descriptor()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_treat_binary_clauses_separately(bool value)
::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_threshold() const
void set_fill_tightened_domains_in_response(bool value)
static bool SearchBranching_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SearchBranching *value)
::PROTOBUF_NAMESPACE_ID::int32 polarity_rephase_increment() const
void set_name(const char *value, size_t size)
void set_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 symmetry_level() const
void set_interleave_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_clause_cleanup_ordering(::operations_research::sat::SatParameters_ClauseOrdering value)
void set_cp_model_probing_level(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 cp_model_probing_level() const
void set_polarity_rephase_increment(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_minimize_with_propagation_num_decisions(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_restart_lbd_average_ratio(double value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void set_auto_detect_greater_than_at_least_one_of(bool value)
void set_minimize_reduction_during_pb_resolution(bool value)
::PROTOBUF_NAMESPACE_ID::int32 restart_running_window_size() const
::PROTOBUF_NAMESPACE_ID::int32 num_search_workers() const
void set_name(const std::string &value)
void set_presolve_bve_threshold(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_default_restart_algorithms(const char *value)
static bool MaxSatAssumptionOrder_IsValid(int value)
void set_default_restart_algorithms(const char *value, size_t size)
::PROTOBUF_NAMESPACE_ID::int32 presolve_substitution_level() const
static bool BinaryMinizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BinaryMinizationAlgorithm *value)
void set_mip_automatically_scale_variables(bool value)
void set_also_bump_variables_in_conflict_reasons(bool value)
void set_new_constraints_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_use_disjunctive_constraint_in_cumulative_constraint(bool value)
void set_max_memory_in_mb(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_reduce_memory_usage_in_interleave_mode(bool value)
::operations_research::sat::SatParameters_Polarity initial_polarity() const
static const std::string & Polarity_Name(T enum_t_value)
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::sat::SatParameters_FPRoundingMethod fp_rounding() const
static bool ConflictMinimizationAlgorithm_IsValid(int value)
void set_max_num_cuts(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_boolean_encoding_level(::PROTOBUF_NAMESPACE_ID::int32 value)
SatParameters & operator=(const SatParameters &from)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * RestartAlgorithm_descriptor()
void set_pseudo_cost_reliability_threshold(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_cp_model_max_num_presolve_operations(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_cp_model_postsolve_with_full_solver(bool value)
::operations_research::sat::SatParameters_ClauseProtection clause_cleanup_protection() const
::operations_research::sat::SatParameters_SearchBranching search_branching() const
bool has_use_timetable_edge_finding_in_cumulative_constraint() const
SatParameters(SatParameters &&from) noexcept
static bool MaxSatStratificationAlgorithm_IsValid(int value)
void set_max_integer_rounding_scaling(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_use_disjunctive_constraint_in_cumulative_constraint() const
::PROTOBUF_NAMESPACE_ID::int32 max_all_diff_cut_size() const
::PROTOBUF_NAMESPACE_ID::int32 max_num_cuts() const
void set_permute_presolve_constraint_order(bool value)
static bool MaxSatAssumptionOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MaxSatAssumptionOrder *value)
::PROTOBUF_NAMESPACE_ID::int32 linearization_level() const
static bool ClauseOrdering_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClauseOrdering *value)
void set_strategy_change_increase_ratio(double value)
void set_max_presolve_iterations(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 mip_max_activity_exponent() const
double presolve_probing_deterministic_time_limit() const
static bool Polarity_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Polarity *value)
SatParameters_MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm
void CopyFrom(const SatParameters &from)
SatParameters & operator=(SatParameters &&from) noexcept
void set_use_overload_checker_in_cumulative_constraint(bool value)
void set_clause_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value)
static bool ConflictMinimizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ConflictMinimizationAlgorithm *value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ConflictMinimizationAlgorithm_descriptor()
void set_max_number_of_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int > * mutable_restart_algorithms()
void set_min_orthogonality_for_lp_constraints(double value)
void set_search_randomization_tolerance(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_merge_at_most_one_work_limit(double value)
SatParameters_BinaryMinizationAlgorithm BinaryMinizationAlgorithm
void set_binary_search_num_conflicts(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_linearization_level(::PROTOBUF_NAMESPACE_ID::int32 value)
static const std::string & ClauseProtection_Name(T enum_t_value)
void set_blocking_restart_window_size(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 restart_period() const
void set_preferred_variable_order(::operations_research::sat::SatParameters_VariableOrder value)
void set_presolve_substitution_level(::PROTOBUF_NAMESPACE_ID::int32 value)
bool use_overload_checker_in_cumulative_constraint() const
::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm max_sat_stratification() const
void set_pb_cleanup_increment(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_presolve_bva_threshold(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MaxSatStratificationAlgorithm_descriptor()
static const std::string & MaxSatStratificationAlgorithm_Name(T enum_t_value)
SatParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
static const std::string & FPRoundingMethod_Name(T enum_t_value)
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
bool has_presolve_probing_deterministic_time_limit() const
void UnsafeArenaSwap(SatParameters *other)
void set_max_sat_assumption_order(::operations_research::sat::SatParameters_MaxSatAssumptionOrder value)
void set_glucose_decay_increment(double value)
::PROTOBUF_NAMESPACE_ID::int32 max_consecutive_inactive_count() const
::PROTOBUF_NAMESPACE_ID::int64 max_memory_in_mb() const
void set_minimization_algorithm(::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm value)
::PROTOBUF_NAMESPACE_ID::int32 num_conflicts_before_strategy_changes() const
::PROTOBUF_NAMESPACE_ID::int32 pb_cleanup_increment() const
::operations_research::sat::SatParameters_ClauseOrdering clause_cleanup_ordering() const
void set_max_clause_activity_value(double value)
void set_blocking_restart_multiplier(double value)
bool use_disjunctive_constraint_in_cumulative_constraint() const
::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm minimization_algorithm() const
void set_max_sat_reverse_assumption_order(bool value)
SatParameters_ClauseProtection ClauseProtection
void set_lns_focus_on_decision_variables(bool value)
::PROTOBUF_NAMESPACE_ID::int32 new_constraints_batch_size() const
void set_variable_activity_decay(double value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ClauseOrdering_descriptor()
::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_lbd_bound() const
void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value)
bool use_timetable_edge_finding_in_cumulative_constraint() const
::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_num_decisions() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MaxSatAssumptionOrder_descriptor()
SatParameters_VariableOrder VariableOrder
static const std::string & BinaryMinizationAlgorithm_Name(T enum_t_value)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
void set_probing_period_at_root(::PROTOBUF_NAMESPACE_ID::int64 value)
SatParameters_ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_conflicts() const
void set_clause_cleanup_period(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_symmetry_level(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_cut_max_active_count_value(double value)
void set_keep_all_feasible_solutions_in_presolve(bool value)
::PROTOBUF_NAMESPACE_ID::int32 random_seed() const
void set_clause_cleanup_lbd_bound(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_binary_minimization_algorithm(::operations_research::sat::SatParameters_BinaryMinizationAlgorithm value)
static const std::string & MaxSatAssumptionOrder_Name(T enum_t_value)
::PROTOBUF_NAMESPACE_ID::int64 pseudo_cost_reliability_threshold() const
static bool MaxSatStratificationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MaxSatStratificationAlgorithm *value)
void set_hint_conflict_limit(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_presolve_bve_clause_weight(::PROTOBUF_NAMESPACE_ID::int32 value)
SatParameters(const SatParameters &from)
void set_lns_expand_intervals_in_constraint_graph(bool value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
::PROTOBUF_NAMESPACE_ID::int32 binary_search_num_conflicts() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int > & restart_algorithms() const
void set_restart_running_window_size(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_period() const
static bool RestartAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RestartAlgorithm *value)
::PROTOBUF_NAMESPACE_ID::int32 max_integer_rounding_scaling() const
SatParameters_RestartAlgorithm RestartAlgorithm
static const std::string & RestartAlgorithm_Name(T enum_t_value)
void set_merge_no_overlap_work_limit(double value)
bool has_use_overload_checker_in_cumulative_constraint() const
static const std::string & ConflictMinimizationAlgorithm_Name(T enum_t_value)
::PROTOBUF_NAMESPACE_ID::int64 search_randomization_tolerance() const
static bool FPRoundingMethod_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, FPRoundingMethod *value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SearchBranching_descriptor()
static bool BinaryMinizationAlgorithm_IsValid(int value)
::PROTOBUF_NAMESPACE_ID::int32 blocking_restart_window_size() const
::PROTOBUF_NAMESPACE_ID::int32 glucose_decay_increment_period() const
const std::string & name() const
void set_count_assumption_levels_in_lbd(bool value)
bool has_use_precedences_in_disjunctive_constraint() const
::operations_research::sat::SatParameters_BinaryMinizationAlgorithm binary_minimization_algorithm() const
void set_cut_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value)
SatParameters_MaxSatAssumptionOrder MaxSatAssumptionOrder
static const SatParameters * internal_default_instance()
void set_initial_variables_activity(double value)
void set_name(std::string &&value)
::PROTOBUF_NAMESPACE_ID::int32 boolean_encoding_level() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BinaryMinizationAlgorithm_descriptor()
void set_default_restart_algorithms(std::string &&value)
void set_fp_rounding(::operations_research::sat::SatParameters_FPRoundingMethod value)
::PROTOBUF_NAMESPACE_ID::int32 cp_model_max_num_presolve_operations() const
::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_restart_period() const
static bool ClauseProtection_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClauseProtection *value)
void set_max_sat_stratification(::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm value)
::PROTOBUF_NAMESPACE_ID::int32 cut_cleanup_target() const
::PROTOBUF_NAMESPACE_ID::int32 max_cut_rounds_at_level_zero() const
void set_allocated_name(std::string *name)
void set_presolve_extract_integer_enforcement(bool value)
SatParameters_ClauseOrdering ClauseOrdering
void set_subsumption_during_conflict_analysis(bool value)
void set_allocated_default_restart_algorithms(std::string *default_restart_algorithms)
::PROTOBUF_NAMESPACE_ID::int64 probing_period_at_root() const
static const SatParameters & default_instance()
static const std::string & ClauseOrdering_Name(T enum_t_value)
::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_target() const
void set_default_restart_algorithms(const std::string &value)
void set_presolve_probing_deterministic_time_limit(double value)
void set_num_conflicts_before_strategy_changes(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 presolve_bva_threshold() const
void set_max_all_diff_cut_size(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 hint_conflict_limit() const
::PROTOBUF_NAMESPACE_ID::int32 max_presolve_iterations() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static bool VariableOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VariableOrder *value)
void set_glucose_decay_increment_period(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_max_consecutive_inactive_count(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::SatParameters_MaxSatAssumptionOrder max_sat_assumption_order() const
::operations_research::sat::SatParameters_RestartAlgorithm restart_algorithms(int index) const
void set_num_search_workers(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_clause_cleanup_protection(::operations_research::sat::SatParameters_ClauseProtection value)
void set_max_cut_rounds_at_level_zero(::PROTOBUF_NAMESPACE_ID::int32 value)
const std::string name
int64 value
unsigned int uint32
int int32
int64_t int64
unsigned char uint8
constexpr int SatParameters_ClauseOrdering_ClauseOrdering_ARRAYSIZE
constexpr SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MIN
constexpr SatParameters_ClauseProtection SatParameters_ClauseProtection_ClauseProtection_MAX
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseProtection_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatAssumptionOrder_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_VariableOrder_descriptor()
bool SatParameters_RestartAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_RestartAlgorithm *value)
constexpr int SatParameters_ClauseProtection_ClauseProtection_ARRAYSIZE
bool SatParameters_Polarity_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_Polarity *value)
@ SatParameters_SearchBranching_PORTFOLIO_WITH_QUICK_RESTART_SEARCH
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseOrdering_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_BinaryMinizationAlgorithm_descriptor()
bool SatParameters_ClauseProtection_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ClauseProtection *value)
class operations_research::sat::SatParametersDefaultTypeInternal _SatParameters_default_instance_
bool SatParameters_MaxSatStratificationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_MaxSatStratificationAlgorithm *value)
constexpr SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MAX
const std::string & SatParameters_FPRoundingMethod_Name(T enum_t_value)
bool SatParameters_VariableOrder_IsValid(int value)
@ SatParameters_ConflictMinimizationAlgorithm_EXPERIMENTAL
constexpr SatParameters_ClauseProtection SatParameters_ClauseProtection_ClauseProtection_MIN
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_SearchBranching_descriptor()
constexpr int SatParameters_SearchBranching_SearchBranching_ARRAYSIZE
const std::string & SatParameters_RestartAlgorithm_Name(T enum_t_value)
constexpr SatParameters_Polarity SatParameters_Polarity_Polarity_MAX
constexpr int SatParameters_RestartAlgorithm_RestartAlgorithm_ARRAYSIZE
constexpr SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MAX
constexpr SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MIN
bool SatParameters_BinaryMinizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_BinaryMinizationAlgorithm *value)
constexpr SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MAX
constexpr SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MIN
bool SatParameters_ClauseOrdering_IsValid(int value)
bool SatParameters_ClauseOrdering_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ClauseOrdering *value)
constexpr SatParameters_Polarity SatParameters_Polarity_Polarity_MIN
bool SatParameters_RestartAlgorithm_IsValid(int value)
bool SatParameters_ClauseProtection_IsValid(int value)
const std::string & SatParameters_MaxSatStratificationAlgorithm_Name(T enum_t_value)
@ SatParameters_BinaryMinizationAlgorithm_EXPERIMENTAL_BINARY_MINIMIZATION
@ SatParameters_BinaryMinizationAlgorithm_BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
@ SatParameters_BinaryMinizationAlgorithm_BINARY_MINIMIZATION_WITH_REACHABILITY
@ SatParameters_BinaryMinizationAlgorithm_BINARY_MINIMIZATION_FIRST
@ SatParameters_BinaryMinizationAlgorithm_NO_BINARY_MINIMIZATION
constexpr SatParameters_FPRoundingMethod SatParameters_FPRoundingMethod_FPRoundingMethod_MIN
bool SatParameters_MaxSatAssumptionOrder_IsValid(int value)
const std::string & SatParameters_ClauseOrdering_Name(T enum_t_value)
constexpr SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MAX
@ SatParameters_MaxSatAssumptionOrder_ORDER_ASSUMPTION_BY_WEIGHT
@ SatParameters_MaxSatAssumptionOrder_DEFAULT_ASSUMPTION_ORDER
@ SatParameters_MaxSatAssumptionOrder_ORDER_ASSUMPTION_BY_DEPTH
constexpr SatParameters_FPRoundingMethod SatParameters_FPRoundingMethod_FPRoundingMethod_MAX
bool SatParameters_BinaryMinizationAlgorithm_IsValid(int value)
@ SatParameters_RestartAlgorithm_DL_MOVING_AVERAGE_RESTART
@ SatParameters_RestartAlgorithm_LBD_MOVING_AVERAGE_RESTART
constexpr int SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_ARRAYSIZE
const std::string & SatParameters_VariableOrder_Name(T enum_t_value)
bool SatParameters_SearchBranching_IsValid(int value)
constexpr SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MIN
const std::string & SatParameters_MaxSatAssumptionOrder_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ConflictMinimizationAlgorithm_descriptor()
constexpr SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MAX
constexpr int SatParameters_FPRoundingMethod_FPRoundingMethod_ARRAYSIZE
bool SatParameters_MaxSatAssumptionOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_MaxSatAssumptionOrder *value)
constexpr SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MAX
constexpr SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MAX
constexpr SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MAX
constexpr int SatParameters_VariableOrder_VariableOrder_ARRAYSIZE
bool SatParameters_ConflictMinimizationAlgorithm_IsValid(int value)
const std::string & SatParameters_SearchBranching_Name(T enum_t_value)
constexpr SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MIN
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_Polarity_descriptor()
constexpr int SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_ARRAYSIZE
constexpr SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MIN
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_RestartAlgorithm_descriptor()
bool SatParameters_FPRoundingMethod_IsValid(int value)
bool SatParameters_MaxSatStratificationAlgorithm_IsValid(int value)
bool SatParameters_ConflictMinimizationAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ConflictMinimizationAlgorithm *value)
@ SatParameters_MaxSatStratificationAlgorithm_STRATIFICATION_NONE
@ SatParameters_MaxSatStratificationAlgorithm_STRATIFICATION_DESCENT
@ SatParameters_MaxSatStratificationAlgorithm_STRATIFICATION_ASCENT
bool SatParameters_VariableOrder_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_VariableOrder *value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatStratificationAlgorithm_descriptor()
constexpr int SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_ARRAYSIZE
const std::string & SatParameters_ClauseProtection_Name(T enum_t_value)
bool SatParameters_SearchBranching_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_SearchBranching *value)
constexpr SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MIN
constexpr SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MIN
const std::string & SatParameters_BinaryMinizationAlgorithm_Name(T enum_t_value)
bool SatParameters_Polarity_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_FPRoundingMethod_descriptor()
const std::string & SatParameters_ConflictMinimizationAlgorithm_Name(T enum_t_value)
constexpr int SatParameters_Polarity_Polarity_ARRAYSIZE
const std::string & SatParameters_Polarity_Name(T enum_t_value)
constexpr int SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_ARRAYSIZE
bool SatParameters_FPRoundingMethod_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_FPRoundingMethod *value)
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
PyObject * from(const Type &val)
int index
Definition: pack.cc:508
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]