OR-Tools  9.0
parameters.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/glop/parameters.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fglop_2fparameters_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fglop_2fparameters_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3015000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3015008 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
35 // @@protoc_insertion_point(includes)
36 #include <google/protobuf/port_def.inc>
37 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fglop_2fparameters_2eproto
38 PROTOBUF_NAMESPACE_OPEN
39 namespace internal {
40 class AnyMetadata;
41 } // namespace internal
42 PROTOBUF_NAMESPACE_CLOSE
43 
44 // Internal implementation detail -- do not use these members.
46  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
47  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
48  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
49  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
50  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
51  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
53  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
54  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
55 };
56 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto;
58 namespace operations_research {
59 namespace glop {
60 class GlopParameters;
61 struct GlopParametersDefaultTypeInternal;
62 extern GlopParametersDefaultTypeInternal _GlopParameters_default_instance_;
63 } // namespace glop
64 } // namespace operations_research
65 PROTOBUF_NAMESPACE_OPEN
66 template<> ::operations_research::glop::GlopParameters* Arena::CreateMaybeMessage<::operations_research::glop::GlopParameters>(Arena*);
67 PROTOBUF_NAMESPACE_CLOSE
68 namespace operations_research {
69 namespace glop {
70 
75 };
80 
81 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_ScalingAlgorithm_descriptor();
82 template<typename T>
83 inline const std::string& GlopParameters_ScalingAlgorithm_Name(T enum_t_value) {
86  "Incorrect type passed to function GlopParameters_ScalingAlgorithm_Name.");
87  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
89 }
91  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_ScalingAlgorithm* value) {
92  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_ScalingAlgorithm>(
94 }
99 };
104 
105 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_SolverBehavior_descriptor();
106 template<typename T>
107 inline const std::string& GlopParameters_SolverBehavior_Name(T enum_t_value) {
110  "Incorrect type passed to function GlopParameters_SolverBehavior_Name.");
111  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
113 }
115  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_SolverBehavior* value) {
116  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_SolverBehavior>(
118 }
123 };
128 
129 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_PricingRule_descriptor();
130 template<typename T>
131 inline const std::string& GlopParameters_PricingRule_Name(T enum_t_value) {
134  "Incorrect type passed to function GlopParameters_PricingRule_Name.");
135  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
136  GlopParameters_PricingRule_descriptor(), enum_t_value);
137 }
139  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_PricingRule* value) {
140  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_PricingRule>(
142 }
148 };
153 
154 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_InitialBasisHeuristic_descriptor();
155 template<typename T>
156 inline const std::string& GlopParameters_InitialBasisHeuristic_Name(T enum_t_value) {
159  "Incorrect type passed to function GlopParameters_InitialBasisHeuristic_Name.");
160  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
162 }
164  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_InitialBasisHeuristic* value) {
165  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_InitialBasisHeuristic>(
167 }
173 };
178 
179 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_CostScalingAlgorithm_descriptor();
180 template<typename T>
181 inline const std::string& GlopParameters_CostScalingAlgorithm_Name(T enum_t_value) {
184  "Incorrect type passed to function GlopParameters_CostScalingAlgorithm_Name.");
185  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
187 }
189  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_CostScalingAlgorithm* value) {
190  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_CostScalingAlgorithm>(
192 }
193 // ===================================================================
194 
195 class GlopParameters PROTOBUF_FINAL :
196  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.glop.GlopParameters) */ {
197  public:
198  inline GlopParameters() : GlopParameters(nullptr) {}
199  virtual ~GlopParameters();
200  explicit constexpr GlopParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
201 
202  GlopParameters(const GlopParameters& from);
203  GlopParameters(GlopParameters&& from) noexcept
204  : GlopParameters() {
205  *this = ::std::move(from);
206  }
207 
208  inline GlopParameters& operator=(const GlopParameters& from) {
209  CopyFrom(from);
210  return *this;
211  }
212  inline GlopParameters& operator=(GlopParameters&& from) noexcept {
213  if (GetArena() == from.GetArena()) {
214  if (this != &from) InternalSwap(&from);
215  } else {
216  CopyFrom(from);
217  }
218  return *this;
219  }
220 
221  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
222  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
223  }
224  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
225  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
226  }
227 
228  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
229  return GetDescriptor();
230  }
231  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
232  return GetMetadataStatic().descriptor;
233  }
234  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
235  return GetMetadataStatic().reflection;
236  }
237  static const GlopParameters& default_instance() {
238  return *internal_default_instance();
239  }
240  static inline const GlopParameters* internal_default_instance() {
241  return reinterpret_cast<const GlopParameters*>(
243  }
244  static constexpr int kIndexInFileMessages =
245  0;
246 
247  friend void swap(GlopParameters& a, GlopParameters& b) {
248  a.Swap(&b);
249  }
250  inline void Swap(GlopParameters* other) {
251  if (other == this) return;
252  if (GetArena() == other->GetArena()) {
253  InternalSwap(other);
254  } else {
255  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
256  }
257  }
258  void UnsafeArenaSwap(GlopParameters* other) {
259  if (other == this) return;
260  GOOGLE_DCHECK(GetArena() == other->GetArena());
261  InternalSwap(other);
262  }
263 
264  // implements Message ----------------------------------------------
265 
266  inline GlopParameters* New() const final {
267  return CreateMaybeMessage<GlopParameters>(nullptr);
268  }
269 
270  GlopParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
271  return CreateMaybeMessage<GlopParameters>(arena);
272  }
273  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
274  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
275  void CopyFrom(const GlopParameters& from);
276  void MergeFrom(const GlopParameters& from);
277  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
278  bool IsInitialized() const final;
279 
280  size_t ByteSizeLong() const final;
281  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
282  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
283  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
284  int GetCachedSize() const final { return _cached_size_.Get(); }
285 
286  private:
287  inline void SharedCtor();
288  inline void SharedDtor();
289  void SetCachedSize(int size) const final;
290  void InternalSwap(GlopParameters* other);
291  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
292  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
293  return "operations_research.glop.GlopParameters";
294  }
295  protected:
296  explicit GlopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
297  private:
298  static void ArenaDtor(void* object);
299  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
300  public:
301 
302  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
303  private:
304  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
306  }
307 
308  public:
309 
310  // nested types ----------------------------------------------------
311 
313  static constexpr ScalingAlgorithm DEFAULT =
315  static constexpr ScalingAlgorithm EQUILIBRATION =
317  static constexpr ScalingAlgorithm LINEAR_PROGRAM =
319  static inline bool ScalingAlgorithm_IsValid(int value) {
321  }
322  static constexpr ScalingAlgorithm ScalingAlgorithm_MIN =
324  static constexpr ScalingAlgorithm ScalingAlgorithm_MAX =
326  static constexpr int ScalingAlgorithm_ARRAYSIZE =
328  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
331  }
332  template<typename T>
333  static inline const std::string& ScalingAlgorithm_Name(T enum_t_value) {
336  "Incorrect type passed to function ScalingAlgorithm_Name.");
337  return GlopParameters_ScalingAlgorithm_Name(enum_t_value);
338  }
339  static inline bool ScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
342  }
343 
345  static constexpr SolverBehavior ALWAYS_DO =
347  static constexpr SolverBehavior NEVER_DO =
349  static constexpr SolverBehavior LET_SOLVER_DECIDE =
351  static inline bool SolverBehavior_IsValid(int value) {
353  }
354  static constexpr SolverBehavior SolverBehavior_MIN =
356  static constexpr SolverBehavior SolverBehavior_MAX =
358  static constexpr int SolverBehavior_ARRAYSIZE =
360  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
363  }
364  template<typename T>
365  static inline const std::string& SolverBehavior_Name(T enum_t_value) {
366  static_assert(::std::is_same<T, SolverBehavior>::value ||
368  "Incorrect type passed to function SolverBehavior_Name.");
369  return GlopParameters_SolverBehavior_Name(enum_t_value);
370  }
371  static inline bool SolverBehavior_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
374  }
375 
377  static constexpr PricingRule DANTZIG =
379  static constexpr PricingRule STEEPEST_EDGE =
381  static constexpr PricingRule DEVEX =
383  static inline bool PricingRule_IsValid(int value) {
385  }
386  static constexpr PricingRule PricingRule_MIN =
388  static constexpr PricingRule PricingRule_MAX =
390  static constexpr int PricingRule_ARRAYSIZE =
392  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
395  }
396  template<typename T>
397  static inline const std::string& PricingRule_Name(T enum_t_value) {
398  static_assert(::std::is_same<T, PricingRule>::value ||
400  "Incorrect type passed to function PricingRule_Name.");
401  return GlopParameters_PricingRule_Name(enum_t_value);
402  }
403  static inline bool PricingRule_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
404  PricingRule* value) {
406  }
407 
409  static constexpr InitialBasisHeuristic NONE =
411  static constexpr InitialBasisHeuristic BIXBY =
413  static constexpr InitialBasisHeuristic TRIANGULAR =
415  static constexpr InitialBasisHeuristic MAROS =
417  static inline bool InitialBasisHeuristic_IsValid(int value) {
419  }
420  static constexpr InitialBasisHeuristic InitialBasisHeuristic_MIN =
422  static constexpr InitialBasisHeuristic InitialBasisHeuristic_MAX =
424  static constexpr int InitialBasisHeuristic_ARRAYSIZE =
426  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
429  }
430  template<typename T>
431  static inline const std::string& InitialBasisHeuristic_Name(T enum_t_value) {
434  "Incorrect type passed to function InitialBasisHeuristic_Name.");
435  return GlopParameters_InitialBasisHeuristic_Name(enum_t_value);
436  }
437  static inline bool InitialBasisHeuristic_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
440  }
441 
443  static constexpr CostScalingAlgorithm NO_COST_SCALING =
445  static constexpr CostScalingAlgorithm CONTAIN_ONE_COST_SCALING =
447  static constexpr CostScalingAlgorithm MEAN_COST_SCALING =
449  static constexpr CostScalingAlgorithm MEDIAN_COST_SCALING =
451  static inline bool CostScalingAlgorithm_IsValid(int value) {
453  }
454  static constexpr CostScalingAlgorithm CostScalingAlgorithm_MIN =
456  static constexpr CostScalingAlgorithm CostScalingAlgorithm_MAX =
458  static constexpr int CostScalingAlgorithm_ARRAYSIZE =
460  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
463  }
464  template<typename T>
465  static inline const std::string& CostScalingAlgorithm_Name(T enum_t_value) {
468  "Incorrect type passed to function CostScalingAlgorithm_Name.");
469  return GlopParameters_CostScalingAlgorithm_Name(enum_t_value);
470  }
471  static inline bool CostScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
474  }
475 
476  // accessors -------------------------------------------------------
477 
478  enum : int {
479  kUseDualSimplexFieldNumber = 31,
480  kAllowSimplexAlgorithmChangeFieldNumber = 32,
481  kPerturbCostsInDualSimplexFieldNumber = 53,
482  kLogSearchProgressFieldNumber = 61,
483  kFeasibilityRuleFieldNumber = 1,
484  kOptimizationRuleFieldNumber = 2,
485  kRefactorizationThresholdFieldNumber = 6,
486  kRecomputeReducedCostsThresholdFieldNumber = 8,
487  kRecomputeEdgesNormThresholdFieldNumber = 9,
488  kPrimalFeasibilityToleranceFieldNumber = 10,
489  kDualFeasibilityToleranceFieldNumber = 11,
490  kRatioTestZeroThresholdFieldNumber = 12,
491  kHarrisToleranceRatioFieldNumber = 13,
492  kSmallPivotThresholdFieldNumber = 14,
493  kMinimumAcceptablePivotFieldNumber = 15,
494  kInitialBasisFieldNumber = 17,
495  kBasisRefactorizationPeriodFieldNumber = 19,
496  kDualizerThresholdFieldNumber = 21,
497  kSolutionFeasibilityToleranceFieldNumber = 22,
498  kSolveDualProblemFieldNumber = 20,
499  kMarkowitzZlatevParameterFieldNumber = 29,
500  kLuFactorizationPivotThresholdFieldNumber = 25,
501  kMaxTimeInSecondsFieldNumber = 26,
502  kMaxNumberOfIterationsFieldNumber = 27,
503  kMarkowitzSingularityThresholdFieldNumber = 30,
504  kUseScalingFieldNumber = 16,
505  kUseTransposedMatrixFieldNumber = 18,
506  kDynamicallyAdjustRefactorizationPeriodFieldNumber = 63,
507  kProvideStrongOptimalGuaranteeFieldNumber = 24,
508  kDevexWeightsResetPeriodFieldNumber = 33,
509  kDualSmallPivotThresholdFieldNumber = 38,
510  kPreprocessorZeroToleranceFieldNumber = 39,
511  kObjectiveLowerLimitFieldNumber = 40,
512  kObjectiveUpperLimitFieldNumber = 41,
513  kChangeStatusToImpreciseFieldNumber = 58,
514  kUsePreprocessingFieldNumber = 34,
515  kUseMiddleProductFormUpdateFieldNumber = 35,
516  kInitializeDevexWithColumnNormsFieldNumber = 36,
517  kRandomSeedFieldNumber = 43,
518  kDegenerateMinistepFactorFieldNumber = 42,
519  kMaxDeterministicTimeFieldNumber = 45,
520  kNumOmpThreadsFieldNumber = 44,
521  kExploitSingletonColumnInInitialBasisFieldNumber = 37,
522  kUseDedicatedDualFeasibilityAlgorithmFieldNumber = 62,
523  kDropToleranceFieldNumber = 52,
524  kRelativeCostPerturbationFieldNumber = 54,
525  kRelativeMaxCostPerturbationFieldNumber = 55,
526  kMaxNumberOfReoptimizationsFieldNumber = 56,
527  kScalingMethodFieldNumber = 57,
528  kCostScalingFieldNumber = 60,
529  kInitialConditionNumberThresholdFieldNumber = 59,
530  };
531  // optional bool use_dual_simplex = 31 [default = false];
532  bool has_use_dual_simplex() const;
533  private:
534  bool _internal_has_use_dual_simplex() const;
535  public:
537  bool use_dual_simplex() const;
539  private:
540  bool _internal_use_dual_simplex() const;
541  void _internal_set_use_dual_simplex(bool value);
542  public:
543 
544  // optional bool allow_simplex_algorithm_change = 32 [default = false];
546  private:
547  bool _internal_has_allow_simplex_algorithm_change() const;
548  public:
552  private:
553  bool _internal_allow_simplex_algorithm_change() const;
554  void _internal_set_allow_simplex_algorithm_change(bool value);
555  public:
556 
557  // optional bool perturb_costs_in_dual_simplex = 53 [default = false];
559  private:
560  bool _internal_has_perturb_costs_in_dual_simplex() const;
561  public:
565  private:
566  bool _internal_perturb_costs_in_dual_simplex() const;
567  void _internal_set_perturb_costs_in_dual_simplex(bool value);
568  public:
569 
570  // optional bool log_search_progress = 61 [default = false];
572  private:
573  bool _internal_has_log_search_progress() const;
574  public:
576  bool log_search_progress() const;
578  private:
579  bool _internal_log_search_progress() const;
580  void _internal_set_log_search_progress(bool value);
581  public:
582 
583  // optional .operations_research.glop.GlopParameters.PricingRule feasibility_rule = 1 [default = STEEPEST_EDGE];
584  bool has_feasibility_rule() const;
585  private:
586  bool _internal_has_feasibility_rule() const;
587  public:
591  private:
592  ::operations_research::glop::GlopParameters_PricingRule _internal_feasibility_rule() const;
593  void _internal_set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value);
594  public:
595 
596  // optional .operations_research.glop.GlopParameters.PricingRule optimization_rule = 2 [default = STEEPEST_EDGE];
597  bool has_optimization_rule() const;
598  private:
599  bool _internal_has_optimization_rule() const;
600  public:
604  private:
605  ::operations_research::glop::GlopParameters_PricingRule _internal_optimization_rule() const;
606  void _internal_set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value);
607  public:
608 
609  // optional double refactorization_threshold = 6 [default = 1e-09];
611  private:
612  bool _internal_has_refactorization_threshold() const;
613  public:
617  private:
618  double _internal_refactorization_threshold() const;
619  void _internal_set_refactorization_threshold(double value);
620  public:
621 
622  // optional double recompute_reduced_costs_threshold = 8 [default = 1e-08];
624  private:
625  bool _internal_has_recompute_reduced_costs_threshold() const;
626  public:
630  private:
631  double _internal_recompute_reduced_costs_threshold() const;
632  void _internal_set_recompute_reduced_costs_threshold(double value);
633  public:
634 
635  // optional double recompute_edges_norm_threshold = 9 [default = 100];
637  private:
638  bool _internal_has_recompute_edges_norm_threshold() const;
639  public:
643  private:
644  double _internal_recompute_edges_norm_threshold() const;
645  void _internal_set_recompute_edges_norm_threshold(double value);
646  public:
647 
648  // optional double primal_feasibility_tolerance = 10 [default = 1e-08];
650  private:
651  bool _internal_has_primal_feasibility_tolerance() const;
652  public:
656  private:
657  double _internal_primal_feasibility_tolerance() const;
658  void _internal_set_primal_feasibility_tolerance(double value);
659  public:
660 
661  // optional double dual_feasibility_tolerance = 11 [default = 1e-08];
663  private:
664  bool _internal_has_dual_feasibility_tolerance() const;
665  public:
669  private:
670  double _internal_dual_feasibility_tolerance() const;
671  void _internal_set_dual_feasibility_tolerance(double value);
672  public:
673 
674  // optional double ratio_test_zero_threshold = 12 [default = 1e-09];
676  private:
677  bool _internal_has_ratio_test_zero_threshold() const;
678  public:
682  private:
683  double _internal_ratio_test_zero_threshold() const;
684  void _internal_set_ratio_test_zero_threshold(double value);
685  public:
686 
687  // optional double harris_tolerance_ratio = 13 [default = 0.5];
689  private:
690  bool _internal_has_harris_tolerance_ratio() const;
691  public:
693  double harris_tolerance_ratio() const;
695  private:
696  double _internal_harris_tolerance_ratio() const;
697  void _internal_set_harris_tolerance_ratio(double value);
698  public:
699 
700  // optional double small_pivot_threshold = 14 [default = 1e-06];
702  private:
703  bool _internal_has_small_pivot_threshold() const;
704  public:
706  double small_pivot_threshold() const;
708  private:
709  double _internal_small_pivot_threshold() const;
710  void _internal_set_small_pivot_threshold(double value);
711  public:
712 
713  // optional double minimum_acceptable_pivot = 15 [default = 1e-06];
715  private:
716  bool _internal_has_minimum_acceptable_pivot() const;
717  public:
719  double minimum_acceptable_pivot() const;
721  private:
722  double _internal_minimum_acceptable_pivot() const;
723  void _internal_set_minimum_acceptable_pivot(double value);
724  public:
725 
726  // optional .operations_research.glop.GlopParameters.InitialBasisHeuristic initial_basis = 17 [default = TRIANGULAR];
727  bool has_initial_basis() const;
728  private:
729  bool _internal_has_initial_basis() const;
730  public:
734  private:
737  public:
738 
739  // optional int32 basis_refactorization_period = 19 [default = 64];
741  private:
742  bool _internal_has_basis_refactorization_period() const;
743  public:
745  ::PROTOBUF_NAMESPACE_ID::int32 basis_refactorization_period() const;
746  void set_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value);
747  private:
748  ::PROTOBUF_NAMESPACE_ID::int32 _internal_basis_refactorization_period() const;
749  void _internal_set_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value);
750  public:
751 
752  // optional double dualizer_threshold = 21 [default = 1.5];
754  private:
755  bool _internal_has_dualizer_threshold() const;
756  public:
758  double dualizer_threshold() const;
760  private:
761  double _internal_dualizer_threshold() const;
762  void _internal_set_dualizer_threshold(double value);
763  public:
764 
765  // optional double solution_feasibility_tolerance = 22 [default = 1e-06];
767  private:
768  bool _internal_has_solution_feasibility_tolerance() const;
769  public:
773  private:
774  double _internal_solution_feasibility_tolerance() const;
775  void _internal_set_solution_feasibility_tolerance(double value);
776  public:
777 
778  // optional .operations_research.glop.GlopParameters.SolverBehavior solve_dual_problem = 20 [default = LET_SOLVER_DECIDE];
780  private:
781  bool _internal_has_solve_dual_problem() const;
782  public:
786  private:
787  ::operations_research::glop::GlopParameters_SolverBehavior _internal_solve_dual_problem() const;
788  void _internal_set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value);
789  public:
790 
791  // optional int32 markowitz_zlatev_parameter = 29 [default = 3];
793  private:
794  bool _internal_has_markowitz_zlatev_parameter() const;
795  public:
797  ::PROTOBUF_NAMESPACE_ID::int32 markowitz_zlatev_parameter() const;
798  void set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value);
799  private:
800  ::PROTOBUF_NAMESPACE_ID::int32 _internal_markowitz_zlatev_parameter() const;
801  void _internal_set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value);
802  public:
803 
804  // optional double lu_factorization_pivot_threshold = 25 [default = 0.01];
806  private:
807  bool _internal_has_lu_factorization_pivot_threshold() const;
808  public:
812  private:
813  double _internal_lu_factorization_pivot_threshold() const;
814  void _internal_set_lu_factorization_pivot_threshold(double value);
815  public:
816 
817  // optional double max_time_in_seconds = 26 [default = inf];
819  private:
820  bool _internal_has_max_time_in_seconds() const;
821  public:
823  double max_time_in_seconds() const;
825  private:
826  double _internal_max_time_in_seconds() const;
827  void _internal_set_max_time_in_seconds(double value);
828  public:
829 
830  // optional int64 max_number_of_iterations = 27 [default = -1];
832  private:
833  bool _internal_has_max_number_of_iterations() const;
834  public:
836  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_iterations() const;
837  void set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
838  private:
839  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_number_of_iterations() const;
840  void _internal_set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
841  public:
842 
843  // optional double markowitz_singularity_threshold = 30 [default = 1e-15];
845  private:
846  bool _internal_has_markowitz_singularity_threshold() const;
847  public:
851  private:
852  double _internal_markowitz_singularity_threshold() const;
853  void _internal_set_markowitz_singularity_threshold(double value);
854  public:
855 
856  // optional bool use_scaling = 16 [default = true];
857  bool has_use_scaling() const;
858  private:
859  bool _internal_has_use_scaling() const;
860  public:
862  bool use_scaling() const;
863  void set_use_scaling(bool value);
864  private:
865  bool _internal_use_scaling() const;
866  void _internal_set_use_scaling(bool value);
867  public:
868 
869  // optional bool use_transposed_matrix = 18 [default = true];
871  private:
872  bool _internal_has_use_transposed_matrix() const;
873  public:
875  bool use_transposed_matrix() const;
877  private:
878  bool _internal_use_transposed_matrix() const;
879  void _internal_set_use_transposed_matrix(bool value);
880  public:
881 
882  // optional bool dynamically_adjust_refactorization_period = 63 [default = true];
884  private:
885  bool _internal_has_dynamically_adjust_refactorization_period() const;
886  public:
890  private:
891  bool _internal_dynamically_adjust_refactorization_period() const;
892  void _internal_set_dynamically_adjust_refactorization_period(bool value);
893  public:
894 
895  // optional bool provide_strong_optimal_guarantee = 24 [default = true];
897  private:
898  bool _internal_has_provide_strong_optimal_guarantee() const;
899  public:
903  private:
904  bool _internal_provide_strong_optimal_guarantee() const;
905  void _internal_set_provide_strong_optimal_guarantee(bool value);
906  public:
907 
908  // optional int32 devex_weights_reset_period = 33 [default = 150];
910  private:
911  bool _internal_has_devex_weights_reset_period() const;
912  public:
914  ::PROTOBUF_NAMESPACE_ID::int32 devex_weights_reset_period() const;
915  void set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value);
916  private:
917  ::PROTOBUF_NAMESPACE_ID::int32 _internal_devex_weights_reset_period() const;
918  void _internal_set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value);
919  public:
920 
921  // optional double dual_small_pivot_threshold = 38 [default = 0.0001];
923  private:
924  bool _internal_has_dual_small_pivot_threshold() const;
925  public:
929  private:
930  double _internal_dual_small_pivot_threshold() const;
931  void _internal_set_dual_small_pivot_threshold(double value);
932  public:
933 
934  // optional double preprocessor_zero_tolerance = 39 [default = 1e-09];
936  private:
937  bool _internal_has_preprocessor_zero_tolerance() const;
938  public:
942  private:
943  double _internal_preprocessor_zero_tolerance() const;
944  void _internal_set_preprocessor_zero_tolerance(double value);
945  public:
946 
947  // optional double objective_lower_limit = 40 [default = -inf];
949  private:
950  bool _internal_has_objective_lower_limit() const;
951  public:
953  double objective_lower_limit() const;
955  private:
956  double _internal_objective_lower_limit() const;
957  void _internal_set_objective_lower_limit(double value);
958  public:
959 
960  // optional double objective_upper_limit = 41 [default = inf];
962  private:
963  bool _internal_has_objective_upper_limit() const;
964  public:
966  double objective_upper_limit() const;
968  private:
969  double _internal_objective_upper_limit() const;
970  void _internal_set_objective_upper_limit(double value);
971  public:
972 
973  // optional bool change_status_to_imprecise = 58 [default = true];
975  private:
976  bool _internal_has_change_status_to_imprecise() const;
977  public:
981  private:
982  bool _internal_change_status_to_imprecise() const;
983  void _internal_set_change_status_to_imprecise(bool value);
984  public:
985 
986  // optional bool use_preprocessing = 34 [default = true];
987  bool has_use_preprocessing() const;
988  private:
989  bool _internal_has_use_preprocessing() const;
990  public:
992  bool use_preprocessing() const;
994  private:
995  bool _internal_use_preprocessing() const;
996  void _internal_set_use_preprocessing(bool value);
997  public:
998 
999  // optional bool use_middle_product_form_update = 35 [default = true];
1001  private:
1002  bool _internal_has_use_middle_product_form_update() const;
1003  public:
1007  private:
1008  bool _internal_use_middle_product_form_update() const;
1009  void _internal_set_use_middle_product_form_update(bool value);
1010  public:
1011 
1012  // optional bool initialize_devex_with_column_norms = 36 [default = true];
1014  private:
1015  bool _internal_has_initialize_devex_with_column_norms() const;
1016  public:
1020  private:
1021  bool _internal_initialize_devex_with_column_norms() const;
1022  void _internal_set_initialize_devex_with_column_norms(bool value);
1023  public:
1024 
1025  // optional int32 random_seed = 43 [default = 1];
1026  bool has_random_seed() const;
1027  private:
1028  bool _internal_has_random_seed() const;
1029  public:
1031  ::PROTOBUF_NAMESPACE_ID::int32 random_seed() const;
1032  void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
1033  private:
1034  ::PROTOBUF_NAMESPACE_ID::int32 _internal_random_seed() const;
1035  void _internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
1036  public:
1037 
1038  // optional double degenerate_ministep_factor = 42 [default = 0.01];
1040  private:
1041  bool _internal_has_degenerate_ministep_factor() const;
1042  public:
1046  private:
1047  double _internal_degenerate_ministep_factor() const;
1048  void _internal_set_degenerate_ministep_factor(double value);
1049  public:
1050 
1051  // optional double max_deterministic_time = 45 [default = inf];
1053  private:
1054  bool _internal_has_max_deterministic_time() const;
1055  public:
1057  double max_deterministic_time() const;
1059  private:
1060  double _internal_max_deterministic_time() const;
1061  void _internal_set_max_deterministic_time(double value);
1062  public:
1063 
1064  // optional int32 num_omp_threads = 44 [default = 1];
1065  bool has_num_omp_threads() const;
1066  private:
1067  bool _internal_has_num_omp_threads() const;
1068  public:
1070  ::PROTOBUF_NAMESPACE_ID::int32 num_omp_threads() const;
1071  void set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value);
1072  private:
1073  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_omp_threads() const;
1074  void _internal_set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value);
1075  public:
1076 
1077  // optional bool exploit_singleton_column_in_initial_basis = 37 [default = true];
1079  private:
1080  bool _internal_has_exploit_singleton_column_in_initial_basis() const;
1081  public:
1085  private:
1086  bool _internal_exploit_singleton_column_in_initial_basis() const;
1087  void _internal_set_exploit_singleton_column_in_initial_basis(bool value);
1088  public:
1089 
1090  // optional bool use_dedicated_dual_feasibility_algorithm = 62 [default = true];
1092  private:
1093  bool _internal_has_use_dedicated_dual_feasibility_algorithm() const;
1094  public:
1098  private:
1099  bool _internal_use_dedicated_dual_feasibility_algorithm() const;
1100  void _internal_set_use_dedicated_dual_feasibility_algorithm(bool value);
1101  public:
1102 
1103  // optional double drop_tolerance = 52 [default = 1e-14];
1104  bool has_drop_tolerance() const;
1105  private:
1106  bool _internal_has_drop_tolerance() const;
1107  public:
1109  double drop_tolerance() const;
1111  private:
1112  double _internal_drop_tolerance() const;
1113  void _internal_set_drop_tolerance(double value);
1114  public:
1115 
1116  // optional double relative_cost_perturbation = 54 [default = 1e-05];
1118  private:
1119  bool _internal_has_relative_cost_perturbation() const;
1120  public:
1124  private:
1125  double _internal_relative_cost_perturbation() const;
1126  void _internal_set_relative_cost_perturbation(double value);
1127  public:
1128 
1129  // optional double relative_max_cost_perturbation = 55 [default = 1e-07];
1131  private:
1132  bool _internal_has_relative_max_cost_perturbation() const;
1133  public:
1137  private:
1138  double _internal_relative_max_cost_perturbation() const;
1139  void _internal_set_relative_max_cost_perturbation(double value);
1140  public:
1141 
1142  // optional double max_number_of_reoptimizations = 56 [default = 40];
1144  private:
1145  bool _internal_has_max_number_of_reoptimizations() const;
1146  public:
1150  private:
1151  double _internal_max_number_of_reoptimizations() const;
1152  void _internal_set_max_number_of_reoptimizations(double value);
1153  public:
1154 
1155  // optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
1156  bool has_scaling_method() const;
1157  private:
1158  bool _internal_has_scaling_method() const;
1159  public:
1163  private:
1164  ::operations_research::glop::GlopParameters_ScalingAlgorithm _internal_scaling_method() const;
1165  void _internal_set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value);
1166  public:
1167 
1168  // optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
1169  bool has_cost_scaling() const;
1170  private:
1171  bool _internal_has_cost_scaling() const;
1172  public:
1176  private:
1178  void _internal_set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value);
1179  public:
1180 
1181  // optional double initial_condition_number_threshold = 59 [default = 1e+50];
1183  private:
1184  bool _internal_has_initial_condition_number_threshold() const;
1185  public:
1189  private:
1190  double _internal_initial_condition_number_threshold() const;
1191  void _internal_set_initial_condition_number_threshold(double value);
1192  public:
1193 
1194  // @@protoc_insertion_point(class_scope:operations_research.glop.GlopParameters)
1195  private:
1196  class _Internal;
1197 
1198  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1199  typedef void InternalArenaConstructable_;
1200  typedef void DestructorSkippable_;
1201  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1202  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1203  bool use_dual_simplex_;
1204  bool allow_simplex_algorithm_change_;
1205  bool perturb_costs_in_dual_simplex_;
1206  bool log_search_progress_;
1207  int feasibility_rule_;
1208  int optimization_rule_;
1209  double refactorization_threshold_;
1210  double recompute_reduced_costs_threshold_;
1211  double recompute_edges_norm_threshold_;
1212  double primal_feasibility_tolerance_;
1213  double dual_feasibility_tolerance_;
1214  double ratio_test_zero_threshold_;
1215  double harris_tolerance_ratio_;
1216  double small_pivot_threshold_;
1217  double minimum_acceptable_pivot_;
1218  int initial_basis_;
1219  ::PROTOBUF_NAMESPACE_ID::int32 basis_refactorization_period_;
1220  double dualizer_threshold_;
1221  double solution_feasibility_tolerance_;
1222  int solve_dual_problem_;
1223  ::PROTOBUF_NAMESPACE_ID::int32 markowitz_zlatev_parameter_;
1224  double lu_factorization_pivot_threshold_;
1225  double max_time_in_seconds_;
1226  ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_iterations_;
1227  double markowitz_singularity_threshold_;
1228  bool use_scaling_;
1229  bool use_transposed_matrix_;
1230  bool dynamically_adjust_refactorization_period_;
1231  bool provide_strong_optimal_guarantee_;
1232  ::PROTOBUF_NAMESPACE_ID::int32 devex_weights_reset_period_;
1233  double dual_small_pivot_threshold_;
1234  double preprocessor_zero_tolerance_;
1235  double objective_lower_limit_;
1236  double objective_upper_limit_;
1237  bool change_status_to_imprecise_;
1238  bool use_preprocessing_;
1239  bool use_middle_product_form_update_;
1240  bool initialize_devex_with_column_norms_;
1241  ::PROTOBUF_NAMESPACE_ID::int32 random_seed_;
1242  double degenerate_ministep_factor_;
1243  double max_deterministic_time_;
1244  ::PROTOBUF_NAMESPACE_ID::int32 num_omp_threads_;
1245  bool exploit_singleton_column_in_initial_basis_;
1246  bool use_dedicated_dual_feasibility_algorithm_;
1247  double drop_tolerance_;
1248  double relative_cost_perturbation_;
1249  double relative_max_cost_perturbation_;
1250  double max_number_of_reoptimizations_;
1251  int scaling_method_;
1252  int cost_scaling_;
1253  double initial_condition_number_threshold_;
1254  friend struct ::TableStruct_ortools_2fglop_2fparameters_2eproto;
1255 };
1256 // ===================================================================
1257 
1258 
1259 // ===================================================================
1260 
1261 #ifdef __GNUC__
1262  #pragma GCC diagnostic push
1263  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1264 #endif // __GNUC__
1265 // GlopParameters
1266 
1267 // optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
1268 inline bool GlopParameters::_internal_has_scaling_method() const {
1269  bool value = (_has_bits_[1] & 0x00010000u) != 0;
1270  return value;
1271 }
1272 inline bool GlopParameters::has_scaling_method() const {
1273  return _internal_has_scaling_method();
1274 }
1275 inline void GlopParameters::clear_scaling_method() {
1276  scaling_method_ = 1;
1277  _has_bits_[1] &= ~0x00010000u;
1278 }
1279 inline ::operations_research::glop::GlopParameters_ScalingAlgorithm GlopParameters::_internal_scaling_method() const {
1280  return static_cast< ::operations_research::glop::GlopParameters_ScalingAlgorithm >(scaling_method_);
1281 }
1282 inline ::operations_research::glop::GlopParameters_ScalingAlgorithm GlopParameters::scaling_method() const {
1283  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.scaling_method)
1284  return _internal_scaling_method();
1285 }
1286 inline void GlopParameters::_internal_set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value) {
1288  _has_bits_[1] |= 0x00010000u;
1289  scaling_method_ = value;
1290 }
1291 inline void GlopParameters::set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value) {
1292  _internal_set_scaling_method(value);
1293  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.scaling_method)
1294 }
1295 
1296 // optional .operations_research.glop.GlopParameters.PricingRule feasibility_rule = 1 [default = STEEPEST_EDGE];
1297 inline bool GlopParameters::_internal_has_feasibility_rule() const {
1298  bool value = (_has_bits_[0] & 0x00000010u) != 0;
1299  return value;
1300 }
1301 inline bool GlopParameters::has_feasibility_rule() const {
1302  return _internal_has_feasibility_rule();
1303 }
1304 inline void GlopParameters::clear_feasibility_rule() {
1305  feasibility_rule_ = 1;
1306  _has_bits_[0] &= ~0x00000010u;
1307 }
1308 inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::_internal_feasibility_rule() const {
1309  return static_cast< ::operations_research::glop::GlopParameters_PricingRule >(feasibility_rule_);
1310 }
1311 inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::feasibility_rule() const {
1312  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.feasibility_rule)
1313  return _internal_feasibility_rule();
1314 }
1315 inline void GlopParameters::_internal_set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1317  _has_bits_[0] |= 0x00000010u;
1318  feasibility_rule_ = value;
1319 }
1320 inline void GlopParameters::set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1321  _internal_set_feasibility_rule(value);
1322  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.feasibility_rule)
1323 }
1324 
1325 // optional .operations_research.glop.GlopParameters.PricingRule optimization_rule = 2 [default = STEEPEST_EDGE];
1326 inline bool GlopParameters::_internal_has_optimization_rule() const {
1327  bool value = (_has_bits_[0] & 0x00000020u) != 0;
1328  return value;
1329 }
1330 inline bool GlopParameters::has_optimization_rule() const {
1331  return _internal_has_optimization_rule();
1332 }
1333 inline void GlopParameters::clear_optimization_rule() {
1334  optimization_rule_ = 1;
1335  _has_bits_[0] &= ~0x00000020u;
1336 }
1337 inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::_internal_optimization_rule() const {
1338  return static_cast< ::operations_research::glop::GlopParameters_PricingRule >(optimization_rule_);
1339 }
1340 inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::optimization_rule() const {
1341  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.optimization_rule)
1342  return _internal_optimization_rule();
1343 }
1344 inline void GlopParameters::_internal_set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1346  _has_bits_[0] |= 0x00000020u;
1347  optimization_rule_ = value;
1348 }
1349 inline void GlopParameters::set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1350  _internal_set_optimization_rule(value);
1351  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.optimization_rule)
1352 }
1353 
1354 // optional double refactorization_threshold = 6 [default = 1e-09];
1355 inline bool GlopParameters::_internal_has_refactorization_threshold() const {
1356  bool value = (_has_bits_[0] & 0x00000040u) != 0;
1357  return value;
1358 }
1359 inline bool GlopParameters::has_refactorization_threshold() const {
1360  return _internal_has_refactorization_threshold();
1361 }
1362 inline void GlopParameters::clear_refactorization_threshold() {
1363  refactorization_threshold_ = 1e-09;
1364  _has_bits_[0] &= ~0x00000040u;
1365 }
1366 inline double GlopParameters::_internal_refactorization_threshold() const {
1367  return refactorization_threshold_;
1368 }
1369 inline double GlopParameters::refactorization_threshold() const {
1370  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.refactorization_threshold)
1371  return _internal_refactorization_threshold();
1372 }
1373 inline void GlopParameters::_internal_set_refactorization_threshold(double value) {
1374  _has_bits_[0] |= 0x00000040u;
1375  refactorization_threshold_ = value;
1376 }
1377 inline void GlopParameters::set_refactorization_threshold(double value) {
1378  _internal_set_refactorization_threshold(value);
1379  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.refactorization_threshold)
1380 }
1381 
1382 // optional double recompute_reduced_costs_threshold = 8 [default = 1e-08];
1383 inline bool GlopParameters::_internal_has_recompute_reduced_costs_threshold() const {
1384  bool value = (_has_bits_[0] & 0x00000080u) != 0;
1385  return value;
1386 }
1387 inline bool GlopParameters::has_recompute_reduced_costs_threshold() const {
1388  return _internal_has_recompute_reduced_costs_threshold();
1389 }
1390 inline void GlopParameters::clear_recompute_reduced_costs_threshold() {
1391  recompute_reduced_costs_threshold_ = 1e-08;
1392  _has_bits_[0] &= ~0x00000080u;
1393 }
1394 inline double GlopParameters::_internal_recompute_reduced_costs_threshold() const {
1395  return recompute_reduced_costs_threshold_;
1396 }
1397 inline double GlopParameters::recompute_reduced_costs_threshold() const {
1398  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.recompute_reduced_costs_threshold)
1399  return _internal_recompute_reduced_costs_threshold();
1400 }
1401 inline void GlopParameters::_internal_set_recompute_reduced_costs_threshold(double value) {
1402  _has_bits_[0] |= 0x00000080u;
1403  recompute_reduced_costs_threshold_ = value;
1404 }
1405 inline void GlopParameters::set_recompute_reduced_costs_threshold(double value) {
1406  _internal_set_recompute_reduced_costs_threshold(value);
1407  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.recompute_reduced_costs_threshold)
1408 }
1409 
1410 // optional double recompute_edges_norm_threshold = 9 [default = 100];
1411 inline bool GlopParameters::_internal_has_recompute_edges_norm_threshold() const {
1412  bool value = (_has_bits_[0] & 0x00000100u) != 0;
1413  return value;
1414 }
1415 inline bool GlopParameters::has_recompute_edges_norm_threshold() const {
1416  return _internal_has_recompute_edges_norm_threshold();
1417 }
1418 inline void GlopParameters::clear_recompute_edges_norm_threshold() {
1419  recompute_edges_norm_threshold_ = 100;
1420  _has_bits_[0] &= ~0x00000100u;
1421 }
1422 inline double GlopParameters::_internal_recompute_edges_norm_threshold() const {
1423  return recompute_edges_norm_threshold_;
1424 }
1425 inline double GlopParameters::recompute_edges_norm_threshold() const {
1426  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.recompute_edges_norm_threshold)
1427  return _internal_recompute_edges_norm_threshold();
1428 }
1429 inline void GlopParameters::_internal_set_recompute_edges_norm_threshold(double value) {
1430  _has_bits_[0] |= 0x00000100u;
1431  recompute_edges_norm_threshold_ = value;
1432 }
1433 inline void GlopParameters::set_recompute_edges_norm_threshold(double value) {
1434  _internal_set_recompute_edges_norm_threshold(value);
1435  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.recompute_edges_norm_threshold)
1436 }
1437 
1438 // optional double primal_feasibility_tolerance = 10 [default = 1e-08];
1439 inline bool GlopParameters::_internal_has_primal_feasibility_tolerance() const {
1440  bool value = (_has_bits_[0] & 0x00000200u) != 0;
1441  return value;
1442 }
1443 inline bool GlopParameters::has_primal_feasibility_tolerance() const {
1444  return _internal_has_primal_feasibility_tolerance();
1445 }
1446 inline void GlopParameters::clear_primal_feasibility_tolerance() {
1447  primal_feasibility_tolerance_ = 1e-08;
1448  _has_bits_[0] &= ~0x00000200u;
1449 }
1450 inline double GlopParameters::_internal_primal_feasibility_tolerance() const {
1451  return primal_feasibility_tolerance_;
1452 }
1453 inline double GlopParameters::primal_feasibility_tolerance() const {
1454  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.primal_feasibility_tolerance)
1455  return _internal_primal_feasibility_tolerance();
1456 }
1457 inline void GlopParameters::_internal_set_primal_feasibility_tolerance(double value) {
1458  _has_bits_[0] |= 0x00000200u;
1459  primal_feasibility_tolerance_ = value;
1460 }
1461 inline void GlopParameters::set_primal_feasibility_tolerance(double value) {
1462  _internal_set_primal_feasibility_tolerance(value);
1463  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.primal_feasibility_tolerance)
1464 }
1465 
1466 // optional double dual_feasibility_tolerance = 11 [default = 1e-08];
1467 inline bool GlopParameters::_internal_has_dual_feasibility_tolerance() const {
1468  bool value = (_has_bits_[0] & 0x00000400u) != 0;
1469  return value;
1470 }
1471 inline bool GlopParameters::has_dual_feasibility_tolerance() const {
1472  return _internal_has_dual_feasibility_tolerance();
1473 }
1474 inline void GlopParameters::clear_dual_feasibility_tolerance() {
1475  dual_feasibility_tolerance_ = 1e-08;
1476  _has_bits_[0] &= ~0x00000400u;
1477 }
1478 inline double GlopParameters::_internal_dual_feasibility_tolerance() const {
1479  return dual_feasibility_tolerance_;
1480 }
1481 inline double GlopParameters::dual_feasibility_tolerance() const {
1482  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dual_feasibility_tolerance)
1483  return _internal_dual_feasibility_tolerance();
1484 }
1485 inline void GlopParameters::_internal_set_dual_feasibility_tolerance(double value) {
1486  _has_bits_[0] |= 0x00000400u;
1487  dual_feasibility_tolerance_ = value;
1488 }
1489 inline void GlopParameters::set_dual_feasibility_tolerance(double value) {
1490  _internal_set_dual_feasibility_tolerance(value);
1491  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dual_feasibility_tolerance)
1492 }
1493 
1494 // optional double ratio_test_zero_threshold = 12 [default = 1e-09];
1495 inline bool GlopParameters::_internal_has_ratio_test_zero_threshold() const {
1496  bool value = (_has_bits_[0] & 0x00000800u) != 0;
1497  return value;
1498 }
1499 inline bool GlopParameters::has_ratio_test_zero_threshold() const {
1500  return _internal_has_ratio_test_zero_threshold();
1501 }
1502 inline void GlopParameters::clear_ratio_test_zero_threshold() {
1503  ratio_test_zero_threshold_ = 1e-09;
1504  _has_bits_[0] &= ~0x00000800u;
1505 }
1506 inline double GlopParameters::_internal_ratio_test_zero_threshold() const {
1507  return ratio_test_zero_threshold_;
1508 }
1509 inline double GlopParameters::ratio_test_zero_threshold() const {
1510  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.ratio_test_zero_threshold)
1511  return _internal_ratio_test_zero_threshold();
1512 }
1513 inline void GlopParameters::_internal_set_ratio_test_zero_threshold(double value) {
1514  _has_bits_[0] |= 0x00000800u;
1515  ratio_test_zero_threshold_ = value;
1516 }
1517 inline void GlopParameters::set_ratio_test_zero_threshold(double value) {
1518  _internal_set_ratio_test_zero_threshold(value);
1519  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.ratio_test_zero_threshold)
1520 }
1521 
1522 // optional double harris_tolerance_ratio = 13 [default = 0.5];
1523 inline bool GlopParameters::_internal_has_harris_tolerance_ratio() const {
1524  bool value = (_has_bits_[0] & 0x00001000u) != 0;
1525  return value;
1526 }
1527 inline bool GlopParameters::has_harris_tolerance_ratio() const {
1528  return _internal_has_harris_tolerance_ratio();
1529 }
1530 inline void GlopParameters::clear_harris_tolerance_ratio() {
1531  harris_tolerance_ratio_ = 0.5;
1532  _has_bits_[0] &= ~0x00001000u;
1533 }
1534 inline double GlopParameters::_internal_harris_tolerance_ratio() const {
1535  return harris_tolerance_ratio_;
1536 }
1537 inline double GlopParameters::harris_tolerance_ratio() const {
1538  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.harris_tolerance_ratio)
1539  return _internal_harris_tolerance_ratio();
1540 }
1541 inline void GlopParameters::_internal_set_harris_tolerance_ratio(double value) {
1542  _has_bits_[0] |= 0x00001000u;
1543  harris_tolerance_ratio_ = value;
1544 }
1545 inline void GlopParameters::set_harris_tolerance_ratio(double value) {
1546  _internal_set_harris_tolerance_ratio(value);
1547  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.harris_tolerance_ratio)
1548 }
1549 
1550 // optional double small_pivot_threshold = 14 [default = 1e-06];
1551 inline bool GlopParameters::_internal_has_small_pivot_threshold() const {
1552  bool value = (_has_bits_[0] & 0x00002000u) != 0;
1553  return value;
1554 }
1555 inline bool GlopParameters::has_small_pivot_threshold() const {
1556  return _internal_has_small_pivot_threshold();
1557 }
1558 inline void GlopParameters::clear_small_pivot_threshold() {
1559  small_pivot_threshold_ = 1e-06;
1560  _has_bits_[0] &= ~0x00002000u;
1561 }
1562 inline double GlopParameters::_internal_small_pivot_threshold() const {
1563  return small_pivot_threshold_;
1564 }
1565 inline double GlopParameters::small_pivot_threshold() const {
1566  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.small_pivot_threshold)
1567  return _internal_small_pivot_threshold();
1568 }
1569 inline void GlopParameters::_internal_set_small_pivot_threshold(double value) {
1570  _has_bits_[0] |= 0x00002000u;
1571  small_pivot_threshold_ = value;
1572 }
1573 inline void GlopParameters::set_small_pivot_threshold(double value) {
1574  _internal_set_small_pivot_threshold(value);
1575  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.small_pivot_threshold)
1576 }
1577 
1578 // optional double minimum_acceptable_pivot = 15 [default = 1e-06];
1579 inline bool GlopParameters::_internal_has_minimum_acceptable_pivot() const {
1580  bool value = (_has_bits_[0] & 0x00004000u) != 0;
1581  return value;
1582 }
1583 inline bool GlopParameters::has_minimum_acceptable_pivot() const {
1584  return _internal_has_minimum_acceptable_pivot();
1585 }
1586 inline void GlopParameters::clear_minimum_acceptable_pivot() {
1587  minimum_acceptable_pivot_ = 1e-06;
1588  _has_bits_[0] &= ~0x00004000u;
1589 }
1590 inline double GlopParameters::_internal_minimum_acceptable_pivot() const {
1591  return minimum_acceptable_pivot_;
1592 }
1593 inline double GlopParameters::minimum_acceptable_pivot() const {
1594  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.minimum_acceptable_pivot)
1595  return _internal_minimum_acceptable_pivot();
1596 }
1597 inline void GlopParameters::_internal_set_minimum_acceptable_pivot(double value) {
1598  _has_bits_[0] |= 0x00004000u;
1599  minimum_acceptable_pivot_ = value;
1600 }
1601 inline void GlopParameters::set_minimum_acceptable_pivot(double value) {
1602  _internal_set_minimum_acceptable_pivot(value);
1603  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.minimum_acceptable_pivot)
1604 }
1605 
1606 // optional double drop_tolerance = 52 [default = 1e-14];
1607 inline bool GlopParameters::_internal_has_drop_tolerance() const {
1608  bool value = (_has_bits_[1] & 0x00001000u) != 0;
1609  return value;
1610 }
1611 inline bool GlopParameters::has_drop_tolerance() const {
1612  return _internal_has_drop_tolerance();
1613 }
1614 inline void GlopParameters::clear_drop_tolerance() {
1615  drop_tolerance_ = 1e-14;
1616  _has_bits_[1] &= ~0x00001000u;
1617 }
1618 inline double GlopParameters::_internal_drop_tolerance() const {
1619  return drop_tolerance_;
1620 }
1621 inline double GlopParameters::drop_tolerance() const {
1622  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.drop_tolerance)
1623  return _internal_drop_tolerance();
1624 }
1625 inline void GlopParameters::_internal_set_drop_tolerance(double value) {
1626  _has_bits_[1] |= 0x00001000u;
1627  drop_tolerance_ = value;
1628 }
1629 inline void GlopParameters::set_drop_tolerance(double value) {
1630  _internal_set_drop_tolerance(value);
1631  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.drop_tolerance)
1632 }
1633 
1634 // optional bool use_scaling = 16 [default = true];
1635 inline bool GlopParameters::_internal_has_use_scaling() const {
1636  bool value = (_has_bits_[0] & 0x02000000u) != 0;
1637  return value;
1638 }
1639 inline bool GlopParameters::has_use_scaling() const {
1640  return _internal_has_use_scaling();
1641 }
1642 inline void GlopParameters::clear_use_scaling() {
1643  use_scaling_ = true;
1644  _has_bits_[0] &= ~0x02000000u;
1645 }
1646 inline bool GlopParameters::_internal_use_scaling() const {
1647  return use_scaling_;
1648 }
1649 inline bool GlopParameters::use_scaling() const {
1650  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_scaling)
1651  return _internal_use_scaling();
1652 }
1653 inline void GlopParameters::_internal_set_use_scaling(bool value) {
1654  _has_bits_[0] |= 0x02000000u;
1655  use_scaling_ = value;
1656 }
1657 inline void GlopParameters::set_use_scaling(bool value) {
1658  _internal_set_use_scaling(value);
1659  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_scaling)
1660 }
1661 
1662 // optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
1663 inline bool GlopParameters::_internal_has_cost_scaling() const {
1664  bool value = (_has_bits_[1] & 0x00020000u) != 0;
1665  return value;
1666 }
1667 inline bool GlopParameters::has_cost_scaling() const {
1668  return _internal_has_cost_scaling();
1669 }
1670 inline void GlopParameters::clear_cost_scaling() {
1671  cost_scaling_ = 1;
1672  _has_bits_[1] &= ~0x00020000u;
1673 }
1674 inline ::operations_research::glop::GlopParameters_CostScalingAlgorithm GlopParameters::_internal_cost_scaling() const {
1675  return static_cast< ::operations_research::glop::GlopParameters_CostScalingAlgorithm >(cost_scaling_);
1676 }
1678  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.cost_scaling)
1679  return _internal_cost_scaling();
1680 }
1681 inline void GlopParameters::_internal_set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value) {
1683  _has_bits_[1] |= 0x00020000u;
1684  cost_scaling_ = value;
1685 }
1686 inline void GlopParameters::set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value) {
1687  _internal_set_cost_scaling(value);
1688  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.cost_scaling)
1689 }
1690 
1691 // optional .operations_research.glop.GlopParameters.InitialBasisHeuristic initial_basis = 17 [default = TRIANGULAR];
1692 inline bool GlopParameters::_internal_has_initial_basis() const {
1693  bool value = (_has_bits_[0] & 0x00008000u) != 0;
1694  return value;
1695 }
1696 inline bool GlopParameters::has_initial_basis() const {
1697  return _internal_has_initial_basis();
1698 }
1699 inline void GlopParameters::clear_initial_basis() {
1700  initial_basis_ = 2;
1701  _has_bits_[0] &= ~0x00008000u;
1702 }
1703 inline ::operations_research::glop::GlopParameters_InitialBasisHeuristic GlopParameters::_internal_initial_basis() const {
1704  return static_cast< ::operations_research::glop::GlopParameters_InitialBasisHeuristic >(initial_basis_);
1705 }
1707  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initial_basis)
1708  return _internal_initial_basis();
1709 }
1710 inline void GlopParameters::_internal_set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value) {
1712  _has_bits_[0] |= 0x00008000u;
1713  initial_basis_ = value;
1714 }
1715 inline void GlopParameters::set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value) {
1716  _internal_set_initial_basis(value);
1717  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initial_basis)
1718 }
1719 
1720 // optional bool use_transposed_matrix = 18 [default = true];
1721 inline bool GlopParameters::_internal_has_use_transposed_matrix() const {
1722  bool value = (_has_bits_[0] & 0x04000000u) != 0;
1723  return value;
1724 }
1725 inline bool GlopParameters::has_use_transposed_matrix() const {
1726  return _internal_has_use_transposed_matrix();
1727 }
1728 inline void GlopParameters::clear_use_transposed_matrix() {
1729  use_transposed_matrix_ = true;
1730  _has_bits_[0] &= ~0x04000000u;
1731 }
1732 inline bool GlopParameters::_internal_use_transposed_matrix() const {
1733  return use_transposed_matrix_;
1734 }
1735 inline bool GlopParameters::use_transposed_matrix() const {
1736  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_transposed_matrix)
1737  return _internal_use_transposed_matrix();
1738 }
1739 inline void GlopParameters::_internal_set_use_transposed_matrix(bool value) {
1740  _has_bits_[0] |= 0x04000000u;
1741  use_transposed_matrix_ = value;
1742 }
1743 inline void GlopParameters::set_use_transposed_matrix(bool value) {
1744  _internal_set_use_transposed_matrix(value);
1745  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_transposed_matrix)
1746 }
1747 
1748 // optional int32 basis_refactorization_period = 19 [default = 64];
1749 inline bool GlopParameters::_internal_has_basis_refactorization_period() const {
1750  bool value = (_has_bits_[0] & 0x00010000u) != 0;
1751  return value;
1752 }
1753 inline bool GlopParameters::has_basis_refactorization_period() const {
1754  return _internal_has_basis_refactorization_period();
1755 }
1756 inline void GlopParameters::clear_basis_refactorization_period() {
1757  basis_refactorization_period_ = 64;
1758  _has_bits_[0] &= ~0x00010000u;
1759 }
1760 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_basis_refactorization_period() const {
1761  return basis_refactorization_period_;
1762 }
1763 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::basis_refactorization_period() const {
1764  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.basis_refactorization_period)
1765  return _internal_basis_refactorization_period();
1766 }
1767 inline void GlopParameters::_internal_set_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
1768  _has_bits_[0] |= 0x00010000u;
1769  basis_refactorization_period_ = value;
1770 }
1771 inline void GlopParameters::set_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
1772  _internal_set_basis_refactorization_period(value);
1773  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.basis_refactorization_period)
1774 }
1775 
1776 // optional bool dynamically_adjust_refactorization_period = 63 [default = true];
1777 inline bool GlopParameters::_internal_has_dynamically_adjust_refactorization_period() const {
1778  bool value = (_has_bits_[0] & 0x08000000u) != 0;
1779  return value;
1780 }
1781 inline bool GlopParameters::has_dynamically_adjust_refactorization_period() const {
1782  return _internal_has_dynamically_adjust_refactorization_period();
1783 }
1784 inline void GlopParameters::clear_dynamically_adjust_refactorization_period() {
1785  dynamically_adjust_refactorization_period_ = true;
1786  _has_bits_[0] &= ~0x08000000u;
1787 }
1788 inline bool GlopParameters::_internal_dynamically_adjust_refactorization_period() const {
1789  return dynamically_adjust_refactorization_period_;
1790 }
1791 inline bool GlopParameters::dynamically_adjust_refactorization_period() const {
1792  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dynamically_adjust_refactorization_period)
1793  return _internal_dynamically_adjust_refactorization_period();
1794 }
1795 inline void GlopParameters::_internal_set_dynamically_adjust_refactorization_period(bool value) {
1796  _has_bits_[0] |= 0x08000000u;
1797  dynamically_adjust_refactorization_period_ = value;
1798 }
1799 inline void GlopParameters::set_dynamically_adjust_refactorization_period(bool value) {
1800  _internal_set_dynamically_adjust_refactorization_period(value);
1801  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dynamically_adjust_refactorization_period)
1802 }
1803 
1804 // optional .operations_research.glop.GlopParameters.SolverBehavior solve_dual_problem = 20 [default = LET_SOLVER_DECIDE];
1805 inline bool GlopParameters::_internal_has_solve_dual_problem() const {
1806  bool value = (_has_bits_[0] & 0x00080000u) != 0;
1807  return value;
1808 }
1809 inline bool GlopParameters::has_solve_dual_problem() const {
1810  return _internal_has_solve_dual_problem();
1811 }
1812 inline void GlopParameters::clear_solve_dual_problem() {
1813  solve_dual_problem_ = 2;
1814  _has_bits_[0] &= ~0x00080000u;
1815 }
1816 inline ::operations_research::glop::GlopParameters_SolverBehavior GlopParameters::_internal_solve_dual_problem() const {
1817  return static_cast< ::operations_research::glop::GlopParameters_SolverBehavior >(solve_dual_problem_);
1818 }
1819 inline ::operations_research::glop::GlopParameters_SolverBehavior GlopParameters::solve_dual_problem() const {
1820  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.solve_dual_problem)
1821  return _internal_solve_dual_problem();
1822 }
1823 inline void GlopParameters::_internal_set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value) {
1825  _has_bits_[0] |= 0x00080000u;
1826  solve_dual_problem_ = value;
1827 }
1828 inline void GlopParameters::set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value) {
1829  _internal_set_solve_dual_problem(value);
1830  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.solve_dual_problem)
1831 }
1832 
1833 // optional double dualizer_threshold = 21 [default = 1.5];
1834 inline bool GlopParameters::_internal_has_dualizer_threshold() const {
1835  bool value = (_has_bits_[0] & 0x00020000u) != 0;
1836  return value;
1837 }
1838 inline bool GlopParameters::has_dualizer_threshold() const {
1839  return _internal_has_dualizer_threshold();
1840 }
1841 inline void GlopParameters::clear_dualizer_threshold() {
1842  dualizer_threshold_ = 1.5;
1843  _has_bits_[0] &= ~0x00020000u;
1844 }
1845 inline double GlopParameters::_internal_dualizer_threshold() const {
1846  return dualizer_threshold_;
1847 }
1848 inline double GlopParameters::dualizer_threshold() const {
1849  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dualizer_threshold)
1850  return _internal_dualizer_threshold();
1851 }
1852 inline void GlopParameters::_internal_set_dualizer_threshold(double value) {
1853  _has_bits_[0] |= 0x00020000u;
1854  dualizer_threshold_ = value;
1855 }
1856 inline void GlopParameters::set_dualizer_threshold(double value) {
1857  _internal_set_dualizer_threshold(value);
1858  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dualizer_threshold)
1859 }
1860 
1861 // optional double solution_feasibility_tolerance = 22 [default = 1e-06];
1862 inline bool GlopParameters::_internal_has_solution_feasibility_tolerance() const {
1863  bool value = (_has_bits_[0] & 0x00040000u) != 0;
1864  return value;
1865 }
1866 inline bool GlopParameters::has_solution_feasibility_tolerance() const {
1867  return _internal_has_solution_feasibility_tolerance();
1868 }
1869 inline void GlopParameters::clear_solution_feasibility_tolerance() {
1870  solution_feasibility_tolerance_ = 1e-06;
1871  _has_bits_[0] &= ~0x00040000u;
1872 }
1873 inline double GlopParameters::_internal_solution_feasibility_tolerance() const {
1874  return solution_feasibility_tolerance_;
1875 }
1876 inline double GlopParameters::solution_feasibility_tolerance() const {
1877  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.solution_feasibility_tolerance)
1878  return _internal_solution_feasibility_tolerance();
1879 }
1880 inline void GlopParameters::_internal_set_solution_feasibility_tolerance(double value) {
1881  _has_bits_[0] |= 0x00040000u;
1882  solution_feasibility_tolerance_ = value;
1883 }
1884 inline void GlopParameters::set_solution_feasibility_tolerance(double value) {
1885  _internal_set_solution_feasibility_tolerance(value);
1886  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.solution_feasibility_tolerance)
1887 }
1888 
1889 // optional bool provide_strong_optimal_guarantee = 24 [default = true];
1890 inline bool GlopParameters::_internal_has_provide_strong_optimal_guarantee() const {
1891  bool value = (_has_bits_[0] & 0x10000000u) != 0;
1892  return value;
1893 }
1894 inline bool GlopParameters::has_provide_strong_optimal_guarantee() const {
1895  return _internal_has_provide_strong_optimal_guarantee();
1896 }
1897 inline void GlopParameters::clear_provide_strong_optimal_guarantee() {
1898  provide_strong_optimal_guarantee_ = true;
1899  _has_bits_[0] &= ~0x10000000u;
1900 }
1901 inline bool GlopParameters::_internal_provide_strong_optimal_guarantee() const {
1902  return provide_strong_optimal_guarantee_;
1903 }
1904 inline bool GlopParameters::provide_strong_optimal_guarantee() const {
1905  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.provide_strong_optimal_guarantee)
1906  return _internal_provide_strong_optimal_guarantee();
1907 }
1908 inline void GlopParameters::_internal_set_provide_strong_optimal_guarantee(bool value) {
1909  _has_bits_[0] |= 0x10000000u;
1910  provide_strong_optimal_guarantee_ = value;
1911 }
1912 inline void GlopParameters::set_provide_strong_optimal_guarantee(bool value) {
1913  _internal_set_provide_strong_optimal_guarantee(value);
1914  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.provide_strong_optimal_guarantee)
1915 }
1916 
1917 // optional bool change_status_to_imprecise = 58 [default = true];
1918 inline bool GlopParameters::_internal_has_change_status_to_imprecise() const {
1919  bool value = (_has_bits_[1] & 0x00000004u) != 0;
1920  return value;
1921 }
1922 inline bool GlopParameters::has_change_status_to_imprecise() const {
1923  return _internal_has_change_status_to_imprecise();
1924 }
1925 inline void GlopParameters::clear_change_status_to_imprecise() {
1926  change_status_to_imprecise_ = true;
1927  _has_bits_[1] &= ~0x00000004u;
1928 }
1929 inline bool GlopParameters::_internal_change_status_to_imprecise() const {
1930  return change_status_to_imprecise_;
1931 }
1932 inline bool GlopParameters::change_status_to_imprecise() const {
1933  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.change_status_to_imprecise)
1934  return _internal_change_status_to_imprecise();
1935 }
1936 inline void GlopParameters::_internal_set_change_status_to_imprecise(bool value) {
1937  _has_bits_[1] |= 0x00000004u;
1938  change_status_to_imprecise_ = value;
1939 }
1940 inline void GlopParameters::set_change_status_to_imprecise(bool value) {
1941  _internal_set_change_status_to_imprecise(value);
1942  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.change_status_to_imprecise)
1943 }
1944 
1945 // optional double max_number_of_reoptimizations = 56 [default = 40];
1946 inline bool GlopParameters::_internal_has_max_number_of_reoptimizations() const {
1947  bool value = (_has_bits_[1] & 0x00008000u) != 0;
1948  return value;
1949 }
1950 inline bool GlopParameters::has_max_number_of_reoptimizations() const {
1951  return _internal_has_max_number_of_reoptimizations();
1952 }
1953 inline void GlopParameters::clear_max_number_of_reoptimizations() {
1954  max_number_of_reoptimizations_ = 40;
1955  _has_bits_[1] &= ~0x00008000u;
1956 }
1957 inline double GlopParameters::_internal_max_number_of_reoptimizations() const {
1958  return max_number_of_reoptimizations_;
1959 }
1960 inline double GlopParameters::max_number_of_reoptimizations() const {
1961  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_number_of_reoptimizations)
1962  return _internal_max_number_of_reoptimizations();
1963 }
1964 inline void GlopParameters::_internal_set_max_number_of_reoptimizations(double value) {
1965  _has_bits_[1] |= 0x00008000u;
1966  max_number_of_reoptimizations_ = value;
1967 }
1968 inline void GlopParameters::set_max_number_of_reoptimizations(double value) {
1969  _internal_set_max_number_of_reoptimizations(value);
1970  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_number_of_reoptimizations)
1971 }
1972 
1973 // optional double lu_factorization_pivot_threshold = 25 [default = 0.01];
1974 inline bool GlopParameters::_internal_has_lu_factorization_pivot_threshold() const {
1975  bool value = (_has_bits_[0] & 0x00200000u) != 0;
1976  return value;
1977 }
1978 inline bool GlopParameters::has_lu_factorization_pivot_threshold() const {
1979  return _internal_has_lu_factorization_pivot_threshold();
1980 }
1981 inline void GlopParameters::clear_lu_factorization_pivot_threshold() {
1982  lu_factorization_pivot_threshold_ = 0.01;
1983  _has_bits_[0] &= ~0x00200000u;
1984 }
1985 inline double GlopParameters::_internal_lu_factorization_pivot_threshold() const {
1986  return lu_factorization_pivot_threshold_;
1987 }
1988 inline double GlopParameters::lu_factorization_pivot_threshold() const {
1989  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.lu_factorization_pivot_threshold)
1990  return _internal_lu_factorization_pivot_threshold();
1991 }
1992 inline void GlopParameters::_internal_set_lu_factorization_pivot_threshold(double value) {
1993  _has_bits_[0] |= 0x00200000u;
1994  lu_factorization_pivot_threshold_ = value;
1995 }
1996 inline void GlopParameters::set_lu_factorization_pivot_threshold(double value) {
1997  _internal_set_lu_factorization_pivot_threshold(value);
1998  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.lu_factorization_pivot_threshold)
1999 }
2000 
2001 // optional double max_time_in_seconds = 26 [default = inf];
2002 inline bool GlopParameters::_internal_has_max_time_in_seconds() const {
2003  bool value = (_has_bits_[0] & 0x00400000u) != 0;
2004  return value;
2005 }
2006 inline bool GlopParameters::has_max_time_in_seconds() const {
2007  return _internal_has_max_time_in_seconds();
2008 }
2009 inline void GlopParameters::clear_max_time_in_seconds() {
2010  max_time_in_seconds_ = std::numeric_limits<double>::infinity();
2011  _has_bits_[0] &= ~0x00400000u;
2012 }
2013 inline double GlopParameters::_internal_max_time_in_seconds() const {
2014  return max_time_in_seconds_;
2015 }
2016 inline double GlopParameters::max_time_in_seconds() const {
2017  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_time_in_seconds)
2018  return _internal_max_time_in_seconds();
2019 }
2020 inline void GlopParameters::_internal_set_max_time_in_seconds(double value) {
2021  _has_bits_[0] |= 0x00400000u;
2022  max_time_in_seconds_ = value;
2023 }
2024 inline void GlopParameters::set_max_time_in_seconds(double value) {
2025  _internal_set_max_time_in_seconds(value);
2026  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_time_in_seconds)
2027 }
2028 
2029 // optional double max_deterministic_time = 45 [default = inf];
2030 inline bool GlopParameters::_internal_has_max_deterministic_time() const {
2031  bool value = (_has_bits_[1] & 0x00000100u) != 0;
2032  return value;
2033 }
2034 inline bool GlopParameters::has_max_deterministic_time() const {
2035  return _internal_has_max_deterministic_time();
2036 }
2037 inline void GlopParameters::clear_max_deterministic_time() {
2038  max_deterministic_time_ = std::numeric_limits<double>::infinity();
2039  _has_bits_[1] &= ~0x00000100u;
2040 }
2041 inline double GlopParameters::_internal_max_deterministic_time() const {
2042  return max_deterministic_time_;
2043 }
2044 inline double GlopParameters::max_deterministic_time() const {
2045  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_deterministic_time)
2046  return _internal_max_deterministic_time();
2047 }
2048 inline void GlopParameters::_internal_set_max_deterministic_time(double value) {
2049  _has_bits_[1] |= 0x00000100u;
2050  max_deterministic_time_ = value;
2051 }
2052 inline void GlopParameters::set_max_deterministic_time(double value) {
2053  _internal_set_max_deterministic_time(value);
2054  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_deterministic_time)
2055 }
2056 
2057 // optional int64 max_number_of_iterations = 27 [default = -1];
2058 inline bool GlopParameters::_internal_has_max_number_of_iterations() const {
2059  bool value = (_has_bits_[0] & 0x00800000u) != 0;
2060  return value;
2061 }
2062 inline bool GlopParameters::has_max_number_of_iterations() const {
2063  return _internal_has_max_number_of_iterations();
2064 }
2065 inline void GlopParameters::clear_max_number_of_iterations() {
2066  max_number_of_iterations_ = PROTOBUF_LONGLONG(-1);
2067  _has_bits_[0] &= ~0x00800000u;
2068 }
2069 inline ::PROTOBUF_NAMESPACE_ID::int64 GlopParameters::_internal_max_number_of_iterations() const {
2070  return max_number_of_iterations_;
2071 }
2072 inline ::PROTOBUF_NAMESPACE_ID::int64 GlopParameters::max_number_of_iterations() const {
2073  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_number_of_iterations)
2074  return _internal_max_number_of_iterations();
2075 }
2076 inline void GlopParameters::_internal_set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
2077  _has_bits_[0] |= 0x00800000u;
2078  max_number_of_iterations_ = value;
2079 }
2080 inline void GlopParameters::set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
2081  _internal_set_max_number_of_iterations(value);
2082  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_number_of_iterations)
2083 }
2084 
2085 // optional int32 markowitz_zlatev_parameter = 29 [default = 3];
2086 inline bool GlopParameters::_internal_has_markowitz_zlatev_parameter() const {
2087  bool value = (_has_bits_[0] & 0x00100000u) != 0;
2088  return value;
2089 }
2090 inline bool GlopParameters::has_markowitz_zlatev_parameter() const {
2091  return _internal_has_markowitz_zlatev_parameter();
2092 }
2093 inline void GlopParameters::clear_markowitz_zlatev_parameter() {
2094  markowitz_zlatev_parameter_ = 3;
2095  _has_bits_[0] &= ~0x00100000u;
2096 }
2097 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_markowitz_zlatev_parameter() const {
2098  return markowitz_zlatev_parameter_;
2099 }
2100 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::markowitz_zlatev_parameter() const {
2101  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.markowitz_zlatev_parameter)
2102  return _internal_markowitz_zlatev_parameter();
2103 }
2104 inline void GlopParameters::_internal_set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value) {
2105  _has_bits_[0] |= 0x00100000u;
2106  markowitz_zlatev_parameter_ = value;
2107 }
2108 inline void GlopParameters::set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value) {
2109  _internal_set_markowitz_zlatev_parameter(value);
2110  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.markowitz_zlatev_parameter)
2111 }
2112 
2113 // optional double markowitz_singularity_threshold = 30 [default = 1e-15];
2114 inline bool GlopParameters::_internal_has_markowitz_singularity_threshold() const {
2115  bool value = (_has_bits_[0] & 0x01000000u) != 0;
2116  return value;
2117 }
2118 inline bool GlopParameters::has_markowitz_singularity_threshold() const {
2119  return _internal_has_markowitz_singularity_threshold();
2120 }
2121 inline void GlopParameters::clear_markowitz_singularity_threshold() {
2122  markowitz_singularity_threshold_ = 1e-15;
2123  _has_bits_[0] &= ~0x01000000u;
2124 }
2125 inline double GlopParameters::_internal_markowitz_singularity_threshold() const {
2126  return markowitz_singularity_threshold_;
2127 }
2128 inline double GlopParameters::markowitz_singularity_threshold() const {
2129  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.markowitz_singularity_threshold)
2130  return _internal_markowitz_singularity_threshold();
2131 }
2132 inline void GlopParameters::_internal_set_markowitz_singularity_threshold(double value) {
2133  _has_bits_[0] |= 0x01000000u;
2134  markowitz_singularity_threshold_ = value;
2135 }
2136 inline void GlopParameters::set_markowitz_singularity_threshold(double value) {
2137  _internal_set_markowitz_singularity_threshold(value);
2138  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.markowitz_singularity_threshold)
2139 }
2140 
2141 // optional bool use_dual_simplex = 31 [default = false];
2142 inline bool GlopParameters::_internal_has_use_dual_simplex() const {
2143  bool value = (_has_bits_[0] & 0x00000001u) != 0;
2144  return value;
2145 }
2146 inline bool GlopParameters::has_use_dual_simplex() const {
2147  return _internal_has_use_dual_simplex();
2148 }
2149 inline void GlopParameters::clear_use_dual_simplex() {
2150  use_dual_simplex_ = false;
2151  _has_bits_[0] &= ~0x00000001u;
2152 }
2153 inline bool GlopParameters::_internal_use_dual_simplex() const {
2154  return use_dual_simplex_;
2155 }
2156 inline bool GlopParameters::use_dual_simplex() const {
2157  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_dual_simplex)
2158  return _internal_use_dual_simplex();
2159 }
2160 inline void GlopParameters::_internal_set_use_dual_simplex(bool value) {
2161  _has_bits_[0] |= 0x00000001u;
2162  use_dual_simplex_ = value;
2163 }
2164 inline void GlopParameters::set_use_dual_simplex(bool value) {
2165  _internal_set_use_dual_simplex(value);
2166  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_dual_simplex)
2167 }
2168 
2169 // optional bool allow_simplex_algorithm_change = 32 [default = false];
2170 inline bool GlopParameters::_internal_has_allow_simplex_algorithm_change() const {
2171  bool value = (_has_bits_[0] & 0x00000002u) != 0;
2172  return value;
2173 }
2174 inline bool GlopParameters::has_allow_simplex_algorithm_change() const {
2175  return _internal_has_allow_simplex_algorithm_change();
2176 }
2177 inline void GlopParameters::clear_allow_simplex_algorithm_change() {
2178  allow_simplex_algorithm_change_ = false;
2179  _has_bits_[0] &= ~0x00000002u;
2180 }
2181 inline bool GlopParameters::_internal_allow_simplex_algorithm_change() const {
2182  return allow_simplex_algorithm_change_;
2183 }
2184 inline bool GlopParameters::allow_simplex_algorithm_change() const {
2185  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.allow_simplex_algorithm_change)
2186  return _internal_allow_simplex_algorithm_change();
2187 }
2188 inline void GlopParameters::_internal_set_allow_simplex_algorithm_change(bool value) {
2189  _has_bits_[0] |= 0x00000002u;
2190  allow_simplex_algorithm_change_ = value;
2191 }
2192 inline void GlopParameters::set_allow_simplex_algorithm_change(bool value) {
2193  _internal_set_allow_simplex_algorithm_change(value);
2194  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.allow_simplex_algorithm_change)
2195 }
2196 
2197 // optional int32 devex_weights_reset_period = 33 [default = 150];
2198 inline bool GlopParameters::_internal_has_devex_weights_reset_period() const {
2199  bool value = (_has_bits_[0] & 0x20000000u) != 0;
2200  return value;
2201 }
2202 inline bool GlopParameters::has_devex_weights_reset_period() const {
2203  return _internal_has_devex_weights_reset_period();
2204 }
2205 inline void GlopParameters::clear_devex_weights_reset_period() {
2206  devex_weights_reset_period_ = 150;
2207  _has_bits_[0] &= ~0x20000000u;
2208 }
2209 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_devex_weights_reset_period() const {
2210  return devex_weights_reset_period_;
2211 }
2212 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::devex_weights_reset_period() const {
2213  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.devex_weights_reset_period)
2214  return _internal_devex_weights_reset_period();
2215 }
2216 inline void GlopParameters::_internal_set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
2217  _has_bits_[0] |= 0x20000000u;
2218  devex_weights_reset_period_ = value;
2219 }
2220 inline void GlopParameters::set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
2221  _internal_set_devex_weights_reset_period(value);
2222  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.devex_weights_reset_period)
2223 }
2224 
2225 // optional bool use_preprocessing = 34 [default = true];
2226 inline bool GlopParameters::_internal_has_use_preprocessing() const {
2227  bool value = (_has_bits_[1] & 0x00000008u) != 0;
2228  return value;
2229 }
2230 inline bool GlopParameters::has_use_preprocessing() const {
2231  return _internal_has_use_preprocessing();
2232 }
2233 inline void GlopParameters::clear_use_preprocessing() {
2234  use_preprocessing_ = true;
2235  _has_bits_[1] &= ~0x00000008u;
2236 }
2237 inline bool GlopParameters::_internal_use_preprocessing() const {
2238  return use_preprocessing_;
2239 }
2240 inline bool GlopParameters::use_preprocessing() const {
2241  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_preprocessing)
2242  return _internal_use_preprocessing();
2243 }
2244 inline void GlopParameters::_internal_set_use_preprocessing(bool value) {
2245  _has_bits_[1] |= 0x00000008u;
2246  use_preprocessing_ = value;
2247 }
2248 inline void GlopParameters::set_use_preprocessing(bool value) {
2249  _internal_set_use_preprocessing(value);
2250  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_preprocessing)
2251 }
2252 
2253 // optional bool use_middle_product_form_update = 35 [default = true];
2254 inline bool GlopParameters::_internal_has_use_middle_product_form_update() const {
2255  bool value = (_has_bits_[1] & 0x00000010u) != 0;
2256  return value;
2257 }
2258 inline bool GlopParameters::has_use_middle_product_form_update() const {
2259  return _internal_has_use_middle_product_form_update();
2260 }
2261 inline void GlopParameters::clear_use_middle_product_form_update() {
2262  use_middle_product_form_update_ = true;
2263  _has_bits_[1] &= ~0x00000010u;
2264 }
2265 inline bool GlopParameters::_internal_use_middle_product_form_update() const {
2266  return use_middle_product_form_update_;
2267 }
2268 inline bool GlopParameters::use_middle_product_form_update() const {
2269  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_middle_product_form_update)
2270  return _internal_use_middle_product_form_update();
2271 }
2272 inline void GlopParameters::_internal_set_use_middle_product_form_update(bool value) {
2273  _has_bits_[1] |= 0x00000010u;
2274  use_middle_product_form_update_ = value;
2275 }
2276 inline void GlopParameters::set_use_middle_product_form_update(bool value) {
2277  _internal_set_use_middle_product_form_update(value);
2278  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_middle_product_form_update)
2279 }
2280 
2281 // optional bool initialize_devex_with_column_norms = 36 [default = true];
2282 inline bool GlopParameters::_internal_has_initialize_devex_with_column_norms() const {
2283  bool value = (_has_bits_[1] & 0x00000020u) != 0;
2284  return value;
2285 }
2286 inline bool GlopParameters::has_initialize_devex_with_column_norms() const {
2287  return _internal_has_initialize_devex_with_column_norms();
2288 }
2289 inline void GlopParameters::clear_initialize_devex_with_column_norms() {
2290  initialize_devex_with_column_norms_ = true;
2291  _has_bits_[1] &= ~0x00000020u;
2292 }
2293 inline bool GlopParameters::_internal_initialize_devex_with_column_norms() const {
2294  return initialize_devex_with_column_norms_;
2295 }
2296 inline bool GlopParameters::initialize_devex_with_column_norms() const {
2297  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initialize_devex_with_column_norms)
2298  return _internal_initialize_devex_with_column_norms();
2299 }
2300 inline void GlopParameters::_internal_set_initialize_devex_with_column_norms(bool value) {
2301  _has_bits_[1] |= 0x00000020u;
2302  initialize_devex_with_column_norms_ = value;
2303 }
2304 inline void GlopParameters::set_initialize_devex_with_column_norms(bool value) {
2305  _internal_set_initialize_devex_with_column_norms(value);
2306  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initialize_devex_with_column_norms)
2307 }
2308 
2309 // optional bool exploit_singleton_column_in_initial_basis = 37 [default = true];
2310 inline bool GlopParameters::_internal_has_exploit_singleton_column_in_initial_basis() const {
2311  bool value = (_has_bits_[1] & 0x00000400u) != 0;
2312  return value;
2313 }
2314 inline bool GlopParameters::has_exploit_singleton_column_in_initial_basis() const {
2315  return _internal_has_exploit_singleton_column_in_initial_basis();
2316 }
2317 inline void GlopParameters::clear_exploit_singleton_column_in_initial_basis() {
2318  exploit_singleton_column_in_initial_basis_ = true;
2319  _has_bits_[1] &= ~0x00000400u;
2320 }
2321 inline bool GlopParameters::_internal_exploit_singleton_column_in_initial_basis() const {
2322  return exploit_singleton_column_in_initial_basis_;
2323 }
2324 inline bool GlopParameters::exploit_singleton_column_in_initial_basis() const {
2325  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.exploit_singleton_column_in_initial_basis)
2326  return _internal_exploit_singleton_column_in_initial_basis();
2327 }
2328 inline void GlopParameters::_internal_set_exploit_singleton_column_in_initial_basis(bool value) {
2329  _has_bits_[1] |= 0x00000400u;
2330  exploit_singleton_column_in_initial_basis_ = value;
2331 }
2332 inline void GlopParameters::set_exploit_singleton_column_in_initial_basis(bool value) {
2333  _internal_set_exploit_singleton_column_in_initial_basis(value);
2334  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.exploit_singleton_column_in_initial_basis)
2335 }
2336 
2337 // optional double dual_small_pivot_threshold = 38 [default = 0.0001];
2338 inline bool GlopParameters::_internal_has_dual_small_pivot_threshold() const {
2339  bool value = (_has_bits_[0] & 0x40000000u) != 0;
2340  return value;
2341 }
2342 inline bool GlopParameters::has_dual_small_pivot_threshold() const {
2343  return _internal_has_dual_small_pivot_threshold();
2344 }
2345 inline void GlopParameters::clear_dual_small_pivot_threshold() {
2346  dual_small_pivot_threshold_ = 0.0001;
2347  _has_bits_[0] &= ~0x40000000u;
2348 }
2349 inline double GlopParameters::_internal_dual_small_pivot_threshold() const {
2350  return dual_small_pivot_threshold_;
2351 }
2352 inline double GlopParameters::dual_small_pivot_threshold() const {
2353  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dual_small_pivot_threshold)
2354  return _internal_dual_small_pivot_threshold();
2355 }
2356 inline void GlopParameters::_internal_set_dual_small_pivot_threshold(double value) {
2357  _has_bits_[0] |= 0x40000000u;
2358  dual_small_pivot_threshold_ = value;
2359 }
2360 inline void GlopParameters::set_dual_small_pivot_threshold(double value) {
2361  _internal_set_dual_small_pivot_threshold(value);
2362  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dual_small_pivot_threshold)
2363 }
2364 
2365 // optional double preprocessor_zero_tolerance = 39 [default = 1e-09];
2366 inline bool GlopParameters::_internal_has_preprocessor_zero_tolerance() const {
2367  bool value = (_has_bits_[0] & 0x80000000u) != 0;
2368  return value;
2369 }
2370 inline bool GlopParameters::has_preprocessor_zero_tolerance() const {
2371  return _internal_has_preprocessor_zero_tolerance();
2372 }
2373 inline void GlopParameters::clear_preprocessor_zero_tolerance() {
2374  preprocessor_zero_tolerance_ = 1e-09;
2375  _has_bits_[0] &= ~0x80000000u;
2376 }
2377 inline double GlopParameters::_internal_preprocessor_zero_tolerance() const {
2378  return preprocessor_zero_tolerance_;
2379 }
2380 inline double GlopParameters::preprocessor_zero_tolerance() const {
2381  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.preprocessor_zero_tolerance)
2382  return _internal_preprocessor_zero_tolerance();
2383 }
2384 inline void GlopParameters::_internal_set_preprocessor_zero_tolerance(double value) {
2385  _has_bits_[0] |= 0x80000000u;
2386  preprocessor_zero_tolerance_ = value;
2387 }
2388 inline void GlopParameters::set_preprocessor_zero_tolerance(double value) {
2389  _internal_set_preprocessor_zero_tolerance(value);
2390  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.preprocessor_zero_tolerance)
2391 }
2392 
2393 // optional double objective_lower_limit = 40 [default = -inf];
2394 inline bool GlopParameters::_internal_has_objective_lower_limit() const {
2395  bool value = (_has_bits_[1] & 0x00000001u) != 0;
2396  return value;
2397 }
2398 inline bool GlopParameters::has_objective_lower_limit() const {
2399  return _internal_has_objective_lower_limit();
2400 }
2401 inline void GlopParameters::clear_objective_lower_limit() {
2402  objective_lower_limit_ = -std::numeric_limits<double>::infinity();
2403  _has_bits_[1] &= ~0x00000001u;
2404 }
2405 inline double GlopParameters::_internal_objective_lower_limit() const {
2406  return objective_lower_limit_;
2407 }
2408 inline double GlopParameters::objective_lower_limit() const {
2409  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.objective_lower_limit)
2410  return _internal_objective_lower_limit();
2411 }
2412 inline void GlopParameters::_internal_set_objective_lower_limit(double value) {
2413  _has_bits_[1] |= 0x00000001u;
2414  objective_lower_limit_ = value;
2415 }
2416 inline void GlopParameters::set_objective_lower_limit(double value) {
2417  _internal_set_objective_lower_limit(value);
2418  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.objective_lower_limit)
2419 }
2420 
2421 // optional double objective_upper_limit = 41 [default = inf];
2422 inline bool GlopParameters::_internal_has_objective_upper_limit() const {
2423  bool value = (_has_bits_[1] & 0x00000002u) != 0;
2424  return value;
2425 }
2426 inline bool GlopParameters::has_objective_upper_limit() const {
2427  return _internal_has_objective_upper_limit();
2428 }
2429 inline void GlopParameters::clear_objective_upper_limit() {
2430  objective_upper_limit_ = std::numeric_limits<double>::infinity();
2431  _has_bits_[1] &= ~0x00000002u;
2432 }
2433 inline double GlopParameters::_internal_objective_upper_limit() const {
2434  return objective_upper_limit_;
2435 }
2436 inline double GlopParameters::objective_upper_limit() const {
2437  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.objective_upper_limit)
2438  return _internal_objective_upper_limit();
2439 }
2440 inline void GlopParameters::_internal_set_objective_upper_limit(double value) {
2441  _has_bits_[1] |= 0x00000002u;
2442  objective_upper_limit_ = value;
2443 }
2444 inline void GlopParameters::set_objective_upper_limit(double value) {
2445  _internal_set_objective_upper_limit(value);
2446  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.objective_upper_limit)
2447 }
2448 
2449 // optional double degenerate_ministep_factor = 42 [default = 0.01];
2450 inline bool GlopParameters::_internal_has_degenerate_ministep_factor() const {
2451  bool value = (_has_bits_[1] & 0x00000080u) != 0;
2452  return value;
2453 }
2454 inline bool GlopParameters::has_degenerate_ministep_factor() const {
2455  return _internal_has_degenerate_ministep_factor();
2456 }
2457 inline void GlopParameters::clear_degenerate_ministep_factor() {
2458  degenerate_ministep_factor_ = 0.01;
2459  _has_bits_[1] &= ~0x00000080u;
2460 }
2461 inline double GlopParameters::_internal_degenerate_ministep_factor() const {
2462  return degenerate_ministep_factor_;
2463 }
2464 inline double GlopParameters::degenerate_ministep_factor() const {
2465  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.degenerate_ministep_factor)
2466  return _internal_degenerate_ministep_factor();
2467 }
2468 inline void GlopParameters::_internal_set_degenerate_ministep_factor(double value) {
2469  _has_bits_[1] |= 0x00000080u;
2470  degenerate_ministep_factor_ = value;
2471 }
2472 inline void GlopParameters::set_degenerate_ministep_factor(double value) {
2473  _internal_set_degenerate_ministep_factor(value);
2474  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.degenerate_ministep_factor)
2475 }
2476 
2477 // optional int32 random_seed = 43 [default = 1];
2478 inline bool GlopParameters::_internal_has_random_seed() const {
2479  bool value = (_has_bits_[1] & 0x00000040u) != 0;
2480  return value;
2481 }
2482 inline bool GlopParameters::has_random_seed() const {
2483  return _internal_has_random_seed();
2484 }
2485 inline void GlopParameters::clear_random_seed() {
2486  random_seed_ = 1;
2487  _has_bits_[1] &= ~0x00000040u;
2488 }
2489 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_random_seed() const {
2490  return random_seed_;
2491 }
2492 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::random_seed() const {
2493  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.random_seed)
2494  return _internal_random_seed();
2495 }
2496 inline void GlopParameters::_internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
2497  _has_bits_[1] |= 0x00000040u;
2498  random_seed_ = value;
2499 }
2500 inline void GlopParameters::set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
2501  _internal_set_random_seed(value);
2502  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.random_seed)
2503 }
2504 
2505 // optional int32 num_omp_threads = 44 [default = 1];
2506 inline bool GlopParameters::_internal_has_num_omp_threads() const {
2507  bool value = (_has_bits_[1] & 0x00000200u) != 0;
2508  return value;
2509 }
2510 inline bool GlopParameters::has_num_omp_threads() const {
2511  return _internal_has_num_omp_threads();
2512 }
2513 inline void GlopParameters::clear_num_omp_threads() {
2514  num_omp_threads_ = 1;
2515  _has_bits_[1] &= ~0x00000200u;
2516 }
2517 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_num_omp_threads() const {
2518  return num_omp_threads_;
2519 }
2520 inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::num_omp_threads() const {
2521  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.num_omp_threads)
2522  return _internal_num_omp_threads();
2523 }
2524 inline void GlopParameters::_internal_set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value) {
2525  _has_bits_[1] |= 0x00000200u;
2526  num_omp_threads_ = value;
2527 }
2528 inline void GlopParameters::set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value) {
2529  _internal_set_num_omp_threads(value);
2530  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.num_omp_threads)
2531 }
2532 
2533 // optional bool perturb_costs_in_dual_simplex = 53 [default = false];
2534 inline bool GlopParameters::_internal_has_perturb_costs_in_dual_simplex() const {
2535  bool value = (_has_bits_[0] & 0x00000004u) != 0;
2536  return value;
2537 }
2538 inline bool GlopParameters::has_perturb_costs_in_dual_simplex() const {
2539  return _internal_has_perturb_costs_in_dual_simplex();
2540 }
2541 inline void GlopParameters::clear_perturb_costs_in_dual_simplex() {
2542  perturb_costs_in_dual_simplex_ = false;
2543  _has_bits_[0] &= ~0x00000004u;
2544 }
2545 inline bool GlopParameters::_internal_perturb_costs_in_dual_simplex() const {
2546  return perturb_costs_in_dual_simplex_;
2547 }
2548 inline bool GlopParameters::perturb_costs_in_dual_simplex() const {
2549  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.perturb_costs_in_dual_simplex)
2550  return _internal_perturb_costs_in_dual_simplex();
2551 }
2552 inline void GlopParameters::_internal_set_perturb_costs_in_dual_simplex(bool value) {
2553  _has_bits_[0] |= 0x00000004u;
2554  perturb_costs_in_dual_simplex_ = value;
2555 }
2556 inline void GlopParameters::set_perturb_costs_in_dual_simplex(bool value) {
2557  _internal_set_perturb_costs_in_dual_simplex(value);
2558  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.perturb_costs_in_dual_simplex)
2559 }
2560 
2561 // optional bool use_dedicated_dual_feasibility_algorithm = 62 [default = true];
2562 inline bool GlopParameters::_internal_has_use_dedicated_dual_feasibility_algorithm() const {
2563  bool value = (_has_bits_[1] & 0x00000800u) != 0;
2564  return value;
2565 }
2566 inline bool GlopParameters::has_use_dedicated_dual_feasibility_algorithm() const {
2567  return _internal_has_use_dedicated_dual_feasibility_algorithm();
2568 }
2569 inline void GlopParameters::clear_use_dedicated_dual_feasibility_algorithm() {
2570  use_dedicated_dual_feasibility_algorithm_ = true;
2571  _has_bits_[1] &= ~0x00000800u;
2572 }
2573 inline bool GlopParameters::_internal_use_dedicated_dual_feasibility_algorithm() const {
2574  return use_dedicated_dual_feasibility_algorithm_;
2575 }
2576 inline bool GlopParameters::use_dedicated_dual_feasibility_algorithm() const {
2577  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_dedicated_dual_feasibility_algorithm)
2578  return _internal_use_dedicated_dual_feasibility_algorithm();
2579 }
2580 inline void GlopParameters::_internal_set_use_dedicated_dual_feasibility_algorithm(bool value) {
2581  _has_bits_[1] |= 0x00000800u;
2582  use_dedicated_dual_feasibility_algorithm_ = value;
2583 }
2584 inline void GlopParameters::set_use_dedicated_dual_feasibility_algorithm(bool value) {
2585  _internal_set_use_dedicated_dual_feasibility_algorithm(value);
2586  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_dedicated_dual_feasibility_algorithm)
2587 }
2588 
2589 // optional double relative_cost_perturbation = 54 [default = 1e-05];
2590 inline bool GlopParameters::_internal_has_relative_cost_perturbation() const {
2591  bool value = (_has_bits_[1] & 0x00002000u) != 0;
2592  return value;
2593 }
2594 inline bool GlopParameters::has_relative_cost_perturbation() const {
2595  return _internal_has_relative_cost_perturbation();
2596 }
2597 inline void GlopParameters::clear_relative_cost_perturbation() {
2598  relative_cost_perturbation_ = 1e-05;
2599  _has_bits_[1] &= ~0x00002000u;
2600 }
2601 inline double GlopParameters::_internal_relative_cost_perturbation() const {
2602  return relative_cost_perturbation_;
2603 }
2604 inline double GlopParameters::relative_cost_perturbation() const {
2605  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.relative_cost_perturbation)
2606  return _internal_relative_cost_perturbation();
2607 }
2608 inline void GlopParameters::_internal_set_relative_cost_perturbation(double value) {
2609  _has_bits_[1] |= 0x00002000u;
2610  relative_cost_perturbation_ = value;
2611 }
2612 inline void GlopParameters::set_relative_cost_perturbation(double value) {
2613  _internal_set_relative_cost_perturbation(value);
2614  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.relative_cost_perturbation)
2615 }
2616 
2617 // optional double relative_max_cost_perturbation = 55 [default = 1e-07];
2618 inline bool GlopParameters::_internal_has_relative_max_cost_perturbation() const {
2619  bool value = (_has_bits_[1] & 0x00004000u) != 0;
2620  return value;
2621 }
2622 inline bool GlopParameters::has_relative_max_cost_perturbation() const {
2623  return _internal_has_relative_max_cost_perturbation();
2624 }
2625 inline void GlopParameters::clear_relative_max_cost_perturbation() {
2626  relative_max_cost_perturbation_ = 1e-07;
2627  _has_bits_[1] &= ~0x00004000u;
2628 }
2629 inline double GlopParameters::_internal_relative_max_cost_perturbation() const {
2630  return relative_max_cost_perturbation_;
2631 }
2632 inline double GlopParameters::relative_max_cost_perturbation() const {
2633  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.relative_max_cost_perturbation)
2634  return _internal_relative_max_cost_perturbation();
2635 }
2636 inline void GlopParameters::_internal_set_relative_max_cost_perturbation(double value) {
2637  _has_bits_[1] |= 0x00004000u;
2638  relative_max_cost_perturbation_ = value;
2639 }
2640 inline void GlopParameters::set_relative_max_cost_perturbation(double value) {
2641  _internal_set_relative_max_cost_perturbation(value);
2642  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.relative_max_cost_perturbation)
2643 }
2644 
2645 // optional double initial_condition_number_threshold = 59 [default = 1e+50];
2646 inline bool GlopParameters::_internal_has_initial_condition_number_threshold() const {
2647  bool value = (_has_bits_[1] & 0x00040000u) != 0;
2648  return value;
2649 }
2650 inline bool GlopParameters::has_initial_condition_number_threshold() const {
2651  return _internal_has_initial_condition_number_threshold();
2652 }
2653 inline void GlopParameters::clear_initial_condition_number_threshold() {
2654  initial_condition_number_threshold_ = 1e+50;
2655  _has_bits_[1] &= ~0x00040000u;
2656 }
2657 inline double GlopParameters::_internal_initial_condition_number_threshold() const {
2658  return initial_condition_number_threshold_;
2659 }
2660 inline double GlopParameters::initial_condition_number_threshold() const {
2661  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initial_condition_number_threshold)
2662  return _internal_initial_condition_number_threshold();
2663 }
2664 inline void GlopParameters::_internal_set_initial_condition_number_threshold(double value) {
2665  _has_bits_[1] |= 0x00040000u;
2666  initial_condition_number_threshold_ = value;
2667 }
2668 inline void GlopParameters::set_initial_condition_number_threshold(double value) {
2669  _internal_set_initial_condition_number_threshold(value);
2670  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initial_condition_number_threshold)
2671 }
2672 
2673 // optional bool log_search_progress = 61 [default = false];
2674 inline bool GlopParameters::_internal_has_log_search_progress() const {
2675  bool value = (_has_bits_[0] & 0x00000008u) != 0;
2676  return value;
2677 }
2678 inline bool GlopParameters::has_log_search_progress() const {
2679  return _internal_has_log_search_progress();
2680 }
2681 inline void GlopParameters::clear_log_search_progress() {
2682  log_search_progress_ = false;
2683  _has_bits_[0] &= ~0x00000008u;
2684 }
2685 inline bool GlopParameters::_internal_log_search_progress() const {
2686  return log_search_progress_;
2687 }
2688 inline bool GlopParameters::log_search_progress() const {
2689  // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.log_search_progress)
2690  return _internal_log_search_progress();
2691 }
2692 inline void GlopParameters::_internal_set_log_search_progress(bool value) {
2693  _has_bits_[0] |= 0x00000008u;
2694  log_search_progress_ = value;
2695 }
2696 inline void GlopParameters::set_log_search_progress(bool value) {
2697  _internal_set_log_search_progress(value);
2698  // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.log_search_progress)
2699 }
2700 
2701 #ifdef __GNUC__
2702  #pragma GCC diagnostic pop
2703 #endif // __GNUC__
2704 
2705 // @@protoc_insertion_point(namespace_scope)
2706 
2707 } // namespace glop
2708 } // namespace operations_research
2709 
2710 PROTOBUF_NAMESPACE_OPEN
2711 
2712 template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_ScalingAlgorithm> : ::std::true_type {};
2713 template <>
2714 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_ScalingAlgorithm>() {
2716 }
2717 template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_SolverBehavior> : ::std::true_type {};
2718 template <>
2719 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_SolverBehavior>() {
2721 }
2722 template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_PricingRule> : ::std::true_type {};
2723 template <>
2724 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_PricingRule>() {
2726 }
2727 template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_InitialBasisHeuristic> : ::std::true_type {};
2728 template <>
2729 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_InitialBasisHeuristic>() {
2731 }
2732 template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_CostScalingAlgorithm> : ::std::true_type {};
2733 template <>
2734 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_CostScalingAlgorithm>() {
2736 }
2737 
2738 PROTOBUF_NAMESPACE_CLOSE
2739 
2740 // @@protoc_insertion_point(global_scope)
2741 
2742 #include <google/protobuf/port_undef.inc>
2743 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fglop_2fparameters_2eproto
void set_lu_factorization_pivot_threshold(double value)
static bool CostScalingAlgorithm_IsValid(int value)
GlopParameters(GlopParameters &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SolverBehavior_descriptor()
void set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value)
::operations_research::glop::GlopParameters_PricingRule optimization_rule() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
GlopParameters & operator=(GlopParameters &&from) noexcept
static bool CostScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CostScalingAlgorithm *value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_relative_cost_perturbation(double value)
void set_markowitz_singularity_threshold(double value)
::operations_research::glop::GlopParameters_PricingRule feasibility_rule() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void set_dual_small_pivot_threshold(double value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ScalingAlgorithm_descriptor()
void set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value)
void set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 value)
GlopParameters * New() const final
::operations_research::glop::GlopParameters_InitialBasisHeuristic initial_basis() const
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value)
GlopParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CostScalingAlgorithm_descriptor()
void set_initialize_devex_with_column_norms(bool value)
static const std::string & InitialBasisHeuristic_Name(T enum_t_value)
void set_recompute_edges_norm_threshold(double value)
void set_ratio_test_zero_threshold(double value)
::PROTOBUF_NAMESPACE_ID::int32 markowitz_zlatev_parameter() const
::PROTOBUF_NAMESPACE_ID::int32 num_omp_threads() const
GlopParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static bool ScalingAlgorithm_IsValid(int value)
GlopParameters & operator=(const GlopParameters &from)
static bool SolverBehavior_IsValid(int value)
void UnsafeArenaSwap(GlopParameters *other)
static bool InitialBasisHeuristic_IsValid(int value)
constexpr GlopParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
static const std::string & SolverBehavior_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * InitialBasisHeuristic_descriptor()
void set_dual_feasibility_tolerance(double value)
void set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value)
GlopParameters_SolverBehavior SolverBehavior
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static const std::string & PricingRule_Name(T enum_t_value)
static bool PricingRule_IsValid(int value)
static const std::string & CostScalingAlgorithm_Name(T enum_t_value)
void set_max_number_of_reoptimizations(double value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * PricingRule_descriptor()
friend void swap(GlopParameters &a, GlopParameters &b)
void set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value)
void set_exploit_singleton_column_in_initial_basis(bool value)
void set_refactorization_threshold(double value)
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_iterations() const
static const GlopParameters & default_instance()
::operations_research::glop::GlopParameters_CostScalingAlgorithm cost_scaling() const
static const GlopParameters * internal_default_instance()
void set_provide_strong_optimal_guarantee(bool value)
::PROTOBUF_NAMESPACE_ID::int32 devex_weights_reset_period() const
void set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const GlopParameters &from)
void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value)
GlopParameters_PricingRule PricingRule
void set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value)
::PROTOBUF_NAMESPACE_ID::int32 basis_refactorization_period() const
void Swap(GlopParameters *other)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
void set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::glop::GlopParameters_SolverBehavior solve_dual_problem() const
::PROTOBUF_NAMESPACE_ID::int32 random_seed() const
GlopParameters_ScalingAlgorithm ScalingAlgorithm
static const std::string & ScalingAlgorithm_Name(T enum_t_value)
void CopyFrom(const GlopParameters &from)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static bool ScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ScalingAlgorithm *value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
GlopParameters(const GlopParameters &from)
void set_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_dynamically_adjust_refactorization_period(bool value)
static bool InitialBasisHeuristic_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, InitialBasisHeuristic *value)
void set_relative_max_cost_perturbation(double value)
void set_use_dedicated_dual_feasibility_algorithm(bool value)
GlopParameters_InitialBasisHeuristic InitialBasisHeuristic
::operations_research::glop::GlopParameters_ScalingAlgorithm scaling_method() const
void set_initial_condition_number_threshold(double value)
void set_degenerate_ministep_factor(double value)
void set_recompute_reduced_costs_threshold(double value)
void set_primal_feasibility_tolerance(double value)
void set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_preprocessor_zero_tolerance(double value)
GlopParameters_CostScalingAlgorithm CostScalingAlgorithm
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
void set_solution_feasibility_tolerance(double value)
static bool PricingRule_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PricingRule *value)
static bool SolverBehavior_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SolverBehavior *value)
int64_t b
int64_t a
const std::string name
int64_t value
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_PricingRule_descriptor()
constexpr GlopParameters_InitialBasisHeuristic GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_MAX
constexpr int GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_ARRAYSIZE
bool GlopParameters_CostScalingAlgorithm_IsValid(int value)
constexpr GlopParameters_PricingRule GlopParameters_PricingRule_PricingRule_MIN
bool GlopParameters_InitialBasisHeuristic_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_InitialBasisHeuristic *value)
constexpr int GlopParameters_SolverBehavior_SolverBehavior_ARRAYSIZE
const std::string & GlopParameters_CostScalingAlgorithm_Name(T enum_t_value)
constexpr int GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_ARRAYSIZE
const std::string & GlopParameters_InitialBasisHeuristic_Name(T enum_t_value)
constexpr GlopParameters_ScalingAlgorithm GlopParameters_ScalingAlgorithm_ScalingAlgorithm_MIN
Definition: parameters.pb.h:77
const std::string & GlopParameters_ScalingAlgorithm_Name(T enum_t_value)
Definition: parameters.pb.h:83
bool GlopParameters_CostScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_CostScalingAlgorithm *value)
constexpr int GlopParameters_PricingRule_PricingRule_ARRAYSIZE
constexpr GlopParameters_ScalingAlgorithm GlopParameters_ScalingAlgorithm_ScalingAlgorithm_MAX
Definition: parameters.pb.h:78
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_ScalingAlgorithm_descriptor()
bool GlopParameters_InitialBasisHeuristic_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GlopParametersDefaultTypeInternal _GlopParameters_default_instance_
constexpr GlopParameters_PricingRule GlopParameters_PricingRule_PricingRule_MAX
constexpr int GlopParameters_ScalingAlgorithm_ScalingAlgorithm_ARRAYSIZE
Definition: parameters.pb.h:79
bool GlopParameters_SolverBehavior_IsValid(int value)
constexpr GlopParameters_CostScalingAlgorithm GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MIN
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_SolverBehavior_descriptor()
constexpr GlopParameters_CostScalingAlgorithm GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MAX
constexpr GlopParameters_InitialBasisHeuristic GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_MIN
const std::string & GlopParameters_SolverBehavior_Name(T enum_t_value)
constexpr GlopParameters_SolverBehavior GlopParameters_SolverBehavior_SolverBehavior_MIN
@ GlopParameters_CostScalingAlgorithm_MEAN_COST_SCALING
@ GlopParameters_CostScalingAlgorithm_NO_COST_SCALING
@ GlopParameters_CostScalingAlgorithm_MEDIAN_COST_SCALING
@ GlopParameters_CostScalingAlgorithm_CONTAIN_ONE_COST_SCALING
bool GlopParameters_ScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_ScalingAlgorithm *value)
Definition: parameters.pb.h:90
constexpr GlopParameters_SolverBehavior GlopParameters_SolverBehavior_SolverBehavior_MAX
bool GlopParameters_PricingRule_IsValid(int value)
bool GlopParameters_ScalingAlgorithm_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_InitialBasisHeuristic_descriptor()
bool GlopParameters_SolverBehavior_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_SolverBehavior *value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_CostScalingAlgorithm_descriptor()
const std::string & GlopParameters_PricingRule_Name(T enum_t_value)
bool GlopParameters_PricingRule_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_PricingRule *value)
Collection of objects used to extend the Constraint Solver library.
int index
Definition: pack.cc:509
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_ortools_2fglop_2fparameters_2eproto_metadata_getter(int index)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: parameters.pb.h:54
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: parameters.pb.h:53
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: parameters.pb.h:52