OR-Tools  9.2
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 < 3019000
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 3019001 < 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
38PROTOBUF_NAMESPACE_OPEN
39namespace internal {
40class AnyMetadata;
41} // namespace internal
42PROTOBUF_NAMESPACE_CLOSE
43
44// Internal implementation detail -- do not use these members.
46 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
48 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
50 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
52 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
53 static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
54 static const uint32_t offsets[];
55};
56extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto;
57namespace operations_research {
58namespace glop {
59class GlopParameters;
60struct GlopParametersDefaultTypeInternal;
61extern GlopParametersDefaultTypeInternal _GlopParameters_default_instance_;
62} // namespace glop
63} // namespace operations_research
64PROTOBUF_NAMESPACE_OPEN
65template<> ::operations_research::glop::GlopParameters* Arena::CreateMaybeMessage<::operations_research::glop::GlopParameters>(Arena*);
66PROTOBUF_NAMESPACE_CLOSE
67namespace operations_research {
68namespace glop {
69
74};
79
80const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_ScalingAlgorithm_descriptor();
81template<typename T>
82inline const std::string& GlopParameters_ScalingAlgorithm_Name(T enum_t_value) {
85 "Incorrect type passed to function GlopParameters_ScalingAlgorithm_Name.");
86 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
88}
90 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_ScalingAlgorithm* value) {
91 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_ScalingAlgorithm>(
93}
98};
103
104const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_SolverBehavior_descriptor();
105template<typename T>
106inline const std::string& GlopParameters_SolverBehavior_Name(T enum_t_value) {
109 "Incorrect type passed to function GlopParameters_SolverBehavior_Name.");
110 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
112}
114 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_SolverBehavior* value) {
115 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_SolverBehavior>(
117}
127
128const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_PricingRule_descriptor();
129template<typename T>
130inline const std::string& GlopParameters_PricingRule_Name(T enum_t_value) {
133 "Incorrect type passed to function GlopParameters_PricingRule_Name.");
134 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
136}
138 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_PricingRule* value) {
139 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_PricingRule>(
141}
152
153const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_InitialBasisHeuristic_descriptor();
154template<typename T>
155inline const std::string& GlopParameters_InitialBasisHeuristic_Name(T enum_t_value) {
158 "Incorrect type passed to function GlopParameters_InitialBasisHeuristic_Name.");
159 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
161}
163 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_InitialBasisHeuristic* value) {
164 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_InitialBasisHeuristic>(
166}
177
178const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GlopParameters_CostScalingAlgorithm_descriptor();
179template<typename T>
180inline const std::string& GlopParameters_CostScalingAlgorithm_Name(T enum_t_value) {
183 "Incorrect type passed to function GlopParameters_CostScalingAlgorithm_Name.");
184 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
186}
188 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_CostScalingAlgorithm* value) {
189 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_CostScalingAlgorithm>(
191}
192// ===================================================================
193
194class GlopParameters final :
195 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.glop.GlopParameters) */ {
196 public:
197 inline GlopParameters() : GlopParameters(nullptr) {}
198 ~GlopParameters() override;
199 explicit constexpr GlopParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
200
201 GlopParameters(const GlopParameters& from);
203 : GlopParameters() {
204 *this = ::std::move(from);
205 }
206
208 CopyFrom(from);
209 return *this;
210 }
211 inline GlopParameters& operator=(GlopParameters&& from) noexcept {
212 if (this == &from) return *this;
213 if (GetOwningArena() == from.GetOwningArena()
214 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
215 && GetOwningArena() != nullptr
216 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
217 ) {
218 InternalSwap(&from);
219 } else {
220 CopyFrom(from);
221 }
222 return *this;
223 }
224
225 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
226 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
227 }
228 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
229 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
230 }
231
232 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
233 return GetDescriptor();
234 }
235 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
236 return default_instance().GetMetadata().descriptor;
237 }
238 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
239 return default_instance().GetMetadata().reflection;
240 }
243 }
245 return reinterpret_cast<const GlopParameters*>(
247 }
248 static constexpr int kIndexInFileMessages =
249 0;
250
252 a.Swap(&b);
253 }
254 inline void Swap(GlopParameters* other) {
255 if (other == this) return;
256 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
257 if (GetOwningArena() != nullptr &&
258 GetOwningArena() == other->GetOwningArena()) {
259 #else // PROTOBUF_FORCE_COPY_IN_SWAP
260 if (GetOwningArena() == other->GetOwningArena()) {
261 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
262 InternalSwap(other);
263 } else {
264 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
265 }
266 }
268 if (other == this) return;
269 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
270 InternalSwap(other);
271 }
272
273 // implements Message ----------------------------------------------
274
275 GlopParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
276 return CreateMaybeMessage<GlopParameters>(arena);
277 }
278 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
279 void CopyFrom(const GlopParameters& from);
280 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
281 void MergeFrom(const GlopParameters& from);
282 private:
283 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
284 public:
285 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
286 bool IsInitialized() const final;
287
288 size_t ByteSizeLong() const final;
289 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
290 uint8_t* _InternalSerialize(
291 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
292 int GetCachedSize() const final { return _cached_size_.Get(); }
293
294 private:
295 void SharedCtor();
296 void SharedDtor();
297 void SetCachedSize(int size) const final;
298 void InternalSwap(GlopParameters* other);
299
300 private:
301 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
302 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
303 return "operations_research.glop.GlopParameters";
304 }
305 protected:
306 explicit GlopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
307 bool is_message_owned = false);
308 private:
309 static void ArenaDtor(void* object);
310 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
311 public:
312
313 static const ClassData _class_data_;
314 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
315
316 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
317
318 // nested types ----------------------------------------------------
319
321 static constexpr ScalingAlgorithm DEFAULT =
327 static inline bool ScalingAlgorithm_IsValid(int value) {
329 }
334 static constexpr int ScalingAlgorithm_ARRAYSIZE =
336 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
339 }
340 template<typename T>
341 static inline const std::string& ScalingAlgorithm_Name(T enum_t_value) {
344 "Incorrect type passed to function ScalingAlgorithm_Name.");
345 return GlopParameters_ScalingAlgorithm_Name(enum_t_value);
346 }
347 static inline bool ScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
350 }
351
353 static constexpr SolverBehavior ALWAYS_DO =
355 static constexpr SolverBehavior NEVER_DO =
359 static inline bool SolverBehavior_IsValid(int value) {
361 }
366 static constexpr int SolverBehavior_ARRAYSIZE =
368 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
371 }
372 template<typename T>
373 static inline const std::string& SolverBehavior_Name(T enum_t_value) {
376 "Incorrect type passed to function SolverBehavior_Name.");
377 return GlopParameters_SolverBehavior_Name(enum_t_value);
378 }
379 static inline bool SolverBehavior_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
382 }
383
385 static constexpr PricingRule DANTZIG =
387 static constexpr PricingRule STEEPEST_EDGE =
389 static constexpr PricingRule DEVEX =
391 static inline bool PricingRule_IsValid(int value) {
393 }
394 static constexpr PricingRule PricingRule_MIN =
396 static constexpr PricingRule PricingRule_MAX =
398 static constexpr int PricingRule_ARRAYSIZE =
400 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
403 }
404 template<typename T>
405 static inline const std::string& PricingRule_Name(T enum_t_value) {
408 "Incorrect type passed to function PricingRule_Name.");
409 return GlopParameters_PricingRule_Name(enum_t_value);
410 }
411 static inline bool PricingRule_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
414 }
415
417 static constexpr InitialBasisHeuristic NONE =
419 static constexpr InitialBasisHeuristic BIXBY =
423 static constexpr InitialBasisHeuristic MAROS =
425 static inline bool InitialBasisHeuristic_IsValid(int value) {
427 }
432 static constexpr int InitialBasisHeuristic_ARRAYSIZE =
434 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
437 }
438 template<typename T>
439 static inline const std::string& InitialBasisHeuristic_Name(T enum_t_value) {
442 "Incorrect type passed to function InitialBasisHeuristic_Name.");
444 }
445 static inline bool InitialBasisHeuristic_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
448 }
449
459 static inline bool CostScalingAlgorithm_IsValid(int value) {
461 }
466 static constexpr int CostScalingAlgorithm_ARRAYSIZE =
468 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
471 }
472 template<typename T>
473 static inline const std::string& CostScalingAlgorithm_Name(T enum_t_value) {
476 "Incorrect type passed to function CostScalingAlgorithm_Name.");
477 return GlopParameters_CostScalingAlgorithm_Name(enum_t_value);
478 }
479 static inline bool CostScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
482 }
483
484 // accessors -------------------------------------------------------
485
486 enum : int {
542 };
543 // optional bool use_dual_simplex = 31 [default = false];
544 bool has_use_dual_simplex() const;
545 private:
546 bool _internal_has_use_dual_simplex() const;
547 public:
549 bool use_dual_simplex() const;
550 void set_use_dual_simplex(bool value);
551 private:
552 bool _internal_use_dual_simplex() const;
553 void _internal_set_use_dual_simplex(bool value);
554 public:
555
556 // optional bool allow_simplex_algorithm_change = 32 [default = false];
558 private:
559 bool _internal_has_allow_simplex_algorithm_change() const;
560 public:
564 private:
565 bool _internal_allow_simplex_algorithm_change() const;
566 void _internal_set_allow_simplex_algorithm_change(bool value);
567 public:
568
569 // optional bool perturb_costs_in_dual_simplex = 53 [default = false];
571 private:
572 bool _internal_has_perturb_costs_in_dual_simplex() const;
573 public:
577 private:
578 bool _internal_perturb_costs_in_dual_simplex() const;
579 void _internal_set_perturb_costs_in_dual_simplex(bool value);
580 public:
581
582 // optional bool log_search_progress = 61 [default = false];
583 bool has_log_search_progress() const;
584 private:
585 bool _internal_has_log_search_progress() const;
586 public:
588 bool log_search_progress() const;
590 private:
591 bool _internal_log_search_progress() const;
592 void _internal_set_log_search_progress(bool value);
593 public:
594
595 // optional bool use_implied_free_preprocessor = 67 [default = true];
597 private:
598 bool _internal_has_use_implied_free_preprocessor() const;
599 public:
603 private:
604 bool _internal_use_implied_free_preprocessor() const;
605 void _internal_set_use_implied_free_preprocessor(bool value);
606 public:
607
608 // optional .operations_research.glop.GlopParameters.PricingRule feasibility_rule = 1 [default = STEEPEST_EDGE];
609 bool has_feasibility_rule() const;
610 private:
611 bool _internal_has_feasibility_rule() const;
612 public:
616 private:
617 ::operations_research::glop::GlopParameters_PricingRule _internal_feasibility_rule() const;
618 void _internal_set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value);
619 public:
620
621 // optional .operations_research.glop.GlopParameters.PricingRule optimization_rule = 2 [default = STEEPEST_EDGE];
622 bool has_optimization_rule() const;
623 private:
624 bool _internal_has_optimization_rule() const;
625 public:
629 private:
630 ::operations_research::glop::GlopParameters_PricingRule _internal_optimization_rule() const;
631 void _internal_set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value);
632 public:
633
634 // optional double refactorization_threshold = 6 [default = 1e-09];
636 private:
637 bool _internal_has_refactorization_threshold() const;
638 public:
640 double refactorization_threshold() const;
642 private:
643 double _internal_refactorization_threshold() const;
644 void _internal_set_refactorization_threshold(double value);
645 public:
646
647 // optional double recompute_reduced_costs_threshold = 8 [default = 1e-08];
649 private:
650 bool _internal_has_recompute_reduced_costs_threshold() const;
651 public:
655 private:
656 double _internal_recompute_reduced_costs_threshold() const;
657 void _internal_set_recompute_reduced_costs_threshold(double value);
658 public:
659
660 // optional double recompute_edges_norm_threshold = 9 [default = 100];
662 private:
663 bool _internal_has_recompute_edges_norm_threshold() const;
664 public:
666 double recompute_edges_norm_threshold() const;
668 private:
669 double _internal_recompute_edges_norm_threshold() const;
670 void _internal_set_recompute_edges_norm_threshold(double value);
671 public:
672
673 // optional double primal_feasibility_tolerance = 10 [default = 1e-08];
675 private:
676 bool _internal_has_primal_feasibility_tolerance() const;
677 public:
679 double primal_feasibility_tolerance() const;
681 private:
682 double _internal_primal_feasibility_tolerance() const;
683 void _internal_set_primal_feasibility_tolerance(double value);
684 public:
685
686 // optional double dual_feasibility_tolerance = 11 [default = 1e-08];
688 private:
689 bool _internal_has_dual_feasibility_tolerance() const;
690 public:
692 double dual_feasibility_tolerance() const;
694 private:
695 double _internal_dual_feasibility_tolerance() const;
696 void _internal_set_dual_feasibility_tolerance(double value);
697 public:
698
699 // optional double ratio_test_zero_threshold = 12 [default = 1e-09];
701 private:
702 bool _internal_has_ratio_test_zero_threshold() const;
703 public:
705 double ratio_test_zero_threshold() const;
707 private:
708 double _internal_ratio_test_zero_threshold() const;
709 void _internal_set_ratio_test_zero_threshold(double value);
710 public:
711
712 // optional double harris_tolerance_ratio = 13 [default = 0.5];
713 bool has_harris_tolerance_ratio() const;
714 private:
715 bool _internal_has_harris_tolerance_ratio() const;
716 public:
718 double harris_tolerance_ratio() const;
720 private:
721 double _internal_harris_tolerance_ratio() const;
722 void _internal_set_harris_tolerance_ratio(double value);
723 public:
724
725 // optional double small_pivot_threshold = 14 [default = 1e-06];
726 bool has_small_pivot_threshold() const;
727 private:
728 bool _internal_has_small_pivot_threshold() const;
729 public:
731 double small_pivot_threshold() const;
732 void set_small_pivot_threshold(double value);
733 private:
734 double _internal_small_pivot_threshold() const;
735 void _internal_set_small_pivot_threshold(double value);
736 public:
737
738 // optional double minimum_acceptable_pivot = 15 [default = 1e-06];
739 bool has_minimum_acceptable_pivot() const;
740 private:
741 bool _internal_has_minimum_acceptable_pivot() const;
742 public:
744 double minimum_acceptable_pivot() const;
746 private:
747 double _internal_minimum_acceptable_pivot() const;
748 void _internal_set_minimum_acceptable_pivot(double value);
749 public:
750
751 // optional .operations_research.glop.GlopParameters.InitialBasisHeuristic initial_basis = 17 [default = TRIANGULAR];
752 bool has_initial_basis() const;
753 private:
754 bool _internal_has_initial_basis() const;
755 public:
756 void clear_initial_basis();
759 private:
762 public:
763
764 // optional int32 basis_refactorization_period = 19 [default = 64];
766 private:
767 bool _internal_has_basis_refactorization_period() const;
768 public:
770 int32_t basis_refactorization_period() const;
772 private:
773 int32_t _internal_basis_refactorization_period() const;
774 void _internal_set_basis_refactorization_period(int32_t value);
775 public:
776
777 // optional double dualizer_threshold = 21 [default = 1.5];
778 bool has_dualizer_threshold() const;
779 private:
780 bool _internal_has_dualizer_threshold() const;
781 public:
783 double dualizer_threshold() const;
784 void set_dualizer_threshold(double value);
785 private:
786 double _internal_dualizer_threshold() const;
787 void _internal_set_dualizer_threshold(double value);
788 public:
789
790 // optional double solution_feasibility_tolerance = 22 [default = 1e-06];
792 private:
793 bool _internal_has_solution_feasibility_tolerance() const;
794 public:
796 double solution_feasibility_tolerance() const;
798 private:
799 double _internal_solution_feasibility_tolerance() const;
800 void _internal_set_solution_feasibility_tolerance(double value);
801 public:
802
803 // optional .operations_research.glop.GlopParameters.SolverBehavior solve_dual_problem = 20 [default = LET_SOLVER_DECIDE];
804 bool has_solve_dual_problem() const;
805 private:
806 bool _internal_has_solve_dual_problem() const;
807 public:
811 private:
812 ::operations_research::glop::GlopParameters_SolverBehavior _internal_solve_dual_problem() const;
813 void _internal_set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value);
814 public:
815
816 // optional int32 markowitz_zlatev_parameter = 29 [default = 3];
818 private:
819 bool _internal_has_markowitz_zlatev_parameter() const;
820 public:
822 int32_t markowitz_zlatev_parameter() const;
824 private:
825 int32_t _internal_markowitz_zlatev_parameter() const;
826 void _internal_set_markowitz_zlatev_parameter(int32_t value);
827 public:
828
829 // optional double lu_factorization_pivot_threshold = 25 [default = 0.01];
831 private:
832 bool _internal_has_lu_factorization_pivot_threshold() const;
833 public:
837 private:
838 double _internal_lu_factorization_pivot_threshold() const;
839 void _internal_set_lu_factorization_pivot_threshold(double value);
840 public:
841
842 // optional double max_time_in_seconds = 26 [default = inf];
843 bool has_max_time_in_seconds() const;
844 private:
845 bool _internal_has_max_time_in_seconds() const;
846 public:
848 double max_time_in_seconds() const;
849 void set_max_time_in_seconds(double value);
850 private:
851 double _internal_max_time_in_seconds() const;
852 void _internal_set_max_time_in_seconds(double value);
853 public:
854
855 // optional int64 max_number_of_iterations = 27 [default = -1];
856 bool has_max_number_of_iterations() const;
857 private:
858 bool _internal_has_max_number_of_iterations() const;
859 public:
861 int64_t max_number_of_iterations() const;
863 private:
864 int64_t _internal_max_number_of_iterations() const;
865 void _internal_set_max_number_of_iterations(int64_t value);
866 public:
867
868 // optional double markowitz_singularity_threshold = 30 [default = 1e-15];
870 private:
871 bool _internal_has_markowitz_singularity_threshold() const;
872 public:
874 double markowitz_singularity_threshold() const;
876 private:
877 double _internal_markowitz_singularity_threshold() const;
878 void _internal_set_markowitz_singularity_threshold(double value);
879 public:
880
881 // optional bool use_scaling = 16 [default = true];
882 bool has_use_scaling() const;
883 private:
884 bool _internal_has_use_scaling() const;
885 public:
886 void clear_use_scaling();
887 bool use_scaling() const;
888 void set_use_scaling(bool value);
889 private:
890 bool _internal_use_scaling() const;
891 void _internal_set_use_scaling(bool value);
892 public:
893
894 // optional bool use_transposed_matrix = 18 [default = true];
895 bool has_use_transposed_matrix() const;
896 private:
897 bool _internal_has_use_transposed_matrix() const;
898 public:
900 bool use_transposed_matrix() const;
902 private:
903 bool _internal_use_transposed_matrix() const;
904 void _internal_set_use_transposed_matrix(bool value);
905 public:
906
907 // optional bool dynamically_adjust_refactorization_period = 63 [default = true];
909 private:
910 bool _internal_has_dynamically_adjust_refactorization_period() const;
911 public:
915 private:
916 bool _internal_dynamically_adjust_refactorization_period() const;
917 void _internal_set_dynamically_adjust_refactorization_period(bool value);
918 public:
919
920 // optional bool provide_strong_optimal_guarantee = 24 [default = true];
922 private:
923 bool _internal_has_provide_strong_optimal_guarantee() const;
924 public:
928 private:
929 bool _internal_provide_strong_optimal_guarantee() const;
930 void _internal_set_provide_strong_optimal_guarantee(bool value);
931 public:
932
933 // optional int32 devex_weights_reset_period = 33 [default = 150];
935 private:
936 bool _internal_has_devex_weights_reset_period() const;
937 public:
939 int32_t devex_weights_reset_period() const;
941 private:
942 int32_t _internal_devex_weights_reset_period() const;
943 void _internal_set_devex_weights_reset_period(int32_t value);
944 public:
945
946 // optional double dual_small_pivot_threshold = 38 [default = 0.0001];
948 private:
949 bool _internal_has_dual_small_pivot_threshold() const;
950 public:
952 double dual_small_pivot_threshold() const;
954 private:
955 double _internal_dual_small_pivot_threshold() const;
956 void _internal_set_dual_small_pivot_threshold(double value);
957 public:
958
959 // optional double preprocessor_zero_tolerance = 39 [default = 1e-09];
961 private:
962 bool _internal_has_preprocessor_zero_tolerance() const;
963 public:
965 double preprocessor_zero_tolerance() const;
967 private:
968 double _internal_preprocessor_zero_tolerance() const;
969 void _internal_set_preprocessor_zero_tolerance(double value);
970 public:
971
972 // optional double objective_lower_limit = 40 [default = -inf];
973 bool has_objective_lower_limit() const;
974 private:
975 bool _internal_has_objective_lower_limit() const;
976 public:
978 double objective_lower_limit() const;
979 void set_objective_lower_limit(double value);
980 private:
981 double _internal_objective_lower_limit() const;
982 void _internal_set_objective_lower_limit(double value);
983 public:
984
985 // optional double objective_upper_limit = 41 [default = inf];
986 bool has_objective_upper_limit() const;
987 private:
988 bool _internal_has_objective_upper_limit() const;
989 public:
991 double objective_upper_limit() const;
992 void set_objective_upper_limit(double value);
993 private:
994 double _internal_objective_upper_limit() const;
995 void _internal_set_objective_upper_limit(double value);
996 public:
997
998 // optional bool change_status_to_imprecise = 58 [default = true];
1000 private:
1001 bool _internal_has_change_status_to_imprecise() const;
1002 public:
1004 bool change_status_to_imprecise() const;
1006 private:
1007 bool _internal_change_status_to_imprecise() const;
1008 void _internal_set_change_status_to_imprecise(bool value);
1009 public:
1010
1011 // optional bool use_preprocessing = 34 [default = true];
1012 bool has_use_preprocessing() const;
1013 private:
1014 bool _internal_has_use_preprocessing() const;
1015 public:
1017 bool use_preprocessing() const;
1018 void set_use_preprocessing(bool value);
1019 private:
1020 bool _internal_use_preprocessing() const;
1021 void _internal_set_use_preprocessing(bool value);
1022 public:
1023
1024 // optional bool use_middle_product_form_update = 35 [default = true];
1026 private:
1027 bool _internal_has_use_middle_product_form_update() const;
1028 public:
1030 bool use_middle_product_form_update() const;
1032 private:
1033 bool _internal_use_middle_product_form_update() const;
1034 void _internal_set_use_middle_product_form_update(bool value);
1035 public:
1036
1037 // optional bool initialize_devex_with_column_norms = 36 [default = true];
1039 private:
1040 bool _internal_has_initialize_devex_with_column_norms() const;
1041 public:
1045 private:
1046 bool _internal_initialize_devex_with_column_norms() const;
1047 void _internal_set_initialize_devex_with_column_norms(bool value);
1048 public:
1049
1050 // optional int32 random_seed = 43 [default = 1];
1051 bool has_random_seed() const;
1052 private:
1053 bool _internal_has_random_seed() const;
1054 public:
1055 void clear_random_seed();
1056 int32_t random_seed() const;
1057 void set_random_seed(int32_t value);
1058 private:
1059 int32_t _internal_random_seed() const;
1060 void _internal_set_random_seed(int32_t value);
1061 public:
1062
1063 // optional double degenerate_ministep_factor = 42 [default = 0.01];
1064 bool has_degenerate_ministep_factor() const;
1065 private:
1066 bool _internal_has_degenerate_ministep_factor() const;
1067 public:
1069 double degenerate_ministep_factor() const;
1071 private:
1072 double _internal_degenerate_ministep_factor() const;
1073 void _internal_set_degenerate_ministep_factor(double value);
1074 public:
1075
1076 // optional double max_deterministic_time = 45 [default = inf];
1077 bool has_max_deterministic_time() const;
1078 private:
1079 bool _internal_has_max_deterministic_time() const;
1080 public:
1082 double max_deterministic_time() const;
1083 void set_max_deterministic_time(double value);
1084 private:
1085 double _internal_max_deterministic_time() const;
1086 void _internal_set_max_deterministic_time(double value);
1087 public:
1088
1089 // optional int32 num_omp_threads = 44 [default = 1];
1090 bool has_num_omp_threads() const;
1091 private:
1092 bool _internal_has_num_omp_threads() const;
1093 public:
1094 void clear_num_omp_threads();
1095 int32_t num_omp_threads() const;
1096 void set_num_omp_threads(int32_t value);
1097 private:
1098 int32_t _internal_num_omp_threads() const;
1099 void _internal_set_num_omp_threads(int32_t value);
1100 public:
1101
1102 // optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
1103 bool has_scaling_method() const;
1104 private:
1105 bool _internal_has_scaling_method() const;
1106 public:
1107 void clear_scaling_method();
1110 private:
1111 ::operations_research::glop::GlopParameters_ScalingAlgorithm _internal_scaling_method() const;
1113 public:
1114
1115 // optional double drop_tolerance = 52 [default = 1e-14];
1116 bool has_drop_tolerance() const;
1117 private:
1118 bool _internal_has_drop_tolerance() const;
1119 public:
1120 void clear_drop_tolerance();
1121 double drop_tolerance() const;
1122 void set_drop_tolerance(double value);
1123 private:
1124 double _internal_drop_tolerance() const;
1125 void _internal_set_drop_tolerance(double value);
1126 public:
1127
1128 // optional double relative_cost_perturbation = 54 [default = 1e-05];
1129 bool has_relative_cost_perturbation() const;
1130 private:
1131 bool _internal_has_relative_cost_perturbation() const;
1132 public:
1134 double relative_cost_perturbation() const;
1136 private:
1137 double _internal_relative_cost_perturbation() const;
1138 void _internal_set_relative_cost_perturbation(double value);
1139 public:
1140
1141 // optional double relative_max_cost_perturbation = 55 [default = 1e-07];
1143 private:
1144 bool _internal_has_relative_max_cost_perturbation() const;
1145 public:
1147 double relative_max_cost_perturbation() const;
1149 private:
1150 double _internal_relative_max_cost_perturbation() const;
1151 void _internal_set_relative_max_cost_perturbation(double value);
1152 public:
1153
1154 // optional double max_number_of_reoptimizations = 56 [default = 40];
1156 private:
1157 bool _internal_has_max_number_of_reoptimizations() const;
1158 public:
1160 double max_number_of_reoptimizations() const;
1162 private:
1163 double _internal_max_number_of_reoptimizations() const;
1164 void _internal_set_max_number_of_reoptimizations(double value);
1165 public:
1166
1167 // optional bool exploit_singleton_column_in_initial_basis = 37 [default = true];
1169 private:
1170 bool _internal_has_exploit_singleton_column_in_initial_basis() const;
1171 public:
1175 private:
1176 bool _internal_exploit_singleton_column_in_initial_basis() const;
1177 void _internal_set_exploit_singleton_column_in_initial_basis(bool value);
1178 public:
1179
1180 // optional bool use_dedicated_dual_feasibility_algorithm = 62 [default = true];
1182 private:
1183 bool _internal_has_use_dedicated_dual_feasibility_algorithm() const;
1184 public:
1188 private:
1189 bool _internal_use_dedicated_dual_feasibility_algorithm() const;
1190 void _internal_set_use_dedicated_dual_feasibility_algorithm(bool value);
1191 public:
1192
1193 // optional bool log_to_stdout = 66 [default = true];
1194 bool has_log_to_stdout() const;
1195 private:
1196 bool _internal_has_log_to_stdout() const;
1197 public:
1198 void clear_log_to_stdout();
1199 bool log_to_stdout() const;
1200 void set_log_to_stdout(bool value);
1201 private:
1202 bool _internal_log_to_stdout() const;
1203 void _internal_set_log_to_stdout(bool value);
1204 public:
1205
1206 // optional bool push_to_vertex = 65 [default = true];
1207 bool has_push_to_vertex() const;
1208 private:
1209 bool _internal_has_push_to_vertex() const;
1210 public:
1211 void clear_push_to_vertex();
1212 bool push_to_vertex() const;
1213 void set_push_to_vertex(bool value);
1214 private:
1215 bool _internal_push_to_vertex() const;
1216 void _internal_set_push_to_vertex(bool value);
1217 public:
1218
1219 // optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
1220 bool has_cost_scaling() const;
1221 private:
1222 bool _internal_has_cost_scaling() const;
1223 public:
1224 void clear_cost_scaling();
1227 private:
1230 public:
1231
1232 // optional double initial_condition_number_threshold = 59 [default = 1e+50];
1234 private:
1235 bool _internal_has_initial_condition_number_threshold() const;
1236 public:
1240 private:
1241 double _internal_initial_condition_number_threshold() const;
1242 void _internal_set_initial_condition_number_threshold(double value);
1243 public:
1244
1245 // optional double crossover_bound_snapping_distance = 64 [default = inf];
1247 private:
1248 bool _internal_has_crossover_bound_snapping_distance() const;
1249 public:
1251 double crossover_bound_snapping_distance() const;
1253 private:
1254 double _internal_crossover_bound_snapping_distance() const;
1255 void _internal_set_crossover_bound_snapping_distance(double value);
1256 public:
1257
1258 // @@protoc_insertion_point(class_scope:operations_research.glop.GlopParameters)
1259 private:
1260 class _Internal;
1261
1262 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1263 typedef void InternalArenaConstructable_;
1264 typedef void DestructorSkippable_;
1265 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1266 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1267 bool use_dual_simplex_;
1268 bool allow_simplex_algorithm_change_;
1269 bool perturb_costs_in_dual_simplex_;
1270 bool log_search_progress_;
1271 bool use_implied_free_preprocessor_;
1272 int feasibility_rule_;
1273 int optimization_rule_;
1274 double refactorization_threshold_;
1275 double recompute_reduced_costs_threshold_;
1276 double recompute_edges_norm_threshold_;
1277 double primal_feasibility_tolerance_;
1278 double dual_feasibility_tolerance_;
1279 double ratio_test_zero_threshold_;
1280 double harris_tolerance_ratio_;
1281 double small_pivot_threshold_;
1282 double minimum_acceptable_pivot_;
1283 int initial_basis_;
1284 int32_t basis_refactorization_period_;
1285 double dualizer_threshold_;
1286 double solution_feasibility_tolerance_;
1287 int solve_dual_problem_;
1288 int32_t markowitz_zlatev_parameter_;
1289 double lu_factorization_pivot_threshold_;
1290 double max_time_in_seconds_;
1291 int64_t max_number_of_iterations_;
1292 double markowitz_singularity_threshold_;
1293 bool use_scaling_;
1294 bool use_transposed_matrix_;
1295 bool dynamically_adjust_refactorization_period_;
1296 bool provide_strong_optimal_guarantee_;
1297 int32_t devex_weights_reset_period_;
1298 double dual_small_pivot_threshold_;
1299 double preprocessor_zero_tolerance_;
1300 double objective_lower_limit_;
1301 double objective_upper_limit_;
1302 bool change_status_to_imprecise_;
1303 bool use_preprocessing_;
1304 bool use_middle_product_form_update_;
1305 bool initialize_devex_with_column_norms_;
1306 int32_t random_seed_;
1307 double degenerate_ministep_factor_;
1308 double max_deterministic_time_;
1309 int32_t num_omp_threads_;
1310 int scaling_method_;
1311 double drop_tolerance_;
1312 double relative_cost_perturbation_;
1313 double relative_max_cost_perturbation_;
1314 double max_number_of_reoptimizations_;
1315 bool exploit_singleton_column_in_initial_basis_;
1316 bool use_dedicated_dual_feasibility_algorithm_;
1317 bool log_to_stdout_;
1318 bool push_to_vertex_;
1319 int cost_scaling_;
1320 double initial_condition_number_threshold_;
1321 double crossover_bound_snapping_distance_;
1322 friend struct ::TableStruct_ortools_2fglop_2fparameters_2eproto;
1323};
1324// ===================================================================
1325
1326
1327// ===================================================================
1328
1329#ifdef __GNUC__
1330 #pragma GCC diagnostic push
1331 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1332#endif // __GNUC__
1333// GlopParameters
1334
1335// optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
1336inline bool GlopParameters::_internal_has_scaling_method() const {
1337 bool value = (_has_bits_[1] & 0x00000800u) != 0;
1338 return value;
1339}
1341 return _internal_has_scaling_method();
1342}
1344 scaling_method_ = 1;
1345 _has_bits_[1] &= ~0x00000800u;
1346}
1347inline ::operations_research::glop::GlopParameters_ScalingAlgorithm GlopParameters::_internal_scaling_method() const {
1348 return static_cast< ::operations_research::glop::GlopParameters_ScalingAlgorithm >(scaling_method_);
1349}
1351 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.scaling_method)
1352 return _internal_scaling_method();
1353}
1354inline void GlopParameters::_internal_set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value) {
1356 _has_bits_[1] |= 0x00000800u;
1357 scaling_method_ = value;
1358}
1360 _internal_set_scaling_method(value);
1361 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.scaling_method)
1362}
1363
1364// optional .operations_research.glop.GlopParameters.PricingRule feasibility_rule = 1 [default = STEEPEST_EDGE];
1365inline bool GlopParameters::_internal_has_feasibility_rule() const {
1366 bool value = (_has_bits_[0] & 0x00000020u) != 0;
1367 return value;
1368}
1370 return _internal_has_feasibility_rule();
1371}
1373 feasibility_rule_ = 1;
1374 _has_bits_[0] &= ~0x00000020u;
1375}
1376inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::_internal_feasibility_rule() const {
1377 return static_cast< ::operations_research::glop::GlopParameters_PricingRule >(feasibility_rule_);
1378}
1380 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.feasibility_rule)
1381 return _internal_feasibility_rule();
1382}
1383inline void GlopParameters::_internal_set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1385 _has_bits_[0] |= 0x00000020u;
1386 feasibility_rule_ = value;
1387}
1389 _internal_set_feasibility_rule(value);
1390 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.feasibility_rule)
1391}
1392
1393// optional .operations_research.glop.GlopParameters.PricingRule optimization_rule = 2 [default = STEEPEST_EDGE];
1394inline bool GlopParameters::_internal_has_optimization_rule() const {
1395 bool value = (_has_bits_[0] & 0x00000040u) != 0;
1396 return value;
1397}
1399 return _internal_has_optimization_rule();
1400}
1402 optimization_rule_ = 1;
1403 _has_bits_[0] &= ~0x00000040u;
1404}
1405inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::_internal_optimization_rule() const {
1406 return static_cast< ::operations_research::glop::GlopParameters_PricingRule >(optimization_rule_);
1407}
1409 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.optimization_rule)
1410 return _internal_optimization_rule();
1411}
1412inline void GlopParameters::_internal_set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1414 _has_bits_[0] |= 0x00000040u;
1415 optimization_rule_ = value;
1416}
1418 _internal_set_optimization_rule(value);
1419 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.optimization_rule)
1420}
1421
1422// optional double refactorization_threshold = 6 [default = 1e-09];
1423inline bool GlopParameters::_internal_has_refactorization_threshold() const {
1424 bool value = (_has_bits_[0] & 0x00000080u) != 0;
1425 return value;
1426}
1428 return _internal_has_refactorization_threshold();
1429}
1431 refactorization_threshold_ = 1e-09;
1432 _has_bits_[0] &= ~0x00000080u;
1433}
1434inline double GlopParameters::_internal_refactorization_threshold() const {
1435 return refactorization_threshold_;
1436}
1438 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.refactorization_threshold)
1439 return _internal_refactorization_threshold();
1440}
1441inline void GlopParameters::_internal_set_refactorization_threshold(double value) {
1442 _has_bits_[0] |= 0x00000080u;
1443 refactorization_threshold_ = value;
1444}
1446 _internal_set_refactorization_threshold(value);
1447 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.refactorization_threshold)
1448}
1449
1450// optional double recompute_reduced_costs_threshold = 8 [default = 1e-08];
1451inline bool GlopParameters::_internal_has_recompute_reduced_costs_threshold() const {
1452 bool value = (_has_bits_[0] & 0x00000100u) != 0;
1453 return value;
1454}
1456 return _internal_has_recompute_reduced_costs_threshold();
1457}
1459 recompute_reduced_costs_threshold_ = 1e-08;
1460 _has_bits_[0] &= ~0x00000100u;
1461}
1462inline double GlopParameters::_internal_recompute_reduced_costs_threshold() const {
1463 return recompute_reduced_costs_threshold_;
1464}
1466 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.recompute_reduced_costs_threshold)
1467 return _internal_recompute_reduced_costs_threshold();
1468}
1469inline void GlopParameters::_internal_set_recompute_reduced_costs_threshold(double value) {
1470 _has_bits_[0] |= 0x00000100u;
1471 recompute_reduced_costs_threshold_ = value;
1472}
1474 _internal_set_recompute_reduced_costs_threshold(value);
1475 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.recompute_reduced_costs_threshold)
1476}
1477
1478// optional double recompute_edges_norm_threshold = 9 [default = 100];
1479inline bool GlopParameters::_internal_has_recompute_edges_norm_threshold() const {
1480 bool value = (_has_bits_[0] & 0x00000200u) != 0;
1481 return value;
1482}
1484 return _internal_has_recompute_edges_norm_threshold();
1485}
1487 recompute_edges_norm_threshold_ = 100;
1488 _has_bits_[0] &= ~0x00000200u;
1489}
1490inline double GlopParameters::_internal_recompute_edges_norm_threshold() const {
1491 return recompute_edges_norm_threshold_;
1492}
1494 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.recompute_edges_norm_threshold)
1495 return _internal_recompute_edges_norm_threshold();
1496}
1497inline void GlopParameters::_internal_set_recompute_edges_norm_threshold(double value) {
1498 _has_bits_[0] |= 0x00000200u;
1499 recompute_edges_norm_threshold_ = value;
1500}
1502 _internal_set_recompute_edges_norm_threshold(value);
1503 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.recompute_edges_norm_threshold)
1504}
1505
1506// optional double primal_feasibility_tolerance = 10 [default = 1e-08];
1507inline bool GlopParameters::_internal_has_primal_feasibility_tolerance() const {
1508 bool value = (_has_bits_[0] & 0x00000400u) != 0;
1509 return value;
1510}
1512 return _internal_has_primal_feasibility_tolerance();
1513}
1515 primal_feasibility_tolerance_ = 1e-08;
1516 _has_bits_[0] &= ~0x00000400u;
1517}
1518inline double GlopParameters::_internal_primal_feasibility_tolerance() const {
1519 return primal_feasibility_tolerance_;
1520}
1522 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.primal_feasibility_tolerance)
1523 return _internal_primal_feasibility_tolerance();
1524}
1525inline void GlopParameters::_internal_set_primal_feasibility_tolerance(double value) {
1526 _has_bits_[0] |= 0x00000400u;
1527 primal_feasibility_tolerance_ = value;
1528}
1530 _internal_set_primal_feasibility_tolerance(value);
1531 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.primal_feasibility_tolerance)
1532}
1533
1534// optional double dual_feasibility_tolerance = 11 [default = 1e-08];
1535inline bool GlopParameters::_internal_has_dual_feasibility_tolerance() const {
1536 bool value = (_has_bits_[0] & 0x00000800u) != 0;
1537 return value;
1538}
1540 return _internal_has_dual_feasibility_tolerance();
1541}
1543 dual_feasibility_tolerance_ = 1e-08;
1544 _has_bits_[0] &= ~0x00000800u;
1545}
1546inline double GlopParameters::_internal_dual_feasibility_tolerance() const {
1547 return dual_feasibility_tolerance_;
1548}
1550 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dual_feasibility_tolerance)
1551 return _internal_dual_feasibility_tolerance();
1552}
1553inline void GlopParameters::_internal_set_dual_feasibility_tolerance(double value) {
1554 _has_bits_[0] |= 0x00000800u;
1555 dual_feasibility_tolerance_ = value;
1556}
1558 _internal_set_dual_feasibility_tolerance(value);
1559 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dual_feasibility_tolerance)
1560}
1561
1562// optional double ratio_test_zero_threshold = 12 [default = 1e-09];
1563inline bool GlopParameters::_internal_has_ratio_test_zero_threshold() const {
1564 bool value = (_has_bits_[0] & 0x00001000u) != 0;
1565 return value;
1566}
1568 return _internal_has_ratio_test_zero_threshold();
1569}
1571 ratio_test_zero_threshold_ = 1e-09;
1572 _has_bits_[0] &= ~0x00001000u;
1573}
1574inline double GlopParameters::_internal_ratio_test_zero_threshold() const {
1575 return ratio_test_zero_threshold_;
1576}
1578 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.ratio_test_zero_threshold)
1579 return _internal_ratio_test_zero_threshold();
1580}
1581inline void GlopParameters::_internal_set_ratio_test_zero_threshold(double value) {
1582 _has_bits_[0] |= 0x00001000u;
1583 ratio_test_zero_threshold_ = value;
1584}
1586 _internal_set_ratio_test_zero_threshold(value);
1587 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.ratio_test_zero_threshold)
1588}
1589
1590// optional double harris_tolerance_ratio = 13 [default = 0.5];
1591inline bool GlopParameters::_internal_has_harris_tolerance_ratio() const {
1592 bool value = (_has_bits_[0] & 0x00002000u) != 0;
1593 return value;
1594}
1596 return _internal_has_harris_tolerance_ratio();
1597}
1599 harris_tolerance_ratio_ = 0.5;
1600 _has_bits_[0] &= ~0x00002000u;
1601}
1602inline double GlopParameters::_internal_harris_tolerance_ratio() const {
1603 return harris_tolerance_ratio_;
1604}
1606 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.harris_tolerance_ratio)
1607 return _internal_harris_tolerance_ratio();
1608}
1609inline void GlopParameters::_internal_set_harris_tolerance_ratio(double value) {
1610 _has_bits_[0] |= 0x00002000u;
1611 harris_tolerance_ratio_ = value;
1612}
1614 _internal_set_harris_tolerance_ratio(value);
1615 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.harris_tolerance_ratio)
1616}
1617
1618// optional double small_pivot_threshold = 14 [default = 1e-06];
1619inline bool GlopParameters::_internal_has_small_pivot_threshold() const {
1620 bool value = (_has_bits_[0] & 0x00004000u) != 0;
1621 return value;
1622}
1624 return _internal_has_small_pivot_threshold();
1625}
1627 small_pivot_threshold_ = 1e-06;
1628 _has_bits_[0] &= ~0x00004000u;
1629}
1630inline double GlopParameters::_internal_small_pivot_threshold() const {
1631 return small_pivot_threshold_;
1632}
1634 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.small_pivot_threshold)
1635 return _internal_small_pivot_threshold();
1636}
1637inline void GlopParameters::_internal_set_small_pivot_threshold(double value) {
1638 _has_bits_[0] |= 0x00004000u;
1639 small_pivot_threshold_ = value;
1640}
1642 _internal_set_small_pivot_threshold(value);
1643 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.small_pivot_threshold)
1644}
1645
1646// optional double minimum_acceptable_pivot = 15 [default = 1e-06];
1647inline bool GlopParameters::_internal_has_minimum_acceptable_pivot() const {
1648 bool value = (_has_bits_[0] & 0x00008000u) != 0;
1649 return value;
1650}
1652 return _internal_has_minimum_acceptable_pivot();
1653}
1655 minimum_acceptable_pivot_ = 1e-06;
1656 _has_bits_[0] &= ~0x00008000u;
1657}
1658inline double GlopParameters::_internal_minimum_acceptable_pivot() const {
1659 return minimum_acceptable_pivot_;
1660}
1662 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.minimum_acceptable_pivot)
1663 return _internal_minimum_acceptable_pivot();
1664}
1665inline void GlopParameters::_internal_set_minimum_acceptable_pivot(double value) {
1666 _has_bits_[0] |= 0x00008000u;
1667 minimum_acceptable_pivot_ = value;
1668}
1670 _internal_set_minimum_acceptable_pivot(value);
1671 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.minimum_acceptable_pivot)
1672}
1673
1674// optional double drop_tolerance = 52 [default = 1e-14];
1675inline bool GlopParameters::_internal_has_drop_tolerance() const {
1676 bool value = (_has_bits_[1] & 0x00001000u) != 0;
1677 return value;
1678}
1680 return _internal_has_drop_tolerance();
1681}
1683 drop_tolerance_ = 1e-14;
1684 _has_bits_[1] &= ~0x00001000u;
1685}
1686inline double GlopParameters::_internal_drop_tolerance() const {
1687 return drop_tolerance_;
1688}
1689inline double GlopParameters::drop_tolerance() const {
1690 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.drop_tolerance)
1691 return _internal_drop_tolerance();
1692}
1693inline void GlopParameters::_internal_set_drop_tolerance(double value) {
1694 _has_bits_[1] |= 0x00001000u;
1695 drop_tolerance_ = value;
1696}
1698 _internal_set_drop_tolerance(value);
1699 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.drop_tolerance)
1700}
1701
1702// optional bool use_scaling = 16 [default = true];
1703inline bool GlopParameters::_internal_has_use_scaling() const {
1704 bool value = (_has_bits_[0] & 0x04000000u) != 0;
1705 return value;
1706}
1708 return _internal_has_use_scaling();
1709}
1711 use_scaling_ = true;
1712 _has_bits_[0] &= ~0x04000000u;
1713}
1714inline bool GlopParameters::_internal_use_scaling() const {
1715 return use_scaling_;
1716}
1717inline bool GlopParameters::use_scaling() const {
1718 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_scaling)
1719 return _internal_use_scaling();
1720}
1721inline void GlopParameters::_internal_set_use_scaling(bool value) {
1722 _has_bits_[0] |= 0x04000000u;
1723 use_scaling_ = value;
1724}
1726 _internal_set_use_scaling(value);
1727 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_scaling)
1728}
1729
1730// optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
1731inline bool GlopParameters::_internal_has_cost_scaling() const {
1732 bool value = (_has_bits_[1] & 0x00100000u) != 0;
1733 return value;
1734}
1736 return _internal_has_cost_scaling();
1737}
1739 cost_scaling_ = 1;
1740 _has_bits_[1] &= ~0x00100000u;
1741}
1742inline ::operations_research::glop::GlopParameters_CostScalingAlgorithm GlopParameters::_internal_cost_scaling() const {
1743 return static_cast< ::operations_research::glop::GlopParameters_CostScalingAlgorithm >(cost_scaling_);
1744}
1746 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.cost_scaling)
1747 return _internal_cost_scaling();
1748}
1749inline void GlopParameters::_internal_set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value) {
1751 _has_bits_[1] |= 0x00100000u;
1752 cost_scaling_ = value;
1753}
1755 _internal_set_cost_scaling(value);
1756 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.cost_scaling)
1757}
1758
1759// optional .operations_research.glop.GlopParameters.InitialBasisHeuristic initial_basis = 17 [default = TRIANGULAR];
1760inline bool GlopParameters::_internal_has_initial_basis() const {
1761 bool value = (_has_bits_[0] & 0x00010000u) != 0;
1762 return value;
1763}
1765 return _internal_has_initial_basis();
1766}
1768 initial_basis_ = 2;
1769 _has_bits_[0] &= ~0x00010000u;
1770}
1771inline ::operations_research::glop::GlopParameters_InitialBasisHeuristic GlopParameters::_internal_initial_basis() const {
1772 return static_cast< ::operations_research::glop::GlopParameters_InitialBasisHeuristic >(initial_basis_);
1773}
1775 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initial_basis)
1776 return _internal_initial_basis();
1777}
1778inline void GlopParameters::_internal_set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value) {
1780 _has_bits_[0] |= 0x00010000u;
1781 initial_basis_ = value;
1782}
1784 _internal_set_initial_basis(value);
1785 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initial_basis)
1786}
1787
1788// optional bool use_transposed_matrix = 18 [default = true];
1789inline bool GlopParameters::_internal_has_use_transposed_matrix() const {
1790 bool value = (_has_bits_[0] & 0x08000000u) != 0;
1791 return value;
1792}
1794 return _internal_has_use_transposed_matrix();
1795}
1797 use_transposed_matrix_ = true;
1798 _has_bits_[0] &= ~0x08000000u;
1799}
1800inline bool GlopParameters::_internal_use_transposed_matrix() const {
1801 return use_transposed_matrix_;
1802}
1804 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_transposed_matrix)
1805 return _internal_use_transposed_matrix();
1806}
1807inline void GlopParameters::_internal_set_use_transposed_matrix(bool value) {
1808 _has_bits_[0] |= 0x08000000u;
1809 use_transposed_matrix_ = value;
1810}
1812 _internal_set_use_transposed_matrix(value);
1813 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_transposed_matrix)
1814}
1815
1816// optional int32 basis_refactorization_period = 19 [default = 64];
1817inline bool GlopParameters::_internal_has_basis_refactorization_period() const {
1818 bool value = (_has_bits_[0] & 0x00020000u) != 0;
1819 return value;
1820}
1822 return _internal_has_basis_refactorization_period();
1823}
1825 basis_refactorization_period_ = 64;
1826 _has_bits_[0] &= ~0x00020000u;
1827}
1828inline int32_t GlopParameters::_internal_basis_refactorization_period() const {
1829 return basis_refactorization_period_;
1830}
1832 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.basis_refactorization_period)
1833 return _internal_basis_refactorization_period();
1834}
1835inline void GlopParameters::_internal_set_basis_refactorization_period(int32_t value) {
1836 _has_bits_[0] |= 0x00020000u;
1837 basis_refactorization_period_ = value;
1838}
1840 _internal_set_basis_refactorization_period(value);
1841 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.basis_refactorization_period)
1842}
1843
1844// optional bool dynamically_adjust_refactorization_period = 63 [default = true];
1845inline bool GlopParameters::_internal_has_dynamically_adjust_refactorization_period() const {
1846 bool value = (_has_bits_[0] & 0x10000000u) != 0;
1847 return value;
1848}
1850 return _internal_has_dynamically_adjust_refactorization_period();
1851}
1853 dynamically_adjust_refactorization_period_ = true;
1854 _has_bits_[0] &= ~0x10000000u;
1855}
1856inline bool GlopParameters::_internal_dynamically_adjust_refactorization_period() const {
1857 return dynamically_adjust_refactorization_period_;
1858}
1860 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dynamically_adjust_refactorization_period)
1861 return _internal_dynamically_adjust_refactorization_period();
1862}
1863inline void GlopParameters::_internal_set_dynamically_adjust_refactorization_period(bool value) {
1864 _has_bits_[0] |= 0x10000000u;
1865 dynamically_adjust_refactorization_period_ = value;
1866}
1868 _internal_set_dynamically_adjust_refactorization_period(value);
1869 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dynamically_adjust_refactorization_period)
1870}
1871
1872// optional .operations_research.glop.GlopParameters.SolverBehavior solve_dual_problem = 20 [default = LET_SOLVER_DECIDE];
1873inline bool GlopParameters::_internal_has_solve_dual_problem() const {
1874 bool value = (_has_bits_[0] & 0x00100000u) != 0;
1875 return value;
1876}
1878 return _internal_has_solve_dual_problem();
1879}
1881 solve_dual_problem_ = 2;
1882 _has_bits_[0] &= ~0x00100000u;
1883}
1884inline ::operations_research::glop::GlopParameters_SolverBehavior GlopParameters::_internal_solve_dual_problem() const {
1885 return static_cast< ::operations_research::glop::GlopParameters_SolverBehavior >(solve_dual_problem_);
1886}
1888 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.solve_dual_problem)
1889 return _internal_solve_dual_problem();
1890}
1891inline void GlopParameters::_internal_set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value) {
1893 _has_bits_[0] |= 0x00100000u;
1894 solve_dual_problem_ = value;
1895}
1897 _internal_set_solve_dual_problem(value);
1898 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.solve_dual_problem)
1899}
1900
1901// optional double dualizer_threshold = 21 [default = 1.5];
1902inline bool GlopParameters::_internal_has_dualizer_threshold() const {
1903 bool value = (_has_bits_[0] & 0x00040000u) != 0;
1904 return value;
1905}
1907 return _internal_has_dualizer_threshold();
1908}
1910 dualizer_threshold_ = 1.5;
1911 _has_bits_[0] &= ~0x00040000u;
1912}
1913inline double GlopParameters::_internal_dualizer_threshold() const {
1914 return dualizer_threshold_;
1915}
1917 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dualizer_threshold)
1918 return _internal_dualizer_threshold();
1919}
1920inline void GlopParameters::_internal_set_dualizer_threshold(double value) {
1921 _has_bits_[0] |= 0x00040000u;
1922 dualizer_threshold_ = value;
1923}
1925 _internal_set_dualizer_threshold(value);
1926 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dualizer_threshold)
1927}
1928
1929// optional double solution_feasibility_tolerance = 22 [default = 1e-06];
1930inline bool GlopParameters::_internal_has_solution_feasibility_tolerance() const {
1931 bool value = (_has_bits_[0] & 0x00080000u) != 0;
1932 return value;
1933}
1935 return _internal_has_solution_feasibility_tolerance();
1936}
1938 solution_feasibility_tolerance_ = 1e-06;
1939 _has_bits_[0] &= ~0x00080000u;
1940}
1941inline double GlopParameters::_internal_solution_feasibility_tolerance() const {
1942 return solution_feasibility_tolerance_;
1943}
1945 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.solution_feasibility_tolerance)
1946 return _internal_solution_feasibility_tolerance();
1947}
1948inline void GlopParameters::_internal_set_solution_feasibility_tolerance(double value) {
1949 _has_bits_[0] |= 0x00080000u;
1950 solution_feasibility_tolerance_ = value;
1951}
1953 _internal_set_solution_feasibility_tolerance(value);
1954 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.solution_feasibility_tolerance)
1955}
1956
1957// optional bool provide_strong_optimal_guarantee = 24 [default = true];
1958inline bool GlopParameters::_internal_has_provide_strong_optimal_guarantee() const {
1959 bool value = (_has_bits_[0] & 0x20000000u) != 0;
1960 return value;
1961}
1963 return _internal_has_provide_strong_optimal_guarantee();
1964}
1966 provide_strong_optimal_guarantee_ = true;
1967 _has_bits_[0] &= ~0x20000000u;
1968}
1969inline bool GlopParameters::_internal_provide_strong_optimal_guarantee() const {
1970 return provide_strong_optimal_guarantee_;
1971}
1973 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.provide_strong_optimal_guarantee)
1974 return _internal_provide_strong_optimal_guarantee();
1975}
1976inline void GlopParameters::_internal_set_provide_strong_optimal_guarantee(bool value) {
1977 _has_bits_[0] |= 0x20000000u;
1978 provide_strong_optimal_guarantee_ = value;
1979}
1981 _internal_set_provide_strong_optimal_guarantee(value);
1982 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.provide_strong_optimal_guarantee)
1983}
1984
1985// optional bool change_status_to_imprecise = 58 [default = true];
1986inline bool GlopParameters::_internal_has_change_status_to_imprecise() const {
1987 bool value = (_has_bits_[1] & 0x00000008u) != 0;
1988 return value;
1989}
1991 return _internal_has_change_status_to_imprecise();
1992}
1994 change_status_to_imprecise_ = true;
1995 _has_bits_[1] &= ~0x00000008u;
1996}
1997inline bool GlopParameters::_internal_change_status_to_imprecise() const {
1998 return change_status_to_imprecise_;
1999}
2001 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.change_status_to_imprecise)
2002 return _internal_change_status_to_imprecise();
2003}
2004inline void GlopParameters::_internal_set_change_status_to_imprecise(bool value) {
2005 _has_bits_[1] |= 0x00000008u;
2006 change_status_to_imprecise_ = value;
2007}
2009 _internal_set_change_status_to_imprecise(value);
2010 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.change_status_to_imprecise)
2011}
2012
2013// optional double max_number_of_reoptimizations = 56 [default = 40];
2014inline bool GlopParameters::_internal_has_max_number_of_reoptimizations() const {
2015 bool value = (_has_bits_[1] & 0x00008000u) != 0;
2016 return value;
2017}
2019 return _internal_has_max_number_of_reoptimizations();
2020}
2022 max_number_of_reoptimizations_ = 40;
2023 _has_bits_[1] &= ~0x00008000u;
2024}
2025inline double GlopParameters::_internal_max_number_of_reoptimizations() const {
2026 return max_number_of_reoptimizations_;
2027}
2029 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_number_of_reoptimizations)
2030 return _internal_max_number_of_reoptimizations();
2031}
2032inline void GlopParameters::_internal_set_max_number_of_reoptimizations(double value) {
2033 _has_bits_[1] |= 0x00008000u;
2034 max_number_of_reoptimizations_ = value;
2035}
2037 _internal_set_max_number_of_reoptimizations(value);
2038 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_number_of_reoptimizations)
2039}
2040
2041// optional double lu_factorization_pivot_threshold = 25 [default = 0.01];
2042inline bool GlopParameters::_internal_has_lu_factorization_pivot_threshold() const {
2043 bool value = (_has_bits_[0] & 0x00400000u) != 0;
2044 return value;
2045}
2047 return _internal_has_lu_factorization_pivot_threshold();
2048}
2050 lu_factorization_pivot_threshold_ = 0.01;
2051 _has_bits_[0] &= ~0x00400000u;
2052}
2053inline double GlopParameters::_internal_lu_factorization_pivot_threshold() const {
2054 return lu_factorization_pivot_threshold_;
2055}
2057 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.lu_factorization_pivot_threshold)
2058 return _internal_lu_factorization_pivot_threshold();
2059}
2060inline void GlopParameters::_internal_set_lu_factorization_pivot_threshold(double value) {
2061 _has_bits_[0] |= 0x00400000u;
2062 lu_factorization_pivot_threshold_ = value;
2063}
2065 _internal_set_lu_factorization_pivot_threshold(value);
2066 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.lu_factorization_pivot_threshold)
2067}
2068
2069// optional double max_time_in_seconds = 26 [default = inf];
2070inline bool GlopParameters::_internal_has_max_time_in_seconds() const {
2071 bool value = (_has_bits_[0] & 0x00800000u) != 0;
2072 return value;
2073}
2075 return _internal_has_max_time_in_seconds();
2076}
2078 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
2079 _has_bits_[0] &= ~0x00800000u;
2080}
2081inline double GlopParameters::_internal_max_time_in_seconds() const {
2082 return max_time_in_seconds_;
2083}
2085 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_time_in_seconds)
2086 return _internal_max_time_in_seconds();
2087}
2088inline void GlopParameters::_internal_set_max_time_in_seconds(double value) {
2089 _has_bits_[0] |= 0x00800000u;
2090 max_time_in_seconds_ = value;
2091}
2093 _internal_set_max_time_in_seconds(value);
2094 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_time_in_seconds)
2095}
2096
2097// optional double max_deterministic_time = 45 [default = inf];
2098inline bool GlopParameters::_internal_has_max_deterministic_time() const {
2099 bool value = (_has_bits_[1] & 0x00000200u) != 0;
2100 return value;
2101}
2103 return _internal_has_max_deterministic_time();
2104}
2106 max_deterministic_time_ = std::numeric_limits<double>::infinity();
2107 _has_bits_[1] &= ~0x00000200u;
2108}
2109inline double GlopParameters::_internal_max_deterministic_time() const {
2110 return max_deterministic_time_;
2111}
2113 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_deterministic_time)
2114 return _internal_max_deterministic_time();
2115}
2116inline void GlopParameters::_internal_set_max_deterministic_time(double value) {
2117 _has_bits_[1] |= 0x00000200u;
2118 max_deterministic_time_ = value;
2119}
2121 _internal_set_max_deterministic_time(value);
2122 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_deterministic_time)
2123}
2124
2125// optional int64 max_number_of_iterations = 27 [default = -1];
2126inline bool GlopParameters::_internal_has_max_number_of_iterations() const {
2127 bool value = (_has_bits_[0] & 0x01000000u) != 0;
2128 return value;
2129}
2131 return _internal_has_max_number_of_iterations();
2132}
2134 max_number_of_iterations_ = int64_t{-1};
2135 _has_bits_[0] &= ~0x01000000u;
2136}
2137inline int64_t GlopParameters::_internal_max_number_of_iterations() const {
2138 return max_number_of_iterations_;
2139}
2141 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_number_of_iterations)
2142 return _internal_max_number_of_iterations();
2143}
2144inline void GlopParameters::_internal_set_max_number_of_iterations(int64_t value) {
2145 _has_bits_[0] |= 0x01000000u;
2146 max_number_of_iterations_ = value;
2147}
2149 _internal_set_max_number_of_iterations(value);
2150 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_number_of_iterations)
2151}
2152
2153// optional int32 markowitz_zlatev_parameter = 29 [default = 3];
2154inline bool GlopParameters::_internal_has_markowitz_zlatev_parameter() const {
2155 bool value = (_has_bits_[0] & 0x00200000u) != 0;
2156 return value;
2157}
2159 return _internal_has_markowitz_zlatev_parameter();
2160}
2162 markowitz_zlatev_parameter_ = 3;
2163 _has_bits_[0] &= ~0x00200000u;
2164}
2165inline int32_t GlopParameters::_internal_markowitz_zlatev_parameter() const {
2166 return markowitz_zlatev_parameter_;
2167}
2169 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.markowitz_zlatev_parameter)
2170 return _internal_markowitz_zlatev_parameter();
2171}
2172inline void GlopParameters::_internal_set_markowitz_zlatev_parameter(int32_t value) {
2173 _has_bits_[0] |= 0x00200000u;
2174 markowitz_zlatev_parameter_ = value;
2175}
2177 _internal_set_markowitz_zlatev_parameter(value);
2178 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.markowitz_zlatev_parameter)
2179}
2180
2181// optional double markowitz_singularity_threshold = 30 [default = 1e-15];
2182inline bool GlopParameters::_internal_has_markowitz_singularity_threshold() const {
2183 bool value = (_has_bits_[0] & 0x02000000u) != 0;
2184 return value;
2185}
2187 return _internal_has_markowitz_singularity_threshold();
2188}
2190 markowitz_singularity_threshold_ = 1e-15;
2191 _has_bits_[0] &= ~0x02000000u;
2192}
2193inline double GlopParameters::_internal_markowitz_singularity_threshold() const {
2194 return markowitz_singularity_threshold_;
2195}
2197 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.markowitz_singularity_threshold)
2198 return _internal_markowitz_singularity_threshold();
2199}
2200inline void GlopParameters::_internal_set_markowitz_singularity_threshold(double value) {
2201 _has_bits_[0] |= 0x02000000u;
2202 markowitz_singularity_threshold_ = value;
2203}
2205 _internal_set_markowitz_singularity_threshold(value);
2206 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.markowitz_singularity_threshold)
2207}
2208
2209// optional bool use_dual_simplex = 31 [default = false];
2210inline bool GlopParameters::_internal_has_use_dual_simplex() const {
2211 bool value = (_has_bits_[0] & 0x00000001u) != 0;
2212 return value;
2213}
2215 return _internal_has_use_dual_simplex();
2216}
2218 use_dual_simplex_ = false;
2219 _has_bits_[0] &= ~0x00000001u;
2220}
2221inline bool GlopParameters::_internal_use_dual_simplex() const {
2222 return use_dual_simplex_;
2223}
2225 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_dual_simplex)
2226 return _internal_use_dual_simplex();
2227}
2228inline void GlopParameters::_internal_set_use_dual_simplex(bool value) {
2229 _has_bits_[0] |= 0x00000001u;
2230 use_dual_simplex_ = value;
2231}
2233 _internal_set_use_dual_simplex(value);
2234 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_dual_simplex)
2235}
2236
2237// optional bool allow_simplex_algorithm_change = 32 [default = false];
2238inline bool GlopParameters::_internal_has_allow_simplex_algorithm_change() const {
2239 bool value = (_has_bits_[0] & 0x00000002u) != 0;
2240 return value;
2241}
2243 return _internal_has_allow_simplex_algorithm_change();
2244}
2246 allow_simplex_algorithm_change_ = false;
2247 _has_bits_[0] &= ~0x00000002u;
2248}
2249inline bool GlopParameters::_internal_allow_simplex_algorithm_change() const {
2250 return allow_simplex_algorithm_change_;
2251}
2253 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.allow_simplex_algorithm_change)
2254 return _internal_allow_simplex_algorithm_change();
2255}
2256inline void GlopParameters::_internal_set_allow_simplex_algorithm_change(bool value) {
2257 _has_bits_[0] |= 0x00000002u;
2258 allow_simplex_algorithm_change_ = value;
2259}
2261 _internal_set_allow_simplex_algorithm_change(value);
2262 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.allow_simplex_algorithm_change)
2263}
2264
2265// optional int32 devex_weights_reset_period = 33 [default = 150];
2266inline bool GlopParameters::_internal_has_devex_weights_reset_period() const {
2267 bool value = (_has_bits_[0] & 0x40000000u) != 0;
2268 return value;
2269}
2271 return _internal_has_devex_weights_reset_period();
2272}
2274 devex_weights_reset_period_ = 150;
2275 _has_bits_[0] &= ~0x40000000u;
2276}
2277inline int32_t GlopParameters::_internal_devex_weights_reset_period() const {
2278 return devex_weights_reset_period_;
2279}
2281 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.devex_weights_reset_period)
2282 return _internal_devex_weights_reset_period();
2283}
2284inline void GlopParameters::_internal_set_devex_weights_reset_period(int32_t value) {
2285 _has_bits_[0] |= 0x40000000u;
2286 devex_weights_reset_period_ = value;
2287}
2289 _internal_set_devex_weights_reset_period(value);
2290 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.devex_weights_reset_period)
2291}
2292
2293// optional bool use_preprocessing = 34 [default = true];
2294inline bool GlopParameters::_internal_has_use_preprocessing() const {
2295 bool value = (_has_bits_[1] & 0x00000010u) != 0;
2296 return value;
2297}
2299 return _internal_has_use_preprocessing();
2300}
2302 use_preprocessing_ = true;
2303 _has_bits_[1] &= ~0x00000010u;
2304}
2305inline bool GlopParameters::_internal_use_preprocessing() const {
2306 return use_preprocessing_;
2307}
2309 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_preprocessing)
2310 return _internal_use_preprocessing();
2311}
2312inline void GlopParameters::_internal_set_use_preprocessing(bool value) {
2313 _has_bits_[1] |= 0x00000010u;
2314 use_preprocessing_ = value;
2315}
2317 _internal_set_use_preprocessing(value);
2318 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_preprocessing)
2319}
2320
2321// optional bool use_middle_product_form_update = 35 [default = true];
2322inline bool GlopParameters::_internal_has_use_middle_product_form_update() const {
2323 bool value = (_has_bits_[1] & 0x00000020u) != 0;
2324 return value;
2325}
2327 return _internal_has_use_middle_product_form_update();
2328}
2330 use_middle_product_form_update_ = true;
2331 _has_bits_[1] &= ~0x00000020u;
2332}
2333inline bool GlopParameters::_internal_use_middle_product_form_update() const {
2334 return use_middle_product_form_update_;
2335}
2337 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_middle_product_form_update)
2338 return _internal_use_middle_product_form_update();
2339}
2340inline void GlopParameters::_internal_set_use_middle_product_form_update(bool value) {
2341 _has_bits_[1] |= 0x00000020u;
2342 use_middle_product_form_update_ = value;
2343}
2345 _internal_set_use_middle_product_form_update(value);
2346 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_middle_product_form_update)
2347}
2348
2349// optional bool initialize_devex_with_column_norms = 36 [default = true];
2350inline bool GlopParameters::_internal_has_initialize_devex_with_column_norms() const {
2351 bool value = (_has_bits_[1] & 0x00000040u) != 0;
2352 return value;
2353}
2355 return _internal_has_initialize_devex_with_column_norms();
2356}
2358 initialize_devex_with_column_norms_ = true;
2359 _has_bits_[1] &= ~0x00000040u;
2360}
2361inline bool GlopParameters::_internal_initialize_devex_with_column_norms() const {
2362 return initialize_devex_with_column_norms_;
2363}
2365 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initialize_devex_with_column_norms)
2366 return _internal_initialize_devex_with_column_norms();
2367}
2368inline void GlopParameters::_internal_set_initialize_devex_with_column_norms(bool value) {
2369 _has_bits_[1] |= 0x00000040u;
2370 initialize_devex_with_column_norms_ = value;
2371}
2373 _internal_set_initialize_devex_with_column_norms(value);
2374 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initialize_devex_with_column_norms)
2375}
2376
2377// optional bool exploit_singleton_column_in_initial_basis = 37 [default = true];
2378inline bool GlopParameters::_internal_has_exploit_singleton_column_in_initial_basis() const {
2379 bool value = (_has_bits_[1] & 0x00010000u) != 0;
2380 return value;
2381}
2383 return _internal_has_exploit_singleton_column_in_initial_basis();
2384}
2386 exploit_singleton_column_in_initial_basis_ = true;
2387 _has_bits_[1] &= ~0x00010000u;
2388}
2389inline bool GlopParameters::_internal_exploit_singleton_column_in_initial_basis() const {
2390 return exploit_singleton_column_in_initial_basis_;
2391}
2393 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.exploit_singleton_column_in_initial_basis)
2394 return _internal_exploit_singleton_column_in_initial_basis();
2395}
2396inline void GlopParameters::_internal_set_exploit_singleton_column_in_initial_basis(bool value) {
2397 _has_bits_[1] |= 0x00010000u;
2398 exploit_singleton_column_in_initial_basis_ = value;
2399}
2401 _internal_set_exploit_singleton_column_in_initial_basis(value);
2402 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.exploit_singleton_column_in_initial_basis)
2403}
2404
2405// optional double dual_small_pivot_threshold = 38 [default = 0.0001];
2406inline bool GlopParameters::_internal_has_dual_small_pivot_threshold() const {
2407 bool value = (_has_bits_[0] & 0x80000000u) != 0;
2408 return value;
2409}
2411 return _internal_has_dual_small_pivot_threshold();
2412}
2414 dual_small_pivot_threshold_ = 0.0001;
2415 _has_bits_[0] &= ~0x80000000u;
2416}
2417inline double GlopParameters::_internal_dual_small_pivot_threshold() const {
2418 return dual_small_pivot_threshold_;
2419}
2421 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dual_small_pivot_threshold)
2422 return _internal_dual_small_pivot_threshold();
2423}
2424inline void GlopParameters::_internal_set_dual_small_pivot_threshold(double value) {
2425 _has_bits_[0] |= 0x80000000u;
2426 dual_small_pivot_threshold_ = value;
2427}
2429 _internal_set_dual_small_pivot_threshold(value);
2430 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dual_small_pivot_threshold)
2431}
2432
2433// optional double preprocessor_zero_tolerance = 39 [default = 1e-09];
2434inline bool GlopParameters::_internal_has_preprocessor_zero_tolerance() const {
2435 bool value = (_has_bits_[1] & 0x00000001u) != 0;
2436 return value;
2437}
2439 return _internal_has_preprocessor_zero_tolerance();
2440}
2442 preprocessor_zero_tolerance_ = 1e-09;
2443 _has_bits_[1] &= ~0x00000001u;
2444}
2445inline double GlopParameters::_internal_preprocessor_zero_tolerance() const {
2446 return preprocessor_zero_tolerance_;
2447}
2449 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.preprocessor_zero_tolerance)
2450 return _internal_preprocessor_zero_tolerance();
2451}
2452inline void GlopParameters::_internal_set_preprocessor_zero_tolerance(double value) {
2453 _has_bits_[1] |= 0x00000001u;
2454 preprocessor_zero_tolerance_ = value;
2455}
2457 _internal_set_preprocessor_zero_tolerance(value);
2458 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.preprocessor_zero_tolerance)
2459}
2460
2461// optional double objective_lower_limit = 40 [default = -inf];
2462inline bool GlopParameters::_internal_has_objective_lower_limit() const {
2463 bool value = (_has_bits_[1] & 0x00000002u) != 0;
2464 return value;
2465}
2467 return _internal_has_objective_lower_limit();
2468}
2470 objective_lower_limit_ = -std::numeric_limits<double>::infinity();
2471 _has_bits_[1] &= ~0x00000002u;
2472}
2473inline double GlopParameters::_internal_objective_lower_limit() const {
2474 return objective_lower_limit_;
2475}
2477 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.objective_lower_limit)
2478 return _internal_objective_lower_limit();
2479}
2480inline void GlopParameters::_internal_set_objective_lower_limit(double value) {
2481 _has_bits_[1] |= 0x00000002u;
2482 objective_lower_limit_ = value;
2483}
2485 _internal_set_objective_lower_limit(value);
2486 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.objective_lower_limit)
2487}
2488
2489// optional double objective_upper_limit = 41 [default = inf];
2490inline bool GlopParameters::_internal_has_objective_upper_limit() const {
2491 bool value = (_has_bits_[1] & 0x00000004u) != 0;
2492 return value;
2493}
2495 return _internal_has_objective_upper_limit();
2496}
2498 objective_upper_limit_ = std::numeric_limits<double>::infinity();
2499 _has_bits_[1] &= ~0x00000004u;
2500}
2501inline double GlopParameters::_internal_objective_upper_limit() const {
2502 return objective_upper_limit_;
2503}
2505 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.objective_upper_limit)
2506 return _internal_objective_upper_limit();
2507}
2508inline void GlopParameters::_internal_set_objective_upper_limit(double value) {
2509 _has_bits_[1] |= 0x00000004u;
2510 objective_upper_limit_ = value;
2511}
2513 _internal_set_objective_upper_limit(value);
2514 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.objective_upper_limit)
2515}
2516
2517// optional double degenerate_ministep_factor = 42 [default = 0.01];
2518inline bool GlopParameters::_internal_has_degenerate_ministep_factor() const {
2519 bool value = (_has_bits_[1] & 0x00000100u) != 0;
2520 return value;
2521}
2523 return _internal_has_degenerate_ministep_factor();
2524}
2526 degenerate_ministep_factor_ = 0.01;
2527 _has_bits_[1] &= ~0x00000100u;
2528}
2529inline double GlopParameters::_internal_degenerate_ministep_factor() const {
2530 return degenerate_ministep_factor_;
2531}
2533 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.degenerate_ministep_factor)
2534 return _internal_degenerate_ministep_factor();
2535}
2536inline void GlopParameters::_internal_set_degenerate_ministep_factor(double value) {
2537 _has_bits_[1] |= 0x00000100u;
2538 degenerate_ministep_factor_ = value;
2539}
2541 _internal_set_degenerate_ministep_factor(value);
2542 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.degenerate_ministep_factor)
2543}
2544
2545// optional int32 random_seed = 43 [default = 1];
2546inline bool GlopParameters::_internal_has_random_seed() const {
2547 bool value = (_has_bits_[1] & 0x00000080u) != 0;
2548 return value;
2549}
2551 return _internal_has_random_seed();
2552}
2554 random_seed_ = 1;
2555 _has_bits_[1] &= ~0x00000080u;
2556}
2557inline int32_t GlopParameters::_internal_random_seed() const {
2558 return random_seed_;
2559}
2560inline int32_t GlopParameters::random_seed() const {
2561 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.random_seed)
2562 return _internal_random_seed();
2563}
2564inline void GlopParameters::_internal_set_random_seed(int32_t value) {
2565 _has_bits_[1] |= 0x00000080u;
2566 random_seed_ = value;
2567}
2569 _internal_set_random_seed(value);
2570 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.random_seed)
2571}
2572
2573// optional int32 num_omp_threads = 44 [default = 1];
2574inline bool GlopParameters::_internal_has_num_omp_threads() const {
2575 bool value = (_has_bits_[1] & 0x00000400u) != 0;
2576 return value;
2577}
2579 return _internal_has_num_omp_threads();
2580}
2582 num_omp_threads_ = 1;
2583 _has_bits_[1] &= ~0x00000400u;
2584}
2585inline int32_t GlopParameters::_internal_num_omp_threads() const {
2586 return num_omp_threads_;
2587}
2588inline int32_t GlopParameters::num_omp_threads() const {
2589 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.num_omp_threads)
2590 return _internal_num_omp_threads();
2591}
2592inline void GlopParameters::_internal_set_num_omp_threads(int32_t value) {
2593 _has_bits_[1] |= 0x00000400u;
2594 num_omp_threads_ = value;
2595}
2597 _internal_set_num_omp_threads(value);
2598 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.num_omp_threads)
2599}
2600
2601// optional bool perturb_costs_in_dual_simplex = 53 [default = false];
2602inline bool GlopParameters::_internal_has_perturb_costs_in_dual_simplex() const {
2603 bool value = (_has_bits_[0] & 0x00000004u) != 0;
2604 return value;
2605}
2607 return _internal_has_perturb_costs_in_dual_simplex();
2608}
2610 perturb_costs_in_dual_simplex_ = false;
2611 _has_bits_[0] &= ~0x00000004u;
2612}
2613inline bool GlopParameters::_internal_perturb_costs_in_dual_simplex() const {
2614 return perturb_costs_in_dual_simplex_;
2615}
2617 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.perturb_costs_in_dual_simplex)
2618 return _internal_perturb_costs_in_dual_simplex();
2619}
2620inline void GlopParameters::_internal_set_perturb_costs_in_dual_simplex(bool value) {
2621 _has_bits_[0] |= 0x00000004u;
2622 perturb_costs_in_dual_simplex_ = value;
2623}
2625 _internal_set_perturb_costs_in_dual_simplex(value);
2626 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.perturb_costs_in_dual_simplex)
2627}
2628
2629// optional bool use_dedicated_dual_feasibility_algorithm = 62 [default = true];
2630inline bool GlopParameters::_internal_has_use_dedicated_dual_feasibility_algorithm() const {
2631 bool value = (_has_bits_[1] & 0x00020000u) != 0;
2632 return value;
2633}
2635 return _internal_has_use_dedicated_dual_feasibility_algorithm();
2636}
2638 use_dedicated_dual_feasibility_algorithm_ = true;
2639 _has_bits_[1] &= ~0x00020000u;
2640}
2641inline bool GlopParameters::_internal_use_dedicated_dual_feasibility_algorithm() const {
2642 return use_dedicated_dual_feasibility_algorithm_;
2643}
2645 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_dedicated_dual_feasibility_algorithm)
2646 return _internal_use_dedicated_dual_feasibility_algorithm();
2647}
2648inline void GlopParameters::_internal_set_use_dedicated_dual_feasibility_algorithm(bool value) {
2649 _has_bits_[1] |= 0x00020000u;
2650 use_dedicated_dual_feasibility_algorithm_ = value;
2651}
2653 _internal_set_use_dedicated_dual_feasibility_algorithm(value);
2654 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_dedicated_dual_feasibility_algorithm)
2655}
2656
2657// optional double relative_cost_perturbation = 54 [default = 1e-05];
2658inline bool GlopParameters::_internal_has_relative_cost_perturbation() const {
2659 bool value = (_has_bits_[1] & 0x00002000u) != 0;
2660 return value;
2661}
2663 return _internal_has_relative_cost_perturbation();
2664}
2666 relative_cost_perturbation_ = 1e-05;
2667 _has_bits_[1] &= ~0x00002000u;
2668}
2669inline double GlopParameters::_internal_relative_cost_perturbation() const {
2670 return relative_cost_perturbation_;
2671}
2673 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.relative_cost_perturbation)
2674 return _internal_relative_cost_perturbation();
2675}
2676inline void GlopParameters::_internal_set_relative_cost_perturbation(double value) {
2677 _has_bits_[1] |= 0x00002000u;
2678 relative_cost_perturbation_ = value;
2679}
2681 _internal_set_relative_cost_perturbation(value);
2682 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.relative_cost_perturbation)
2683}
2684
2685// optional double relative_max_cost_perturbation = 55 [default = 1e-07];
2686inline bool GlopParameters::_internal_has_relative_max_cost_perturbation() const {
2687 bool value = (_has_bits_[1] & 0x00004000u) != 0;
2688 return value;
2689}
2691 return _internal_has_relative_max_cost_perturbation();
2692}
2694 relative_max_cost_perturbation_ = 1e-07;
2695 _has_bits_[1] &= ~0x00004000u;
2696}
2697inline double GlopParameters::_internal_relative_max_cost_perturbation() const {
2698 return relative_max_cost_perturbation_;
2699}
2701 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.relative_max_cost_perturbation)
2702 return _internal_relative_max_cost_perturbation();
2703}
2704inline void GlopParameters::_internal_set_relative_max_cost_perturbation(double value) {
2705 _has_bits_[1] |= 0x00004000u;
2706 relative_max_cost_perturbation_ = value;
2707}
2709 _internal_set_relative_max_cost_perturbation(value);
2710 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.relative_max_cost_perturbation)
2711}
2712
2713// optional double initial_condition_number_threshold = 59 [default = 1e+50];
2714inline bool GlopParameters::_internal_has_initial_condition_number_threshold() const {
2715 bool value = (_has_bits_[1] & 0x00200000u) != 0;
2716 return value;
2717}
2719 return _internal_has_initial_condition_number_threshold();
2720}
2722 initial_condition_number_threshold_ = 1e+50;
2723 _has_bits_[1] &= ~0x00200000u;
2724}
2725inline double GlopParameters::_internal_initial_condition_number_threshold() const {
2726 return initial_condition_number_threshold_;
2727}
2729 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initial_condition_number_threshold)
2730 return _internal_initial_condition_number_threshold();
2731}
2732inline void GlopParameters::_internal_set_initial_condition_number_threshold(double value) {
2733 _has_bits_[1] |= 0x00200000u;
2734 initial_condition_number_threshold_ = value;
2735}
2737 _internal_set_initial_condition_number_threshold(value);
2738 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initial_condition_number_threshold)
2739}
2740
2741// optional bool log_search_progress = 61 [default = false];
2742inline bool GlopParameters::_internal_has_log_search_progress() const {
2743 bool value = (_has_bits_[0] & 0x00000008u) != 0;
2744 return value;
2745}
2747 return _internal_has_log_search_progress();
2748}
2750 log_search_progress_ = false;
2751 _has_bits_[0] &= ~0x00000008u;
2752}
2753inline bool GlopParameters::_internal_log_search_progress() const {
2754 return log_search_progress_;
2755}
2757 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.log_search_progress)
2758 return _internal_log_search_progress();
2759}
2760inline void GlopParameters::_internal_set_log_search_progress(bool value) {
2761 _has_bits_[0] |= 0x00000008u;
2762 log_search_progress_ = value;
2763}
2765 _internal_set_log_search_progress(value);
2766 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.log_search_progress)
2767}
2768
2769// optional bool log_to_stdout = 66 [default = true];
2770inline bool GlopParameters::_internal_has_log_to_stdout() const {
2771 bool value = (_has_bits_[1] & 0x00040000u) != 0;
2772 return value;
2773}
2775 return _internal_has_log_to_stdout();
2776}
2778 log_to_stdout_ = true;
2779 _has_bits_[1] &= ~0x00040000u;
2780}
2781inline bool GlopParameters::_internal_log_to_stdout() const {
2782 return log_to_stdout_;
2783}
2785 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.log_to_stdout)
2786 return _internal_log_to_stdout();
2787}
2788inline void GlopParameters::_internal_set_log_to_stdout(bool value) {
2789 _has_bits_[1] |= 0x00040000u;
2790 log_to_stdout_ = value;
2791}
2793 _internal_set_log_to_stdout(value);
2794 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.log_to_stdout)
2795}
2796
2797// optional double crossover_bound_snapping_distance = 64 [default = inf];
2798inline bool GlopParameters::_internal_has_crossover_bound_snapping_distance() const {
2799 bool value = (_has_bits_[1] & 0x00400000u) != 0;
2800 return value;
2801}
2803 return _internal_has_crossover_bound_snapping_distance();
2804}
2806 crossover_bound_snapping_distance_ = std::numeric_limits<double>::infinity();
2807 _has_bits_[1] &= ~0x00400000u;
2808}
2809inline double GlopParameters::_internal_crossover_bound_snapping_distance() const {
2810 return crossover_bound_snapping_distance_;
2811}
2813 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.crossover_bound_snapping_distance)
2814 return _internal_crossover_bound_snapping_distance();
2815}
2816inline void GlopParameters::_internal_set_crossover_bound_snapping_distance(double value) {
2817 _has_bits_[1] |= 0x00400000u;
2818 crossover_bound_snapping_distance_ = value;
2819}
2821 _internal_set_crossover_bound_snapping_distance(value);
2822 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.crossover_bound_snapping_distance)
2823}
2824
2825// optional bool push_to_vertex = 65 [default = true];
2826inline bool GlopParameters::_internal_has_push_to_vertex() const {
2827 bool value = (_has_bits_[1] & 0x00080000u) != 0;
2828 return value;
2829}
2831 return _internal_has_push_to_vertex();
2832}
2834 push_to_vertex_ = true;
2835 _has_bits_[1] &= ~0x00080000u;
2836}
2837inline bool GlopParameters::_internal_push_to_vertex() const {
2838 return push_to_vertex_;
2839}
2841 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.push_to_vertex)
2842 return _internal_push_to_vertex();
2843}
2844inline void GlopParameters::_internal_set_push_to_vertex(bool value) {
2845 _has_bits_[1] |= 0x00080000u;
2846 push_to_vertex_ = value;
2847}
2849 _internal_set_push_to_vertex(value);
2850 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.push_to_vertex)
2851}
2852
2853// optional bool use_implied_free_preprocessor = 67 [default = true];
2854inline bool GlopParameters::_internal_has_use_implied_free_preprocessor() const {
2855 bool value = (_has_bits_[0] & 0x00000010u) != 0;
2856 return value;
2857}
2859 return _internal_has_use_implied_free_preprocessor();
2860}
2862 use_implied_free_preprocessor_ = true;
2863 _has_bits_[0] &= ~0x00000010u;
2864}
2865inline bool GlopParameters::_internal_use_implied_free_preprocessor() const {
2866 return use_implied_free_preprocessor_;
2867}
2869 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_implied_free_preprocessor)
2870 return _internal_use_implied_free_preprocessor();
2871}
2872inline void GlopParameters::_internal_set_use_implied_free_preprocessor(bool value) {
2873 _has_bits_[0] |= 0x00000010u;
2874 use_implied_free_preprocessor_ = value;
2875}
2877 _internal_set_use_implied_free_preprocessor(value);
2878 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_implied_free_preprocessor)
2879}
2880
2881#ifdef __GNUC__
2882 #pragma GCC diagnostic pop
2883#endif // __GNUC__
2884
2885// @@protoc_insertion_point(namespace_scope)
2886
2887} // namespace glop
2888} // namespace operations_research
2889
2890PROTOBUF_NAMESPACE_OPEN
2891
2892template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_ScalingAlgorithm> : ::std::true_type {};
2893template <>
2894inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_ScalingAlgorithm>() {
2896}
2897template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_SolverBehavior> : ::std::true_type {};
2898template <>
2899inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_SolverBehavior>() {
2901}
2902template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_PricingRule> : ::std::true_type {};
2903template <>
2904inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_PricingRule>() {
2906}
2907template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_InitialBasisHeuristic> : ::std::true_type {};
2908template <>
2909inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_InitialBasisHeuristic>() {
2911}
2912template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_CostScalingAlgorithm> : ::std::true_type {};
2913template <>
2914inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_CostScalingAlgorithm>() {
2916}
2917
2918PROTOBUF_NAMESPACE_CLOSE
2919
2920// @@protoc_insertion_point(global_scope)
2921
2922#include <google/protobuf/port_undef.inc>
2923#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fglop_2fparameters_2eproto
::operations_research::glop::GlopParameters_SolverBehavior solve_dual_problem() const
void set_lu_factorization_pivot_threshold(double value)
static constexpr int ScalingAlgorithm_ARRAYSIZE
static bool CostScalingAlgorithm_IsValid(int value)
static const std::string & InitialBasisHeuristic_Name(T enum_t_value)
GlopParameters(GlopParameters &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * InitialBasisHeuristic_descriptor()
void set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SolverBehavior_descriptor()
::operations_research::glop::GlopParameters_PricingRule feasibility_rule() const
static bool CostScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CostScalingAlgorithm *value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * PricingRule_descriptor()
static constexpr SolverBehavior SolverBehavior_MAX
static constexpr ScalingAlgorithm LINEAR_PROGRAM
static const GlopParameters & default_instance()
void set_markowitz_singularity_threshold(double value)
::operations_research::glop::GlopParameters_PricingRule optimization_rule() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CostScalingAlgorithm_descriptor()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static constexpr InitialBasisHeuristic InitialBasisHeuristic_MAX
GlopParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value)
void set_basis_refactorization_period(int32_t value)
static constexpr InitialBasisHeuristic TRIANGULAR
static const std::string & CostScalingAlgorithm_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ScalingAlgorithm_descriptor()
static constexpr CostScalingAlgorithm MEAN_COST_SCALING
static constexpr PricingRule STEEPEST_EDGE
void set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value)
static constexpr ScalingAlgorithm EQUILIBRATION
static constexpr ScalingAlgorithm DEFAULT
void set_recompute_edges_norm_threshold(double value)
static constexpr PricingRule PricingRule_MIN
static constexpr SolverBehavior LET_SOLVER_DECIDE
static bool ScalingAlgorithm_IsValid(int value)
::operations_research::glop::GlopParameters_ScalingAlgorithm scaling_method() const
static bool SolverBehavior_IsValid(int value)
void UnsafeArenaSwap(GlopParameters *other)
static bool InitialBasisHeuristic_IsValid(int value)
static constexpr SolverBehavior NEVER_DO
void set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value)
static constexpr int InitialBasisHeuristic_ARRAYSIZE
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
GlopParameters_SolverBehavior SolverBehavior
static constexpr InitialBasisHeuristic NONE
static constexpr SolverBehavior ALWAYS_DO
static bool PricingRule_IsValid(int value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static constexpr CostScalingAlgorithm CostScalingAlgorithm_MIN
void set_max_number_of_reoptimizations(double value)
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 MergeFrom(const GlopParameters &from)
GlopParameters & operator=(GlopParameters &&from) noexcept
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
GlopParameters_PricingRule PricingRule
void set_markowitz_zlatev_parameter(int32_t value)
void set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value)
static const GlopParameters * internal_default_instance()
static constexpr CostScalingAlgorithm CostScalingAlgorithm_MAX
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void Swap(GlopParameters *other)
static constexpr SolverBehavior SolverBehavior_MIN
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static constexpr ScalingAlgorithm ScalingAlgorithm_MAX
static const std::string & PricingRule_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void CopyFrom(const GlopParameters &from)
static bool ScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ScalingAlgorithm *value)
static constexpr ScalingAlgorithm ScalingAlgorithm_MIN
void set_dynamically_adjust_refactorization_period(bool value)
static constexpr CostScalingAlgorithm NO_COST_SCALING
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)
::operations_research::glop::GlopParameters_InitialBasisHeuristic initial_basis() const
static const std::string & ScalingAlgorithm_Name(T enum_t_value)
GlopParameters_InitialBasisHeuristic InitialBasisHeuristic
static constexpr PricingRule DANTZIG
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static constexpr InitialBasisHeuristic BIXBY
static const std::string & SolverBehavior_Name(T enum_t_value)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void set_crossover_bound_snapping_distance(double value)
void set_initial_condition_number_threshold(double value)
GlopParameters & operator=(const GlopParameters &from)
static constexpr InitialBasisHeuristic MAROS
void set_recompute_reduced_costs_threshold(double value)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static constexpr InitialBasisHeuristic InitialBasisHeuristic_MIN
static constexpr CostScalingAlgorithm MEDIAN_COST_SCALING
::operations_research::glop::GlopParameters_CostScalingAlgorithm cost_scaling() const
static constexpr PricingRule PricingRule_MAX
static constexpr PricingRule DEVEX
GlopParameters_CostScalingAlgorithm CostScalingAlgorithm
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)
void set_devex_weights_reset_period(int32_t value)
static constexpr int CostScalingAlgorithm_ARRAYSIZE
static constexpr CostScalingAlgorithm CONTAIN_ONE_COST_SCALING
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
constexpr int GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_ARRAYSIZE
constexpr GlopParameters_ScalingAlgorithm GlopParameters_ScalingAlgorithm_ScalingAlgorithm_MIN
Definition: parameters.pb.h:76
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:77
const std::string & GlopParameters_InitialBasisHeuristic_Name(T enum_t_value)
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:78
bool GlopParameters_SolverBehavior_IsValid(int value)
const std::string & GlopParameters_SolverBehavior_Name(T enum_t_value)
constexpr GlopParameters_CostScalingAlgorithm GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MIN
const std::string & GlopParameters_ScalingAlgorithm_Name(T enum_t_value)
Definition: parameters.pb.h:82
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_SolverBehavior_descriptor()
constexpr GlopParameters_CostScalingAlgorithm GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MAX
constexpr GlopParameters_InitialBasisHeuristic GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_MIN
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:89
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_CostScalingAlgorithm_Name(T enum_t_value)
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.
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] 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
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)