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 PROTOBUF_INCLUDED_ortools_2fsat_2fsat_5fparameters_2eproto
5 #define 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 < 3007000
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 3007001 < 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/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
35 // @@protoc_insertion_point(includes)
36 #include <google/protobuf/port_def.inc>
37 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fsat_5fparameters_2eproto
38 
39 // Internal implementation detail -- do not use these members.
41  static const ::google::protobuf::internal::ParseTableField entries[]
42  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
43  static const ::google::protobuf::internal::AuxillaryParseTableField aux[]
44  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
45  static const ::google::protobuf::internal::ParseTable schema[1]
46  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
47  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
48  static const ::google::protobuf::internal::SerializationTable serialization_table[];
49  static const ::google::protobuf::uint32 offsets[];
50 };
52 namespace operations_research {
53 namespace sat {
54 class SatParameters;
55 class SatParametersDefaultTypeInternal;
56 extern SatParametersDefaultTypeInternal _SatParameters_default_instance_;
57 } // namespace sat
58 } // namespace operations_research
59 namespace google {
60 namespace protobuf {
61 template<> ::operations_research::sat::SatParameters* Arena::CreateMaybeMessage<::operations_research::sat::SatParameters>(Arena*);
62 } // namespace protobuf
63 } // namespace google
64 namespace operations_research {
65 namespace sat {
66 
71 };
76 
77 const ::google::protobuf::EnumDescriptor* SatParameters_VariableOrder_descriptor();
79  return ::google::protobuf::internal::NameOfEnum(
81 }
83  const ::std::string& name, SatParameters_VariableOrder* value) {
84  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_VariableOrder>(
86 }
93 };
94 bool SatParameters_Polarity_IsValid(int value);
98 
99 const ::google::protobuf::EnumDescriptor* SatParameters_Polarity_descriptor();
100 inline const ::std::string& SatParameters_Polarity_Name(SatParameters_Polarity value) {
101  return ::google::protobuf::internal::NameOfEnum(
103 }
105  const ::std::string& name, SatParameters_Polarity* value) {
106  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_Polarity>(
107  SatParameters_Polarity_descriptor(), name, value);
108 }
114 };
119 
120 const ::google::protobuf::EnumDescriptor* SatParameters_ConflictMinimizationAlgorithm_descriptor();
122  return ::google::protobuf::internal::NameOfEnum(
124 }
126  const ::std::string& name, SatParameters_ConflictMinimizationAlgorithm* value) {
127  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_ConflictMinimizationAlgorithm>(
129 }
136 };
141 
142 const ::google::protobuf::EnumDescriptor* SatParameters_BinaryMinizationAlgorithm_descriptor();
144  return ::google::protobuf::internal::NameOfEnum(
146 }
148  const ::std::string& name, SatParameters_BinaryMinizationAlgorithm* value) {
149  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_BinaryMinizationAlgorithm>(
151 }
156 };
161 
162 const ::google::protobuf::EnumDescriptor* SatParameters_ClauseProtection_descriptor();
164  return ::google::protobuf::internal::NameOfEnum(
166 }
168  const ::std::string& name, SatParameters_ClauseProtection* value) {
169  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_ClauseProtection>(
171 }
175 };
180 
181 const ::google::protobuf::EnumDescriptor* SatParameters_ClauseOrdering_descriptor();
183  return ::google::protobuf::internal::NameOfEnum(
185 }
187  const ::std::string& name, SatParameters_ClauseOrdering* value) {
188  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_ClauseOrdering>(
190 }
197 };
202 
203 const ::google::protobuf::EnumDescriptor* SatParameters_RestartAlgorithm_descriptor();
205  return ::google::protobuf::internal::NameOfEnum(
207 }
209  const ::std::string& name, SatParameters_RestartAlgorithm* value) {
210  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_RestartAlgorithm>(
212 }
217 };
222 
223 const ::google::protobuf::EnumDescriptor* SatParameters_MaxSatAssumptionOrder_descriptor();
225  return ::google::protobuf::internal::NameOfEnum(
227 }
229  const ::std::string& name, SatParameters_MaxSatAssumptionOrder* value) {
230  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_MaxSatAssumptionOrder>(
232 }
237 };
242 
243 const ::google::protobuf::EnumDescriptor* SatParameters_MaxSatStratificationAlgorithm_descriptor();
245  return ::google::protobuf::internal::NameOfEnum(
247 }
249  const ::std::string& name, SatParameters_MaxSatStratificationAlgorithm* value) {
250  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_MaxSatStratificationAlgorithm>(
252 }
260 };
265 
266 const ::google::protobuf::EnumDescriptor* SatParameters_SearchBranching_descriptor();
268  return ::google::protobuf::internal::NameOfEnum(
270 }
272  const ::std::string& name, SatParameters_SearchBranching* value) {
273  return ::google::protobuf::internal::ParseNamedEnum<SatParameters_SearchBranching>(
275 }
276 // ===================================================================
277 
278 class SatParameters :
279  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SatParameters) */ {
280  public:
281  SatParameters();
282  virtual ~SatParameters();
283 
284  SatParameters(const SatParameters& from);
285 
286  inline SatParameters& operator=(const SatParameters& from) {
287  CopyFrom(from);
288  return *this;
289  }
290  #if LANG_CXX11
291  SatParameters(SatParameters&& from) noexcept
292  : SatParameters() {
293  *this = ::std::move(from);
294  }
295 
296  inline SatParameters& operator=(SatParameters&& from) noexcept {
297  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
298  if (this != &from) InternalSwap(&from);
299  } else {
300  CopyFrom(from);
301  }
302  return *this;
303  }
304  #endif
305  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
306  return _internal_metadata_.unknown_fields();
307  }
308  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
309  return _internal_metadata_.mutable_unknown_fields();
310  }
311 
312  static const ::google::protobuf::Descriptor* descriptor() {
313  return default_instance().GetDescriptor();
314  }
315  static const SatParameters& default_instance();
316 
317  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
318  static inline const SatParameters* internal_default_instance() {
319  return reinterpret_cast<const SatParameters*>(
321  }
322  static constexpr int kIndexInFileMessages =
323  0;
324 
325  void Swap(SatParameters* other);
326  friend void swap(SatParameters& a, SatParameters& b) {
327  a.Swap(&b);
328  }
329 
330  // implements Message ----------------------------------------------
331 
332  inline SatParameters* New() const final {
333  return CreateMaybeMessage<SatParameters>(nullptr);
334  }
335 
336  SatParameters* New(::google::protobuf::Arena* arena) const final {
337  return CreateMaybeMessage<SatParameters>(arena);
338  }
339  void CopyFrom(const ::google::protobuf::Message& from) final;
340  void MergeFrom(const ::google::protobuf::Message& from) final;
341  void CopyFrom(const SatParameters& from);
342  void MergeFrom(const SatParameters& from);
343  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
344  bool IsInitialized() const final;
345 
346  size_t ByteSizeLong() const final;
347  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
348  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
349  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
350  #else
352  ::google::protobuf::io::CodedInputStream* input) final;
353  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
355  ::google::protobuf::io::CodedOutputStream* output) const final;
356  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
357  ::google::protobuf::uint8* target) const final;
358  int GetCachedSize() const final { return _cached_size_.Get(); }
360  private:
361  void SharedCtor();
362  void SharedDtor();
363  void SetCachedSize(int size) const final;
364  void InternalSwap(SatParameters* other);
365  private:
366  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
367  return nullptr;
368  }
369  inline void* MaybeArenaPtr() const {
370  return nullptr;
371  }
372  public:
373 
374  ::google::protobuf::Metadata GetMetadata() const final;
375 
376  // nested types ----------------------------------------------------
377 
379  static const VariableOrder IN_ORDER =
381  static const VariableOrder IN_REVERSE_ORDER =
383  static const VariableOrder IN_RANDOM_ORDER =
385  static inline bool VariableOrder_IsValid(int value) {
387  }
388  static const VariableOrder VariableOrder_MIN =
390  static const VariableOrder VariableOrder_MAX =
392  static const int VariableOrder_ARRAYSIZE =
394  static inline const ::google::protobuf::EnumDescriptor*
397  }
398  static inline const ::std::string& VariableOrder_Name(VariableOrder value) {
400  }
401  static inline bool VariableOrder_Parse(const ::std::string& name,
402  VariableOrder* value) {
403  return SatParameters_VariableOrder_Parse(name, value);
404  }
405 
407  static const Polarity POLARITY_TRUE =
409  static const Polarity POLARITY_FALSE =
411  static const Polarity POLARITY_RANDOM =
413  static const Polarity POLARITY_WEIGHTED_SIGN =
417  static inline bool Polarity_IsValid(int value) {
419  }
420  static const Polarity Polarity_MIN =
422  static const Polarity Polarity_MAX =
424  static const int Polarity_ARRAYSIZE =
426  static inline const ::google::protobuf::EnumDescriptor*
429  }
430  static inline const ::std::string& Polarity_Name(Polarity value) {
432  }
433  static inline bool Polarity_Parse(const ::std::string& name,
434  Polarity* value) {
435  return SatParameters_Polarity_Parse(name, value);
436  }
437 
447  static inline bool ConflictMinimizationAlgorithm_IsValid(int value) {
449  }
454  static const int ConflictMinimizationAlgorithm_ARRAYSIZE =
456  static inline const ::google::protobuf::EnumDescriptor*
459  }
460  static inline const ::std::string& ConflictMinimizationAlgorithm_Name(ConflictMinimizationAlgorithm value) {
462  }
463  static inline bool ConflictMinimizationAlgorithm_Parse(const ::std::string& name,
466  }
467 
479  static inline bool BinaryMinizationAlgorithm_IsValid(int value) {
481  }
486  static const int BinaryMinizationAlgorithm_ARRAYSIZE =
488  static inline const ::google::protobuf::EnumDescriptor*
491  }
492  static inline const ::std::string& BinaryMinizationAlgorithm_Name(BinaryMinizationAlgorithm value) {
494  }
495  static inline bool BinaryMinizationAlgorithm_Parse(const ::std::string& name,
498  }
499 
503  static const ClauseProtection PROTECTION_ALWAYS =
505  static const ClauseProtection PROTECTION_LBD =
507  static inline bool ClauseProtection_IsValid(int value) {
509  }
514  static const int ClauseProtection_ARRAYSIZE =
516  static inline const ::google::protobuf::EnumDescriptor*
519  }
520  static inline const ::std::string& ClauseProtection_Name(ClauseProtection value) {
522  }
523  static inline bool ClauseProtection_Parse(const ::std::string& name,
525  return SatParameters_ClauseProtection_Parse(name, value);
526  }
527 
531  static const ClauseOrdering CLAUSE_LBD =
533  static inline bool ClauseOrdering_IsValid(int value) {
535  }
536  static const ClauseOrdering ClauseOrdering_MIN =
538  static const ClauseOrdering ClauseOrdering_MAX =
540  static const int ClauseOrdering_ARRAYSIZE =
542  static inline const ::google::protobuf::EnumDescriptor*
545  }
546  static inline const ::std::string& ClauseOrdering_Name(ClauseOrdering value) {
548  }
549  static inline bool ClauseOrdering_Parse(const ::std::string& name,
550  ClauseOrdering* value) {
551  return SatParameters_ClauseOrdering_Parse(name, value);
552  }
553 
557  static const RestartAlgorithm LUBY_RESTART =
563  static const RestartAlgorithm FIXED_RESTART =
565  static inline bool RestartAlgorithm_IsValid(int value) {
567  }
572  static const int RestartAlgorithm_ARRAYSIZE =
574  static inline const ::google::protobuf::EnumDescriptor*
577  }
578  static inline const ::std::string& RestartAlgorithm_Name(RestartAlgorithm value) {
580  }
581  static inline bool RestartAlgorithm_Parse(const ::std::string& name,
583  return SatParameters_RestartAlgorithm_Parse(name, value);
584  }
585 
593  static inline bool MaxSatAssumptionOrder_IsValid(int value) {
595  }
600  static const int MaxSatAssumptionOrder_ARRAYSIZE =
602  static inline const ::google::protobuf::EnumDescriptor*
605  }
606  static inline const ::std::string& MaxSatAssumptionOrder_Name(MaxSatAssumptionOrder value) {
608  }
609  static inline bool MaxSatAssumptionOrder_Parse(const ::std::string& name,
611  return SatParameters_MaxSatAssumptionOrder_Parse(name, value);
612  }
613 
621  static inline bool MaxSatStratificationAlgorithm_IsValid(int value) {
623  }
628  static const int MaxSatStratificationAlgorithm_ARRAYSIZE =
630  static inline const ::google::protobuf::EnumDescriptor*
633  }
634  static inline const ::std::string& MaxSatStratificationAlgorithm_Name(MaxSatStratificationAlgorithm value) {
636  }
637  static inline bool MaxSatStratificationAlgorithm_Parse(const ::std::string& name,
640  }
641 
645  static const SearchBranching FIXED_SEARCH =
647  static const SearchBranching PORTFOLIO_SEARCH =
649  static const SearchBranching LP_SEARCH =
651  static const SearchBranching PSEUDO_COST_SEARCH =
655  static inline bool SearchBranching_IsValid(int value) {
657  }
658  static const SearchBranching SearchBranching_MIN =
660  static const SearchBranching SearchBranching_MAX =
662  static const int SearchBranching_ARRAYSIZE =
664  static inline const ::google::protobuf::EnumDescriptor*
667  }
668  static inline const ::std::string& SearchBranching_Name(SearchBranching value) {
670  }
671  static inline bool SearchBranching_Parse(const ::std::string& name,
672  SearchBranching* value) {
673  return SatParameters_SearchBranching_Parse(name, value);
674  }
675 
676  // accessors -------------------------------------------------------
677 
678  // repeated .operations_research.sat.SatParameters.RestartAlgorithm restart_algorithms = 61;
679  int restart_algorithms_size() const;
681  static const int kRestartAlgorithmsFieldNumber = 61;
685  const ::google::protobuf::RepeatedField<int>& restart_algorithms() const;
686  ::google::protobuf::RepeatedField<int>* mutable_restart_algorithms();
687 
688  // optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART"];
689  bool has_default_restart_algorithms() const;
691  static const int kDefaultRestartAlgorithmsFieldNumber = 70;
692  const ::std::string& default_restart_algorithms() const;
693  void set_default_restart_algorithms(const ::std::string& value);
694  #if LANG_CXX11
695  void set_default_restart_algorithms(::std::string&& value);
696  #endif
697  void set_default_restart_algorithms(const char* value);
698  void set_default_restart_algorithms(const char* value, size_t size);
699  ::std::string* mutable_default_restart_algorithms();
700  ::std::string* release_default_restart_algorithms();
702 
703  // optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default = IN_ORDER];
704  bool has_preferred_variable_order() const;
706  static const int kPreferredVariableOrderFieldNumber = 1;
709 
710  // optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [default = DEFAULT_ASSUMPTION_ORDER];
711  bool has_max_sat_assumption_order() const;
713  static const int kMaxSatAssumptionOrderFieldNumber = 51;
716 
717  // optional double random_branches_ratio = 32 [default = 0];
718  bool has_random_branches_ratio() const;
720  static const int kRandomBranchesRatioFieldNumber = 32;
721  double random_branches_ratio() const;
722  void set_random_branches_ratio(double value);
723 
724  // optional double random_polarity_ratio = 45 [default = 0];
725  bool has_random_polarity_ratio() const;
727  static const int kRandomPolarityRatioFieldNumber = 45;
728  double random_polarity_ratio() const;
729  void set_random_polarity_ratio(double value);
730 
731  // optional bool use_pb_resolution = 43 [default = false];
732  bool has_use_pb_resolution() const;
734  static const int kUsePbResolutionFieldNumber = 43;
735  bool use_pb_resolution() const;
736  void set_use_pb_resolution(bool value);
737 
738  // optional bool minimize_reduction_during_pb_resolution = 48 [default = false];
744 
745  // optional bool max_sat_reverse_assumption_order = 52 [default = false];
748  static const int kMaxSatReverseAssumptionOrderFieldNumber = 52;
750  void set_max_sat_reverse_assumption_order(bool value);
751 
752  // optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
758 
759  // optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [default = PROTECTION_NONE];
760  bool has_clause_cleanup_protection() const;
762  static const int kClauseCleanupProtectionFieldNumber = 58;
765 
766  // optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default = CLAUSE_ACTIVITY];
767  bool has_clause_cleanup_ordering() const;
769  static const int kClauseCleanupOrderingFieldNumber = 60;
772 
773  // optional bool use_erwa_heuristic = 75 [default = false];
774  bool has_use_erwa_heuristic() const;
776  static const int kUseErwaHeuristicFieldNumber = 75;
777  bool use_erwa_heuristic() const;
778  void set_use_erwa_heuristic(bool value);
779 
780  // optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
786 
787  // optional bool use_blocking_restart = 64 [default = false];
788  bool has_use_blocking_restart() const;
790  static const int kUseBlockingRestartFieldNumber = 64;
791  bool use_blocking_restart() const;
792  void set_use_blocking_restart(bool value);
793 
794  // optional bool log_search_progress = 41 [default = false];
795  bool has_log_search_progress() const;
797  static const int kLogSearchProgressFieldNumber = 41;
798  bool log_search_progress() const;
799  void set_log_search_progress(bool value);
800 
801  // optional double strategy_change_increase_ratio = 69 [default = 0];
804  static const int kStrategyChangeIncreaseRatioFieldNumber = 69;
806  void set_strategy_change_increase_ratio(double value);
807 
808  // optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
811  static const int kNumConflictsBeforeStrategyChangesFieldNumber = 68;
812  ::google::protobuf::int32 num_conflicts_before_strategy_changes() const;
813  void set_num_conflicts_before_strategy_changes(::google::protobuf::int32 value);
814 
815  // optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTOMATIC_SEARCH];
816  bool has_search_branching() const;
817  void clear_search_branching();
818  static const int kSearchBranchingFieldNumber = 82;
821 
822  // optional double initial_variables_activity = 76 [default = 0];
823  bool has_initial_variables_activity() const;
825  static const int kInitialVariablesActivityFieldNumber = 76;
827  void set_initial_variables_activity(double value);
828 
829  // optional bool exploit_best_solution = 130 [default = false];
830  bool has_exploit_best_solution() const;
832  static const int kExploitBestSolutionFieldNumber = 130;
833  bool exploit_best_solution() const;
834  void set_exploit_best_solution(bool value);
835 
836  // optional bool optimize_with_core = 83 [default = false];
837  bool has_optimize_with_core() const;
839  static const int kOptimizeWithCoreFieldNumber = 83;
840  bool optimize_with_core() const;
841  void set_optimize_with_core(bool value);
842 
843  // optional bool optimize_with_max_hs = 85 [default = false];
844  bool has_optimize_with_max_hs() const;
846  static const int kOptimizeWithMaxHsFieldNumber = 85;
847  bool optimize_with_max_hs() const;
848  void set_optimize_with_max_hs(bool value);
849 
850  // optional bool enumerate_all_solutions = 87 [default = false];
851  bool has_enumerate_all_solutions() const;
853  static const int kEnumerateAllSolutionsFieldNumber = 87;
855  void set_enumerate_all_solutions(bool value);
856 
857  // optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
863 
864  // optional bool only_add_cuts_at_level_zero = 92 [default = false];
865  bool has_only_add_cuts_at_level_zero() const;
867  static const int kOnlyAddCutsAtLevelZeroFieldNumber = 92;
869  void set_only_add_cuts_at_level_zero(bool value);
870 
871  // optional bool add_knapsack_cuts = 111 [default = false];
872  bool has_add_knapsack_cuts() const;
874  static const int kAddKnapsackCutsFieldNumber = 111;
875  bool add_knapsack_cuts() const;
876  void set_add_knapsack_cuts(bool value);
877 
878  // optional bool add_cg_cuts = 117 [default = false];
879  bool has_add_cg_cuts() const;
880  void clear_add_cg_cuts();
881  static const int kAddCgCutsFieldNumber = 117;
882  bool add_cg_cuts() const;
883  void set_add_cg_cuts(bool value);
884 
885  // optional int64 search_randomization_tolerance = 104 [default = 0];
888  static const int kSearchRandomizationToleranceFieldNumber = 104;
889  ::google::protobuf::int64 search_randomization_tolerance() const;
890  void set_search_randomization_tolerance(::google::protobuf::int64 value);
891 
892  // optional int32 num_search_workers = 100 [default = 0];
893  bool has_num_search_workers() const;
895  static const int kNumSearchWorkersFieldNumber = 100;
896  ::google::protobuf::int32 num_search_workers() const;
897  void set_num_search_workers(::google::protobuf::int32 value);
898 
899  // optional bool fill_tightened_domains_in_response = 132 [default = false];
902  static const int kFillTightenedDomainsInResponseFieldNumber = 132;
905 
906  // optional bool stop_after_first_solution = 98 [default = false];
907  bool has_stop_after_first_solution() const;
909  static const int kStopAfterFirstSolutionFieldNumber = 98;
911  void set_stop_after_first_solution(bool value);
912 
913  // optional bool use_lns = 101 [default = false];
914  bool has_use_lns() const;
915  void clear_use_lns();
916  static const int kUseLnsFieldNumber = 101;
917  bool use_lns() const;
918  void set_use_lns(bool value);
919 
920  // optional bool lns_focus_on_decision_variables = 105 [default = false];
923  static const int kLnsFocusOnDecisionVariablesFieldNumber = 105;
925  void set_lns_focus_on_decision_variables(bool value);
926 
927  // optional bool use_rins_lns = 129 [default = false];
928  bool has_use_rins_lns() const;
929  void clear_use_rins_lns();
930  static const int kUseRinsLnsFieldNumber = 129;
931  bool use_rins_lns() const;
932  void set_use_rins_lns(bool value);
933 
934  // optional bool randomize_search = 103 [default = false];
935  bool has_randomize_search() const;
936  void clear_randomize_search();
937  static const int kRandomizeSearchFieldNumber = 103;
938  bool randomize_search() const;
939  void set_randomize_search(bool value);
940 
941  // optional bool use_combined_no_overlap = 133 [default = false];
942  bool has_use_combined_no_overlap() const;
944  static const int kUseCombinedNoOverlapFieldNumber = 133;
946  void set_use_combined_no_overlap(bool value);
947 
948  // optional double min_orthogonality_for_lp_constraints = 115 [default = 0];
951  static const int kMinOrthogonalityForLpConstraintsFieldNumber = 115;
953  void set_min_orthogonality_for_lp_constraints(double value);
954 
955  // optional int32 mip_max_activity_exponent = 127 [default = 53];
956  bool has_mip_max_activity_exponent() const;
958  static const int kMipMaxActivityExponentFieldNumber = 127;
959  ::google::protobuf::int32 mip_max_activity_exponent() const;
960  void set_mip_max_activity_exponent(::google::protobuf::int32 value);
961 
962  // optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FALSE];
963  bool has_initial_polarity() const;
964  void clear_initial_polarity();
965  static const int kInitialPolarityFieldNumber = 2;
968 
969  // optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm = 4 [default = RECURSIVE];
970  bool has_minimization_algorithm() const;
972  static const int kMinimizationAlgorithmFieldNumber = 4;
975 
976  // optional int32 clause_cleanup_period = 11 [default = 10000];
977  bool has_clause_cleanup_period() const;
979  static const int kClauseCleanupPeriodFieldNumber = 11;
980  ::google::protobuf::int32 clause_cleanup_period() const;
981  void set_clause_cleanup_period(::google::protobuf::int32 value);
982 
983  // optional int32 clause_cleanup_target = 13 [default = 10000];
984  bool has_clause_cleanup_target() const;
986  static const int kClauseCleanupTargetFieldNumber = 13;
987  ::google::protobuf::int32 clause_cleanup_target() const;
988  void set_clause_cleanup_target(::google::protobuf::int32 value);
989 
990  // optional double variable_activity_decay = 15 [default = 0.8];
991  bool has_variable_activity_decay() const;
993  static const int kVariableActivityDecayFieldNumber = 15;
994  double variable_activity_decay() const;
995  void set_variable_activity_decay(double value);
996 
997  // optional double max_variable_activity_value = 16 [default = 1e+100];
998  bool has_max_variable_activity_value() const;
1000  static const int kMaxVariableActivityValueFieldNumber = 16;
1002  void set_max_variable_activity_value(double value);
1003 
1004  // optional double clause_activity_decay = 17 [default = 0.999];
1005  bool has_clause_activity_decay() const;
1007  static const int kClauseActivityDecayFieldNumber = 17;
1008  double clause_activity_decay() const;
1009  void set_clause_activity_decay(double value);
1010 
1011  // optional double max_clause_activity_value = 18 [default = 1e+20];
1012  bool has_max_clause_activity_value() const;
1014  static const int kMaxClauseActivityValueFieldNumber = 18;
1016  void set_max_clause_activity_value(double value);
1017 
1018  // optional double glucose_max_decay = 22 [default = 0.95];
1019  bool has_glucose_max_decay() const;
1020  void clear_glucose_max_decay();
1021  static const int kGlucoseMaxDecayFieldNumber = 22;
1022  double glucose_max_decay() const;
1023  void set_glucose_max_decay(double value);
1024 
1025  // optional double glucose_decay_increment = 23 [default = 0.01];
1026  bool has_glucose_decay_increment() const;
1028  static const int kGlucoseDecayIncrementFieldNumber = 23;
1029  double glucose_decay_increment() const;
1030  void set_glucose_decay_increment(double value);
1031 
1032  // optional int32 glucose_decay_increment_period = 24 [default = 5000];
1035  static const int kGlucoseDecayIncrementPeriodFieldNumber = 24;
1036  ::google::protobuf::int32 glucose_decay_increment_period() const;
1037  void set_glucose_decay_increment_period(::google::protobuf::int32 value);
1038 
1039  // optional int32 restart_period = 30 [default = 50];
1040  bool has_restart_period() const;
1041  void clear_restart_period();
1042  static const int kRestartPeriodFieldNumber = 30;
1043  ::google::protobuf::int32 restart_period() const;
1044  void set_restart_period(::google::protobuf::int32 value);
1045 
1046  // optional int32 random_seed = 31 [default = 1];
1047  bool has_random_seed() const;
1048  void clear_random_seed();
1049  static const int kRandomSeedFieldNumber = 31;
1050  ::google::protobuf::int32 random_seed() const;
1051  void set_random_seed(::google::protobuf::int32 value);
1052 
1053  // optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorithm = 34 [default = BINARY_MINIMIZATION_FIRST];
1054  bool has_binary_minimization_algorithm() const;
1056  static const int kBinaryMinimizationAlgorithmFieldNumber = 34;
1059 
1060  // optional double max_time_in_seconds = 36 [default = inf];
1061  bool has_max_time_in_seconds() const;
1063  static const int kMaxTimeInSecondsFieldNumber = 36;
1064  double max_time_in_seconds() const;
1065  void set_max_time_in_seconds(double value);
1066 
1067  // optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
1068  bool has_max_number_of_conflicts() const;
1070  static const int kMaxNumberOfConflictsFieldNumber = 37;
1071  ::google::protobuf::int64 max_number_of_conflicts() const;
1072  void set_max_number_of_conflicts(::google::protobuf::int64 value);
1073 
1074  // optional int64 max_memory_in_mb = 40 [default = 10000];
1075  bool has_max_memory_in_mb() const;
1076  void clear_max_memory_in_mb();
1077  static const int kMaxMemoryInMbFieldNumber = 40;
1078  ::google::protobuf::int64 max_memory_in_mb() const;
1079  void set_max_memory_in_mb(::google::protobuf::int64 value);
1080 
1081  // optional bool use_phase_saving = 44 [default = true];
1082  bool has_use_phase_saving() const;
1083  void clear_use_phase_saving();
1084  static const int kUsePhaseSavingFieldNumber = 44;
1085  bool use_phase_saving() const;
1086  void set_use_phase_saving(bool value);
1087 
1088  // optional bool subsumption_during_conflict_analysis = 56 [default = true];
1091  static const int kSubsumptionDuringConflictAnalysisFieldNumber = 56;
1094 
1095  // optional bool treat_binary_clauses_separately = 33 [default = true];
1098  static const int kTreatBinaryClausesSeparatelyFieldNumber = 33;
1100  void set_treat_binary_clauses_separately(bool value);
1101 
1102  // optional bool count_assumption_levels_in_lbd = 49 [default = true];
1105  static const int kCountAssumptionLevelsInLbdFieldNumber = 49;
1107  void set_count_assumption_levels_in_lbd(bool value);
1108 
1109  // optional int32 pb_cleanup_increment = 46 [default = 200];
1110  bool has_pb_cleanup_increment() const;
1112  static const int kPbCleanupIncrementFieldNumber = 46;
1113  ::google::protobuf::int32 pb_cleanup_increment() const;
1114  void set_pb_cleanup_increment(::google::protobuf::int32 value);
1115 
1116  // optional double pb_cleanup_ratio = 47 [default = 0.5];
1117  bool has_pb_cleanup_ratio() const;
1118  void clear_pb_cleanup_ratio();
1119  static const int kPbCleanupRatioFieldNumber = 47;
1120  double pb_cleanup_ratio() const;
1121  void set_pb_cleanup_ratio(double value);
1122 
1123  // optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification = 53 [default = STRATIFICATION_DESCENT];
1124  bool has_max_sat_stratification() const;
1126  static const int kMaxSatStratificationFieldNumber = 53;
1129 
1130  // optional int32 presolve_bve_threshold = 54 [default = 500];
1131  bool has_presolve_bve_threshold() const;
1133  static const int kPresolveBveThresholdFieldNumber = 54;
1134  ::google::protobuf::int32 presolve_bve_threshold() const;
1135  void set_presolve_bve_threshold(::google::protobuf::int32 value);
1136 
1137  // optional double presolve_probing_deterministic_time_limit = 57 [default = 30];
1143 
1144  // optional int32 presolve_bve_clause_weight = 55 [default = 3];
1145  bool has_presolve_bve_clause_weight() const;
1147  static const int kPresolveBveClauseWeightFieldNumber = 55;
1148  ::google::protobuf::int32 presolve_bve_clause_weight() const;
1149  void set_presolve_bve_clause_weight(::google::protobuf::int32 value);
1150 
1151  // optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
1152  bool has_clause_cleanup_lbd_bound() const;
1154  static const int kClauseCleanupLbdBoundFieldNumber = 59;
1155  ::google::protobuf::int32 clause_cleanup_lbd_bound() const;
1156  void set_clause_cleanup_lbd_bound(::google::protobuf::int32 value);
1157 
1158  // optional bool presolve_blocked_clause = 88 [default = true];
1159  bool has_presolve_blocked_clause() const;
1161  static const int kPresolveBlockedClauseFieldNumber = 88;
1163  void set_presolve_blocked_clause(bool value);
1164 
1165  // optional bool presolve_use_bva = 72 [default = true];
1166  bool has_presolve_use_bva() const;
1167  void clear_presolve_use_bva();
1168  static const int kPresolveUseBvaFieldNumber = 72;
1169  bool presolve_use_bva() const;
1170  void set_presolve_use_bva(bool value);
1171 
1172  // optional bool use_optimization_hints = 35 [default = true];
1173  bool has_use_optimization_hints() const;
1175  static const int kUseOptimizationHintsFieldNumber = 35;
1177  void set_use_optimization_hints(bool value);
1178 
1179  // optional bool minimize_core = 50 [default = true];
1180  bool has_minimize_core() const;
1181  void clear_minimize_core();
1182  static const int kMinimizeCoreFieldNumber = 50;
1183  bool minimize_core() const;
1184  void set_minimize_core(bool value);
1185 
1186  // optional int32 restart_running_window_size = 62 [default = 50];
1187  bool has_restart_running_window_size() const;
1189  static const int kRestartRunningWindowSizeFieldNumber = 62;
1190  ::google::protobuf::int32 restart_running_window_size() const;
1191  void set_restart_running_window_size(::google::protobuf::int32 value);
1192 
1193  // optional double restart_dl_average_ratio = 63 [default = 1];
1194  bool has_restart_dl_average_ratio() const;
1196  static const int kRestartDlAverageRatioFieldNumber = 63;
1198  void set_restart_dl_average_ratio(double value);
1199 
1200  // optional double blocking_restart_multiplier = 66 [default = 1.4];
1201  bool has_blocking_restart_multiplier() const;
1203  static const int kBlockingRestartMultiplierFieldNumber = 66;
1205  void set_blocking_restart_multiplier(double value);
1206 
1207  // optional double max_deterministic_time = 67 [default = inf];
1208  bool has_max_deterministic_time() const;
1210  static const int kMaxDeterministicTimeFieldNumber = 67;
1211  double max_deterministic_time() const;
1212  void set_max_deterministic_time(double value);
1213 
1214  // optional int32 blocking_restart_window_size = 65 [default = 5000];
1215  bool has_blocking_restart_window_size() const;
1217  static const int kBlockingRestartWindowSizeFieldNumber = 65;
1218  ::google::protobuf::int32 blocking_restart_window_size() const;
1219  void set_blocking_restart_window_size(::google::protobuf::int32 value);
1220 
1221  // optional int32 presolve_bva_threshold = 73 [default = 1];
1222  bool has_presolve_bva_threshold() const;
1224  static const int kPresolveBvaThresholdFieldNumber = 73;
1225  ::google::protobuf::int32 presolve_bva_threshold() const;
1226  void set_presolve_bva_threshold(::google::protobuf::int32 value);
1227 
1228  // optional double restart_lbd_average_ratio = 71 [default = 1];
1229  bool has_restart_lbd_average_ratio() const;
1231  static const int kRestartLbdAverageRatioFieldNumber = 71;
1233  void set_restart_lbd_average_ratio(double value);
1234 
1235  // optional bool find_multiple_cores = 84 [default = true];
1236  bool has_find_multiple_cores() const;
1238  static const int kFindMultipleCoresFieldNumber = 84;
1239  bool find_multiple_cores() const;
1240  void set_find_multiple_cores(bool value);
1241 
1242  // optional bool cover_optimization = 89 [default = true];
1243  bool has_cover_optimization() const;
1244  void clear_cover_optimization();
1245  static const int kCoverOptimizationFieldNumber = 89;
1246  bool cover_optimization() const;
1247  void set_cover_optimization(bool value);
1248 
1249  // optional bool use_precedences_in_disjunctive_constraint = 74 [default = true];
1255 
1256  // optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
1262 
1263  // optional int32 linearization_level = 90 [default = 1];
1264  bool has_linearization_level() const;
1266  static const int kLinearizationLevelFieldNumber = 90;
1267  ::google::protobuf::int32 linearization_level() const;
1268  void set_linearization_level(::google::protobuf::int32 value);
1269 
1270  // optional int32 max_num_cuts = 91 [default = 1000];
1271  bool has_max_num_cuts() const;
1272  void clear_max_num_cuts();
1273  static const int kMaxNumCutsFieldNumber = 91;
1274  ::google::protobuf::int32 max_num_cuts() const;
1275  void set_max_num_cuts(::google::protobuf::int32 value);
1276 
1277  // optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
1281  ::google::protobuf::int32 minimize_with_propagation_restart_period() const;
1282  void set_minimize_with_propagation_restart_period(::google::protobuf::int32 value);
1283 
1284  // optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
1288  ::google::protobuf::int32 minimize_with_propagation_num_decisions() const;
1289  void set_minimize_with_propagation_num_decisions(::google::protobuf::int32 value);
1290 
1291  // optional int32 binary_search_num_conflicts = 99 [default = -1];
1292  bool has_binary_search_num_conflicts() const;
1294  static const int kBinarySearchNumConflictsFieldNumber = 99;
1295  ::google::protobuf::int32 binary_search_num_conflicts() const;
1296  void set_binary_search_num_conflicts(::google::protobuf::int32 value);
1297 
1298  // optional int32 lns_num_threads = 102 [default = 1];
1299  bool has_lns_num_threads() const;
1300  void clear_lns_num_threads();
1301  static const int kLnsNumThreadsFieldNumber = 102;
1302  ::google::protobuf::int32 lns_num_threads() const;
1303  void set_lns_num_threads(::google::protobuf::int32 value);
1304 
1305  // optional bool exploit_all_lp_solution = 116 [default = true];
1306  bool has_exploit_all_lp_solution() const;
1308  static const int kExploitAllLpSolutionFieldNumber = 116;
1310  void set_exploit_all_lp_solution(bool value);
1311 
1312  // optional bool exploit_objective = 131 [default = true];
1313  bool has_exploit_objective() const;
1314  void clear_exploit_objective();
1315  static const int kExploitObjectiveFieldNumber = 131;
1316  bool exploit_objective() const;
1317  void set_exploit_objective(bool value);
1318 
1319  // optional bool cp_model_presolve = 86 [default = true];
1320  bool has_cp_model_presolve() const;
1321  void clear_cp_model_presolve();
1322  static const int kCpModelPresolveFieldNumber = 86;
1323  bool cp_model_presolve() const;
1324  void set_cp_model_presolve(bool value);
1325 
1326  // optional bool cp_model_use_sat_presolve = 93 [default = true];
1327  bool has_cp_model_use_sat_presolve() const;
1329  static const int kCpModelUseSatPresolveFieldNumber = 93;
1331  void set_cp_model_use_sat_presolve(bool value);
1332 
1333  // optional int32 boolean_encoding_level = 107 [default = 1];
1334  bool has_boolean_encoding_level() const;
1336  static const int kBooleanEncodingLevelFieldNumber = 107;
1337  ::google::protobuf::int32 boolean_encoding_level() const;
1338  void set_boolean_encoding_level(::google::protobuf::int32 value);
1339 
1340  // optional bool instantiate_all_variables = 106 [default = true];
1341  bool has_instantiate_all_variables() const;
1343  static const int kInstantiateAllVariablesFieldNumber = 106;
1345  void set_instantiate_all_variables(bool value);
1346 
1347  // optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
1350  static const int kAutoDetectGreaterThanAtLeastOneOfFieldNumber = 95;
1353 
1354  // optional bool share_objective_bounds = 113 [default = true];
1355  bool has_share_objective_bounds() const;
1357  static const int kShareObjectiveBoundsFieldNumber = 113;
1359  void set_share_objective_bounds(bool value);
1360 
1361  // optional bool share_level_zero_bounds = 114 [default = true];
1362  bool has_share_level_zero_bounds() const;
1364  static const int kShareLevelZeroBoundsFieldNumber = 114;
1366  void set_share_level_zero_bounds(bool value);
1367 
1368  // optional bool use_optional_variables = 108 [default = true];
1369  bool has_use_optional_variables() const;
1371  static const int kUseOptionalVariablesFieldNumber = 108;
1373  void set_use_optional_variables(bool value);
1374 
1375  // optional bool use_exact_lp_reason = 109 [default = true];
1376  bool has_use_exact_lp_reason() const;
1378  static const int kUseExactLpReasonFieldNumber = 109;
1379  bool use_exact_lp_reason() const;
1380  void set_use_exact_lp_reason(bool value);
1381 
1382  // optional int32 cp_model_probing_level = 110 [default = 2];
1383  bool has_cp_model_probing_level() const;
1385  static const int kCpModelProbingLevelFieldNumber = 110;
1386  ::google::protobuf::int32 cp_model_probing_level() const;
1387  void set_cp_model_probing_level(::google::protobuf::int32 value);
1388 
1389  // optional bool add_mir_cuts = 120 [default = true];
1390  bool has_add_mir_cuts() const;
1391  void clear_add_mir_cuts();
1392  static const int kAddMirCutsFieldNumber = 120;
1393  bool add_mir_cuts() const;
1394  void set_add_mir_cuts(bool value);
1395 
1396  // optional bool use_mir_rounding = 118 [default = true];
1397  bool has_use_mir_rounding() const;
1398  void clear_use_mir_rounding();
1399  static const int kUseMirRoundingFieldNumber = 118;
1400  bool use_mir_rounding() const;
1401  void set_use_mir_rounding(bool value);
1402 
1403  // optional bool add_lp_constraints_lazily = 112 [default = true];
1404  bool has_add_lp_constraints_lazily() const;
1406  static const int kAddLpConstraintsLazilyFieldNumber = 112;
1408  void set_add_lp_constraints_lazily(bool value);
1409 
1410  // optional bool exploit_integer_lp_solution = 94 [default = true];
1411  bool has_exploit_integer_lp_solution() const;
1413  static const int kExploitIntegerLpSolutionFieldNumber = 94;
1415  void set_exploit_integer_lp_solution(bool value);
1416 
1417  // optional int32 max_integer_rounding_scaling = 119 [default = 600];
1418  bool has_max_integer_rounding_scaling() const;
1420  static const int kMaxIntegerRoundingScalingFieldNumber = 119;
1421  ::google::protobuf::int32 max_integer_rounding_scaling() const;
1422  void set_max_integer_rounding_scaling(::google::protobuf::int32 value);
1423 
1424  // optional int64 max_inactive_count = 121 [default = 1000];
1425  bool has_max_inactive_count() const;
1426  void clear_max_inactive_count();
1427  static const int kMaxInactiveCountFieldNumber = 121;
1428  ::google::protobuf::int64 max_inactive_count() const;
1429  void set_max_inactive_count(::google::protobuf::int64 value);
1430 
1431  // optional int64 constraint_removal_batch_size = 122 [default = 100];
1432  bool has_constraint_removal_batch_size() const;
1434  static const int kConstraintRemovalBatchSizeFieldNumber = 122;
1435  ::google::protobuf::int64 constraint_removal_batch_size() const;
1436  void set_constraint_removal_batch_size(::google::protobuf::int64 value);
1437 
1438  // optional int64 pseudo_cost_reliability_threshold = 123 [default = 100];
1441  static const int kPseudoCostReliabilityThresholdFieldNumber = 123;
1442  ::google::protobuf::int64 pseudo_cost_reliability_threshold() const;
1443  void set_pseudo_cost_reliability_threshold(::google::protobuf::int64 value);
1444 
1445  // optional double mip_max_bound = 124 [default = 10000000];
1446  bool has_mip_max_bound() const;
1447  void clear_mip_max_bound();
1448  static const int kMipMaxBoundFieldNumber = 124;
1449  double mip_max_bound() const;
1450  void set_mip_max_bound(double value);
1451 
1452  // optional double mip_var_scaling = 125 [default = 1];
1453  bool has_mip_var_scaling() const;
1454  void clear_mip_var_scaling();
1455  static const int kMipVarScalingFieldNumber = 125;
1456  double mip_var_scaling() const;
1457  void set_mip_var_scaling(double value);
1458 
1459  // optional double mip_wanted_precision = 126 [default = 1e-06];
1460  bool has_mip_wanted_precision() const;
1462  static const int kMipWantedPrecisionFieldNumber = 126;
1463  double mip_wanted_precision() const;
1464  void set_mip_wanted_precision(double value);
1465 
1466  // optional double mip_check_precision = 128 [default = 0.0001];
1467  bool has_mip_check_precision() const;
1469  static const int kMipCheckPrecisionFieldNumber = 128;
1470  double mip_check_precision() const;
1471  void set_mip_check_precision(double value);
1472 
1473  // @@protoc_insertion_point(class_scope:operations_research.sat.SatParameters)
1474  private:
1475  class HasBitSetters;
1476 
1477  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1478  ::google::protobuf::internal::HasBits<4> _has_bits_;
1479  mutable ::google::protobuf::internal::CachedSize _cached_size_;
1480  ::google::protobuf::RepeatedField<int> restart_algorithms_;
1481  public:
1482  static ::google::protobuf::internal::ExplicitlyConstructed<::std::string> _i_give_permission_to_break_this_code_default_default_restart_algorithms_;
1483  private:
1484  ::google::protobuf::internal::ArenaStringPtr default_restart_algorithms_;
1485  int preferred_variable_order_;
1486  int max_sat_assumption_order_;
1487  double random_branches_ratio_;
1488  double random_polarity_ratio_;
1489  bool use_pb_resolution_;
1490  bool minimize_reduction_during_pb_resolution_;
1491  bool max_sat_reverse_assumption_order_;
1492  bool use_overload_checker_in_cumulative_constraint_;
1493  int clause_cleanup_protection_;
1494  int clause_cleanup_ordering_;
1495  bool use_erwa_heuristic_;
1496  bool also_bump_variables_in_conflict_reasons_;
1497  bool use_blocking_restart_;
1498  bool log_search_progress_;
1499  double strategy_change_increase_ratio_;
1500  ::google::protobuf::int32 num_conflicts_before_strategy_changes_;
1501  int search_branching_;
1502  double initial_variables_activity_;
1503  bool exploit_best_solution_;
1504  bool optimize_with_core_;
1505  bool optimize_with_max_hs_;
1506  bool enumerate_all_solutions_;
1507  bool use_timetable_edge_finding_in_cumulative_constraint_;
1508  bool only_add_cuts_at_level_zero_;
1509  bool add_knapsack_cuts_;
1510  bool add_cg_cuts_;
1511  ::google::protobuf::int64 search_randomization_tolerance_;
1512  ::google::protobuf::int32 num_search_workers_;
1513  bool fill_tightened_domains_in_response_;
1514  bool stop_after_first_solution_;
1515  bool use_lns_;
1516  bool lns_focus_on_decision_variables_;
1517  bool use_rins_lns_;
1518  bool randomize_search_;
1519  bool use_combined_no_overlap_;
1520  double min_orthogonality_for_lp_constraints_;
1521  ::google::protobuf::int32 mip_max_activity_exponent_;
1522  int initial_polarity_;
1523  int minimization_algorithm_;
1524  ::google::protobuf::int32 clause_cleanup_period_;
1525  ::google::protobuf::int32 clause_cleanup_target_;
1526  double variable_activity_decay_;
1527  double max_variable_activity_value_;
1528  double clause_activity_decay_;
1529  double max_clause_activity_value_;
1530  double glucose_max_decay_;
1531  double glucose_decay_increment_;
1532  ::google::protobuf::int32 glucose_decay_increment_period_;
1533  ::google::protobuf::int32 restart_period_;
1534  ::google::protobuf::int32 random_seed_;
1535  int binary_minimization_algorithm_;
1536  double max_time_in_seconds_;
1537  ::google::protobuf::int64 max_number_of_conflicts_;
1538  ::google::protobuf::int64 max_memory_in_mb_;
1539  bool use_phase_saving_;
1540  bool subsumption_during_conflict_analysis_;
1541  bool treat_binary_clauses_separately_;
1542  bool count_assumption_levels_in_lbd_;
1543  ::google::protobuf::int32 pb_cleanup_increment_;
1544  double pb_cleanup_ratio_;
1545  int max_sat_stratification_;
1546  ::google::protobuf::int32 presolve_bve_threshold_;
1547  double presolve_probing_deterministic_time_limit_;
1548  ::google::protobuf::int32 presolve_bve_clause_weight_;
1549  ::google::protobuf::int32 clause_cleanup_lbd_bound_;
1550  bool presolve_blocked_clause_;
1551  bool presolve_use_bva_;
1552  bool use_optimization_hints_;
1553  bool minimize_core_;
1554  ::google::protobuf::int32 restart_running_window_size_;
1555  double restart_dl_average_ratio_;
1556  double blocking_restart_multiplier_;
1557  double max_deterministic_time_;
1558  ::google::protobuf::int32 blocking_restart_window_size_;
1559  ::google::protobuf::int32 presolve_bva_threshold_;
1560  double restart_lbd_average_ratio_;
1561  bool find_multiple_cores_;
1562  bool cover_optimization_;
1563  bool use_precedences_in_disjunctive_constraint_;
1564  bool use_disjunctive_constraint_in_cumulative_constraint_;
1565  ::google::protobuf::int32 linearization_level_;
1566  ::google::protobuf::int32 max_num_cuts_;
1567  ::google::protobuf::int32 minimize_with_propagation_restart_period_;
1568  ::google::protobuf::int32 minimize_with_propagation_num_decisions_;
1569  ::google::protobuf::int32 binary_search_num_conflicts_;
1570  ::google::protobuf::int32 lns_num_threads_;
1571  bool exploit_all_lp_solution_;
1572  bool exploit_objective_;
1573  bool cp_model_presolve_;
1574  bool cp_model_use_sat_presolve_;
1575  ::google::protobuf::int32 boolean_encoding_level_;
1576  bool instantiate_all_variables_;
1577  bool auto_detect_greater_than_at_least_one_of_;
1578  bool share_objective_bounds_;
1579  bool share_level_zero_bounds_;
1580  bool use_optional_variables_;
1581  bool use_exact_lp_reason_;
1582  ::google::protobuf::int32 cp_model_probing_level_;
1583  bool add_mir_cuts_;
1584  bool use_mir_rounding_;
1585  bool add_lp_constraints_lazily_;
1586  bool exploit_integer_lp_solution_;
1587  ::google::protobuf::int32 max_integer_rounding_scaling_;
1588  ::google::protobuf::int64 max_inactive_count_;
1589  ::google::protobuf::int64 constraint_removal_batch_size_;
1590  ::google::protobuf::int64 pseudo_cost_reliability_threshold_;
1591  double mip_max_bound_;
1592  double mip_var_scaling_;
1593  double mip_wanted_precision_;
1594  double mip_check_precision_;
1595  friend struct ::TableStruct_ortools_2fsat_2fsat_5fparameters_2eproto;
1596 };
1597 // ===================================================================
1598 
1599 
1600 // ===================================================================
1601 
1602 #ifdef __GNUC__
1603  #pragma GCC diagnostic push
1604  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1605 #endif // __GNUC__
1606 // SatParameters
1607 
1608 // optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default = IN_ORDER];
1609 inline bool SatParameters::has_preferred_variable_order() const {
1610  return (_has_bits_[0] & 0x00000002u) != 0;
1611 }
1613  preferred_variable_order_ = 0;
1614  _has_bits_[0] &= ~0x00000002u;
1617  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.preferred_variable_order)
1618  return static_cast< ::operations_research::sat::SatParameters_VariableOrder >(preferred_variable_order_);
1622  _has_bits_[0] |= 0x00000002u;
1623  preferred_variable_order_ = value;
1624  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.preferred_variable_order)
1625 }
1626 
1627 // optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FALSE];
1628 inline bool SatParameters::has_initial_polarity() const {
1629  return (_has_bits_[1] & 0x00000040u) != 0;
1630 }
1632  initial_polarity_ = 1;
1633  _has_bits_[1] &= ~0x00000040u;
1636  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.initial_polarity)
1637  return static_cast< ::operations_research::sat::SatParameters_Polarity >(initial_polarity_);
1641  _has_bits_[1] |= 0x00000040u;
1642  initial_polarity_ = value;
1643  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.initial_polarity)
1644 }
1645 
1646 // optional bool use_phase_saving = 44 [default = true];
1647 inline bool SatParameters::has_use_phase_saving() const {
1648  return (_has_bits_[1] & 0x00800000u) != 0;
1649 }
1651  use_phase_saving_ = true;
1652  _has_bits_[1] &= ~0x00800000u;
1654 inline bool SatParameters::use_phase_saving() const {
1655  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_phase_saving)
1656  return use_phase_saving_;
1658 inline void SatParameters::set_use_phase_saving(bool value) {
1659  _has_bits_[1] |= 0x00800000u;
1660  use_phase_saving_ = value;
1661  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_phase_saving)
1662 }
1663 
1664 // optional double random_polarity_ratio = 45 [default = 0];
1665 inline bool SatParameters::has_random_polarity_ratio() const {
1666  return (_has_bits_[0] & 0x00000010u) != 0;
1667 }
1669  random_polarity_ratio_ = 0;
1670  _has_bits_[0] &= ~0x00000010u;
1672 inline double SatParameters::random_polarity_ratio() const {
1673  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_polarity_ratio)
1674  return random_polarity_ratio_;
1676 inline void SatParameters::set_random_polarity_ratio(double value) {
1677  _has_bits_[0] |= 0x00000010u;
1678  random_polarity_ratio_ = value;
1679  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_polarity_ratio)
1680 }
1681 
1682 // optional double random_branches_ratio = 32 [default = 0];
1683 inline bool SatParameters::has_random_branches_ratio() const {
1684  return (_has_bits_[0] & 0x00000008u) != 0;
1685 }
1687  random_branches_ratio_ = 0;
1688  _has_bits_[0] &= ~0x00000008u;
1690 inline double SatParameters::random_branches_ratio() const {
1691  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_branches_ratio)
1692  return random_branches_ratio_;
1694 inline void SatParameters::set_random_branches_ratio(double value) {
1695  _has_bits_[0] |= 0x00000008u;
1696  random_branches_ratio_ = value;
1697  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_branches_ratio)
1698 }
1699 
1700 // optional bool use_erwa_heuristic = 75 [default = false];
1701 inline bool SatParameters::has_use_erwa_heuristic() const {
1702  return (_has_bits_[0] & 0x00000800u) != 0;
1703 }
1705  use_erwa_heuristic_ = false;
1706  _has_bits_[0] &= ~0x00000800u;
1708 inline bool SatParameters::use_erwa_heuristic() const {
1709  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_erwa_heuristic)
1710  return use_erwa_heuristic_;
1712 inline void SatParameters::set_use_erwa_heuristic(bool value) {
1713  _has_bits_[0] |= 0x00000800u;
1714  use_erwa_heuristic_ = value;
1715  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_erwa_heuristic)
1716 }
1717 
1718 // optional double initial_variables_activity = 76 [default = 0];
1720  return (_has_bits_[0] & 0x00040000u) != 0;
1721 }
1723  initial_variables_activity_ = 0;
1724  _has_bits_[0] &= ~0x00040000u;
1726 inline double SatParameters::initial_variables_activity() const {
1727  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.initial_variables_activity)
1728  return initial_variables_activity_;
1730 inline void SatParameters::set_initial_variables_activity(double value) {
1731  _has_bits_[0] |= 0x00040000u;
1732  initial_variables_activity_ = value;
1733  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.initial_variables_activity)
1734 }
1735 
1736 // optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
1738  return (_has_bits_[0] & 0x00001000u) != 0;
1739 }
1741  also_bump_variables_in_conflict_reasons_ = false;
1742  _has_bits_[0] &= ~0x00001000u;
1745  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.also_bump_variables_in_conflict_reasons)
1746  return also_bump_variables_in_conflict_reasons_;
1749  _has_bits_[0] |= 0x00001000u;
1750  also_bump_variables_in_conflict_reasons_ = value;
1751  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.also_bump_variables_in_conflict_reasons)
1752 }
1753 
1754 // optional .operations_research.sat.SatParameters.ConflictMinimizationAlgorithm minimization_algorithm = 4 [default = RECURSIVE];
1755 inline bool SatParameters::has_minimization_algorithm() const {
1756  return (_has_bits_[1] & 0x00000080u) != 0;
1757 }
1759  minimization_algorithm_ = 2;
1760  _has_bits_[1] &= ~0x00000080u;
1763  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimization_algorithm)
1764  return static_cast< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm >(minimization_algorithm_);
1768  _has_bits_[1] |= 0x00000080u;
1769  minimization_algorithm_ = value;
1770  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimization_algorithm)
1771 }
1772 
1773 // optional .operations_research.sat.SatParameters.BinaryMinizationAlgorithm binary_minimization_algorithm = 34 [default = BINARY_MINIMIZATION_FIRST];
1775  return (_has_bits_[1] & 0x00080000u) != 0;
1776 }
1778  binary_minimization_algorithm_ = 1;
1779  _has_bits_[1] &= ~0x00080000u;
1782  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.binary_minimization_algorithm)
1783  return static_cast< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm >(binary_minimization_algorithm_);
1787  _has_bits_[1] |= 0x00080000u;
1788  binary_minimization_algorithm_ = value;
1789  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.binary_minimization_algorithm)
1790 }
1791 
1792 // optional bool subsumption_during_conflict_analysis = 56 [default = true];
1794  return (_has_bits_[1] & 0x01000000u) != 0;
1795 }
1797  subsumption_during_conflict_analysis_ = true;
1798  _has_bits_[1] &= ~0x01000000u;
1801  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.subsumption_during_conflict_analysis)
1802  return subsumption_during_conflict_analysis_;
1805  _has_bits_[1] |= 0x01000000u;
1806  subsumption_during_conflict_analysis_ = value;
1807  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.subsumption_during_conflict_analysis)
1808 }
1809 
1810 // optional int32 clause_cleanup_period = 11 [default = 10000];
1811 inline bool SatParameters::has_clause_cleanup_period() const {
1812  return (_has_bits_[1] & 0x00000100u) != 0;
1813 }
1815  clause_cleanup_period_ = 10000;
1816  _has_bits_[1] &= ~0x00000100u;
1818 inline ::google::protobuf::int32 SatParameters::clause_cleanup_period() const {
1819  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_period)
1820  return clause_cleanup_period_;
1822 inline void SatParameters::set_clause_cleanup_period(::google::protobuf::int32 value) {
1823  _has_bits_[1] |= 0x00000100u;
1824  clause_cleanup_period_ = value;
1825  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_period)
1826 }
1827 
1828 // optional int32 clause_cleanup_target = 13 [default = 10000];
1829 inline bool SatParameters::has_clause_cleanup_target() const {
1830  return (_has_bits_[1] & 0x00000200u) != 0;
1831 }
1833  clause_cleanup_target_ = 10000;
1834  _has_bits_[1] &= ~0x00000200u;
1836 inline ::google::protobuf::int32 SatParameters::clause_cleanup_target() const {
1837  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_target)
1838  return clause_cleanup_target_;
1840 inline void SatParameters::set_clause_cleanup_target(::google::protobuf::int32 value) {
1841  _has_bits_[1] |= 0x00000200u;
1842  clause_cleanup_target_ = value;
1843  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_target)
1844 }
1845 
1846 // optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [default = PROTECTION_NONE];
1848  return (_has_bits_[0] & 0x00000200u) != 0;
1849 }
1851  clause_cleanup_protection_ = 0;
1852  _has_bits_[0] &= ~0x00000200u;
1855  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_protection)
1856  return static_cast< ::operations_research::sat::SatParameters_ClauseProtection >(clause_cleanup_protection_);
1860  _has_bits_[0] |= 0x00000200u;
1861  clause_cleanup_protection_ = value;
1862  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_protection)
1863 }
1864 
1865 // optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
1866 inline bool SatParameters::has_clause_cleanup_lbd_bound() const {
1867  return (_has_bits_[2] & 0x00000002u) != 0;
1868 }
1870  clause_cleanup_lbd_bound_ = 5;
1871  _has_bits_[2] &= ~0x00000002u;
1873 inline ::google::protobuf::int32 SatParameters::clause_cleanup_lbd_bound() const {
1874  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_lbd_bound)
1875  return clause_cleanup_lbd_bound_;
1877 inline void SatParameters::set_clause_cleanup_lbd_bound(::google::protobuf::int32 value) {
1878  _has_bits_[2] |= 0x00000002u;
1879  clause_cleanup_lbd_bound_ = value;
1880  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_lbd_bound)
1881 }
1882 
1883 // optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default = CLAUSE_ACTIVITY];
1884 inline bool SatParameters::has_clause_cleanup_ordering() const {
1885  return (_has_bits_[0] & 0x00000400u) != 0;
1886 }
1888  clause_cleanup_ordering_ = 0;
1889  _has_bits_[0] &= ~0x00000400u;
1892  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_cleanup_ordering)
1893  return static_cast< ::operations_research::sat::SatParameters_ClauseOrdering >(clause_cleanup_ordering_);
1897  _has_bits_[0] |= 0x00000400u;
1898  clause_cleanup_ordering_ = value;
1899  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_cleanup_ordering)
1900 }
1901 
1902 // optional int32 pb_cleanup_increment = 46 [default = 200];
1903 inline bool SatParameters::has_pb_cleanup_increment() const {
1904  return (_has_bits_[1] & 0x08000000u) != 0;
1905 }
1907  pb_cleanup_increment_ = 200;
1908  _has_bits_[1] &= ~0x08000000u;
1910 inline ::google::protobuf::int32 SatParameters::pb_cleanup_increment() const {
1911  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pb_cleanup_increment)
1912  return pb_cleanup_increment_;
1914 inline void SatParameters::set_pb_cleanup_increment(::google::protobuf::int32 value) {
1915  _has_bits_[1] |= 0x08000000u;
1916  pb_cleanup_increment_ = value;
1917  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pb_cleanup_increment)
1918 }
1919 
1920 // optional double pb_cleanup_ratio = 47 [default = 0.5];
1921 inline bool SatParameters::has_pb_cleanup_ratio() const {
1922  return (_has_bits_[1] & 0x10000000u) != 0;
1923 }
1925  pb_cleanup_ratio_ = 0.5;
1926  _has_bits_[1] &= ~0x10000000u;
1928 inline double SatParameters::pb_cleanup_ratio() const {
1929  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pb_cleanup_ratio)
1930  return pb_cleanup_ratio_;
1932 inline void SatParameters::set_pb_cleanup_ratio(double value) {
1933  _has_bits_[1] |= 0x10000000u;
1934  pb_cleanup_ratio_ = value;
1935  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pb_cleanup_ratio)
1936 }
1937 
1938 // optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
1940  return (_has_bits_[2] & 0x00080000u) != 0;
1941 }
1943  minimize_with_propagation_restart_period_ = 10;
1944  _has_bits_[2] &= ~0x00080000u;
1946 inline ::google::protobuf::int32 SatParameters::minimize_with_propagation_restart_period() const {
1947  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_with_propagation_restart_period)
1948  return minimize_with_propagation_restart_period_;
1950 inline void SatParameters::set_minimize_with_propagation_restart_period(::google::protobuf::int32 value) {
1951  _has_bits_[2] |= 0x00080000u;
1952  minimize_with_propagation_restart_period_ = value;
1953  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_with_propagation_restart_period)
1954 }
1955 
1956 // optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
1958  return (_has_bits_[2] & 0x00100000u) != 0;
1959 }
1961  minimize_with_propagation_num_decisions_ = 1000;
1962  _has_bits_[2] &= ~0x00100000u;
1964 inline ::google::protobuf::int32 SatParameters::minimize_with_propagation_num_decisions() const {
1965  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_with_propagation_num_decisions)
1966  return minimize_with_propagation_num_decisions_;
1968 inline void SatParameters::set_minimize_with_propagation_num_decisions(::google::protobuf::int32 value) {
1969  _has_bits_[2] |= 0x00100000u;
1970  minimize_with_propagation_num_decisions_ = value;
1971  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_with_propagation_num_decisions)
1972 }
1973 
1974 // optional double variable_activity_decay = 15 [default = 0.8];
1975 inline bool SatParameters::has_variable_activity_decay() const {
1976  return (_has_bits_[1] & 0x00000400u) != 0;
1977 }
1979  variable_activity_decay_ = 0.8;
1980  _has_bits_[1] &= ~0x00000400u;
1982 inline double SatParameters::variable_activity_decay() const {
1983  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.variable_activity_decay)
1984  return variable_activity_decay_;
1986 inline void SatParameters::set_variable_activity_decay(double value) {
1987  _has_bits_[1] |= 0x00000400u;
1988  variable_activity_decay_ = value;
1989  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.variable_activity_decay)
1990 }
1991 
1992 // optional double max_variable_activity_value = 16 [default = 1e+100];
1994  return (_has_bits_[1] & 0x00000800u) != 0;
1995 }
1997  max_variable_activity_value_ = 1e+100;
1998  _has_bits_[1] &= ~0x00000800u;
2000 inline double SatParameters::max_variable_activity_value() const {
2001  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_variable_activity_value)
2002  return max_variable_activity_value_;
2004 inline void SatParameters::set_max_variable_activity_value(double value) {
2005  _has_bits_[1] |= 0x00000800u;
2006  max_variable_activity_value_ = value;
2007  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_variable_activity_value)
2008 }
2009 
2010 // optional double glucose_max_decay = 22 [default = 0.95];
2011 inline bool SatParameters::has_glucose_max_decay() const {
2012  return (_has_bits_[1] & 0x00004000u) != 0;
2013 }
2015  glucose_max_decay_ = 0.95;
2016  _has_bits_[1] &= ~0x00004000u;
2018 inline double SatParameters::glucose_max_decay() const {
2019  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_max_decay)
2020  return glucose_max_decay_;
2022 inline void SatParameters::set_glucose_max_decay(double value) {
2023  _has_bits_[1] |= 0x00004000u;
2024  glucose_max_decay_ = value;
2025  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_max_decay)
2026 }
2027 
2028 // optional double glucose_decay_increment = 23 [default = 0.01];
2029 inline bool SatParameters::has_glucose_decay_increment() const {
2030  return (_has_bits_[1] & 0x00008000u) != 0;
2031 }
2033  glucose_decay_increment_ = 0.01;
2034  _has_bits_[1] &= ~0x00008000u;
2036 inline double SatParameters::glucose_decay_increment() const {
2037  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_decay_increment)
2038  return glucose_decay_increment_;
2040 inline void SatParameters::set_glucose_decay_increment(double value) {
2041  _has_bits_[1] |= 0x00008000u;
2042  glucose_decay_increment_ = value;
2043  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_decay_increment)
2044 }
2045 
2046 // optional int32 glucose_decay_increment_period = 24 [default = 5000];
2048  return (_has_bits_[1] & 0x00010000u) != 0;
2049 }
2051  glucose_decay_increment_period_ = 5000;
2052  _has_bits_[1] &= ~0x00010000u;
2054 inline ::google::protobuf::int32 SatParameters::glucose_decay_increment_period() const {
2055  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.glucose_decay_increment_period)
2056  return glucose_decay_increment_period_;
2058 inline void SatParameters::set_glucose_decay_increment_period(::google::protobuf::int32 value) {
2059  _has_bits_[1] |= 0x00010000u;
2060  glucose_decay_increment_period_ = value;
2061  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.glucose_decay_increment_period)
2062 }
2063 
2064 // optional double clause_activity_decay = 17 [default = 0.999];
2065 inline bool SatParameters::has_clause_activity_decay() const {
2066  return (_has_bits_[1] & 0x00001000u) != 0;
2067 }
2069  clause_activity_decay_ = 0.999;
2070  _has_bits_[1] &= ~0x00001000u;
2072 inline double SatParameters::clause_activity_decay() const {
2073  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.clause_activity_decay)
2074  return clause_activity_decay_;
2076 inline void SatParameters::set_clause_activity_decay(double value) {
2077  _has_bits_[1] |= 0x00001000u;
2078  clause_activity_decay_ = value;
2079  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.clause_activity_decay)
2080 }
2081 
2082 // optional double max_clause_activity_value = 18 [default = 1e+20];
2084  return (_has_bits_[1] & 0x00002000u) != 0;
2085 }
2087  max_clause_activity_value_ = 1e+20;
2088  _has_bits_[1] &= ~0x00002000u;
2090 inline double SatParameters::max_clause_activity_value() const {
2091  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_clause_activity_value)
2092  return max_clause_activity_value_;
2094 inline void SatParameters::set_max_clause_activity_value(double value) {
2095  _has_bits_[1] |= 0x00002000u;
2096  max_clause_activity_value_ = value;
2097  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_clause_activity_value)
2098 }
2099 
2100 // repeated .operations_research.sat.SatParameters.RestartAlgorithm restart_algorithms = 61;
2101 inline int SatParameters::restart_algorithms_size() const {
2102  return restart_algorithms_.size();
2103 }
2105  restart_algorithms_.Clear();
2106 }
2108  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_algorithms)
2109  return static_cast< ::operations_research::sat::SatParameters_RestartAlgorithm >(restart_algorithms_.Get(index));
2113  restart_algorithms_.Set(index, value);
2114  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_algorithms)
2115 }
2118  restart_algorithms_.Add(value);
2119  // @@protoc_insertion_point(field_add:operations_research.sat.SatParameters.restart_algorithms)
2120 }
2121 inline const ::google::protobuf::RepeatedField<int>&
2123  // @@protoc_insertion_point(field_list:operations_research.sat.SatParameters.restart_algorithms)
2124  return restart_algorithms_;
2126 inline ::google::protobuf::RepeatedField<int>*
2128  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SatParameters.restart_algorithms)
2129  return &restart_algorithms_;
2131 
2132 // optional string default_restart_algorithms = 70 [default = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART"];
2134  return (_has_bits_[0] & 0x00000001u) != 0;
2135 }
2138  _has_bits_[0] &= ~0x00000001u;
2140 inline const ::std::string& SatParameters::default_restart_algorithms() const {
2141  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.default_restart_algorithms)
2142  return default_restart_algorithms_.GetNoArena();
2144 inline void SatParameters::set_default_restart_algorithms(const ::std::string& value) {
2145  _has_bits_[0] |= 0x00000001u;
2147  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.default_restart_algorithms)
2148 }
2149 #if LANG_CXX11
2150 inline void SatParameters::set_default_restart_algorithms(::std::string&& value) {
2151  _has_bits_[0] |= 0x00000001u;
2152  default_restart_algorithms_.SetNoArena(
2154  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.SatParameters.default_restart_algorithms)
2155 }
2156 #endif
2157 inline void SatParameters::set_default_restart_algorithms(const char* value) {
2158  GOOGLE_DCHECK(value != nullptr);
2159  _has_bits_[0] |= 0x00000001u;
2161  // @@protoc_insertion_point(field_set_char:operations_research.sat.SatParameters.default_restart_algorithms)
2162 }
2163 inline void SatParameters::set_default_restart_algorithms(const char* value, size_t size) {
2164  _has_bits_[0] |= 0x00000001u;
2166  ::std::string(reinterpret_cast<const char*>(value), size));
2167  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.SatParameters.default_restart_algorithms)
2168 }
2169 inline ::std::string* SatParameters::mutable_default_restart_algorithms() {
2170  _has_bits_[0] |= 0x00000001u;
2171  // @@protoc_insertion_point(field_mutable:operations_research.sat.SatParameters.default_restart_algorithms)
2173 }
2174 inline ::std::string* SatParameters::release_default_restart_algorithms() {
2175  // @@protoc_insertion_point(field_release:operations_research.sat.SatParameters.default_restart_algorithms)
2177  return nullptr;
2178  }
2179  _has_bits_[0] &= ~0x00000001u;
2180  return default_restart_algorithms_.ReleaseNonDefaultNoArena(&::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get());
2181 }
2182 inline void SatParameters::set_allocated_default_restart_algorithms(::std::string* default_restart_algorithms) {
2183  if (default_restart_algorithms != nullptr) {
2184  _has_bits_[0] |= 0x00000001u;
2185  } else {
2186  _has_bits_[0] &= ~0x00000001u;
2187  }
2189  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.SatParameters.default_restart_algorithms)
2190 }
2191 
2192 // optional int32 restart_period = 30 [default = 50];
2193 inline bool SatParameters::has_restart_period() const {
2194  return (_has_bits_[1] & 0x00020000u) != 0;
2195 }
2197  restart_period_ = 50;
2198  _has_bits_[1] &= ~0x00020000u;
2200 inline ::google::protobuf::int32 SatParameters::restart_period() const {
2201  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_period)
2202  return restart_period_;
2204 inline void SatParameters::set_restart_period(::google::protobuf::int32 value) {
2205  _has_bits_[1] |= 0x00020000u;
2206  restart_period_ = value;
2207  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_period)
2208 }
2209 
2210 // optional int32 restart_running_window_size = 62 [default = 50];
2212  return (_has_bits_[2] & 0x00000040u) != 0;
2213 }
2215  restart_running_window_size_ = 50;
2216  _has_bits_[2] &= ~0x00000040u;
2218 inline ::google::protobuf::int32 SatParameters::restart_running_window_size() const {
2219  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_running_window_size)
2220  return restart_running_window_size_;
2222 inline void SatParameters::set_restart_running_window_size(::google::protobuf::int32 value) {
2223  _has_bits_[2] |= 0x00000040u;
2224  restart_running_window_size_ = value;
2225  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_running_window_size)
2226 }
2227 
2228 // optional double restart_dl_average_ratio = 63 [default = 1];
2229 inline bool SatParameters::has_restart_dl_average_ratio() const {
2230  return (_has_bits_[2] & 0x00000080u) != 0;
2231 }
2233  restart_dl_average_ratio_ = 1;
2234  _has_bits_[2] &= ~0x00000080u;
2236 inline double SatParameters::restart_dl_average_ratio() const {
2237  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_dl_average_ratio)
2238  return restart_dl_average_ratio_;
2240 inline void SatParameters::set_restart_dl_average_ratio(double value) {
2241  _has_bits_[2] |= 0x00000080u;
2242  restart_dl_average_ratio_ = value;
2243  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_dl_average_ratio)
2244 }
2245 
2246 // optional double restart_lbd_average_ratio = 71 [default = 1];
2248  return (_has_bits_[2] & 0x00001000u) != 0;
2249 }
2251  restart_lbd_average_ratio_ = 1;
2252  _has_bits_[2] &= ~0x00001000u;
2254 inline double SatParameters::restart_lbd_average_ratio() const {
2255  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.restart_lbd_average_ratio)
2256  return restart_lbd_average_ratio_;
2258 inline void SatParameters::set_restart_lbd_average_ratio(double value) {
2259  _has_bits_[2] |= 0x00001000u;
2260  restart_lbd_average_ratio_ = value;
2261  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.restart_lbd_average_ratio)
2262 }
2263 
2264 // optional bool use_blocking_restart = 64 [default = false];
2265 inline bool SatParameters::has_use_blocking_restart() const {
2266  return (_has_bits_[0] & 0x00002000u) != 0;
2267 }
2269  use_blocking_restart_ = false;
2270  _has_bits_[0] &= ~0x00002000u;
2272 inline bool SatParameters::use_blocking_restart() const {
2273  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_blocking_restart)
2274  return use_blocking_restart_;
2276 inline void SatParameters::set_use_blocking_restart(bool value) {
2277  _has_bits_[0] |= 0x00002000u;
2278  use_blocking_restart_ = value;
2279  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_blocking_restart)
2280 }
2281 
2282 // optional int32 blocking_restart_window_size = 65 [default = 5000];
2284  return (_has_bits_[2] & 0x00000400u) != 0;
2285 }
2287  blocking_restart_window_size_ = 5000;
2288  _has_bits_[2] &= ~0x00000400u;
2290 inline ::google::protobuf::int32 SatParameters::blocking_restart_window_size() const {
2291  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.blocking_restart_window_size)
2292  return blocking_restart_window_size_;
2294 inline void SatParameters::set_blocking_restart_window_size(::google::protobuf::int32 value) {
2295  _has_bits_[2] |= 0x00000400u;
2296  blocking_restart_window_size_ = value;
2297  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.blocking_restart_window_size)
2298 }
2299 
2300 // optional double blocking_restart_multiplier = 66 [default = 1.4];
2302  return (_has_bits_[2] & 0x00000100u) != 0;
2303 }
2305  blocking_restart_multiplier_ = 1.4;
2306  _has_bits_[2] &= ~0x00000100u;
2308 inline double SatParameters::blocking_restart_multiplier() const {
2309  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.blocking_restart_multiplier)
2310  return blocking_restart_multiplier_;
2312 inline void SatParameters::set_blocking_restart_multiplier(double value) {
2313  _has_bits_[2] |= 0x00000100u;
2314  blocking_restart_multiplier_ = value;
2315  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.blocking_restart_multiplier)
2316 }
2317 
2318 // optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
2320  return (_has_bits_[0] & 0x00010000u) != 0;
2321 }
2323  num_conflicts_before_strategy_changes_ = 0;
2324  _has_bits_[0] &= ~0x00010000u;
2326 inline ::google::protobuf::int32 SatParameters::num_conflicts_before_strategy_changes() const {
2327  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.num_conflicts_before_strategy_changes)
2328  return num_conflicts_before_strategy_changes_;
2330 inline void SatParameters::set_num_conflicts_before_strategy_changes(::google::protobuf::int32 value) {
2331  _has_bits_[0] |= 0x00010000u;
2332  num_conflicts_before_strategy_changes_ = value;
2333  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.num_conflicts_before_strategy_changes)
2334 }
2335 
2336 // optional double strategy_change_increase_ratio = 69 [default = 0];
2338  return (_has_bits_[0] & 0x00008000u) != 0;
2339 }
2341  strategy_change_increase_ratio_ = 0;
2342  _has_bits_[0] &= ~0x00008000u;
2344 inline double SatParameters::strategy_change_increase_ratio() const {
2345  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.strategy_change_increase_ratio)
2346  return strategy_change_increase_ratio_;
2348 inline void SatParameters::set_strategy_change_increase_ratio(double value) {
2349  _has_bits_[0] |= 0x00008000u;
2350  strategy_change_increase_ratio_ = value;
2351  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.strategy_change_increase_ratio)
2352 }
2353 
2354 // optional double max_time_in_seconds = 36 [default = inf];
2355 inline bool SatParameters::has_max_time_in_seconds() const {
2356  return (_has_bits_[1] & 0x00100000u) != 0;
2357 }
2359  max_time_in_seconds_ = std::numeric_limits<double>::infinity();
2360  _has_bits_[1] &= ~0x00100000u;
2362 inline double SatParameters::max_time_in_seconds() const {
2363  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_time_in_seconds)
2364  return max_time_in_seconds_;
2366 inline void SatParameters::set_max_time_in_seconds(double value) {
2367  _has_bits_[1] |= 0x00100000u;
2368  max_time_in_seconds_ = value;
2369  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_time_in_seconds)
2370 }
2371 
2372 // optional double max_deterministic_time = 67 [default = inf];
2373 inline bool SatParameters::has_max_deterministic_time() const {
2374  return (_has_bits_[2] & 0x00000200u) != 0;
2375 }
2377  max_deterministic_time_ = std::numeric_limits<double>::infinity();
2378  _has_bits_[2] &= ~0x00000200u;
2380 inline double SatParameters::max_deterministic_time() const {
2381  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_deterministic_time)
2382  return max_deterministic_time_;
2384 inline void SatParameters::set_max_deterministic_time(double value) {
2385  _has_bits_[2] |= 0x00000200u;
2386  max_deterministic_time_ = value;
2387  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_deterministic_time)
2388 }
2389 
2390 // optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
2391 inline bool SatParameters::has_max_number_of_conflicts() const {
2392  return (_has_bits_[1] & 0x00200000u) != 0;
2393 }
2395  max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
2396  _has_bits_[1] &= ~0x00200000u;
2398 inline ::google::protobuf::int64 SatParameters::max_number_of_conflicts() const {
2399  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_number_of_conflicts)
2400  return max_number_of_conflicts_;
2402 inline void SatParameters::set_max_number_of_conflicts(::google::protobuf::int64 value) {
2403  _has_bits_[1] |= 0x00200000u;
2404  max_number_of_conflicts_ = value;
2405  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_number_of_conflicts)
2406 }
2407 
2408 // optional int64 max_memory_in_mb = 40 [default = 10000];
2409 inline bool SatParameters::has_max_memory_in_mb() const {
2410  return (_has_bits_[1] & 0x00400000u) != 0;
2411 }
2413  max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
2414  _has_bits_[1] &= ~0x00400000u;
2416 inline ::google::protobuf::int64 SatParameters::max_memory_in_mb() const {
2417  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_memory_in_mb)
2418  return max_memory_in_mb_;
2420 inline void SatParameters::set_max_memory_in_mb(::google::protobuf::int64 value) {
2421  _has_bits_[1] |= 0x00400000u;
2422  max_memory_in_mb_ = value;
2423  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_memory_in_mb)
2424 }
2425 
2426 // optional bool treat_binary_clauses_separately = 33 [default = true];
2428  return (_has_bits_[1] & 0x02000000u) != 0;
2429 }
2431  treat_binary_clauses_separately_ = true;
2432  _has_bits_[1] &= ~0x02000000u;
2435  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.treat_binary_clauses_separately)
2436  return treat_binary_clauses_separately_;
2439  _has_bits_[1] |= 0x02000000u;
2440  treat_binary_clauses_separately_ = value;
2441  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.treat_binary_clauses_separately)
2442 }
2443 
2444 // optional int32 random_seed = 31 [default = 1];
2445 inline bool SatParameters::has_random_seed() const {
2446  return (_has_bits_[1] & 0x00040000u) != 0;
2447 }
2449  random_seed_ = 1;
2450  _has_bits_[1] &= ~0x00040000u;
2452 inline ::google::protobuf::int32 SatParameters::random_seed() const {
2453  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.random_seed)
2454  return random_seed_;
2456 inline void SatParameters::set_random_seed(::google::protobuf::int32 value) {
2457  _has_bits_[1] |= 0x00040000u;
2458  random_seed_ = value;
2459  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.random_seed)
2460 }
2461 
2462 // optional bool log_search_progress = 41 [default = false];
2463 inline bool SatParameters::has_log_search_progress() const {
2464  return (_has_bits_[0] & 0x00004000u) != 0;
2465 }
2467  log_search_progress_ = false;
2468  _has_bits_[0] &= ~0x00004000u;
2470 inline bool SatParameters::log_search_progress() const {
2471  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.log_search_progress)
2472  return log_search_progress_;
2474 inline void SatParameters::set_log_search_progress(bool value) {
2475  _has_bits_[0] |= 0x00004000u;
2476  log_search_progress_ = value;
2477  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.log_search_progress)
2478 }
2479 
2480 // optional bool use_pb_resolution = 43 [default = false];
2481 inline bool SatParameters::has_use_pb_resolution() const {
2482  return (_has_bits_[0] & 0x00000020u) != 0;
2483 }
2485  use_pb_resolution_ = false;
2486  _has_bits_[0] &= ~0x00000020u;
2488 inline bool SatParameters::use_pb_resolution() const {
2489  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_pb_resolution)
2490  return use_pb_resolution_;
2492 inline void SatParameters::set_use_pb_resolution(bool value) {
2493  _has_bits_[0] |= 0x00000020u;
2494  use_pb_resolution_ = value;
2495  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_pb_resolution)
2496 }
2497 
2498 // optional bool minimize_reduction_during_pb_resolution = 48 [default = false];
2500  return (_has_bits_[0] & 0x00000040u) != 0;
2501 }
2503  minimize_reduction_during_pb_resolution_ = false;
2504  _has_bits_[0] &= ~0x00000040u;
2507  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_reduction_during_pb_resolution)
2508  return minimize_reduction_during_pb_resolution_;
2511  _has_bits_[0] |= 0x00000040u;
2512  minimize_reduction_during_pb_resolution_ = value;
2513  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_reduction_during_pb_resolution)
2514 }
2515 
2516 // optional bool count_assumption_levels_in_lbd = 49 [default = true];
2518  return (_has_bits_[1] & 0x04000000u) != 0;
2519 }
2521  count_assumption_levels_in_lbd_ = true;
2522  _has_bits_[1] &= ~0x04000000u;
2525  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.count_assumption_levels_in_lbd)
2526  return count_assumption_levels_in_lbd_;
2528 inline void SatParameters::set_count_assumption_levels_in_lbd(bool value) {
2529  _has_bits_[1] |= 0x04000000u;
2530  count_assumption_levels_in_lbd_ = value;
2531  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.count_assumption_levels_in_lbd)
2532 }
2533 
2534 // optional int32 presolve_bve_threshold = 54 [default = 500];
2535 inline bool SatParameters::has_presolve_bve_threshold() const {
2536  return (_has_bits_[1] & 0x40000000u) != 0;
2537 }
2539  presolve_bve_threshold_ = 500;
2540  _has_bits_[1] &= ~0x40000000u;
2542 inline ::google::protobuf::int32 SatParameters::presolve_bve_threshold() const {
2543  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bve_threshold)
2544  return presolve_bve_threshold_;
2546 inline void SatParameters::set_presolve_bve_threshold(::google::protobuf::int32 value) {
2547  _has_bits_[1] |= 0x40000000u;
2548  presolve_bve_threshold_ = value;
2549  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bve_threshold)
2550 }
2551 
2552 // optional int32 presolve_bve_clause_weight = 55 [default = 3];
2554  return (_has_bits_[2] & 0x00000001u) != 0;
2555 }
2557  presolve_bve_clause_weight_ = 3;
2558  _has_bits_[2] &= ~0x00000001u;
2560 inline ::google::protobuf::int32 SatParameters::presolve_bve_clause_weight() const {
2561  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bve_clause_weight)
2562  return presolve_bve_clause_weight_;
2564 inline void SatParameters::set_presolve_bve_clause_weight(::google::protobuf::int32 value) {
2565  _has_bits_[2] |= 0x00000001u;
2566  presolve_bve_clause_weight_ = value;
2567  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bve_clause_weight)
2568 }
2569 
2570 // optional double presolve_probing_deterministic_time_limit = 57 [default = 30];
2572  return (_has_bits_[1] & 0x80000000u) != 0;
2573 }
2575  presolve_probing_deterministic_time_limit_ = 30;
2576  _has_bits_[1] &= ~0x80000000u;
2579  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_probing_deterministic_time_limit)
2580  return presolve_probing_deterministic_time_limit_;
2583  _has_bits_[1] |= 0x80000000u;
2584  presolve_probing_deterministic_time_limit_ = value;
2585  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_probing_deterministic_time_limit)
2586 }
2587 
2588 // optional bool presolve_blocked_clause = 88 [default = true];
2589 inline bool SatParameters::has_presolve_blocked_clause() const {
2590  return (_has_bits_[2] & 0x00000004u) != 0;
2591 }
2593  presolve_blocked_clause_ = true;
2594  _has_bits_[2] &= ~0x00000004u;
2596 inline bool SatParameters::presolve_blocked_clause() const {
2597  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_blocked_clause)
2598  return presolve_blocked_clause_;
2600 inline void SatParameters::set_presolve_blocked_clause(bool value) {
2601  _has_bits_[2] |= 0x00000004u;
2602  presolve_blocked_clause_ = value;
2603  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_blocked_clause)
2604 }
2605 
2606 // optional bool presolve_use_bva = 72 [default = true];
2607 inline bool SatParameters::has_presolve_use_bva() const {
2608  return (_has_bits_[2] & 0x00000008u) != 0;
2609 }
2611  presolve_use_bva_ = true;
2612  _has_bits_[2] &= ~0x00000008u;
2614 inline bool SatParameters::presolve_use_bva() const {
2615  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_use_bva)
2616  return presolve_use_bva_;
2618 inline void SatParameters::set_presolve_use_bva(bool value) {
2619  _has_bits_[2] |= 0x00000008u;
2620  presolve_use_bva_ = value;
2621  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_use_bva)
2622 }
2623 
2624 // optional int32 presolve_bva_threshold = 73 [default = 1];
2625 inline bool SatParameters::has_presolve_bva_threshold() const {
2626  return (_has_bits_[2] & 0x00000800u) != 0;
2627 }
2629  presolve_bva_threshold_ = 1;
2630  _has_bits_[2] &= ~0x00000800u;
2632 inline ::google::protobuf::int32 SatParameters::presolve_bva_threshold() const {
2633  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.presolve_bva_threshold)
2634  return presolve_bva_threshold_;
2636 inline void SatParameters::set_presolve_bva_threshold(::google::protobuf::int32 value) {
2637  _has_bits_[2] |= 0x00000800u;
2638  presolve_bva_threshold_ = value;
2639  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.presolve_bva_threshold)
2640 }
2641 
2642 // optional bool use_optimization_hints = 35 [default = true];
2643 inline bool SatParameters::has_use_optimization_hints() const {
2644  return (_has_bits_[2] & 0x00000010u) != 0;
2645 }
2647  use_optimization_hints_ = true;
2648  _has_bits_[2] &= ~0x00000010u;
2650 inline bool SatParameters::use_optimization_hints() const {
2651  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_optimization_hints)
2652  return use_optimization_hints_;
2654 inline void SatParameters::set_use_optimization_hints(bool value) {
2655  _has_bits_[2] |= 0x00000010u;
2656  use_optimization_hints_ = value;
2657  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_optimization_hints)
2658 }
2659 
2660 // optional bool minimize_core = 50 [default = true];
2661 inline bool SatParameters::has_minimize_core() const {
2662  return (_has_bits_[2] & 0x00000020u) != 0;
2663 }
2665  minimize_core_ = true;
2666  _has_bits_[2] &= ~0x00000020u;
2668 inline bool SatParameters::minimize_core() const {
2669  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.minimize_core)
2670  return minimize_core_;
2672 inline void SatParameters::set_minimize_core(bool value) {
2673  _has_bits_[2] |= 0x00000020u;
2674  minimize_core_ = value;
2675  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.minimize_core)
2676 }
2677 
2678 // optional bool find_multiple_cores = 84 [default = true];
2679 inline bool SatParameters::has_find_multiple_cores() const {
2680  return (_has_bits_[2] & 0x00002000u) != 0;
2681 }
2683  find_multiple_cores_ = true;
2684  _has_bits_[2] &= ~0x00002000u;
2686 inline bool SatParameters::find_multiple_cores() const {
2687  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.find_multiple_cores)
2688  return find_multiple_cores_;
2690 inline void SatParameters::set_find_multiple_cores(bool value) {
2691  _has_bits_[2] |= 0x00002000u;
2692  find_multiple_cores_ = value;
2693  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.find_multiple_cores)
2694 }
2695 
2696 // optional bool cover_optimization = 89 [default = true];
2697 inline bool SatParameters::has_cover_optimization() const {
2698  return (_has_bits_[2] & 0x00004000u) != 0;
2699 }
2701  cover_optimization_ = true;
2702  _has_bits_[2] &= ~0x00004000u;
2704 inline bool SatParameters::cover_optimization() const {
2705  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cover_optimization)
2706  return cover_optimization_;
2708 inline void SatParameters::set_cover_optimization(bool value) {
2709  _has_bits_[2] |= 0x00004000u;
2710  cover_optimization_ = value;
2711  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cover_optimization)
2712 }
2713 
2714 // optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [default = DEFAULT_ASSUMPTION_ORDER];
2715 inline bool SatParameters::has_max_sat_assumption_order() const {
2716  return (_has_bits_[0] & 0x00000004u) != 0;
2717 }
2719  max_sat_assumption_order_ = 0;
2720  _has_bits_[0] &= ~0x00000004u;
2723  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_assumption_order)
2724  return static_cast< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder >(max_sat_assumption_order_);
2728  _has_bits_[0] |= 0x00000004u;
2729  max_sat_assumption_order_ = value;
2730  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_assumption_order)
2731 }
2732 
2733 // optional bool max_sat_reverse_assumption_order = 52 [default = false];
2735  return (_has_bits_[0] & 0x00000080u) != 0;
2736 }
2738  max_sat_reverse_assumption_order_ = false;
2739  _has_bits_[0] &= ~0x00000080u;
2742  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_reverse_assumption_order)
2743  return max_sat_reverse_assumption_order_;
2746  _has_bits_[0] |= 0x00000080u;
2747  max_sat_reverse_assumption_order_ = value;
2748  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_reverse_assumption_order)
2749 }
2750 
2751 // optional .operations_research.sat.SatParameters.MaxSatStratificationAlgorithm max_sat_stratification = 53 [default = STRATIFICATION_DESCENT];
2752 inline bool SatParameters::has_max_sat_stratification() const {
2753  return (_has_bits_[1] & 0x20000000u) != 0;
2754 }
2756  max_sat_stratification_ = 1;
2757  _has_bits_[1] &= ~0x20000000u;
2760  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_sat_stratification)
2761  return static_cast< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm >(max_sat_stratification_);
2765  _has_bits_[1] |= 0x20000000u;
2766  max_sat_stratification_ = value;
2767  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_sat_stratification)
2768 }
2769 
2770 // optional bool use_precedences_in_disjunctive_constraint = 74 [default = true];
2772  return (_has_bits_[2] & 0x00008000u) != 0;
2773 }
2775  use_precedences_in_disjunctive_constraint_ = true;
2776  _has_bits_[2] &= ~0x00008000u;
2779  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_precedences_in_disjunctive_constraint)
2780  return use_precedences_in_disjunctive_constraint_;
2783  _has_bits_[2] |= 0x00008000u;
2784  use_precedences_in_disjunctive_constraint_ = value;
2785  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_precedences_in_disjunctive_constraint)
2786 }
2787 
2788 // optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
2790  return (_has_bits_[0] & 0x00000100u) != 0;
2791 }
2793  use_overload_checker_in_cumulative_constraint_ = false;
2794  _has_bits_[0] &= ~0x00000100u;
2797  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_overload_checker_in_cumulative_constraint)
2798  return use_overload_checker_in_cumulative_constraint_;
2801  _has_bits_[0] |= 0x00000100u;
2802  use_overload_checker_in_cumulative_constraint_ = value;
2803  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_overload_checker_in_cumulative_constraint)
2804 }
2805 
2806 // optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
2808  return (_has_bits_[0] & 0x00800000u) != 0;
2809 }
2811  use_timetable_edge_finding_in_cumulative_constraint_ = false;
2812  _has_bits_[0] &= ~0x00800000u;
2815  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_timetable_edge_finding_in_cumulative_constraint)
2816  return use_timetable_edge_finding_in_cumulative_constraint_;
2819  _has_bits_[0] |= 0x00800000u;
2820  use_timetable_edge_finding_in_cumulative_constraint_ = value;
2821  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_timetable_edge_finding_in_cumulative_constraint)
2822 }
2823 
2824 // optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
2826  return (_has_bits_[2] & 0x00010000u) != 0;
2827 }
2829  use_disjunctive_constraint_in_cumulative_constraint_ = true;
2830  _has_bits_[2] &= ~0x00010000u;
2833  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_disjunctive_constraint_in_cumulative_constraint)
2834  return use_disjunctive_constraint_in_cumulative_constraint_;
2837  _has_bits_[2] |= 0x00010000u;
2838  use_disjunctive_constraint_in_cumulative_constraint_ = value;
2839  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_disjunctive_constraint_in_cumulative_constraint)
2840 }
2841 
2842 // optional int32 linearization_level = 90 [default = 1];
2843 inline bool SatParameters::has_linearization_level() const {
2844  return (_has_bits_[2] & 0x00020000u) != 0;
2845 }
2847  linearization_level_ = 1;
2848  _has_bits_[2] &= ~0x00020000u;
2850 inline ::google::protobuf::int32 SatParameters::linearization_level() const {
2851  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.linearization_level)
2852  return linearization_level_;
2854 inline void SatParameters::set_linearization_level(::google::protobuf::int32 value) {
2855  _has_bits_[2] |= 0x00020000u;
2856  linearization_level_ = value;
2857  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.linearization_level)
2858 }
2859 
2860 // optional int32 boolean_encoding_level = 107 [default = 1];
2861 inline bool SatParameters::has_boolean_encoding_level() const {
2862  return (_has_bits_[2] & 0x08000000u) != 0;
2863 }
2865  boolean_encoding_level_ = 1;
2866  _has_bits_[2] &= ~0x08000000u;
2868 inline ::google::protobuf::int32 SatParameters::boolean_encoding_level() const {
2869  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.boolean_encoding_level)
2870  return boolean_encoding_level_;
2872 inline void SatParameters::set_boolean_encoding_level(::google::protobuf::int32 value) {
2873  _has_bits_[2] |= 0x08000000u;
2874  boolean_encoding_level_ = value;
2875  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.boolean_encoding_level)
2876 }
2877 
2878 // optional int32 max_num_cuts = 91 [default = 1000];
2879 inline bool SatParameters::has_max_num_cuts() const {
2880  return (_has_bits_[2] & 0x00040000u) != 0;
2881 }
2883  max_num_cuts_ = 1000;
2884  _has_bits_[2] &= ~0x00040000u;
2886 inline ::google::protobuf::int32 SatParameters::max_num_cuts() const {
2887  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_num_cuts)
2888  return max_num_cuts_;
2890 inline void SatParameters::set_max_num_cuts(::google::protobuf::int32 value) {
2891  _has_bits_[2] |= 0x00040000u;
2892  max_num_cuts_ = value;
2893  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_num_cuts)
2894 }
2895 
2896 // optional bool only_add_cuts_at_level_zero = 92 [default = false];
2898  return (_has_bits_[0] & 0x01000000u) != 0;
2899 }
2901  only_add_cuts_at_level_zero_ = false;
2902  _has_bits_[0] &= ~0x01000000u;
2904 inline bool SatParameters::only_add_cuts_at_level_zero() const {
2905  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.only_add_cuts_at_level_zero)
2906  return only_add_cuts_at_level_zero_;
2908 inline void SatParameters::set_only_add_cuts_at_level_zero(bool value) {
2909  _has_bits_[0] |= 0x01000000u;
2910  only_add_cuts_at_level_zero_ = value;
2911  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.only_add_cuts_at_level_zero)
2912 }
2913 
2914 // optional bool add_knapsack_cuts = 111 [default = false];
2915 inline bool SatParameters::has_add_knapsack_cuts() const {
2916  return (_has_bits_[0] & 0x02000000u) != 0;
2917 }
2919  add_knapsack_cuts_ = false;
2920  _has_bits_[0] &= ~0x02000000u;
2922 inline bool SatParameters::add_knapsack_cuts() const {
2923  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_knapsack_cuts)
2924  return add_knapsack_cuts_;
2926 inline void SatParameters::set_add_knapsack_cuts(bool value) {
2927  _has_bits_[0] |= 0x02000000u;
2928  add_knapsack_cuts_ = value;
2929  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_knapsack_cuts)
2930 }
2931 
2932 // optional bool add_cg_cuts = 117 [default = false];
2933 inline bool SatParameters::has_add_cg_cuts() const {
2934  return (_has_bits_[0] & 0x04000000u) != 0;
2935 }
2937  add_cg_cuts_ = false;
2938  _has_bits_[0] &= ~0x04000000u;
2940 inline bool SatParameters::add_cg_cuts() const {
2941  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_cg_cuts)
2942  return add_cg_cuts_;
2944 inline void SatParameters::set_add_cg_cuts(bool value) {
2945  _has_bits_[0] |= 0x04000000u;
2946  add_cg_cuts_ = value;
2947  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_cg_cuts)
2948 }
2949 
2950 // optional bool add_mir_cuts = 120 [default = true];
2951 inline bool SatParameters::has_add_mir_cuts() const {
2952  return (_has_bits_[3] & 0x00000008u) != 0;
2953 }
2955  add_mir_cuts_ = true;
2956  _has_bits_[3] &= ~0x00000008u;
2958 inline bool SatParameters::add_mir_cuts() const {
2959  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_mir_cuts)
2960  return add_mir_cuts_;
2962 inline void SatParameters::set_add_mir_cuts(bool value) {
2963  _has_bits_[3] |= 0x00000008u;
2964  add_mir_cuts_ = value;
2965  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_mir_cuts)
2966 }
2967 
2968 // optional bool use_mir_rounding = 118 [default = true];
2969 inline bool SatParameters::has_use_mir_rounding() const {
2970  return (_has_bits_[3] & 0x00000010u) != 0;
2971 }
2973  use_mir_rounding_ = true;
2974  _has_bits_[3] &= ~0x00000010u;
2976 inline bool SatParameters::use_mir_rounding() const {
2977  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_mir_rounding)
2978  return use_mir_rounding_;
2980 inline void SatParameters::set_use_mir_rounding(bool value) {
2981  _has_bits_[3] |= 0x00000010u;
2982  use_mir_rounding_ = value;
2983  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_mir_rounding)
2984 }
2985 
2986 // optional int32 max_integer_rounding_scaling = 119 [default = 600];
2988  return (_has_bits_[3] & 0x00000080u) != 0;
2989 }
2991  max_integer_rounding_scaling_ = 600;
2992  _has_bits_[3] &= ~0x00000080u;
2994 inline ::google::protobuf::int32 SatParameters::max_integer_rounding_scaling() const {
2995  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_integer_rounding_scaling)
2996  return max_integer_rounding_scaling_;
2998 inline void SatParameters::set_max_integer_rounding_scaling(::google::protobuf::int32 value) {
2999  _has_bits_[3] |= 0x00000080u;
3000  max_integer_rounding_scaling_ = value;
3001  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_integer_rounding_scaling)
3002 }
3003 
3004 // optional bool add_lp_constraints_lazily = 112 [default = true];
3006  return (_has_bits_[3] & 0x00000020u) != 0;
3007 }
3009  add_lp_constraints_lazily_ = true;
3010  _has_bits_[3] &= ~0x00000020u;
3012 inline bool SatParameters::add_lp_constraints_lazily() const {
3013  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.add_lp_constraints_lazily)
3014  return add_lp_constraints_lazily_;
3016 inline void SatParameters::set_add_lp_constraints_lazily(bool value) {
3017  _has_bits_[3] |= 0x00000020u;
3018  add_lp_constraints_lazily_ = value;
3019  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.add_lp_constraints_lazily)
3020 }
3021 
3022 // optional double min_orthogonality_for_lp_constraints = 115 [default = 0];
3024  return (_has_bits_[1] & 0x00000010u) != 0;
3025 }
3027  min_orthogonality_for_lp_constraints_ = 0;
3028  _has_bits_[1] &= ~0x00000010u;
3031  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.min_orthogonality_for_lp_constraints)
3032  return min_orthogonality_for_lp_constraints_;
3035  _has_bits_[1] |= 0x00000010u;
3036  min_orthogonality_for_lp_constraints_ = value;
3037  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.min_orthogonality_for_lp_constraints)
3038 }
3039 
3040 // optional int64 max_inactive_count = 121 [default = 1000];
3041 inline bool SatParameters::has_max_inactive_count() const {
3042  return (_has_bits_[3] & 0x00000100u) != 0;
3043 }
3045  max_inactive_count_ = PROTOBUF_LONGLONG(1000);
3046  _has_bits_[3] &= ~0x00000100u;
3048 inline ::google::protobuf::int64 SatParameters::max_inactive_count() const {
3049  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.max_inactive_count)
3050  return max_inactive_count_;
3052 inline void SatParameters::set_max_inactive_count(::google::protobuf::int64 value) {
3053  _has_bits_[3] |= 0x00000100u;
3054  max_inactive_count_ = value;
3055  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.max_inactive_count)
3056 }
3057 
3058 // optional int64 constraint_removal_batch_size = 122 [default = 100];
3060  return (_has_bits_[3] & 0x00000200u) != 0;
3061 }
3063  constraint_removal_batch_size_ = PROTOBUF_LONGLONG(100);
3064  _has_bits_[3] &= ~0x00000200u;
3066 inline ::google::protobuf::int64 SatParameters::constraint_removal_batch_size() const {
3067  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.constraint_removal_batch_size)
3068  return constraint_removal_batch_size_;
3070 inline void SatParameters::set_constraint_removal_batch_size(::google::protobuf::int64 value) {
3071  _has_bits_[3] |= 0x00000200u;
3072  constraint_removal_batch_size_ = value;
3073  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.constraint_removal_batch_size)
3074 }
3075 
3076 // optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTOMATIC_SEARCH];
3077 inline bool SatParameters::has_search_branching() const {
3078  return (_has_bits_[0] & 0x00020000u) != 0;
3079 }
3081  search_branching_ = 0;
3082  _has_bits_[0] &= ~0x00020000u;
3085  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.search_branching)
3086  return static_cast< ::operations_research::sat::SatParameters_SearchBranching >(search_branching_);
3090  _has_bits_[0] |= 0x00020000u;
3091  search_branching_ = value;
3092  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.search_branching)
3093 }
3094 
3095 // optional bool exploit_integer_lp_solution = 94 [default = true];
3097  return (_has_bits_[3] & 0x00000040u) != 0;
3098 }
3100  exploit_integer_lp_solution_ = true;
3101  _has_bits_[3] &= ~0x00000040u;
3103 inline bool SatParameters::exploit_integer_lp_solution() const {
3104  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_integer_lp_solution)
3105  return exploit_integer_lp_solution_;
3107 inline void SatParameters::set_exploit_integer_lp_solution(bool value) {
3108  _has_bits_[3] |= 0x00000040u;
3109  exploit_integer_lp_solution_ = value;
3110  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_integer_lp_solution)
3111 }
3112 
3113 // optional bool exploit_all_lp_solution = 116 [default = true];
3114 inline bool SatParameters::has_exploit_all_lp_solution() const {
3115  return (_has_bits_[2] & 0x00800000u) != 0;
3116 }
3118  exploit_all_lp_solution_ = true;
3119  _has_bits_[2] &= ~0x00800000u;
3121 inline bool SatParameters::exploit_all_lp_solution() const {
3122  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_all_lp_solution)
3123  return exploit_all_lp_solution_;
3125 inline void SatParameters::set_exploit_all_lp_solution(bool value) {
3126  _has_bits_[2] |= 0x00800000u;
3127  exploit_all_lp_solution_ = value;
3128  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_all_lp_solution)
3129 }
3130 
3131 // optional bool exploit_best_solution = 130 [default = false];
3132 inline bool SatParameters::has_exploit_best_solution() const {
3133  return (_has_bits_[0] & 0x00080000u) != 0;
3134 }
3136  exploit_best_solution_ = false;
3137  _has_bits_[0] &= ~0x00080000u;
3139 inline bool SatParameters::exploit_best_solution() const {
3140  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_best_solution)
3141  return exploit_best_solution_;
3143 inline void SatParameters::set_exploit_best_solution(bool value) {
3144  _has_bits_[0] |= 0x00080000u;
3145  exploit_best_solution_ = value;
3146  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_best_solution)
3147 }
3148 
3149 // optional bool exploit_objective = 131 [default = true];
3150 inline bool SatParameters::has_exploit_objective() const {
3151  return (_has_bits_[2] & 0x01000000u) != 0;
3152 }
3154  exploit_objective_ = true;
3155  _has_bits_[2] &= ~0x01000000u;
3157 inline bool SatParameters::exploit_objective() const {
3158  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.exploit_objective)
3159  return exploit_objective_;
3161 inline void SatParameters::set_exploit_objective(bool value) {
3162  _has_bits_[2] |= 0x01000000u;
3163  exploit_objective_ = value;
3164  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.exploit_objective)
3165 }
3166 
3167 // optional int64 pseudo_cost_reliability_threshold = 123 [default = 100];
3169  return (_has_bits_[3] & 0x00000400u) != 0;
3170 }
3172  pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
3173  _has_bits_[3] &= ~0x00000400u;
3175 inline ::google::protobuf::int64 SatParameters::pseudo_cost_reliability_threshold() const {
3176  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.pseudo_cost_reliability_threshold)
3177  return pseudo_cost_reliability_threshold_;
3179 inline void SatParameters::set_pseudo_cost_reliability_threshold(::google::protobuf::int64 value) {
3180  _has_bits_[3] |= 0x00000400u;
3181  pseudo_cost_reliability_threshold_ = value;
3182  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.pseudo_cost_reliability_threshold)
3183 }
3184 
3185 // optional bool optimize_with_core = 83 [default = false];
3186 inline bool SatParameters::has_optimize_with_core() const {
3187  return (_has_bits_[0] & 0x00100000u) != 0;
3188 }
3190  optimize_with_core_ = false;
3191  _has_bits_[0] &= ~0x00100000u;
3193 inline bool SatParameters::optimize_with_core() const {
3194  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.optimize_with_core)
3195  return optimize_with_core_;
3197 inline void SatParameters::set_optimize_with_core(bool value) {
3198  _has_bits_[0] |= 0x00100000u;
3199  optimize_with_core_ = value;
3200  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.optimize_with_core)
3201 }
3202 
3203 // optional int32 binary_search_num_conflicts = 99 [default = -1];
3205  return (_has_bits_[2] & 0x00200000u) != 0;
3206 }
3208  binary_search_num_conflicts_ = -1;
3209  _has_bits_[2] &= ~0x00200000u;
3211 inline ::google::protobuf::int32 SatParameters::binary_search_num_conflicts() const {
3212  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.binary_search_num_conflicts)
3213  return binary_search_num_conflicts_;
3215 inline void SatParameters::set_binary_search_num_conflicts(::google::protobuf::int32 value) {
3216  _has_bits_[2] |= 0x00200000u;
3217  binary_search_num_conflicts_ = value;
3218  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.binary_search_num_conflicts)
3219 }
3220 
3221 // optional bool optimize_with_max_hs = 85 [default = false];
3222 inline bool SatParameters::has_optimize_with_max_hs() const {
3223  return (_has_bits_[0] & 0x00200000u) != 0;
3224 }
3226  optimize_with_max_hs_ = false;
3227  _has_bits_[0] &= ~0x00200000u;
3229 inline bool SatParameters::optimize_with_max_hs() const {
3230  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.optimize_with_max_hs)
3231  return optimize_with_max_hs_;
3233 inline void SatParameters::set_optimize_with_max_hs(bool value) {
3234  _has_bits_[0] |= 0x00200000u;
3235  optimize_with_max_hs_ = value;
3236  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.optimize_with_max_hs)
3237 }
3238 
3239 // optional bool cp_model_presolve = 86 [default = true];
3240 inline bool SatParameters::has_cp_model_presolve() const {
3241  return (_has_bits_[2] & 0x02000000u) != 0;
3242 }
3244  cp_model_presolve_ = true;
3245  _has_bits_[2] &= ~0x02000000u;
3247 inline bool SatParameters::cp_model_presolve() const {
3248  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_presolve)
3249  return cp_model_presolve_;
3251 inline void SatParameters::set_cp_model_presolve(bool value) {
3252  _has_bits_[2] |= 0x02000000u;
3253  cp_model_presolve_ = value;
3254  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_presolve)
3255 }
3256 
3257 // optional int32 cp_model_probing_level = 110 [default = 2];
3258 inline bool SatParameters::has_cp_model_probing_level() const {
3259  return (_has_bits_[3] & 0x00000004u) != 0;
3260 }
3262  cp_model_probing_level_ = 2;
3263  _has_bits_[3] &= ~0x00000004u;
3265 inline ::google::protobuf::int32 SatParameters::cp_model_probing_level() const {
3266  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_probing_level)
3267  return cp_model_probing_level_;
3269 inline void SatParameters::set_cp_model_probing_level(::google::protobuf::int32 value) {
3270  _has_bits_[3] |= 0x00000004u;
3271  cp_model_probing_level_ = value;
3272  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_probing_level)
3273 }
3274 
3275 // optional bool cp_model_use_sat_presolve = 93 [default = true];
3277  return (_has_bits_[2] & 0x04000000u) != 0;
3278 }
3280  cp_model_use_sat_presolve_ = true;
3281  _has_bits_[2] &= ~0x04000000u;
3283 inline bool SatParameters::cp_model_use_sat_presolve() const {
3284  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.cp_model_use_sat_presolve)
3285  return cp_model_use_sat_presolve_;
3287 inline void SatParameters::set_cp_model_use_sat_presolve(bool value) {
3288  _has_bits_[2] |= 0x04000000u;
3289  cp_model_use_sat_presolve_ = value;
3290  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.cp_model_use_sat_presolve)
3291 }
3292 
3293 // optional bool enumerate_all_solutions = 87 [default = false];
3294 inline bool SatParameters::has_enumerate_all_solutions() const {
3295  return (_has_bits_[0] & 0x00400000u) != 0;
3296 }
3298  enumerate_all_solutions_ = false;
3299  _has_bits_[0] &= ~0x00400000u;
3301 inline bool SatParameters::enumerate_all_solutions() const {
3302  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.enumerate_all_solutions)
3303  return enumerate_all_solutions_;
3305 inline void SatParameters::set_enumerate_all_solutions(bool value) {
3306  _has_bits_[0] |= 0x00400000u;
3307  enumerate_all_solutions_ = value;
3308  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.enumerate_all_solutions)
3309 }
3310 
3311 // optional bool fill_tightened_domains_in_response = 132 [default = false];
3313  return (_has_bits_[0] & 0x20000000u) != 0;
3314 }
3316  fill_tightened_domains_in_response_ = false;
3317  _has_bits_[0] &= ~0x20000000u;
3320  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.fill_tightened_domains_in_response)
3321  return fill_tightened_domains_in_response_;
3324  _has_bits_[0] |= 0x20000000u;
3325  fill_tightened_domains_in_response_ = value;
3326  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.fill_tightened_domains_in_response)
3327 }
3328 
3329 // optional bool instantiate_all_variables = 106 [default = true];
3331  return (_has_bits_[2] & 0x10000000u) != 0;
3332 }
3334  instantiate_all_variables_ = true;
3335  _has_bits_[2] &= ~0x10000000u;
3337 inline bool SatParameters::instantiate_all_variables() const {
3338  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.instantiate_all_variables)
3339  return instantiate_all_variables_;
3341 inline void SatParameters::set_instantiate_all_variables(bool value) {
3342  _has_bits_[2] |= 0x10000000u;
3343  instantiate_all_variables_ = value;
3344  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.instantiate_all_variables)
3345 }
3346 
3347 // optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
3349  return (_has_bits_[2] & 0x20000000u) != 0;
3350 }
3352  auto_detect_greater_than_at_least_one_of_ = true;
3353  _has_bits_[2] &= ~0x20000000u;
3356  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.auto_detect_greater_than_at_least_one_of)
3357  return auto_detect_greater_than_at_least_one_of_;
3360  _has_bits_[2] |= 0x20000000u;
3361  auto_detect_greater_than_at_least_one_of_ = value;
3362  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.auto_detect_greater_than_at_least_one_of)
3363 }
3364 
3365 // optional bool stop_after_first_solution = 98 [default = false];
3367  return (_has_bits_[0] & 0x40000000u) != 0;
3368 }
3370  stop_after_first_solution_ = false;
3371  _has_bits_[0] &= ~0x40000000u;
3373 inline bool SatParameters::stop_after_first_solution() const {
3374  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.stop_after_first_solution)
3375  return stop_after_first_solution_;
3377 inline void SatParameters::set_stop_after_first_solution(bool value) {
3378  _has_bits_[0] |= 0x40000000u;
3379  stop_after_first_solution_ = value;
3380  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.stop_after_first_solution)
3381 }
3382 
3383 // optional int32 num_search_workers = 100 [default = 0];
3384 inline bool SatParameters::has_num_search_workers() const {
3385  return (_has_bits_[0] & 0x10000000u) != 0;
3386 }
3388  num_search_workers_ = 0;
3389  _has_bits_[0] &= ~0x10000000u;
3391 inline ::google::protobuf::int32 SatParameters::num_search_workers() const {
3392  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.num_search_workers)
3393  return num_search_workers_;
3395 inline void SatParameters::set_num_search_workers(::google::protobuf::int32 value) {
3396  _has_bits_[0] |= 0x10000000u;
3397  num_search_workers_ = value;
3398  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.num_search_workers)
3399 }
3400 
3401 // optional bool share_objective_bounds = 113 [default = true];
3402 inline bool SatParameters::has_share_objective_bounds() const {
3403  return (_has_bits_[2] & 0x40000000u) != 0;
3404 }
3406  share_objective_bounds_ = true;
3407  _has_bits_[2] &= ~0x40000000u;
3409 inline bool SatParameters::share_objective_bounds() const {
3410  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.share_objective_bounds)
3411  return share_objective_bounds_;
3413 inline void SatParameters::set_share_objective_bounds(bool value) {
3414  _has_bits_[2] |= 0x40000000u;
3415  share_objective_bounds_ = value;
3416  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.share_objective_bounds)
3417 }
3418 
3419 // optional bool share_level_zero_bounds = 114 [default = true];
3420 inline bool SatParameters::has_share_level_zero_bounds() const {
3421  return (_has_bits_[2] & 0x80000000u) != 0;
3422 }
3424  share_level_zero_bounds_ = true;
3425  _has_bits_[2] &= ~0x80000000u;
3427 inline bool SatParameters::share_level_zero_bounds() const {
3428  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.share_level_zero_bounds)
3429  return share_level_zero_bounds_;
3431 inline void SatParameters::set_share_level_zero_bounds(bool value) {
3432  _has_bits_[2] |= 0x80000000u;
3433  share_level_zero_bounds_ = value;
3434  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.share_level_zero_bounds)
3435 }
3436 
3437 // optional bool use_lns = 101 [default = false];
3438 inline bool SatParameters::has_use_lns() const {
3439  return (_has_bits_[0] & 0x80000000u) != 0;
3440 }
3442  use_lns_ = false;
3443  _has_bits_[0] &= ~0x80000000u;
3445 inline bool SatParameters::use_lns() const {
3446  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_lns)
3447  return use_lns_;
3449 inline void SatParameters::set_use_lns(bool value) {
3450  _has_bits_[0] |= 0x80000000u;
3451  use_lns_ = value;
3452  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_lns)
3453 }
3454 
3455 // optional int32 lns_num_threads = 102 [default = 1];
3456 inline bool SatParameters::has_lns_num_threads() const {
3457  return (_has_bits_[2] & 0x00400000u) != 0;
3458 }
3460  lns_num_threads_ = 1;
3461  _has_bits_[2] &= ~0x00400000u;
3463 inline ::google::protobuf::int32 SatParameters::lns_num_threads() const {
3464  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.lns_num_threads)
3465  return lns_num_threads_;
3467 inline void SatParameters::set_lns_num_threads(::google::protobuf::int32 value) {
3468  _has_bits_[2] |= 0x00400000u;
3469  lns_num_threads_ = value;
3470  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.lns_num_threads)
3471 }
3472 
3473 // optional bool lns_focus_on_decision_variables = 105 [default = false];
3475  return (_has_bits_[1] & 0x00000001u) != 0;
3476 }
3478  lns_focus_on_decision_variables_ = false;
3479  _has_bits_[1] &= ~0x00000001u;
3482  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.lns_focus_on_decision_variables)
3483  return lns_focus_on_decision_variables_;
3486  _has_bits_[1] |= 0x00000001u;
3487  lns_focus_on_decision_variables_ = value;
3488  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.lns_focus_on_decision_variables)
3489 }
3490 
3491 // optional bool use_rins_lns = 129 [default = false];
3492 inline bool SatParameters::has_use_rins_lns() const {
3493  return (_has_bits_[1] & 0x00000002u) != 0;
3494 }
3496  use_rins_lns_ = false;
3497  _has_bits_[1] &= ~0x00000002u;
3499 inline bool SatParameters::use_rins_lns() const {
3500  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_rins_lns)
3501  return use_rins_lns_;
3503 inline void SatParameters::set_use_rins_lns(bool value) {
3504  _has_bits_[1] |= 0x00000002u;
3505  use_rins_lns_ = value;
3506  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_rins_lns)
3507 }
3508 
3509 // optional bool randomize_search = 103 [default = false];
3510 inline bool SatParameters::has_randomize_search() const {
3511  return (_has_bits_[1] & 0x00000004u) != 0;
3512 }
3514  randomize_search_ = false;
3515  _has_bits_[1] &= ~0x00000004u;
3517 inline bool SatParameters::randomize_search() const {
3518  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.randomize_search)
3519  return randomize_search_;
3521 inline void SatParameters::set_randomize_search(bool value) {
3522  _has_bits_[1] |= 0x00000004u;
3523  randomize_search_ = value;
3524  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.randomize_search)
3525 }
3526 
3527 // optional int64 search_randomization_tolerance = 104 [default = 0];
3529  return (_has_bits_[0] & 0x08000000u) != 0;
3530 }
3532  search_randomization_tolerance_ = PROTOBUF_LONGLONG(0);
3533  _has_bits_[0] &= ~0x08000000u;
3535 inline ::google::protobuf::int64 SatParameters::search_randomization_tolerance() const {
3536  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.search_randomization_tolerance)
3537  return search_randomization_tolerance_;
3539 inline void SatParameters::set_search_randomization_tolerance(::google::protobuf::int64 value) {
3540  _has_bits_[0] |= 0x08000000u;
3541  search_randomization_tolerance_ = value;
3542  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.search_randomization_tolerance)
3543 }
3544 
3545 // optional bool use_optional_variables = 108 [default = true];
3546 inline bool SatParameters::has_use_optional_variables() const {
3547  return (_has_bits_[3] & 0x00000001u) != 0;
3548 }
3550  use_optional_variables_ = true;
3551  _has_bits_[3] &= ~0x00000001u;
3553 inline bool SatParameters::use_optional_variables() const {
3554  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_optional_variables)
3555  return use_optional_variables_;
3557 inline void SatParameters::set_use_optional_variables(bool value) {
3558  _has_bits_[3] |= 0x00000001u;
3559  use_optional_variables_ = value;
3560  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_optional_variables)
3561 }
3562 
3563 // optional bool use_exact_lp_reason = 109 [default = true];
3564 inline bool SatParameters::has_use_exact_lp_reason() const {
3565  return (_has_bits_[3] & 0x00000002u) != 0;
3566 }
3568  use_exact_lp_reason_ = true;
3569  _has_bits_[3] &= ~0x00000002u;
3571 inline bool SatParameters::use_exact_lp_reason() const {
3572  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_exact_lp_reason)
3573  return use_exact_lp_reason_;
3575 inline void SatParameters::set_use_exact_lp_reason(bool value) {
3576  _has_bits_[3] |= 0x00000002u;
3577  use_exact_lp_reason_ = value;
3578  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_exact_lp_reason)
3579 }
3580 
3581 // optional bool use_combined_no_overlap = 133 [default = false];
3582 inline bool SatParameters::has_use_combined_no_overlap() const {
3583  return (_has_bits_[1] & 0x00000008u) != 0;
3584 }
3586  use_combined_no_overlap_ = false;
3587  _has_bits_[1] &= ~0x00000008u;
3589 inline bool SatParameters::use_combined_no_overlap() const {
3590  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.use_combined_no_overlap)
3591  return use_combined_no_overlap_;
3593 inline void SatParameters::set_use_combined_no_overlap(bool value) {
3594  _has_bits_[1] |= 0x00000008u;
3595  use_combined_no_overlap_ = value;
3596  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.use_combined_no_overlap)
3597 }
3598 
3599 // optional double mip_max_bound = 124 [default = 10000000];
3600 inline bool SatParameters::has_mip_max_bound() const {
3601  return (_has_bits_[3] & 0x00000800u) != 0;
3602 }
3604  mip_max_bound_ = 10000000;
3605  _has_bits_[3] &= ~0x00000800u;
3607 inline double SatParameters::mip_max_bound() const {
3608  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_max_bound)
3609  return mip_max_bound_;
3611 inline void SatParameters::set_mip_max_bound(double value) {
3612  _has_bits_[3] |= 0x00000800u;
3613  mip_max_bound_ = value;
3614  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_max_bound)
3615 }
3616 
3617 // optional double mip_var_scaling = 125 [default = 1];
3618 inline bool SatParameters::has_mip_var_scaling() const {
3619  return (_has_bits_[3] & 0x00001000u) != 0;
3620 }
3622  mip_var_scaling_ = 1;
3623  _has_bits_[3] &= ~0x00001000u;
3625 inline double SatParameters::mip_var_scaling() const {
3626  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_var_scaling)
3627  return mip_var_scaling_;
3629 inline void SatParameters::set_mip_var_scaling(double value) {
3630  _has_bits_[3] |= 0x00001000u;
3631  mip_var_scaling_ = value;
3632  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_var_scaling)
3633 }
3634 
3635 // optional double mip_wanted_precision = 126 [default = 1e-06];
3636 inline bool SatParameters::has_mip_wanted_precision() const {
3637  return (_has_bits_[3] & 0x00002000u) != 0;
3638 }
3640  mip_wanted_precision_ = 1e-06;
3641  _has_bits_[3] &= ~0x00002000u;
3643 inline double SatParameters::mip_wanted_precision() const {
3644  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_wanted_precision)
3645  return mip_wanted_precision_;
3647 inline void SatParameters::set_mip_wanted_precision(double value) {
3648  _has_bits_[3] |= 0x00002000u;
3649  mip_wanted_precision_ = value;
3650  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_wanted_precision)
3651 }
3652 
3653 // optional int32 mip_max_activity_exponent = 127 [default = 53];
3655  return (_has_bits_[1] & 0x00000020u) != 0;
3656 }
3658  mip_max_activity_exponent_ = 53;
3659  _has_bits_[1] &= ~0x00000020u;
3661 inline ::google::protobuf::int32 SatParameters::mip_max_activity_exponent() const {
3662  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_max_activity_exponent)
3663  return mip_max_activity_exponent_;
3665 inline void SatParameters::set_mip_max_activity_exponent(::google::protobuf::int32 value) {
3666  _has_bits_[1] |= 0x00000020u;
3667  mip_max_activity_exponent_ = value;
3668  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_max_activity_exponent)
3669 }
3670 
3671 // optional double mip_check_precision = 128 [default = 0.0001];
3672 inline bool SatParameters::has_mip_check_precision() const {
3673  return (_has_bits_[3] & 0x00004000u) != 0;
3674 }
3676  mip_check_precision_ = 0.0001;
3677  _has_bits_[3] &= ~0x00004000u;
3679 inline double SatParameters::mip_check_precision() const {
3680  // @@protoc_insertion_point(field_get:operations_research.sat.SatParameters.mip_check_precision)
3681  return mip_check_precision_;
3683 inline void SatParameters::set_mip_check_precision(double value) {
3684  _has_bits_[3] |= 0x00004000u;
3685  mip_check_precision_ = value;
3686  // @@protoc_insertion_point(field_set:operations_research.sat.SatParameters.mip_check_precision)
3687 }
3688 
3689 #ifdef __GNUC__
3690  #pragma GCC diagnostic pop
3691 #endif // __GNUC__
3692 
3693 // @@protoc_insertion_point(namespace_scope)
3694 
3695 } // namespace sat
3696 } // namespace operations_research
3697 
3698 namespace google {
3699 namespace protobuf {
3700 
3701 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_VariableOrder> : ::std::true_type {};
3702 template <>
3703 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_VariableOrder>() {
3705 }
3706 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_Polarity> : ::std::true_type {};
3707 template <>
3708 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_Polarity>() {
3710 }
3711 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm> : ::std::true_type {};
3712 template <>
3713 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm>() {
3715 }
3716 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm> : ::std::true_type {};
3717 template <>
3718 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_BinaryMinizationAlgorithm>() {
3720 }
3721 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ClauseProtection> : ::std::true_type {};
3722 template <>
3723 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ClauseProtection>() {
3725 }
3726 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_ClauseOrdering> : ::std::true_type {};
3727 template <>
3728 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_ClauseOrdering>() {
3730 }
3731 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_RestartAlgorithm> : ::std::true_type {};
3732 template <>
3733 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_RestartAlgorithm>() {
3735 }
3736 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder> : ::std::true_type {};
3737 template <>
3738 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_MaxSatAssumptionOrder>() {
3740 }
3741 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm> : ::std::true_type {};
3742 template <>
3743 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm>() {
3745 }
3746 template <> struct is_proto_enum< ::operations_research::sat::SatParameters_SearchBranching> : ::std::true_type {};
3747 template <>
3748 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::SatParameters_SearchBranching>() {
3750 }
3752 } // namespace protobuf
3753 } // namespace google
3754 
3755 // @@protoc_insertion_point(global_scope)
3756 
3757 #include <google/protobuf/port_undef.inc>
3758 #endif // 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 -------------------------------------------—
void set_boolean_encoding_level(::google::protobuf::int32 value)
bool has_find_multiple_cores() const
optional bool find_multiple_cores = 84 [default = true];
::google::protobuf::int32 minimize_with_propagation_num_decisions() const
static const MaxSatStratificationAlgorithm STRATIFICATION_DESCENT
const SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MIN
void set_mip_max_activity_exponent(::google::protobuf::int32 value)
void set_min_orthogonality_for_lp_constraints(double value)
bool SatParameters_MaxSatAssumptionOrder_Parse(const ::std::string &name, SatParameters_MaxSatAssumptionOrder *value)
bool has_add_mir_cuts() const
optional bool add_mir_cuts = 120 [default = true];
void set_clause_cleanup_ordering(::operations_research::sat::SatParameters_ClauseOrdering value)
static const ::google::protobuf::EnumDescriptor * ClauseOrdering_descriptor()
::google::protobuf::int32 presolve_bve_threshold() const
::google::protobuf::int32 mip_max_activity_exponent() const
::google::protobuf::Metadata GetMetadata() const final
bool has_max_deterministic_time() const
optional double max_deterministic_time = 67 [default = inf];
const ::std::string & SatParameters_BinaryMinizationAlgorithm_Name(SatParameters_BinaryMinizationAlgorithm value)
const SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MAX
bool SatParameters_RestartAlgorithm_Parse(const ::std::string &name, SatParameters_RestartAlgorithm *value)
void set_clause_cleanup_period(::google::protobuf::int32 value)
const ::google::protobuf::EnumDescriptor * SatParameters_VariableOrder_descriptor()
::operations_research::sat::SatParameters_BinaryMinizationAlgorithm binary_minimization_algorithm() const
const ::std::string & SatParameters_ConflictMinimizationAlgorithm_Name(SatParameters_ConflictMinimizationAlgorithm value)
static const MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_DEPTH
void set_restart_algorithms(int index, ::operations_research::sat::SatParameters_RestartAlgorithm value)
static const BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
bool has_clause_cleanup_lbd_bound() const
optional int32 clause_cleanup_lbd_bound = 59 [default = 5];
static const MaxSatAssumptionOrder MaxSatAssumptionOrder_MIN
::google::protobuf::int64 max_number_of_conflicts() const
bool has_use_rins_lns() const
optional bool use_rins_lns = 129 [default = false];
static const ::google::protobuf::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
bool has_exploit_all_lp_solution() const
optional bool exploit_all_lp_solution = 116 [default = true];
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];
void set_linearization_level(::google::protobuf::int32 value)
bool has_initial_polarity() const
optional .operations_research.sat.SatParameters.Polarity initial_polarity = 2 [default = POLARITY_FAL...
void set_restart_period(::google::protobuf::int32 value)
static bool MaxSatStratificationAlgorithm_IsValid(int value)
::google::protobuf::int32 presolve_bve_clause_weight() const
static const ::google::protobuf::internal::FieldMetadata field_metadata[]
const int SatParameters_RestartAlgorithm_RestartAlgorithm_ARRAYSIZE
bool has_boolean_encoding_level() const
optional int32 boolean_encoding_level = 107 [default = 1];
const ::google::protobuf::EnumDescriptor * SatParameters_RestartAlgorithm_descriptor()
bool SatParameters_SearchBranching_IsValid(int value)
::operations_research::sat::SatParameters_MaxSatAssumptionOrder max_sat_assumption_order() const
bool has_clause_cleanup_protection() const
optional .operations_research.sat.SatParameters.ClauseProtection clause_cleanup_protection = 58 [defa...
void CopyFrom(const ::google::protobuf::Message &from) final
static const ::std::string & BinaryMinizationAlgorithm_Name(BinaryMinizationAlgorithm value)
const SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MIN
bool has_pb_cleanup_ratio() const
optional double pb_cleanup_ratio = 47 [default = 0.5];
bool has_cp_model_probing_level() const
optional int32 cp_model_probing_level = 110 [default = 2];
static const ClauseProtection ClauseProtection_MAX
::google::protobuf::int32 minimize_with_propagation_restart_period() const
const ::google::protobuf::EnumDescriptor * SatParameters_MaxSatStratificationAlgorithm_descriptor()
void set_also_bump_variables_in_conflict_reasons(bool value)
static const int kAlsoBumpVariablesInConflictReasonsFieldNumber
static const RestartAlgorithm RestartAlgorithm_MIN
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];
::google::protobuf::int64 constraint_removal_batch_size() const
static const ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MIN
static const int kFillTightenedDomainsInResponseFieldNumber
void set_binary_minimization_algorithm(::operations_research::sat::SatParameters_BinaryMinizationAlgorithm value)
bool SatParameters_Polarity_Parse(const ::std::string &name, SatParameters_Polarity *value)
::google::protobuf::int32 linearization_level() const
void set_num_search_workers(::google::protobuf::int32 value)
const int SatParameters_Polarity_Polarity_ARRAYSIZE
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 Swap(SatParameters *other)
void set_allocated_default_restart_algorithms(::std::string *default_restart_algorithms)
static const SearchBranching PORTFOLIO_SEARCH
bool has_preferred_variable_order() const
optional .operations_research.sat.SatParameters.VariableOrder preferred_variable_order = 1 [default =...
void set_use_overload_checker_in_cumulative_constraint(bool value)
bool has_use_optional_variables() const
optional bool use_optional_variables = 108 [default = true];
inline ::google::protobuf::UnknownFieldSet * mutable_unknown_fields()
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];
static const ::google::protobuf::uint32 offsets[]
static const MaxSatAssumptionOrder MaxSatAssumptionOrder_MAX
const SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MAX
static const ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MAX
const ::std::string & SatParameters_Polarity_Name(SatParameters_Polarity value)
bool has_also_bump_variables_in_conflict_reasons() const
optional bool also_bump_variables_in_conflict_reasons = 77 [default = false];
void set_clause_cleanup_protection(::operations_research::sat::SatParameters_ClauseProtection value)
static const SearchBranching LP_SEARCH
const SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MIN
static const ClauseProtection PROTECTION_ALWAYS
const ::std::string & SatParameters_VariableOrder_Name(SatParameters_VariableOrder value)
bool SatParameters_ClauseOrdering_Parse(const ::std::string &name, SatParameters_ClauseOrdering *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];
const ::std::string & SatParameters_MaxSatStratificationAlgorithm_Name(SatParameters_MaxSatStratificationAlgorithm value)
::operations_research::sat::SatParameters_ClauseOrdering clause_cleanup_ordering() const
bool SatParameters_BinaryMinizationAlgorithm_IsValid(int value)
static const ::std::string & ConflictMinimizationAlgorithm_Name(ConflictMinimizationAlgorithm value)
static const int kMinimizeReductionDuringPbResolutionFieldNumber
void set_presolve_bve_clause_weight(::google::protobuf::int32 value)
static bool RestartAlgorithm_IsValid(int value)
static const ::std::string & RestartAlgorithm_Name(RestartAlgorithm value)
bool has_glucose_decay_increment_period() const
optional int32 glucose_decay_increment_period = 24 [default = 5000];
static const VariableOrder IN_REVERSE_ORDER
bool has_auto_detect_greater_than_at_least_one_of() const
optional bool auto_detect_greater_than_at_least_one_of = 95 [default = true];
bool has_max_clause_activity_value() const
optional double max_clause_activity_value = 18 [default = 1e+20];
void set_max_sat_assumption_order(::operations_research::sat::SatParameters_MaxSatAssumptionOrder value)
const ::google::protobuf::EnumDescriptor * SatParameters_MaxSatAssumptionOrder_descriptor()
const ::google::protobuf::EnumDescriptor * SatParameters_BinaryMinizationAlgorithm_descriptor()
::google::protobuf::int64 search_randomization_tolerance() const
static bool ClauseProtection_IsValid(int value)
bool has_count_assumption_levels_in_lbd() const
optional bool count_assumption_levels_in_lbd = 49 [default = true];
static const SearchBranching PSEUDO_COST_SEARCH
const SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MIN
void AddDescriptors_ortools_2fsat_2fsat_5fparameters_2eproto()
bool has_restart_lbd_average_ratio() const
optional double restart_lbd_average_ratio = 71 [default = 1];
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];
static bool ClauseProtection_Parse(const ::std::string &name, ClauseProtection *value)
void set_max_sat_stratification(::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm value)
void set_minimize_with_propagation_restart_period(::google::protobuf::int32 value)
::google::protobuf::int64 max_memory_in_mb() const
const SatParameters_ClauseProtection SatParameters_ClauseProtection_ClauseProtection_MIN
static const int kUseOverloadCheckerInCumulativeConstraintFieldNumber
static bool SearchBranching_IsValid(int value)
bool has_add_knapsack_cuts() const
optional bool add_knapsack_cuts = 111 [default = false];
static const BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MIN
static const SearchBranching SearchBranching_MIN
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 ...
::google::protobuf::int32 presolve_bva_threshold() const
::operations_research::sat::SatParameters_ClauseProtection clause_cleanup_protection() const
const int SatParameters_SearchBranching_SearchBranching_ARRAYSIZE
::google::protobuf::int32 lns_num_threads() const
static bool MaxSatStratificationAlgorithm_Parse(const ::std::string &name, MaxSatStratificationAlgorithm *value)
void set_clause_cleanup_target(::google::protobuf::int32 value)
SatParameters_BinaryMinizationAlgorithm BinaryMinizationAlgorithm
bool has_exploit_objective() const
optional bool exploit_objective = 131 [default = true];
bool has_presolve_bva_threshold() const
optional int32 presolve_bva_threshold = 73 [default = 1];
void set_use_precedences_in_disjunctive_constraint(bool value)
static const BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MAX
::google::protobuf::int64 pseudo_cost_reliability_threshold() const
bool has_random_branches_ratio() const
optional double random_branches_ratio = 32 [default = 0];
bool has_use_disjunctive_constraint_in_cumulative_constraint() const
optional bool use_disjunctive_constraint_in_cumulative_constraint = 80 [default = true];
::google::protobuf::int32 boolean_encoding_level() const
void MergeFrom(const ::google::protobuf::Message &from) final
bool has_cp_model_use_sat_presolve() const
optional bool cp_model_use_sat_presolve = 93 [default = true];
bool SatParameters_ClauseProtection_Parse(const ::std::string &name, SatParameters_ClauseProtection *value)
const int SatParameters_ClauseProtection_ClauseProtection_ARRAYSIZE
SatParameters_MaxSatAssumptionOrder MaxSatAssumptionOrder
void add_restart_algorithms(::operations_research::sat::SatParameters_RestartAlgorithm value)
bool SatParameters_VariableOrder_IsValid(int value)
bool has_binary_search_num_conflicts() const
optional int32 binary_search_num_conflicts = 99 [default = -1];
void set_blocking_restart_window_size(::google::protobuf::int32 value)
SatParameters_ClauseOrdering ClauseOrdering
static const int kNumConflictsBeforeStrategyChangesFieldNumber
static const MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MIN
bool has_variable_activity_decay() const
optional double variable_activity_decay = 15 [default = 0.8];
static const int kPresolveProbingDeterministicTimeLimitFieldNumber
const SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MIN
static const BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST
void set_lns_num_threads(::google::protobuf::int32 value)
static bool VariableOrder_Parse(const ::std::string &name, VariableOrder *value)
void set_random_seed(::google::protobuf::int32 value)
static const VariableOrder IN_RANDOM_ORDER
bool SatParameters_MaxSatStratificationAlgorithm_Parse(const ::std::string &name, SatParameters_MaxSatStratificationAlgorithm *value)
static const ConflictMinimizationAlgorithm NONE
static const MaxSatStratificationAlgorithm STRATIFICATION_ASCENT
static const ClauseProtection ClauseProtection_MIN
SatParametersDefaultTypeInternal _SatParameters_default_instance_
bool has_restart_period() const
optional int32 restart_period = 30 [default = 50];
const int SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_ARRAYSIZE
::google::protobuf::int32 clause_cleanup_period() const
static const int kMinimizeWithPropagationRestartPeriodFieldNumber
bool has_num_search_workers() const
optional int32 num_search_workers = 100 [default = 0];
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];
static const ::google::protobuf::EnumDescriptor * VariableOrder_descriptor()
const ::google::protobuf::EnumDescriptor * SatParameters_Polarity_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 SearchBranching PORTFOLIO_WITH_QUICK_RESTART_SEARCH
static const RestartAlgorithm DL_MOVING_AVERAGE_RESTART
const SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MAX
static bool BinaryMinizationAlgorithm_IsValid(int value)
::operations_research::sat::SatParameters_Polarity initial_polarity() const
bool SatParameters_ConflictMinimizationAlgorithm_Parse(const ::std::string &name, SatParameters_ConflictMinimizationAlgorithm *value)
bool has_subsumption_during_conflict_analysis() const
optional bool subsumption_during_conflict_analysis = 56 [default = true];
void set_max_num_cuts(::google::protobuf::int32 value)
::google::protobuf::int32 num_conflicts_before_strategy_changes() const
void set_max_integer_rounding_scaling(::google::protobuf::int32 value)
bool has_use_phase_saving() const
optional bool use_phase_saving = 44 [default = true];
const SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MAX
static const ::google::protobuf::EnumDescriptor * ClauseProtection_descriptor()
::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm max_sat_stratification() const
const ::std::string & SatParameters_SearchBranching_Name(SatParameters_SearchBranching value)
static const ::google::protobuf::EnumDescriptor * ConflictMinimizationAlgorithm_descriptor()
const int SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_ARRAYSIZE
::google::protobuf::int32 num_search_workers() const
bool SatParameters_ClauseOrdering_IsValid(int value)
::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm minimization_algorithm() const
static const ::google::protobuf::internal::SerializationTable serialization_table[]
static bool ConflictMinimizationAlgorithm_Parse(const ::std::string &name, ConflictMinimizationAlgorithm *value)
bool has_presolve_use_bva() const
optional bool presolve_use_bva = 72 [default = true];
static const Polarity POLARITY_REVERSE_WEIGHTED_SIGN
const int SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_ARRAYSIZE
const SatParameters_Polarity SatParameters_Polarity_Polarity_MAX
static const ::std::string & SearchBranching_Name(SearchBranching value)
static const RestartAlgorithm LBD_MOVING_AVERAGE_RESTART
bool has_log_search_progress() const
optional bool log_search_progress = 41 [default = false];
static const ClauseOrdering ClauseOrdering_MAX
const ::google::protobuf::UnknownFieldSet & unknown_fields() const
static const SearchBranching FIXED_SEARCH
::google::protobuf::int32 binary_search_num_conflicts() const
bool has_minimize_with_propagation_num_decisions() const
optional int32 minimize_with_propagation_num_decisions = 97 [default = 1000];
void set_max_inactive_count(::google::protobuf::int64 value)
::google::protobuf::int32 blocking_restart_window_size() const
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 MaxSatStratificationAlgorithm STRATIFICATION_NONE
bool has_cp_model_presolve() const
optional bool cp_model_presolve = 86 [default = true];
void set_max_number_of_conflicts(::google::protobuf::int64 value)
void set_initial_polarity(::operations_research::sat::SatParameters_Polarity value)
bool has_random_seed() const
optional int32 random_seed = 31 [default = 1];
static const MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_WEIGHT
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 const ConflictMinimizationAlgorithm RECURSIVE
void set_auto_detect_greater_than_at_least_one_of(bool value)
void set_restart_running_window_size(::google::protobuf::int32 value)
bool SatParameters_ClauseProtection_IsValid(int value)
::google::protobuf::int32 max_integer_rounding_scaling() const
const SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MAX
static const ClauseProtection PROTECTION_NONE
bool has_cover_optimization() const
optional bool cover_optimization = 89 [default = true];
static const ::google::protobuf::EnumDescriptor * SearchBranching_descriptor()
::google::protobuf::int32 restart_period() const
static const BinaryMinizationAlgorithm NO_BINARY_MINIMIZATION
static const SatParameters * internal_default_instance()
::google::protobuf::int64 max_inactive_count() const
bool SatParameters_ConflictMinimizationAlgorithm_IsValid(int value)
bool has_glucose_decay_increment() const
optional double glucose_decay_increment = 23 [default = 0.01];
const ::google::protobuf::EnumDescriptor * SatParameters_SearchBranching_descriptor()
const SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MIN
static const ConflictMinimizationAlgorithm SIMPLE
bool has_use_pb_resolution() const
optional bool use_pb_resolution = 43 [default = false];
static const int kUseDisjunctiveConstraintInCumulativeConstraintFieldNumber
const SatParameters_Polarity SatParameters_Polarity_Polarity_MIN
bool has_strategy_change_increase_ratio() const
optional double strategy_change_increase_ratio = 69 [default = 0];
bool has_mip_max_activity_exponent() const
optional int32 mip_max_activity_exponent = 127 [default = 53];
static const ::std::string & VariableOrder_Name(VariableOrder value)
bool has_stop_after_first_solution() const
optional bool stop_after_first_solution = 98 [default = false];
static const RestartAlgorithm RestartAlgorithm_MAX
void set_binary_search_num_conflicts(::google::protobuf::int32 value)
static bool BinaryMinizationAlgorithm_Parse(const ::std::string &name, BinaryMinizationAlgorithm *value)
void set_max_memory_in_mb(::google::protobuf::int64 value)
const SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MAX
static const ::google::protobuf::EnumDescriptor * MaxSatAssumptionOrder_descriptor()
bool has_restart_dl_average_ratio() const
optional double restart_dl_average_ratio = 63 [default = 1];
bool has_use_lns() const
optional bool use_lns = 101 [default = false];
static const ClauseOrdering CLAUSE_LBD
bool has_max_sat_assumption_order() const
optional .operations_research.sat.SatParameters.MaxSatAssumptionOrder max_sat_assumption_order = 51 [...
bool has_blocking_restart_window_size() const
optional int32 blocking_restart_window_size = 65 [default = 5000];
::google::protobuf::int32 restart_running_window_size() const
::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 bool SearchBranching_Parse(const ::std::string &name, SearchBranching *value)
void set_num_conflicts_before_strategy_changes(::google::protobuf::int32 value)
const int SatParameters_ClauseOrdering_ClauseOrdering_ARRAYSIZE
static const ::google::protobuf::Descriptor * descriptor()
bool has_max_time_in_seconds() const
optional double max_time_in_seconds = 36 [default = inf];
const SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MIN
const ::std::string & SatParameters_RestartAlgorithm_Name(SatParameters_RestartAlgorithm value)
static const RestartAlgorithm FIXED_RESTART
static bool MaxSatAssumptionOrder_IsValid(int value)
::google::protobuf::int32 random_seed() const
static const SearchBranching AUTOMATIC_SEARCH
bool has_constraint_removal_batch_size() const
optional int64 constraint_removal_batch_size = 122 [default = 100];
SatParameters_ClauseProtection ClauseProtection
bool has_mip_var_scaling() const
optional double mip_var_scaling = 125 [default = 1];
const ::std::string & SatParameters_MaxSatAssumptionOrder_Name(SatParameters_MaxSatAssumptionOrder value)
void set_presolve_probing_deterministic_time_limit(double value)
static const RestartAlgorithm LUBY_RESTART
::google::protobuf::RepeatedField< int > * mutable_restart_algorithms()
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];
bool has_use_optimization_hints() const
optional bool use_optimization_hints = 35 [default = true];
bool SatParameters_RestartAlgorithm_IsValid(int value)
static bool RestartAlgorithm_Parse(const ::std::string &name, RestartAlgorithm *value)
Internal implementation detail – do not use these members.
static bool MaxSatAssumptionOrder_Parse(const ::std::string &name, MaxSatAssumptionOrder *value)
const int SatParameters_VariableOrder_VariableOrder_ARRAYSIZE
::google::protobuf::int32 pb_cleanup_increment() const
void set_constraint_removal_batch_size(::google::protobuf::int64 value)
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];
static const ::std::string & Polarity_Name(Polarity value)
static bool Polarity_Parse(const ::std::string &name, Polarity *value)
bool SatParameters_BinaryMinizationAlgorithm_Parse(const ::std::string &name, SatParameters_BinaryMinizationAlgorithm *value)
static const ::google::protobuf::EnumDescriptor * RestartAlgorithm_descriptor()
static const int kMinimizeWithPropagationNumDecisionsFieldNumber
const ::google::protobuf::EnumDescriptor * SatParameters_ClauseProtection_descriptor()
void set_presolve_bve_threshold(::google::protobuf::int32 value)
const ::google::protobuf::EnumDescriptor * SatParameters_ClauseOrdering_descriptor()
static const ClauseOrdering CLAUSE_ACTIVITY
bool has_lns_num_threads() const
optional int32 lns_num_threads = 102 [default = 1];
static const ConflictMinimizationAlgorithm EXPERIMENTAL
bool has_use_timetable_edge_finding_in_cumulative_constraint() const
optional bool use_timetable_edge_finding_in_cumulative_constraint = 79 [default = false];
static const BinaryMinizationAlgorithm BINARY_MINIMIZATION_WITH_REACHABILITY
bool SatParameters_VariableOrder_Parse(const ::std::string &name, SatParameters_VariableOrder *value)
SatParameters_MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm
bool has_presolve_bve_clause_weight() const
optional int32 presolve_bve_clause_weight = 55 [default = 3];
const ::google::protobuf::EnumDescriptor * SatParameters_ConflictMinimizationAlgorithm_descriptor()
void set_pb_cleanup_increment(::google::protobuf::int32 value)
void set_cp_model_probing_level(::google::protobuf::int32 value)
static const ::std::string & MaxSatAssumptionOrder_Name(MaxSatAssumptionOrder value)
static const int kUseTimetableEdgeFindingInCumulativeConstraintFieldNumber
bool has_search_branching() const
optional .operations_research.sat.SatParameters.SearchBranching search_branching = 82 [default = AUTO...
static const VariableOrder VariableOrder_MAX
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];
void set_presolve_bva_threshold(::google::protobuf::int32 value)
static const RestartAlgorithm NO_RESTART
::google::protobuf::uint8 * InternalSerializeWithCachedSizesToArray(::google::protobuf::uint8 *target) const final
SatParameters_RestartAlgorithm RestartAlgorithm
bool has_add_cg_cuts() const
optional bool add_cg_cuts = 117 [default = false];
::google::protobuf::int32 cp_model_probing_level() const
bool SatParameters_Polarity_IsValid(int value)
SatParameters_ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm
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 const ::std::string & ClauseOrdering_Name(ClauseOrdering value)
static const int kAutoDetectGreaterThanAtLeastOneOfFieldNumber
const int SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_ARRAYSIZE
static const ::std::string & MaxSatStratificationAlgorithm_Name(MaxSatStratificationAlgorithm value)
static const ::google::protobuf::EnumDescriptor * MaxSatStratificationAlgorithm_descriptor()
void SerializeWithCachedSizes(::google::protobuf::io::CodedOutputStream *output) const final
bool has_max_inactive_count() const
optional int64 max_inactive_count = 121 [default = 1000];
const SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MIN
static const ClauseProtection PROTECTION_LBD
::google::protobuf::int32 max_num_cuts() const
bool has_use_combined_no_overlap() const
optional bool use_combined_no_overlap = 133 [default = false];
SatParameters & operator=(const SatParameters &from)
::google::protobuf::int32 clause_cleanup_lbd_bound() const
friend void swap(SatParameters &a, SatParameters &b)
bool has_max_num_cuts() const
optional int32 max_num_cuts = 91 [default = 1000];
const SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MAX
bool has_num_conflicts_before_strategy_changes() const
optional int32 num_conflicts_before_strategy_changes = 68 [default = 0];
static const BinaryMinizationAlgorithm EXPERIMENTAL_BINARY_MINIMIZATION
bool SatParameters_MaxSatAssumptionOrder_IsValid(int value)
bool has_max_sat_reverse_assumption_order() const
optional bool max_sat_reverse_assumption_order = 52 [default = false];
static const SearchBranching SearchBranching_MAX
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,...
bool has_max_number_of_conflicts() const
optional int64 max_number_of_conflicts = 37 [default = 9223372036854775807];
void set_search_randomization_tolerance(::google::protobuf::int64 value)
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string > _i_give_permission_to_break_this_code_default_default_restart_algorithms_
static const ::google::protobuf::EnumDescriptor * Polarity_descriptor()
::google::protobuf::int32 glucose_decay_increment_period() const
bool has_clause_cleanup_ordering() const
optional .operations_research.sat.SatParameters.ClauseOrdering clause_cleanup_ordering = 60 [default ...
bool has_min_orthogonality_for_lp_constraints() const
optional double min_orthogonality_for_lp_constraints = 115 [default = 0];
static const SatParameters & default_instance()
bool has_optimize_with_core() const
optional bool optimize_with_core = 83 [default = false];
bool has_minimize_with_propagation_restart_period() const
optional int32 minimize_with_propagation_restart_period = 96 [default = 10];
void set_glucose_decay_increment_period(::google::protobuf::int32 value)
static const MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MAX
void set_minimize_reduction_during_pb_resolution(bool value)
const ::std::string & default_restart_algorithms() const
void set_use_disjunctive_constraint_in_cumulative_constraint(bool value)
const SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MAX
static const ClauseOrdering ClauseOrdering_MIN
const ::google::protobuf::RepeatedField< int > & restart_algorithms() const
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];
static const MaxSatAssumptionOrder DEFAULT_ASSUMPTION_ORDER
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];
const ::std::string & SatParameters_ClauseProtection_Name(SatParameters_ClauseProtection value)
bool has_share_objective_bounds() const
optional bool share_objective_bounds = 113 [default = true];
static const VariableOrder VariableOrder_MIN
void set_default_restart_algorithms(const ::std::string &value)
void set_clause_cleanup_lbd_bound(::google::protobuf::int32 value)
SatParameters_VariableOrder VariableOrder
nested types -------------------------------------------------—
bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream *input) final
bool has_use_overload_checker_in_cumulative_constraint() const
optional bool use_overload_checker_in_cumulative_constraint = 78 [default = false];
static const ::std::string & ClauseProtection_Name(ClauseProtection value)
bool has_presolve_blocked_clause() const
optional bool presolve_blocked_clause = 88 [default = true];
const ::std::string & SatParameters_ClauseOrdering_Name(SatParameters_ClauseOrdering value)
bool SatParameters_SearchBranching_Parse(const ::std::string &name, SatParameters_SearchBranching *value)
bool has_only_add_cuts_at_level_zero() const
optional bool only_add_cuts_at_level_zero = 92 [default = false];
void set_minimize_with_propagation_num_decisions(::google::protobuf::int32 value)
void set_pseudo_cost_reliability_threshold(::google::protobuf::int64 value)
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];
void set_use_timetable_edge_finding_in_cumulative_constraint(bool value)
static bool ClauseOrdering_Parse(const ::std::string &name, ClauseOrdering *value)
int restart_algorithms_size() const
accessors ----------------------------------------------------—
const SatParameters_ClauseProtection SatParameters_ClauseProtection_ClauseProtection_MAX
static const ::google::protobuf::EnumDescriptor * BinaryMinizationAlgorithm_descriptor()
::google::protobuf::int32 clause_cleanup_target() const
bool has_optimize_with_max_hs() const
optional bool optimize_with_max_hs = 85 [default = false];
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final