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 < 3008000
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 3008000 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 // @@protoc_insertion_point(includes)
37 #include <google/protobuf/port_def.inc>
38 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fsat_5fparameters_2eproto
39 PROTOBUF_NAMESPACE_OPEN
40 namespace internal {
41 class AnyMetadata;
42 } // namespace internal
43 PROTOBUF_NAMESPACE_CLOSE
44 
45 // Internal implementation detail -- do not use these members.
47  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
48  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
49  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
50  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
51  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
52  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
53  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
54  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
55  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
56 };
57 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 class 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) {
84  static_assert(::std::is_same<T, SatParameters_VariableOrder>::value ||
85  ::std::is_integral<T>::value,
86  "Incorrect type passed to function SatParameters_VariableOrder_Name.");
87  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
89 }
91  const std::string& name, SatParameters_VariableOrder* value) {
92  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_VariableOrder>(
94 }
101 };
102 bool SatParameters_Polarity_IsValid(int value);
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) {
110  static_assert(::std::is_same<T, SatParameters_Polarity>::value ||
111  ::std::is_integral<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  const std::string& name, SatParameters_Polarity* value) {
118  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_Polarity>(
119  SatParameters_Polarity_descriptor(), name, value);
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) {
135  static_assert(::std::is_same<T, SatParameters_ConflictMinimizationAlgorithm>::value ||
136  ::std::is_integral<T>::value,
137  "Incorrect type passed to function SatParameters_ConflictMinimizationAlgorithm_Name.");
138  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
140 }
142  const std::string& 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) {
161  static_assert(::std::is_same<T, SatParameters_BinaryMinizationAlgorithm>::value ||
162  ::std::is_integral<T>::value,
163  "Incorrect type passed to function SatParameters_BinaryMinizationAlgorithm_Name.");
164  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
166 }
168  const std::string& 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) {
185  static_assert(::std::is_same<T, SatParameters_ClauseProtection>::value ||
186  ::std::is_integral<T>::value,
187  "Incorrect type passed to function SatParameters_ClauseProtection_Name.");
188  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
190 }
192  const std::string& 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) {
208  static_assert(::std::is_same<T, SatParameters_ClauseOrdering>::value ||
209  ::std::is_integral<T>::value,
210  "Incorrect type passed to function SatParameters_ClauseOrdering_Name.");
211  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
213 }
215  const std::string& 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) {
234  static_assert(::std::is_same<T, SatParameters_RestartAlgorithm>::value ||
235  ::std::is_integral<T>::value,
236  "Incorrect type passed to function SatParameters_RestartAlgorithm_Name.");
237  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
239 }
241  const std::string& 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) {
258  static_assert(::std::is_same<T, SatParameters_MaxSatAssumptionOrder>::value ||
259  ::std::is_integral<T>::value,
260  "Incorrect type passed to function SatParameters_MaxSatAssumptionOrder_Name.");
261  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
263 }
265  const std::string& 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) {
282  static_assert(::std::is_same<T, SatParameters_MaxSatStratificationAlgorithm>::value ||
283  ::std::is_integral<T>::value,
284  "Incorrect type passed to function SatParameters_MaxSatStratificationAlgorithm_Name.");
285  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
287 }
289  const std::string& 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) {
310  static_assert(::std::is_same<T, SatParameters_SearchBranching>::value ||
311  ::std::is_integral<T>::value,
312  "Incorrect type passed to function SatParameters_SearchBranching_Name.");
313  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
315 }
317  const std::string& name, SatParameters_SearchBranching* value) {
318  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SatParameters_SearchBranching>(
320 }
321 // ===================================================================
322 
323 class SatParameters :
324  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SatParameters) */ {
325  public:
326  SatParameters();
327  virtual ~SatParameters();
328 
329  SatParameters(const SatParameters& from);
330  SatParameters(SatParameters&& from) noexcept
332  *this = ::std::move(from);
333  }
334 
335  inline SatParameters& operator=(const SatParameters& from) {
336  CopyFrom(from);
337  return *this;
338  }
339  inline SatParameters& operator=(SatParameters&& from) noexcept {
340  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
341  if (this != &from) InternalSwap(&from);
342  } else {
343  CopyFrom(from);
344  }
345  return *this;
346  }
347 
348  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
349  return _internal_metadata_.unknown_fields();
350  }
351  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
352  return _internal_metadata_.mutable_unknown_fields();
353  }
354 
355  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
356  return GetDescriptor();
357  }
358  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
359  return GetMetadataStatic().descriptor;
360  }
361  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
362  return GetMetadataStatic().reflection;
363  }
364  static const SatParameters& default_instance();
365 
366  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
367  static inline const SatParameters* internal_default_instance() {
368  return reinterpret_cast<const SatParameters*>(
370  }
371  static constexpr int kIndexInFileMessages =
372  0;
373 
374  void Swap(SatParameters* other);
375  friend void swap(SatParameters& a, SatParameters& b) {
376  a.Swap(&b);
377  }
378 
379  // implements Message ----------------------------------------------
380 
381  inline SatParameters* New() const final {
382  return CreateMaybeMessage<SatParameters>(nullptr);
383  }
384 
385  SatParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
386  return CreateMaybeMessage<SatParameters>(arena);
387  }
388  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
389  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
390  void CopyFrom(const SatParameters& from);
391  void MergeFrom(const SatParameters& from);
392  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
393  bool IsInitialized() const final;
394 
395  size_t ByteSizeLong() const final;
396  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
397  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
398  #else
400  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
401  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
403  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
404  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
405  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
406  int GetCachedSize() const final { return _cached_size_.Get(); }
408  private:
409  inline void SharedCtor();
410  inline void SharedDtor();
411  void SetCachedSize(int size) const final;
412  void InternalSwap(SatParameters* other);
413  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
414  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
415  return "operations_research.sat.SatParameters";
416  }
417  private:
418  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
419  return nullptr;
420  }
421  inline void* MaybeArenaPtr() const {
422  return nullptr;
423  }
424  public:
425 
426  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
427  private:
428  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
429  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto);
431  }
432 
433  public:
434 
435  // nested types ----------------------------------------------------
436 
438  static constexpr VariableOrder IN_ORDER =
440  static constexpr VariableOrder IN_REVERSE_ORDER =
442  static constexpr VariableOrder IN_RANDOM_ORDER =
444  static inline bool VariableOrder_IsValid(int value) {
446  }
447  static constexpr VariableOrder VariableOrder_MIN =
449  static constexpr VariableOrder VariableOrder_MAX =
451  static constexpr int VariableOrder_ARRAYSIZE =
453  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
456  }
457  template<typename T>
458  static inline const std::string& VariableOrder_Name(T enum_t_value) {
459  static_assert(::std::is_same<T, VariableOrder>::value ||
460  ::std::is_integral<T>::value,
461  "Incorrect type passed to function VariableOrder_Name.");
462  return SatParameters_VariableOrder_Name(enum_t_value);
463  }
464  static inline bool VariableOrder_Parse(const std::string& name,
465  VariableOrder* value) {
466  return SatParameters_VariableOrder_Parse(name, value);
467  }
468 
470  static constexpr Polarity POLARITY_TRUE =
472  static constexpr Polarity POLARITY_FALSE =
474  static constexpr Polarity POLARITY_RANDOM =
476  static constexpr Polarity POLARITY_WEIGHTED_SIGN =
478  static constexpr Polarity POLARITY_REVERSE_WEIGHTED_SIGN =
480  static inline bool Polarity_IsValid(int value) {
482  }
483  static constexpr Polarity Polarity_MIN =
485  static constexpr Polarity Polarity_MAX =
487  static constexpr int Polarity_ARRAYSIZE =
489  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
492  }
493  template<typename T>
494  static inline const std::string& Polarity_Name(T enum_t_value) {
495  static_assert(::std::is_same<T, Polarity>::value ||
496  ::std::is_integral<T>::value,
497  "Incorrect type passed to function Polarity_Name.");
498  return SatParameters_Polarity_Name(enum_t_value);
499  }
500  static inline bool Polarity_Parse(const std::string& name,
501  Polarity* value) {
502  return SatParameters_Polarity_Parse(name, value);
503  }
504 
508  static constexpr ConflictMinimizationAlgorithm SIMPLE =
510  static constexpr ConflictMinimizationAlgorithm RECURSIVE =
514  static inline bool ConflictMinimizationAlgorithm_IsValid(int value) {
516  }
521  static constexpr int ConflictMinimizationAlgorithm_ARRAYSIZE =
523  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
526  }
527  template<typename T>
528  static inline const std::string& ConflictMinimizationAlgorithm_Name(T enum_t_value) {
529  static_assert(::std::is_same<T, ConflictMinimizationAlgorithm>::value ||
530  ::std::is_integral<T>::value,
531  "Incorrect type passed to function ConflictMinimizationAlgorithm_Name.");
533  }
534  static inline bool ConflictMinimizationAlgorithm_Parse(const std::string& name,
537  }
538 
550  static inline bool BinaryMinizationAlgorithm_IsValid(int value) {
552  }
557  static constexpr int BinaryMinizationAlgorithm_ARRAYSIZE =
559  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
562  }
563  template<typename T>
564  static inline const std::string& BinaryMinizationAlgorithm_Name(T enum_t_value) {
565  static_assert(::std::is_same<T, BinaryMinizationAlgorithm>::value ||
566  ::std::is_integral<T>::value,
567  "Incorrect type passed to function BinaryMinizationAlgorithm_Name.");
569  }
570  static inline bool BinaryMinizationAlgorithm_Parse(const std::string& name,
573  }
574 
578  static constexpr ClauseProtection PROTECTION_ALWAYS =
580  static constexpr ClauseProtection PROTECTION_LBD =
582  static inline bool ClauseProtection_IsValid(int value) {
584  }
585  static constexpr ClauseProtection ClauseProtection_MIN =
587  static constexpr ClauseProtection ClauseProtection_MAX =
589  static constexpr int ClauseProtection_ARRAYSIZE =
591  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
594  }
595  template<typename T>
596  static inline const std::string& ClauseProtection_Name(T enum_t_value) {
597  static_assert(::std::is_same<T, ClauseProtection>::value ||
598  ::std::is_integral<T>::value,
599  "Incorrect type passed to function ClauseProtection_Name.");
600  return SatParameters_ClauseProtection_Name(enum_t_value);
601  }
602  static inline bool ClauseProtection_Parse(const std::string& name,
604  return SatParameters_ClauseProtection_Parse(name, value);
605  }
606 
608  static constexpr ClauseOrdering CLAUSE_ACTIVITY =
610  static constexpr ClauseOrdering CLAUSE_LBD =
612  static inline bool ClauseOrdering_IsValid(int value) {
614  }
615  static constexpr ClauseOrdering ClauseOrdering_MIN =
617  static constexpr ClauseOrdering ClauseOrdering_MAX =
619  static constexpr int ClauseOrdering_ARRAYSIZE =
621  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
624  }
625  template<typename T>
626  static inline const std::string& ClauseOrdering_Name(T enum_t_value) {
627  static_assert(::std::is_same<T, ClauseOrdering>::value ||
628  ::std::is_integral<T>::value,
629  "Incorrect type passed to function ClauseOrdering_Name.");
630  return SatParameters_ClauseOrdering_Name(enum_t_value);
631  }
632  static inline bool ClauseOrdering_Parse(const std::string& name,
633  ClauseOrdering* value) {
634  return SatParameters_ClauseOrdering_Parse(name, value);
635  }
636 
638  static constexpr RestartAlgorithm NO_RESTART =
640  static constexpr RestartAlgorithm LUBY_RESTART =
646  static constexpr RestartAlgorithm FIXED_RESTART =
648  static inline bool RestartAlgorithm_IsValid(int value) {
650  }
651  static constexpr RestartAlgorithm RestartAlgorithm_MIN =
653  static constexpr RestartAlgorithm RestartAlgorithm_MAX =
655  static constexpr int RestartAlgorithm_ARRAYSIZE =
657  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
660  }
661  template<typename T>
662  static inline const std::string& RestartAlgorithm_Name(T enum_t_value) {
663  static_assert(::std::is_same<T, RestartAlgorithm>::value ||
664  ::std::is_integral<T>::value,
665  "Incorrect type passed to function RestartAlgorithm_Name.");
666  return SatParameters_RestartAlgorithm_Name(enum_t_value);
667  }
668  static inline bool RestartAlgorithm_Parse(const std::string& name,
670  return SatParameters_RestartAlgorithm_Parse(name, value);
671  }
672 
680  static inline bool MaxSatAssumptionOrder_IsValid(int value) {
682  }
687  static constexpr int MaxSatAssumptionOrder_ARRAYSIZE =
689  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
692  }
693  template<typename T>
694  static inline const std::string& MaxSatAssumptionOrder_Name(T enum_t_value) {
695  static_assert(::std::is_same<T, MaxSatAssumptionOrder>::value ||
696  ::std::is_integral<T>::value,
697  "Incorrect type passed to function MaxSatAssumptionOrder_Name.");
698  return SatParameters_MaxSatAssumptionOrder_Name(enum_t_value);
699  }
700  static inline bool MaxSatAssumptionOrder_Parse(const std::string& name,
702  return SatParameters_MaxSatAssumptionOrder_Parse(name, value);
703  }
704 
712  static inline bool MaxSatStratificationAlgorithm_IsValid(int value) {
714  }
719  static constexpr int MaxSatStratificationAlgorithm_ARRAYSIZE =
721  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
724  }
725  template<typename T>
726  static inline const std::string& MaxSatStratificationAlgorithm_Name(T enum_t_value) {
727  static_assert(::std::is_same<T, MaxSatStratificationAlgorithm>::value ||
728  ::std::is_integral<T>::value,
729  "Incorrect type passed to function MaxSatStratificationAlgorithm_Name.");
731  }
732  static inline bool MaxSatStratificationAlgorithm_Parse(const std::string& name,
735  }
736 
740  static constexpr SearchBranching FIXED_SEARCH =
742  static constexpr SearchBranching PORTFOLIO_SEARCH =
744  static constexpr SearchBranching LP_SEARCH =
746  static constexpr SearchBranching PSEUDO_COST_SEARCH =
750  static constexpr SearchBranching HINT_SEARCH =
752  static inline bool SearchBranching_IsValid(int value) {
754  }
755  static constexpr SearchBranching SearchBranching_MIN =
757  static constexpr SearchBranching SearchBranching_MAX =
759  static constexpr int SearchBranching_ARRAYSIZE =
761  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
764  }
765  template<typename T>
766  static inline const std::string& SearchBranching_Name(T enum_t_value) {
767  static_assert(::std::is_same<T, SearchBranching>::value ||
768  ::std::is_integral<T>::value,
769  "Incorrect type passed to function SearchBranching_Name.");
770  return SatParameters_SearchBranching_Name(enum_t_value);
771  }
772  static inline bool SearchBranching_Parse(const std::string& name,
773  SearchBranching* value) {
774  return SatParameters_SearchBranching_Parse(name, value);
775  }
776 
777  // accessors -------------------------------------------------------
778 
779  // repeated .operations_research.sat.SatParameters.RestartAlgorithm restart_algorithms = 61;
780  int restart_algorithms_size() const;
782  static const int kRestartAlgorithmsFieldNumber = 61;
786  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& restart_algorithms() const;
787  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_restart_algorithms();
788 
789  // optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART"];
790  bool has_default_restart_algorithms() const;
792  static const int kDefaultRestartAlgorithmsFieldNumber = 70;
793  const std::string& default_restart_algorithms() const;
794  void set_default_restart_algorithms(const std::string& value);
795  void set_default_restart_algorithms(std::string&& value);
796  void set_default_restart_algorithms(const char* value);
797  void set_default_restart_algorithms(const char* value, size_t size);
798  std::string* mutable_default_restart_algorithms();
799  std::string* release_default_restart_algorithms();
801 
802  // optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default = IN_ORDER];
803  bool has_preferred_variable_order() const;
805  static const int kPreferredVariableOrderFieldNumber = 1;
808 
809  // optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [default = DEFAULT_ASSUMPTION_ORDER];
810  bool has_max_sat_assumption_order() const;
812  static const int kMaxSatAssumptionOrderFieldNumber = 51;
815 
816  // optional double random_branches_ratio = 32 [default = 0];
817  bool has_random_branches_ratio() const;
819  static const int kRandomBranchesRatioFieldNumber = 32;
820  double random_branches_ratio() const;
821  void set_random_branches_ratio(double value);
822 
823  // optional double random_polarity_ratio = 45 [default = 0];
824  bool has_random_polarity_ratio() const;
826  static const int kRandomPolarityRatioFieldNumber = 45;
827  double random_polarity_ratio() const;
828  void set_random_polarity_ratio(double value);
829 
830  // optional bool use_pb_resolution = 43 [default = false];
831  bool has_use_pb_resolution() const;
833  static const int kUsePbResolutionFieldNumber = 43;
834  bool use_pb_resolution() const;
835  void set_use_pb_resolution(bool value);
836 
837  // optional bool minimize_reduction_during_pb_resolution = 48 [default = false];
843 
844  // optional bool max_sat_reverse_assumption_order = 52 [default = false];
847  static const int kMaxSatReverseAssumptionOrderFieldNumber = 52;
849  void set_max_sat_reverse_assumption_order(bool value);
850 
851  // optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
857 
858  // optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [default = PROTECTION_NONE];
859  bool has_clause_cleanup_protection() const;
861  static const int kClauseCleanupProtectionFieldNumber = 58;
864 
865  // optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default = CLAUSE_ACTIVITY];
866  bool has_clause_cleanup_ordering() const;
868  static const int kClauseCleanupOrderingFieldNumber = 60;
871 
872  // optional bool use_erwa_heuristic = 75 [default = false];
873  bool has_use_erwa_heuristic() const;
875  static const int kUseErwaHeuristicFieldNumber = 75;
876  bool use_erwa_heuristic() const;
877  void set_use_erwa_heuristic(bool value);
878 
879  // optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
885 
886  // optional bool use_blocking_restart = 64 [default = false];
887  bool has_use_blocking_restart() const;
889  static const int kUseBlockingRestartFieldNumber = 64;
890  bool use_blocking_restart() const;
891  void set_use_blocking_restart(bool value);
892 
893  // optional bool log_search_progress = 41 [default = false];
894  bool has_log_search_progress() const;
896  static const int kLogSearchProgressFieldNumber = 41;
897  bool log_search_progress() const;
898  void set_log_search_progress(bool value);
899 
900  // optional double strategy_change_increase_ratio = 69 [default = 0];
903  static const int kStrategyChangeIncreaseRatioFieldNumber = 69;
905  void set_strategy_change_increase_ratio(double value);
906 
907  // optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
910  static const int kNumConflictsBeforeStrategyChangesFieldNumber = 68;
911  ::PROTOBUF_NAMESPACE_ID::int32 num_conflicts_before_strategy_changes() const;
912  void set_num_conflicts_before_strategy_changes(::PROTOBUF_NAMESPACE_ID::int32 value);
913 
914  // optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTOMATIC_SEARCH];
915  bool has_search_branching() const;
916  void clear_search_branching();
917  static const int kSearchBranchingFieldNumber = 82;
920 
921  // optional double initial_variables_activity = 76 [default = 0];
922  bool has_initial_variables_activity() const;
924  static const int kInitialVariablesActivityFieldNumber = 76;
926  void set_initial_variables_activity(double value);
927 
928  // optional bool exploit_best_solution = 130 [default = false];
929  bool has_exploit_best_solution() const;
931  static const int kExploitBestSolutionFieldNumber = 130;
932  bool exploit_best_solution() const;
933  void set_exploit_best_solution(bool value);
934 
935  // optional bool optimize_with_core = 83 [default = false];
936  bool has_optimize_with_core() const;
938  static const int kOptimizeWithCoreFieldNumber = 83;
939  bool optimize_with_core() const;
940  void set_optimize_with_core(bool value);
941 
942  // optional bool optimize_with_max_hs = 85 [default = false];
943  bool has_optimize_with_max_hs() const;
945  static const int kOptimizeWithMaxHsFieldNumber = 85;
946  bool optimize_with_max_hs() const;
947  void set_optimize_with_max_hs(bool value);
948 
949  // optional bool enumerate_all_solutions = 87 [default = false];
950  bool has_enumerate_all_solutions() const;
952  static const int kEnumerateAllSolutionsFieldNumber = 87;
954  void set_enumerate_all_solutions(bool value);
955 
956  // optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
962 
963  // optional bool only_add_cuts_at_level_zero = 92 [default = false];
964  bool has_only_add_cuts_at_level_zero() const;
966  static const int kOnlyAddCutsAtLevelZeroFieldNumber = 92;
968  void set_only_add_cuts_at_level_zero(bool value);
969 
970  // optional bool add_knapsack_cuts = 111 [default = false];
971  bool has_add_knapsack_cuts() const;
973  static const int kAddKnapsackCutsFieldNumber = 111;
974  bool add_knapsack_cuts() const;
975  void set_add_knapsack_cuts(bool value);
976 
977  // optional bool add_cg_cuts = 117 [default = false];
978  bool has_add_cg_cuts() const;
979  void clear_add_cg_cuts();
980  static const int kAddCgCutsFieldNumber = 117;
981  bool add_cg_cuts() const;
982  void set_add_cg_cuts(bool value);
983 
984  // optional int64 search_randomization_tolerance = 104 [default = 0];
987  static const int kSearchRandomizationToleranceFieldNumber = 104;
988  ::PROTOBUF_NAMESPACE_ID::int64 search_randomization_tolerance() const;
989  void set_search_randomization_tolerance(::PROTOBUF_NAMESPACE_ID::int64 value);
990 
991  // optional double min_orthogonality_for_lp_constraints = 115 [default = 0];
994  static const int kMinOrthogonalityForLpConstraintsFieldNumber = 115;
996  void set_min_orthogonality_for_lp_constraints(double value);
997 
998  // optional bool use_lns_only = 101 [default = false];
999  bool has_use_lns_only() const;
1000  void clear_use_lns_only();
1001  static const int kUseLnsOnlyFieldNumber = 101;
1002  bool use_lns_only() const;
1003  void set_use_lns_only(bool value);
1004 
1005  // optional bool lns_focus_on_decision_variables = 105 [default = false];
1008  static const int kLnsFocusOnDecisionVariablesFieldNumber = 105;
1010  void set_lns_focus_on_decision_variables(bool value);
1011 
1012  // optional bool randomize_search = 103 [default = false];
1013  bool has_randomize_search() const;
1014  void clear_randomize_search();
1015  static const int kRandomizeSearchFieldNumber = 103;
1016  bool randomize_search() const;
1017  void set_randomize_search(bool value);
1018 
1019  // optional bool use_combined_no_overlap = 133 [default = false];
1020  bool has_use_combined_no_overlap() const;
1022  static const int kUseCombinedNoOverlapFieldNumber = 133;
1024  void set_use_combined_no_overlap(bool value);
1025 
1026  // optional bool fill_tightened_domains_in_response = 132 [default = false];
1029  static const int kFillTightenedDomainsInResponseFieldNumber = 132;
1031  void set_fill_tightened_domains_in_response(bool value);
1032 
1033  // optional bool stop_after_first_solution = 98 [default = false];
1034  bool has_stop_after_first_solution() const;
1036  static const int kStopAfterFirstSolutionFieldNumber = 98;
1038  void set_stop_after_first_solution(bool value);
1039 
1040  // optional bool interleave_search = 136 [default = false];
1041  bool has_interleave_search() const;
1042  void clear_interleave_search();
1043  static const int kInterleaveSearchFieldNumber = 136;
1044  bool interleave_search() const;
1045  void set_interleave_search(bool value);
1046 
1047  // optional bool deterministic_parallel_search = 134 [default = false];
1048  bool has_deterministic_parallel_search() const;
1050  static const int kDeterministicParallelSearchFieldNumber = 134;
1052  void set_deterministic_parallel_search(bool value);
1053 
1054  // optional int32 mip_max_activity_exponent = 127 [default = 53];
1055  bool has_mip_max_activity_exponent() const;
1057  static const int kMipMaxActivityExponentFieldNumber = 127;
1058  ::PROTOBUF_NAMESPACE_ID::int32 mip_max_activity_exponent() const;
1059  void set_mip_max_activity_exponent(::PROTOBUF_NAMESPACE_ID::int32 value);
1060 
1061  // optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FALSE];
1062  bool has_initial_polarity() const;
1063  void clear_initial_polarity();
1064  static const int kInitialPolarityFieldNumber = 2;
1067 
1068  // optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm = 4 [default = RECURSIVE];
1069  bool has_minimization_algorithm() const;
1071  static const int kMinimizationAlgorithmFieldNumber = 4;
1074 
1075  // optional int32 clause_cleanup_period = 11 [default = 10000];
1076  bool has_clause_cleanup_period() const;
1078  static const int kClauseCleanupPeriodFieldNumber = 11;
1079  ::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_period() const;
1080  void set_clause_cleanup_period(::PROTOBUF_NAMESPACE_ID::int32 value);
1081 
1082  // optional int32 clause_cleanup_target = 13 [default = 10000];
1083  bool has_clause_cleanup_target() const;
1085  static const int kClauseCleanupTargetFieldNumber = 13;
1086  ::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_target() const;
1087  void set_clause_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1088 
1089  // optional double variable_activity_decay = 15 [default = 0.8];
1090  bool has_variable_activity_decay() const;
1092  static const int kVariableActivityDecayFieldNumber = 15;
1093  double variable_activity_decay() const;
1094  void set_variable_activity_decay(double value);
1095 
1096  // optional double max_variable_activity_value = 16 [default = 1e+100];
1097  bool has_max_variable_activity_value() const;
1099  static const int kMaxVariableActivityValueFieldNumber = 16;
1101  void set_max_variable_activity_value(double value);
1102 
1103  // optional double clause_activity_decay = 17 [default = 0.999];
1104  bool has_clause_activity_decay() const;
1106  static const int kClauseActivityDecayFieldNumber = 17;
1107  double clause_activity_decay() const;
1108  void set_clause_activity_decay(double value);
1109 
1110  // optional double max_clause_activity_value = 18 [default = 1e+20];
1111  bool has_max_clause_activity_value() const;
1113  static const int kMaxClauseActivityValueFieldNumber = 18;
1115  void set_max_clause_activity_value(double value);
1116 
1117  // optional double glucose_max_decay = 22 [default = 0.95];
1118  bool has_glucose_max_decay() const;
1119  void clear_glucose_max_decay();
1120  static const int kGlucoseMaxDecayFieldNumber = 22;
1121  double glucose_max_decay() const;
1122  void set_glucose_max_decay(double value);
1123 
1124  // optional double glucose_decay_increment = 23 [default = 0.01];
1125  bool has_glucose_decay_increment() const;
1127  static const int kGlucoseDecayIncrementFieldNumber = 23;
1128  double glucose_decay_increment() const;
1129  void set_glucose_decay_increment(double value);
1130 
1131  // optional int32 glucose_decay_increment_period = 24 [default = 5000];
1134  static const int kGlucoseDecayIncrementPeriodFieldNumber = 24;
1135  ::PROTOBUF_NAMESPACE_ID::int32 glucose_decay_increment_period() const;
1136  void set_glucose_decay_increment_period(::PROTOBUF_NAMESPACE_ID::int32 value);
1137 
1138  // optional int32 restart_period = 30 [default = 50];
1139  bool has_restart_period() const;
1140  void clear_restart_period();
1141  static const int kRestartPeriodFieldNumber = 30;
1142  ::PROTOBUF_NAMESPACE_ID::int32 restart_period() const;
1143  void set_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value);
1144 
1145  // optional int32 random_seed = 31 [default = 1];
1146  bool has_random_seed() const;
1147  void clear_random_seed();
1148  static const int kRandomSeedFieldNumber = 31;
1149  ::PROTOBUF_NAMESPACE_ID::int32 random_seed() const;
1150  void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
1151 
1152  // optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorithm = 34 [default = BINARY_MINIMIZATION_FIRST];
1153  bool has_binary_minimization_algorithm() const;
1155  static const int kBinaryMinimizationAlgorithmFieldNumber = 34;
1158 
1159  // optional double max_time_in_seconds = 36 [default = inf];
1160  bool has_max_time_in_seconds() const;
1162  static const int kMaxTimeInSecondsFieldNumber = 36;
1163  double max_time_in_seconds() const;
1164  void set_max_time_in_seconds(double value);
1165 
1166  // optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
1167  bool has_max_number_of_conflicts() const;
1169  static const int kMaxNumberOfConflictsFieldNumber = 37;
1170  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_conflicts() const;
1171  void set_max_number_of_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
1172 
1173  // optional int64 max_memory_in_mb = 40 [default = 10000];
1174  bool has_max_memory_in_mb() const;
1175  void clear_max_memory_in_mb();
1176  static const int kMaxMemoryInMbFieldNumber = 40;
1177  ::PROTOBUF_NAMESPACE_ID::int64 max_memory_in_mb() const;
1178  void set_max_memory_in_mb(::PROTOBUF_NAMESPACE_ID::int64 value);
1179 
1180  // optional bool use_phase_saving = 44 [default = true];
1181  bool has_use_phase_saving() const;
1182  void clear_use_phase_saving();
1183  static const int kUsePhaseSavingFieldNumber = 44;
1184  bool use_phase_saving() const;
1185  void set_use_phase_saving(bool value);
1186 
1187  // optional bool subsumption_during_conflict_analysis = 56 [default = true];
1190  static const int kSubsumptionDuringConflictAnalysisFieldNumber = 56;
1193 
1194  // optional bool treat_binary_clauses_separately = 33 [default = true];
1197  static const int kTreatBinaryClausesSeparatelyFieldNumber = 33;
1199  void set_treat_binary_clauses_separately(bool value);
1200 
1201  // optional bool count_assumption_levels_in_lbd = 49 [default = true];
1204  static const int kCountAssumptionLevelsInLbdFieldNumber = 49;
1206  void set_count_assumption_levels_in_lbd(bool value);
1207 
1208  // optional int32 pb_cleanup_increment = 46 [default = 200];
1209  bool has_pb_cleanup_increment() const;
1211  static const int kPbCleanupIncrementFieldNumber = 46;
1212  ::PROTOBUF_NAMESPACE_ID::int32 pb_cleanup_increment() const;
1213  void set_pb_cleanup_increment(::PROTOBUF_NAMESPACE_ID::int32 value);
1214 
1215  // optional double pb_cleanup_ratio = 47 [default = 0.5];
1216  bool has_pb_cleanup_ratio() const;
1217  void clear_pb_cleanup_ratio();
1218  static const int kPbCleanupRatioFieldNumber = 47;
1219  double pb_cleanup_ratio() const;
1220  void set_pb_cleanup_ratio(double value);
1221 
1222  // optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification = 53 [default = STRATIFICATION_DESCENT];
1223  bool has_max_sat_stratification() const;
1225  static const int kMaxSatStratificationFieldNumber = 53;
1228 
1229  // optional int32 presolve_bve_threshold = 54 [default = 500];
1230  bool has_presolve_bve_threshold() const;
1232  static const int kPresolveBveThresholdFieldNumber = 54;
1233  ::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_threshold() const;
1234  void set_presolve_bve_threshold(::PROTOBUF_NAMESPACE_ID::int32 value);
1235 
1236  // optional double presolve_probing_deterministic_time_limit = 57 [default = 30];
1242 
1243  // optional int32 presolve_bve_clause_weight = 55 [default = 3];
1244  bool has_presolve_bve_clause_weight() const;
1246  static const int kPresolveBveClauseWeightFieldNumber = 55;
1247  ::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_clause_weight() const;
1248  void set_presolve_bve_clause_weight(::PROTOBUF_NAMESPACE_ID::int32 value);
1249 
1250  // optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
1251  bool has_clause_cleanup_lbd_bound() const;
1253  static const int kClauseCleanupLbdBoundFieldNumber = 59;
1254  ::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_lbd_bound() const;
1255  void set_clause_cleanup_lbd_bound(::PROTOBUF_NAMESPACE_ID::int32 value);
1256 
1257  // optional bool presolve_blocked_clause = 88 [default = true];
1258  bool has_presolve_blocked_clause() const;
1260  static const int kPresolveBlockedClauseFieldNumber = 88;
1262  void set_presolve_blocked_clause(bool value);
1263 
1264  // optional bool presolve_use_bva = 72 [default = true];
1265  bool has_presolve_use_bva() const;
1266  void clear_presolve_use_bva();
1267  static const int kPresolveUseBvaFieldNumber = 72;
1268  bool presolve_use_bva() const;
1269  void set_presolve_use_bva(bool value);
1270 
1271  // optional bool use_optimization_hints = 35 [default = true];
1272  bool has_use_optimization_hints() const;
1274  static const int kUseOptimizationHintsFieldNumber = 35;
1276  void set_use_optimization_hints(bool value);
1277 
1278  // optional bool minimize_core = 50 [default = true];
1279  bool has_minimize_core() const;
1280  void clear_minimize_core();
1281  static const int kMinimizeCoreFieldNumber = 50;
1282  bool minimize_core() const;
1283  void set_minimize_core(bool value);
1284 
1285  // optional int32 restart_running_window_size = 62 [default = 50];
1286  bool has_restart_running_window_size() const;
1288  static const int kRestartRunningWindowSizeFieldNumber = 62;
1289  ::PROTOBUF_NAMESPACE_ID::int32 restart_running_window_size() const;
1290  void set_restart_running_window_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1291 
1292  // optional double restart_dl_average_ratio = 63 [default = 1];
1293  bool has_restart_dl_average_ratio() const;
1295  static const int kRestartDlAverageRatioFieldNumber = 63;
1297  void set_restart_dl_average_ratio(double value);
1298 
1299  // optional double blocking_restart_multiplier = 66 [default = 1.4];
1300  bool has_blocking_restart_multiplier() const;
1302  static const int kBlockingRestartMultiplierFieldNumber = 66;
1304  void set_blocking_restart_multiplier(double value);
1305 
1306  // optional double max_deterministic_time = 67 [default = inf];
1307  bool has_max_deterministic_time() const;
1309  static const int kMaxDeterministicTimeFieldNumber = 67;
1310  double max_deterministic_time() const;
1311  void set_max_deterministic_time(double value);
1312 
1313  // optional int32 blocking_restart_window_size = 65 [default = 5000];
1314  bool has_blocking_restart_window_size() const;
1316  static const int kBlockingRestartWindowSizeFieldNumber = 65;
1317  ::PROTOBUF_NAMESPACE_ID::int32 blocking_restart_window_size() const;
1318  void set_blocking_restart_window_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1319 
1320  // optional int32 presolve_bva_threshold = 73 [default = 1];
1321  bool has_presolve_bva_threshold() const;
1323  static const int kPresolveBvaThresholdFieldNumber = 73;
1324  ::PROTOBUF_NAMESPACE_ID::int32 presolve_bva_threshold() const;
1325  void set_presolve_bva_threshold(::PROTOBUF_NAMESPACE_ID::int32 value);
1326 
1327  // optional double restart_lbd_average_ratio = 71 [default = 1];
1328  bool has_restart_lbd_average_ratio() const;
1330  static const int kRestartLbdAverageRatioFieldNumber = 71;
1332  void set_restart_lbd_average_ratio(double value);
1333 
1334  // optional bool find_multiple_cores = 84 [default = true];
1335  bool has_find_multiple_cores() const;
1337  static const int kFindMultipleCoresFieldNumber = 84;
1338  bool find_multiple_cores() const;
1339  void set_find_multiple_cores(bool value);
1340 
1341  // optional bool cover_optimization = 89 [default = true];
1342  bool has_cover_optimization() const;
1343  void clear_cover_optimization();
1344  static const int kCoverOptimizationFieldNumber = 89;
1345  bool cover_optimization() const;
1346  void set_cover_optimization(bool value);
1347 
1348  // optional bool use_precedences_in_disjunctive_constraint = 74 [default = true];
1354 
1355  // optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
1361 
1362  // optional int32 linearization_level = 90 [default = 1];
1363  bool has_linearization_level() const;
1365  static const int kLinearizationLevelFieldNumber = 90;
1366  ::PROTOBUF_NAMESPACE_ID::int32 linearization_level() const;
1367  void set_linearization_level(::PROTOBUF_NAMESPACE_ID::int32 value);
1368 
1369  // optional int32 max_num_cuts = 91 [default = 5000];
1370  bool has_max_num_cuts() const;
1371  void clear_max_num_cuts();
1372  static const int kMaxNumCutsFieldNumber = 91;
1373  ::PROTOBUF_NAMESPACE_ID::int32 max_num_cuts() const;
1374  void set_max_num_cuts(::PROTOBUF_NAMESPACE_ID::int32 value);
1375 
1376  // optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
1380  ::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_restart_period() const;
1381  void set_minimize_with_propagation_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value);
1382 
1383  // optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
1387  ::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_num_decisions() const;
1388  void set_minimize_with_propagation_num_decisions(::PROTOBUF_NAMESPACE_ID::int32 value);
1389 
1390  // optional int32 binary_search_num_conflicts = 99 [default = -1];
1391  bool has_binary_search_num_conflicts() const;
1393  static const int kBinarySearchNumConflictsFieldNumber = 99;
1394  ::PROTOBUF_NAMESPACE_ID::int32 binary_search_num_conflicts() const;
1395  void set_binary_search_num_conflicts(::PROTOBUF_NAMESPACE_ID::int32 value);
1396 
1397  // optional int32 num_search_workers = 100 [default = 1];
1398  bool has_num_search_workers() const;
1399  void clear_num_search_workers();
1400  static const int kNumSearchWorkersFieldNumber = 100;
1401  ::PROTOBUF_NAMESPACE_ID::int32 num_search_workers() const;
1402  void set_num_search_workers(::PROTOBUF_NAMESPACE_ID::int32 value);
1403 
1404  // optional bool exploit_all_lp_solution = 116 [default = true];
1405  bool has_exploit_all_lp_solution() const;
1407  static const int kExploitAllLpSolutionFieldNumber = 116;
1409  void set_exploit_all_lp_solution(bool value);
1410 
1411  // optional bool exploit_objective = 131 [default = true];
1412  bool has_exploit_objective() const;
1413  void clear_exploit_objective();
1414  static const int kExploitObjectiveFieldNumber = 131;
1415  bool exploit_objective() const;
1416  void set_exploit_objective(bool value);
1417 
1418  // optional bool cp_model_presolve = 86 [default = true];
1419  bool has_cp_model_presolve() const;
1420  void clear_cp_model_presolve();
1421  static const int kCpModelPresolveFieldNumber = 86;
1422  bool cp_model_presolve() const;
1423  void set_cp_model_presolve(bool value);
1424 
1425  // optional bool cp_model_use_sat_presolve = 93 [default = true];
1426  bool has_cp_model_use_sat_presolve() const;
1428  static const int kCpModelUseSatPresolveFieldNumber = 93;
1430  void set_cp_model_use_sat_presolve(bool value);
1431 
1432  // optional int32 boolean_encoding_level = 107 [default = 1];
1433  bool has_boolean_encoding_level() const;
1435  static const int kBooleanEncodingLevelFieldNumber = 107;
1436  ::PROTOBUF_NAMESPACE_ID::int32 boolean_encoding_level() const;
1437  void set_boolean_encoding_level(::PROTOBUF_NAMESPACE_ID::int32 value);
1438 
1439  // optional bool instantiate_all_variables = 106 [default = true];
1440  bool has_instantiate_all_variables() const;
1442  static const int kInstantiateAllVariablesFieldNumber = 106;
1444  void set_instantiate_all_variables(bool value);
1445 
1446  // optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
1449  static const int kAutoDetectGreaterThanAtLeastOneOfFieldNumber = 95;
1452 
1453  // optional bool share_objective_bounds = 113 [default = true];
1454  bool has_share_objective_bounds() const;
1456  static const int kShareObjectiveBoundsFieldNumber = 113;
1458  void set_share_objective_bounds(bool value);
1459 
1460  // optional bool share_level_zero_bounds = 114 [default = true];
1461  bool has_share_level_zero_bounds() const;
1463  static const int kShareLevelZeroBoundsFieldNumber = 114;
1465  void set_share_level_zero_bounds(bool value);
1466 
1467  // optional int32 cp_model_probing_level = 110 [default = 2];
1468  bool has_cp_model_probing_level() const;
1470  static const int kCpModelProbingLevelFieldNumber = 110;
1471  ::PROTOBUF_NAMESPACE_ID::int32 cp_model_probing_level() const;
1472  void set_cp_model_probing_level(::PROTOBUF_NAMESPACE_ID::int32 value);
1473 
1474  // optional bool add_mir_cuts = 120 [default = true];
1475  bool has_add_mir_cuts() const;
1476  void clear_add_mir_cuts();
1477  static const int kAddMirCutsFieldNumber = 120;
1478  bool add_mir_cuts() const;
1479  void set_add_mir_cuts(bool value);
1480 
1481  // optional bool use_mir_rounding = 118 [default = true];
1482  bool has_use_mir_rounding() const;
1483  void clear_use_mir_rounding();
1484  static const int kUseMirRoundingFieldNumber = 118;
1485  bool use_mir_rounding() const;
1486  void set_use_mir_rounding(bool value);
1487 
1488  // optional bool add_lp_constraints_lazily = 112 [default = true];
1489  bool has_add_lp_constraints_lazily() const;
1491  static const int kAddLpConstraintsLazilyFieldNumber = 112;
1493  void set_add_lp_constraints_lazily(bool value);
1494 
1495  // optional bool exploit_integer_lp_solution = 94 [default = true];
1496  bool has_exploit_integer_lp_solution() const;
1498  static const int kExploitIntegerLpSolutionFieldNumber = 94;
1500  void set_exploit_integer_lp_solution(bool value);
1501 
1502  // optional int32 max_integer_rounding_scaling = 119 [default = 600];
1503  bool has_max_integer_rounding_scaling() const;
1505  static const int kMaxIntegerRoundingScalingFieldNumber = 119;
1506  ::PROTOBUF_NAMESPACE_ID::int32 max_integer_rounding_scaling() const;
1507  void set_max_integer_rounding_scaling(::PROTOBUF_NAMESPACE_ID::int32 value);
1508 
1509  // optional bool use_rins_lns = 129 [default = true];
1510  bool has_use_rins_lns() const;
1511  void clear_use_rins_lns();
1512  static const int kUseRinsLnsFieldNumber = 129;
1513  bool use_rins_lns() const;
1514  void set_use_rins_lns(bool value);
1515 
1516  // optional bool use_optional_variables = 108 [default = true];
1517  bool has_use_optional_variables() const;
1519  static const int kUseOptionalVariablesFieldNumber = 108;
1521  void set_use_optional_variables(bool value);
1522 
1523  // optional bool use_exact_lp_reason = 109 [default = true];
1524  bool has_use_exact_lp_reason() const;
1526  static const int kUseExactLpReasonFieldNumber = 109;
1527  bool use_exact_lp_reason() const;
1528  void set_use_exact_lp_reason(bool value);
1529 
1530  // optional bool catch_sigint_signal = 135 [default = true];
1531  bool has_catch_sigint_signal() const;
1533  static const int kCatchSigintSignalFieldNumber = 135;
1534  bool catch_sigint_signal() const;
1535  void set_catch_sigint_signal(bool value);
1536 
1537  // optional int64 max_inactive_count = 121 [default = 1000];
1538  bool has_max_inactive_count() const;
1539  void clear_max_inactive_count();
1540  static const int kMaxInactiveCountFieldNumber = 121;
1541  ::PROTOBUF_NAMESPACE_ID::int64 max_inactive_count() const;
1542  void set_max_inactive_count(::PROTOBUF_NAMESPACE_ID::int64 value);
1543 
1544  // optional int64 constraint_removal_batch_size = 122 [default = 100];
1545  bool has_constraint_removal_batch_size() const;
1547  static const int kConstraintRemovalBatchSizeFieldNumber = 122;
1548  ::PROTOBUF_NAMESPACE_ID::int64 constraint_removal_batch_size() const;
1549  void set_constraint_removal_batch_size(::PROTOBUF_NAMESPACE_ID::int64 value);
1550 
1551  // optional int64 pseudo_cost_reliability_threshold = 123 [default = 100];
1554  static const int kPseudoCostReliabilityThresholdFieldNumber = 123;
1555  ::PROTOBUF_NAMESPACE_ID::int64 pseudo_cost_reliability_threshold() const;
1556  void set_pseudo_cost_reliability_threshold(::PROTOBUF_NAMESPACE_ID::int64 value);
1557 
1558  // optional double mip_max_bound = 124 [default = 10000000];
1559  bool has_mip_max_bound() const;
1560  void clear_mip_max_bound();
1561  static const int kMipMaxBoundFieldNumber = 124;
1562  double mip_max_bound() const;
1563  void set_mip_max_bound(double value);
1564 
1565  // optional double mip_var_scaling = 125 [default = 1];
1566  bool has_mip_var_scaling() const;
1567  void clear_mip_var_scaling();
1568  static const int kMipVarScalingFieldNumber = 125;
1569  double mip_var_scaling() const;
1570  void set_mip_var_scaling(double value);
1571 
1572  // optional double mip_wanted_precision = 126 [default = 1e-06];
1573  bool has_mip_wanted_precision() const;
1575  static const int kMipWantedPrecisionFieldNumber = 126;
1576  double mip_wanted_precision() const;
1577  void set_mip_wanted_precision(double value);
1578 
1579  // optional double mip_check_precision = 128 [default = 0.0001];
1580  bool has_mip_check_precision() const;
1582  static const int kMipCheckPrecisionFieldNumber = 128;
1583  double mip_check_precision() const;
1584  void set_mip_check_precision(double value);
1585 
1586  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
1587  private:
1588  class HasBitSetters;
1589 
1590  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
1591  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<4> _has_bits_;
1592  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1593  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> restart_algorithms_;
1594  public:
1595  static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string> _i_give_permission_to_break_this_code_default_default_restart_algorithms_;
1596  private:
1597  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_restart_algorithms_;
1598  int preferred_variable_order_;
1599  int max_sat_assumption_order_;
1600  double random_branches_ratio_;
1601  double random_polarity_ratio_;
1602  bool use_pb_resolution_;
1603  bool minimize_reduction_during_pb_resolution_;
1604  bool max_sat_reverse_assumption_order_;
1605  bool use_overload_checker_in_cumulative_constraint_;
1606  int clause_cleanup_protection_;
1607  int clause_cleanup_ordering_;
1608  bool use_erwa_heuristic_;
1609  bool also_bump_variables_in_conflict_reasons_;
1610  bool use_blocking_restart_;
1611  bool log_search_progress_;
1612  double strategy_change_increase_ratio_;
1613  ::PROTOBUF_NAMESPACE_ID::int32 num_conflicts_before_strategy_changes_;
1614  int search_branching_;
1615  double initial_variables_activity_;
1616  bool exploit_best_solution_;
1617  bool optimize_with_core_;
1618  bool optimize_with_max_hs_;
1619  bool enumerate_all_solutions_;
1620  bool use_timetable_edge_finding_in_cumulative_constraint_;
1621  bool only_add_cuts_at_level_zero_;
1622  bool add_knapsack_cuts_;
1623  bool add_cg_cuts_;
1624  ::PROTOBUF_NAMESPACE_ID::int64 search_randomization_tolerance_;
1625  double min_orthogonality_for_lp_constraints_;
1626  bool use_lns_only_;
1627  bool lns_focus_on_decision_variables_;
1628  bool randomize_search_;
1629  bool use_combined_no_overlap_;
1630  bool fill_tightened_domains_in_response_;
1631  bool stop_after_first_solution_;
1632  bool interleave_search_;
1633  bool deterministic_parallel_search_;
1634  ::PROTOBUF_NAMESPACE_ID::int32 mip_max_activity_exponent_;
1635  int initial_polarity_;
1636  int minimization_algorithm_;
1637  ::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_period_;
1638  ::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_target_;
1639  double variable_activity_decay_;
1640  double max_variable_activity_value_;
1641  double clause_activity_decay_;
1642  double max_clause_activity_value_;
1643  double glucose_max_decay_;
1644  double glucose_decay_increment_;
1645  ::PROTOBUF_NAMESPACE_ID::int32 glucose_decay_increment_period_;
1646  ::PROTOBUF_NAMESPACE_ID::int32 restart_period_;
1647  ::PROTOBUF_NAMESPACE_ID::int32 random_seed_;
1648  int binary_minimization_algorithm_;
1649  double max_time_in_seconds_;
1650  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_conflicts_;
1651  ::PROTOBUF_NAMESPACE_ID::int64 max_memory_in_mb_;
1652  bool use_phase_saving_;
1653  bool subsumption_during_conflict_analysis_;
1654  bool treat_binary_clauses_separately_;
1655  bool count_assumption_levels_in_lbd_;
1656  ::PROTOBUF_NAMESPACE_ID::int32 pb_cleanup_increment_;
1657  double pb_cleanup_ratio_;
1658  int max_sat_stratification_;
1659  ::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_threshold_;
1660  double presolve_probing_deterministic_time_limit_;
1661  ::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_clause_weight_;
1662  ::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_lbd_bound_;
1663  bool presolve_blocked_clause_;
1664  bool presolve_use_bva_;
1665  bool use_optimization_hints_;
1666  bool minimize_core_;
1667  ::PROTOBUF_NAMESPACE_ID::int32 restart_running_window_size_;
1668  double restart_dl_average_ratio_;
1669  double blocking_restart_multiplier_;
1670  double max_deterministic_time_;
1671  ::PROTOBUF_NAMESPACE_ID::int32 blocking_restart_window_size_;
1672  ::PROTOBUF_NAMESPACE_ID::int32 presolve_bva_threshold_;
1673  double restart_lbd_average_ratio_;
1674  bool find_multiple_cores_;
1675  bool cover_optimization_;
1676  bool use_precedences_in_disjunctive_constraint_;
1677  bool use_disjunctive_constraint_in_cumulative_constraint_;
1678  ::PROTOBUF_NAMESPACE_ID::int32 linearization_level_;
1679  ::PROTOBUF_NAMESPACE_ID::int32 max_num_cuts_;
1680  ::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_restart_period_;
1681  ::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_num_decisions_;
1682  ::PROTOBUF_NAMESPACE_ID::int32 binary_search_num_conflicts_;
1683  ::PROTOBUF_NAMESPACE_ID::int32 num_search_workers_;
1684  bool exploit_all_lp_solution_;
1685  bool exploit_objective_;
1686  bool cp_model_presolve_;
1687  bool cp_model_use_sat_presolve_;
1688  ::PROTOBUF_NAMESPACE_ID::int32 boolean_encoding_level_;
1689  bool instantiate_all_variables_;
1690  bool auto_detect_greater_than_at_least_one_of_;
1691  bool share_objective_bounds_;
1692  bool share_level_zero_bounds_;
1693  ::PROTOBUF_NAMESPACE_ID::int32 cp_model_probing_level_;
1694  bool add_mir_cuts_;
1695  bool use_mir_rounding_;
1696  bool add_lp_constraints_lazily_;
1697  bool exploit_integer_lp_solution_;
1698  ::PROTOBUF_NAMESPACE_ID::int32 max_integer_rounding_scaling_;
1699  bool use_rins_lns_;
1700  bool use_optional_variables_;
1701  bool use_exact_lp_reason_;
1702  bool catch_sigint_signal_;
1703  ::PROTOBUF_NAMESPACE_ID::int64 max_inactive_count_;
1704  ::PROTOBUF_NAMESPACE_ID::int64 constraint_removal_batch_size_;
1705  ::PROTOBUF_NAMESPACE_ID::int64 pseudo_cost_reliability_threshold_;
1706  double mip_max_bound_;
1707  double mip_var_scaling_;
1708  double mip_wanted_precision_;
1709  double mip_check_precision_;
1710  friend struct ::TableStruct_ortools_2fsat_2fsat_5fparameters_2eproto;
1711 };
1712 // ===================================================================
1713 
1714 
1715 // ===================================================================
1716 
1717 #ifdef __GNUC__
1718  #pragma GCC diagnostic push
1719  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1720 #endif // __GNUC__
1721 // SatParameters
1722 
1723 // optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default = IN_ORDER];
1724 inline bool SatParameters::has_preferred_variable_order() const {
1725  return (_has_bits_[0] & 0x00000002u) != 0;
1726 }
1728  preferred_variable_order_ = 0;
1729  _has_bits_[0] &= ~0x00000002u;
1732  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.preferred_variable_order)
1733  return static_cast< ::operations_research::sat::SatParameters_VariableOrder >(preferred_variable_order_);
1737  _has_bits_[0] |= 0x00000002u;
1738  preferred_variable_order_ = value;
1739  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.preferred_variable_order)
1740 }
1741 
1742 // optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FALSE];
1743 inline bool SatParameters::has_initial_polarity() const {
1744  return (_has_bits_[1] & 0x00000040u) != 0;
1745 }
1747  initial_polarity_ = 1;
1748  _has_bits_[1] &= ~0x00000040u;
1751  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.initial_polarity)
1752  return static_cast< ::operations_research::sat::SatParameters_Polarity >(initial_polarity_);
1756  _has_bits_[1] |= 0x00000040u;
1757  initial_polarity_ = value;
1758  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.initial_polarity)
1759 }
1760 
1761 // optional bool use_phase_saving = 44 [default = true];
1762 inline bool SatParameters::has_use_phase_saving() const {
1763  return (_has_bits_[1] & 0x00800000u) != 0;
1764 }
1766  use_phase_saving_ = true;
1767  _has_bits_[1] &= ~0x00800000u;
1769 inline bool SatParameters::use_phase_saving() const {
1770  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_phase_saving)
1771  return use_phase_saving_;
1773 inline void SatParameters::set_use_phase_saving(bool value) {
1774  _has_bits_[1] |= 0x00800000u;
1775  use_phase_saving_ = value;
1776  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_phase_saving)
1777 }
1778 
1779 // optional double random_polarity_ratio = 45 [default = 0];
1780 inline bool SatParameters::has_random_polarity_ratio() const {
1781  return (_has_bits_[0] & 0x00000010u) != 0;
1782 }
1784  random_polarity_ratio_ = 0;
1785  _has_bits_[0] &= ~0x00000010u;
1787 inline double SatParameters::random_polarity_ratio() const {
1788  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_polarity_ratio)
1789  return random_polarity_ratio_;
1791 inline void SatParameters::set_random_polarity_ratio(double value) {
1792  _has_bits_[0] |= 0x00000010u;
1793  random_polarity_ratio_ = value;
1794  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_polarity_ratio)
1795 }
1796 
1797 // optional double random_branches_ratio = 32 [default = 0];
1798 inline bool SatParameters::has_random_branches_ratio() const {
1799  return (_has_bits_[0] & 0x00000008u) != 0;
1800 }
1802  random_branches_ratio_ = 0;
1803  _has_bits_[0] &= ~0x00000008u;
1805 inline double SatParameters::random_branches_ratio() const {
1806  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_branches_ratio)
1807  return random_branches_ratio_;
1809 inline void SatParameters::set_random_branches_ratio(double value) {
1810  _has_bits_[0] |= 0x00000008u;
1811  random_branches_ratio_ = value;
1812  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_branches_ratio)
1813 }
1814 
1815 // optional bool use_erwa_heuristic = 75 [default = false];
1816 inline bool SatParameters::has_use_erwa_heuristic() const {
1817  return (_has_bits_[0] & 0x00000800u) != 0;
1818 }
1820  use_erwa_heuristic_ = false;
1821  _has_bits_[0] &= ~0x00000800u;
1823 inline bool SatParameters::use_erwa_heuristic() const {
1824  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_erwa_heuristic)
1825  return use_erwa_heuristic_;
1827 inline void SatParameters::set_use_erwa_heuristic(bool value) {
1828  _has_bits_[0] |= 0x00000800u;
1829  use_erwa_heuristic_ = value;
1830  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_erwa_heuristic)
1831 }
1832 
1833 // optional double initial_variables_activity = 76 [default = 0];
1835  return (_has_bits_[0] & 0x00040000u) != 0;
1836 }
1838  initial_variables_activity_ = 0;
1839  _has_bits_[0] &= ~0x00040000u;
1841 inline double SatParameters::initial_variables_activity() const {
1842  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.initial_variables_activity)
1843  return initial_variables_activity_;
1845 inline void SatParameters::set_initial_variables_activity(double value) {
1846  _has_bits_[0] |= 0x00040000u;
1847  initial_variables_activity_ = value;
1848  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.initial_variables_activity)
1849 }
1850 
1851 // optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
1853  return (_has_bits_[0] & 0x00001000u) != 0;
1854 }
1856  also_bump_variables_in_conflict_reasons_ = false;
1857  _has_bits_[0] &= ~0x00001000u;
1860  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.also_bump_variables_in_conflict_reasons)
1861  return also_bump_variables_in_conflict_reasons_;
1864  _has_bits_[0] |= 0x00001000u;
1865  also_bump_variables_in_conflict_reasons_ = value;
1866  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.also_bump_variables_in_conflict_reasons)
1867 }
1868 
1869 // optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm = 4 [default = RECURSIVE];
1870 inline bool SatParameters::has_minimization_algorithm() const {
1871  return (_has_bits_[1] & 0x00000080u) != 0;
1872 }
1874  minimization_algorithm_ = 2;
1875  _has_bits_[1] &= ~0x00000080u;
1878  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimization_algorithm)
1879  return static_cast< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm >(minimization_algorithm_);
1883  _has_bits_[1] |= 0x00000080u;
1884  minimization_algorithm_ = value;
1885  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimization_algorithm)
1886 }
1887 
1888 // optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorithm = 34 [default = BINARY_MINIMIZATION_FIRST];
1890  return (_has_bits_[1] & 0x00080000u) != 0;
1891 }
1893  binary_minimization_algorithm_ = 1;
1894  _has_bits_[1] &= ~0x00080000u;
1897  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.binary_minimization_algorithm)
1898  return static_cast< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm >(binary_minimization_algorithm_);
1902  _has_bits_[1] |= 0x00080000u;
1903  binary_minimization_algorithm_ = value;
1904  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.binary_minimization_algorithm)
1905 }
1906 
1907 // optional bool subsumption_during_conflict_analysis = 56 [default = true];
1909  return (_has_bits_[1] & 0x01000000u) != 0;
1910 }
1912  subsumption_during_conflict_analysis_ = true;
1913  _has_bits_[1] &= ~0x01000000u;
1916  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.subsumption_during_conflict_analysis)
1917  return subsumption_during_conflict_analysis_;
1920  _has_bits_[1] |= 0x01000000u;
1921  subsumption_during_conflict_analysis_ = value;
1922  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.subsumption_during_conflict_analysis)
1923 }
1924 
1925 // optional int32 clause_cleanup_period = 11 [default = 10000];
1926 inline bool SatParameters::has_clause_cleanup_period() const {
1927  return (_has_bits_[1] & 0x00000100u) != 0;
1928 }
1930  clause_cleanup_period_ = 10000;
1931  _has_bits_[1] &= ~0x00000100u;
1933 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::clause_cleanup_period() const {
1934  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_period)
1935  return clause_cleanup_period_;
1937 inline void SatParameters::set_clause_cleanup_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
1938  _has_bits_[1] |= 0x00000100u;
1939  clause_cleanup_period_ = value;
1940  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_period)
1941 }
1942 
1943 // optional int32 clause_cleanup_target = 13 [default = 10000];
1944 inline bool SatParameters::has_clause_cleanup_target() const {
1945  return (_has_bits_[1] & 0x00000200u) != 0;
1946 }
1948  clause_cleanup_target_ = 10000;
1949  _has_bits_[1] &= ~0x00000200u;
1951 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::clause_cleanup_target() const {
1952  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_target)
1953  return clause_cleanup_target_;
1955 inline void SatParameters::set_clause_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
1956  _has_bits_[1] |= 0x00000200u;
1957  clause_cleanup_target_ = value;
1958  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_target)
1959 }
1960 
1961 // optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [default = PROTECTION_NONE];
1963  return (_has_bits_[0] & 0x00000200u) != 0;
1964 }
1966  clause_cleanup_protection_ = 0;
1967  _has_bits_[0] &= ~0x00000200u;
1970  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_protection)
1971  return static_cast< ::operations_research::sat::SatParameters_ClauseProtection >(clause_cleanup_protection_);
1975  _has_bits_[0] |= 0x00000200u;
1976  clause_cleanup_protection_ = value;
1977  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_protection)
1978 }
1979 
1980 // optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
1981 inline bool SatParameters::has_clause_cleanup_lbd_bound() const {
1982  return (_has_bits_[2] & 0x00000002u) != 0;
1983 }
1985  clause_cleanup_lbd_bound_ = 5;
1986  _has_bits_[2] &= ~0x00000002u;
1988 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::clause_cleanup_lbd_bound() const {
1989  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_lbd_bound)
1990  return clause_cleanup_lbd_bound_;
1992 inline void SatParameters::set_clause_cleanup_lbd_bound(::PROTOBUF_NAMESPACE_ID::int32 value) {
1993  _has_bits_[2] |= 0x00000002u;
1994  clause_cleanup_lbd_bound_ = value;
1995  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_lbd_bound)
1996 }
1997 
1998 // optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default = CLAUSE_ACTIVITY];
1999 inline bool SatParameters::has_clause_cleanup_ordering() const {
2000  return (_has_bits_[0] & 0x00000400u) != 0;
2001 }
2003  clause_cleanup_ordering_ = 0;
2004  _has_bits_[0] &= ~0x00000400u;
2007  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_ordering)
2008  return static_cast< ::operations_research::sat::SatParameters_ClauseOrdering >(clause_cleanup_ordering_);
2012  _has_bits_[0] |= 0x00000400u;
2013  clause_cleanup_ordering_ = value;
2014  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_ordering)
2015 }
2016 
2017 // optional int32 pb_cleanup_increment = 46 [default = 200];
2018 inline bool SatParameters::has_pb_cleanup_increment() const {
2019  return (_has_bits_[1] & 0x08000000u) != 0;
2020 }
2022  pb_cleanup_increment_ = 200;
2023  _has_bits_[1] &= ~0x08000000u;
2025 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::pb_cleanup_increment() const {
2026  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pb_cleanup_increment)
2027  return pb_cleanup_increment_;
2029 inline void SatParameters::set_pb_cleanup_increment(::PROTOBUF_NAMESPACE_ID::int32 value) {
2030  _has_bits_[1] |= 0x08000000u;
2031  pb_cleanup_increment_ = value;
2032  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pb_cleanup_increment)
2033 }
2034 
2035 // optional double pb_cleanup_ratio = 47 [default = 0.5];
2036 inline bool SatParameters::has_pb_cleanup_ratio() const {
2037  return (_has_bits_[1] & 0x10000000u) != 0;
2038 }
2040  pb_cleanup_ratio_ = 0.5;
2041  _has_bits_[1] &= ~0x10000000u;
2043 inline double SatParameters::pb_cleanup_ratio() const {
2044  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pb_cleanup_ratio)
2045  return pb_cleanup_ratio_;
2047 inline void SatParameters::set_pb_cleanup_ratio(double value) {
2048  _has_bits_[1] |= 0x10000000u;
2049  pb_cleanup_ratio_ = value;
2050  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pb_cleanup_ratio)
2051 }
2052 
2053 // optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
2055  return (_has_bits_[2] & 0x00080000u) != 0;
2056 }
2058  minimize_with_propagation_restart_period_ = 10;
2059  _has_bits_[2] &= ~0x00080000u;
2061 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::minimize_with_propagation_restart_period() const {
2062  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_with_propagation_restart_period)
2063  return minimize_with_propagation_restart_period_;
2065 inline void SatParameters::set_minimize_with_propagation_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
2066  _has_bits_[2] |= 0x00080000u;
2067  minimize_with_propagation_restart_period_ = value;
2068  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_with_propagation_restart_period)
2069 }
2070 
2071 // optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
2073  return (_has_bits_[2] & 0x00100000u) != 0;
2074 }
2076  minimize_with_propagation_num_decisions_ = 1000;
2077  _has_bits_[2] &= ~0x00100000u;
2079 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::minimize_with_propagation_num_decisions() const {
2080  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_with_propagation_num_decisions)
2081  return minimize_with_propagation_num_decisions_;
2083 inline void SatParameters::set_minimize_with_propagation_num_decisions(::PROTOBUF_NAMESPACE_ID::int32 value) {
2084  _has_bits_[2] |= 0x00100000u;
2085  minimize_with_propagation_num_decisions_ = value;
2086  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_with_propagation_num_decisions)
2087 }
2088 
2089 // optional double variable_activity_decay = 15 [default = 0.8];
2090 inline bool SatParameters::has_variable_activity_decay() const {
2091  return (_has_bits_[1] & 0x00000400u) != 0;
2092 }
2094  variable_activity_decay_ = 0.8;
2095  _has_bits_[1] &= ~0x00000400u;
2097 inline double SatParameters::variable_activity_decay() const {
2098  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.variable_activity_decay)
2099  return variable_activity_decay_;
2101 inline void SatParameters::set_variable_activity_decay(double value) {
2102  _has_bits_[1] |= 0x00000400u;
2103  variable_activity_decay_ = value;
2104  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.variable_activity_decay)
2105 }
2106 
2107 // optional double max_variable_activity_value = 16 [default = 1e+100];
2109  return (_has_bits_[1] & 0x00000800u) != 0;
2110 }
2112  max_variable_activity_value_ = 1e+100;
2113  _has_bits_[1] &= ~0x00000800u;
2115 inline double SatParameters::max_variable_activity_value() const {
2116  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_variable_activity_value)
2117  return max_variable_activity_value_;
2119 inline void SatParameters::set_max_variable_activity_value(double value) {
2120  _has_bits_[1] |= 0x00000800u;
2121  max_variable_activity_value_ = value;
2122  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_variable_activity_value)
2123 }
2124 
2125 // optional double glucose_max_decay = 22 [default = 0.95];
2126 inline bool SatParameters::has_glucose_max_decay() const {
2127  return (_has_bits_[1] & 0x00004000u) != 0;
2128 }
2130  glucose_max_decay_ = 0.95;
2131  _has_bits_[1] &= ~0x00004000u;
2133 inline double SatParameters::glucose_max_decay() const {
2134  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_max_decay)
2135  return glucose_max_decay_;
2137 inline void SatParameters::set_glucose_max_decay(double value) {
2138  _has_bits_[1] |= 0x00004000u;
2139  glucose_max_decay_ = value;
2140  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_max_decay)
2141 }
2142 
2143 // optional double glucose_decay_increment = 23 [default = 0.01];
2144 inline bool SatParameters::has_glucose_decay_increment() const {
2145  return (_has_bits_[1] & 0x00008000u) != 0;
2146 }
2148  glucose_decay_increment_ = 0.01;
2149  _has_bits_[1] &= ~0x00008000u;
2151 inline double SatParameters::glucose_decay_increment() const {
2152  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_decay_increment)
2153  return glucose_decay_increment_;
2155 inline void SatParameters::set_glucose_decay_increment(double value) {
2156  _has_bits_[1] |= 0x00008000u;
2157  glucose_decay_increment_ = value;
2158  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_decay_increment)
2159 }
2160 
2161 // optional int32 glucose_decay_increment_period = 24 [default = 5000];
2163  return (_has_bits_[1] & 0x00010000u) != 0;
2164 }
2166  glucose_decay_increment_period_ = 5000;
2167  _has_bits_[1] &= ~0x00010000u;
2169 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::glucose_decay_increment_period() const {
2170  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_decay_increment_period)
2171  return glucose_decay_increment_period_;
2173 inline void SatParameters::set_glucose_decay_increment_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
2174  _has_bits_[1] |= 0x00010000u;
2175  glucose_decay_increment_period_ = value;
2176  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_decay_increment_period)
2177 }
2178 
2179 // optional double clause_activity_decay = 17 [default = 0.999];
2180 inline bool SatParameters::has_clause_activity_decay() const {
2181  return (_has_bits_[1] & 0x00001000u) != 0;
2182 }
2184  clause_activity_decay_ = 0.999;
2185  _has_bits_[1] &= ~0x00001000u;
2187 inline double SatParameters::clause_activity_decay() const {
2188  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_activity_decay)
2189  return clause_activity_decay_;
2191 inline void SatParameters::set_clause_activity_decay(double value) {
2192  _has_bits_[1] |= 0x00001000u;
2193  clause_activity_decay_ = value;
2194  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_activity_decay)
2195 }
2196 
2197 // optional double max_clause_activity_value = 18 [default = 1e+20];
2199  return (_has_bits_[1] & 0x00002000u) != 0;
2200 }
2202  max_clause_activity_value_ = 1e+20;
2203  _has_bits_[1] &= ~0x00002000u;
2205 inline double SatParameters::max_clause_activity_value() const {
2206  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_clause_activity_value)
2207  return max_clause_activity_value_;
2209 inline void SatParameters::set_max_clause_activity_value(double value) {
2210  _has_bits_[1] |= 0x00002000u;
2211  max_clause_activity_value_ = value;
2212  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_clause_activity_value)
2213 }
2214 
2215 // repeated .operations_research.sat.SatParameters.RestartAlgorithm restart_algorithms = 61;
2216 inline int SatParameters::restart_algorithms_size() const {
2217  return restart_algorithms_.size();
2218 }
2220  restart_algorithms_.Clear();
2221 }
2223  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_algorithms)
2224  return static_cast< ::operations_research::sat::SatParameters_RestartAlgorithm >(restart_algorithms_.Get(index));
2228  restart_algorithms_.Set(index, value);
2229  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_algorithms)
2230 }
2233  restart_algorithms_.Add(value);
2234  // @@protoc_insertion_point(field_add:operations_research.sat.SatParameters.restart_algorithms)
2235 }
2236 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
2238  // @@protoc_insertion_point(field_list:operations_research.sat.SatParameters.restart_algorithms)
2239  return restart_algorithms_;
2241 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
2243  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SatParameters.restart_algorithms)
2244  return &restart_algorithms_;
2246 
2247 // optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART"];
2249  return (_has_bits_[0] & 0x00000001u) != 0;
2250 }
2253  _has_bits_[0] &= ~0x00000001u;
2255 inline const std::string& SatParameters::default_restart_algorithms() const {
2256  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.default_restart_algorithms)
2257  return default_restart_algorithms_.GetNoArena();
2259 inline void SatParameters::set_default_restart_algorithms(const std::string& value) {
2260  _has_bits_[0] |= 0x00000001u;
2262  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.default_restart_algorithms)
2263 }
2264 inline void SatParameters::set_default_restart_algorithms(std::string&& value) {
2265  _has_bits_[0] |= 0x00000001u;
2266  default_restart_algorithms_.SetNoArena(
2268  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.SatParameters.default_restart_algorithms)
2269 }
2270 inline void SatParameters::set_default_restart_algorithms(const char* value) {
2271  GOOGLE_DCHECK(value != nullptr);
2272  _has_bits_[0] |= 0x00000001u;
2274  // @@protoc_insertion_point(field_set_char:operations_research.sat.SatParameters.default_restart_algorithms)
2275 }
2276 inline void SatParameters::set_default_restart_algorithms(const char* value, size_t size) {
2277  _has_bits_[0] |= 0x00000001u;
2279  ::std::string(reinterpret_cast<const char*>(value), size));
2280  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.SatParameters.default_restart_algorithms)
2281 }
2283  _has_bits_[0] |= 0x00000001u;
2284  // @@protoc_insertion_point(field_mutable:operations_research.sat.SatParameters.default_restart_algorithms)
2286 }
2288  // @@protoc_insertion_point(field_release:operations_research.sat.SatParameters.default_restart_algorithms)
2290  return nullptr;
2291  }
2292  _has_bits_[0] &= ~0x00000001u;
2293  return default_restart_algorithms_.ReleaseNonDefaultNoArena(&::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get());
2294 }
2295 inline void SatParameters::set_allocated_default_restart_algorithms(std::string* default_restart_algorithms) {
2296  if (default_restart_algorithms != nullptr) {
2297  _has_bits_[0] |= 0x00000001u;
2298  } else {
2299  _has_bits_[0] &= ~0x00000001u;
2300  }
2302  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.SatParameters.default_restart_algorithms)
2303 }
2304 
2305 // optional int32 restart_period = 30 [default = 50];
2306 inline bool SatParameters::has_restart_period() const {
2307  return (_has_bits_[1] & 0x00020000u) != 0;
2308 }
2310  restart_period_ = 50;
2311  _has_bits_[1] &= ~0x00020000u;
2313 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::restart_period() const {
2314  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_period)
2315  return restart_period_;
2317 inline void SatParameters::set_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
2318  _has_bits_[1] |= 0x00020000u;
2319  restart_period_ = value;
2320  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_period)
2321 }
2322 
2323 // optional int32 restart_running_window_size = 62 [default = 50];
2325  return (_has_bits_[2] & 0x00000040u) != 0;
2326 }
2328  restart_running_window_size_ = 50;
2329  _has_bits_[2] &= ~0x00000040u;
2331 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::restart_running_window_size() const {
2332  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_running_window_size)
2333  return restart_running_window_size_;
2335 inline void SatParameters::set_restart_running_window_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
2336  _has_bits_[2] |= 0x00000040u;
2337  restart_running_window_size_ = value;
2338  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_running_window_size)
2339 }
2340 
2341 // optional double restart_dl_average_ratio = 63 [default = 1];
2342 inline bool SatParameters::has_restart_dl_average_ratio() const {
2343  return (_has_bits_[2] & 0x00000080u) != 0;
2344 }
2346  restart_dl_average_ratio_ = 1;
2347  _has_bits_[2] &= ~0x00000080u;
2349 inline double SatParameters::restart_dl_average_ratio() const {
2350  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_dl_average_ratio)
2351  return restart_dl_average_ratio_;
2353 inline void SatParameters::set_restart_dl_average_ratio(double value) {
2354  _has_bits_[2] |= 0x00000080u;
2355  restart_dl_average_ratio_ = value;
2356  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_dl_average_ratio)
2357 }
2358 
2359 // optional double restart_lbd_average_ratio = 71 [default = 1];
2361  return (_has_bits_[2] & 0x00001000u) != 0;
2362 }
2364  restart_lbd_average_ratio_ = 1;
2365  _has_bits_[2] &= ~0x00001000u;
2367 inline double SatParameters::restart_lbd_average_ratio() const {
2368  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_lbd_average_ratio)
2369  return restart_lbd_average_ratio_;
2371 inline void SatParameters::set_restart_lbd_average_ratio(double value) {
2372  _has_bits_[2] |= 0x00001000u;
2373  restart_lbd_average_ratio_ = value;
2374  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_lbd_average_ratio)
2375 }
2376 
2377 // optional bool use_blocking_restart = 64 [default = false];
2378 inline bool SatParameters::has_use_blocking_restart() const {
2379  return (_has_bits_[0] & 0x00002000u) != 0;
2380 }
2382  use_blocking_restart_ = false;
2383  _has_bits_[0] &= ~0x00002000u;
2385 inline bool SatParameters::use_blocking_restart() const {
2386  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_blocking_restart)
2387  return use_blocking_restart_;
2389 inline void SatParameters::set_use_blocking_restart(bool value) {
2390  _has_bits_[0] |= 0x00002000u;
2391  use_blocking_restart_ = value;
2392  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_blocking_restart)
2393 }
2394 
2395 // optional int32 blocking_restart_window_size = 65 [default = 5000];
2397  return (_has_bits_[2] & 0x00000400u) != 0;
2398 }
2400  blocking_restart_window_size_ = 5000;
2401  _has_bits_[2] &= ~0x00000400u;
2403 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::blocking_restart_window_size() const {
2404  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.blocking_restart_window_size)
2405  return blocking_restart_window_size_;
2407 inline void SatParameters::set_blocking_restart_window_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
2408  _has_bits_[2] |= 0x00000400u;
2409  blocking_restart_window_size_ = value;
2410  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.blocking_restart_window_size)
2411 }
2412 
2413 // optional double blocking_restart_multiplier = 66 [default = 1.4];
2415  return (_has_bits_[2] & 0x00000100u) != 0;
2416 }
2418  blocking_restart_multiplier_ = 1.4;
2419  _has_bits_[2] &= ~0x00000100u;
2421 inline double SatParameters::blocking_restart_multiplier() const {
2422  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.blocking_restart_multiplier)
2423  return blocking_restart_multiplier_;
2425 inline void SatParameters::set_blocking_restart_multiplier(double value) {
2426  _has_bits_[2] |= 0x00000100u;
2427  blocking_restart_multiplier_ = value;
2428  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.blocking_restart_multiplier)
2429 }
2430 
2431 // optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
2433  return (_has_bits_[0] & 0x00010000u) != 0;
2434 }
2436  num_conflicts_before_strategy_changes_ = 0;
2437  _has_bits_[0] &= ~0x00010000u;
2439 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::num_conflicts_before_strategy_changes() const {
2440  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.num_conflicts_before_strategy_changes)
2441  return num_conflicts_before_strategy_changes_;
2443 inline void SatParameters::set_num_conflicts_before_strategy_changes(::PROTOBUF_NAMESPACE_ID::int32 value) {
2444  _has_bits_[0] |= 0x00010000u;
2445  num_conflicts_before_strategy_changes_ = value;
2446  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.num_conflicts_before_strategy_changes)
2447 }
2448 
2449 // optional double strategy_change_increase_ratio = 69 [default = 0];
2451  return (_has_bits_[0] & 0x00008000u) != 0;
2452 }
2454  strategy_change_increase_ratio_ = 0;
2455  _has_bits_[0] &= ~0x00008000u;
2457 inline double SatParameters::strategy_change_increase_ratio() const {
2458  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.strategy_change_increase_ratio)
2459  return strategy_change_increase_ratio_;
2461 inline void SatParameters::set_strategy_change_increase_ratio(double value) {
2462  _has_bits_[0] |= 0x00008000u;
2463  strategy_change_increase_ratio_ = value;
2464  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.strategy_change_increase_ratio)
2465 }
2466 
2467 // optional double max_time_in_seconds = 36 [default = inf];
2468 inline bool SatParameters::has_max_time_in_seconds() const {
2469  return (_has_bits_[1] & 0x00100000u) != 0;
2470 }
2472  max_time_in_seconds_ = std::numeric_limits<double>::infinity();
2473  _has_bits_[1] &= ~0x00100000u;
2475 inline double SatParameters::max_time_in_seconds() const {
2476  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_time_in_seconds)
2477  return max_time_in_seconds_;
2479 inline void SatParameters::set_max_time_in_seconds(double value) {
2480  _has_bits_[1] |= 0x00100000u;
2481  max_time_in_seconds_ = value;
2482  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_time_in_seconds)
2483 }
2484 
2485 // optional double max_deterministic_time = 67 [default = inf];
2486 inline bool SatParameters::has_max_deterministic_time() const {
2487  return (_has_bits_[2] & 0x00000200u) != 0;
2488 }
2490  max_deterministic_time_ = std::numeric_limits<double>::infinity();
2491  _has_bits_[2] &= ~0x00000200u;
2493 inline double SatParameters::max_deterministic_time() const {
2494  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_deterministic_time)
2495  return max_deterministic_time_;
2497 inline void SatParameters::set_max_deterministic_time(double value) {
2498  _has_bits_[2] |= 0x00000200u;
2499  max_deterministic_time_ = value;
2500  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_deterministic_time)
2501 }
2502 
2503 // optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
2504 inline bool SatParameters::has_max_number_of_conflicts() const {
2505  return (_has_bits_[1] & 0x00200000u) != 0;
2506 }
2508  max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
2509  _has_bits_[1] &= ~0x00200000u;
2511 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::max_number_of_conflicts() const {
2512  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_number_of_conflicts)
2513  return max_number_of_conflicts_;
2515 inline void SatParameters::set_max_number_of_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
2516  _has_bits_[1] |= 0x00200000u;
2517  max_number_of_conflicts_ = value;
2518  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_number_of_conflicts)
2519 }
2520 
2521 // optional int64 max_memory_in_mb = 40 [default = 10000];
2522 inline bool SatParameters::has_max_memory_in_mb() const {
2523  return (_has_bits_[1] & 0x00400000u) != 0;
2524 }
2526  max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
2527  _has_bits_[1] &= ~0x00400000u;
2529 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::max_memory_in_mb() const {
2530  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_memory_in_mb)
2531  return max_memory_in_mb_;
2533 inline void SatParameters::set_max_memory_in_mb(::PROTOBUF_NAMESPACE_ID::int64 value) {
2534  _has_bits_[1] |= 0x00400000u;
2535  max_memory_in_mb_ = value;
2536  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_memory_in_mb)
2537 }
2538 
2539 // optional bool treat_binary_clauses_separately = 33 [default = true];
2541  return (_has_bits_[1] & 0x02000000u) != 0;
2542 }
2544  treat_binary_clauses_separately_ = true;
2545  _has_bits_[1] &= ~0x02000000u;
2548  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.treat_binary_clauses_separately)
2549  return treat_binary_clauses_separately_;
2552  _has_bits_[1] |= 0x02000000u;
2553  treat_binary_clauses_separately_ = value;
2554  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.treat_binary_clauses_separately)
2555 }
2556 
2557 // optional int32 random_seed = 31 [default = 1];
2558 inline bool SatParameters::has_random_seed() const {
2559  return (_has_bits_[1] & 0x00040000u) != 0;
2560 }
2562  random_seed_ = 1;
2563  _has_bits_[1] &= ~0x00040000u;
2565 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::random_seed() const {
2566  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_seed)
2567  return random_seed_;
2569 inline void SatParameters::set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
2570  _has_bits_[1] |= 0x00040000u;
2571  random_seed_ = value;
2572  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_seed)
2573 }
2574 
2575 // optional bool log_search_progress = 41 [default = false];
2576 inline bool SatParameters::has_log_search_progress() const {
2577  return (_has_bits_[0] & 0x00004000u) != 0;
2578 }
2580  log_search_progress_ = false;
2581  _has_bits_[0] &= ~0x00004000u;
2583 inline bool SatParameters::log_search_progress() const {
2584  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.log_search_progress)
2585  return log_search_progress_;
2587 inline void SatParameters::set_log_search_progress(bool value) {
2588  _has_bits_[0] |= 0x00004000u;
2589  log_search_progress_ = value;
2590  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.log_search_progress)
2591 }
2592 
2593 // optional bool use_pb_resolution = 43 [default = false];
2594 inline bool SatParameters::has_use_pb_resolution() const {
2595  return (_has_bits_[0] & 0x00000020u) != 0;
2596 }
2598  use_pb_resolution_ = false;
2599  _has_bits_[0] &= ~0x00000020u;
2601 inline bool SatParameters::use_pb_resolution() const {
2602  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_pb_resolution)
2603  return use_pb_resolution_;
2605 inline void SatParameters::set_use_pb_resolution(bool value) {
2606  _has_bits_[0] |= 0x00000020u;
2607  use_pb_resolution_ = value;
2608  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_pb_resolution)
2609 }
2610 
2611 // optional bool minimize_reduction_during_pb_resolution = 48 [default = false];
2613  return (_has_bits_[0] & 0x00000040u) != 0;
2614 }
2616  minimize_reduction_during_pb_resolution_ = false;
2617  _has_bits_[0] &= ~0x00000040u;
2620  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_reduction_during_pb_resolution)
2621  return minimize_reduction_during_pb_resolution_;
2624  _has_bits_[0] |= 0x00000040u;
2625  minimize_reduction_during_pb_resolution_ = value;
2626  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_reduction_during_pb_resolution)
2627 }
2628 
2629 // optional bool count_assumption_levels_in_lbd = 49 [default = true];
2631  return (_has_bits_[1] & 0x04000000u) != 0;
2632 }
2634  count_assumption_levels_in_lbd_ = true;
2635  _has_bits_[1] &= ~0x04000000u;
2638  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.count_assumption_levels_in_lbd)
2639  return count_assumption_levels_in_lbd_;
2641 inline void SatParameters::set_count_assumption_levels_in_lbd(bool value) {
2642  _has_bits_[1] |= 0x04000000u;
2643  count_assumption_levels_in_lbd_ = value;
2644  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.count_assumption_levels_in_lbd)
2645 }
2646 
2647 // optional int32 presolve_bve_threshold = 54 [default = 500];
2648 inline bool SatParameters::has_presolve_bve_threshold() const {
2649  return (_has_bits_[1] & 0x40000000u) != 0;
2650 }
2652  presolve_bve_threshold_ = 500;
2653  _has_bits_[1] &= ~0x40000000u;
2655 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::presolve_bve_threshold() const {
2656  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bve_threshold)
2657  return presolve_bve_threshold_;
2659 inline void SatParameters::set_presolve_bve_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
2660  _has_bits_[1] |= 0x40000000u;
2661  presolve_bve_threshold_ = value;
2662  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bve_threshold)
2663 }
2664 
2665 // optional int32 presolve_bve_clause_weight = 55 [default = 3];
2667  return (_has_bits_[2] & 0x00000001u) != 0;
2668 }
2670  presolve_bve_clause_weight_ = 3;
2671  _has_bits_[2] &= ~0x00000001u;
2673 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::presolve_bve_clause_weight() const {
2674  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bve_clause_weight)
2675  return presolve_bve_clause_weight_;
2677 inline void SatParameters::set_presolve_bve_clause_weight(::PROTOBUF_NAMESPACE_ID::int32 value) {
2678  _has_bits_[2] |= 0x00000001u;
2679  presolve_bve_clause_weight_ = value;
2680  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bve_clause_weight)
2681 }
2682 
2683 // optional double presolve_probing_deterministic_time_limit = 57 [default = 30];
2685  return (_has_bits_[1] & 0x80000000u) != 0;
2686 }
2688  presolve_probing_deterministic_time_limit_ = 30;
2689  _has_bits_[1] &= ~0x80000000u;
2692  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_probing_deterministic_time_limit)
2693  return presolve_probing_deterministic_time_limit_;
2696  _has_bits_[1] |= 0x80000000u;
2697  presolve_probing_deterministic_time_limit_ = value;
2698  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_probing_deterministic_time_limit)
2699 }
2700 
2701 // optional bool presolve_blocked_clause = 88 [default = true];
2702 inline bool SatParameters::has_presolve_blocked_clause() const {
2703  return (_has_bits_[2] & 0x00000004u) != 0;
2704 }
2706  presolve_blocked_clause_ = true;
2707  _has_bits_[2] &= ~0x00000004u;
2709 inline bool SatParameters::presolve_blocked_clause() const {
2710  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_blocked_clause)
2711  return presolve_blocked_clause_;
2713 inline void SatParameters::set_presolve_blocked_clause(bool value) {
2714  _has_bits_[2] |= 0x00000004u;
2715  presolve_blocked_clause_ = value;
2716  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_blocked_clause)
2717 }
2718 
2719 // optional bool presolve_use_bva = 72 [default = true];
2720 inline bool SatParameters::has_presolve_use_bva() const {
2721  return (_has_bits_[2] & 0x00000008u) != 0;
2722 }
2724  presolve_use_bva_ = true;
2725  _has_bits_[2] &= ~0x00000008u;
2727 inline bool SatParameters::presolve_use_bva() const {
2728  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_use_bva)
2729  return presolve_use_bva_;
2731 inline void SatParameters::set_presolve_use_bva(bool value) {
2732  _has_bits_[2] |= 0x00000008u;
2733  presolve_use_bva_ = value;
2734  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_use_bva)
2735 }
2736 
2737 // optional int32 presolve_bva_threshold = 73 [default = 1];
2738 inline bool SatParameters::has_presolve_bva_threshold() const {
2739  return (_has_bits_[2] & 0x00000800u) != 0;
2740 }
2742  presolve_bva_threshold_ = 1;
2743  _has_bits_[2] &= ~0x00000800u;
2745 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::presolve_bva_threshold() const {
2746  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bva_threshold)
2747  return presolve_bva_threshold_;
2749 inline void SatParameters::set_presolve_bva_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) {
2750  _has_bits_[2] |= 0x00000800u;
2751  presolve_bva_threshold_ = value;
2752  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bva_threshold)
2753 }
2754 
2755 // optional bool use_optimization_hints = 35 [default = true];
2756 inline bool SatParameters::has_use_optimization_hints() const {
2757  return (_has_bits_[2] & 0x00000010u) != 0;
2758 }
2760  use_optimization_hints_ = true;
2761  _has_bits_[2] &= ~0x00000010u;
2763 inline bool SatParameters::use_optimization_hints() const {
2764  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_optimization_hints)
2765  return use_optimization_hints_;
2767 inline void SatParameters::set_use_optimization_hints(bool value) {
2768  _has_bits_[2] |= 0x00000010u;
2769  use_optimization_hints_ = value;
2770  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_optimization_hints)
2771 }
2772 
2773 // optional bool minimize_core = 50 [default = true];
2774 inline bool SatParameters::has_minimize_core() const {
2775  return (_has_bits_[2] & 0x00000020u) != 0;
2776 }
2778  minimize_core_ = true;
2779  _has_bits_[2] &= ~0x00000020u;
2781 inline bool SatParameters::minimize_core() const {
2782  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_core)
2783  return minimize_core_;
2785 inline void SatParameters::set_minimize_core(bool value) {
2786  _has_bits_[2] |= 0x00000020u;
2787  minimize_core_ = value;
2788  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_core)
2789 }
2790 
2791 // optional bool find_multiple_cores = 84 [default = true];
2792 inline bool SatParameters::has_find_multiple_cores() const {
2793  return (_has_bits_[2] & 0x00002000u) != 0;
2794 }
2796  find_multiple_cores_ = true;
2797  _has_bits_[2] &= ~0x00002000u;
2799 inline bool SatParameters::find_multiple_cores() const {
2800  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.find_multiple_cores)
2801  return find_multiple_cores_;
2803 inline void SatParameters::set_find_multiple_cores(bool value) {
2804  _has_bits_[2] |= 0x00002000u;
2805  find_multiple_cores_ = value;
2806  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.find_multiple_cores)
2807 }
2808 
2809 // optional bool cover_optimization = 89 [default = true];
2810 inline bool SatParameters::has_cover_optimization() const {
2811  return (_has_bits_[2] & 0x00004000u) != 0;
2812 }
2814  cover_optimization_ = true;
2815  _has_bits_[2] &= ~0x00004000u;
2817 inline bool SatParameters::cover_optimization() const {
2818  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cover_optimization)
2819  return cover_optimization_;
2821 inline void SatParameters::set_cover_optimization(bool value) {
2822  _has_bits_[2] |= 0x00004000u;
2823  cover_optimization_ = value;
2824  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cover_optimization)
2825 }
2826 
2827 // optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [default = DEFAULT_ASSUMPTION_ORDER];
2828 inline bool SatParameters::has_max_sat_assumption_order() const {
2829  return (_has_bits_[0] & 0x00000004u) != 0;
2830 }
2832  max_sat_assumption_order_ = 0;
2833  _has_bits_[0] &= ~0x00000004u;
2836  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_assumption_order)
2837  return static_cast< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder >(max_sat_assumption_order_);
2841  _has_bits_[0] |= 0x00000004u;
2842  max_sat_assumption_order_ = value;
2843  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_assumption_order)
2844 }
2845 
2846 // optional bool max_sat_reverse_assumption_order = 52 [default = false];
2848  return (_has_bits_[0] & 0x00000080u) != 0;
2849 }
2851  max_sat_reverse_assumption_order_ = false;
2852  _has_bits_[0] &= ~0x00000080u;
2855  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_reverse_assumption_order)
2856  return max_sat_reverse_assumption_order_;
2859  _has_bits_[0] |= 0x00000080u;
2860  max_sat_reverse_assumption_order_ = value;
2861  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_reverse_assumption_order)
2862 }
2863 
2864 // optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification = 53 [default = STRATIFICATION_DESCENT];
2865 inline bool SatParameters::has_max_sat_stratification() const {
2866  return (_has_bits_[1] & 0x20000000u) != 0;
2867 }
2869  max_sat_stratification_ = 1;
2870  _has_bits_[1] &= ~0x20000000u;
2873  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_stratification)
2874  return static_cast< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm >(max_sat_stratification_);
2878  _has_bits_[1] |= 0x20000000u;
2879  max_sat_stratification_ = value;
2880  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_stratification)
2881 }
2882 
2883 // optional bool use_precedences_in_disjunctive_constraint = 74 [default = true];
2885  return (_has_bits_[2] & 0x00008000u) != 0;
2886 }
2888  use_precedences_in_disjunctive_constraint_ = true;
2889  _has_bits_[2] &= ~0x00008000u;
2892  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_precedences_in_disjunctive_constraint)
2893  return use_precedences_in_disjunctive_constraint_;
2896  _has_bits_[2] |= 0x00008000u;
2897  use_precedences_in_disjunctive_constraint_ = value;
2898  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_precedences_in_disjunctive_constraint)
2899 }
2900 
2901 // optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
2903  return (_has_bits_[0] & 0x00000100u) != 0;
2904 }
2906  use_overload_checker_in_cumulative_constraint_ = false;
2907  _has_bits_[0] &= ~0x00000100u;
2910  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_overload_checker_in_cumulative_constraint)
2911  return use_overload_checker_in_cumulative_constraint_;
2914  _has_bits_[0] |= 0x00000100u;
2915  use_overload_checker_in_cumulative_constraint_ = value;
2916  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_overload_checker_in_cumulative_constraint)
2917 }
2918 
2919 // optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
2921  return (_has_bits_[0] & 0x00800000u) != 0;
2922 }
2924  use_timetable_edge_finding_in_cumulative_constraint_ = false;
2925  _has_bits_[0] &= ~0x00800000u;
2928  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_timetable_edge_finding_in_cumulative_constraint)
2929  return use_timetable_edge_finding_in_cumulative_constraint_;
2932  _has_bits_[0] |= 0x00800000u;
2933  use_timetable_edge_finding_in_cumulative_constraint_ = value;
2934  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_timetable_edge_finding_in_cumulative_constraint)
2935 }
2936 
2937 // optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
2939  return (_has_bits_[2] & 0x00010000u) != 0;
2940 }
2942  use_disjunctive_constraint_in_cumulative_constraint_ = true;
2943  _has_bits_[2] &= ~0x00010000u;
2946  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_disjunctive_constraint_in_cumulative_constraint)
2947  return use_disjunctive_constraint_in_cumulative_constraint_;
2950  _has_bits_[2] |= 0x00010000u;
2951  use_disjunctive_constraint_in_cumulative_constraint_ = value;
2952  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_disjunctive_constraint_in_cumulative_constraint)
2953 }
2954 
2955 // optional int32 linearization_level = 90 [default = 1];
2956 inline bool SatParameters::has_linearization_level() const {
2957  return (_has_bits_[2] & 0x00020000u) != 0;
2958 }
2960  linearization_level_ = 1;
2961  _has_bits_[2] &= ~0x00020000u;
2963 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::linearization_level() const {
2964  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.linearization_level)
2965  return linearization_level_;
2967 inline void SatParameters::set_linearization_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
2968  _has_bits_[2] |= 0x00020000u;
2969  linearization_level_ = value;
2970  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.linearization_level)
2971 }
2972 
2973 // optional int32 boolean_encoding_level = 107 [default = 1];
2974 inline bool SatParameters::has_boolean_encoding_level() const {
2975  return (_has_bits_[2] & 0x08000000u) != 0;
2976 }
2978  boolean_encoding_level_ = 1;
2979  _has_bits_[2] &= ~0x08000000u;
2981 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::boolean_encoding_level() const {
2982  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.boolean_encoding_level)
2983  return boolean_encoding_level_;
2985 inline void SatParameters::set_boolean_encoding_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
2986  _has_bits_[2] |= 0x08000000u;
2987  boolean_encoding_level_ = value;
2988  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.boolean_encoding_level)
2989 }
2990 
2991 // optional int32 max_num_cuts = 91 [default = 5000];
2992 inline bool SatParameters::has_max_num_cuts() const {
2993  return (_has_bits_[2] & 0x00040000u) != 0;
2994 }
2996  max_num_cuts_ = 5000;
2997  _has_bits_[2] &= ~0x00040000u;
2999 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::max_num_cuts() const {
3000  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_num_cuts)
3001  return max_num_cuts_;
3003 inline void SatParameters::set_max_num_cuts(::PROTOBUF_NAMESPACE_ID::int32 value) {
3004  _has_bits_[2] |= 0x00040000u;
3005  max_num_cuts_ = value;
3006  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_num_cuts)
3007 }
3008 
3009 // optional bool only_add_cuts_at_level_zero = 92 [default = false];
3011  return (_has_bits_[0] & 0x01000000u) != 0;
3012 }
3014  only_add_cuts_at_level_zero_ = false;
3015  _has_bits_[0] &= ~0x01000000u;
3017 inline bool SatParameters::only_add_cuts_at_level_zero() const {
3018  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.only_add_cuts_at_level_zero)
3019  return only_add_cuts_at_level_zero_;
3021 inline void SatParameters::set_only_add_cuts_at_level_zero(bool value) {
3022  _has_bits_[0] |= 0x01000000u;
3023  only_add_cuts_at_level_zero_ = value;
3024  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.only_add_cuts_at_level_zero)
3025 }
3026 
3027 // optional bool add_knapsack_cuts = 111 [default = false];
3028 inline bool SatParameters::has_add_knapsack_cuts() const {
3029  return (_has_bits_[0] & 0x02000000u) != 0;
3030 }
3032  add_knapsack_cuts_ = false;
3033  _has_bits_[0] &= ~0x02000000u;
3035 inline bool SatParameters::add_knapsack_cuts() const {
3036  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_knapsack_cuts)
3037  return add_knapsack_cuts_;
3039 inline void SatParameters::set_add_knapsack_cuts(bool value) {
3040  _has_bits_[0] |= 0x02000000u;
3041  add_knapsack_cuts_ = value;
3042  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_knapsack_cuts)
3043 }
3044 
3045 // optional bool add_cg_cuts = 117 [default = false];
3046 inline bool SatParameters::has_add_cg_cuts() const {
3047  return (_has_bits_[0] & 0x04000000u) != 0;
3048 }
3050  add_cg_cuts_ = false;
3051  _has_bits_[0] &= ~0x04000000u;
3053 inline bool SatParameters::add_cg_cuts() const {
3054  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_cg_cuts)
3055  return add_cg_cuts_;
3057 inline void SatParameters::set_add_cg_cuts(bool value) {
3058  _has_bits_[0] |= 0x04000000u;
3059  add_cg_cuts_ = value;
3060  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_cg_cuts)
3061 }
3062 
3063 // optional bool add_mir_cuts = 120 [default = true];
3064 inline bool SatParameters::has_add_mir_cuts() const {
3065  return (_has_bits_[3] & 0x00000002u) != 0;
3066 }
3068  add_mir_cuts_ = true;
3069  _has_bits_[3] &= ~0x00000002u;
3071 inline bool SatParameters::add_mir_cuts() const {
3072  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_mir_cuts)
3073  return add_mir_cuts_;
3075 inline void SatParameters::set_add_mir_cuts(bool value) {
3076  _has_bits_[3] |= 0x00000002u;
3077  add_mir_cuts_ = value;
3078  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_mir_cuts)
3079 }
3080 
3081 // optional bool use_mir_rounding = 118 [default = true];
3082 inline bool SatParameters::has_use_mir_rounding() const {
3083  return (_has_bits_[3] & 0x00000004u) != 0;
3084 }
3086  use_mir_rounding_ = true;
3087  _has_bits_[3] &= ~0x00000004u;
3089 inline bool SatParameters::use_mir_rounding() const {
3090  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_mir_rounding)
3091  return use_mir_rounding_;
3093 inline void SatParameters::set_use_mir_rounding(bool value) {
3094  _has_bits_[3] |= 0x00000004u;
3095  use_mir_rounding_ = value;
3096  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_mir_rounding)
3097 }
3098 
3099 // optional int32 max_integer_rounding_scaling = 119 [default = 600];
3101  return (_has_bits_[3] & 0x00000020u) != 0;
3102 }
3104  max_integer_rounding_scaling_ = 600;
3105  _has_bits_[3] &= ~0x00000020u;
3107 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::max_integer_rounding_scaling() const {
3108  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_integer_rounding_scaling)
3109  return max_integer_rounding_scaling_;
3111 inline void SatParameters::set_max_integer_rounding_scaling(::PROTOBUF_NAMESPACE_ID::int32 value) {
3112  _has_bits_[3] |= 0x00000020u;
3113  max_integer_rounding_scaling_ = value;
3114  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_integer_rounding_scaling)
3115 }
3116 
3117 // optional bool add_lp_constraints_lazily = 112 [default = true];
3119  return (_has_bits_[3] & 0x00000008u) != 0;
3120 }
3122  add_lp_constraints_lazily_ = true;
3123  _has_bits_[3] &= ~0x00000008u;
3125 inline bool SatParameters::add_lp_constraints_lazily() const {
3126  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_lp_constraints_lazily)
3127  return add_lp_constraints_lazily_;
3129 inline void SatParameters::set_add_lp_constraints_lazily(bool value) {
3130  _has_bits_[3] |= 0x00000008u;
3131  add_lp_constraints_lazily_ = value;
3132  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_lp_constraints_lazily)
3133 }
3134 
3135 // optional double min_orthogonality_for_lp_constraints = 115 [default = 0];
3137  return (_has_bits_[0] & 0x10000000u) != 0;
3138 }
3140  min_orthogonality_for_lp_constraints_ = 0;
3141  _has_bits_[0] &= ~0x10000000u;
3144  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.min_orthogonality_for_lp_constraints)
3145  return min_orthogonality_for_lp_constraints_;
3148  _has_bits_[0] |= 0x10000000u;
3149  min_orthogonality_for_lp_constraints_ = value;
3150  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.min_orthogonality_for_lp_constraints)
3151 }
3152 
3153 // optional int64 max_inactive_count = 121 [default = 1000];
3154 inline bool SatParameters::has_max_inactive_count() const {
3155  return (_has_bits_[3] & 0x00000400u) != 0;
3156 }
3158  max_inactive_count_ = PROTOBUF_LONGLONG(1000);
3159  _has_bits_[3] &= ~0x00000400u;
3161 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::max_inactive_count() const {
3162  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_inactive_count)
3163  return max_inactive_count_;
3165 inline void SatParameters::set_max_inactive_count(::PROTOBUF_NAMESPACE_ID::int64 value) {
3166  _has_bits_[3] |= 0x00000400u;
3167  max_inactive_count_ = value;
3168  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_inactive_count)
3169 }
3170 
3171 // optional int64 constraint_removal_batch_size = 122 [default = 100];
3173  return (_has_bits_[3] & 0x00000800u) != 0;
3174 }
3176  constraint_removal_batch_size_ = PROTOBUF_LONGLONG(100);
3177  _has_bits_[3] &= ~0x00000800u;
3179 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::constraint_removal_batch_size() const {
3180  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.constraint_removal_batch_size)
3181  return constraint_removal_batch_size_;
3183 inline void SatParameters::set_constraint_removal_batch_size(::PROTOBUF_NAMESPACE_ID::int64 value) {
3184  _has_bits_[3] |= 0x00000800u;
3185  constraint_removal_batch_size_ = value;
3186  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.constraint_removal_batch_size)
3187 }
3188 
3189 // optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTOMATIC_SEARCH];
3190 inline bool SatParameters::has_search_branching() const {
3191  return (_has_bits_[0] & 0x00020000u) != 0;
3192 }
3194  search_branching_ = 0;
3195  _has_bits_[0] &= ~0x00020000u;
3198  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.search_branching)
3199  return static_cast< ::operations_research::sat::SatParameters_SearchBranching >(search_branching_);
3203  _has_bits_[0] |= 0x00020000u;
3204  search_branching_ = value;
3205  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.search_branching)
3206 }
3207 
3208 // optional bool exploit_integer_lp_solution = 94 [default = true];
3210  return (_has_bits_[3] & 0x00000010u) != 0;
3211 }
3213  exploit_integer_lp_solution_ = true;
3214  _has_bits_[3] &= ~0x00000010u;
3216 inline bool SatParameters::exploit_integer_lp_solution() const {
3217  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_integer_lp_solution)
3218  return exploit_integer_lp_solution_;
3220 inline void SatParameters::set_exploit_integer_lp_solution(bool value) {
3221  _has_bits_[3] |= 0x00000010u;
3222  exploit_integer_lp_solution_ = value;
3223  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_integer_lp_solution)
3224 }
3225 
3226 // optional bool exploit_all_lp_solution = 116 [default = true];
3227 inline bool SatParameters::has_exploit_all_lp_solution() const {
3228  return (_has_bits_[2] & 0x00800000u) != 0;
3229 }
3231  exploit_all_lp_solution_ = true;
3232  _has_bits_[2] &= ~0x00800000u;
3234 inline bool SatParameters::exploit_all_lp_solution() const {
3235  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_all_lp_solution)
3236  return exploit_all_lp_solution_;
3238 inline void SatParameters::set_exploit_all_lp_solution(bool value) {
3239  _has_bits_[2] |= 0x00800000u;
3240  exploit_all_lp_solution_ = value;
3241  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_all_lp_solution)
3242 }
3243 
3244 // optional bool exploit_best_solution = 130 [default = false];
3245 inline bool SatParameters::has_exploit_best_solution() const {
3246  return (_has_bits_[0] & 0x00080000u) != 0;
3247 }
3249  exploit_best_solution_ = false;
3250  _has_bits_[0] &= ~0x00080000u;
3252 inline bool SatParameters::exploit_best_solution() const {
3253  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_best_solution)
3254  return exploit_best_solution_;
3256 inline void SatParameters::set_exploit_best_solution(bool value) {
3257  _has_bits_[0] |= 0x00080000u;
3258  exploit_best_solution_ = value;
3259  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_best_solution)
3260 }
3261 
3262 // optional bool exploit_objective = 131 [default = true];
3263 inline bool SatParameters::has_exploit_objective() const {
3264  return (_has_bits_[2] & 0x01000000u) != 0;
3265 }
3267  exploit_objective_ = true;
3268  _has_bits_[2] &= ~0x01000000u;
3270 inline bool SatParameters::exploit_objective() const {
3271  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_objective)
3272  return exploit_objective_;
3274 inline void SatParameters::set_exploit_objective(bool value) {
3275  _has_bits_[2] |= 0x01000000u;
3276  exploit_objective_ = value;
3277  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_objective)
3278 }
3279 
3280 // optional int64 pseudo_cost_reliability_threshold = 123 [default = 100];
3282  return (_has_bits_[3] & 0x00001000u) != 0;
3283 }
3285  pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
3286  _has_bits_[3] &= ~0x00001000u;
3288 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::pseudo_cost_reliability_threshold() const {
3289  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pseudo_cost_reliability_threshold)
3290  return pseudo_cost_reliability_threshold_;
3292 inline void SatParameters::set_pseudo_cost_reliability_threshold(::PROTOBUF_NAMESPACE_ID::int64 value) {
3293  _has_bits_[3] |= 0x00001000u;
3294  pseudo_cost_reliability_threshold_ = value;
3295  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pseudo_cost_reliability_threshold)
3296 }
3297 
3298 // optional bool optimize_with_core = 83 [default = false];
3299 inline bool SatParameters::has_optimize_with_core() const {
3300  return (_has_bits_[0] & 0x00100000u) != 0;
3301 }
3303  optimize_with_core_ = false;
3304  _has_bits_[0] &= ~0x00100000u;
3306 inline bool SatParameters::optimize_with_core() const {
3307  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.optimize_with_core)
3308  return optimize_with_core_;
3310 inline void SatParameters::set_optimize_with_core(bool value) {
3311  _has_bits_[0] |= 0x00100000u;
3312  optimize_with_core_ = value;
3313  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.optimize_with_core)
3314 }
3315 
3316 // optional int32 binary_search_num_conflicts = 99 [default = -1];
3318  return (_has_bits_[2] & 0x00200000u) != 0;
3319 }
3321  binary_search_num_conflicts_ = -1;
3322  _has_bits_[2] &= ~0x00200000u;
3324 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::binary_search_num_conflicts() const {
3325  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.binary_search_num_conflicts)
3326  return binary_search_num_conflicts_;
3328 inline void SatParameters::set_binary_search_num_conflicts(::PROTOBUF_NAMESPACE_ID::int32 value) {
3329  _has_bits_[2] |= 0x00200000u;
3330  binary_search_num_conflicts_ = value;
3331  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.binary_search_num_conflicts)
3332 }
3333 
3334 // optional bool optimize_with_max_hs = 85 [default = false];
3335 inline bool SatParameters::has_optimize_with_max_hs() const {
3336  return (_has_bits_[0] & 0x00200000u) != 0;
3337 }
3339  optimize_with_max_hs_ = false;
3340  _has_bits_[0] &= ~0x00200000u;
3342 inline bool SatParameters::optimize_with_max_hs() const {
3343  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.optimize_with_max_hs)
3344  return optimize_with_max_hs_;
3346 inline void SatParameters::set_optimize_with_max_hs(bool value) {
3347  _has_bits_[0] |= 0x00200000u;
3348  optimize_with_max_hs_ = value;
3349  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.optimize_with_max_hs)
3350 }
3351 
3352 // optional bool cp_model_presolve = 86 [default = true];
3353 inline bool SatParameters::has_cp_model_presolve() const {
3354  return (_has_bits_[2] & 0x02000000u) != 0;
3355 }
3357  cp_model_presolve_ = true;
3358  _has_bits_[2] &= ~0x02000000u;
3360 inline bool SatParameters::cp_model_presolve() const {
3361  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_presolve)
3362  return cp_model_presolve_;
3364 inline void SatParameters::set_cp_model_presolve(bool value) {
3365  _has_bits_[2] |= 0x02000000u;
3366  cp_model_presolve_ = value;
3367  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_presolve)
3368 }
3369 
3370 // optional int32 cp_model_probing_level = 110 [default = 2];
3371 inline bool SatParameters::has_cp_model_probing_level() const {
3372  return (_has_bits_[3] & 0x00000001u) != 0;
3373 }
3375  cp_model_probing_level_ = 2;
3376  _has_bits_[3] &= ~0x00000001u;
3378 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::cp_model_probing_level() const {
3379  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_probing_level)
3380  return cp_model_probing_level_;
3382 inline void SatParameters::set_cp_model_probing_level(::PROTOBUF_NAMESPACE_ID::int32 value) {
3383  _has_bits_[3] |= 0x00000001u;
3384  cp_model_probing_level_ = value;
3385  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_probing_level)
3386 }
3387 
3388 // optional bool cp_model_use_sat_presolve = 93 [default = true];
3390  return (_has_bits_[2] & 0x04000000u) != 0;
3391 }
3393  cp_model_use_sat_presolve_ = true;
3394  _has_bits_[2] &= ~0x04000000u;
3396 inline bool SatParameters::cp_model_use_sat_presolve() const {
3397  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_use_sat_presolve)
3398  return cp_model_use_sat_presolve_;
3400 inline void SatParameters::set_cp_model_use_sat_presolve(bool value) {
3401  _has_bits_[2] |= 0x04000000u;
3402  cp_model_use_sat_presolve_ = value;
3403  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_use_sat_presolve)
3404 }
3405 
3406 // optional bool enumerate_all_solutions = 87 [default = false];
3407 inline bool SatParameters::has_enumerate_all_solutions() const {
3408  return (_has_bits_[0] & 0x00400000u) != 0;
3409 }
3411  enumerate_all_solutions_ = false;
3412  _has_bits_[0] &= ~0x00400000u;
3414 inline bool SatParameters::enumerate_all_solutions() const {
3415  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.enumerate_all_solutions)
3416  return enumerate_all_solutions_;
3418 inline void SatParameters::set_enumerate_all_solutions(bool value) {
3419  _has_bits_[0] |= 0x00400000u;
3420  enumerate_all_solutions_ = value;
3421  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.enumerate_all_solutions)
3422 }
3423 
3424 // optional bool fill_tightened_domains_in_response = 132 [default = false];
3426  return (_has_bits_[1] & 0x00000002u) != 0;
3427 }
3429  fill_tightened_domains_in_response_ = false;
3430  _has_bits_[1] &= ~0x00000002u;
3433  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.fill_tightened_domains_in_response)
3434  return fill_tightened_domains_in_response_;
3437  _has_bits_[1] |= 0x00000002u;
3438  fill_tightened_domains_in_response_ = value;
3439  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.fill_tightened_domains_in_response)
3440 }
3441 
3442 // optional bool instantiate_all_variables = 106 [default = true];
3444  return (_has_bits_[2] & 0x10000000u) != 0;
3445 }
3447  instantiate_all_variables_ = true;
3448  _has_bits_[2] &= ~0x10000000u;
3450 inline bool SatParameters::instantiate_all_variables() const {
3451  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.instantiate_all_variables)
3452  return instantiate_all_variables_;
3454 inline void SatParameters::set_instantiate_all_variables(bool value) {
3455  _has_bits_[2] |= 0x10000000u;
3456  instantiate_all_variables_ = value;
3457  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.instantiate_all_variables)
3458 }
3459 
3460 // optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
3462  return (_has_bits_[2] & 0x20000000u) != 0;
3463 }
3465  auto_detect_greater_than_at_least_one_of_ = true;
3466  _has_bits_[2] &= ~0x20000000u;
3469  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.auto_detect_greater_than_at_least_one_of)
3470  return auto_detect_greater_than_at_least_one_of_;
3473  _has_bits_[2] |= 0x20000000u;
3474  auto_detect_greater_than_at_least_one_of_ = value;
3475  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.auto_detect_greater_than_at_least_one_of)
3476 }
3477 
3478 // optional bool stop_after_first_solution = 98 [default = false];
3480  return (_has_bits_[1] & 0x00000004u) != 0;
3481 }
3483  stop_after_first_solution_ = false;
3484  _has_bits_[1] &= ~0x00000004u;
3486 inline bool SatParameters::stop_after_first_solution() const {
3487  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.stop_after_first_solution)
3488  return stop_after_first_solution_;
3490 inline void SatParameters::set_stop_after_first_solution(bool value) {
3491  _has_bits_[1] |= 0x00000004u;
3492  stop_after_first_solution_ = value;
3493  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.stop_after_first_solution)
3494 }
3495 
3496 // optional int32 num_search_workers = 100 [default = 1];
3497 inline bool SatParameters::has_num_search_workers() const {
3498  return (_has_bits_[2] & 0x00400000u) != 0;
3499 }
3501  num_search_workers_ = 1;
3502  _has_bits_[2] &= ~0x00400000u;
3504 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::num_search_workers() const {
3505  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.num_search_workers)
3506  return num_search_workers_;
3508 inline void SatParameters::set_num_search_workers(::PROTOBUF_NAMESPACE_ID::int32 value) {
3509  _has_bits_[2] |= 0x00400000u;
3510  num_search_workers_ = value;
3511  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.num_search_workers)
3512 }
3513 
3514 // optional bool interleave_search = 136 [default = false];
3515 inline bool SatParameters::has_interleave_search() const {
3516  return (_has_bits_[1] & 0x00000008u) != 0;
3517 }
3519  interleave_search_ = false;
3520  _has_bits_[1] &= ~0x00000008u;
3522 inline bool SatParameters::interleave_search() const {
3523  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.interleave_search)
3524  return interleave_search_;
3526 inline void SatParameters::set_interleave_search(bool value) {
3527  _has_bits_[1] |= 0x00000008u;
3528  interleave_search_ = value;
3529  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.interleave_search)
3530 }
3531 
3532 // optional bool deterministic_parallel_search = 134 [default = false];
3534  return (_has_bits_[1] & 0x00000010u) != 0;
3535 }
3537  deterministic_parallel_search_ = false;
3538  _has_bits_[1] &= ~0x00000010u;
3541  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.deterministic_parallel_search)
3542  return deterministic_parallel_search_;
3544 inline void SatParameters::set_deterministic_parallel_search(bool value) {
3545  _has_bits_[1] |= 0x00000010u;
3546  deterministic_parallel_search_ = value;
3547  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.deterministic_parallel_search)
3548 }
3549 
3550 // optional bool share_objective_bounds = 113 [default = true];
3551 inline bool SatParameters::has_share_objective_bounds() const {
3552  return (_has_bits_[2] & 0x40000000u) != 0;
3553 }
3555  share_objective_bounds_ = true;
3556  _has_bits_[2] &= ~0x40000000u;
3558 inline bool SatParameters::share_objective_bounds() const {
3559  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.share_objective_bounds)
3560  return share_objective_bounds_;
3562 inline void SatParameters::set_share_objective_bounds(bool value) {
3563  _has_bits_[2] |= 0x40000000u;
3564  share_objective_bounds_ = value;
3565  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.share_objective_bounds)
3566 }
3567 
3568 // optional bool share_level_zero_bounds = 114 [default = true];
3569 inline bool SatParameters::has_share_level_zero_bounds() const {
3570  return (_has_bits_[2] & 0x80000000u) != 0;
3571 }
3573  share_level_zero_bounds_ = true;
3574  _has_bits_[2] &= ~0x80000000u;
3576 inline bool SatParameters::share_level_zero_bounds() const {
3577  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.share_level_zero_bounds)
3578  return share_level_zero_bounds_;
3580 inline void SatParameters::set_share_level_zero_bounds(bool value) {
3581  _has_bits_[2] |= 0x80000000u;
3582  share_level_zero_bounds_ = value;
3583  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.share_level_zero_bounds)
3584 }
3585 
3586 // optional bool use_lns_only = 101 [default = false];
3587 inline bool SatParameters::has_use_lns_only() const {
3588  return (_has_bits_[0] & 0x20000000u) != 0;
3589 }
3591  use_lns_only_ = false;
3592  _has_bits_[0] &= ~0x20000000u;
3594 inline bool SatParameters::use_lns_only() const {
3595  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_lns_only)
3596  return use_lns_only_;
3598 inline void SatParameters::set_use_lns_only(bool value) {
3599  _has_bits_[0] |= 0x20000000u;
3600  use_lns_only_ = value;
3601  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_lns_only)
3602 }
3603 
3604 // optional bool lns_focus_on_decision_variables = 105 [default = false];
3606  return (_has_bits_[0] & 0x40000000u) != 0;
3607 }
3609  lns_focus_on_decision_variables_ = false;
3610  _has_bits_[0] &= ~0x40000000u;
3613  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.lns_focus_on_decision_variables)
3614  return lns_focus_on_decision_variables_;
3617  _has_bits_[0] |= 0x40000000u;
3618  lns_focus_on_decision_variables_ = value;
3619  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.lns_focus_on_decision_variables)
3620 }
3621 
3622 // optional bool use_rins_lns = 129 [default = true];
3623 inline bool SatParameters::has_use_rins_lns() const {
3624  return (_has_bits_[3] & 0x00000040u) != 0;
3625 }
3627  use_rins_lns_ = true;
3628  _has_bits_[3] &= ~0x00000040u;
3630 inline bool SatParameters::use_rins_lns() const {
3631  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_rins_lns)
3632  return use_rins_lns_;
3634 inline void SatParameters::set_use_rins_lns(bool value) {
3635  _has_bits_[3] |= 0x00000040u;
3636  use_rins_lns_ = value;
3637  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_rins_lns)
3638 }
3639 
3640 // optional bool randomize_search = 103 [default = false];
3641 inline bool SatParameters::has_randomize_search() const {
3642  return (_has_bits_[0] & 0x80000000u) != 0;
3643 }
3645  randomize_search_ = false;
3646  _has_bits_[0] &= ~0x80000000u;
3648 inline bool SatParameters::randomize_search() const {
3649  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.randomize_search)
3650  return randomize_search_;
3652 inline void SatParameters::set_randomize_search(bool value) {
3653  _has_bits_[0] |= 0x80000000u;
3654  randomize_search_ = value;
3655  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.randomize_search)
3656 }
3657 
3658 // optional int64 search_randomization_tolerance = 104 [default = 0];
3660  return (_has_bits_[0] & 0x08000000u) != 0;
3661 }
3663  search_randomization_tolerance_ = PROTOBUF_LONGLONG(0);
3664  _has_bits_[0] &= ~0x08000000u;
3666 inline ::PROTOBUF_NAMESPACE_ID::int64 SatParameters::search_randomization_tolerance() const {
3667  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.search_randomization_tolerance)
3668  return search_randomization_tolerance_;
3670 inline void SatParameters::set_search_randomization_tolerance(::PROTOBUF_NAMESPACE_ID::int64 value) {
3671  _has_bits_[0] |= 0x08000000u;
3672  search_randomization_tolerance_ = value;
3673  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.search_randomization_tolerance)
3674 }
3675 
3676 // optional bool use_optional_variables = 108 [default = true];
3677 inline bool SatParameters::has_use_optional_variables() const {
3678  return (_has_bits_[3] & 0x00000080u) != 0;
3679 }
3681  use_optional_variables_ = true;
3682  _has_bits_[3] &= ~0x00000080u;
3684 inline bool SatParameters::use_optional_variables() const {
3685  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_optional_variables)
3686  return use_optional_variables_;
3688 inline void SatParameters::set_use_optional_variables(bool value) {
3689  _has_bits_[3] |= 0x00000080u;
3690  use_optional_variables_ = value;
3691  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_optional_variables)
3692 }
3693 
3694 // optional bool use_exact_lp_reason = 109 [default = true];
3695 inline bool SatParameters::has_use_exact_lp_reason() const {
3696  return (_has_bits_[3] & 0x00000100u) != 0;
3697 }
3699  use_exact_lp_reason_ = true;
3700  _has_bits_[3] &= ~0x00000100u;
3702 inline bool SatParameters::use_exact_lp_reason() const {
3703  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_exact_lp_reason)
3704  return use_exact_lp_reason_;
3706 inline void SatParameters::set_use_exact_lp_reason(bool value) {
3707  _has_bits_[3] |= 0x00000100u;
3708  use_exact_lp_reason_ = value;
3709  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_exact_lp_reason)
3710 }
3711 
3712 // optional bool use_combined_no_overlap = 133 [default = false];
3713 inline bool SatParameters::has_use_combined_no_overlap() const {
3714  return (_has_bits_[1] & 0x00000001u) != 0;
3715 }
3717  use_combined_no_overlap_ = false;
3718  _has_bits_[1] &= ~0x00000001u;
3720 inline bool SatParameters::use_combined_no_overlap() const {
3721  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_combined_no_overlap)
3722  return use_combined_no_overlap_;
3724 inline void SatParameters::set_use_combined_no_overlap(bool value) {
3725  _has_bits_[1] |= 0x00000001u;
3726  use_combined_no_overlap_ = value;
3727  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_combined_no_overlap)
3728 }
3729 
3730 // optional double mip_max_bound = 124 [default = 10000000];
3731 inline bool SatParameters::has_mip_max_bound() const {
3732  return (_has_bits_[3] & 0x00002000u) != 0;
3733 }
3735  mip_max_bound_ = 10000000;
3736  _has_bits_[3] &= ~0x00002000u;
3738 inline double SatParameters::mip_max_bound() const {
3739  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_max_bound)
3740  return mip_max_bound_;
3742 inline void SatParameters::set_mip_max_bound(double value) {
3743  _has_bits_[3] |= 0x00002000u;
3744  mip_max_bound_ = value;
3745  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_max_bound)
3746 }
3747 
3748 // optional double mip_var_scaling = 125 [default = 1];
3749 inline bool SatParameters::has_mip_var_scaling() const {
3750  return (_has_bits_[3] & 0x00004000u) != 0;
3751 }
3753  mip_var_scaling_ = 1;
3754  _has_bits_[3] &= ~0x00004000u;
3756 inline double SatParameters::mip_var_scaling() const {
3757  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_var_scaling)
3758  return mip_var_scaling_;
3760 inline void SatParameters::set_mip_var_scaling(double value) {
3761  _has_bits_[3] |= 0x00004000u;
3762  mip_var_scaling_ = value;
3763  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_var_scaling)
3764 }
3765 
3766 // optional double mip_wanted_precision = 126 [default = 1e-06];
3767 inline bool SatParameters::has_mip_wanted_precision() const {
3768  return (_has_bits_[3] & 0x00008000u) != 0;
3769 }
3771  mip_wanted_precision_ = 1e-06;
3772  _has_bits_[3] &= ~0x00008000u;
3774 inline double SatParameters::mip_wanted_precision() const {
3775  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_wanted_precision)
3776  return mip_wanted_precision_;
3778 inline void SatParameters::set_mip_wanted_precision(double value) {
3779  _has_bits_[3] |= 0x00008000u;
3780  mip_wanted_precision_ = value;
3781  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_wanted_precision)
3782 }
3783 
3784 // optional int32 mip_max_activity_exponent = 127 [default = 53];
3786  return (_has_bits_[1] & 0x00000020u) != 0;
3787 }
3789  mip_max_activity_exponent_ = 53;
3790  _has_bits_[1] &= ~0x00000020u;
3792 inline ::PROTOBUF_NAMESPACE_ID::int32 SatParameters::mip_max_activity_exponent() const {
3793  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_max_activity_exponent)
3794  return mip_max_activity_exponent_;
3796 inline void SatParameters::set_mip_max_activity_exponent(::PROTOBUF_NAMESPACE_ID::int32 value) {
3797  _has_bits_[1] |= 0x00000020u;
3798  mip_max_activity_exponent_ = value;
3799  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_max_activity_exponent)
3800 }
3801 
3802 // optional double mip_check_precision = 128 [default = 0.0001];
3803 inline bool SatParameters::has_mip_check_precision() const {
3804  return (_has_bits_[3] & 0x00010000u) != 0;
3805 }
3807  mip_check_precision_ = 0.0001;
3808  _has_bits_[3] &= ~0x00010000u;
3810 inline double SatParameters::mip_check_precision() const {
3811  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_check_precision)
3812  return mip_check_precision_;
3814 inline void SatParameters::set_mip_check_precision(double value) {
3815  _has_bits_[3] |= 0x00010000u;
3816  mip_check_precision_ = value;
3817  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_check_precision)
3818 }
3819 
3820 // optional bool catch_sigint_signal = 135 [default = true];
3821 inline bool SatParameters::has_catch_sigint_signal() const {
3822  return (_has_bits_[3] & 0x00000200u) != 0;
3823 }
3825  catch_sigint_signal_ = true;
3826  _has_bits_[3] &= ~0x00000200u;
3828 inline bool SatParameters::catch_sigint_signal() const {
3829  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.catch_sigint_signal)
3830  return catch_sigint_signal_;
3832 inline void SatParameters::set_catch_sigint_signal(bool value) {
3833  _has_bits_[3] |= 0x00000200u;
3834  catch_sigint_signal_ = value;
3835  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.catch_sigint_signal)
3836 }
3837 
3838 #ifdef __GNUC__
3839  #pragma GCC diagnostic pop
3840 #endif // __GNUC__
3841 
3842 // @@protoc_insertion_point(namespace_scope)
3843 
3844 } // namespace sat
3845 } // namespace operations_research
3846 
3847 PROTOBUF_NAMESPACE_OPEN
3848 
3849 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_VariableOrder> : ::std::true_type {};
3850 template <>
3851 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_VariableOrder>() {
3853 }
3854 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_Polarity> : ::std::true_type {};
3855 template <>
3856 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_Polarity>() {
3858 }
3859 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm> : ::std::true_type {};
3860 template <>
3861 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm>() {
3863 }
3864 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm> : ::std::true_type {};
3865 template <>
3866 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm>() {
3868 }
3869 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ClauseProtection> : ::std::true_type {};
3870 template <>
3871 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ClauseProtection>() {
3873 }
3874 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ClauseOrdering> : ::std::true_type {};
3875 template <>
3876 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ClauseOrdering>() {
3878 }
3879 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_RestartAlgorithm> : ::std::true_type {};
3880 template <>
3881 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_RestartAlgorithm>() {
3883 }
3884 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder> : ::std::true_type {};
3885 template <>
3886 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder>() {
3888 }
3889 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm> : ::std::true_type {};
3890 template <>
3891 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm>() {
3893 }
3894 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_SearchBranching> : ::std::true_type {};
3895 template <>
3896 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_SearchBranching>() {
3898 }
3900 PROTOBUF_NAMESPACE_CLOSE
3901 
3902 // @@protoc_insertion_point(global_scope)
3903 
3904 #include <google/protobuf/port_undef.inc>
3905 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fsat_5fparameters_2eproto
::operations_research::sat::SatParameters_VariableOrder preferred_variable_order() const
bool has_clause_activity_decay() const
optional double clause_activity_decay = 17 [default = 0.999];
SatParameters_SearchBranching SearchBranching
SatParameters * New() const final
implements Message -------------------------------------------—
bool has_find_multiple_cores() const
optional bool find_multiple_cores = 84 [default = true];
static constexpr ClauseOrdering ClauseOrdering_MAX
::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_restart_period() const
::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_clause_weight() const
static constexpr SearchBranching FIXED_SEARCH
void set_restart_running_window_size(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 restart_period() const
void set_mip_max_activity_exponent(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr ClauseProtection ClauseProtection_MAX
void set_min_orthogonality_for_lp_constraints(double value)
static constexpr ConflictMinimizationAlgorithm EXPERIMENTAL
bool has_add_mir_cuts() const
optional bool add_mir_cuts = 120 [default = true];
void set_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_clause_cleanup_ordering(::operations_research::sat::SatParameters_ClauseOrdering value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatAssumptionOrder_descriptor()
bool has_max_deterministic_time() const
optional double max_deterministic_time = 67 [default = inf];
bool has_use_lns_only() const
optional bool use_lns_only = 101 [default = false];
::PROTOBUF_NAMESPACE_ID::int64 max_memory_in_mb() const
::PROTOBUF_NAMESPACE_ID::int32 max_integer_rounding_scaling() const
void set_clause_cleanup_lbd_bound(::PROTOBUF_NAMESPACE_ID::int32 value)
constexpr int SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_ARRAYSIZE
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
::PROTOBUF_NAMESPACE_ID::int32 blocking_restart_window_size() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
::PROTOBUF_NAMESPACE_ID::int32 num_search_workers() const
::operations_research::sat::SatParameters_BinaryMinizationAlgorithm binary_minimization_algorithm() const
static constexpr ConflictMinimizationAlgorithm RECURSIVE
::PROTOBUF_NAMESPACE_ID::int32 max_num_cuts() const
void set_restart_algorithms(int index, ::operations_research::sat::SatParameters_RestartAlgorithm value)
bool has_clause_cleanup_lbd_bound() const
optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
bool has_use_rins_lns() const
optional bool use_rins_lns = 129 [default = true];
bool has_exploit_all_lp_solution() const
optional bool exploit_all_lp_solution = 116 [default = true];
static constexpr BinaryMinizationAlgorithm EXPERIMENTAL_BINARY_MINIMIZATION
::PROTOBUF_NAMESPACE_ID::int32 glucose_decay_increment_period() const
bool has_pb_cleanup_increment() const
optional int32 pb_cleanup_increment = 46 [default = 200];
bool has_initial_variables_activity() const
optional double initial_variables_activity = 76 [default = 0];
bool has_initial_polarity() const
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
static bool MaxSatStratificationAlgorithm_IsValid(int value)
void set_cp_model_probing_level(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_boolean_encoding_level() const
optional int32 boolean_encoding_level = 107 [default = 1];
constexpr SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MAX
bool SatParameters_SearchBranching_IsValid(int value)
bool has_catch_sigint_signal() const
optional bool catch_sigint_signal = 135 [default = true];
::operations_research::sat::SatParameters_MaxSatAssumptionOrder max_sat_assumption_order() const
const std::string & SatParameters_ClauseOrdering_Name(T enum_t_value)
bool has_clause_cleanup_protection() const
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
static constexpr SearchBranching AUTOMATIC_SEARCH
::PROTOBUF_NAMESPACE_ID::int64 search_randomization_tolerance() const
bool has_pb_cleanup_ratio() const
optional double pb_cleanup_ratio = 47 [default = 0.5];
void set_max_inactive_count(::PROTOBUF_NAMESPACE_ID::int64 value)
const std::string & SatParameters_ClauseProtection_Name(T enum_t_value)
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_ASCENT
bool has_cp_model_probing_level() const
optional int32 cp_model_probing_level = 110 [default = 2];
void set_binary_search_num_conflicts(::PROTOBUF_NAMESPACE_ID::int32 value)
constexpr SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MIN
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int > & restart_algorithms() const
static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_WEIGHT
static constexpr VariableOrder IN_ORDER
static constexpr SearchBranching SearchBranching_MIN
static constexpr ClauseOrdering CLAUSE_ACTIVITY
void set_also_bump_variables_in_conflict_reasons(bool value)
static const int kAlsoBumpVariablesInConflictReasonsFieldNumber
constexpr SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MAX
::PROTOBUF_NAMESPACE_ID::int32 num_conflicts_before_strategy_changes() const
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
bool has_use_precedences_in_disjunctive_constraint() const
optional bool use_precedences_in_disjunctive_constraint = 74 [default = true];
bool has_clause_cleanup_target() const
optional int32 clause_cleanup_target = 13 [default = 10000];
void set_binary_minimization_algorithm(::operations_research::sat::SatParameters_BinaryMinizationAlgorithm value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_Polarity_descriptor()
const std::string & SatParameters_BinaryMinizationAlgorithm_Name(T enum_t_value)
static bool ClauseOrdering_Parse(const std::string &name, ClauseOrdering *value)
bool has_minimize_reduction_during_pb_resolution() const
optional bool minimize_reduction_during_pb_resolution = 48 [default = false];
bool SatParameters_MaxSatStratificationAlgorithm_IsValid(int value)
void set_constraint_removal_batch_size(::PROTOBUF_NAMESPACE_ID::int64 value)
void Swap(SatParameters *other)
static constexpr int ConflictMinimizationAlgorithm_ARRAYSIZE
void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_preferred_variable_order() const
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_period() const
static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MIN
constexpr SatParameters_ClauseProtection SatParameters_ClauseProtection_ClauseProtection_MAX
::PROTOBUF_NAMESPACE_ID::int32 cp_model_probing_level() const
void set_use_overload_checker_in_cumulative_constraint(bool value)
bool has_use_optional_variables() const
optional bool use_optional_variables = 108 [default = true];
bool has_blocking_restart_multiplier() const
optional double blocking_restart_multiplier = 66 [default = 1.4];
bool has_randomize_search() const
optional bool randomize_search = 103 [default = false];
void set_default_restart_algorithms(const std::string &value)
constexpr SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MAX
bool SatParameters_ClauseProtection_Parse(const std::string &name, SatParameters_ClauseProtection *value)
bool has_interleave_search() const
optional bool interleave_search = 136 [default = false];
bool has_also_bump_variables_in_conflict_reasons() const
optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
constexpr int SatParameters_SearchBranching_SearchBranching_ARRAYSIZE
void set_clause_cleanup_protection(::operations_research::sat::SatParameters_ClauseProtection value)
constexpr int SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_ARRAYSIZE
static constexpr VariableOrder IN_RANDOM_ORDER
static bool VariableOrder_Parse(const std::string &name, VariableOrder *value)
constexpr SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MAX
bool SatParameters_ConflictMinimizationAlgorithm_Parse(const std::string &name, SatParameters_ConflictMinimizationAlgorithm *value)
bool has_instantiate_all_variables() const
optional bool instantiate_all_variables = 106 [default = true];
bool has_max_variable_activity_value() const
optional double max_variable_activity_value = 16 [default = 1e+100];
bool has_lns_focus_on_decision_variables() const
optional bool lns_focus_on_decision_variables = 105 [default = false];
::operations_research::sat::SatParameters_ClauseOrdering clause_cleanup_ordering() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * RestartAlgorithm_descriptor()
bool SatParameters_BinaryMinizationAlgorithm_IsValid(int value)
static const int kMinimizeReductionDuringPbResolutionFieldNumber
static bool RestartAlgorithm_IsValid(int value)
static bool BinaryMinizationAlgorithm_Parse(const std::string &name, BinaryMinizationAlgorithm *value)
bool has_glucose_decay_increment_period() const
optional int32 glucose_decay_increment_period = 24 [default = 5000];
bool has_auto_detect_greater_than_at_least_one_of() const
optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
static constexpr ConflictMinimizationAlgorithm NONE
bool has_max_clause_activity_value() const
optional double max_clause_activity_value = 18 [default = 1e+20];
::PROTOBUF_NAMESPACE_ID::int32 presolve_bva_threshold() const
void set_max_sat_assumption_order(::operations_research::sat::SatParameters_MaxSatAssumptionOrder value)
static bool ClauseProtection_IsValid(int value)
bool has_count_assumption_levels_in_lbd() const
optional bool count_assumption_levels_in_lbd = 49 [default = true];
::PROTOBUF_NAMESPACE_ID::int64 pseudo_cost_reliability_threshold() const
constexpr int SatParameters_RestartAlgorithm_RestartAlgorithm_ARRAYSIZE
bool has_restart_lbd_average_ratio() const
optional double restart_lbd_average_ratio = 71 [default = 1];
static bool RestartAlgorithm_Parse(const std::string &name, RestartAlgorithm *value)
constexpr int SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_ARRAYSIZE
static const int kUsePrecedencesInDisjunctiveConstraintFieldNumber
bool has_use_blocking_restart() const
optional bool use_blocking_restart = 64 [default = false];
bool has_mip_wanted_precision() const
optional double mip_wanted_precision = 126 [default = 1e-06];
void set_presolve_bve_clause_weight(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 minimize_with_propagation_num_decisions() const
void set_max_sat_stratification(::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm value)
SatParameters(SatParameters &&from) noexcept
static bool MaxSatStratificationAlgorithm_Parse(const std::string &name, MaxSatStratificationAlgorithm *value)
constexpr int SatParameters_ClauseOrdering_ClauseOrdering_ARRAYSIZE
static const int kUseOverloadCheckerInCumulativeConstraintFieldNumber
static bool SearchBranching_IsValid(int value)
void set_boolean_encoding_level(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr int MaxSatAssumptionOrder_ARRAYSIZE
static const std::string & Polarity_Name(T enum_t_value)
bool has_add_knapsack_cuts() const
optional bool add_knapsack_cuts = 111 [default = false];
static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_DEPTH
::PROTOBUF_NAMESPACE_ID::int32 mip_max_activity_exponent() const
bool has_random_polarity_ratio() const
optional double random_polarity_ratio = 45 [default = 0];
bool has_exploit_best_solution() const
optional bool exploit_best_solution = 130 [default = false];
bool has_max_sat_stratification() const
optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification ...
::operations_research::sat::SatParameters_ClauseProtection clause_cleanup_protection() const
constexpr int SatParameters_Polarity_Polarity_ARRAYSIZE
static const std::string & ConflictMinimizationAlgorithm_Name(T enum_t_value)
SatParameters_BinaryMinizationAlgorithm BinaryMinizationAlgorithm
static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MIN
bool has_exploit_objective() const
optional bool exploit_objective = 131 [default = true];
constexpr SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MIN
bool has_presolve_bva_threshold() const
optional int32 presolve_bva_threshold = 73 [default = 1];
static constexpr Polarity POLARITY_RANDOM
void set_use_precedences_in_disjunctive_constraint(bool value)
static bool ConflictMinimizationAlgorithm_Parse(const std::string &name, ConflictMinimizationAlgorithm *value)
::PROTOBUF_NAMESPACE_ID::int32 boolean_encoding_level() const
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatStratificationAlgorithm_descriptor()
bool has_random_branches_ratio() const
optional double random_branches_ratio = 32 [default = 0];
void set_glucose_decay_increment_period(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_use_disjunctive_constraint_in_cumulative_constraint() const
optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_VariableOrder_descriptor()
bool has_cp_model_use_sat_presolve() const
optional bool cp_model_use_sat_presolve = 93 [default = true];
static constexpr SearchBranching PORTFOLIO_WITH_QUICK_RESTART_SEARCH
SatParameters_MaxSatAssumptionOrder MaxSatAssumptionOrder
void add_restart_algorithms(::operations_research::sat::SatParameters_RestartAlgorithm value)
bool SatParameters_VariableOrder_IsValid(int value)
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_DESCENT
bool has_binary_search_num_conflicts() const
optional int32 binary_search_num_conflicts = 99 [default = -1];
SatParameters_ClauseOrdering ClauseOrdering
static const int kNumConflictsBeforeStrategyChangesFieldNumber
bool has_variable_activity_decay() const
optional double variable_activity_decay = 15 [default = 0.8];
static const int kPresolveProbingDeterministicTimeLimitFieldNumber
static const std::string & MaxSatAssumptionOrder_Name(T enum_t_value)
constexpr SatParameters_Polarity SatParameters_Polarity_Polarity_MAX
bool SatParameters_MaxSatAssumptionOrder_Parse(const std::string &name, SatParameters_MaxSatAssumptionOrder *value)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
SatParametersDefaultTypeInternal _SatParameters_default_instance_
bool has_restart_period() const
optional int32 restart_period = 30 [default = 50];
constexpr SatParameters_ClauseProtection SatParameters_ClauseProtection_ClauseProtection_MIN
void set_max_integer_rounding_scaling(::PROTOBUF_NAMESPACE_ID::int32 value)
static const int kMinimizeWithPropagationRestartPeriodFieldNumber
static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MAX
bool has_num_search_workers() const
optional int32 num_search_workers = 100 [default = 1];
const std::string & SatParameters_ConflictMinimizationAlgorithm_Name(T enum_t_value)
bool has_minimization_algorithm() const
optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm ...
bool has_restart_running_window_size() const
optional int32 restart_running_window_size = 62 [default = 50];
void set_clause_cleanup_period(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_blocking_restart_window_size(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ConflictMinimizationAlgorithm_descriptor()
bool has_exploit_integer_lp_solution() const
optional bool exploit_integer_lp_solution = 94 [default = true];
bool has_enumerate_all_solutions() const
optional bool enumerate_all_solutions = 87 [default = false];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ClauseProtection_descriptor()
void set_search_randomization_tolerance(::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::int32 pb_cleanup_increment() const
static bool BinaryMinizationAlgorithm_IsValid(int value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int > * mutable_restart_algorithms()
::operations_research::sat::SatParameters_Polarity initial_polarity() const
constexpr SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MIN
const std::string & SatParameters_VariableOrder_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
bool has_subsumption_during_conflict_analysis() const
optional bool subsumption_during_conflict_analysis = 56 [default = true];
void set_max_memory_in_mb(::PROTOBUF_NAMESPACE_ID::int64 value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BinaryMinizationAlgorithm_descriptor()
bool has_use_phase_saving() const
optional bool use_phase_saving = 44 [default = true];
static constexpr RestartAlgorithm RestartAlgorithm_MIN
static const std::string & MaxSatStratificationAlgorithm_Name(T enum_t_value)
bool SatParameters_SearchBranching_Parse(const std::string &name, SatParameters_SearchBranching *value)
::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm max_sat_stratification() const
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
::PROTOBUF_NAMESPACE_ID::int64 constraint_removal_batch_size() const
static constexpr ConflictMinimizationAlgorithm SIMPLE
static constexpr SearchBranching PSEUDO_COST_SEARCH
bool SatParameters_ClauseOrdering_IsValid(int value)
::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm minimization_algorithm() const
const std::string & SatParameters_MaxSatStratificationAlgorithm_Name(T enum_t_value)
bool has_presolve_use_bva() const
optional bool presolve_use_bva = 72 [default = true];
static constexpr int MaxSatStratificationAlgorithm_ARRAYSIZE
void set_presolve_bve_threshold(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_log_search_progress() const
optional bool log_search_progress = 41 [default = false];
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_conflicts() const
static constexpr RestartAlgorithm NO_RESTART
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_SearchBranching_descriptor()
static constexpr ClauseProtection PROTECTION_ALWAYS
static bool SearchBranching_Parse(const std::string &name, SearchBranching *value)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
bool has_minimize_with_propagation_num_decisions() const
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
::PROTOBUF_NAMESPACE_ID::int32 restart_running_window_size() const
bool SatParameters_RestartAlgorithm_Parse(const std::string &name, SatParameters_RestartAlgorithm *value)
static const int kSubsumptionDuringConflictAnalysisFieldNumber
bool has_treat_binary_clauses_separately() const
optional bool treat_binary_clauses_separately = 33 [default = true];
bool has_pseudo_cost_reliability_threshold() const
optional int64 pseudo_cost_reliability_threshold = 123 [default = 100];
bool has_max_memory_in_mb() const
optional int64 max_memory_in_mb = 40 [default = 10000];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MaxSatStratificationAlgorithm_descriptor()
bool SatParameters_ClauseOrdering_Parse(const std::string &name, SatParameters_ClauseOrdering *value)
bool has_cp_model_presolve() const
optional bool cp_model_presolve = 86 [default = true];
void set_initial_polarity(::operations_research::sat::SatParameters_Polarity value)
bool has_random_seed() const
optional int32 random_seed = 31 [default = 1];
bool has_binary_minimization_algorithm() const
optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorit...
void set_search_branching(::operations_research::sat::SatParameters_SearchBranching value)
bool has_max_integer_rounding_scaling() const
optional int32 max_integer_rounding_scaling = 119 [default = 600];
static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MAX
static constexpr RestartAlgorithm LUBY_RESTART
void set_auto_detect_greater_than_at_least_one_of(bool value)
static const std::string & ClauseOrdering_Name(T enum_t_value)
static const std::string & SearchBranching_Name(T enum_t_value)
constexpr SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MAX
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_BinaryMinizationAlgorithm_descriptor()
bool SatParameters_ClauseProtection_IsValid(int value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Polarity_descriptor()
bool has_cover_optimization() const
optional bool cover_optimization = 89 [default = true];
static const SatParameters * internal_default_instance()
bool SatParameters_ConflictMinimizationAlgorithm_IsValid(int value)
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_NONE
bool has_glucose_decay_increment() const
optional double glucose_decay_increment = 23 [default = 0.01];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MaxSatAssumptionOrder_descriptor()
static constexpr ClauseProtection PROTECTION_NONE
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MAX
constexpr int SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_ARRAYSIZE
bool has_use_pb_resolution() const
optional bool use_pb_resolution = 43 [default = false];
void set_max_num_cuts(::PROTOBUF_NAMESPACE_ID::int32 value)
static const int kUseDisjunctiveConstraintInCumulativeConstraintFieldNumber
static constexpr Polarity POLARITY_WEIGHTED_SIGN
bool has_strategy_change_increase_ratio() const
optional double strategy_change_increase_ratio = 69 [default = 0];
const std::string & SatParameters_SearchBranching_Name(T enum_t_value)
bool has_mip_max_activity_exponent() const
optional int32 mip_max_activity_exponent = 127 [default = 53];
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
bool has_stop_after_first_solution() const
optional bool stop_after_first_solution = 98 [default = false];
bool has_restart_dl_average_ratio() const
optional double restart_dl_average_ratio = 63 [default = 1];
bool has_max_sat_assumption_order() const
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SearchBranching_descriptor()
const std::string & SatParameters_RestartAlgorithm_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
bool has_blocking_restart_window_size() const
optional int32 blocking_restart_window_size = 65 [default = 5000];
::operations_research::sat::SatParameters_SearchBranching search_branching() const
bool has_mip_max_bound() const
optional double mip_max_bound = 124 [default = 10000000];
static const int kMinOrthogonalityForLpConstraintsFieldNumber
static const std::string & VariableOrder_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_RestartAlgorithm_descriptor()
bool has_max_time_in_seconds() const
optional double max_time_in_seconds = 36 [default = inf];
void set_num_conflicts_before_strategy_changes(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr SearchBranching SearchBranching_MAX
static bool MaxSatAssumptionOrder_IsValid(int value)
static const std::string & ClauseProtection_Name(T enum_t_value)
void set_max_number_of_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value)
bool has_constraint_removal_batch_size() const
optional int64 constraint_removal_batch_size = 122 [default = 100];
static constexpr SearchBranching HINT_SEARCH
SatParameters_ClauseProtection ClauseProtection
bool has_mip_var_scaling() const
optional double mip_var_scaling = 125 [default = 1];
constexpr int SatParameters_VariableOrder_VariableOrder_ARRAYSIZE
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_presolve_probing_deterministic_time_limit(double value)
void set_minimize_with_propagation_num_decisions(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr VariableOrder IN_REVERSE_ORDER
static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MIN
static constexpr MaxSatAssumptionOrder DEFAULT_ASSUMPTION_ORDER
void set_minimization_algorithm(::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm value)
bool has_share_level_zero_bounds() const
optional bool share_level_zero_bounds = 114 [default = true];
::PROTOBUF_NAMESPACE_ID::int32 binary_search_num_conflicts() const
bool has_use_optimization_hints() const
optional bool use_optimization_hints = 35 [default = true];
bool SatParameters_RestartAlgorithm_IsValid(int value)
Internal implementation detail – do not use these members.
static constexpr RestartAlgorithm FIXED_RESTART
static constexpr SearchBranching LP_SEARCH
static constexpr ClauseProtection PROTECTION_LBD
bool has_presolve_bve_threshold() const
optional int32 presolve_bve_threshold = 54 [default = 500];
bool has_add_lp_constraints_lazily() const
optional bool add_lp_constraints_lazily = 112 [default = true];
constexpr SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MAX
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
static constexpr RestartAlgorithm DL_MOVING_AVERAGE_RESTART
static const int kMinimizeWithPropagationNumDecisionsFieldNumber
const std::string & SatParameters_MaxSatAssumptionOrder_Name(T enum_t_value)
constexpr int SatParameters_ClauseProtection_ClauseProtection_ARRAYSIZE
constexpr SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MAX
::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_lbd_bound() const
constexpr SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MIN
bool has_use_timetable_edge_finding_in_cumulative_constraint() const
optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
static constexpr ClauseOrdering ClauseOrdering_MIN
void set_allocated_default_restart_algorithms(std::string *default_restart_algorithms)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
SatParameters_MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm
bool has_presolve_bve_clause_weight() const
optional int32 presolve_bve_clause_weight = 55 [default = 3];
const std::string & SatParameters_Polarity_Name(T enum_t_value)
static const std::string & RestartAlgorithm_Name(T enum_t_value)
void set_num_search_workers(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr SearchBranching PORTFOLIO_SEARCH
static constexpr ClauseProtection ClauseProtection_MIN
::PROTOBUF_NAMESPACE_ID::int32 random_seed() const
static const int kUseTimetableEdgeFindingInCumulativeConstraintFieldNumber
bool has_search_branching() const
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static constexpr int BinaryMinizationAlgorithm_ARRAYSIZE
bool has_search_randomization_tolerance() const
optional int64 search_randomization_tolerance = 104 [default = 0];
bool has_use_exact_lp_reason() const
optional bool use_exact_lp_reason = 109 [default = true];
bool has_glucose_max_decay() const
optional double glucose_max_decay = 22 [default = 0.95];
SatParameters_RestartAlgorithm RestartAlgorithm
bool has_add_cg_cuts() const
optional bool add_cg_cuts = 117 [default = false];
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST
bool SatParameters_Polarity_IsValid(int value)
SatParameters_ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm
::PROTOBUF_NAMESPACE_ID::int32 clause_cleanup_target() const
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in c...
Definition: cp_model.h:48
static constexpr BinaryMinizationAlgorithm NO_BINARY_MINIMIZATION
static const int kAutoDetectGreaterThanAtLeastOneOfFieldNumber
constexpr SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MIN
bool has_max_inactive_count() const
optional int64 max_inactive_count = 121 [default = 1000];
static constexpr ClauseOrdering CLAUSE_LBD
bool SatParameters_Polarity_Parse(const std::string &name, SatParameters_Polarity *value)
const std::string & default_restart_algorithms() const
bool has_use_combined_no_overlap() const
optional bool use_combined_no_overlap = 133 [default = false];
static const std::string & BinaryMinizationAlgorithm_Name(T enum_t_value)
void set_clause_cleanup_target(::PROTOBUF_NAMESPACE_ID::int32 value)
SatParameters & operator=(const SatParameters &from)
friend void swap(SatParameters &a, SatParameters &b)
::PROTOBUF_NAMESPACE_ID::int32 linearization_level() const
bool has_max_num_cuts() const
optional int32 max_num_cuts = 91 [default = 5000];
void set_pseudo_cost_reliability_threshold(::PROTOBUF_NAMESPACE_ID::int64 value)
bool has_num_conflicts_before_strategy_changes() const
optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
bool SatParameters_MaxSatAssumptionOrder_IsValid(int value)
static constexpr RestartAlgorithm RestartAlgorithm_MAX
bool has_max_sat_reverse_assumption_order() const
optional bool max_sat_reverse_assumption_order = 52 [default = false];
void set_pb_cleanup_increment(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_clause_cleanup_period() const
optional int32 clause_cleanup_period = 11 [default = 10000];
static bool ConflictMinimizationAlgorithm_IsValid(int value)
bool has_default_restart_algorithms() const
optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,...
static bool MaxSatAssumptionOrder_Parse(const std::string &name, MaxSatAssumptionOrder *value)
bool has_max_number_of_conflicts() const
optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
constexpr SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MAX
void set_minimize_with_propagation_restart_period(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr RestartAlgorithm LBD_MOVING_AVERAGE_RESTART
bool SatParameters_BinaryMinizationAlgorithm_Parse(const std::string &name, SatParameters_BinaryMinizationAlgorithm *value)
bool has_clause_cleanup_ordering() const
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
void set_presolve_bva_threshold(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_min_orthogonality_for_lp_constraints() const
optional double min_orthogonality_for_lp_constraints = 115 [default = 0];
static constexpr Polarity POLARITY_FALSE
::PROTOBUF_NAMESPACE_ID::int64 max_inactive_count() const
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
static const SatParameters & default_instance()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseOrdering_descriptor()
bool has_optimize_with_core() const
optional bool optimize_with_core = 83 [default = false];
static bool ClauseProtection_Parse(const std::string &name, ClauseProtection *value)
bool has_minimize_with_propagation_restart_period() const
optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MAX
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseProtection_descriptor()
bool has_deterministic_parallel_search() const
optional bool deterministic_parallel_search = 134 [default = false];
void set_minimize_reduction_during_pb_resolution(bool value)
void set_use_disjunctive_constraint_in_cumulative_constraint(bool value)
bool has_use_erwa_heuristic() const
optional bool use_erwa_heuristic = 75 [default = false];
void set_preferred_variable_order(::operations_research::sat::SatParameters_VariableOrder value)
bool has_use_mir_rounding() const
optional bool use_mir_rounding = 118 [default = true];
bool has_presolve_probing_deterministic_time_limit() const
optional double presolve_probing_deterministic_time_limit = 57 [default = 30];
bool has_mip_check_precision() const
optional double mip_check_precision = 128 [default = 0.0001];
bool has_linearization_level() const
optional int32 linearization_level = 90 [default = 1];
constexpr SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MIN
static constexpr Polarity POLARITY_REVERSE_WEIGHTED_SIGN
bool has_share_objective_bounds() const
optional bool share_objective_bounds = 113 [default = true];
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< std::string > _i_give_permission_to_break_this_code_default_default_restart_algorithms_
SatParameters_VariableOrder VariableOrder
nested types -------------------------------------------------—
bool has_use_overload_checker_in_cumulative_constraint() const
optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
bool has_presolve_blocked_clause() const
optional bool presolve_blocked_clause = 88 [default = true];
bool SatParameters_MaxSatStratificationAlgorithm_Parse(const std::string &name, SatParameters_MaxSatStratificationAlgorithm *value)
static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MIN
constexpr SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MIN
bool has_only_add_cuts_at_level_zero() const
optional bool only_add_cuts_at_level_zero = 92 [default = false];
::PROTOBUF_NAMESPACE_ID::int32 presolve_bve_threshold() const
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ConflictMinimizationAlgorithm_descriptor()
bool SatParameters_VariableOrder_Parse(const std::string &name, SatParameters_VariableOrder *value)
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_WITH_REACHABILITY
constexpr SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MIN
bool has_minimize_core() const
optional bool minimize_core = 50 [default = true];
bool has_fill_tightened_domains_in_response() const
optional bool fill_tightened_domains_in_response = 132 [default = false];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableOrder_descriptor()
void set_use_timetable_edge_finding_in_cumulative_constraint(bool value)
static constexpr VariableOrder VariableOrder_MAX
constexpr SatParameters_Polarity SatParameters_Polarity_Polarity_MIN
int restart_algorithms_size() const
accessors ----------------------------------------------------—
void set_linearization_level(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ClauseOrdering_descriptor()
bool has_optimize_with_max_hs() const
optional bool optimize_with_max_hs = 85 [default = false];
static constexpr VariableOrder VariableOrder_MIN
static bool Polarity_Parse(const std::string &name, Polarity *value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final