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