OR-Tools  9.1
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 < 3018000
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 3018000 < 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 ::PROTOBUF_NAMESPACE_ID::uint32 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 if (GetOwningArena() == other->GetOwningArena()) {
257 InternalSwap(other);
258 } else {
259 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
260 }
261 }
263 if (other == this) return;
264 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
265 InternalSwap(other);
266 }
267
268 // implements Message ----------------------------------------------
269
270 inline GlopParameters* New() const final {
271 return new GlopParameters();
272 }
273
274 GlopParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
275 return CreateMaybeMessage<GlopParameters>(arena);
276 }
277 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
278 void CopyFrom(const GlopParameters& from);
279 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
280 void MergeFrom(const GlopParameters& from);
281 private:
282 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
283 public:
284 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
285 bool IsInitialized() const final;
286
287 size_t ByteSizeLong() const final;
288 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
289 ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
290 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
291 int GetCachedSize() const final { return _cached_size_.Get(); }
292
293 private:
294 void SharedCtor();
295 void SharedDtor();
296 void SetCachedSize(int size) const final;
297 void InternalSwap(GlopParameters* other);
298 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
299 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
300 return "operations_research.glop.GlopParameters";
301 }
302 protected:
303 explicit GlopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
304 bool is_message_owned = false);
305 private:
306 static void ArenaDtor(void* object);
307 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
308 public:
309
310 static const ClassData _class_data_;
311 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
312
313 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
314
315 // nested types ----------------------------------------------------
316
318 static constexpr ScalingAlgorithm DEFAULT =
324 static inline bool ScalingAlgorithm_IsValid(int value) {
326 }
331 static constexpr int ScalingAlgorithm_ARRAYSIZE =
333 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
336 }
337 template<typename T>
338 static inline const std::string& ScalingAlgorithm_Name(T enum_t_value) {
341 "Incorrect type passed to function ScalingAlgorithm_Name.");
342 return GlopParameters_ScalingAlgorithm_Name(enum_t_value);
343 }
344 static inline bool ScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
347 }
348
350 static constexpr SolverBehavior ALWAYS_DO =
352 static constexpr SolverBehavior NEVER_DO =
356 static inline bool SolverBehavior_IsValid(int value) {
358 }
363 static constexpr int SolverBehavior_ARRAYSIZE =
365 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
368 }
369 template<typename T>
370 static inline const std::string& SolverBehavior_Name(T enum_t_value) {
373 "Incorrect type passed to function SolverBehavior_Name.");
374 return GlopParameters_SolverBehavior_Name(enum_t_value);
375 }
376 static inline bool SolverBehavior_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
379 }
380
382 static constexpr PricingRule DANTZIG =
384 static constexpr PricingRule STEEPEST_EDGE =
386 static constexpr PricingRule DEVEX =
388 static inline bool PricingRule_IsValid(int value) {
390 }
391 static constexpr PricingRule PricingRule_MIN =
393 static constexpr PricingRule PricingRule_MAX =
395 static constexpr int PricingRule_ARRAYSIZE =
397 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
400 }
401 template<typename T>
402 static inline const std::string& PricingRule_Name(T enum_t_value) {
405 "Incorrect type passed to function PricingRule_Name.");
406 return GlopParameters_PricingRule_Name(enum_t_value);
407 }
408 static inline bool PricingRule_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
411 }
412
414 static constexpr InitialBasisHeuristic NONE =
416 static constexpr InitialBasisHeuristic BIXBY =
420 static constexpr InitialBasisHeuristic MAROS =
422 static inline bool InitialBasisHeuristic_IsValid(int value) {
424 }
429 static constexpr int InitialBasisHeuristic_ARRAYSIZE =
431 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
434 }
435 template<typename T>
436 static inline const std::string& InitialBasisHeuristic_Name(T enum_t_value) {
439 "Incorrect type passed to function InitialBasisHeuristic_Name.");
441 }
442 static inline bool InitialBasisHeuristic_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
445 }
446
456 static inline bool CostScalingAlgorithm_IsValid(int value) {
458 }
463 static constexpr int CostScalingAlgorithm_ARRAYSIZE =
465 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
468 }
469 template<typename T>
470 static inline const std::string& CostScalingAlgorithm_Name(T enum_t_value) {
473 "Incorrect type passed to function CostScalingAlgorithm_Name.");
474 return GlopParameters_CostScalingAlgorithm_Name(enum_t_value);
475 }
476 static inline bool CostScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
479 }
480
481 // accessors -------------------------------------------------------
482
483 enum : int {
537 };
538 // optional bool use_dual_simplex = 31 [default = false];
539 bool has_use_dual_simplex() const;
540 private:
541 bool _internal_has_use_dual_simplex() const;
542 public:
544 bool use_dual_simplex() const;
545 void set_use_dual_simplex(bool value);
546 private:
547 bool _internal_use_dual_simplex() const;
548 void _internal_set_use_dual_simplex(bool value);
549 public:
550
551 // optional bool allow_simplex_algorithm_change = 32 [default = false];
553 private:
554 bool _internal_has_allow_simplex_algorithm_change() const;
555 public:
559 private:
560 bool _internal_allow_simplex_algorithm_change() const;
561 void _internal_set_allow_simplex_algorithm_change(bool value);
562 public:
563
564 // optional bool perturb_costs_in_dual_simplex = 53 [default = false];
566 private:
567 bool _internal_has_perturb_costs_in_dual_simplex() const;
568 public:
572 private:
573 bool _internal_perturb_costs_in_dual_simplex() const;
574 void _internal_set_perturb_costs_in_dual_simplex(bool value);
575 public:
576
577 // optional bool log_search_progress = 61 [default = false];
578 bool has_log_search_progress() const;
579 private:
580 bool _internal_has_log_search_progress() const;
581 public:
583 bool log_search_progress() const;
585 private:
586 bool _internal_log_search_progress() const;
587 void _internal_set_log_search_progress(bool value);
588 public:
589
590 // optional .operations_research.glop.GlopParameters.PricingRule feasibility_rule = 1 [default = STEEPEST_EDGE];
591 bool has_feasibility_rule() const;
592 private:
593 bool _internal_has_feasibility_rule() const;
594 public:
598 private:
599 ::operations_research::glop::GlopParameters_PricingRule _internal_feasibility_rule() const;
600 void _internal_set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value);
601 public:
602
603 // optional .operations_research.glop.GlopParameters.PricingRule optimization_rule = 2 [default = STEEPEST_EDGE];
604 bool has_optimization_rule() const;
605 private:
606 bool _internal_has_optimization_rule() const;
607 public:
611 private:
612 ::operations_research::glop::GlopParameters_PricingRule _internal_optimization_rule() const;
613 void _internal_set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value);
614 public:
615
616 // optional double refactorization_threshold = 6 [default = 1e-09];
618 private:
619 bool _internal_has_refactorization_threshold() const;
620 public:
622 double refactorization_threshold() const;
624 private:
625 double _internal_refactorization_threshold() const;
626 void _internal_set_refactorization_threshold(double value);
627 public:
628
629 // optional double recompute_reduced_costs_threshold = 8 [default = 1e-08];
631 private:
632 bool _internal_has_recompute_reduced_costs_threshold() const;
633 public:
637 private:
638 double _internal_recompute_reduced_costs_threshold() const;
639 void _internal_set_recompute_reduced_costs_threshold(double value);
640 public:
641
642 // optional double recompute_edges_norm_threshold = 9 [default = 100];
644 private:
645 bool _internal_has_recompute_edges_norm_threshold() const;
646 public:
648 double recompute_edges_norm_threshold() const;
650 private:
651 double _internal_recompute_edges_norm_threshold() const;
652 void _internal_set_recompute_edges_norm_threshold(double value);
653 public:
654
655 // optional double primal_feasibility_tolerance = 10 [default = 1e-08];
657 private:
658 bool _internal_has_primal_feasibility_tolerance() const;
659 public:
661 double primal_feasibility_tolerance() const;
663 private:
664 double _internal_primal_feasibility_tolerance() const;
665 void _internal_set_primal_feasibility_tolerance(double value);
666 public:
667
668 // optional double dual_feasibility_tolerance = 11 [default = 1e-08];
670 private:
671 bool _internal_has_dual_feasibility_tolerance() const;
672 public:
674 double dual_feasibility_tolerance() const;
676 private:
677 double _internal_dual_feasibility_tolerance() const;
678 void _internal_set_dual_feasibility_tolerance(double value);
679 public:
680
681 // optional double ratio_test_zero_threshold = 12 [default = 1e-09];
683 private:
684 bool _internal_has_ratio_test_zero_threshold() const;
685 public:
687 double ratio_test_zero_threshold() const;
689 private:
690 double _internal_ratio_test_zero_threshold() const;
691 void _internal_set_ratio_test_zero_threshold(double value);
692 public:
693
694 // optional double harris_tolerance_ratio = 13 [default = 0.5];
695 bool has_harris_tolerance_ratio() const;
696 private:
697 bool _internal_has_harris_tolerance_ratio() const;
698 public:
700 double harris_tolerance_ratio() const;
702 private:
703 double _internal_harris_tolerance_ratio() const;
704 void _internal_set_harris_tolerance_ratio(double value);
705 public:
706
707 // optional double small_pivot_threshold = 14 [default = 1e-06];
708 bool has_small_pivot_threshold() const;
709 private:
710 bool _internal_has_small_pivot_threshold() const;
711 public:
713 double small_pivot_threshold() const;
714 void set_small_pivot_threshold(double value);
715 private:
716 double _internal_small_pivot_threshold() const;
717 void _internal_set_small_pivot_threshold(double value);
718 public:
719
720 // optional double minimum_acceptable_pivot = 15 [default = 1e-06];
721 bool has_minimum_acceptable_pivot() const;
722 private:
723 bool _internal_has_minimum_acceptable_pivot() const;
724 public:
726 double minimum_acceptable_pivot() const;
728 private:
729 double _internal_minimum_acceptable_pivot() const;
730 void _internal_set_minimum_acceptable_pivot(double value);
731 public:
732
733 // optional .operations_research.glop.GlopParameters.InitialBasisHeuristic initial_basis = 17 [default = TRIANGULAR];
734 bool has_initial_basis() const;
735 private:
736 bool _internal_has_initial_basis() const;
737 public:
738 void clear_initial_basis();
741 private:
744 public:
745
746 // optional int32 basis_refactorization_period = 19 [default = 64];
748 private:
749 bool _internal_has_basis_refactorization_period() const;
750 public:
752 ::PROTOBUF_NAMESPACE_ID::int32 basis_refactorization_period() const;
753 void set_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value);
754 private:
755 ::PROTOBUF_NAMESPACE_ID::int32 _internal_basis_refactorization_period() const;
756 void _internal_set_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value);
757 public:
758
759 // optional double dualizer_threshold = 21 [default = 1.5];
760 bool has_dualizer_threshold() const;
761 private:
762 bool _internal_has_dualizer_threshold() const;
763 public:
765 double dualizer_threshold() const;
766 void set_dualizer_threshold(double value);
767 private:
768 double _internal_dualizer_threshold() const;
769 void _internal_set_dualizer_threshold(double value);
770 public:
771
772 // optional double solution_feasibility_tolerance = 22 [default = 1e-06];
774 private:
775 bool _internal_has_solution_feasibility_tolerance() const;
776 public:
778 double solution_feasibility_tolerance() const;
780 private:
781 double _internal_solution_feasibility_tolerance() const;
782 void _internal_set_solution_feasibility_tolerance(double value);
783 public:
784
785 // optional .operations_research.glop.GlopParameters.SolverBehavior solve_dual_problem = 20 [default = LET_SOLVER_DECIDE];
786 bool has_solve_dual_problem() const;
787 private:
788 bool _internal_has_solve_dual_problem() const;
789 public:
793 private:
794 ::operations_research::glop::GlopParameters_SolverBehavior _internal_solve_dual_problem() const;
795 void _internal_set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value);
796 public:
797
798 // optional int32 markowitz_zlatev_parameter = 29 [default = 3];
800 private:
801 bool _internal_has_markowitz_zlatev_parameter() const;
802 public:
804 ::PROTOBUF_NAMESPACE_ID::int32 markowitz_zlatev_parameter() const;
805 void set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value);
806 private:
807 ::PROTOBUF_NAMESPACE_ID::int32 _internal_markowitz_zlatev_parameter() const;
808 void _internal_set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value);
809 public:
810
811 // optional double lu_factorization_pivot_threshold = 25 [default = 0.01];
813 private:
814 bool _internal_has_lu_factorization_pivot_threshold() const;
815 public:
819 private:
820 double _internal_lu_factorization_pivot_threshold() const;
821 void _internal_set_lu_factorization_pivot_threshold(double value);
822 public:
823
824 // optional double max_time_in_seconds = 26 [default = inf];
825 bool has_max_time_in_seconds() const;
826 private:
827 bool _internal_has_max_time_in_seconds() const;
828 public:
830 double max_time_in_seconds() const;
831 void set_max_time_in_seconds(double value);
832 private:
833 double _internal_max_time_in_seconds() const;
834 void _internal_set_max_time_in_seconds(double value);
835 public:
836
837 // optional int64 max_number_of_iterations = 27 [default = -1];
838 bool has_max_number_of_iterations() const;
839 private:
840 bool _internal_has_max_number_of_iterations() const;
841 public:
843 ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_iterations() const;
844 void set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
845 private:
846 ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_number_of_iterations() const;
847 void _internal_set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
848 public:
849
850 // optional double markowitz_singularity_threshold = 30 [default = 1e-15];
852 private:
853 bool _internal_has_markowitz_singularity_threshold() const;
854 public:
856 double markowitz_singularity_threshold() const;
858 private:
859 double _internal_markowitz_singularity_threshold() const;
860 void _internal_set_markowitz_singularity_threshold(double value);
861 public:
862
863 // optional bool use_scaling = 16 [default = true];
864 bool has_use_scaling() const;
865 private:
866 bool _internal_has_use_scaling() const;
867 public:
868 void clear_use_scaling();
869 bool use_scaling() const;
870 void set_use_scaling(bool value);
871 private:
872 bool _internal_use_scaling() const;
873 void _internal_set_use_scaling(bool value);
874 public:
875
876 // optional bool use_transposed_matrix = 18 [default = true];
877 bool has_use_transposed_matrix() const;
878 private:
879 bool _internal_has_use_transposed_matrix() const;
880 public:
882 bool use_transposed_matrix() const;
884 private:
885 bool _internal_use_transposed_matrix() const;
886 void _internal_set_use_transposed_matrix(bool value);
887 public:
888
889 // optional bool dynamically_adjust_refactorization_period = 63 [default = true];
891 private:
892 bool _internal_has_dynamically_adjust_refactorization_period() const;
893 public:
897 private:
898 bool _internal_dynamically_adjust_refactorization_period() const;
899 void _internal_set_dynamically_adjust_refactorization_period(bool value);
900 public:
901
902 // optional bool provide_strong_optimal_guarantee = 24 [default = true];
904 private:
905 bool _internal_has_provide_strong_optimal_guarantee() const;
906 public:
910 private:
911 bool _internal_provide_strong_optimal_guarantee() const;
912 void _internal_set_provide_strong_optimal_guarantee(bool value);
913 public:
914
915 // optional int32 devex_weights_reset_period = 33 [default = 150];
917 private:
918 bool _internal_has_devex_weights_reset_period() const;
919 public:
921 ::PROTOBUF_NAMESPACE_ID::int32 devex_weights_reset_period() const;
922 void set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value);
923 private:
924 ::PROTOBUF_NAMESPACE_ID::int32 _internal_devex_weights_reset_period() const;
925 void _internal_set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value);
926 public:
927
928 // optional double dual_small_pivot_threshold = 38 [default = 0.0001];
930 private:
931 bool _internal_has_dual_small_pivot_threshold() const;
932 public:
934 double dual_small_pivot_threshold() const;
936 private:
937 double _internal_dual_small_pivot_threshold() const;
938 void _internal_set_dual_small_pivot_threshold(double value);
939 public:
940
941 // optional double preprocessor_zero_tolerance = 39 [default = 1e-09];
943 private:
944 bool _internal_has_preprocessor_zero_tolerance() const;
945 public:
947 double preprocessor_zero_tolerance() const;
949 private:
950 double _internal_preprocessor_zero_tolerance() const;
951 void _internal_set_preprocessor_zero_tolerance(double value);
952 public:
953
954 // optional double objective_lower_limit = 40 [default = -inf];
955 bool has_objective_lower_limit() const;
956 private:
957 bool _internal_has_objective_lower_limit() const;
958 public:
960 double objective_lower_limit() const;
961 void set_objective_lower_limit(double value);
962 private:
963 double _internal_objective_lower_limit() const;
964 void _internal_set_objective_lower_limit(double value);
965 public:
966
967 // optional double objective_upper_limit = 41 [default = inf];
968 bool has_objective_upper_limit() const;
969 private:
970 bool _internal_has_objective_upper_limit() const;
971 public:
973 double objective_upper_limit() const;
974 void set_objective_upper_limit(double value);
975 private:
976 double _internal_objective_upper_limit() const;
977 void _internal_set_objective_upper_limit(double value);
978 public:
979
980 // optional bool change_status_to_imprecise = 58 [default = true];
982 private:
983 bool _internal_has_change_status_to_imprecise() const;
984 public:
986 bool change_status_to_imprecise() const;
988 private:
989 bool _internal_change_status_to_imprecise() const;
990 void _internal_set_change_status_to_imprecise(bool value);
991 public:
992
993 // optional bool use_preprocessing = 34 [default = true];
994 bool has_use_preprocessing() const;
995 private:
996 bool _internal_has_use_preprocessing() const;
997 public:
999 bool use_preprocessing() const;
1000 void set_use_preprocessing(bool value);
1001 private:
1002 bool _internal_use_preprocessing() const;
1003 void _internal_set_use_preprocessing(bool value);
1004 public:
1005
1006 // optional bool use_middle_product_form_update = 35 [default = true];
1008 private:
1009 bool _internal_has_use_middle_product_form_update() const;
1010 public:
1012 bool use_middle_product_form_update() const;
1014 private:
1015 bool _internal_use_middle_product_form_update() const;
1016 void _internal_set_use_middle_product_form_update(bool value);
1017 public:
1018
1019 // optional bool initialize_devex_with_column_norms = 36 [default = true];
1021 private:
1022 bool _internal_has_initialize_devex_with_column_norms() const;
1023 public:
1027 private:
1028 bool _internal_initialize_devex_with_column_norms() const;
1029 void _internal_set_initialize_devex_with_column_norms(bool value);
1030 public:
1031
1032 // optional int32 random_seed = 43 [default = 1];
1033 bool has_random_seed() const;
1034 private:
1035 bool _internal_has_random_seed() const;
1036 public:
1037 void clear_random_seed();
1038 ::PROTOBUF_NAMESPACE_ID::int32 random_seed() const;
1039 void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
1040 private:
1041 ::PROTOBUF_NAMESPACE_ID::int32 _internal_random_seed() const;
1042 void _internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value);
1043 public:
1044
1045 // optional double degenerate_ministep_factor = 42 [default = 0.01];
1046 bool has_degenerate_ministep_factor() const;
1047 private:
1048 bool _internal_has_degenerate_ministep_factor() const;
1049 public:
1051 double degenerate_ministep_factor() const;
1053 private:
1054 double _internal_degenerate_ministep_factor() const;
1055 void _internal_set_degenerate_ministep_factor(double value);
1056 public:
1057
1058 // optional double max_deterministic_time = 45 [default = inf];
1059 bool has_max_deterministic_time() const;
1060 private:
1061 bool _internal_has_max_deterministic_time() const;
1062 public:
1064 double max_deterministic_time() const;
1065 void set_max_deterministic_time(double value);
1066 private:
1067 double _internal_max_deterministic_time() const;
1068 void _internal_set_max_deterministic_time(double value);
1069 public:
1070
1071 // optional double drop_tolerance = 52 [default = 1e-14];
1072 bool has_drop_tolerance() const;
1073 private:
1074 bool _internal_has_drop_tolerance() const;
1075 public:
1076 void clear_drop_tolerance();
1077 double drop_tolerance() const;
1078 void set_drop_tolerance(double value);
1079 private:
1080 double _internal_drop_tolerance() const;
1081 void _internal_set_drop_tolerance(double value);
1082 public:
1083
1084 // optional int32 num_omp_threads = 44 [default = 1];
1085 bool has_num_omp_threads() const;
1086 private:
1087 bool _internal_has_num_omp_threads() const;
1088 public:
1089 void clear_num_omp_threads();
1090 ::PROTOBUF_NAMESPACE_ID::int32 num_omp_threads() const;
1091 void set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value);
1092 private:
1093 ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_omp_threads() const;
1094 void _internal_set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value);
1095 public:
1096
1097 // optional bool exploit_singleton_column_in_initial_basis = 37 [default = true];
1099 private:
1100 bool _internal_has_exploit_singleton_column_in_initial_basis() const;
1101 public:
1105 private:
1106 bool _internal_exploit_singleton_column_in_initial_basis() const;
1107 void _internal_set_exploit_singleton_column_in_initial_basis(bool value);
1108 public:
1109
1110 // optional bool use_dedicated_dual_feasibility_algorithm = 62 [default = true];
1112 private:
1113 bool _internal_has_use_dedicated_dual_feasibility_algorithm() const;
1114 public:
1118 private:
1119 bool _internal_use_dedicated_dual_feasibility_algorithm() const;
1120 void _internal_set_use_dedicated_dual_feasibility_algorithm(bool value);
1121 public:
1122
1123 // optional bool push_to_vertex = 65 [default = true];
1124 bool has_push_to_vertex() const;
1125 private:
1126 bool _internal_has_push_to_vertex() const;
1127 public:
1128 void clear_push_to_vertex();
1129 bool push_to_vertex() const;
1130 void set_push_to_vertex(bool value);
1131 private:
1132 bool _internal_push_to_vertex() const;
1133 void _internal_set_push_to_vertex(bool value);
1134 public:
1135
1136 // optional double relative_cost_perturbation = 54 [default = 1e-05];
1137 bool has_relative_cost_perturbation() const;
1138 private:
1139 bool _internal_has_relative_cost_perturbation() const;
1140 public:
1142 double relative_cost_perturbation() const;
1144 private:
1145 double _internal_relative_cost_perturbation() const;
1146 void _internal_set_relative_cost_perturbation(double value);
1147 public:
1148
1149 // optional double relative_max_cost_perturbation = 55 [default = 1e-07];
1151 private:
1152 bool _internal_has_relative_max_cost_perturbation() const;
1153 public:
1155 double relative_max_cost_perturbation() const;
1157 private:
1158 double _internal_relative_max_cost_perturbation() const;
1159 void _internal_set_relative_max_cost_perturbation(double value);
1160 public:
1161
1162 // optional double max_number_of_reoptimizations = 56 [default = 40];
1164 private:
1165 bool _internal_has_max_number_of_reoptimizations() const;
1166 public:
1168 double max_number_of_reoptimizations() const;
1170 private:
1171 double _internal_max_number_of_reoptimizations() const;
1172 void _internal_set_max_number_of_reoptimizations(double value);
1173 public:
1174
1175 // optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
1176 bool has_scaling_method() const;
1177 private:
1178 bool _internal_has_scaling_method() const;
1179 public:
1180 void clear_scaling_method();
1183 private:
1184 ::operations_research::glop::GlopParameters_ScalingAlgorithm _internal_scaling_method() const;
1185 void _internal_set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value);
1186 public:
1187
1188 // optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
1189 bool has_cost_scaling() const;
1190 private:
1191 bool _internal_has_cost_scaling() const;
1192 public:
1193 void clear_cost_scaling();
1196 private:
1199 public:
1200
1201 // optional double initial_condition_number_threshold = 59 [default = 1e+50];
1203 private:
1204 bool _internal_has_initial_condition_number_threshold() const;
1205 public:
1209 private:
1210 double _internal_initial_condition_number_threshold() const;
1211 void _internal_set_initial_condition_number_threshold(double value);
1212 public:
1213
1214 // optional double crossover_bound_snapping_distance = 64 [default = inf];
1216 private:
1217 bool _internal_has_crossover_bound_snapping_distance() const;
1218 public:
1220 double crossover_bound_snapping_distance() const;
1222 private:
1223 double _internal_crossover_bound_snapping_distance() const;
1224 void _internal_set_crossover_bound_snapping_distance(double value);
1225 public:
1226
1227 // @@protoc_insertion_point(class_scope:operations_research.glop.GlopParameters)
1228 private:
1229 class _Internal;
1230
1231 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1232 typedef void InternalArenaConstructable_;
1233 typedef void DestructorSkippable_;
1234 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1235 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1236 bool use_dual_simplex_;
1237 bool allow_simplex_algorithm_change_;
1238 bool perturb_costs_in_dual_simplex_;
1239 bool log_search_progress_;
1240 int feasibility_rule_;
1241 int optimization_rule_;
1242 double refactorization_threshold_;
1243 double recompute_reduced_costs_threshold_;
1244 double recompute_edges_norm_threshold_;
1245 double primal_feasibility_tolerance_;
1246 double dual_feasibility_tolerance_;
1247 double ratio_test_zero_threshold_;
1248 double harris_tolerance_ratio_;
1249 double small_pivot_threshold_;
1250 double minimum_acceptable_pivot_;
1251 int initial_basis_;
1252 ::PROTOBUF_NAMESPACE_ID::int32 basis_refactorization_period_;
1253 double dualizer_threshold_;
1254 double solution_feasibility_tolerance_;
1255 int solve_dual_problem_;
1256 ::PROTOBUF_NAMESPACE_ID::int32 markowitz_zlatev_parameter_;
1257 double lu_factorization_pivot_threshold_;
1258 double max_time_in_seconds_;
1259 ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_iterations_;
1260 double markowitz_singularity_threshold_;
1261 bool use_scaling_;
1262 bool use_transposed_matrix_;
1263 bool dynamically_adjust_refactorization_period_;
1264 bool provide_strong_optimal_guarantee_;
1265 ::PROTOBUF_NAMESPACE_ID::int32 devex_weights_reset_period_;
1266 double dual_small_pivot_threshold_;
1267 double preprocessor_zero_tolerance_;
1268 double objective_lower_limit_;
1269 double objective_upper_limit_;
1270 bool change_status_to_imprecise_;
1271 bool use_preprocessing_;
1272 bool use_middle_product_form_update_;
1273 bool initialize_devex_with_column_norms_;
1274 ::PROTOBUF_NAMESPACE_ID::int32 random_seed_;
1275 double degenerate_ministep_factor_;
1276 double max_deterministic_time_;
1277 double drop_tolerance_;
1278 ::PROTOBUF_NAMESPACE_ID::int32 num_omp_threads_;
1279 bool exploit_singleton_column_in_initial_basis_;
1280 bool use_dedicated_dual_feasibility_algorithm_;
1281 bool push_to_vertex_;
1282 double relative_cost_perturbation_;
1283 double relative_max_cost_perturbation_;
1284 double max_number_of_reoptimizations_;
1285 int scaling_method_;
1286 int cost_scaling_;
1287 double initial_condition_number_threshold_;
1288 double crossover_bound_snapping_distance_;
1289 friend struct ::TableStruct_ortools_2fglop_2fparameters_2eproto;
1290};
1291// ===================================================================
1292
1293
1294// ===================================================================
1295
1296#ifdef __GNUC__
1297 #pragma GCC diagnostic push
1298 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1299#endif // __GNUC__
1300// GlopParameters
1301
1302// optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
1303inline bool GlopParameters::_internal_has_scaling_method() const {
1304 bool value = (_has_bits_[1] & 0x00020000u) != 0;
1305 return value;
1306}
1308 return _internal_has_scaling_method();
1309}
1311 scaling_method_ = 1;
1312 _has_bits_[1] &= ~0x00020000u;
1313}
1314inline ::operations_research::glop::GlopParameters_ScalingAlgorithm GlopParameters::_internal_scaling_method() const {
1315 return static_cast< ::operations_research::glop::GlopParameters_ScalingAlgorithm >(scaling_method_);
1316}
1318 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.scaling_method)
1319 return _internal_scaling_method();
1320}
1321inline void GlopParameters::_internal_set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value) {
1323 _has_bits_[1] |= 0x00020000u;
1324 scaling_method_ = value;
1325}
1327 _internal_set_scaling_method(value);
1328 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.scaling_method)
1329}
1330
1331// optional .operations_research.glop.GlopParameters.PricingRule feasibility_rule = 1 [default = STEEPEST_EDGE];
1332inline bool GlopParameters::_internal_has_feasibility_rule() const {
1333 bool value = (_has_bits_[0] & 0x00000010u) != 0;
1334 return value;
1335}
1337 return _internal_has_feasibility_rule();
1338}
1340 feasibility_rule_ = 1;
1341 _has_bits_[0] &= ~0x00000010u;
1342}
1343inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::_internal_feasibility_rule() const {
1344 return static_cast< ::operations_research::glop::GlopParameters_PricingRule >(feasibility_rule_);
1345}
1347 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.feasibility_rule)
1348 return _internal_feasibility_rule();
1349}
1350inline void GlopParameters::_internal_set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1352 _has_bits_[0] |= 0x00000010u;
1353 feasibility_rule_ = value;
1354}
1356 _internal_set_feasibility_rule(value);
1357 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.feasibility_rule)
1358}
1359
1360// optional .operations_research.glop.GlopParameters.PricingRule optimization_rule = 2 [default = STEEPEST_EDGE];
1361inline bool GlopParameters::_internal_has_optimization_rule() const {
1362 bool value = (_has_bits_[0] & 0x00000020u) != 0;
1363 return value;
1364}
1366 return _internal_has_optimization_rule();
1367}
1369 optimization_rule_ = 1;
1370 _has_bits_[0] &= ~0x00000020u;
1371}
1372inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::_internal_optimization_rule() const {
1373 return static_cast< ::operations_research::glop::GlopParameters_PricingRule >(optimization_rule_);
1374}
1376 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.optimization_rule)
1377 return _internal_optimization_rule();
1378}
1379inline void GlopParameters::_internal_set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1381 _has_bits_[0] |= 0x00000020u;
1382 optimization_rule_ = value;
1383}
1385 _internal_set_optimization_rule(value);
1386 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.optimization_rule)
1387}
1388
1389// optional double refactorization_threshold = 6 [default = 1e-09];
1390inline bool GlopParameters::_internal_has_refactorization_threshold() const {
1391 bool value = (_has_bits_[0] & 0x00000040u) != 0;
1392 return value;
1393}
1395 return _internal_has_refactorization_threshold();
1396}
1398 refactorization_threshold_ = 1e-09;
1399 _has_bits_[0] &= ~0x00000040u;
1400}
1401inline double GlopParameters::_internal_refactorization_threshold() const {
1402 return refactorization_threshold_;
1403}
1405 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.refactorization_threshold)
1406 return _internal_refactorization_threshold();
1407}
1408inline void GlopParameters::_internal_set_refactorization_threshold(double value) {
1409 _has_bits_[0] |= 0x00000040u;
1410 refactorization_threshold_ = value;
1411}
1413 _internal_set_refactorization_threshold(value);
1414 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.refactorization_threshold)
1415}
1416
1417// optional double recompute_reduced_costs_threshold = 8 [default = 1e-08];
1418inline bool GlopParameters::_internal_has_recompute_reduced_costs_threshold() const {
1419 bool value = (_has_bits_[0] & 0x00000080u) != 0;
1420 return value;
1421}
1423 return _internal_has_recompute_reduced_costs_threshold();
1424}
1426 recompute_reduced_costs_threshold_ = 1e-08;
1427 _has_bits_[0] &= ~0x00000080u;
1428}
1429inline double GlopParameters::_internal_recompute_reduced_costs_threshold() const {
1430 return recompute_reduced_costs_threshold_;
1431}
1433 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.recompute_reduced_costs_threshold)
1434 return _internal_recompute_reduced_costs_threshold();
1435}
1436inline void GlopParameters::_internal_set_recompute_reduced_costs_threshold(double value) {
1437 _has_bits_[0] |= 0x00000080u;
1438 recompute_reduced_costs_threshold_ = value;
1439}
1441 _internal_set_recompute_reduced_costs_threshold(value);
1442 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.recompute_reduced_costs_threshold)
1443}
1444
1445// optional double recompute_edges_norm_threshold = 9 [default = 100];
1446inline bool GlopParameters::_internal_has_recompute_edges_norm_threshold() const {
1447 bool value = (_has_bits_[0] & 0x00000100u) != 0;
1448 return value;
1449}
1451 return _internal_has_recompute_edges_norm_threshold();
1452}
1454 recompute_edges_norm_threshold_ = 100;
1455 _has_bits_[0] &= ~0x00000100u;
1456}
1457inline double GlopParameters::_internal_recompute_edges_norm_threshold() const {
1458 return recompute_edges_norm_threshold_;
1459}
1461 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.recompute_edges_norm_threshold)
1462 return _internal_recompute_edges_norm_threshold();
1463}
1464inline void GlopParameters::_internal_set_recompute_edges_norm_threshold(double value) {
1465 _has_bits_[0] |= 0x00000100u;
1466 recompute_edges_norm_threshold_ = value;
1467}
1469 _internal_set_recompute_edges_norm_threshold(value);
1470 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.recompute_edges_norm_threshold)
1471}
1472
1473// optional double primal_feasibility_tolerance = 10 [default = 1e-08];
1474inline bool GlopParameters::_internal_has_primal_feasibility_tolerance() const {
1475 bool value = (_has_bits_[0] & 0x00000200u) != 0;
1476 return value;
1477}
1479 return _internal_has_primal_feasibility_tolerance();
1480}
1482 primal_feasibility_tolerance_ = 1e-08;
1483 _has_bits_[0] &= ~0x00000200u;
1484}
1485inline double GlopParameters::_internal_primal_feasibility_tolerance() const {
1486 return primal_feasibility_tolerance_;
1487}
1489 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.primal_feasibility_tolerance)
1490 return _internal_primal_feasibility_tolerance();
1491}
1492inline void GlopParameters::_internal_set_primal_feasibility_tolerance(double value) {
1493 _has_bits_[0] |= 0x00000200u;
1494 primal_feasibility_tolerance_ = value;
1495}
1497 _internal_set_primal_feasibility_tolerance(value);
1498 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.primal_feasibility_tolerance)
1499}
1500
1501// optional double dual_feasibility_tolerance = 11 [default = 1e-08];
1502inline bool GlopParameters::_internal_has_dual_feasibility_tolerance() const {
1503 bool value = (_has_bits_[0] & 0x00000400u) != 0;
1504 return value;
1505}
1507 return _internal_has_dual_feasibility_tolerance();
1508}
1510 dual_feasibility_tolerance_ = 1e-08;
1511 _has_bits_[0] &= ~0x00000400u;
1512}
1513inline double GlopParameters::_internal_dual_feasibility_tolerance() const {
1514 return dual_feasibility_tolerance_;
1515}
1517 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dual_feasibility_tolerance)
1518 return _internal_dual_feasibility_tolerance();
1519}
1520inline void GlopParameters::_internal_set_dual_feasibility_tolerance(double value) {
1521 _has_bits_[0] |= 0x00000400u;
1522 dual_feasibility_tolerance_ = value;
1523}
1525 _internal_set_dual_feasibility_tolerance(value);
1526 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dual_feasibility_tolerance)
1527}
1528
1529// optional double ratio_test_zero_threshold = 12 [default = 1e-09];
1530inline bool GlopParameters::_internal_has_ratio_test_zero_threshold() const {
1531 bool value = (_has_bits_[0] & 0x00000800u) != 0;
1532 return value;
1533}
1535 return _internal_has_ratio_test_zero_threshold();
1536}
1538 ratio_test_zero_threshold_ = 1e-09;
1539 _has_bits_[0] &= ~0x00000800u;
1540}
1541inline double GlopParameters::_internal_ratio_test_zero_threshold() const {
1542 return ratio_test_zero_threshold_;
1543}
1545 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.ratio_test_zero_threshold)
1546 return _internal_ratio_test_zero_threshold();
1547}
1548inline void GlopParameters::_internal_set_ratio_test_zero_threshold(double value) {
1549 _has_bits_[0] |= 0x00000800u;
1550 ratio_test_zero_threshold_ = value;
1551}
1553 _internal_set_ratio_test_zero_threshold(value);
1554 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.ratio_test_zero_threshold)
1555}
1556
1557// optional double harris_tolerance_ratio = 13 [default = 0.5];
1558inline bool GlopParameters::_internal_has_harris_tolerance_ratio() const {
1559 bool value = (_has_bits_[0] & 0x00001000u) != 0;
1560 return value;
1561}
1563 return _internal_has_harris_tolerance_ratio();
1564}
1566 harris_tolerance_ratio_ = 0.5;
1567 _has_bits_[0] &= ~0x00001000u;
1568}
1569inline double GlopParameters::_internal_harris_tolerance_ratio() const {
1570 return harris_tolerance_ratio_;
1571}
1573 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.harris_tolerance_ratio)
1574 return _internal_harris_tolerance_ratio();
1575}
1576inline void GlopParameters::_internal_set_harris_tolerance_ratio(double value) {
1577 _has_bits_[0] |= 0x00001000u;
1578 harris_tolerance_ratio_ = value;
1579}
1581 _internal_set_harris_tolerance_ratio(value);
1582 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.harris_tolerance_ratio)
1583}
1584
1585// optional double small_pivot_threshold = 14 [default = 1e-06];
1586inline bool GlopParameters::_internal_has_small_pivot_threshold() const {
1587 bool value = (_has_bits_[0] & 0x00002000u) != 0;
1588 return value;
1589}
1591 return _internal_has_small_pivot_threshold();
1592}
1594 small_pivot_threshold_ = 1e-06;
1595 _has_bits_[0] &= ~0x00002000u;
1596}
1597inline double GlopParameters::_internal_small_pivot_threshold() const {
1598 return small_pivot_threshold_;
1599}
1601 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.small_pivot_threshold)
1602 return _internal_small_pivot_threshold();
1603}
1604inline void GlopParameters::_internal_set_small_pivot_threshold(double value) {
1605 _has_bits_[0] |= 0x00002000u;
1606 small_pivot_threshold_ = value;
1607}
1609 _internal_set_small_pivot_threshold(value);
1610 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.small_pivot_threshold)
1611}
1612
1613// optional double minimum_acceptable_pivot = 15 [default = 1e-06];
1614inline bool GlopParameters::_internal_has_minimum_acceptable_pivot() const {
1615 bool value = (_has_bits_[0] & 0x00004000u) != 0;
1616 return value;
1617}
1619 return _internal_has_minimum_acceptable_pivot();
1620}
1622 minimum_acceptable_pivot_ = 1e-06;
1623 _has_bits_[0] &= ~0x00004000u;
1624}
1625inline double GlopParameters::_internal_minimum_acceptable_pivot() const {
1626 return minimum_acceptable_pivot_;
1627}
1629 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.minimum_acceptable_pivot)
1630 return _internal_minimum_acceptable_pivot();
1631}
1632inline void GlopParameters::_internal_set_minimum_acceptable_pivot(double value) {
1633 _has_bits_[0] |= 0x00004000u;
1634 minimum_acceptable_pivot_ = value;
1635}
1637 _internal_set_minimum_acceptable_pivot(value);
1638 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.minimum_acceptable_pivot)
1639}
1640
1641// optional double drop_tolerance = 52 [default = 1e-14];
1642inline bool GlopParameters::_internal_has_drop_tolerance() const {
1643 bool value = (_has_bits_[1] & 0x00000200u) != 0;
1644 return value;
1645}
1647 return _internal_has_drop_tolerance();
1648}
1650 drop_tolerance_ = 1e-14;
1651 _has_bits_[1] &= ~0x00000200u;
1652}
1653inline double GlopParameters::_internal_drop_tolerance() const {
1654 return drop_tolerance_;
1655}
1656inline double GlopParameters::drop_tolerance() const {
1657 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.drop_tolerance)
1658 return _internal_drop_tolerance();
1659}
1660inline void GlopParameters::_internal_set_drop_tolerance(double value) {
1661 _has_bits_[1] |= 0x00000200u;
1662 drop_tolerance_ = value;
1663}
1665 _internal_set_drop_tolerance(value);
1666 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.drop_tolerance)
1667}
1668
1669// optional bool use_scaling = 16 [default = true];
1670inline bool GlopParameters::_internal_has_use_scaling() const {
1671 bool value = (_has_bits_[0] & 0x02000000u) != 0;
1672 return value;
1673}
1675 return _internal_has_use_scaling();
1676}
1678 use_scaling_ = true;
1679 _has_bits_[0] &= ~0x02000000u;
1680}
1681inline bool GlopParameters::_internal_use_scaling() const {
1682 return use_scaling_;
1683}
1684inline bool GlopParameters::use_scaling() const {
1685 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_scaling)
1686 return _internal_use_scaling();
1687}
1688inline void GlopParameters::_internal_set_use_scaling(bool value) {
1689 _has_bits_[0] |= 0x02000000u;
1690 use_scaling_ = value;
1691}
1693 _internal_set_use_scaling(value);
1694 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_scaling)
1695}
1696
1697// optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
1698inline bool GlopParameters::_internal_has_cost_scaling() const {
1699 bool value = (_has_bits_[1] & 0x00040000u) != 0;
1700 return value;
1701}
1703 return _internal_has_cost_scaling();
1704}
1706 cost_scaling_ = 1;
1707 _has_bits_[1] &= ~0x00040000u;
1708}
1709inline ::operations_research::glop::GlopParameters_CostScalingAlgorithm GlopParameters::_internal_cost_scaling() const {
1710 return static_cast< ::operations_research::glop::GlopParameters_CostScalingAlgorithm >(cost_scaling_);
1711}
1713 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.cost_scaling)
1714 return _internal_cost_scaling();
1715}
1716inline void GlopParameters::_internal_set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value) {
1718 _has_bits_[1] |= 0x00040000u;
1719 cost_scaling_ = value;
1720}
1722 _internal_set_cost_scaling(value);
1723 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.cost_scaling)
1724}
1725
1726// optional .operations_research.glop.GlopParameters.InitialBasisHeuristic initial_basis = 17 [default = TRIANGULAR];
1727inline bool GlopParameters::_internal_has_initial_basis() const {
1728 bool value = (_has_bits_[0] & 0x00008000u) != 0;
1729 return value;
1730}
1732 return _internal_has_initial_basis();
1733}
1735 initial_basis_ = 2;
1736 _has_bits_[0] &= ~0x00008000u;
1737}
1738inline ::operations_research::glop::GlopParameters_InitialBasisHeuristic GlopParameters::_internal_initial_basis() const {
1739 return static_cast< ::operations_research::glop::GlopParameters_InitialBasisHeuristic >(initial_basis_);
1740}
1742 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initial_basis)
1743 return _internal_initial_basis();
1744}
1745inline void GlopParameters::_internal_set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value) {
1747 _has_bits_[0] |= 0x00008000u;
1748 initial_basis_ = value;
1749}
1751 _internal_set_initial_basis(value);
1752 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initial_basis)
1753}
1754
1755// optional bool use_transposed_matrix = 18 [default = true];
1756inline bool GlopParameters::_internal_has_use_transposed_matrix() const {
1757 bool value = (_has_bits_[0] & 0x04000000u) != 0;
1758 return value;
1759}
1761 return _internal_has_use_transposed_matrix();
1762}
1764 use_transposed_matrix_ = true;
1765 _has_bits_[0] &= ~0x04000000u;
1766}
1767inline bool GlopParameters::_internal_use_transposed_matrix() const {
1768 return use_transposed_matrix_;
1769}
1771 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_transposed_matrix)
1772 return _internal_use_transposed_matrix();
1773}
1774inline void GlopParameters::_internal_set_use_transposed_matrix(bool value) {
1775 _has_bits_[0] |= 0x04000000u;
1776 use_transposed_matrix_ = value;
1777}
1779 _internal_set_use_transposed_matrix(value);
1780 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_transposed_matrix)
1781}
1782
1783// optional int32 basis_refactorization_period = 19 [default = 64];
1784inline bool GlopParameters::_internal_has_basis_refactorization_period() const {
1785 bool value = (_has_bits_[0] & 0x00010000u) != 0;
1786 return value;
1787}
1789 return _internal_has_basis_refactorization_period();
1790}
1792 basis_refactorization_period_ = 64;
1793 _has_bits_[0] &= ~0x00010000u;
1794}
1795inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_basis_refactorization_period() const {
1796 return basis_refactorization_period_;
1797}
1798inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::basis_refactorization_period() const {
1799 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.basis_refactorization_period)
1800 return _internal_basis_refactorization_period();
1801}
1802inline void GlopParameters::_internal_set_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
1803 _has_bits_[0] |= 0x00010000u;
1804 basis_refactorization_period_ = value;
1805}
1806inline void GlopParameters::set_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
1807 _internal_set_basis_refactorization_period(value);
1808 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.basis_refactorization_period)
1809}
1810
1811// optional bool dynamically_adjust_refactorization_period = 63 [default = true];
1812inline bool GlopParameters::_internal_has_dynamically_adjust_refactorization_period() const {
1813 bool value = (_has_bits_[0] & 0x08000000u) != 0;
1814 return value;
1815}
1817 return _internal_has_dynamically_adjust_refactorization_period();
1818}
1820 dynamically_adjust_refactorization_period_ = true;
1821 _has_bits_[0] &= ~0x08000000u;
1822}
1823inline bool GlopParameters::_internal_dynamically_adjust_refactorization_period() const {
1824 return dynamically_adjust_refactorization_period_;
1825}
1827 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dynamically_adjust_refactorization_period)
1828 return _internal_dynamically_adjust_refactorization_period();
1829}
1830inline void GlopParameters::_internal_set_dynamically_adjust_refactorization_period(bool value) {
1831 _has_bits_[0] |= 0x08000000u;
1832 dynamically_adjust_refactorization_period_ = value;
1833}
1835 _internal_set_dynamically_adjust_refactorization_period(value);
1836 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dynamically_adjust_refactorization_period)
1837}
1838
1839// optional .operations_research.glop.GlopParameters.SolverBehavior solve_dual_problem = 20 [default = LET_SOLVER_DECIDE];
1840inline bool GlopParameters::_internal_has_solve_dual_problem() const {
1841 bool value = (_has_bits_[0] & 0x00080000u) != 0;
1842 return value;
1843}
1845 return _internal_has_solve_dual_problem();
1846}
1848 solve_dual_problem_ = 2;
1849 _has_bits_[0] &= ~0x00080000u;
1850}
1851inline ::operations_research::glop::GlopParameters_SolverBehavior GlopParameters::_internal_solve_dual_problem() const {
1852 return static_cast< ::operations_research::glop::GlopParameters_SolverBehavior >(solve_dual_problem_);
1853}
1855 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.solve_dual_problem)
1856 return _internal_solve_dual_problem();
1857}
1858inline void GlopParameters::_internal_set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value) {
1860 _has_bits_[0] |= 0x00080000u;
1861 solve_dual_problem_ = value;
1862}
1864 _internal_set_solve_dual_problem(value);
1865 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.solve_dual_problem)
1866}
1867
1868// optional double dualizer_threshold = 21 [default = 1.5];
1869inline bool GlopParameters::_internal_has_dualizer_threshold() const {
1870 bool value = (_has_bits_[0] & 0x00020000u) != 0;
1871 return value;
1872}
1874 return _internal_has_dualizer_threshold();
1875}
1877 dualizer_threshold_ = 1.5;
1878 _has_bits_[0] &= ~0x00020000u;
1879}
1880inline double GlopParameters::_internal_dualizer_threshold() const {
1881 return dualizer_threshold_;
1882}
1884 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dualizer_threshold)
1885 return _internal_dualizer_threshold();
1886}
1887inline void GlopParameters::_internal_set_dualizer_threshold(double value) {
1888 _has_bits_[0] |= 0x00020000u;
1889 dualizer_threshold_ = value;
1890}
1892 _internal_set_dualizer_threshold(value);
1893 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dualizer_threshold)
1894}
1895
1896// optional double solution_feasibility_tolerance = 22 [default = 1e-06];
1897inline bool GlopParameters::_internal_has_solution_feasibility_tolerance() const {
1898 bool value = (_has_bits_[0] & 0x00040000u) != 0;
1899 return value;
1900}
1902 return _internal_has_solution_feasibility_tolerance();
1903}
1905 solution_feasibility_tolerance_ = 1e-06;
1906 _has_bits_[0] &= ~0x00040000u;
1907}
1908inline double GlopParameters::_internal_solution_feasibility_tolerance() const {
1909 return solution_feasibility_tolerance_;
1910}
1912 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.solution_feasibility_tolerance)
1913 return _internal_solution_feasibility_tolerance();
1914}
1915inline void GlopParameters::_internal_set_solution_feasibility_tolerance(double value) {
1916 _has_bits_[0] |= 0x00040000u;
1917 solution_feasibility_tolerance_ = value;
1918}
1920 _internal_set_solution_feasibility_tolerance(value);
1921 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.solution_feasibility_tolerance)
1922}
1923
1924// optional bool provide_strong_optimal_guarantee = 24 [default = true];
1925inline bool GlopParameters::_internal_has_provide_strong_optimal_guarantee() const {
1926 bool value = (_has_bits_[0] & 0x10000000u) != 0;
1927 return value;
1928}
1930 return _internal_has_provide_strong_optimal_guarantee();
1931}
1933 provide_strong_optimal_guarantee_ = true;
1934 _has_bits_[0] &= ~0x10000000u;
1935}
1936inline bool GlopParameters::_internal_provide_strong_optimal_guarantee() const {
1937 return provide_strong_optimal_guarantee_;
1938}
1940 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.provide_strong_optimal_guarantee)
1941 return _internal_provide_strong_optimal_guarantee();
1942}
1943inline void GlopParameters::_internal_set_provide_strong_optimal_guarantee(bool value) {
1944 _has_bits_[0] |= 0x10000000u;
1945 provide_strong_optimal_guarantee_ = value;
1946}
1948 _internal_set_provide_strong_optimal_guarantee(value);
1949 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.provide_strong_optimal_guarantee)
1950}
1951
1952// optional bool change_status_to_imprecise = 58 [default = true];
1953inline bool GlopParameters::_internal_has_change_status_to_imprecise() const {
1954 bool value = (_has_bits_[1] & 0x00000004u) != 0;
1955 return value;
1956}
1958 return _internal_has_change_status_to_imprecise();
1959}
1961 change_status_to_imprecise_ = true;
1962 _has_bits_[1] &= ~0x00000004u;
1963}
1964inline bool GlopParameters::_internal_change_status_to_imprecise() const {
1965 return change_status_to_imprecise_;
1966}
1968 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.change_status_to_imprecise)
1969 return _internal_change_status_to_imprecise();
1970}
1971inline void GlopParameters::_internal_set_change_status_to_imprecise(bool value) {
1972 _has_bits_[1] |= 0x00000004u;
1973 change_status_to_imprecise_ = value;
1974}
1976 _internal_set_change_status_to_imprecise(value);
1977 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.change_status_to_imprecise)
1978}
1979
1980// optional double max_number_of_reoptimizations = 56 [default = 40];
1981inline bool GlopParameters::_internal_has_max_number_of_reoptimizations() const {
1982 bool value = (_has_bits_[1] & 0x00010000u) != 0;
1983 return value;
1984}
1986 return _internal_has_max_number_of_reoptimizations();
1987}
1989 max_number_of_reoptimizations_ = 40;
1990 _has_bits_[1] &= ~0x00010000u;
1991}
1992inline double GlopParameters::_internal_max_number_of_reoptimizations() const {
1993 return max_number_of_reoptimizations_;
1994}
1996 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_number_of_reoptimizations)
1997 return _internal_max_number_of_reoptimizations();
1998}
1999inline void GlopParameters::_internal_set_max_number_of_reoptimizations(double value) {
2000 _has_bits_[1] |= 0x00010000u;
2001 max_number_of_reoptimizations_ = value;
2002}
2004 _internal_set_max_number_of_reoptimizations(value);
2005 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_number_of_reoptimizations)
2006}
2007
2008// optional double lu_factorization_pivot_threshold = 25 [default = 0.01];
2009inline bool GlopParameters::_internal_has_lu_factorization_pivot_threshold() const {
2010 bool value = (_has_bits_[0] & 0x00200000u) != 0;
2011 return value;
2012}
2014 return _internal_has_lu_factorization_pivot_threshold();
2015}
2017 lu_factorization_pivot_threshold_ = 0.01;
2018 _has_bits_[0] &= ~0x00200000u;
2019}
2020inline double GlopParameters::_internal_lu_factorization_pivot_threshold() const {
2021 return lu_factorization_pivot_threshold_;
2022}
2024 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.lu_factorization_pivot_threshold)
2025 return _internal_lu_factorization_pivot_threshold();
2026}
2027inline void GlopParameters::_internal_set_lu_factorization_pivot_threshold(double value) {
2028 _has_bits_[0] |= 0x00200000u;
2029 lu_factorization_pivot_threshold_ = value;
2030}
2032 _internal_set_lu_factorization_pivot_threshold(value);
2033 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.lu_factorization_pivot_threshold)
2034}
2035
2036// optional double max_time_in_seconds = 26 [default = inf];
2037inline bool GlopParameters::_internal_has_max_time_in_seconds() const {
2038 bool value = (_has_bits_[0] & 0x00400000u) != 0;
2039 return value;
2040}
2042 return _internal_has_max_time_in_seconds();
2043}
2045 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
2046 _has_bits_[0] &= ~0x00400000u;
2047}
2048inline double GlopParameters::_internal_max_time_in_seconds() const {
2049 return max_time_in_seconds_;
2050}
2052 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_time_in_seconds)
2053 return _internal_max_time_in_seconds();
2054}
2055inline void GlopParameters::_internal_set_max_time_in_seconds(double value) {
2056 _has_bits_[0] |= 0x00400000u;
2057 max_time_in_seconds_ = value;
2058}
2060 _internal_set_max_time_in_seconds(value);
2061 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_time_in_seconds)
2062}
2063
2064// optional double max_deterministic_time = 45 [default = inf];
2065inline bool GlopParameters::_internal_has_max_deterministic_time() const {
2066 bool value = (_has_bits_[1] & 0x00000100u) != 0;
2067 return value;
2068}
2070 return _internal_has_max_deterministic_time();
2071}
2073 max_deterministic_time_ = std::numeric_limits<double>::infinity();
2074 _has_bits_[1] &= ~0x00000100u;
2075}
2076inline double GlopParameters::_internal_max_deterministic_time() const {
2077 return max_deterministic_time_;
2078}
2080 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_deterministic_time)
2081 return _internal_max_deterministic_time();
2082}
2083inline void GlopParameters::_internal_set_max_deterministic_time(double value) {
2084 _has_bits_[1] |= 0x00000100u;
2085 max_deterministic_time_ = value;
2086}
2088 _internal_set_max_deterministic_time(value);
2089 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_deterministic_time)
2090}
2091
2092// optional int64 max_number_of_iterations = 27 [default = -1];
2093inline bool GlopParameters::_internal_has_max_number_of_iterations() const {
2094 bool value = (_has_bits_[0] & 0x00800000u) != 0;
2095 return value;
2096}
2098 return _internal_has_max_number_of_iterations();
2099}
2101 max_number_of_iterations_ = int64_t{-1};
2102 _has_bits_[0] &= ~0x00800000u;
2103}
2104inline ::PROTOBUF_NAMESPACE_ID::int64 GlopParameters::_internal_max_number_of_iterations() const {
2105 return max_number_of_iterations_;
2106}
2107inline ::PROTOBUF_NAMESPACE_ID::int64 GlopParameters::max_number_of_iterations() const {
2108 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_number_of_iterations)
2109 return _internal_max_number_of_iterations();
2110}
2111inline void GlopParameters::_internal_set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
2112 _has_bits_[0] |= 0x00800000u;
2113 max_number_of_iterations_ = value;
2114}
2115inline void GlopParameters::set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
2116 _internal_set_max_number_of_iterations(value);
2117 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_number_of_iterations)
2118}
2119
2120// optional int32 markowitz_zlatev_parameter = 29 [default = 3];
2121inline bool GlopParameters::_internal_has_markowitz_zlatev_parameter() const {
2122 bool value = (_has_bits_[0] & 0x00100000u) != 0;
2123 return value;
2124}
2126 return _internal_has_markowitz_zlatev_parameter();
2127}
2129 markowitz_zlatev_parameter_ = 3;
2130 _has_bits_[0] &= ~0x00100000u;
2131}
2132inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_markowitz_zlatev_parameter() const {
2133 return markowitz_zlatev_parameter_;
2134}
2135inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::markowitz_zlatev_parameter() const {
2136 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.markowitz_zlatev_parameter)
2137 return _internal_markowitz_zlatev_parameter();
2138}
2139inline void GlopParameters::_internal_set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value) {
2140 _has_bits_[0] |= 0x00100000u;
2141 markowitz_zlatev_parameter_ = value;
2142}
2143inline void GlopParameters::set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value) {
2144 _internal_set_markowitz_zlatev_parameter(value);
2145 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.markowitz_zlatev_parameter)
2146}
2147
2148// optional double markowitz_singularity_threshold = 30 [default = 1e-15];
2149inline bool GlopParameters::_internal_has_markowitz_singularity_threshold() const {
2150 bool value = (_has_bits_[0] & 0x01000000u) != 0;
2151 return value;
2152}
2154 return _internal_has_markowitz_singularity_threshold();
2155}
2157 markowitz_singularity_threshold_ = 1e-15;
2158 _has_bits_[0] &= ~0x01000000u;
2159}
2160inline double GlopParameters::_internal_markowitz_singularity_threshold() const {
2161 return markowitz_singularity_threshold_;
2162}
2164 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.markowitz_singularity_threshold)
2165 return _internal_markowitz_singularity_threshold();
2166}
2167inline void GlopParameters::_internal_set_markowitz_singularity_threshold(double value) {
2168 _has_bits_[0] |= 0x01000000u;
2169 markowitz_singularity_threshold_ = value;
2170}
2172 _internal_set_markowitz_singularity_threshold(value);
2173 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.markowitz_singularity_threshold)
2174}
2175
2176// optional bool use_dual_simplex = 31 [default = false];
2177inline bool GlopParameters::_internal_has_use_dual_simplex() const {
2178 bool value = (_has_bits_[0] & 0x00000001u) != 0;
2179 return value;
2180}
2182 return _internal_has_use_dual_simplex();
2183}
2185 use_dual_simplex_ = false;
2186 _has_bits_[0] &= ~0x00000001u;
2187}
2188inline bool GlopParameters::_internal_use_dual_simplex() const {
2189 return use_dual_simplex_;
2190}
2192 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_dual_simplex)
2193 return _internal_use_dual_simplex();
2194}
2195inline void GlopParameters::_internal_set_use_dual_simplex(bool value) {
2196 _has_bits_[0] |= 0x00000001u;
2197 use_dual_simplex_ = value;
2198}
2200 _internal_set_use_dual_simplex(value);
2201 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_dual_simplex)
2202}
2203
2204// optional bool allow_simplex_algorithm_change = 32 [default = false];
2205inline bool GlopParameters::_internal_has_allow_simplex_algorithm_change() const {
2206 bool value = (_has_bits_[0] & 0x00000002u) != 0;
2207 return value;
2208}
2210 return _internal_has_allow_simplex_algorithm_change();
2211}
2213 allow_simplex_algorithm_change_ = false;
2214 _has_bits_[0] &= ~0x00000002u;
2215}
2216inline bool GlopParameters::_internal_allow_simplex_algorithm_change() const {
2217 return allow_simplex_algorithm_change_;
2218}
2220 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.allow_simplex_algorithm_change)
2221 return _internal_allow_simplex_algorithm_change();
2222}
2223inline void GlopParameters::_internal_set_allow_simplex_algorithm_change(bool value) {
2224 _has_bits_[0] |= 0x00000002u;
2225 allow_simplex_algorithm_change_ = value;
2226}
2228 _internal_set_allow_simplex_algorithm_change(value);
2229 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.allow_simplex_algorithm_change)
2230}
2231
2232// optional int32 devex_weights_reset_period = 33 [default = 150];
2233inline bool GlopParameters::_internal_has_devex_weights_reset_period() const {
2234 bool value = (_has_bits_[0] & 0x20000000u) != 0;
2235 return value;
2236}
2238 return _internal_has_devex_weights_reset_period();
2239}
2241 devex_weights_reset_period_ = 150;
2242 _has_bits_[0] &= ~0x20000000u;
2243}
2244inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_devex_weights_reset_period() const {
2245 return devex_weights_reset_period_;
2246}
2247inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::devex_weights_reset_period() const {
2248 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.devex_weights_reset_period)
2249 return _internal_devex_weights_reset_period();
2250}
2251inline void GlopParameters::_internal_set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
2252 _has_bits_[0] |= 0x20000000u;
2253 devex_weights_reset_period_ = value;
2254}
2255inline void GlopParameters::set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
2256 _internal_set_devex_weights_reset_period(value);
2257 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.devex_weights_reset_period)
2258}
2259
2260// optional bool use_preprocessing = 34 [default = true];
2261inline bool GlopParameters::_internal_has_use_preprocessing() const {
2262 bool value = (_has_bits_[1] & 0x00000008u) != 0;
2263 return value;
2264}
2266 return _internal_has_use_preprocessing();
2267}
2269 use_preprocessing_ = true;
2270 _has_bits_[1] &= ~0x00000008u;
2271}
2272inline bool GlopParameters::_internal_use_preprocessing() const {
2273 return use_preprocessing_;
2274}
2276 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_preprocessing)
2277 return _internal_use_preprocessing();
2278}
2279inline void GlopParameters::_internal_set_use_preprocessing(bool value) {
2280 _has_bits_[1] |= 0x00000008u;
2281 use_preprocessing_ = value;
2282}
2284 _internal_set_use_preprocessing(value);
2285 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_preprocessing)
2286}
2287
2288// optional bool use_middle_product_form_update = 35 [default = true];
2289inline bool GlopParameters::_internal_has_use_middle_product_form_update() const {
2290 bool value = (_has_bits_[1] & 0x00000010u) != 0;
2291 return value;
2292}
2294 return _internal_has_use_middle_product_form_update();
2295}
2297 use_middle_product_form_update_ = true;
2298 _has_bits_[1] &= ~0x00000010u;
2299}
2300inline bool GlopParameters::_internal_use_middle_product_form_update() const {
2301 return use_middle_product_form_update_;
2302}
2304 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_middle_product_form_update)
2305 return _internal_use_middle_product_form_update();
2306}
2307inline void GlopParameters::_internal_set_use_middle_product_form_update(bool value) {
2308 _has_bits_[1] |= 0x00000010u;
2309 use_middle_product_form_update_ = value;
2310}
2312 _internal_set_use_middle_product_form_update(value);
2313 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_middle_product_form_update)
2314}
2315
2316// optional bool initialize_devex_with_column_norms = 36 [default = true];
2317inline bool GlopParameters::_internal_has_initialize_devex_with_column_norms() const {
2318 bool value = (_has_bits_[1] & 0x00000020u) != 0;
2319 return value;
2320}
2322 return _internal_has_initialize_devex_with_column_norms();
2323}
2325 initialize_devex_with_column_norms_ = true;
2326 _has_bits_[1] &= ~0x00000020u;
2327}
2328inline bool GlopParameters::_internal_initialize_devex_with_column_norms() const {
2329 return initialize_devex_with_column_norms_;
2330}
2332 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initialize_devex_with_column_norms)
2333 return _internal_initialize_devex_with_column_norms();
2334}
2335inline void GlopParameters::_internal_set_initialize_devex_with_column_norms(bool value) {
2336 _has_bits_[1] |= 0x00000020u;
2337 initialize_devex_with_column_norms_ = value;
2338}
2340 _internal_set_initialize_devex_with_column_norms(value);
2341 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initialize_devex_with_column_norms)
2342}
2343
2344// optional bool exploit_singleton_column_in_initial_basis = 37 [default = true];
2345inline bool GlopParameters::_internal_has_exploit_singleton_column_in_initial_basis() const {
2346 bool value = (_has_bits_[1] & 0x00000800u) != 0;
2347 return value;
2348}
2350 return _internal_has_exploit_singleton_column_in_initial_basis();
2351}
2353 exploit_singleton_column_in_initial_basis_ = true;
2354 _has_bits_[1] &= ~0x00000800u;
2355}
2356inline bool GlopParameters::_internal_exploit_singleton_column_in_initial_basis() const {
2357 return exploit_singleton_column_in_initial_basis_;
2358}
2360 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.exploit_singleton_column_in_initial_basis)
2361 return _internal_exploit_singleton_column_in_initial_basis();
2362}
2363inline void GlopParameters::_internal_set_exploit_singleton_column_in_initial_basis(bool value) {
2364 _has_bits_[1] |= 0x00000800u;
2365 exploit_singleton_column_in_initial_basis_ = value;
2366}
2368 _internal_set_exploit_singleton_column_in_initial_basis(value);
2369 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.exploit_singleton_column_in_initial_basis)
2370}
2371
2372// optional double dual_small_pivot_threshold = 38 [default = 0.0001];
2373inline bool GlopParameters::_internal_has_dual_small_pivot_threshold() const {
2374 bool value = (_has_bits_[0] & 0x40000000u) != 0;
2375 return value;
2376}
2378 return _internal_has_dual_small_pivot_threshold();
2379}
2381 dual_small_pivot_threshold_ = 0.0001;
2382 _has_bits_[0] &= ~0x40000000u;
2383}
2384inline double GlopParameters::_internal_dual_small_pivot_threshold() const {
2385 return dual_small_pivot_threshold_;
2386}
2388 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dual_small_pivot_threshold)
2389 return _internal_dual_small_pivot_threshold();
2390}
2391inline void GlopParameters::_internal_set_dual_small_pivot_threshold(double value) {
2392 _has_bits_[0] |= 0x40000000u;
2393 dual_small_pivot_threshold_ = value;
2394}
2396 _internal_set_dual_small_pivot_threshold(value);
2397 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dual_small_pivot_threshold)
2398}
2399
2400// optional double preprocessor_zero_tolerance = 39 [default = 1e-09];
2401inline bool GlopParameters::_internal_has_preprocessor_zero_tolerance() const {
2402 bool value = (_has_bits_[0] & 0x80000000u) != 0;
2403 return value;
2404}
2406 return _internal_has_preprocessor_zero_tolerance();
2407}
2409 preprocessor_zero_tolerance_ = 1e-09;
2410 _has_bits_[0] &= ~0x80000000u;
2411}
2412inline double GlopParameters::_internal_preprocessor_zero_tolerance() const {
2413 return preprocessor_zero_tolerance_;
2414}
2416 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.preprocessor_zero_tolerance)
2417 return _internal_preprocessor_zero_tolerance();
2418}
2419inline void GlopParameters::_internal_set_preprocessor_zero_tolerance(double value) {
2420 _has_bits_[0] |= 0x80000000u;
2421 preprocessor_zero_tolerance_ = value;
2422}
2424 _internal_set_preprocessor_zero_tolerance(value);
2425 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.preprocessor_zero_tolerance)
2426}
2427
2428// optional double objective_lower_limit = 40 [default = -inf];
2429inline bool GlopParameters::_internal_has_objective_lower_limit() const {
2430 bool value = (_has_bits_[1] & 0x00000001u) != 0;
2431 return value;
2432}
2434 return _internal_has_objective_lower_limit();
2435}
2437 objective_lower_limit_ = -std::numeric_limits<double>::infinity();
2438 _has_bits_[1] &= ~0x00000001u;
2439}
2440inline double GlopParameters::_internal_objective_lower_limit() const {
2441 return objective_lower_limit_;
2442}
2444 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.objective_lower_limit)
2445 return _internal_objective_lower_limit();
2446}
2447inline void GlopParameters::_internal_set_objective_lower_limit(double value) {
2448 _has_bits_[1] |= 0x00000001u;
2449 objective_lower_limit_ = value;
2450}
2452 _internal_set_objective_lower_limit(value);
2453 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.objective_lower_limit)
2454}
2455
2456// optional double objective_upper_limit = 41 [default = inf];
2457inline bool GlopParameters::_internal_has_objective_upper_limit() const {
2458 bool value = (_has_bits_[1] & 0x00000002u) != 0;
2459 return value;
2460}
2462 return _internal_has_objective_upper_limit();
2463}
2465 objective_upper_limit_ = std::numeric_limits<double>::infinity();
2466 _has_bits_[1] &= ~0x00000002u;
2467}
2468inline double GlopParameters::_internal_objective_upper_limit() const {
2469 return objective_upper_limit_;
2470}
2472 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.objective_upper_limit)
2473 return _internal_objective_upper_limit();
2474}
2475inline void GlopParameters::_internal_set_objective_upper_limit(double value) {
2476 _has_bits_[1] |= 0x00000002u;
2477 objective_upper_limit_ = value;
2478}
2480 _internal_set_objective_upper_limit(value);
2481 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.objective_upper_limit)
2482}
2483
2484// optional double degenerate_ministep_factor = 42 [default = 0.01];
2485inline bool GlopParameters::_internal_has_degenerate_ministep_factor() const {
2486 bool value = (_has_bits_[1] & 0x00000080u) != 0;
2487 return value;
2488}
2490 return _internal_has_degenerate_ministep_factor();
2491}
2493 degenerate_ministep_factor_ = 0.01;
2494 _has_bits_[1] &= ~0x00000080u;
2495}
2496inline double GlopParameters::_internal_degenerate_ministep_factor() const {
2497 return degenerate_ministep_factor_;
2498}
2500 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.degenerate_ministep_factor)
2501 return _internal_degenerate_ministep_factor();
2502}
2503inline void GlopParameters::_internal_set_degenerate_ministep_factor(double value) {
2504 _has_bits_[1] |= 0x00000080u;
2505 degenerate_ministep_factor_ = value;
2506}
2508 _internal_set_degenerate_ministep_factor(value);
2509 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.degenerate_ministep_factor)
2510}
2511
2512// optional int32 random_seed = 43 [default = 1];
2513inline bool GlopParameters::_internal_has_random_seed() const {
2514 bool value = (_has_bits_[1] & 0x00000040u) != 0;
2515 return value;
2516}
2518 return _internal_has_random_seed();
2519}
2521 random_seed_ = 1;
2522 _has_bits_[1] &= ~0x00000040u;
2523}
2524inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_random_seed() const {
2525 return random_seed_;
2526}
2527inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::random_seed() const {
2528 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.random_seed)
2529 return _internal_random_seed();
2530}
2531inline void GlopParameters::_internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
2532 _has_bits_[1] |= 0x00000040u;
2533 random_seed_ = value;
2534}
2535inline void GlopParameters::set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) {
2536 _internal_set_random_seed(value);
2537 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.random_seed)
2538}
2539
2540// optional int32 num_omp_threads = 44 [default = 1];
2541inline bool GlopParameters::_internal_has_num_omp_threads() const {
2542 bool value = (_has_bits_[1] & 0x00000400u) != 0;
2543 return value;
2544}
2546 return _internal_has_num_omp_threads();
2547}
2549 num_omp_threads_ = 1;
2550 _has_bits_[1] &= ~0x00000400u;
2551}
2552inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::_internal_num_omp_threads() const {
2553 return num_omp_threads_;
2554}
2555inline ::PROTOBUF_NAMESPACE_ID::int32 GlopParameters::num_omp_threads() const {
2556 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.num_omp_threads)
2557 return _internal_num_omp_threads();
2558}
2559inline void GlopParameters::_internal_set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value) {
2560 _has_bits_[1] |= 0x00000400u;
2561 num_omp_threads_ = value;
2562}
2563inline void GlopParameters::set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value) {
2564 _internal_set_num_omp_threads(value);
2565 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.num_omp_threads)
2566}
2567
2568// optional bool perturb_costs_in_dual_simplex = 53 [default = false];
2569inline bool GlopParameters::_internal_has_perturb_costs_in_dual_simplex() const {
2570 bool value = (_has_bits_[0] & 0x00000004u) != 0;
2571 return value;
2572}
2574 return _internal_has_perturb_costs_in_dual_simplex();
2575}
2577 perturb_costs_in_dual_simplex_ = false;
2578 _has_bits_[0] &= ~0x00000004u;
2579}
2580inline bool GlopParameters::_internal_perturb_costs_in_dual_simplex() const {
2581 return perturb_costs_in_dual_simplex_;
2582}
2584 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.perturb_costs_in_dual_simplex)
2585 return _internal_perturb_costs_in_dual_simplex();
2586}
2587inline void GlopParameters::_internal_set_perturb_costs_in_dual_simplex(bool value) {
2588 _has_bits_[0] |= 0x00000004u;
2589 perturb_costs_in_dual_simplex_ = value;
2590}
2592 _internal_set_perturb_costs_in_dual_simplex(value);
2593 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.perturb_costs_in_dual_simplex)
2594}
2595
2596// optional bool use_dedicated_dual_feasibility_algorithm = 62 [default = true];
2597inline bool GlopParameters::_internal_has_use_dedicated_dual_feasibility_algorithm() const {
2598 bool value = (_has_bits_[1] & 0x00001000u) != 0;
2599 return value;
2600}
2602 return _internal_has_use_dedicated_dual_feasibility_algorithm();
2603}
2605 use_dedicated_dual_feasibility_algorithm_ = true;
2606 _has_bits_[1] &= ~0x00001000u;
2607}
2608inline bool GlopParameters::_internal_use_dedicated_dual_feasibility_algorithm() const {
2609 return use_dedicated_dual_feasibility_algorithm_;
2610}
2612 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_dedicated_dual_feasibility_algorithm)
2613 return _internal_use_dedicated_dual_feasibility_algorithm();
2614}
2615inline void GlopParameters::_internal_set_use_dedicated_dual_feasibility_algorithm(bool value) {
2616 _has_bits_[1] |= 0x00001000u;
2617 use_dedicated_dual_feasibility_algorithm_ = value;
2618}
2620 _internal_set_use_dedicated_dual_feasibility_algorithm(value);
2621 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_dedicated_dual_feasibility_algorithm)
2622}
2623
2624// optional double relative_cost_perturbation = 54 [default = 1e-05];
2625inline bool GlopParameters::_internal_has_relative_cost_perturbation() const {
2626 bool value = (_has_bits_[1] & 0x00004000u) != 0;
2627 return value;
2628}
2630 return _internal_has_relative_cost_perturbation();
2631}
2633 relative_cost_perturbation_ = 1e-05;
2634 _has_bits_[1] &= ~0x00004000u;
2635}
2636inline double GlopParameters::_internal_relative_cost_perturbation() const {
2637 return relative_cost_perturbation_;
2638}
2640 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.relative_cost_perturbation)
2641 return _internal_relative_cost_perturbation();
2642}
2643inline void GlopParameters::_internal_set_relative_cost_perturbation(double value) {
2644 _has_bits_[1] |= 0x00004000u;
2645 relative_cost_perturbation_ = value;
2646}
2648 _internal_set_relative_cost_perturbation(value);
2649 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.relative_cost_perturbation)
2650}
2651
2652// optional double relative_max_cost_perturbation = 55 [default = 1e-07];
2653inline bool GlopParameters::_internal_has_relative_max_cost_perturbation() const {
2654 bool value = (_has_bits_[1] & 0x00008000u) != 0;
2655 return value;
2656}
2658 return _internal_has_relative_max_cost_perturbation();
2659}
2661 relative_max_cost_perturbation_ = 1e-07;
2662 _has_bits_[1] &= ~0x00008000u;
2663}
2664inline double GlopParameters::_internal_relative_max_cost_perturbation() const {
2665 return relative_max_cost_perturbation_;
2666}
2668 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.relative_max_cost_perturbation)
2669 return _internal_relative_max_cost_perturbation();
2670}
2671inline void GlopParameters::_internal_set_relative_max_cost_perturbation(double value) {
2672 _has_bits_[1] |= 0x00008000u;
2673 relative_max_cost_perturbation_ = value;
2674}
2676 _internal_set_relative_max_cost_perturbation(value);
2677 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.relative_max_cost_perturbation)
2678}
2679
2680// optional double initial_condition_number_threshold = 59 [default = 1e+50];
2681inline bool GlopParameters::_internal_has_initial_condition_number_threshold() const {
2682 bool value = (_has_bits_[1] & 0x00080000u) != 0;
2683 return value;
2684}
2686 return _internal_has_initial_condition_number_threshold();
2687}
2689 initial_condition_number_threshold_ = 1e+50;
2690 _has_bits_[1] &= ~0x00080000u;
2691}
2692inline double GlopParameters::_internal_initial_condition_number_threshold() const {
2693 return initial_condition_number_threshold_;
2694}
2696 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initial_condition_number_threshold)
2697 return _internal_initial_condition_number_threshold();
2698}
2699inline void GlopParameters::_internal_set_initial_condition_number_threshold(double value) {
2700 _has_bits_[1] |= 0x00080000u;
2701 initial_condition_number_threshold_ = value;
2702}
2704 _internal_set_initial_condition_number_threshold(value);
2705 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initial_condition_number_threshold)
2706}
2707
2708// optional bool log_search_progress = 61 [default = false];
2709inline bool GlopParameters::_internal_has_log_search_progress() const {
2710 bool value = (_has_bits_[0] & 0x00000008u) != 0;
2711 return value;
2712}
2714 return _internal_has_log_search_progress();
2715}
2717 log_search_progress_ = false;
2718 _has_bits_[0] &= ~0x00000008u;
2719}
2720inline bool GlopParameters::_internal_log_search_progress() const {
2721 return log_search_progress_;
2722}
2724 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.log_search_progress)
2725 return _internal_log_search_progress();
2726}
2727inline void GlopParameters::_internal_set_log_search_progress(bool value) {
2728 _has_bits_[0] |= 0x00000008u;
2729 log_search_progress_ = value;
2730}
2732 _internal_set_log_search_progress(value);
2733 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.log_search_progress)
2734}
2735
2736// optional double crossover_bound_snapping_distance = 64 [default = inf];
2737inline bool GlopParameters::_internal_has_crossover_bound_snapping_distance() const {
2738 bool value = (_has_bits_[1] & 0x00100000u) != 0;
2739 return value;
2740}
2742 return _internal_has_crossover_bound_snapping_distance();
2743}
2745 crossover_bound_snapping_distance_ = std::numeric_limits<double>::infinity();
2746 _has_bits_[1] &= ~0x00100000u;
2747}
2748inline double GlopParameters::_internal_crossover_bound_snapping_distance() const {
2749 return crossover_bound_snapping_distance_;
2750}
2752 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.crossover_bound_snapping_distance)
2753 return _internal_crossover_bound_snapping_distance();
2754}
2755inline void GlopParameters::_internal_set_crossover_bound_snapping_distance(double value) {
2756 _has_bits_[1] |= 0x00100000u;
2757 crossover_bound_snapping_distance_ = value;
2758}
2760 _internal_set_crossover_bound_snapping_distance(value);
2761 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.crossover_bound_snapping_distance)
2762}
2763
2764// optional bool push_to_vertex = 65 [default = true];
2765inline bool GlopParameters::_internal_has_push_to_vertex() const {
2766 bool value = (_has_bits_[1] & 0x00002000u) != 0;
2767 return value;
2768}
2770 return _internal_has_push_to_vertex();
2771}
2773 push_to_vertex_ = true;
2774 _has_bits_[1] &= ~0x00002000u;
2775}
2776inline bool GlopParameters::_internal_push_to_vertex() const {
2777 return push_to_vertex_;
2778}
2780 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.push_to_vertex)
2781 return _internal_push_to_vertex();
2782}
2783inline void GlopParameters::_internal_set_push_to_vertex(bool value) {
2784 _has_bits_[1] |= 0x00002000u;
2785 push_to_vertex_ = value;
2786}
2788 _internal_set_push_to_vertex(value);
2789 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.push_to_vertex)
2790}
2791
2792#ifdef __GNUC__
2793 #pragma GCC diagnostic pop
2794#endif // __GNUC__
2795
2796// @@protoc_insertion_point(namespace_scope)
2797
2798} // namespace glop
2799} // namespace operations_research
2800
2801PROTOBUF_NAMESPACE_OPEN
2802
2803template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_ScalingAlgorithm> : ::std::true_type {};
2804template <>
2805inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_ScalingAlgorithm>() {
2807}
2808template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_SolverBehavior> : ::std::true_type {};
2809template <>
2810inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_SolverBehavior>() {
2812}
2813template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_PricingRule> : ::std::true_type {};
2814template <>
2815inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_PricingRule>() {
2817}
2818template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_InitialBasisHeuristic> : ::std::true_type {};
2819template <>
2820inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_InitialBasisHeuristic>() {
2822}
2823template <> struct is_proto_enum< ::operations_research::glop::GlopParameters_CostScalingAlgorithm> : ::std::true_type {};
2824template <>
2825inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_CostScalingAlgorithm>() {
2827}
2828
2829PROTOBUF_NAMESPACE_CLOSE
2830
2831// @@protoc_insertion_point(global_scope)
2832
2833#include <google/protobuf/port_undef.inc>
2834#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
void set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value)
void set_max_number_of_iterations(::PROTOBUF_NAMESPACE_ID::int64 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
::PROTOBUF_NAMESPACE_ID::int32 markowitz_zlatev_parameter() const
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
::PROTOBUF_NAMESPACE_ID::int32 random_seed() const
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)
GlopParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void UnsafeArenaSwap(GlopParameters *other)
static bool InitialBasisHeuristic_IsValid(int value)
::PROTOBUF_NAMESPACE_ID::int32 devex_weights_reset_period() const
static constexpr SolverBehavior NEVER_DO
::PROTOBUF_NAMESPACE_ID::int32 basis_refactorization_period() const
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)
::PROTOBUF_NAMESPACE_ID::int64 max_number_of_iterations() const
GlopParameters * New() const final
void set_markowitz_zlatev_parameter(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const GlopParameters &from)
GlopParameters & operator=(GlopParameters &&from) noexcept
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value)
GlopParameters_PricingRule PricingRule
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)
void set_devex_weights_reset_period(::PROTOBUF_NAMESPACE_ID::int32 value)
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_basis_refactorization_period(::PROTOBUF_NAMESPACE_ID::int32 value)
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)
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
void set_num_omp_threads(::PROTOBUF_NAMESPACE_ID::int32 value)
::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)
::PROTOBUF_NAMESPACE_ID::int32 num_omp_threads() const
static bool PricingRule_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PricingRule *value)
static bool SolverBehavior_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SolverBehavior *value)
static constexpr int CostScalingAlgorithm_ARRAYSIZE
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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::uint32 offsets[]
Definition: parameters.pb.h:54
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)