Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
parameters.pb.h
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/glop/parameters.proto
4// Protobuf C++ Version: 6.31.1
5
6#ifndef ortools_2fglop_2fparameters_2eproto_2epb_2eh
7#define ortools_2fglop_2fparameters_2eproto_2epb_2eh
8
9#include <limits>
10#include <string>
11#include <type_traits>
12#include <utility>
13
14#include "google/protobuf/runtime_version.h"
15#if PROTOBUF_VERSION != 6031001
16#error "Protobuf C++ gencode is built with an incompatible version of"
17#error "Protobuf C++ headers/runtime. See"
18#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
19#endif
20#include "google/protobuf/io/coded_stream.h"
21#include "google/protobuf/arena.h"
22#include "google/protobuf/arenastring.h"
23#include "google/protobuf/generated_message_tctable_decl.h"
24#include "google/protobuf/generated_message_util.h"
25#include "google/protobuf/metadata_lite.h"
26#include "google/protobuf/generated_message_reflection.h"
27#include "google/protobuf/message.h"
28#include "google/protobuf/message_lite.h"
29#include "google/protobuf/repeated_field.h" // IWYU pragma: export
30#include "google/protobuf/extension_set.h" // IWYU pragma: export
31#include "google/protobuf/generated_enum_reflection.h"
32#include "google/protobuf/unknown_field_set.h"
33// @@protoc_insertion_point(includes)
34
35// Must be included last.
36#include "google/protobuf/port_def.inc"
37
38#define PROTOBUF_INTERNAL_EXPORT_ortools_2fglop_2fparameters_2eproto OR_PROTO_DLL
39
40namespace google {
41namespace protobuf {
42namespace internal {
43template <typename T>
44::absl::string_view GetAnyMessageName();
45} // namespace internal
46} // namespace protobuf
47} // namespace google
48
49// Internal implementation detail -- do not use these members.
51 static const ::uint32_t offsets[];
52};
53extern "C" {
54OR_PROTO_DLL extern const ::google::protobuf::internal::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto;
55} // extern "C"
56namespace operations_research {
57namespace glop {
59OR_PROTO_DLL extern const uint32_t GlopParameters_CostScalingAlgorithm_internal_data_[];
61OR_PROTO_DLL extern const uint32_t GlopParameters_InitialBasisHeuristic_internal_data_[];
63OR_PROTO_DLL extern const uint32_t GlopParameters_PricingRule_internal_data_[];
65OR_PROTO_DLL extern const uint32_t GlopParameters_ScalingAlgorithm_internal_data_[];
67OR_PROTO_DLL extern const uint32_t GlopParameters_SolverBehavior_internal_data_[];
68class GlopParameters;
71OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull GlopParameters_class_data_;
72} // namespace glop
73} // namespace operations_research
74namespace google {
75namespace protobuf {
76template <>
77internal::EnumTraitsT<::operations_research::glop::GlopParameters_CostScalingAlgorithm_internal_data_>
78 internal::EnumTraitsImpl::value<::operations_research::glop::GlopParameters_CostScalingAlgorithm>;
79template <>
80internal::EnumTraitsT<::operations_research::glop::GlopParameters_InitialBasisHeuristic_internal_data_>
81 internal::EnumTraitsImpl::value<::operations_research::glop::GlopParameters_InitialBasisHeuristic>;
82template <>
83internal::EnumTraitsT<::operations_research::glop::GlopParameters_PricingRule_internal_data_>
84 internal::EnumTraitsImpl::value<::operations_research::glop::GlopParameters_PricingRule>;
85template <>
86internal::EnumTraitsT<::operations_research::glop::GlopParameters_ScalingAlgorithm_internal_data_>
87 internal::EnumTraitsImpl::value<::operations_research::glop::GlopParameters_ScalingAlgorithm>;
88template <>
89internal::EnumTraitsT<::operations_research::glop::GlopParameters_SolverBehavior_internal_data_>
90 internal::EnumTraitsImpl::value<::operations_research::glop::GlopParameters_SolverBehavior>;
91} // namespace protobuf
92} // namespace google
93
94namespace operations_research {
95namespace glop {
101
102OR_PROTO_DLL extern const uint32_t GlopParameters_ScalingAlgorithm_internal_data_[];
104 static_cast<GlopParameters_ScalingAlgorithm>(0);
106 static_cast<GlopParameters_ScalingAlgorithm>(2);
108 return 0 <= value && value <= 2;
109}
111OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL GlopParameters_ScalingAlgorithm_descriptor();
112template <typename T>
113const ::std::string& GlopParameters_ScalingAlgorithm_Name(T value) {
114 static_assert(::std::is_same<T, GlopParameters_ScalingAlgorithm>::value ||
115 ::std::is_integral<T>::value,
116 "Incorrect type passed to ScalingAlgorithm_Name().");
118}
119template <>
121 return ::google::protobuf::internal::NameOfDenseEnum<GlopParameters_ScalingAlgorithm_descriptor, 0, 2>(
122 static_cast<int>(value));
123}
125 ::absl::string_view name, GlopParameters_ScalingAlgorithm* PROTOBUF_NONNULL value) {
126 return ::google::protobuf::internal::ParseNamedEnum<GlopParameters_ScalingAlgorithm>(GlopParameters_ScalingAlgorithm_descriptor(), name,
127 value);
128}
134
135OR_PROTO_DLL extern const uint32_t GlopParameters_SolverBehavior_internal_data_[];
137 static_cast<GlopParameters_SolverBehavior>(0);
139 static_cast<GlopParameters_SolverBehavior>(2);
141 return 0 <= value && value <= 2;
142}
144OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL GlopParameters_SolverBehavior_descriptor();
145template <typename T>
146const ::std::string& GlopParameters_SolverBehavior_Name(T value) {
147 static_assert(::std::is_same<T, GlopParameters_SolverBehavior>::value ||
148 ::std::is_integral<T>::value,
149 "Incorrect type passed to SolverBehavior_Name().");
151}
152template <>
154 return ::google::protobuf::internal::NameOfDenseEnum<GlopParameters_SolverBehavior_descriptor, 0, 2>(
155 static_cast<int>(value));
156}
158 ::absl::string_view name, GlopParameters_SolverBehavior* PROTOBUF_NONNULL value) {
159 return ::google::protobuf::internal::ParseNamedEnum<GlopParameters_SolverBehavior>(GlopParameters_SolverBehavior_descriptor(), name,
160 value);
161}
167
168OR_PROTO_DLL extern const uint32_t GlopParameters_PricingRule_internal_data_[];
170 static_cast<GlopParameters_PricingRule>(0);
172 static_cast<GlopParameters_PricingRule>(2);
174 return 0 <= value && value <= 2;
175}
177OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL GlopParameters_PricingRule_descriptor();
178template <typename T>
179const ::std::string& GlopParameters_PricingRule_Name(T value) {
180 static_assert(::std::is_same<T, GlopParameters_PricingRule>::value ||
181 ::std::is_integral<T>::value,
182 "Incorrect type passed to PricingRule_Name().");
184}
185template <>
187 return ::google::protobuf::internal::NameOfDenseEnum<GlopParameters_PricingRule_descriptor, 0, 2>(
188 static_cast<int>(value));
189}
191 ::absl::string_view name, GlopParameters_PricingRule* PROTOBUF_NONNULL value) {
192 return ::google::protobuf::internal::ParseNamedEnum<GlopParameters_PricingRule>(GlopParameters_PricingRule_descriptor(), name,
193 value);
194}
201
202OR_PROTO_DLL extern const uint32_t GlopParameters_InitialBasisHeuristic_internal_data_[];
208 return 0 <= value && value <= 3;
209}
211OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL GlopParameters_InitialBasisHeuristic_descriptor();
212template <typename T>
213const ::std::string& GlopParameters_InitialBasisHeuristic_Name(T value) {
214 static_assert(::std::is_same<T, GlopParameters_InitialBasisHeuristic>::value ||
215 ::std::is_integral<T>::value,
216 "Incorrect type passed to InitialBasisHeuristic_Name().");
218}
219template <>
221 return ::google::protobuf::internal::NameOfDenseEnum<GlopParameters_InitialBasisHeuristic_descriptor, 0, 3>(
222 static_cast<int>(value));
223}
225 ::absl::string_view name, GlopParameters_InitialBasisHeuristic* PROTOBUF_NONNULL value) {
226 return ::google::protobuf::internal::ParseNamedEnum<GlopParameters_InitialBasisHeuristic>(GlopParameters_InitialBasisHeuristic_descriptor(), name,
227 value);
228}
235
236OR_PROTO_DLL extern const uint32_t GlopParameters_CostScalingAlgorithm_internal_data_[];
242 return 0 <= value && value <= 3;
243}
245OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL GlopParameters_CostScalingAlgorithm_descriptor();
246template <typename T>
247const ::std::string& GlopParameters_CostScalingAlgorithm_Name(T value) {
248 static_assert(::std::is_same<T, GlopParameters_CostScalingAlgorithm>::value ||
249 ::std::is_integral<T>::value,
250 "Incorrect type passed to CostScalingAlgorithm_Name().");
252}
253template <>
255 return ::google::protobuf::internal::NameOfDenseEnum<GlopParameters_CostScalingAlgorithm_descriptor, 0, 3>(
256 static_cast<int>(value));
257}
259 ::absl::string_view name, GlopParameters_CostScalingAlgorithm* PROTOBUF_NONNULL value) {
260 return ::google::protobuf::internal::ParseNamedEnum<GlopParameters_CostScalingAlgorithm>(GlopParameters_CostScalingAlgorithm_descriptor(), name,
261 value);
262}
263
264// ===================================================================
265
266
267// -------------------------------------------------------------------
268
269class OR_PROTO_DLL GlopParameters final : public ::google::protobuf::Message
270/* @@protoc_insertion_point(class_definition:operations_research.glop.GlopParameters) */ {
271 public:
272 inline GlopParameters() : GlopParameters(nullptr) {}
273 ~GlopParameters() PROTOBUF_FINAL;
275#if defined(PROTOBUF_CUSTOM_VTABLE)
276 void operator delete(GlopParameters* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
277 SharedDtor(*msg);
278 ::google::protobuf::internal::SizedDelete(msg, sizeof(GlopParameters));
279 }
280#endif
281
282 template <typename = void>
283 explicit PROTOBUF_CONSTEXPR GlopParameters(::google::protobuf::internal::ConstantInitialized);
284
285 inline GlopParameters(const GlopParameters& from) : GlopParameters(nullptr, from) {}
286 inline GlopParameters(GlopParameters&& from) noexcept
287 : GlopParameters(nullptr, ::std::move(from)) {}
289 CopyFrom(from);
290 return *this;
291 }
292 inline GlopParameters& operator=(GlopParameters&& from) noexcept {
293 if (this == &from) return *this;
294 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
295 InternalSwap(&from);
296 } else {
297 CopyFrom(from);
298 }
299 return *this;
300 }
301
302 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
303 ABSL_ATTRIBUTE_LIFETIME_BOUND {
304 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
305 }
306 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
307 ABSL_ATTRIBUTE_LIFETIME_BOUND {
308 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
309 }
310
311 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
312 return GetDescriptor();
314 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
315 return default_instance().GetMetadata().descriptor;
317 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
318 return default_instance().GetMetadata().reflection;
320 static const GlopParameters& default_instance() {
321 return *reinterpret_cast<const GlopParameters*>(
323 }
324 static constexpr int kIndexInFileMessages = 0;
325 friend void swap(GlopParameters& a, GlopParameters& b) { a.Swap(&b); }
326 inline void Swap(GlopParameters* PROTOBUF_NONNULL other) {
327 if (other == this) return;
328 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
329 InternalSwap(other);
330 } else {
331 ::google::protobuf::internal::GenericSwap(this, other);
332 }
333 }
334 void UnsafeArenaSwap(GlopParameters* PROTOBUF_NONNULL other) {
335 if (other == this) return;
336 ABSL_DCHECK(GetArena() == other->GetArena());
337 InternalSwap(other);
338 }
339
340 // implements Message ----------------------------------------------
341
342 GlopParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
343 return ::google::protobuf::Message::DefaultConstruct<GlopParameters>(arena);
345 using ::google::protobuf::Message::CopyFrom;
346 void CopyFrom(const GlopParameters& from);
347 using ::google::protobuf::Message::MergeFrom;
348 void MergeFrom(const GlopParameters& from) { GlopParameters::MergeImpl(*this, from); }
349
350 private:
351 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
352 const ::google::protobuf::MessageLite& from_msg);
353
354 public:
355 bool IsInitialized() const {
356 return true;
358 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
359 #if defined(PROTOBUF_CUSTOM_VTABLE)
360 private:
361 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
362 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
363 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
364 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
365
366 public:
367 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
368 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
369 ::uint8_t* PROTOBUF_NONNULL target,
370 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
371 return _InternalSerialize(*this, target, stream);
372 }
373 #else // PROTOBUF_CUSTOM_VTABLE
374 ::size_t ByteSizeLong() const final;
375 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
376 ::uint8_t* PROTOBUF_NONNULL target,
377 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
378 #endif // PROTOBUF_CUSTOM_VTABLE
379 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
380
381 private:
382 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
383 static void SharedDtor(MessageLite& self);
384 void InternalSwap(GlopParameters* PROTOBUF_NONNULL other);
385 private:
386 template <typename T>
387 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
388 static ::absl::string_view FullMessageName() { return "operations_research.glop.GlopParameters"; }
389
390 protected:
391 explicit GlopParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
392 GlopParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GlopParameters& from);
394 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GlopParameters&& from) noexcept
395 : GlopParameters(arena) {
396 *this = ::std::move(from);
397 }
398 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
399 static void* PROTOBUF_NONNULL PlacementNew_(
400 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
401 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
402 static constexpr auto InternalNewImpl_();
403
404 public:
405 static constexpr auto InternalGenerateClassData_();
406
407 ::google::protobuf::Metadata GetMetadata() const;
408 // nested types ----------------------------------------------------
409 using ScalingAlgorithm = GlopParameters_ScalingAlgorithm;
410 static constexpr ScalingAlgorithm DEFAULT = GlopParameters_ScalingAlgorithm_DEFAULT;
413 static inline bool ScalingAlgorithm_IsValid(int value) {
416 static constexpr ScalingAlgorithm ScalingAlgorithm_MIN = GlopParameters_ScalingAlgorithm_ScalingAlgorithm_MIN;
417 static constexpr ScalingAlgorithm ScalingAlgorithm_MAX = GlopParameters_ScalingAlgorithm_ScalingAlgorithm_MAX;
419 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL ScalingAlgorithm_descriptor() {
422 template <typename T>
423 static inline const ::std::string& ScalingAlgorithm_Name(T value) {
426 static inline bool ScalingAlgorithm_Parse(
427 ::absl::string_view name, ScalingAlgorithm* PROTOBUF_NONNULL value) {
429 }
430 using SolverBehavior = GlopParameters_SolverBehavior;
431 static constexpr SolverBehavior ALWAYS_DO = GlopParameters_SolverBehavior_ALWAYS_DO;
434 static inline bool SolverBehavior_IsValid(int value) {
437 static constexpr SolverBehavior SolverBehavior_MIN = GlopParameters_SolverBehavior_SolverBehavior_MIN;
438 static constexpr SolverBehavior SolverBehavior_MAX = GlopParameters_SolverBehavior_SolverBehavior_MAX;
440 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SolverBehavior_descriptor() {
443 template <typename T>
444 static inline const ::std::string& SolverBehavior_Name(T value) {
447 static inline bool SolverBehavior_Parse(
448 ::absl::string_view name, SolverBehavior* PROTOBUF_NONNULL value) {
450 }
451 using PricingRule = GlopParameters_PricingRule;
452 static constexpr PricingRule DANTZIG = GlopParameters_PricingRule_DANTZIG;
455 static inline bool PricingRule_IsValid(int value) {
458 static constexpr PricingRule PricingRule_MIN = GlopParameters_PricingRule_PricingRule_MIN;
459 static constexpr PricingRule PricingRule_MAX = GlopParameters_PricingRule_PricingRule_MAX;
461 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL PricingRule_descriptor() {
464 template <typename T>
465 static inline const ::std::string& PricingRule_Name(T value) {
468 static inline bool PricingRule_Parse(
469 ::absl::string_view name, PricingRule* PROTOBUF_NONNULL value) {
471 }
472 using InitialBasisHeuristic = GlopParameters_InitialBasisHeuristic;
473 static constexpr InitialBasisHeuristic NONE = GlopParameters_InitialBasisHeuristic_NONE;
477 static inline bool InitialBasisHeuristic_IsValid(int value) {
480 static constexpr InitialBasisHeuristic InitialBasisHeuristic_MIN = GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_MIN;
481 static constexpr InitialBasisHeuristic InitialBasisHeuristic_MAX = GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_MAX;
483 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL InitialBasisHeuristic_descriptor() {
486 template <typename T>
487 static inline const ::std::string& InitialBasisHeuristic_Name(T value) {
490 static inline bool InitialBasisHeuristic_Parse(
491 ::absl::string_view name, InitialBasisHeuristic* PROTOBUF_NONNULL value) {
493 }
494 using CostScalingAlgorithm = GlopParameters_CostScalingAlgorithm;
495 static constexpr CostScalingAlgorithm NO_COST_SCALING = GlopParameters_CostScalingAlgorithm_NO_COST_SCALING;
499 static inline bool CostScalingAlgorithm_IsValid(int value) {
502 static constexpr CostScalingAlgorithm CostScalingAlgorithm_MIN = GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MIN;
503 static constexpr CostScalingAlgorithm CostScalingAlgorithm_MAX = GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MAX;
505 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CostScalingAlgorithm_descriptor() {
508 template <typename T>
509 static inline const ::std::string& CostScalingAlgorithm_Name(T value) {
512 static inline bool CostScalingAlgorithm_Parse(
513 ::absl::string_view name, CostScalingAlgorithm* PROTOBUF_NONNULL value) {
515 }
516
517 // accessors -------------------------------------------------------
518 enum : int {
519 kUseDualSimplexFieldNumber = 31,
520 kAllowSimplexAlgorithmChangeFieldNumber = 32,
578 };
579 // optional bool use_dual_simplex = 31 [default = false];
580 bool has_use_dual_simplex() const;
582 bool use_dual_simplex() const;
583 void set_use_dual_simplex(bool value);
584
585 private:
586 bool _internal_use_dual_simplex() const;
587 void _internal_set_use_dual_simplex(bool value);
588
589 public:
590 // optional bool allow_simplex_algorithm_change = 32 [default = false];
594 void set_allow_simplex_algorithm_change(bool value);
595
596 private:
597 bool _internal_allow_simplex_algorithm_change() const;
598 void _internal_set_allow_simplex_algorithm_change(bool value);
599
600 public:
601 // optional bool perturb_costs_in_dual_simplex = 53 [default = false];
605 void set_perturb_costs_in_dual_simplex(bool value);
606
607 private:
608 bool _internal_perturb_costs_in_dual_simplex() const;
609 void _internal_set_perturb_costs_in_dual_simplex(bool value);
610
611 public:
612 // optional bool log_search_progress = 61 [default = false];
613 bool has_log_search_progress() const;
615 bool log_search_progress() const;
616 void set_log_search_progress(bool value);
617
618 private:
619 bool _internal_log_search_progress() const;
620 void _internal_set_log_search_progress(bool value);
621
622 public:
623 // optional bool dual_price_prioritize_norm = 69 [default = false];
626 bool dual_price_prioritize_norm() const;
627 void set_dual_price_prioritize_norm(bool value);
628
629 private:
630 bool _internal_dual_price_prioritize_norm() const;
631 void _internal_set_dual_price_prioritize_norm(bool value);
632
633 public:
634 // optional bool use_absl_random = 72 [default = false];
635 bool has_use_absl_random() const;
636 void clear_use_absl_random() ;
637 bool use_absl_random() const;
638 void set_use_absl_random(bool value);
639
640 private:
641 bool _internal_use_absl_random() const;
642 void _internal_set_use_absl_random(bool value);
643
644 public:
645 // optional .operations_research.glop.GlopParameters.PricingRule feasibility_rule = 1 [default = STEEPEST_EDGE];
646 bool has_feasibility_rule() const;
650
651 private:
652 ::operations_research::glop::GlopParameters_PricingRule _internal_feasibility_rule() const;
653 void _internal_set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value);
654
655 public:
656 // optional .operations_research.glop.GlopParameters.PricingRule optimization_rule = 2 [default = STEEPEST_EDGE];
657 bool has_optimization_rule() const;
661
662 private:
663 ::operations_research::glop::GlopParameters_PricingRule _internal_optimization_rule() const;
664 void _internal_set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value);
665
666 public:
667 // optional double refactorization_threshold = 6 [default = 1e-09];
670 double refactorization_threshold() const;
671 void set_refactorization_threshold(double value);
672
673 private:
674 double _internal_refactorization_threshold() const;
675 void _internal_set_refactorization_threshold(double value);
676
677 public:
678 // optional double recompute_reduced_costs_threshold = 8 [default = 1e-08];
682 void set_recompute_reduced_costs_threshold(double value);
683
684 private:
685 double _internal_recompute_reduced_costs_threshold() const;
686 void _internal_set_recompute_reduced_costs_threshold(double value);
687
688 public:
689 // optional double recompute_edges_norm_threshold = 9 [default = 100];
692 double recompute_edges_norm_threshold() const;
693 void set_recompute_edges_norm_threshold(double value);
694
695 private:
696 double _internal_recompute_edges_norm_threshold() const;
697 void _internal_set_recompute_edges_norm_threshold(double value);
698
699 public:
700 // optional double primal_feasibility_tolerance = 10 [default = 1e-08];
703 double primal_feasibility_tolerance() const;
704 void set_primal_feasibility_tolerance(double value);
705
706 private:
707 double _internal_primal_feasibility_tolerance() const;
708 void _internal_set_primal_feasibility_tolerance(double value);
709
710 public:
711 // optional double dual_feasibility_tolerance = 11 [default = 1e-08];
714 double dual_feasibility_tolerance() const;
715 void set_dual_feasibility_tolerance(double value);
716
717 private:
718 double _internal_dual_feasibility_tolerance() const;
719 void _internal_set_dual_feasibility_tolerance(double value);
720
721 public:
722 // optional double ratio_test_zero_threshold = 12 [default = 1e-09];
725 double ratio_test_zero_threshold() const;
726 void set_ratio_test_zero_threshold(double value);
727
728 private:
729 double _internal_ratio_test_zero_threshold() const;
730 void _internal_set_ratio_test_zero_threshold(double value);
731
732 public:
733 // optional double harris_tolerance_ratio = 13 [default = 0.5];
734 bool has_harris_tolerance_ratio() const;
736 double harris_tolerance_ratio() const;
737 void set_harris_tolerance_ratio(double value);
738
739 private:
740 double _internal_harris_tolerance_ratio() const;
741 void _internal_set_harris_tolerance_ratio(double value);
742
743 public:
744 // optional double small_pivot_threshold = 14 [default = 1e-06];
745 bool has_small_pivot_threshold() const;
747 double small_pivot_threshold() const;
748 void set_small_pivot_threshold(double value);
749
750 private:
751 double _internal_small_pivot_threshold() const;
752 void _internal_set_small_pivot_threshold(double value);
753
754 public:
755 // optional double minimum_acceptable_pivot = 15 [default = 1e-06];
756 bool has_minimum_acceptable_pivot() const;
758 double minimum_acceptable_pivot() const;
759 void set_minimum_acceptable_pivot(double value);
760
761 private:
762 double _internal_minimum_acceptable_pivot() const;
763 void _internal_set_minimum_acceptable_pivot(double value);
764
765 public:
766 // optional .operations_research.glop.GlopParameters.InitialBasisHeuristic initial_basis = 17 [default = TRIANGULAR];
767 bool has_initial_basis() const;
768 void clear_initial_basis() ;
771
772 private:
774 void _internal_set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value);
775
776 public:
777 // optional int32 basis_refactorization_period = 19 [default = 64];
780 ::int32_t basis_refactorization_period() const;
781 void set_basis_refactorization_period(::int32_t value);
782
783 private:
784 ::int32_t _internal_basis_refactorization_period() const;
785 void _internal_set_basis_refactorization_period(::int32_t value);
786
787 public:
788 // optional double dualizer_threshold = 21 [default = 1.5];
789 bool has_dualizer_threshold() const;
791 double dualizer_threshold() const;
792 void set_dualizer_threshold(double value);
793
794 private:
795 double _internal_dualizer_threshold() const;
796 void _internal_set_dualizer_threshold(double value);
797
798 public:
799 // optional double solution_feasibility_tolerance = 22 [default = 1e-06];
802 double solution_feasibility_tolerance() const;
803 void set_solution_feasibility_tolerance(double value);
804
805 private:
806 double _internal_solution_feasibility_tolerance() const;
807 void _internal_set_solution_feasibility_tolerance(double value);
808
809 public:
810 // optional .operations_research.glop.GlopParameters.SolverBehavior solve_dual_problem = 20 [default = LET_SOLVER_DECIDE];
811 bool has_solve_dual_problem() const;
815
816 private:
817 ::operations_research::glop::GlopParameters_SolverBehavior _internal_solve_dual_problem() const;
818 void _internal_set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value);
819
820 public:
821 // optional bool use_scaling = 16 [default = true];
822 bool has_use_scaling() const;
823 void clear_use_scaling() ;
824 bool use_scaling() const;
825 void set_use_scaling(bool value);
826
827 private:
828 bool _internal_use_scaling() const;
829 void _internal_set_use_scaling(bool value);
830
831 public:
832 // optional bool use_transposed_matrix = 18 [default = true];
833 bool has_use_transposed_matrix() const;
835 bool use_transposed_matrix() const;
836 void set_use_transposed_matrix(bool value);
837
838 private:
839 bool _internal_use_transposed_matrix() const;
840 void _internal_set_use_transposed_matrix(bool value);
841
842 public:
843 // optional bool provide_strong_optimal_guarantee = 24 [default = true];
848
849 private:
850 bool _internal_provide_strong_optimal_guarantee() const;
851 void _internal_set_provide_strong_optimal_guarantee(bool value);
852
853 public:
854 // optional bool use_preprocessing = 34 [default = true];
855 bool has_use_preprocessing() const;
857 bool use_preprocessing() const;
858 void set_use_preprocessing(bool value);
859
860 private:
861 bool _internal_use_preprocessing() const;
862 void _internal_set_use_preprocessing(bool value);
863
864 public:
865 // optional double lu_factorization_pivot_threshold = 25 [default = 0.01];
869 void set_lu_factorization_pivot_threshold(double value);
870
871 private:
872 double _internal_lu_factorization_pivot_threshold() const;
873 void _internal_set_lu_factorization_pivot_threshold(double value);
874
875 public:
876 // optional double max_time_in_seconds = 26 [default = inf];
877 bool has_max_time_in_seconds() const;
879 double max_time_in_seconds() const;
880 void set_max_time_in_seconds(double value);
881
882 private:
883 double _internal_max_time_in_seconds() const;
884 void _internal_set_max_time_in_seconds(double value);
885
886 public:
887 // optional int64 max_number_of_iterations = 27 [default = -1];
888 bool has_max_number_of_iterations() const;
890 ::int64_t max_number_of_iterations() const;
891 void set_max_number_of_iterations(::int64_t value);
892
893 private:
894 ::int64_t _internal_max_number_of_iterations() const;
895 void _internal_set_max_number_of_iterations(::int64_t value);
896
897 public:
898 // optional double markowitz_singularity_threshold = 30 [default = 1e-15];
901 double markowitz_singularity_threshold() const;
902 void set_markowitz_singularity_threshold(double value);
903
904 private:
905 double _internal_markowitz_singularity_threshold() const;
906 void _internal_set_markowitz_singularity_threshold(double value);
907
908 public:
909 // optional int32 markowitz_zlatev_parameter = 29 [default = 3];
912 ::int32_t markowitz_zlatev_parameter() const;
913 void set_markowitz_zlatev_parameter(::int32_t value);
914
915 private:
916 ::int32_t _internal_markowitz_zlatev_parameter() const;
917 void _internal_set_markowitz_zlatev_parameter(::int32_t value);
918
919 public:
920 // optional int32 devex_weights_reset_period = 33 [default = 150];
923 ::int32_t devex_weights_reset_period() const;
924 void set_devex_weights_reset_period(::int32_t value);
925
926 private:
927 ::int32_t _internal_devex_weights_reset_period() const;
928 void _internal_set_devex_weights_reset_period(::int32_t value);
929
930 public:
931 // optional double dual_small_pivot_threshold = 38 [default = 0.0001];
934 double dual_small_pivot_threshold() const;
935 void set_dual_small_pivot_threshold(double value);
936
937 private:
938 double _internal_dual_small_pivot_threshold() const;
939 void _internal_set_dual_small_pivot_threshold(double value);
940
941 public:
942 // optional double preprocessor_zero_tolerance = 39 [default = 1e-09];
945 double preprocessor_zero_tolerance() const;
946 void set_preprocessor_zero_tolerance(double value);
947
948 private:
949 double _internal_preprocessor_zero_tolerance() const;
950 void _internal_set_preprocessor_zero_tolerance(double value);
951
952 public:
953 // optional double objective_lower_limit = 40 [default = -inf];
954 bool has_objective_lower_limit() const;
956 double objective_lower_limit() const;
957 void set_objective_lower_limit(double value);
958
959 private:
960 double _internal_objective_lower_limit() const;
961 void _internal_set_objective_lower_limit(double value);
962
963 public:
964 // optional double objective_upper_limit = 41 [default = inf];
965 bool has_objective_upper_limit() const;
967 double objective_upper_limit() const;
968 void set_objective_upper_limit(double value);
969
970 private:
971 double _internal_objective_upper_limit() const;
972 void _internal_set_objective_upper_limit(double value);
973
974 public:
975 // optional bool use_middle_product_form_update = 35 [default = true];
979 void set_use_middle_product_form_update(bool value);
980
981 private:
982 bool _internal_use_middle_product_form_update() const;
983 void _internal_set_use_middle_product_form_update(bool value);
984
985 public:
986 // optional bool initialize_devex_with_column_norms = 36 [default = true];
991
992 private:
993 bool _internal_initialize_devex_with_column_norms() const;
994 void _internal_set_initialize_devex_with_column_norms(bool value);
995
996 public:
997 // optional bool exploit_singleton_column_in_initial_basis = 37 [default = true];
1002
1003 private:
1004 bool _internal_exploit_singleton_column_in_initial_basis() const;
1005 void _internal_set_exploit_singleton_column_in_initial_basis(bool value);
1006
1007 public:
1008 // optional bool change_status_to_imprecise = 58 [default = true];
1009 bool has_change_status_to_imprecise() const;
1011 bool change_status_to_imprecise() const;
1012 void set_change_status_to_imprecise(bool value);
1013
1014 private:
1015 bool _internal_change_status_to_imprecise() const;
1016 void _internal_set_change_status_to_imprecise(bool value);
1017
1018 public:
1019 // optional int32 random_seed = 43 [default = 1];
1020 bool has_random_seed() const;
1021 void clear_random_seed() ;
1022 ::int32_t random_seed() const;
1023 void set_random_seed(::int32_t value);
1024
1025 private:
1026 ::int32_t _internal_random_seed() const;
1027 void _internal_set_random_seed(::int32_t value);
1028
1029 public:
1030 // optional double degenerate_ministep_factor = 42 [default = 0.01];
1031 bool has_degenerate_ministep_factor() const;
1033 double degenerate_ministep_factor() const;
1034 void set_degenerate_ministep_factor(double value);
1035
1036 private:
1037 double _internal_degenerate_ministep_factor() const;
1038 void _internal_set_degenerate_ministep_factor(double value);
1039
1040 public:
1041 // optional double max_deterministic_time = 45 [default = inf];
1042 bool has_max_deterministic_time() const;
1044 double max_deterministic_time() const;
1045 void set_max_deterministic_time(double value);
1046
1047 private:
1048 double _internal_max_deterministic_time() const;
1049 void _internal_set_max_deterministic_time(double value);
1050
1051 public:
1052 // optional int32 num_omp_threads = 44 [default = 1];
1053 bool has_num_omp_threads() const;
1054 void clear_num_omp_threads() ;
1055 ::int32_t num_omp_threads() const;
1056 void set_num_omp_threads(::int32_t value);
1057
1058 private:
1059 ::int32_t _internal_num_omp_threads() const;
1060 void _internal_set_num_omp_threads(::int32_t value);
1061
1062 public:
1063 // optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
1064 bool has_scaling_method() const;
1065 void clear_scaling_method() ;
1068
1069 private:
1070 ::operations_research::glop::GlopParameters_ScalingAlgorithm _internal_scaling_method() const;
1071 void _internal_set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value);
1072
1073 public:
1074 // optional double drop_tolerance = 52 [default = 1e-14];
1075 bool has_drop_tolerance() const;
1076 void clear_drop_tolerance() ;
1077 double drop_tolerance() const;
1078 void set_drop_tolerance(double value);
1079
1080 private:
1081 double _internal_drop_tolerance() const;
1082 void _internal_set_drop_tolerance(double value);
1083
1084 public:
1085 // optional double relative_cost_perturbation = 54 [default = 1e-05];
1086 bool has_relative_cost_perturbation() const;
1088 double relative_cost_perturbation() const;
1089 void set_relative_cost_perturbation(double value);
1090
1091 private:
1092 double _internal_relative_cost_perturbation() const;
1093 void _internal_set_relative_cost_perturbation(double value);
1094
1095 public:
1096 // optional double relative_max_cost_perturbation = 55 [default = 1e-07];
1099 double relative_max_cost_perturbation() const;
1100 void set_relative_max_cost_perturbation(double value);
1101
1102 private:
1103 double _internal_relative_max_cost_perturbation() const;
1104 void _internal_set_relative_max_cost_perturbation(double value);
1105
1106 public:
1107 // optional double max_number_of_reoptimizations = 56 [default = 40];
1110 double max_number_of_reoptimizations() const;
1111 void set_max_number_of_reoptimizations(double value);
1112
1113 private:
1114 double _internal_max_number_of_reoptimizations() const;
1115 void _internal_set_max_number_of_reoptimizations(double value);
1116
1117 public:
1118 // optional double initial_condition_number_threshold = 59 [default = 1e+50];
1122 void set_initial_condition_number_threshold(double value);
1123
1124 private:
1125 double _internal_initial_condition_number_threshold() const;
1126 void _internal_set_initial_condition_number_threshold(double value);
1127
1128 public:
1129 // optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
1130 bool has_cost_scaling() const;
1131 void clear_cost_scaling() ;
1134
1135 private:
1137 void _internal_set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value);
1138
1139 public:
1140 // optional bool use_dedicated_dual_feasibility_algorithm = 62 [default = true];
1145
1146 private:
1147 bool _internal_use_dedicated_dual_feasibility_algorithm() const;
1148 void _internal_set_use_dedicated_dual_feasibility_algorithm(bool value);
1149
1150 public:
1151 // optional bool dynamically_adjust_refactorization_period = 63 [default = true];
1156
1157 private:
1158 bool _internal_dynamically_adjust_refactorization_period() const;
1159 void _internal_set_dynamically_adjust_refactorization_period(bool value);
1160
1161 public:
1162 // optional bool push_to_vertex = 65 [default = true];
1163 bool has_push_to_vertex() const;
1164 void clear_push_to_vertex() ;
1165 bool push_to_vertex() const;
1166 void set_push_to_vertex(bool value);
1167
1168 private:
1169 bool _internal_push_to_vertex() const;
1170 void _internal_set_push_to_vertex(bool value);
1171
1172 public:
1173 // optional bool log_to_stdout = 66 [default = true];
1174 bool has_log_to_stdout() const;
1175 void clear_log_to_stdout() ;
1176 bool log_to_stdout() const;
1177 void set_log_to_stdout(bool value);
1178
1179 private:
1180 bool _internal_log_to_stdout() const;
1181 void _internal_set_log_to_stdout(bool value);
1182
1183 public:
1184 // optional double crossover_bound_snapping_distance = 64 [default = inf];
1187 double crossover_bound_snapping_distance() const;
1188 void set_crossover_bound_snapping_distance(double value);
1189
1190 private:
1191 double _internal_crossover_bound_snapping_distance() const;
1192 void _internal_set_crossover_bound_snapping_distance(double value);
1193
1194 public:
1195 // optional double max_valid_magnitude = 70 [default = 1e+30];
1196 bool has_max_valid_magnitude() const;
1198 double max_valid_magnitude() const;
1199 void set_max_valid_magnitude(double value);
1200
1201 private:
1202 double _internal_max_valid_magnitude() const;
1203 void _internal_set_max_valid_magnitude(double value);
1204
1205 public:
1206 // optional double drop_magnitude = 71 [default = 1e-30];
1207 bool has_drop_magnitude() const;
1208 void clear_drop_magnitude() ;
1209 double drop_magnitude() const;
1210 void set_drop_magnitude(double value);
1211
1212 private:
1213 double _internal_drop_magnitude() const;
1214 void _internal_set_drop_magnitude(double value);
1215
1216 public:
1217 // optional bool use_implied_free_preprocessor = 67 [default = true];
1220 bool use_implied_free_preprocessor() const;
1221 void set_use_implied_free_preprocessor(bool value);
1222
1223 private:
1224 bool _internal_use_implied_free_preprocessor() const;
1225 void _internal_set_use_implied_free_preprocessor(bool value);
1226
1227 public:
1228 // @@protoc_insertion_point(class_scope:operations_research.glop.GlopParameters)
1229 private:
1230 class _Internal;
1231 friend class ::google::protobuf::internal::TcParser;
1232 static const ::google::protobuf::internal::TcParseTable<5, 59,
1233 6, 0,
1234 11>
1235 _table_;
1236
1237 friend class ::google::protobuf::MessageLite;
1238 friend class ::google::protobuf::Arena;
1239 template <typename T>
1240 friend class ::google::protobuf::Arena::InternalHelper;
1241 using InternalArenaConstructable_ = void;
1242 using DestructorSkippable_ = void;
1243 struct Impl_ {
1244 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1245 inline explicit Impl_(
1246 ::google::protobuf::internal::InternalVisibility visibility,
1247 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1248 inline explicit Impl_(
1249 ::google::protobuf::internal::InternalVisibility visibility,
1250 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1251 const GlopParameters& from_msg);
1252 ::google::protobuf::internal::HasBits<2> _has_bits_;
1253 ::google::protobuf::internal::CachedSize _cached_size_;
1254 bool use_dual_simplex_;
1255 bool allow_simplex_algorithm_change_;
1256 bool perturb_costs_in_dual_simplex_;
1257 bool log_search_progress_;
1258 bool dual_price_prioritize_norm_;
1259 bool use_absl_random_;
1260 int feasibility_rule_;
1261 int optimization_rule_;
1262 double refactorization_threshold_;
1263 double recompute_reduced_costs_threshold_;
1264 double recompute_edges_norm_threshold_;
1265 double primal_feasibility_tolerance_;
1266 double dual_feasibility_tolerance_;
1267 double ratio_test_zero_threshold_;
1268 double harris_tolerance_ratio_;
1269 double small_pivot_threshold_;
1270 double minimum_acceptable_pivot_;
1271 int initial_basis_;
1272 ::int32_t basis_refactorization_period_;
1273 double dualizer_threshold_;
1274 double solution_feasibility_tolerance_;
1275 int solve_dual_problem_;
1276 bool use_scaling_;
1277 bool use_transposed_matrix_;
1278 bool provide_strong_optimal_guarantee_;
1279 bool use_preprocessing_;
1280 double lu_factorization_pivot_threshold_;
1281 double max_time_in_seconds_;
1282 ::int64_t max_number_of_iterations_;
1283 double markowitz_singularity_threshold_;
1284 ::int32_t markowitz_zlatev_parameter_;
1285 ::int32_t devex_weights_reset_period_;
1286 double dual_small_pivot_threshold_;
1287 double preprocessor_zero_tolerance_;
1288 double objective_lower_limit_;
1289 double objective_upper_limit_;
1290 bool use_middle_product_form_update_;
1291 bool initialize_devex_with_column_norms_;
1292 bool exploit_singleton_column_in_initial_basis_;
1293 bool change_status_to_imprecise_;
1294 ::int32_t random_seed_;
1295 double degenerate_ministep_factor_;
1296 double max_deterministic_time_;
1297 ::int32_t num_omp_threads_;
1298 int scaling_method_;
1299 double drop_tolerance_;
1300 double relative_cost_perturbation_;
1301 double relative_max_cost_perturbation_;
1302 double max_number_of_reoptimizations_;
1303 double initial_condition_number_threshold_;
1304 int cost_scaling_;
1305 bool use_dedicated_dual_feasibility_algorithm_;
1306 bool dynamically_adjust_refactorization_period_;
1307 bool push_to_vertex_;
1308 bool log_to_stdout_;
1309 double crossover_bound_snapping_distance_;
1310 double max_valid_magnitude_;
1311 double drop_magnitude_;
1312 bool use_implied_free_preprocessor_;
1313 PROTOBUF_TSAN_DECLARE_MEMBER
1314 };
1315 union { Impl_ _impl_; };
1316 friend struct ::TableStruct_ortools_2fglop_2fparameters_2eproto;
1319OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull GlopParameters_class_data_;
1320
1321// ===================================================================
1322
1323
1324
1325
1326// ===================================================================
1327
1328
1329#ifdef __GNUC__
1330#pragma GCC diagnostic push
1331#pragma GCC diagnostic ignored "-Wstrict-aliasing"
1332#endif // __GNUC__
1333// -------------------------------------------------------------------
1334
1335// GlopParameters
1336
1337// optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQUILIBRATION];
1338inline bool GlopParameters::has_scaling_method() const {
1339 bool value = (_impl_._has_bits_[1] & 0x00001000u) != 0;
1340 return value;
1341}
1343 ::google::protobuf::internal::TSanWrite(&_impl_);
1344 _impl_.scaling_method_ = 1;
1345 _impl_._has_bits_[1] &= ~0x00001000u;
1346}
1347inline ::operations_research::glop::GlopParameters_ScalingAlgorithm GlopParameters::scaling_method() const {
1348 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.scaling_method)
1349 return _internal_scaling_method();
1350}
1352 _internal_set_scaling_method(value);
1353 _impl_._has_bits_[1] |= 0x00001000u;
1354 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.scaling_method)
1355}
1356inline ::operations_research::glop::GlopParameters_ScalingAlgorithm GlopParameters::_internal_scaling_method() const {
1357 ::google::protobuf::internal::TSanRead(&_impl_);
1358 return static_cast<::operations_research::glop::GlopParameters_ScalingAlgorithm>(_impl_.scaling_method_);
1359}
1360inline void GlopParameters::_internal_set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value) {
1361 ::google::protobuf::internal::TSanWrite(&_impl_);
1362
1363 assert(::google::protobuf::internal::ValidateEnum(
1365 _impl_.scaling_method_ = value;
1366}
1367
1368// optional .operations_research.glop.GlopParameters.PricingRule feasibility_rule = 1 [default = STEEPEST_EDGE];
1369inline bool GlopParameters::has_feasibility_rule() const {
1370 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
1371 return value;
1372}
1374 ::google::protobuf::internal::TSanWrite(&_impl_);
1375 _impl_.feasibility_rule_ = 1;
1376 _impl_._has_bits_[0] &= ~0x00000040u;
1377}
1378inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::feasibility_rule() const {
1379 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.feasibility_rule)
1380 return _internal_feasibility_rule();
1381}
1383 _internal_set_feasibility_rule(value);
1384 _impl_._has_bits_[0] |= 0x00000040u;
1385 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.feasibility_rule)
1386}
1387inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::_internal_feasibility_rule() const {
1388 ::google::protobuf::internal::TSanRead(&_impl_);
1389 return static_cast<::operations_research::glop::GlopParameters_PricingRule>(_impl_.feasibility_rule_);
1390}
1391inline void GlopParameters::_internal_set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1392 ::google::protobuf::internal::TSanWrite(&_impl_);
1393
1394 assert(::google::protobuf::internal::ValidateEnum(
1396 _impl_.feasibility_rule_ = value;
1397}
1398
1399// optional .operations_research.glop.GlopParameters.PricingRule optimization_rule = 2 [default = STEEPEST_EDGE];
1400inline bool GlopParameters::has_optimization_rule() const {
1401 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
1402 return value;
1403}
1405 ::google::protobuf::internal::TSanWrite(&_impl_);
1406 _impl_.optimization_rule_ = 1;
1407 _impl_._has_bits_[0] &= ~0x00000080u;
1408}
1409inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::optimization_rule() const {
1410 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.optimization_rule)
1411 return _internal_optimization_rule();
1412}
1414 _internal_set_optimization_rule(value);
1415 _impl_._has_bits_[0] |= 0x00000080u;
1416 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.optimization_rule)
1417}
1418inline ::operations_research::glop::GlopParameters_PricingRule GlopParameters::_internal_optimization_rule() const {
1419 ::google::protobuf::internal::TSanRead(&_impl_);
1420 return static_cast<::operations_research::glop::GlopParameters_PricingRule>(_impl_.optimization_rule_);
1421}
1422inline void GlopParameters::_internal_set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value) {
1423 ::google::protobuf::internal::TSanWrite(&_impl_);
1424
1425 assert(::google::protobuf::internal::ValidateEnum(
1427 _impl_.optimization_rule_ = value;
1428}
1429
1430// optional double refactorization_threshold = 6 [default = 1e-09];
1432 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
1433 return value;
1434}
1436 ::google::protobuf::internal::TSanWrite(&_impl_);
1437 _impl_.refactorization_threshold_ = 1e-09;
1438 _impl_._has_bits_[0] &= ~0x00000100u;
1439}
1441 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.refactorization_threshold)
1442 return _internal_refactorization_threshold();
1443}
1444inline void GlopParameters::set_refactorization_threshold(double value) {
1445 _internal_set_refactorization_threshold(value);
1446 _impl_._has_bits_[0] |= 0x00000100u;
1447 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.refactorization_threshold)
1448}
1449inline double GlopParameters::_internal_refactorization_threshold() const {
1450 ::google::protobuf::internal::TSanRead(&_impl_);
1451 return _impl_.refactorization_threshold_;
1452}
1453inline void GlopParameters::_internal_set_refactorization_threshold(double value) {
1454 ::google::protobuf::internal::TSanWrite(&_impl_);
1455 _impl_.refactorization_threshold_ = value;
1456}
1457
1458// optional double recompute_reduced_costs_threshold = 8 [default = 1e-08];
1460 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
1461 return value;
1462}
1464 ::google::protobuf::internal::TSanWrite(&_impl_);
1465 _impl_.recompute_reduced_costs_threshold_ = 1e-08;
1466 _impl_._has_bits_[0] &= ~0x00000200u;
1467}
1469 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.recompute_reduced_costs_threshold)
1470 return _internal_recompute_reduced_costs_threshold();
1471}
1473 _internal_set_recompute_reduced_costs_threshold(value);
1474 _impl_._has_bits_[0] |= 0x00000200u;
1475 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.recompute_reduced_costs_threshold)
1476}
1477inline double GlopParameters::_internal_recompute_reduced_costs_threshold() const {
1478 ::google::protobuf::internal::TSanRead(&_impl_);
1479 return _impl_.recompute_reduced_costs_threshold_;
1480}
1481inline void GlopParameters::_internal_set_recompute_reduced_costs_threshold(double value) {
1482 ::google::protobuf::internal::TSanWrite(&_impl_);
1483 _impl_.recompute_reduced_costs_threshold_ = value;
1484}
1485
1486// optional double recompute_edges_norm_threshold = 9 [default = 100];
1488 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
1489 return value;
1490}
1492 ::google::protobuf::internal::TSanWrite(&_impl_);
1493 _impl_.recompute_edges_norm_threshold_ = 100;
1494 _impl_._has_bits_[0] &= ~0x00000400u;
1495}
1497 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.recompute_edges_norm_threshold)
1498 return _internal_recompute_edges_norm_threshold();
1499}
1501 _internal_set_recompute_edges_norm_threshold(value);
1502 _impl_._has_bits_[0] |= 0x00000400u;
1503 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.recompute_edges_norm_threshold)
1504}
1505inline double GlopParameters::_internal_recompute_edges_norm_threshold() const {
1506 ::google::protobuf::internal::TSanRead(&_impl_);
1507 return _impl_.recompute_edges_norm_threshold_;
1508}
1509inline void GlopParameters::_internal_set_recompute_edges_norm_threshold(double value) {
1510 ::google::protobuf::internal::TSanWrite(&_impl_);
1511 _impl_.recompute_edges_norm_threshold_ = value;
1512}
1513
1514// optional double primal_feasibility_tolerance = 10 [default = 1e-08];
1516 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
1517 return value;
1518}
1520 ::google::protobuf::internal::TSanWrite(&_impl_);
1521 _impl_.primal_feasibility_tolerance_ = 1e-08;
1522 _impl_._has_bits_[0] &= ~0x00000800u;
1523}
1525 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.primal_feasibility_tolerance)
1526 return _internal_primal_feasibility_tolerance();
1527}
1528inline void GlopParameters::set_primal_feasibility_tolerance(double value) {
1529 _internal_set_primal_feasibility_tolerance(value);
1530 _impl_._has_bits_[0] |= 0x00000800u;
1531 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.primal_feasibility_tolerance)
1532}
1533inline double GlopParameters::_internal_primal_feasibility_tolerance() const {
1534 ::google::protobuf::internal::TSanRead(&_impl_);
1535 return _impl_.primal_feasibility_tolerance_;
1536}
1537inline void GlopParameters::_internal_set_primal_feasibility_tolerance(double value) {
1538 ::google::protobuf::internal::TSanWrite(&_impl_);
1539 _impl_.primal_feasibility_tolerance_ = value;
1540}
1541
1542// optional double dual_feasibility_tolerance = 11 [default = 1e-08];
1544 bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
1545 return value;
1546}
1548 ::google::protobuf::internal::TSanWrite(&_impl_);
1549 _impl_.dual_feasibility_tolerance_ = 1e-08;
1550 _impl_._has_bits_[0] &= ~0x00001000u;
1551}
1553 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dual_feasibility_tolerance)
1554 return _internal_dual_feasibility_tolerance();
1555}
1556inline void GlopParameters::set_dual_feasibility_tolerance(double value) {
1557 _internal_set_dual_feasibility_tolerance(value);
1558 _impl_._has_bits_[0] |= 0x00001000u;
1559 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dual_feasibility_tolerance)
1560}
1561inline double GlopParameters::_internal_dual_feasibility_tolerance() const {
1562 ::google::protobuf::internal::TSanRead(&_impl_);
1563 return _impl_.dual_feasibility_tolerance_;
1564}
1565inline void GlopParameters::_internal_set_dual_feasibility_tolerance(double value) {
1566 ::google::protobuf::internal::TSanWrite(&_impl_);
1567 _impl_.dual_feasibility_tolerance_ = value;
1568}
1569
1570// optional double ratio_test_zero_threshold = 12 [default = 1e-09];
1572 bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
1573 return value;
1574}
1576 ::google::protobuf::internal::TSanWrite(&_impl_);
1577 _impl_.ratio_test_zero_threshold_ = 1e-09;
1578 _impl_._has_bits_[0] &= ~0x00002000u;
1579}
1581 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.ratio_test_zero_threshold)
1582 return _internal_ratio_test_zero_threshold();
1583}
1584inline void GlopParameters::set_ratio_test_zero_threshold(double value) {
1585 _internal_set_ratio_test_zero_threshold(value);
1586 _impl_._has_bits_[0] |= 0x00002000u;
1587 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.ratio_test_zero_threshold)
1588}
1589inline double GlopParameters::_internal_ratio_test_zero_threshold() const {
1590 ::google::protobuf::internal::TSanRead(&_impl_);
1591 return _impl_.ratio_test_zero_threshold_;
1592}
1593inline void GlopParameters::_internal_set_ratio_test_zero_threshold(double value) {
1594 ::google::protobuf::internal::TSanWrite(&_impl_);
1595 _impl_.ratio_test_zero_threshold_ = value;
1596}
1597
1598// optional double harris_tolerance_ratio = 13 [default = 0.5];
1600 bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
1601 return value;
1602}
1604 ::google::protobuf::internal::TSanWrite(&_impl_);
1605 _impl_.harris_tolerance_ratio_ = 0.5;
1606 _impl_._has_bits_[0] &= ~0x00004000u;
1607}
1609 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.harris_tolerance_ratio)
1610 return _internal_harris_tolerance_ratio();
1611}
1612inline void GlopParameters::set_harris_tolerance_ratio(double value) {
1613 _internal_set_harris_tolerance_ratio(value);
1614 _impl_._has_bits_[0] |= 0x00004000u;
1615 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.harris_tolerance_ratio)
1616}
1617inline double GlopParameters::_internal_harris_tolerance_ratio() const {
1618 ::google::protobuf::internal::TSanRead(&_impl_);
1619 return _impl_.harris_tolerance_ratio_;
1620}
1621inline void GlopParameters::_internal_set_harris_tolerance_ratio(double value) {
1622 ::google::protobuf::internal::TSanWrite(&_impl_);
1623 _impl_.harris_tolerance_ratio_ = value;
1624}
1625
1626// optional double small_pivot_threshold = 14 [default = 1e-06];
1628 bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
1629 return value;
1630}
1632 ::google::protobuf::internal::TSanWrite(&_impl_);
1633 _impl_.small_pivot_threshold_ = 1e-06;
1634 _impl_._has_bits_[0] &= ~0x00008000u;
1635}
1637 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.small_pivot_threshold)
1638 return _internal_small_pivot_threshold();
1639}
1640inline void GlopParameters::set_small_pivot_threshold(double value) {
1641 _internal_set_small_pivot_threshold(value);
1642 _impl_._has_bits_[0] |= 0x00008000u;
1643 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.small_pivot_threshold)
1644}
1645inline double GlopParameters::_internal_small_pivot_threshold() const {
1646 ::google::protobuf::internal::TSanRead(&_impl_);
1647 return _impl_.small_pivot_threshold_;
1648}
1649inline void GlopParameters::_internal_set_small_pivot_threshold(double value) {
1650 ::google::protobuf::internal::TSanWrite(&_impl_);
1651 _impl_.small_pivot_threshold_ = value;
1652}
1653
1654// optional double minimum_acceptable_pivot = 15 [default = 1e-06];
1656 bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
1657 return value;
1658}
1660 ::google::protobuf::internal::TSanWrite(&_impl_);
1661 _impl_.minimum_acceptable_pivot_ = 1e-06;
1662 _impl_._has_bits_[0] &= ~0x00010000u;
1663}
1665 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.minimum_acceptable_pivot)
1666 return _internal_minimum_acceptable_pivot();
1667}
1668inline void GlopParameters::set_minimum_acceptable_pivot(double value) {
1669 _internal_set_minimum_acceptable_pivot(value);
1670 _impl_._has_bits_[0] |= 0x00010000u;
1671 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.minimum_acceptable_pivot)
1672}
1673inline double GlopParameters::_internal_minimum_acceptable_pivot() const {
1674 ::google::protobuf::internal::TSanRead(&_impl_);
1675 return _impl_.minimum_acceptable_pivot_;
1676}
1677inline void GlopParameters::_internal_set_minimum_acceptable_pivot(double value) {
1678 ::google::protobuf::internal::TSanWrite(&_impl_);
1679 _impl_.minimum_acceptable_pivot_ = value;
1680}
1681
1682// optional double drop_tolerance = 52 [default = 1e-14];
1683inline bool GlopParameters::has_drop_tolerance() const {
1684 bool value = (_impl_._has_bits_[1] & 0x00002000u) != 0;
1685 return value;
1686}
1688 ::google::protobuf::internal::TSanWrite(&_impl_);
1689 _impl_.drop_tolerance_ = 1e-14;
1690 _impl_._has_bits_[1] &= ~0x00002000u;
1691}
1692inline double GlopParameters::drop_tolerance() const {
1693 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.drop_tolerance)
1694 return _internal_drop_tolerance();
1695}
1696inline void GlopParameters::set_drop_tolerance(double value) {
1697 _internal_set_drop_tolerance(value);
1698 _impl_._has_bits_[1] |= 0x00002000u;
1699 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.drop_tolerance)
1700}
1701inline double GlopParameters::_internal_drop_tolerance() const {
1702 ::google::protobuf::internal::TSanRead(&_impl_);
1703 return _impl_.drop_tolerance_;
1704}
1705inline void GlopParameters::_internal_set_drop_tolerance(double value) {
1706 ::google::protobuf::internal::TSanWrite(&_impl_);
1707 _impl_.drop_tolerance_ = value;
1708}
1709
1710// optional bool use_scaling = 16 [default = true];
1711inline bool GlopParameters::has_use_scaling() const {
1712 bool value = (_impl_._has_bits_[0] & 0x00400000u) != 0;
1713 return value;
1714}
1716 ::google::protobuf::internal::TSanWrite(&_impl_);
1717 _impl_.use_scaling_ = true;
1718 _impl_._has_bits_[0] &= ~0x00400000u;
1719}
1720inline bool GlopParameters::use_scaling() const {
1721 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_scaling)
1722 return _internal_use_scaling();
1723}
1724inline void GlopParameters::set_use_scaling(bool value) {
1725 _internal_set_use_scaling(value);
1726 _impl_._has_bits_[0] |= 0x00400000u;
1727 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_scaling)
1728}
1729inline bool GlopParameters::_internal_use_scaling() const {
1730 ::google::protobuf::internal::TSanRead(&_impl_);
1731 return _impl_.use_scaling_;
1732}
1733inline void GlopParameters::_internal_set_use_scaling(bool value) {
1734 ::google::protobuf::internal::TSanWrite(&_impl_);
1735 _impl_.use_scaling_ = value;
1736}
1737
1738// optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = CONTAIN_ONE_COST_SCALING];
1739inline bool GlopParameters::has_cost_scaling() const {
1740 bool value = (_impl_._has_bits_[1] & 0x00040000u) != 0;
1741 return value;
1742}
1744 ::google::protobuf::internal::TSanWrite(&_impl_);
1745 _impl_.cost_scaling_ = 1;
1746 _impl_._has_bits_[1] &= ~0x00040000u;
1747}
1748inline ::operations_research::glop::GlopParameters_CostScalingAlgorithm GlopParameters::cost_scaling() const {
1749 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.cost_scaling)
1750 return _internal_cost_scaling();
1751}
1753 _internal_set_cost_scaling(value);
1754 _impl_._has_bits_[1] |= 0x00040000u;
1755 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.cost_scaling)
1756}
1757inline ::operations_research::glop::GlopParameters_CostScalingAlgorithm GlopParameters::_internal_cost_scaling() const {
1758 ::google::protobuf::internal::TSanRead(&_impl_);
1760}
1761inline void GlopParameters::_internal_set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value) {
1762 ::google::protobuf::internal::TSanWrite(&_impl_);
1763
1764 assert(::google::protobuf::internal::ValidateEnum(
1766 _impl_.cost_scaling_ = value;
1767}
1768
1769// optional .operations_research.glop.GlopParameters.InitialBasisHeuristic initial_basis = 17 [default = TRIANGULAR];
1770inline bool GlopParameters::has_initial_basis() const {
1771 bool value = (_impl_._has_bits_[0] & 0x00020000u) != 0;
1772 return value;
1773}
1775 ::google::protobuf::internal::TSanWrite(&_impl_);
1776 _impl_.initial_basis_ = 2;
1777 _impl_._has_bits_[0] &= ~0x00020000u;
1778}
1779inline ::operations_research::glop::GlopParameters_InitialBasisHeuristic GlopParameters::initial_basis() const {
1780 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initial_basis)
1781 return _internal_initial_basis();
1782}
1784 _internal_set_initial_basis(value);
1785 _impl_._has_bits_[0] |= 0x00020000u;
1786 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initial_basis)
1787}
1788inline ::operations_research::glop::GlopParameters_InitialBasisHeuristic GlopParameters::_internal_initial_basis() const {
1789 ::google::protobuf::internal::TSanRead(&_impl_);
1790 return static_cast<::operations_research::glop::GlopParameters_InitialBasisHeuristic>(_impl_.initial_basis_);
1791}
1792inline void GlopParameters::_internal_set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value) {
1793 ::google::protobuf::internal::TSanWrite(&_impl_);
1794
1795 assert(::google::protobuf::internal::ValidateEnum(
1797 _impl_.initial_basis_ = value;
1798}
1799
1800// optional bool use_transposed_matrix = 18 [default = true];
1802 bool value = (_impl_._has_bits_[0] & 0x00800000u) != 0;
1803 return value;
1804}
1806 ::google::protobuf::internal::TSanWrite(&_impl_);
1807 _impl_.use_transposed_matrix_ = true;
1808 _impl_._has_bits_[0] &= ~0x00800000u;
1809}
1811 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_transposed_matrix)
1812 return _internal_use_transposed_matrix();
1813}
1814inline void GlopParameters::set_use_transposed_matrix(bool value) {
1815 _internal_set_use_transposed_matrix(value);
1816 _impl_._has_bits_[0] |= 0x00800000u;
1817 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_transposed_matrix)
1818}
1819inline bool GlopParameters::_internal_use_transposed_matrix() const {
1820 ::google::protobuf::internal::TSanRead(&_impl_);
1821 return _impl_.use_transposed_matrix_;
1822}
1823inline void GlopParameters::_internal_set_use_transposed_matrix(bool value) {
1824 ::google::protobuf::internal::TSanWrite(&_impl_);
1825 _impl_.use_transposed_matrix_ = value;
1826}
1827
1828// optional int32 basis_refactorization_period = 19 [default = 64];
1830 bool value = (_impl_._has_bits_[0] & 0x00040000u) != 0;
1831 return value;
1832}
1834 ::google::protobuf::internal::TSanWrite(&_impl_);
1835 _impl_.basis_refactorization_period_ = 64;
1836 _impl_._has_bits_[0] &= ~0x00040000u;
1837}
1839 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.basis_refactorization_period)
1840 return _internal_basis_refactorization_period();
1841}
1842inline void GlopParameters::set_basis_refactorization_period(::int32_t value) {
1843 _internal_set_basis_refactorization_period(value);
1844 _impl_._has_bits_[0] |= 0x00040000u;
1845 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.basis_refactorization_period)
1846}
1847inline ::int32_t GlopParameters::_internal_basis_refactorization_period() const {
1848 ::google::protobuf::internal::TSanRead(&_impl_);
1849 return _impl_.basis_refactorization_period_;
1850}
1851inline void GlopParameters::_internal_set_basis_refactorization_period(::int32_t value) {
1852 ::google::protobuf::internal::TSanWrite(&_impl_);
1853 _impl_.basis_refactorization_period_ = value;
1854}
1855
1856// optional bool dynamically_adjust_refactorization_period = 63 [default = true];
1858 bool value = (_impl_._has_bits_[1] & 0x00100000u) != 0;
1859 return value;
1860}
1862 ::google::protobuf::internal::TSanWrite(&_impl_);
1863 _impl_.dynamically_adjust_refactorization_period_ = true;
1864 _impl_._has_bits_[1] &= ~0x00100000u;
1865}
1867 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dynamically_adjust_refactorization_period)
1868 return _internal_dynamically_adjust_refactorization_period();
1869}
1871 _internal_set_dynamically_adjust_refactorization_period(value);
1872 _impl_._has_bits_[1] |= 0x00100000u;
1873 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dynamically_adjust_refactorization_period)
1874}
1875inline bool GlopParameters::_internal_dynamically_adjust_refactorization_period() const {
1876 ::google::protobuf::internal::TSanRead(&_impl_);
1877 return _impl_.dynamically_adjust_refactorization_period_;
1878}
1879inline void GlopParameters::_internal_set_dynamically_adjust_refactorization_period(bool value) {
1880 ::google::protobuf::internal::TSanWrite(&_impl_);
1881 _impl_.dynamically_adjust_refactorization_period_ = value;
1882}
1883
1884// optional .operations_research.glop.GlopParameters.SolverBehavior solve_dual_problem = 20 [default = LET_SOLVER_DECIDE];
1885inline bool GlopParameters::has_solve_dual_problem() const {
1886 bool value = (_impl_._has_bits_[0] & 0x00200000u) != 0;
1887 return value;
1888}
1890 ::google::protobuf::internal::TSanWrite(&_impl_);
1891 _impl_.solve_dual_problem_ = 2;
1892 _impl_._has_bits_[0] &= ~0x00200000u;
1893}
1894inline ::operations_research::glop::GlopParameters_SolverBehavior GlopParameters::solve_dual_problem() const {
1895 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.solve_dual_problem)
1896 return _internal_solve_dual_problem();
1897}
1899 _internal_set_solve_dual_problem(value);
1900 _impl_._has_bits_[0] |= 0x00200000u;
1901 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.solve_dual_problem)
1902}
1903inline ::operations_research::glop::GlopParameters_SolverBehavior GlopParameters::_internal_solve_dual_problem() const {
1904 ::google::protobuf::internal::TSanRead(&_impl_);
1905 return static_cast<::operations_research::glop::GlopParameters_SolverBehavior>(_impl_.solve_dual_problem_);
1906}
1907inline void GlopParameters::_internal_set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value) {
1908 ::google::protobuf::internal::TSanWrite(&_impl_);
1909
1910 assert(::google::protobuf::internal::ValidateEnum(
1912 _impl_.solve_dual_problem_ = value;
1913}
1914
1915// optional double dualizer_threshold = 21 [default = 1.5];
1916inline bool GlopParameters::has_dualizer_threshold() const {
1917 bool value = (_impl_._has_bits_[0] & 0x00080000u) != 0;
1918 return value;
1919}
1921 ::google::protobuf::internal::TSanWrite(&_impl_);
1922 _impl_.dualizer_threshold_ = 1.5;
1923 _impl_._has_bits_[0] &= ~0x00080000u;
1924}
1926 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dualizer_threshold)
1927 return _internal_dualizer_threshold();
1928}
1929inline void GlopParameters::set_dualizer_threshold(double value) {
1930 _internal_set_dualizer_threshold(value);
1931 _impl_._has_bits_[0] |= 0x00080000u;
1932 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dualizer_threshold)
1933}
1934inline double GlopParameters::_internal_dualizer_threshold() const {
1935 ::google::protobuf::internal::TSanRead(&_impl_);
1936 return _impl_.dualizer_threshold_;
1937}
1938inline void GlopParameters::_internal_set_dualizer_threshold(double value) {
1939 ::google::protobuf::internal::TSanWrite(&_impl_);
1940 _impl_.dualizer_threshold_ = value;
1941}
1942
1943// optional double solution_feasibility_tolerance = 22 [default = 1e-06];
1945 bool value = (_impl_._has_bits_[0] & 0x00100000u) != 0;
1946 return value;
1947}
1949 ::google::protobuf::internal::TSanWrite(&_impl_);
1950 _impl_.solution_feasibility_tolerance_ = 1e-06;
1951 _impl_._has_bits_[0] &= ~0x00100000u;
1952}
1954 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.solution_feasibility_tolerance)
1955 return _internal_solution_feasibility_tolerance();
1956}
1958 _internal_set_solution_feasibility_tolerance(value);
1959 _impl_._has_bits_[0] |= 0x00100000u;
1960 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.solution_feasibility_tolerance)
1961}
1962inline double GlopParameters::_internal_solution_feasibility_tolerance() const {
1963 ::google::protobuf::internal::TSanRead(&_impl_);
1964 return _impl_.solution_feasibility_tolerance_;
1965}
1966inline void GlopParameters::_internal_set_solution_feasibility_tolerance(double value) {
1967 ::google::protobuf::internal::TSanWrite(&_impl_);
1968 _impl_.solution_feasibility_tolerance_ = value;
1969}
1970
1971// optional bool provide_strong_optimal_guarantee = 24 [default = true];
1973 bool value = (_impl_._has_bits_[0] & 0x01000000u) != 0;
1974 return value;
1975}
1977 ::google::protobuf::internal::TSanWrite(&_impl_);
1978 _impl_.provide_strong_optimal_guarantee_ = true;
1979 _impl_._has_bits_[0] &= ~0x01000000u;
1980}
1982 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.provide_strong_optimal_guarantee)
1983 return _internal_provide_strong_optimal_guarantee();
1984}
1986 _internal_set_provide_strong_optimal_guarantee(value);
1987 _impl_._has_bits_[0] |= 0x01000000u;
1988 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.provide_strong_optimal_guarantee)
1989}
1990inline bool GlopParameters::_internal_provide_strong_optimal_guarantee() const {
1991 ::google::protobuf::internal::TSanRead(&_impl_);
1992 return _impl_.provide_strong_optimal_guarantee_;
1993}
1994inline void GlopParameters::_internal_set_provide_strong_optimal_guarantee(bool value) {
1995 ::google::protobuf::internal::TSanWrite(&_impl_);
1996 _impl_.provide_strong_optimal_guarantee_ = value;
1997}
1998
1999// optional bool change_status_to_imprecise = 58 [default = true];
2001 bool value = (_impl_._has_bits_[1] & 0x00000080u) != 0;
2002 return value;
2003}
2005 ::google::protobuf::internal::TSanWrite(&_impl_);
2006 _impl_.change_status_to_imprecise_ = true;
2007 _impl_._has_bits_[1] &= ~0x00000080u;
2008}
2010 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.change_status_to_imprecise)
2011 return _internal_change_status_to_imprecise();
2012}
2013inline void GlopParameters::set_change_status_to_imprecise(bool value) {
2014 _internal_set_change_status_to_imprecise(value);
2015 _impl_._has_bits_[1] |= 0x00000080u;
2016 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.change_status_to_imprecise)
2017}
2018inline bool GlopParameters::_internal_change_status_to_imprecise() const {
2019 ::google::protobuf::internal::TSanRead(&_impl_);
2020 return _impl_.change_status_to_imprecise_;
2021}
2022inline void GlopParameters::_internal_set_change_status_to_imprecise(bool value) {
2023 ::google::protobuf::internal::TSanWrite(&_impl_);
2024 _impl_.change_status_to_imprecise_ = value;
2025}
2026
2027// optional double max_number_of_reoptimizations = 56 [default = 40];
2029 bool value = (_impl_._has_bits_[1] & 0x00010000u) != 0;
2030 return value;
2031}
2033 ::google::protobuf::internal::TSanWrite(&_impl_);
2034 _impl_.max_number_of_reoptimizations_ = 40;
2035 _impl_._has_bits_[1] &= ~0x00010000u;
2036}
2038 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_number_of_reoptimizations)
2039 return _internal_max_number_of_reoptimizations();
2040}
2041inline void GlopParameters::set_max_number_of_reoptimizations(double value) {
2042 _internal_set_max_number_of_reoptimizations(value);
2043 _impl_._has_bits_[1] |= 0x00010000u;
2044 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_number_of_reoptimizations)
2045}
2046inline double GlopParameters::_internal_max_number_of_reoptimizations() const {
2047 ::google::protobuf::internal::TSanRead(&_impl_);
2048 return _impl_.max_number_of_reoptimizations_;
2049}
2050inline void GlopParameters::_internal_set_max_number_of_reoptimizations(double value) {
2051 ::google::protobuf::internal::TSanWrite(&_impl_);
2052 _impl_.max_number_of_reoptimizations_ = value;
2053}
2054
2055// optional double lu_factorization_pivot_threshold = 25 [default = 0.01];
2057 bool value = (_impl_._has_bits_[0] & 0x04000000u) != 0;
2058 return value;
2059}
2061 ::google::protobuf::internal::TSanWrite(&_impl_);
2062 _impl_.lu_factorization_pivot_threshold_ = 0.01;
2063 _impl_._has_bits_[0] &= ~0x04000000u;
2064}
2066 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.lu_factorization_pivot_threshold)
2067 return _internal_lu_factorization_pivot_threshold();
2068}
2070 _internal_set_lu_factorization_pivot_threshold(value);
2071 _impl_._has_bits_[0] |= 0x04000000u;
2072 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.lu_factorization_pivot_threshold)
2073}
2074inline double GlopParameters::_internal_lu_factorization_pivot_threshold() const {
2075 ::google::protobuf::internal::TSanRead(&_impl_);
2076 return _impl_.lu_factorization_pivot_threshold_;
2077}
2078inline void GlopParameters::_internal_set_lu_factorization_pivot_threshold(double value) {
2079 ::google::protobuf::internal::TSanWrite(&_impl_);
2080 _impl_.lu_factorization_pivot_threshold_ = value;
2081}
2082
2083// optional double max_time_in_seconds = 26 [default = inf];
2084inline bool GlopParameters::has_max_time_in_seconds() const {
2085 bool value = (_impl_._has_bits_[0] & 0x08000000u) != 0;
2086 return value;
2087}
2089 ::google::protobuf::internal::TSanWrite(&_impl_);
2090 _impl_.max_time_in_seconds_ = std::numeric_limits<double>::infinity();
2091 _impl_._has_bits_[0] &= ~0x08000000u;
2092}
2094 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_time_in_seconds)
2095 return _internal_max_time_in_seconds();
2096}
2097inline void GlopParameters::set_max_time_in_seconds(double value) {
2098 _internal_set_max_time_in_seconds(value);
2099 _impl_._has_bits_[0] |= 0x08000000u;
2100 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_time_in_seconds)
2101}
2102inline double GlopParameters::_internal_max_time_in_seconds() const {
2103 ::google::protobuf::internal::TSanRead(&_impl_);
2104 return _impl_.max_time_in_seconds_;
2105}
2106inline void GlopParameters::_internal_set_max_time_in_seconds(double value) {
2107 ::google::protobuf::internal::TSanWrite(&_impl_);
2108 _impl_.max_time_in_seconds_ = value;
2109}
2110
2111// optional double max_deterministic_time = 45 [default = inf];
2113 bool value = (_impl_._has_bits_[1] & 0x00000400u) != 0;
2114 return value;
2115}
2117 ::google::protobuf::internal::TSanWrite(&_impl_);
2118 _impl_.max_deterministic_time_ = std::numeric_limits<double>::infinity();
2119 _impl_._has_bits_[1] &= ~0x00000400u;
2120}
2122 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_deterministic_time)
2123 return _internal_max_deterministic_time();
2124}
2125inline void GlopParameters::set_max_deterministic_time(double value) {
2126 _internal_set_max_deterministic_time(value);
2127 _impl_._has_bits_[1] |= 0x00000400u;
2128 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_deterministic_time)
2129}
2130inline double GlopParameters::_internal_max_deterministic_time() const {
2131 ::google::protobuf::internal::TSanRead(&_impl_);
2132 return _impl_.max_deterministic_time_;
2133}
2134inline void GlopParameters::_internal_set_max_deterministic_time(double value) {
2135 ::google::protobuf::internal::TSanWrite(&_impl_);
2136 _impl_.max_deterministic_time_ = value;
2137}
2138
2139// optional int64 max_number_of_iterations = 27 [default = -1];
2141 bool value = (_impl_._has_bits_[0] & 0x10000000u) != 0;
2142 return value;
2143}
2145 ::google::protobuf::internal::TSanWrite(&_impl_);
2146 _impl_.max_number_of_iterations_ = ::int64_t{-1};
2147 _impl_._has_bits_[0] &= ~0x10000000u;
2148}
2150 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_number_of_iterations)
2151 return _internal_max_number_of_iterations();
2152}
2153inline void GlopParameters::set_max_number_of_iterations(::int64_t value) {
2154 _internal_set_max_number_of_iterations(value);
2155 _impl_._has_bits_[0] |= 0x10000000u;
2156 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_number_of_iterations)
2157}
2158inline ::int64_t GlopParameters::_internal_max_number_of_iterations() const {
2159 ::google::protobuf::internal::TSanRead(&_impl_);
2160 return _impl_.max_number_of_iterations_;
2161}
2162inline void GlopParameters::_internal_set_max_number_of_iterations(::int64_t value) {
2163 ::google::protobuf::internal::TSanWrite(&_impl_);
2164 _impl_.max_number_of_iterations_ = value;
2165}
2166
2167// optional int32 markowitz_zlatev_parameter = 29 [default = 3];
2169 bool value = (_impl_._has_bits_[0] & 0x40000000u) != 0;
2170 return value;
2171}
2173 ::google::protobuf::internal::TSanWrite(&_impl_);
2174 _impl_.markowitz_zlatev_parameter_ = 3;
2175 _impl_._has_bits_[0] &= ~0x40000000u;
2176}
2178 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.markowitz_zlatev_parameter)
2179 return _internal_markowitz_zlatev_parameter();
2180}
2181inline void GlopParameters::set_markowitz_zlatev_parameter(::int32_t value) {
2182 _internal_set_markowitz_zlatev_parameter(value);
2183 _impl_._has_bits_[0] |= 0x40000000u;
2184 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.markowitz_zlatev_parameter)
2185}
2186inline ::int32_t GlopParameters::_internal_markowitz_zlatev_parameter() const {
2187 ::google::protobuf::internal::TSanRead(&_impl_);
2188 return _impl_.markowitz_zlatev_parameter_;
2189}
2190inline void GlopParameters::_internal_set_markowitz_zlatev_parameter(::int32_t value) {
2191 ::google::protobuf::internal::TSanWrite(&_impl_);
2192 _impl_.markowitz_zlatev_parameter_ = value;
2193}
2194
2195// optional double markowitz_singularity_threshold = 30 [default = 1e-15];
2197 bool value = (_impl_._has_bits_[0] & 0x20000000u) != 0;
2198 return value;
2199}
2201 ::google::protobuf::internal::TSanWrite(&_impl_);
2202 _impl_.markowitz_singularity_threshold_ = 1e-15;
2203 _impl_._has_bits_[0] &= ~0x20000000u;
2204}
2206 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.markowitz_singularity_threshold)
2207 return _internal_markowitz_singularity_threshold();
2208}
2210 _internal_set_markowitz_singularity_threshold(value);
2211 _impl_._has_bits_[0] |= 0x20000000u;
2212 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.markowitz_singularity_threshold)
2213}
2214inline double GlopParameters::_internal_markowitz_singularity_threshold() const {
2215 ::google::protobuf::internal::TSanRead(&_impl_);
2216 return _impl_.markowitz_singularity_threshold_;
2217}
2218inline void GlopParameters::_internal_set_markowitz_singularity_threshold(double value) {
2219 ::google::protobuf::internal::TSanWrite(&_impl_);
2220 _impl_.markowitz_singularity_threshold_ = value;
2221}
2222
2223// optional bool use_dual_simplex = 31 [default = false];
2224inline bool GlopParameters::has_use_dual_simplex() const {
2225 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2226 return value;
2227}
2229 ::google::protobuf::internal::TSanWrite(&_impl_);
2230 _impl_.use_dual_simplex_ = false;
2231 _impl_._has_bits_[0] &= ~0x00000001u;
2232}
2234 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_dual_simplex)
2235 return _internal_use_dual_simplex();
2236}
2237inline void GlopParameters::set_use_dual_simplex(bool value) {
2238 _internal_set_use_dual_simplex(value);
2239 _impl_._has_bits_[0] |= 0x00000001u;
2240 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_dual_simplex)
2241}
2242inline bool GlopParameters::_internal_use_dual_simplex() const {
2243 ::google::protobuf::internal::TSanRead(&_impl_);
2244 return _impl_.use_dual_simplex_;
2245}
2246inline void GlopParameters::_internal_set_use_dual_simplex(bool value) {
2247 ::google::protobuf::internal::TSanWrite(&_impl_);
2248 _impl_.use_dual_simplex_ = value;
2249}
2250
2251// optional bool allow_simplex_algorithm_change = 32 [default = false];
2253 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
2254 return value;
2255}
2257 ::google::protobuf::internal::TSanWrite(&_impl_);
2258 _impl_.allow_simplex_algorithm_change_ = false;
2259 _impl_._has_bits_[0] &= ~0x00000002u;
2260}
2262 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.allow_simplex_algorithm_change)
2263 return _internal_allow_simplex_algorithm_change();
2264}
2266 _internal_set_allow_simplex_algorithm_change(value);
2267 _impl_._has_bits_[0] |= 0x00000002u;
2268 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.allow_simplex_algorithm_change)
2269}
2270inline bool GlopParameters::_internal_allow_simplex_algorithm_change() const {
2271 ::google::protobuf::internal::TSanRead(&_impl_);
2272 return _impl_.allow_simplex_algorithm_change_;
2273}
2274inline void GlopParameters::_internal_set_allow_simplex_algorithm_change(bool value) {
2275 ::google::protobuf::internal::TSanWrite(&_impl_);
2276 _impl_.allow_simplex_algorithm_change_ = value;
2277}
2278
2279// optional int32 devex_weights_reset_period = 33 [default = 150];
2281 bool value = (_impl_._has_bits_[0] & 0x80000000u) != 0;
2282 return value;
2283}
2285 ::google::protobuf::internal::TSanWrite(&_impl_);
2286 _impl_.devex_weights_reset_period_ = 150;
2287 _impl_._has_bits_[0] &= ~0x80000000u;
2288}
2290 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.devex_weights_reset_period)
2291 return _internal_devex_weights_reset_period();
2292}
2293inline void GlopParameters::set_devex_weights_reset_period(::int32_t value) {
2294 _internal_set_devex_weights_reset_period(value);
2295 _impl_._has_bits_[0] |= 0x80000000u;
2296 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.devex_weights_reset_period)
2297}
2298inline ::int32_t GlopParameters::_internal_devex_weights_reset_period() const {
2299 ::google::protobuf::internal::TSanRead(&_impl_);
2300 return _impl_.devex_weights_reset_period_;
2301}
2302inline void GlopParameters::_internal_set_devex_weights_reset_period(::int32_t value) {
2303 ::google::protobuf::internal::TSanWrite(&_impl_);
2304 _impl_.devex_weights_reset_period_ = value;
2305}
2306
2307// optional bool use_preprocessing = 34 [default = true];
2308inline bool GlopParameters::has_use_preprocessing() const {
2309 bool value = (_impl_._has_bits_[0] & 0x02000000u) != 0;
2310 return value;
2311}
2313 ::google::protobuf::internal::TSanWrite(&_impl_);
2314 _impl_.use_preprocessing_ = true;
2315 _impl_._has_bits_[0] &= ~0x02000000u;
2316}
2318 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_preprocessing)
2319 return _internal_use_preprocessing();
2320}
2321inline void GlopParameters::set_use_preprocessing(bool value) {
2322 _internal_set_use_preprocessing(value);
2323 _impl_._has_bits_[0] |= 0x02000000u;
2324 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_preprocessing)
2325}
2326inline bool GlopParameters::_internal_use_preprocessing() const {
2327 ::google::protobuf::internal::TSanRead(&_impl_);
2328 return _impl_.use_preprocessing_;
2329}
2330inline void GlopParameters::_internal_set_use_preprocessing(bool value) {
2331 ::google::protobuf::internal::TSanWrite(&_impl_);
2332 _impl_.use_preprocessing_ = value;
2333}
2334
2335// optional bool use_middle_product_form_update = 35 [default = true];
2337 bool value = (_impl_._has_bits_[1] & 0x00000010u) != 0;
2338 return value;
2339}
2341 ::google::protobuf::internal::TSanWrite(&_impl_);
2342 _impl_.use_middle_product_form_update_ = true;
2343 _impl_._has_bits_[1] &= ~0x00000010u;
2344}
2346 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_middle_product_form_update)
2347 return _internal_use_middle_product_form_update();
2348}
2350 _internal_set_use_middle_product_form_update(value);
2351 _impl_._has_bits_[1] |= 0x00000010u;
2352 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_middle_product_form_update)
2353}
2354inline bool GlopParameters::_internal_use_middle_product_form_update() const {
2355 ::google::protobuf::internal::TSanRead(&_impl_);
2356 return _impl_.use_middle_product_form_update_;
2357}
2358inline void GlopParameters::_internal_set_use_middle_product_form_update(bool value) {
2359 ::google::protobuf::internal::TSanWrite(&_impl_);
2360 _impl_.use_middle_product_form_update_ = value;
2361}
2362
2363// optional bool initialize_devex_with_column_norms = 36 [default = true];
2365 bool value = (_impl_._has_bits_[1] & 0x00000020u) != 0;
2366 return value;
2367}
2369 ::google::protobuf::internal::TSanWrite(&_impl_);
2370 _impl_.initialize_devex_with_column_norms_ = true;
2371 _impl_._has_bits_[1] &= ~0x00000020u;
2372}
2374 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initialize_devex_with_column_norms)
2375 return _internal_initialize_devex_with_column_norms();
2376}
2378 _internal_set_initialize_devex_with_column_norms(value);
2379 _impl_._has_bits_[1] |= 0x00000020u;
2380 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initialize_devex_with_column_norms)
2381}
2382inline bool GlopParameters::_internal_initialize_devex_with_column_norms() const {
2383 ::google::protobuf::internal::TSanRead(&_impl_);
2384 return _impl_.initialize_devex_with_column_norms_;
2385}
2386inline void GlopParameters::_internal_set_initialize_devex_with_column_norms(bool value) {
2387 ::google::protobuf::internal::TSanWrite(&_impl_);
2388 _impl_.initialize_devex_with_column_norms_ = value;
2389}
2390
2391// optional bool exploit_singleton_column_in_initial_basis = 37 [default = true];
2393 bool value = (_impl_._has_bits_[1] & 0x00000040u) != 0;
2394 return value;
2395}
2397 ::google::protobuf::internal::TSanWrite(&_impl_);
2398 _impl_.exploit_singleton_column_in_initial_basis_ = true;
2399 _impl_._has_bits_[1] &= ~0x00000040u;
2400}
2402 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.exploit_singleton_column_in_initial_basis)
2403 return _internal_exploit_singleton_column_in_initial_basis();
2404}
2406 _internal_set_exploit_singleton_column_in_initial_basis(value);
2407 _impl_._has_bits_[1] |= 0x00000040u;
2408 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.exploit_singleton_column_in_initial_basis)
2409}
2410inline bool GlopParameters::_internal_exploit_singleton_column_in_initial_basis() const {
2411 ::google::protobuf::internal::TSanRead(&_impl_);
2412 return _impl_.exploit_singleton_column_in_initial_basis_;
2413}
2414inline void GlopParameters::_internal_set_exploit_singleton_column_in_initial_basis(bool value) {
2415 ::google::protobuf::internal::TSanWrite(&_impl_);
2416 _impl_.exploit_singleton_column_in_initial_basis_ = value;
2417}
2418
2419// optional double dual_small_pivot_threshold = 38 [default = 0.0001];
2421 bool value = (_impl_._has_bits_[1] & 0x00000001u) != 0;
2422 return value;
2423}
2425 ::google::protobuf::internal::TSanWrite(&_impl_);
2426 _impl_.dual_small_pivot_threshold_ = 0.0001;
2427 _impl_._has_bits_[1] &= ~0x00000001u;
2428}
2430 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dual_small_pivot_threshold)
2431 return _internal_dual_small_pivot_threshold();
2432}
2433inline void GlopParameters::set_dual_small_pivot_threshold(double value) {
2434 _internal_set_dual_small_pivot_threshold(value);
2435 _impl_._has_bits_[1] |= 0x00000001u;
2436 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dual_small_pivot_threshold)
2437}
2438inline double GlopParameters::_internal_dual_small_pivot_threshold() const {
2439 ::google::protobuf::internal::TSanRead(&_impl_);
2440 return _impl_.dual_small_pivot_threshold_;
2441}
2442inline void GlopParameters::_internal_set_dual_small_pivot_threshold(double value) {
2443 ::google::protobuf::internal::TSanWrite(&_impl_);
2444 _impl_.dual_small_pivot_threshold_ = value;
2445}
2446
2447// optional double preprocessor_zero_tolerance = 39 [default = 1e-09];
2449 bool value = (_impl_._has_bits_[1] & 0x00000002u) != 0;
2450 return value;
2451}
2453 ::google::protobuf::internal::TSanWrite(&_impl_);
2454 _impl_.preprocessor_zero_tolerance_ = 1e-09;
2455 _impl_._has_bits_[1] &= ~0x00000002u;
2456}
2458 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.preprocessor_zero_tolerance)
2459 return _internal_preprocessor_zero_tolerance();
2460}
2461inline void GlopParameters::set_preprocessor_zero_tolerance(double value) {
2462 _internal_set_preprocessor_zero_tolerance(value);
2463 _impl_._has_bits_[1] |= 0x00000002u;
2464 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.preprocessor_zero_tolerance)
2465}
2466inline double GlopParameters::_internal_preprocessor_zero_tolerance() const {
2467 ::google::protobuf::internal::TSanRead(&_impl_);
2468 return _impl_.preprocessor_zero_tolerance_;
2469}
2470inline void GlopParameters::_internal_set_preprocessor_zero_tolerance(double value) {
2471 ::google::protobuf::internal::TSanWrite(&_impl_);
2472 _impl_.preprocessor_zero_tolerance_ = value;
2473}
2474
2475// optional double objective_lower_limit = 40 [default = -inf];
2477 bool value = (_impl_._has_bits_[1] & 0x00000004u) != 0;
2478 return value;
2479}
2481 ::google::protobuf::internal::TSanWrite(&_impl_);
2482 _impl_.objective_lower_limit_ = -std::numeric_limits<double>::infinity();
2483 _impl_._has_bits_[1] &= ~0x00000004u;
2484}
2486 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.objective_lower_limit)
2487 return _internal_objective_lower_limit();
2488}
2489inline void GlopParameters::set_objective_lower_limit(double value) {
2490 _internal_set_objective_lower_limit(value);
2491 _impl_._has_bits_[1] |= 0x00000004u;
2492 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.objective_lower_limit)
2493}
2494inline double GlopParameters::_internal_objective_lower_limit() const {
2495 ::google::protobuf::internal::TSanRead(&_impl_);
2496 return _impl_.objective_lower_limit_;
2497}
2498inline void GlopParameters::_internal_set_objective_lower_limit(double value) {
2499 ::google::protobuf::internal::TSanWrite(&_impl_);
2500 _impl_.objective_lower_limit_ = value;
2501}
2502
2503// optional double objective_upper_limit = 41 [default = inf];
2505 bool value = (_impl_._has_bits_[1] & 0x00000008u) != 0;
2506 return value;
2507}
2509 ::google::protobuf::internal::TSanWrite(&_impl_);
2510 _impl_.objective_upper_limit_ = std::numeric_limits<double>::infinity();
2511 _impl_._has_bits_[1] &= ~0x00000008u;
2512}
2514 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.objective_upper_limit)
2515 return _internal_objective_upper_limit();
2516}
2517inline void GlopParameters::set_objective_upper_limit(double value) {
2518 _internal_set_objective_upper_limit(value);
2519 _impl_._has_bits_[1] |= 0x00000008u;
2520 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.objective_upper_limit)
2521}
2522inline double GlopParameters::_internal_objective_upper_limit() const {
2523 ::google::protobuf::internal::TSanRead(&_impl_);
2524 return _impl_.objective_upper_limit_;
2525}
2526inline void GlopParameters::_internal_set_objective_upper_limit(double value) {
2527 ::google::protobuf::internal::TSanWrite(&_impl_);
2528 _impl_.objective_upper_limit_ = value;
2529}
2530
2531// optional double degenerate_ministep_factor = 42 [default = 0.01];
2533 bool value = (_impl_._has_bits_[1] & 0x00000200u) != 0;
2534 return value;
2535}
2537 ::google::protobuf::internal::TSanWrite(&_impl_);
2538 _impl_.degenerate_ministep_factor_ = 0.01;
2539 _impl_._has_bits_[1] &= ~0x00000200u;
2540}
2542 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.degenerate_ministep_factor)
2543 return _internal_degenerate_ministep_factor();
2544}
2545inline void GlopParameters::set_degenerate_ministep_factor(double value) {
2546 _internal_set_degenerate_ministep_factor(value);
2547 _impl_._has_bits_[1] |= 0x00000200u;
2548 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.degenerate_ministep_factor)
2549}
2550inline double GlopParameters::_internal_degenerate_ministep_factor() const {
2551 ::google::protobuf::internal::TSanRead(&_impl_);
2552 return _impl_.degenerate_ministep_factor_;
2553}
2554inline void GlopParameters::_internal_set_degenerate_ministep_factor(double value) {
2555 ::google::protobuf::internal::TSanWrite(&_impl_);
2556 _impl_.degenerate_ministep_factor_ = value;
2557}
2558
2559// optional int32 random_seed = 43 [default = 1];
2560inline bool GlopParameters::has_random_seed() const {
2561 bool value = (_impl_._has_bits_[1] & 0x00000100u) != 0;
2562 return value;
2563}
2565 ::google::protobuf::internal::TSanWrite(&_impl_);
2566 _impl_.random_seed_ = 1;
2567 _impl_._has_bits_[1] &= ~0x00000100u;
2568}
2569inline ::int32_t GlopParameters::random_seed() const {
2570 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.random_seed)
2571 return _internal_random_seed();
2572}
2573inline void GlopParameters::set_random_seed(::int32_t value) {
2574 _internal_set_random_seed(value);
2575 _impl_._has_bits_[1] |= 0x00000100u;
2576 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.random_seed)
2577}
2578inline ::int32_t GlopParameters::_internal_random_seed() const {
2579 ::google::protobuf::internal::TSanRead(&_impl_);
2580 return _impl_.random_seed_;
2581}
2582inline void GlopParameters::_internal_set_random_seed(::int32_t value) {
2583 ::google::protobuf::internal::TSanWrite(&_impl_);
2584 _impl_.random_seed_ = value;
2585}
2586
2587// optional bool use_absl_random = 72 [default = false];
2588inline bool GlopParameters::has_use_absl_random() const {
2589 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
2590 return value;
2591}
2593 ::google::protobuf::internal::TSanWrite(&_impl_);
2594 _impl_.use_absl_random_ = false;
2595 _impl_._has_bits_[0] &= ~0x00000020u;
2596}
2598 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_absl_random)
2599 return _internal_use_absl_random();
2600}
2601inline void GlopParameters::set_use_absl_random(bool value) {
2602 _internal_set_use_absl_random(value);
2603 _impl_._has_bits_[0] |= 0x00000020u;
2604 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_absl_random)
2605}
2606inline bool GlopParameters::_internal_use_absl_random() const {
2607 ::google::protobuf::internal::TSanRead(&_impl_);
2608 return _impl_.use_absl_random_;
2609}
2610inline void GlopParameters::_internal_set_use_absl_random(bool value) {
2611 ::google::protobuf::internal::TSanWrite(&_impl_);
2612 _impl_.use_absl_random_ = value;
2613}
2614
2615// optional int32 num_omp_threads = 44 [default = 1];
2616inline bool GlopParameters::has_num_omp_threads() const {
2617 bool value = (_impl_._has_bits_[1] & 0x00000800u) != 0;
2618 return value;
2619}
2621 ::google::protobuf::internal::TSanWrite(&_impl_);
2622 _impl_.num_omp_threads_ = 1;
2623 _impl_._has_bits_[1] &= ~0x00000800u;
2624}
2625inline ::int32_t GlopParameters::num_omp_threads() const {
2626 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.num_omp_threads)
2627 return _internal_num_omp_threads();
2628}
2629inline void GlopParameters::set_num_omp_threads(::int32_t value) {
2630 _internal_set_num_omp_threads(value);
2631 _impl_._has_bits_[1] |= 0x00000800u;
2632 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.num_omp_threads)
2633}
2634inline ::int32_t GlopParameters::_internal_num_omp_threads() const {
2635 ::google::protobuf::internal::TSanRead(&_impl_);
2636 return _impl_.num_omp_threads_;
2637}
2638inline void GlopParameters::_internal_set_num_omp_threads(::int32_t value) {
2639 ::google::protobuf::internal::TSanWrite(&_impl_);
2640 _impl_.num_omp_threads_ = value;
2641}
2642
2643// optional bool perturb_costs_in_dual_simplex = 53 [default = false];
2645 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
2646 return value;
2647}
2649 ::google::protobuf::internal::TSanWrite(&_impl_);
2650 _impl_.perturb_costs_in_dual_simplex_ = false;
2651 _impl_._has_bits_[0] &= ~0x00000004u;
2652}
2654 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.perturb_costs_in_dual_simplex)
2655 return _internal_perturb_costs_in_dual_simplex();
2656}
2658 _internal_set_perturb_costs_in_dual_simplex(value);
2659 _impl_._has_bits_[0] |= 0x00000004u;
2660 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.perturb_costs_in_dual_simplex)
2661}
2662inline bool GlopParameters::_internal_perturb_costs_in_dual_simplex() const {
2663 ::google::protobuf::internal::TSanRead(&_impl_);
2664 return _impl_.perturb_costs_in_dual_simplex_;
2665}
2666inline void GlopParameters::_internal_set_perturb_costs_in_dual_simplex(bool value) {
2667 ::google::protobuf::internal::TSanWrite(&_impl_);
2668 _impl_.perturb_costs_in_dual_simplex_ = value;
2669}
2670
2671// optional bool use_dedicated_dual_feasibility_algorithm = 62 [default = true];
2673 bool value = (_impl_._has_bits_[1] & 0x00080000u) != 0;
2674 return value;
2675}
2677 ::google::protobuf::internal::TSanWrite(&_impl_);
2678 _impl_.use_dedicated_dual_feasibility_algorithm_ = true;
2679 _impl_._has_bits_[1] &= ~0x00080000u;
2680}
2682 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_dedicated_dual_feasibility_algorithm)
2683 return _internal_use_dedicated_dual_feasibility_algorithm();
2684}
2686 _internal_set_use_dedicated_dual_feasibility_algorithm(value);
2687 _impl_._has_bits_[1] |= 0x00080000u;
2688 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_dedicated_dual_feasibility_algorithm)
2689}
2690inline bool GlopParameters::_internal_use_dedicated_dual_feasibility_algorithm() const {
2691 ::google::protobuf::internal::TSanRead(&_impl_);
2692 return _impl_.use_dedicated_dual_feasibility_algorithm_;
2693}
2694inline void GlopParameters::_internal_set_use_dedicated_dual_feasibility_algorithm(bool value) {
2695 ::google::protobuf::internal::TSanWrite(&_impl_);
2696 _impl_.use_dedicated_dual_feasibility_algorithm_ = value;
2697}
2698
2699// optional double relative_cost_perturbation = 54 [default = 1e-05];
2701 bool value = (_impl_._has_bits_[1] & 0x00004000u) != 0;
2702 return value;
2703}
2705 ::google::protobuf::internal::TSanWrite(&_impl_);
2706 _impl_.relative_cost_perturbation_ = 1e-05;
2707 _impl_._has_bits_[1] &= ~0x00004000u;
2708}
2710 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.relative_cost_perturbation)
2711 return _internal_relative_cost_perturbation();
2712}
2713inline void GlopParameters::set_relative_cost_perturbation(double value) {
2714 _internal_set_relative_cost_perturbation(value);
2715 _impl_._has_bits_[1] |= 0x00004000u;
2716 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.relative_cost_perturbation)
2717}
2718inline double GlopParameters::_internal_relative_cost_perturbation() const {
2719 ::google::protobuf::internal::TSanRead(&_impl_);
2720 return _impl_.relative_cost_perturbation_;
2721}
2722inline void GlopParameters::_internal_set_relative_cost_perturbation(double value) {
2723 ::google::protobuf::internal::TSanWrite(&_impl_);
2724 _impl_.relative_cost_perturbation_ = value;
2725}
2726
2727// optional double relative_max_cost_perturbation = 55 [default = 1e-07];
2729 bool value = (_impl_._has_bits_[1] & 0x00008000u) != 0;
2730 return value;
2731}
2733 ::google::protobuf::internal::TSanWrite(&_impl_);
2734 _impl_.relative_max_cost_perturbation_ = 1e-07;
2735 _impl_._has_bits_[1] &= ~0x00008000u;
2736}
2738 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.relative_max_cost_perturbation)
2739 return _internal_relative_max_cost_perturbation();
2740}
2742 _internal_set_relative_max_cost_perturbation(value);
2743 _impl_._has_bits_[1] |= 0x00008000u;
2744 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.relative_max_cost_perturbation)
2745}
2746inline double GlopParameters::_internal_relative_max_cost_perturbation() const {
2747 ::google::protobuf::internal::TSanRead(&_impl_);
2748 return _impl_.relative_max_cost_perturbation_;
2749}
2750inline void GlopParameters::_internal_set_relative_max_cost_perturbation(double value) {
2751 ::google::protobuf::internal::TSanWrite(&_impl_);
2752 _impl_.relative_max_cost_perturbation_ = value;
2753}
2754
2755// optional double initial_condition_number_threshold = 59 [default = 1e+50];
2757 bool value = (_impl_._has_bits_[1] & 0x00020000u) != 0;
2758 return value;
2759}
2761 ::google::protobuf::internal::TSanWrite(&_impl_);
2762 _impl_.initial_condition_number_threshold_ = 1e+50;
2763 _impl_._has_bits_[1] &= ~0x00020000u;
2764}
2766 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.initial_condition_number_threshold)
2767 return _internal_initial_condition_number_threshold();
2768}
2770 _internal_set_initial_condition_number_threshold(value);
2771 _impl_._has_bits_[1] |= 0x00020000u;
2772 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.initial_condition_number_threshold)
2773}
2774inline double GlopParameters::_internal_initial_condition_number_threshold() const {
2775 ::google::protobuf::internal::TSanRead(&_impl_);
2776 return _impl_.initial_condition_number_threshold_;
2777}
2778inline void GlopParameters::_internal_set_initial_condition_number_threshold(double value) {
2779 ::google::protobuf::internal::TSanWrite(&_impl_);
2780 _impl_.initial_condition_number_threshold_ = value;
2781}
2782
2783// optional bool log_search_progress = 61 [default = false];
2784inline bool GlopParameters::has_log_search_progress() const {
2785 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
2786 return value;
2787}
2789 ::google::protobuf::internal::TSanWrite(&_impl_);
2790 _impl_.log_search_progress_ = false;
2791 _impl_._has_bits_[0] &= ~0x00000008u;
2792}
2794 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.log_search_progress)
2795 return _internal_log_search_progress();
2796}
2797inline void GlopParameters::set_log_search_progress(bool value) {
2798 _internal_set_log_search_progress(value);
2799 _impl_._has_bits_[0] |= 0x00000008u;
2800 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.log_search_progress)
2801}
2802inline bool GlopParameters::_internal_log_search_progress() const {
2803 ::google::protobuf::internal::TSanRead(&_impl_);
2804 return _impl_.log_search_progress_;
2805}
2806inline void GlopParameters::_internal_set_log_search_progress(bool value) {
2807 ::google::protobuf::internal::TSanWrite(&_impl_);
2808 _impl_.log_search_progress_ = value;
2809}
2810
2811// optional bool log_to_stdout = 66 [default = true];
2812inline bool GlopParameters::has_log_to_stdout() const {
2813 bool value = (_impl_._has_bits_[1] & 0x00400000u) != 0;
2814 return value;
2815}
2817 ::google::protobuf::internal::TSanWrite(&_impl_);
2818 _impl_.log_to_stdout_ = true;
2819 _impl_._has_bits_[1] &= ~0x00400000u;
2820}
2822 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.log_to_stdout)
2823 return _internal_log_to_stdout();
2824}
2825inline void GlopParameters::set_log_to_stdout(bool value) {
2826 _internal_set_log_to_stdout(value);
2827 _impl_._has_bits_[1] |= 0x00400000u;
2828 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.log_to_stdout)
2829}
2830inline bool GlopParameters::_internal_log_to_stdout() const {
2831 ::google::protobuf::internal::TSanRead(&_impl_);
2832 return _impl_.log_to_stdout_;
2833}
2834inline void GlopParameters::_internal_set_log_to_stdout(bool value) {
2835 ::google::protobuf::internal::TSanWrite(&_impl_);
2836 _impl_.log_to_stdout_ = value;
2837}
2838
2839// optional double crossover_bound_snapping_distance = 64 [default = inf];
2841 bool value = (_impl_._has_bits_[1] & 0x00800000u) != 0;
2842 return value;
2843}
2845 ::google::protobuf::internal::TSanWrite(&_impl_);
2846 _impl_.crossover_bound_snapping_distance_ = std::numeric_limits<double>::infinity();
2847 _impl_._has_bits_[1] &= ~0x00800000u;
2848}
2850 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.crossover_bound_snapping_distance)
2851 return _internal_crossover_bound_snapping_distance();
2852}
2854 _internal_set_crossover_bound_snapping_distance(value);
2855 _impl_._has_bits_[1] |= 0x00800000u;
2856 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.crossover_bound_snapping_distance)
2857}
2858inline double GlopParameters::_internal_crossover_bound_snapping_distance() const {
2859 ::google::protobuf::internal::TSanRead(&_impl_);
2860 return _impl_.crossover_bound_snapping_distance_;
2861}
2862inline void GlopParameters::_internal_set_crossover_bound_snapping_distance(double value) {
2863 ::google::protobuf::internal::TSanWrite(&_impl_);
2864 _impl_.crossover_bound_snapping_distance_ = value;
2865}
2866
2867// optional bool push_to_vertex = 65 [default = true];
2868inline bool GlopParameters::has_push_to_vertex() const {
2869 bool value = (_impl_._has_bits_[1] & 0x00200000u) != 0;
2870 return value;
2871}
2873 ::google::protobuf::internal::TSanWrite(&_impl_);
2874 _impl_.push_to_vertex_ = true;
2875 _impl_._has_bits_[1] &= ~0x00200000u;
2876}
2878 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.push_to_vertex)
2879 return _internal_push_to_vertex();
2880}
2881inline void GlopParameters::set_push_to_vertex(bool value) {
2882 _internal_set_push_to_vertex(value);
2883 _impl_._has_bits_[1] |= 0x00200000u;
2884 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.push_to_vertex)
2885}
2886inline bool GlopParameters::_internal_push_to_vertex() const {
2887 ::google::protobuf::internal::TSanRead(&_impl_);
2888 return _impl_.push_to_vertex_;
2889}
2890inline void GlopParameters::_internal_set_push_to_vertex(bool value) {
2891 ::google::protobuf::internal::TSanWrite(&_impl_);
2892 _impl_.push_to_vertex_ = value;
2893}
2894
2895// optional bool use_implied_free_preprocessor = 67 [default = true];
2897 bool value = (_impl_._has_bits_[1] & 0x04000000u) != 0;
2898 return value;
2899}
2901 ::google::protobuf::internal::TSanWrite(&_impl_);
2902 _impl_.use_implied_free_preprocessor_ = true;
2903 _impl_._has_bits_[1] &= ~0x04000000u;
2904}
2906 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.use_implied_free_preprocessor)
2907 return _internal_use_implied_free_preprocessor();
2908}
2910 _internal_set_use_implied_free_preprocessor(value);
2911 _impl_._has_bits_[1] |= 0x04000000u;
2912 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.use_implied_free_preprocessor)
2913}
2914inline bool GlopParameters::_internal_use_implied_free_preprocessor() const {
2915 ::google::protobuf::internal::TSanRead(&_impl_);
2916 return _impl_.use_implied_free_preprocessor_;
2917}
2918inline void GlopParameters::_internal_set_use_implied_free_preprocessor(bool value) {
2919 ::google::protobuf::internal::TSanWrite(&_impl_);
2920 _impl_.use_implied_free_preprocessor_ = value;
2921}
2922
2923// optional double max_valid_magnitude = 70 [default = 1e+30];
2924inline bool GlopParameters::has_max_valid_magnitude() const {
2925 bool value = (_impl_._has_bits_[1] & 0x01000000u) != 0;
2926 return value;
2927}
2929 ::google::protobuf::internal::TSanWrite(&_impl_);
2930 _impl_.max_valid_magnitude_ = 1e+30;
2931 _impl_._has_bits_[1] &= ~0x01000000u;
2932}
2934 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.max_valid_magnitude)
2935 return _internal_max_valid_magnitude();
2936}
2937inline void GlopParameters::set_max_valid_magnitude(double value) {
2938 _internal_set_max_valid_magnitude(value);
2939 _impl_._has_bits_[1] |= 0x01000000u;
2940 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.max_valid_magnitude)
2941}
2942inline double GlopParameters::_internal_max_valid_magnitude() const {
2943 ::google::protobuf::internal::TSanRead(&_impl_);
2944 return _impl_.max_valid_magnitude_;
2945}
2946inline void GlopParameters::_internal_set_max_valid_magnitude(double value) {
2947 ::google::protobuf::internal::TSanWrite(&_impl_);
2948 _impl_.max_valid_magnitude_ = value;
2949}
2950
2951// optional double drop_magnitude = 71 [default = 1e-30];
2952inline bool GlopParameters::has_drop_magnitude() const {
2953 bool value = (_impl_._has_bits_[1] & 0x02000000u) != 0;
2954 return value;
2955}
2957 ::google::protobuf::internal::TSanWrite(&_impl_);
2958 _impl_.drop_magnitude_ = 1e-30;
2959 _impl_._has_bits_[1] &= ~0x02000000u;
2960}
2961inline double GlopParameters::drop_magnitude() const {
2962 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.drop_magnitude)
2963 return _internal_drop_magnitude();
2964}
2965inline void GlopParameters::set_drop_magnitude(double value) {
2966 _internal_set_drop_magnitude(value);
2967 _impl_._has_bits_[1] |= 0x02000000u;
2968 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.drop_magnitude)
2969}
2970inline double GlopParameters::_internal_drop_magnitude() const {
2971 ::google::protobuf::internal::TSanRead(&_impl_);
2972 return _impl_.drop_magnitude_;
2973}
2974inline void GlopParameters::_internal_set_drop_magnitude(double value) {
2975 ::google::protobuf::internal::TSanWrite(&_impl_);
2976 _impl_.drop_magnitude_ = value;
2977}
2978
2979// optional bool dual_price_prioritize_norm = 69 [default = false];
2981 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
2982 return value;
2983}
2985 ::google::protobuf::internal::TSanWrite(&_impl_);
2986 _impl_.dual_price_prioritize_norm_ = false;
2987 _impl_._has_bits_[0] &= ~0x00000010u;
2988}
2990 // @@protoc_insertion_point(field_get:operations_research.glop.GlopParameters.dual_price_prioritize_norm)
2991 return _internal_dual_price_prioritize_norm();
2992}
2993inline void GlopParameters::set_dual_price_prioritize_norm(bool value) {
2994 _internal_set_dual_price_prioritize_norm(value);
2995 _impl_._has_bits_[0] |= 0x00000010u;
2996 // @@protoc_insertion_point(field_set:operations_research.glop.GlopParameters.dual_price_prioritize_norm)
2997}
2998inline bool GlopParameters::_internal_dual_price_prioritize_norm() const {
2999 ::google::protobuf::internal::TSanRead(&_impl_);
3000 return _impl_.dual_price_prioritize_norm_;
3001}
3002inline void GlopParameters::_internal_set_dual_price_prioritize_norm(bool value) {
3003 ::google::protobuf::internal::TSanWrite(&_impl_);
3004 _impl_.dual_price_prioritize_norm_ = value;
3005}
3006
3007#ifdef __GNUC__
3008#pragma GCC diagnostic pop
3009#endif // __GNUC__
3010
3011// @@protoc_insertion_point(namespace_scope)
3012} // namespace glop
3013} // namespace operations_research
3014
3015
3016namespace google {
3017namespace protobuf {
3018
3019template <>
3020struct is_proto_enum<::operations_research::glop::GlopParameters_ScalingAlgorithm> : std::true_type {};
3021template <>
3022inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::glop::GlopParameters_ScalingAlgorithm>() {
3023 return ::operations_research::glop::GlopParameters_ScalingAlgorithm_descriptor();
3024}
3025template <>
3026struct is_proto_enum<::operations_research::glop::GlopParameters_SolverBehavior> : std::true_type {};
3027template <>
3028inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::glop::GlopParameters_SolverBehavior>() {
3029 return ::operations_research::glop::GlopParameters_SolverBehavior_descriptor();
3030}
3031template <>
3032struct is_proto_enum<::operations_research::glop::GlopParameters_PricingRule> : std::true_type {};
3033template <>
3034inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::glop::GlopParameters_PricingRule>() {
3035 return ::operations_research::glop::GlopParameters_PricingRule_descriptor();
3036}
3037template <>
3038struct is_proto_enum<::operations_research::glop::GlopParameters_InitialBasisHeuristic> : std::true_type {};
3039template <>
3041 return ::operations_research::glop::GlopParameters_InitialBasisHeuristic_descriptor();
3042}
3043template <>
3044struct is_proto_enum<::operations_research::glop::GlopParameters_CostScalingAlgorithm> : std::true_type {};
3045template <>
3047 return ::operations_research::glop::GlopParameters_CostScalingAlgorithm_descriptor();
3048}
3050} // namespace protobuf
3051} // namespace google
3052
3053// @@protoc_insertion_point(global_scope)
3054
3055#include "google/protobuf/port_undef.inc"
3056
3057#endif // ortools_2fglop_2fparameters_2eproto_2epb_2eh
void Swap(GlopParameters *PROTOBUF_NONNULL other)
GlopParameters & operator=(const GlopParameters &from)
bool has_random_seed() const
optional int32 random_seed = 43 [default = 1];
bool has_provide_strong_optimal_guarantee() const
optional bool provide_strong_optimal_guarantee = 24 [default = true];
bool has_objective_lower_limit() const
optional double objective_lower_limit = 40 [default = -inf];
void set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value)
bool has_log_search_progress() const
optional bool log_search_progress = 61 [default = false];
bool has_optimization_rule() const
optional .operations_research.glop.GlopParameters.PricingRule optimization_rule = 2 [default = STEEPE...
bool has_use_scaling() const
optional bool use_scaling = 16 [default = true];
bool has_drop_tolerance() const
optional double drop_tolerance = 52 [default = 1e-14];
static constexpr int InitialBasisHeuristic_ARRAYSIZE
friend class ::google::protobuf::MessageLite
static constexpr ScalingAlgorithm EQUILIBRATION
bool has_solve_dual_problem() const
optional .operations_research.glop.GlopParameters.SolverBehavior solve_dual_problem = 20 [default = L...
bool has_use_transposed_matrix() const
optional bool use_transposed_matrix = 18 [default = true];
static constexpr int CostScalingAlgorithm_ARRAYSIZE
bool has_scaling_method() const
optional .operations_research.glop.GlopParameters.ScalingAlgorithm scaling_method = 57 [default = EQU...
void set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value)
static constexpr ScalingAlgorithm LINEAR_PROGRAM
GlopParameters_ScalingAlgorithm ScalingAlgorithm
nested types -------------------------------------------------—
static bool SolverBehavior_IsValid(int value)
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL ScalingAlgorithm_descriptor()
static constexpr PricingRule DEVEX
bool has_max_deterministic_time() const
optional double max_deterministic_time = 45 [default = inf];
bool has_minimum_acceptable_pivot() const
optional double minimum_acceptable_pivot = 15 [default = 1e-06];
static constexpr PricingRule STEEPEST_EDGE
bool has_initial_basis() const
optional .operations_research.glop.GlopParameters.InitialBasisHeuristic initial_basis = 17 [default =...
::operations_research::glop::GlopParameters_PricingRule feasibility_rule() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_crossover_bound_snapping_distance(double value)
bool has_exploit_singleton_column_in_initial_basis() const
optional bool exploit_singleton_column_in_initial_basis = 37 [default = true];
void set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value)
bool has_recompute_reduced_costs_threshold() const
optional double recompute_reduced_costs_threshold = 8 [default = 1e-08];
bool has_preprocessor_zero_tolerance() const
optional double preprocessor_zero_tolerance = 39 [default = 1e-09];
static constexpr SolverBehavior LET_SOLVER_DECIDE
static constexpr SolverBehavior NEVER_DO
bool has_feasibility_rule() const
optional .operations_research.glop.GlopParameters.PricingRule feasibility_rule = 1 [default = STEEPES...
bool has_objective_upper_limit() const
optional double objective_upper_limit = 41 [default = inf];
bool has_crossover_bound_snapping_distance() const
optional double crossover_bound_snapping_distance = 64 [default = inf];
void set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value)
PROTOBUF_CONSTEXPR GlopParameters(::google::protobuf::internal::ConstantInitialized)
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL InitialBasisHeuristic_descriptor()
void set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value)
bool has_num_omp_threads() const
optional int32 num_omp_threads = 44 [default = 1];
GlopParameters(const GlopParameters &from)
static constexpr InitialBasisHeuristic BIXBY
void set_markowitz_zlatev_parameter(::int32_t value)
bool has_markowitz_zlatev_parameter() const
optional int32 markowitz_zlatev_parameter = 29 [default = 3];
GlopParameters_SolverBehavior SolverBehavior
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL PricingRule_descriptor()
bool has_dynamically_adjust_refactorization_period() const
optional bool dynamically_adjust_refactorization_period = 63 [default = true];
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SolverBehavior_descriptor()
static bool CostScalingAlgorithm_IsValid(int value)
void set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value)
bool has_max_number_of_reoptimizations() const
optional double max_number_of_reoptimizations = 56 [default = 40];
static constexpr InitialBasisHeuristic TRIANGULAR
GlopParameters_PricingRule PricingRule
bool has_ratio_test_zero_threshold() const
optional double ratio_test_zero_threshold = 12 [default = 1e-09];
static constexpr CostScalingAlgorithm MEDIAN_COST_SCALING
bool has_small_pivot_threshold() const
optional double small_pivot_threshold = 14 [default = 1e-06];
bool has_initialize_devex_with_column_norms() const
optional bool initialize_devex_with_column_norms = 36 [default = true];
GlopParameters_InitialBasisHeuristic InitialBasisHeuristic
bool has_drop_magnitude() const
optional double drop_magnitude = 71 [default = 1e-30];
void set_use_dedicated_dual_feasibility_algorithm(bool value)
bool has_primal_feasibility_tolerance() const
optional double primal_feasibility_tolerance = 10 [default = 1e-08];
static constexpr InitialBasisHeuristic MAROS
::operations_research::glop::GlopParameters_SolverBehavior solve_dual_problem() const
bool has_dualizer_threshold() const
optional double dualizer_threshold = 21 [default = 1.5];
bool has_relative_max_cost_perturbation() const
optional double relative_max_cost_perturbation = 55 [default = 1e-07];
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL CostScalingAlgorithm_descriptor()
bool has_refactorization_threshold() const
optional double refactorization_threshold = 6 [default = 1e-09];
bool has_max_time_in_seconds() const
optional double max_time_in_seconds = 26 [default = inf];
::operations_research::glop::GlopParameters_PricingRule optimization_rule() const
static bool ScalingAlgorithm_IsValid(int value)
void set_lu_factorization_pivot_threshold(double value)
bool has_basis_refactorization_period() const
optional int32 basis_refactorization_period = 19 [default = 64];
GlopParameters_CostScalingAlgorithm CostScalingAlgorithm
bool has_perturb_costs_in_dual_simplex() const
optional bool perturb_costs_in_dual_simplex = 53 [default = false];
bool has_lu_factorization_pivot_threshold() const
optional double lu_factorization_pivot_threshold = 25 [default = 0.01];
void set_initial_condition_number_threshold(double value)
static bool InitialBasisHeuristic_IsValid(int value)
bool has_dual_price_prioritize_norm() const
optional bool dual_price_prioritize_norm = 69 [default = false];
bool has_max_number_of_iterations() const
optional int64 max_number_of_iterations = 27 [default = -1];
bool has_use_implied_free_preprocessor() const
optional bool use_implied_free_preprocessor = 67 [default = true];
void set_exploit_singleton_column_in_initial_basis(bool value)
bool has_use_absl_random() const
optional bool use_absl_random = 72 [default = false];
::operations_research::glop::GlopParameters_InitialBasisHeuristic initial_basis() const
bool has_dual_small_pivot_threshold() const
optional double dual_small_pivot_threshold = 38 [default = 0.0001];
bool has_dual_feasibility_tolerance() const
optional double dual_feasibility_tolerance = 11 [default = 1e-08];
bool has_push_to_vertex() const
optional bool push_to_vertex = 65 [default = true];
::operations_research::glop::GlopParameters_CostScalingAlgorithm cost_scaling() const
static constexpr CostScalingAlgorithm CONTAIN_ONE_COST_SCALING
void set_recompute_reduced_costs_threshold(double value)
bool has_use_dedicated_dual_feasibility_algorithm() const
optional bool use_dedicated_dual_feasibility_algorithm = 62 [default = true];
void set_devex_weights_reset_period(::int32_t value)
bool has_allow_simplex_algorithm_change() const
optional bool allow_simplex_algorithm_change = 32 [default = false];
bool has_devex_weights_reset_period() const
optional int32 devex_weights_reset_period = 33 [default = 150];
static constexpr CostScalingAlgorithm MEAN_COST_SCALING
void CopyFrom(const GlopParameters &from)
::operations_research::glop::GlopParameters_ScalingAlgorithm scaling_method() const
bool has_recompute_edges_norm_threshold() const
optional double recompute_edges_norm_threshold = 9 [default = 100];
bool has_use_dual_simplex() const
optional bool use_dual_simplex = 31 [default = false];
void set_dynamically_adjust_refactorization_period(bool value)
bool has_cost_scaling() const
optional .operations_research.glop.GlopParameters.CostScalingAlgorithm cost_scaling = 60 [default = C...
bool has_markowitz_singularity_threshold() const
optional double markowitz_singularity_threshold = 30 [default = 1e-15];
bool has_log_to_stdout() const
optional bool log_to_stdout = 66 [default = true];
void set_max_number_of_iterations(::int64_t value)
bool has_max_valid_magnitude() const
optional double max_valid_magnitude = 70 [default = 1e+30];
bool has_initial_condition_number_threshold() const
optional double initial_condition_number_threshold = 59 [default = 1e+50];
bool has_degenerate_ministep_factor() const
optional double degenerate_ministep_factor = 42 [default = 0.01];
GlopParameters(::google::protobuf::Arena *PROTOBUF_NULLABLE arena, GlopParameters &&from) noexcept
void set_basis_refactorization_period(::int32_t value)
bool has_use_preprocessing() const
optional bool use_preprocessing = 34 [default = true];
bool has_solution_feasibility_tolerance() const
optional double solution_feasibility_tolerance = 22 [default = 1e-06];
bool has_use_middle_product_form_update() const
optional bool use_middle_product_form_update = 35 [default = true];
bool has_change_status_to_imprecise() const
optional bool change_status_to_imprecise = 58 [default = true];
bool has_harris_tolerance_ratio() const
optional double harris_tolerance_ratio = 13 [default = 0.5];
bool has_relative_cost_perturbation() const
optional double relative_cost_perturbation = 54 [default = 1e-05];
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto
::absl::string_view GetAnyMessageName()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::glop::GlopParameters_SolverBehavior >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::glop::GlopParameters_ScalingAlgorithm >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::glop::GlopParameters_PricingRule >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::glop::GlopParameters_InitialBasisHeuristic >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::glop::GlopParameters_CostScalingAlgorithm >()
@ GlopParameters_CostScalingAlgorithm_CONTAIN_ONE_COST_SCALING
@ GlopParameters_CostScalingAlgorithm_MEAN_COST_SCALING
@ GlopParameters_CostScalingAlgorithm_MEDIAN_COST_SCALING
constexpr int GlopParameters_ScalingAlgorithm_ScalingAlgorithm_ARRAYSIZE
PROTOBUF_CONSTINIT const uint32_t GlopParameters_ScalingAlgorithm_internal_data_[]
const ::std::string & GlopParameters_InitialBasisHeuristic_Name(T value)
bool GlopParameters_SolverBehavior_Parse(::absl::string_view name, GlopParameters_SolverBehavior *PROTOBUF_NONNULL value)
PROTOBUF_CONSTINIT const uint32_t GlopParameters_PricingRule_internal_data_[]
const ::std::string & GlopParameters_ScalingAlgorithm_Name(T value)
constexpr GlopParameters_SolverBehavior GlopParameters_SolverBehavior_SolverBehavior_MAX
bool GlopParameters_PricingRule_Parse(::absl::string_view name, GlopParameters_PricingRule *PROTOBUF_NONNULL value)
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_InitialBasisHeuristic_descriptor()
constexpr GlopParameters_SolverBehavior GlopParameters_SolverBehavior_SolverBehavior_MIN
bool GlopParameters_CostScalingAlgorithm_IsValid(int value)
constexpr int GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_ARRAYSIZE
constexpr GlopParameters_InitialBasisHeuristic GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_MAX
constexpr GlopParameters_CostScalingAlgorithm GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MIN
constexpr int GlopParameters_SolverBehavior_SolverBehavior_ARRAYSIZE
constexpr GlopParameters_InitialBasisHeuristic GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_MIN
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_PricingRule_descriptor()
constexpr GlopParameters_ScalingAlgorithm GlopParameters_ScalingAlgorithm_ScalingAlgorithm_MIN
PROTOBUF_CONSTINIT const uint32_t GlopParameters_CostScalingAlgorithm_internal_data_[]
const ::std::string & GlopParameters_PricingRule_Name(T value)
constexpr GlopParameters_ScalingAlgorithm GlopParameters_ScalingAlgorithm_ScalingAlgorithm_MAX
constexpr int GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_ARRAYSIZE
constexpr GlopParameters_PricingRule GlopParameters_PricingRule_PricingRule_MAX
bool GlopParameters_InitialBasisHeuristic_IsValid(int value)
bool GlopParameters_ScalingAlgorithm_Parse(::absl::string_view name, GlopParameters_ScalingAlgorithm *PROTOBUF_NONNULL value)
PROTOBUF_CONSTINIT const uint32_t GlopParameters_SolverBehavior_internal_data_[]
const ::std::string & GlopParameters_CostScalingAlgorithm_Name(T value)
bool GlopParameters_CostScalingAlgorithm_Parse(::absl::string_view name, GlopParameters_CostScalingAlgorithm *PROTOBUF_NONNULL value)
bool GlopParameters_InitialBasisHeuristic_Parse(::absl::string_view name, GlopParameters_InitialBasisHeuristic *PROTOBUF_NONNULL value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GlopParametersDefaultTypeInternal _GlopParameters_default_instance_
bool GlopParameters_SolverBehavior_IsValid(int value)
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_ScalingAlgorithm_descriptor()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_CostScalingAlgorithm_descriptor()
constexpr GlopParameters_CostScalingAlgorithm GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MAX
bool GlopParameters_PricingRule_IsValid(int value)
bool GlopParameters_ScalingAlgorithm_IsValid(int value)
constexpr GlopParameters_PricingRule GlopParameters_PricingRule_PricingRule_MIN
constexpr int GlopParameters_PricingRule_PricingRule_ARRAYSIZE
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_SolverBehavior_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull GlopParameters_class_data_
PROTOBUF_CONSTINIT const uint32_t GlopParameters_InitialBasisHeuristic_internal_data_[]
const ::std::string & GlopParameters_SolverBehavior_Name(T value)
In SWIG mode, we don't want anything besides these top-level includes.
Internal implementation detail – do not use these members.