4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fglop_2fparameters_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fglop_2fparameters_2eproto
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3013000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
16 #if 3013000 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h>
33 #include <google/protobuf/extension_set.h>
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
37 #include <google/protobuf/port_def.inc>
38 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fglop_2fparameters_2eproto
39 PROTOBUF_NAMESPACE_OPEN
43 PROTOBUF_NAMESPACE_CLOSE
47 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
49 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
51 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
53 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata
field_metadata[];
61 class GlopParametersDefaultTypeInternal;
65 PROTOBUF_NAMESPACE_OPEN
66 template<> ::operations_research::glop::GlopParameters* Arena::CreateMaybeMessage<::operations_research::glop::GlopParameters>(Arena*);
67 PROTOBUF_NAMESPACE_CLOSE
86 "Incorrect type passed to function GlopParameters_ScalingAlgorithm_Name.");
87 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
92 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_ScalingAlgorithm>(
110 "Incorrect type passed to function GlopParameters_SolverBehavior_Name.");
111 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
116 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_SolverBehavior>(
134 "Incorrect type passed to function GlopParameters_PricingRule_Name.");
135 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
140 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_PricingRule>(
159 "Incorrect type passed to function GlopParameters_InitialBasisHeuristic_Name.");
160 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
165 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_InitialBasisHeuristic>(
171 public ::PROTOBUF_NAMESPACE_ID::Message {
179 *
this = ::std::move(from);
182 inline GlopParameters&
operator=(
const GlopParameters& from) {
186 inline GlopParameters&
operator=(GlopParameters&& from) noexcept {
187 if (GetArena() == from.GetArena()) {
188 if (
this != &from) InternalSwap(&from);
196 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
199 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
202 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
203 return GetDescriptor();
206 return GetMetadataStatic().descriptor;
209 return GetMetadataStatic().reflection;
215 return reinterpret_cast<const GlopParameters*
>(
218 static constexpr
int kIndexInFileMessages =
221 friend void swap(GlopParameters&
a, GlopParameters&
b) {
224 inline void Swap(GlopParameters* other) {
225 if (other ==
this)
return;
226 if (GetArena() == other->GetArena()) {
229 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
233 if (other ==
this)
return;
234 GOOGLE_DCHECK(GetArena() == other->GetArena());
240 inline GlopParameters*
New() const final {
241 return CreateMaybeMessage<GlopParameters>(
nullptr);
244 GlopParameters*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
245 return CreateMaybeMessage<GlopParameters>(arena);
247 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
248 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
251 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
252 bool IsInitialized() const final;
254 size_t ByteSizeLong() const final;
255 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
256 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
257 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
258 int GetCachedSize() const final {
return _cached_size_.Get(); }
261 inline void SharedCtor();
262 inline void SharedDtor();
263 void SetCachedSize(
int size)
const final;
264 void InternalSwap(GlopParameters* other);
265 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
266 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
267 return "operations_research.glop.GlopParameters";
272 static void ArenaDtor(
void*
object);
273 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
278 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
301 static constexpr
int ScalingAlgorithm_ARRAYSIZE =
303 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
311 "Incorrect type passed to function ScalingAlgorithm_Name.");
333 static constexpr
int SolverBehavior_ARRAYSIZE =
335 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
343 "Incorrect type passed to function SolverBehavior_Name.");
365 static constexpr
int PricingRule_ARRAYSIZE =
367 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
375 "Incorrect type passed to function PricingRule_Name.");
399 static constexpr
int InitialBasisHeuristic_ARRAYSIZE =
401 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
409 "Incorrect type passed to function InitialBasisHeuristic_Name.");
420 kUseDualSimplexFieldNumber = 31,
421 kAllowSimplexAlgorithmChangeFieldNumber = 32,
422 kPerturbCostsInDualSimplexFieldNumber = 53,
423 kScalingMethodFieldNumber = 57,
424 kFeasibilityRuleFieldNumber = 1,
425 kOptimizationRuleFieldNumber = 2,
426 kRefactorizationThresholdFieldNumber = 6,
427 kRecomputeReducedCostsThresholdFieldNumber = 8,
428 kRecomputeEdgesNormThresholdFieldNumber = 9,
429 kPrimalFeasibilityToleranceFieldNumber = 10,
430 kDualFeasibilityToleranceFieldNumber = 11,
431 kRatioTestZeroThresholdFieldNumber = 12,
432 kNormalizeUsingColumnNormFieldNumber = 4,
433 kUseNestedPricingFieldNumber = 5,
434 kUseScalingFieldNumber = 16,
435 kUseTransposedMatrixFieldNumber = 18,
436 kInitialBasisFieldNumber = 17,
437 kHarrisToleranceRatioFieldNumber = 13,
438 kSmallPivotThresholdFieldNumber = 14,
439 kMinimumAcceptablePivotFieldNumber = 15,
440 kBasisRefactorizationPeriodFieldNumber = 19,
441 kSolveDualProblemFieldNumber = 20,
442 kDualizerThresholdFieldNumber = 21,
443 kSolutionFeasibilityToleranceFieldNumber = 22,
444 kLuFactorizationPivotThresholdFieldNumber = 25,
445 kMaxTimeInSecondsFieldNumber = 26,
446 kMaxNumberOfIterationsFieldNumber = 27,
447 kMarkowitzSingularityThresholdFieldNumber = 30,
448 kMarkowitzZlatevParameterFieldNumber = 29,
449 kDevexWeightsResetPeriodFieldNumber = 33,
450 kInitializeDevexWithColumnNormsFieldNumber = 36,
451 kExploitSingletonColumnInInitialBasisFieldNumber = 37,
452 kProvideStrongOptimalGuaranteeFieldNumber = 24,
453 kChangeStatusToImpreciseFieldNumber = 58,
454 kUsePreprocessingFieldNumber = 34,
455 kUseMiddleProductFormUpdateFieldNumber = 35,
456 kDualSmallPivotThresholdFieldNumber = 38,
457 kPreprocessorZeroToleranceFieldNumber = 39,
458 kObjectiveLowerLimitFieldNumber = 40,
459 kObjectiveUpperLimitFieldNumber = 41,
460 kDegenerateMinistepFactorFieldNumber = 42,
461 kRandomSeedFieldNumber = 43,
462 kNumOmpThreadsFieldNumber = 44,
463 kMaxDeterministicTimeFieldNumber = 45,
464 kDropToleranceFieldNumber = 52,
465 kRelativeCostPerturbationFieldNumber = 54,
466 kRelativeMaxCostPerturbationFieldNumber = 55,
467 kMaxNumberOfReoptimizationsFieldNumber = 56,
468 kInitialConditionNumberThresholdFieldNumber = 59,
473 bool _internal_has_use_dual_simplex()
const;
479 bool _internal_use_dual_simplex()
const;
480 void _internal_set_use_dual_simplex(
bool value);
486 bool _internal_has_allow_simplex_algorithm_change()
const;
492 bool _internal_allow_simplex_algorithm_change()
const;
493 void _internal_set_allow_simplex_algorithm_change(
bool value);
499 bool _internal_has_perturb_costs_in_dual_simplex()
const;
505 bool _internal_perturb_costs_in_dual_simplex()
const;
506 void _internal_set_perturb_costs_in_dual_simplex(
bool value);
512 bool _internal_has_scaling_method()
const;
525 bool _internal_has_feasibility_rule()
const;
538 bool _internal_has_optimization_rule()
const;
551 bool _internal_has_refactorization_threshold()
const;
557 double _internal_refactorization_threshold()
const;
558 void _internal_set_refactorization_threshold(
double value);
564 bool _internal_has_recompute_reduced_costs_threshold()
const;
570 double _internal_recompute_reduced_costs_threshold()
const;
571 void _internal_set_recompute_reduced_costs_threshold(
double value);
577 bool _internal_has_recompute_edges_norm_threshold()
const;
583 double _internal_recompute_edges_norm_threshold()
const;
584 void _internal_set_recompute_edges_norm_threshold(
double value);
590 bool _internal_has_primal_feasibility_tolerance()
const;
596 double _internal_primal_feasibility_tolerance()
const;
597 void _internal_set_primal_feasibility_tolerance(
double value);
603 bool _internal_has_dual_feasibility_tolerance()
const;
609 double _internal_dual_feasibility_tolerance()
const;
610 void _internal_set_dual_feasibility_tolerance(
double value);
616 bool _internal_has_ratio_test_zero_threshold()
const;
622 double _internal_ratio_test_zero_threshold()
const;
623 void _internal_set_ratio_test_zero_threshold(
double value);
629 bool _internal_has_normalize_using_column_norm()
const;
635 bool _internal_normalize_using_column_norm()
const;
636 void _internal_set_normalize_using_column_norm(
bool value);
642 bool _internal_has_use_nested_pricing()
const;
648 bool _internal_use_nested_pricing()
const;
649 void _internal_set_use_nested_pricing(
bool value);
655 bool _internal_has_use_scaling()
const;
661 bool _internal_use_scaling()
const;
662 void _internal_set_use_scaling(
bool value);
668 bool _internal_has_use_transposed_matrix()
const;
674 bool _internal_use_transposed_matrix()
const;
675 void _internal_set_use_transposed_matrix(
bool value);
681 bool _internal_has_initial_basis()
const;
694 bool _internal_has_harris_tolerance_ratio()
const;
700 double _internal_harris_tolerance_ratio()
const;
701 void _internal_set_harris_tolerance_ratio(
double value);
707 bool _internal_has_small_pivot_threshold()
const;
713 double _internal_small_pivot_threshold()
const;
714 void _internal_set_small_pivot_threshold(
double value);
720 bool _internal_has_minimum_acceptable_pivot()
const;
726 double _internal_minimum_acceptable_pivot()
const;
727 void _internal_set_minimum_acceptable_pivot(
double value);
733 bool _internal_has_basis_refactorization_period()
const;
746 bool _internal_has_solve_dual_problem()
const;
759 bool _internal_has_dualizer_threshold()
const;
765 double _internal_dualizer_threshold()
const;
766 void _internal_set_dualizer_threshold(
double value);
772 bool _internal_has_solution_feasibility_tolerance()
const;
778 double _internal_solution_feasibility_tolerance()
const;
779 void _internal_set_solution_feasibility_tolerance(
double value);
785 bool _internal_has_lu_factorization_pivot_threshold()
const;
791 double _internal_lu_factorization_pivot_threshold()
const;
792 void _internal_set_lu_factorization_pivot_threshold(
double value);
798 bool _internal_has_max_time_in_seconds()
const;
804 double _internal_max_time_in_seconds()
const;
805 void _internal_set_max_time_in_seconds(
double value);
811 bool _internal_has_max_number_of_iterations()
const;
824 bool _internal_has_markowitz_singularity_threshold()
const;
830 double _internal_markowitz_singularity_threshold()
const;
831 void _internal_set_markowitz_singularity_threshold(
double value);
837 bool _internal_has_markowitz_zlatev_parameter()
const;
850 bool _internal_has_devex_weights_reset_period()
const;
863 bool _internal_has_initialize_devex_with_column_norms()
const;
869 bool _internal_initialize_devex_with_column_norms()
const;
870 void _internal_set_initialize_devex_with_column_norms(
bool value);
876 bool _internal_has_exploit_singleton_column_in_initial_basis()
const;
882 bool _internal_exploit_singleton_column_in_initial_basis()
const;
883 void _internal_set_exploit_singleton_column_in_initial_basis(
bool value);
889 bool _internal_has_provide_strong_optimal_guarantee()
const;
895 bool _internal_provide_strong_optimal_guarantee()
const;
896 void _internal_set_provide_strong_optimal_guarantee(
bool value);
902 bool _internal_has_change_status_to_imprecise()
const;
908 bool _internal_change_status_to_imprecise()
const;
909 void _internal_set_change_status_to_imprecise(
bool value);
915 bool _internal_has_use_preprocessing()
const;
921 bool _internal_use_preprocessing()
const;
922 void _internal_set_use_preprocessing(
bool value);
928 bool _internal_has_use_middle_product_form_update()
const;
934 bool _internal_use_middle_product_form_update()
const;
935 void _internal_set_use_middle_product_form_update(
bool value);
941 bool _internal_has_dual_small_pivot_threshold()
const;
947 double _internal_dual_small_pivot_threshold()
const;
948 void _internal_set_dual_small_pivot_threshold(
double value);
954 bool _internal_has_preprocessor_zero_tolerance()
const;
960 double _internal_preprocessor_zero_tolerance()
const;
961 void _internal_set_preprocessor_zero_tolerance(
double value);
967 bool _internal_has_objective_lower_limit()
const;
973 double _internal_objective_lower_limit()
const;
974 void _internal_set_objective_lower_limit(
double value);
980 bool _internal_has_objective_upper_limit()
const;
986 double _internal_objective_upper_limit()
const;
987 void _internal_set_objective_upper_limit(
double value);
993 bool _internal_has_degenerate_ministep_factor()
const;
999 double _internal_degenerate_ministep_factor()
const;
1000 void _internal_set_degenerate_ministep_factor(
double value);
1006 bool _internal_has_random_seed()
const;
1019 bool _internal_has_num_omp_threads()
const;
1032 bool _internal_has_max_deterministic_time()
const;
1038 double _internal_max_deterministic_time()
const;
1039 void _internal_set_max_deterministic_time(
double value);
1045 bool _internal_has_drop_tolerance()
const;
1051 double _internal_drop_tolerance()
const;
1052 void _internal_set_drop_tolerance(
double value);
1058 bool _internal_has_relative_cost_perturbation()
const;
1064 double _internal_relative_cost_perturbation()
const;
1065 void _internal_set_relative_cost_perturbation(
double value);
1071 bool _internal_has_relative_max_cost_perturbation()
const;
1077 double _internal_relative_max_cost_perturbation()
const;
1078 void _internal_set_relative_max_cost_perturbation(
double value);
1084 bool _internal_has_max_number_of_reoptimizations()
const;
1090 double _internal_max_number_of_reoptimizations()
const;
1091 void _internal_set_max_number_of_reoptimizations(
double value);
1097 bool _internal_has_initial_condition_number_threshold()
const;
1103 double _internal_initial_condition_number_threshold()
const;
1104 void _internal_set_initial_condition_number_threshold(
double value);
1111 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1112 typedef void InternalArenaConstructable_;
1113 typedef void DestructorSkippable_;
1114 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1115 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1116 bool use_dual_simplex_;
1117 bool allow_simplex_algorithm_change_;
1118 bool perturb_costs_in_dual_simplex_;
1119 int scaling_method_;
1120 int feasibility_rule_;
1121 int optimization_rule_;
1122 double refactorization_threshold_;
1123 double recompute_reduced_costs_threshold_;
1124 double recompute_edges_norm_threshold_;
1125 double primal_feasibility_tolerance_;
1126 double dual_feasibility_tolerance_;
1127 double ratio_test_zero_threshold_;
1128 bool normalize_using_column_norm_;
1129 bool use_nested_pricing_;
1131 bool use_transposed_matrix_;
1133 double harris_tolerance_ratio_;
1134 double small_pivot_threshold_;
1135 double minimum_acceptable_pivot_;
1137 int solve_dual_problem_;
1138 double dualizer_threshold_;
1139 double solution_feasibility_tolerance_;
1140 double lu_factorization_pivot_threshold_;
1141 double max_time_in_seconds_;
1143 double markowitz_singularity_threshold_;
1146 bool initialize_devex_with_column_norms_;
1147 bool exploit_singleton_column_in_initial_basis_;
1148 bool provide_strong_optimal_guarantee_;
1149 bool change_status_to_imprecise_;
1150 bool use_preprocessing_;
1151 bool use_middle_product_form_update_;
1152 double dual_small_pivot_threshold_;
1153 double preprocessor_zero_tolerance_;
1154 double objective_lower_limit_;
1155 double objective_upper_limit_;
1156 double degenerate_ministep_factor_;
1159 double max_deterministic_time_;
1160 double drop_tolerance_;
1161 double relative_cost_perturbation_;
1162 double relative_max_cost_perturbation_;
1163 double max_number_of_reoptimizations_;
1164 double initial_condition_number_threshold_;
1165 friend struct ::TableStruct_ortools_2fglop_2fparameters_2eproto;
1173 #pragma GCC diagnostic push
1174 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1179 inline bool GlopParameters::_internal_has_scaling_method()
const {
1180 bool value = (_has_bits_[0] & 0x00000008u) != 0;
1183 inline bool GlopParameters::has_scaling_method()
const {
1184 return _internal_has_scaling_method();
1186 inline void GlopParameters::clear_scaling_method() {
1187 scaling_method_ = 1;
1188 _has_bits_[0] &= ~0x00000008u;
1195 return _internal_scaling_method();
1199 _has_bits_[0] |= 0x00000008u;
1200 scaling_method_ =
value;
1203 _internal_set_scaling_method(
value);
1208 inline bool GlopParameters::_internal_has_feasibility_rule()
const {
1209 bool value = (_has_bits_[0] & 0x00000010u) != 0;
1212 inline bool GlopParameters::has_feasibility_rule()
const {
1213 return _internal_has_feasibility_rule();
1215 inline void GlopParameters::clear_feasibility_rule() {
1216 feasibility_rule_ = 1;
1217 _has_bits_[0] &= ~0x00000010u;
1224 return _internal_feasibility_rule();
1228 _has_bits_[0] |= 0x00000010u;
1229 feasibility_rule_ =
value;
1232 _internal_set_feasibility_rule(
value);
1237 inline bool GlopParameters::_internal_has_optimization_rule()
const {
1238 bool value = (_has_bits_[0] & 0x00000020u) != 0;
1241 inline bool GlopParameters::has_optimization_rule()
const {
1242 return _internal_has_optimization_rule();
1244 inline void GlopParameters::clear_optimization_rule() {
1245 optimization_rule_ = 1;
1246 _has_bits_[0] &= ~0x00000020u;
1253 return _internal_optimization_rule();
1257 _has_bits_[0] |= 0x00000020u;
1258 optimization_rule_ =
value;
1261 _internal_set_optimization_rule(
value);
1266 inline bool GlopParameters::_internal_has_normalize_using_column_norm()
const {
1267 bool value = (_has_bits_[0] & 0x00001000u) != 0;
1270 inline bool GlopParameters::has_normalize_using_column_norm()
const {
1271 return _internal_has_normalize_using_column_norm();
1273 inline void GlopParameters::clear_normalize_using_column_norm() {
1274 normalize_using_column_norm_ =
true;
1275 _has_bits_[0] &= ~0x00001000u;
1277 inline bool GlopParameters::_internal_normalize_using_column_norm()
const {
1278 return normalize_using_column_norm_;
1280 inline bool GlopParameters::normalize_using_column_norm()
const {
1282 return _internal_normalize_using_column_norm();
1284 inline void GlopParameters::_internal_set_normalize_using_column_norm(
bool value) {
1285 _has_bits_[0] |= 0x00001000u;
1286 normalize_using_column_norm_ =
value;
1288 inline void GlopParameters::set_normalize_using_column_norm(
bool value) {
1289 _internal_set_normalize_using_column_norm(
value);
1294 inline bool GlopParameters::_internal_has_use_nested_pricing()
const {
1295 bool value = (_has_bits_[0] & 0x00002000u) != 0;
1298 inline bool GlopParameters::has_use_nested_pricing()
const {
1299 return _internal_has_use_nested_pricing();
1301 inline void GlopParameters::clear_use_nested_pricing() {
1302 use_nested_pricing_ =
true;
1303 _has_bits_[0] &= ~0x00002000u;
1305 inline bool GlopParameters::_internal_use_nested_pricing()
const {
1306 return use_nested_pricing_;
1308 inline bool GlopParameters::use_nested_pricing()
const {
1310 return _internal_use_nested_pricing();
1312 inline void GlopParameters::_internal_set_use_nested_pricing(
bool value) {
1313 _has_bits_[0] |= 0x00002000u;
1314 use_nested_pricing_ =
value;
1316 inline void GlopParameters::set_use_nested_pricing(
bool value) {
1317 _internal_set_use_nested_pricing(
value);
1322 inline bool GlopParameters::_internal_has_refactorization_threshold()
const {
1323 bool value = (_has_bits_[0] & 0x00000040u) != 0;
1326 inline bool GlopParameters::has_refactorization_threshold()
const {
1327 return _internal_has_refactorization_threshold();
1329 inline void GlopParameters::clear_refactorization_threshold() {
1330 refactorization_threshold_ = 1e-09;
1331 _has_bits_[0] &= ~0x00000040u;
1333 inline double GlopParameters::_internal_refactorization_threshold()
const {
1334 return refactorization_threshold_;
1336 inline double GlopParameters::refactorization_threshold()
const {
1338 return _internal_refactorization_threshold();
1340 inline void GlopParameters::_internal_set_refactorization_threshold(
double value) {
1341 _has_bits_[0] |= 0x00000040u;
1342 refactorization_threshold_ =
value;
1344 inline void GlopParameters::set_refactorization_threshold(
double value) {
1345 _internal_set_refactorization_threshold(
value);
1350 inline bool GlopParameters::_internal_has_recompute_reduced_costs_threshold()
const {
1351 bool value = (_has_bits_[0] & 0x00000080u) != 0;
1354 inline bool GlopParameters::has_recompute_reduced_costs_threshold()
const {
1355 return _internal_has_recompute_reduced_costs_threshold();
1357 inline void GlopParameters::clear_recompute_reduced_costs_threshold() {
1358 recompute_reduced_costs_threshold_ = 1e-08;
1359 _has_bits_[0] &= ~0x00000080u;
1361 inline double GlopParameters::_internal_recompute_reduced_costs_threshold()
const {
1362 return recompute_reduced_costs_threshold_;
1364 inline double GlopParameters::recompute_reduced_costs_threshold()
const {
1366 return _internal_recompute_reduced_costs_threshold();
1368 inline void GlopParameters::_internal_set_recompute_reduced_costs_threshold(
double value) {
1369 _has_bits_[0] |= 0x00000080u;
1370 recompute_reduced_costs_threshold_ =
value;
1372 inline void GlopParameters::set_recompute_reduced_costs_threshold(
double value) {
1373 _internal_set_recompute_reduced_costs_threshold(
value);
1378 inline bool GlopParameters::_internal_has_recompute_edges_norm_threshold()
const {
1379 bool value = (_has_bits_[0] & 0x00000100u) != 0;
1382 inline bool GlopParameters::has_recompute_edges_norm_threshold()
const {
1383 return _internal_has_recompute_edges_norm_threshold();
1385 inline void GlopParameters::clear_recompute_edges_norm_threshold() {
1386 recompute_edges_norm_threshold_ = 100;
1387 _has_bits_[0] &= ~0x00000100u;
1389 inline double GlopParameters::_internal_recompute_edges_norm_threshold()
const {
1390 return recompute_edges_norm_threshold_;
1392 inline double GlopParameters::recompute_edges_norm_threshold()
const {
1394 return _internal_recompute_edges_norm_threshold();
1396 inline void GlopParameters::_internal_set_recompute_edges_norm_threshold(
double value) {
1397 _has_bits_[0] |= 0x00000100u;
1398 recompute_edges_norm_threshold_ =
value;
1400 inline void GlopParameters::set_recompute_edges_norm_threshold(
double value) {
1401 _internal_set_recompute_edges_norm_threshold(
value);
1406 inline bool GlopParameters::_internal_has_primal_feasibility_tolerance()
const {
1407 bool value = (_has_bits_[0] & 0x00000200u) != 0;
1410 inline bool GlopParameters::has_primal_feasibility_tolerance()
const {
1411 return _internal_has_primal_feasibility_tolerance();
1413 inline void GlopParameters::clear_primal_feasibility_tolerance() {
1414 primal_feasibility_tolerance_ = 1e-08;
1415 _has_bits_[0] &= ~0x00000200u;
1417 inline double GlopParameters::_internal_primal_feasibility_tolerance()
const {
1418 return primal_feasibility_tolerance_;
1420 inline double GlopParameters::primal_feasibility_tolerance()
const {
1422 return _internal_primal_feasibility_tolerance();
1424 inline void GlopParameters::_internal_set_primal_feasibility_tolerance(
double value) {
1425 _has_bits_[0] |= 0x00000200u;
1426 primal_feasibility_tolerance_ =
value;
1428 inline void GlopParameters::set_primal_feasibility_tolerance(
double value) {
1429 _internal_set_primal_feasibility_tolerance(
value);
1434 inline bool GlopParameters::_internal_has_dual_feasibility_tolerance()
const {
1435 bool value = (_has_bits_[0] & 0x00000400u) != 0;
1438 inline bool GlopParameters::has_dual_feasibility_tolerance()
const {
1439 return _internal_has_dual_feasibility_tolerance();
1441 inline void GlopParameters::clear_dual_feasibility_tolerance() {
1442 dual_feasibility_tolerance_ = 1e-08;
1443 _has_bits_[0] &= ~0x00000400u;
1445 inline double GlopParameters::_internal_dual_feasibility_tolerance()
const {
1446 return dual_feasibility_tolerance_;
1448 inline double GlopParameters::dual_feasibility_tolerance()
const {
1450 return _internal_dual_feasibility_tolerance();
1452 inline void GlopParameters::_internal_set_dual_feasibility_tolerance(
double value) {
1453 _has_bits_[0] |= 0x00000400u;
1454 dual_feasibility_tolerance_ =
value;
1456 inline void GlopParameters::set_dual_feasibility_tolerance(
double value) {
1457 _internal_set_dual_feasibility_tolerance(
value);
1462 inline bool GlopParameters::_internal_has_ratio_test_zero_threshold()
const {
1463 bool value = (_has_bits_[0] & 0x00000800u) != 0;
1466 inline bool GlopParameters::has_ratio_test_zero_threshold()
const {
1467 return _internal_has_ratio_test_zero_threshold();
1469 inline void GlopParameters::clear_ratio_test_zero_threshold() {
1470 ratio_test_zero_threshold_ = 1e-09;
1471 _has_bits_[0] &= ~0x00000800u;
1473 inline double GlopParameters::_internal_ratio_test_zero_threshold()
const {
1474 return ratio_test_zero_threshold_;
1476 inline double GlopParameters::ratio_test_zero_threshold()
const {
1478 return _internal_ratio_test_zero_threshold();
1480 inline void GlopParameters::_internal_set_ratio_test_zero_threshold(
double value) {
1481 _has_bits_[0] |= 0x00000800u;
1482 ratio_test_zero_threshold_ =
value;
1484 inline void GlopParameters::set_ratio_test_zero_threshold(
double value) {
1485 _internal_set_ratio_test_zero_threshold(
value);
1490 inline bool GlopParameters::_internal_has_harris_tolerance_ratio()
const {
1491 bool value = (_has_bits_[0] & 0x00020000u) != 0;
1494 inline bool GlopParameters::has_harris_tolerance_ratio()
const {
1495 return _internal_has_harris_tolerance_ratio();
1497 inline void GlopParameters::clear_harris_tolerance_ratio() {
1498 harris_tolerance_ratio_ = 0.5;
1499 _has_bits_[0] &= ~0x00020000u;
1501 inline double GlopParameters::_internal_harris_tolerance_ratio()
const {
1502 return harris_tolerance_ratio_;
1504 inline double GlopParameters::harris_tolerance_ratio()
const {
1506 return _internal_harris_tolerance_ratio();
1508 inline void GlopParameters::_internal_set_harris_tolerance_ratio(
double value) {
1509 _has_bits_[0] |= 0x00020000u;
1510 harris_tolerance_ratio_ =
value;
1512 inline void GlopParameters::set_harris_tolerance_ratio(
double value) {
1513 _internal_set_harris_tolerance_ratio(
value);
1518 inline bool GlopParameters::_internal_has_small_pivot_threshold()
const {
1519 bool value = (_has_bits_[0] & 0x00040000u) != 0;
1522 inline bool GlopParameters::has_small_pivot_threshold()
const {
1523 return _internal_has_small_pivot_threshold();
1525 inline void GlopParameters::clear_small_pivot_threshold() {
1526 small_pivot_threshold_ = 1e-06;
1527 _has_bits_[0] &= ~0x00040000u;
1529 inline double GlopParameters::_internal_small_pivot_threshold()
const {
1530 return small_pivot_threshold_;
1532 inline double GlopParameters::small_pivot_threshold()
const {
1534 return _internal_small_pivot_threshold();
1536 inline void GlopParameters::_internal_set_small_pivot_threshold(
double value) {
1537 _has_bits_[0] |= 0x00040000u;
1538 small_pivot_threshold_ =
value;
1540 inline void GlopParameters::set_small_pivot_threshold(
double value) {
1541 _internal_set_small_pivot_threshold(
value);
1546 inline bool GlopParameters::_internal_has_minimum_acceptable_pivot()
const {
1547 bool value = (_has_bits_[0] & 0x00080000u) != 0;
1550 inline bool GlopParameters::has_minimum_acceptable_pivot()
const {
1551 return _internal_has_minimum_acceptable_pivot();
1553 inline void GlopParameters::clear_minimum_acceptable_pivot() {
1554 minimum_acceptable_pivot_ = 1e-06;
1555 _has_bits_[0] &= ~0x00080000u;
1557 inline double GlopParameters::_internal_minimum_acceptable_pivot()
const {
1558 return minimum_acceptable_pivot_;
1560 inline double GlopParameters::minimum_acceptable_pivot()
const {
1562 return _internal_minimum_acceptable_pivot();
1564 inline void GlopParameters::_internal_set_minimum_acceptable_pivot(
double value) {
1565 _has_bits_[0] |= 0x00080000u;
1566 minimum_acceptable_pivot_ =
value;
1568 inline void GlopParameters::set_minimum_acceptable_pivot(
double value) {
1569 _internal_set_minimum_acceptable_pivot(
value);
1574 inline bool GlopParameters::_internal_has_drop_tolerance()
const {
1575 bool value = (_has_bits_[1] & 0x00001000u) != 0;
1578 inline bool GlopParameters::has_drop_tolerance()
const {
1579 return _internal_has_drop_tolerance();
1581 inline void GlopParameters::clear_drop_tolerance() {
1582 drop_tolerance_ = 1e-14;
1583 _has_bits_[1] &= ~0x00001000u;
1585 inline double GlopParameters::_internal_drop_tolerance()
const {
1586 return drop_tolerance_;
1588 inline double GlopParameters::drop_tolerance()
const {
1590 return _internal_drop_tolerance();
1592 inline void GlopParameters::_internal_set_drop_tolerance(
double value) {
1593 _has_bits_[1] |= 0x00001000u;
1594 drop_tolerance_ =
value;
1596 inline void GlopParameters::set_drop_tolerance(
double value) {
1597 _internal_set_drop_tolerance(
value);
1602 inline bool GlopParameters::_internal_has_use_scaling()
const {
1603 bool value = (_has_bits_[0] & 0x00004000u) != 0;
1606 inline bool GlopParameters::has_use_scaling()
const {
1607 return _internal_has_use_scaling();
1609 inline void GlopParameters::clear_use_scaling() {
1610 use_scaling_ =
true;
1611 _has_bits_[0] &= ~0x00004000u;
1613 inline bool GlopParameters::_internal_use_scaling()
const {
1614 return use_scaling_;
1616 inline bool GlopParameters::use_scaling()
const {
1618 return _internal_use_scaling();
1620 inline void GlopParameters::_internal_set_use_scaling(
bool value) {
1621 _has_bits_[0] |= 0x00004000u;
1622 use_scaling_ =
value;
1624 inline void GlopParameters::set_use_scaling(
bool value) {
1625 _internal_set_use_scaling(
value);
1630 inline bool GlopParameters::_internal_has_initial_basis()
const {
1631 bool value = (_has_bits_[0] & 0x00010000u) != 0;
1634 inline bool GlopParameters::has_initial_basis()
const {
1635 return _internal_has_initial_basis();
1637 inline void GlopParameters::clear_initial_basis() {
1639 _has_bits_[0] &= ~0x00010000u;
1646 return _internal_initial_basis();
1650 _has_bits_[0] |= 0x00010000u;
1651 initial_basis_ =
value;
1654 _internal_set_initial_basis(
value);
1659 inline bool GlopParameters::_internal_has_use_transposed_matrix()
const {
1660 bool value = (_has_bits_[0] & 0x00008000u) != 0;
1663 inline bool GlopParameters::has_use_transposed_matrix()
const {
1664 return _internal_has_use_transposed_matrix();
1666 inline void GlopParameters::clear_use_transposed_matrix() {
1667 use_transposed_matrix_ =
true;
1668 _has_bits_[0] &= ~0x00008000u;
1670 inline bool GlopParameters::_internal_use_transposed_matrix()
const {
1671 return use_transposed_matrix_;
1673 inline bool GlopParameters::use_transposed_matrix()
const {
1675 return _internal_use_transposed_matrix();
1677 inline void GlopParameters::_internal_set_use_transposed_matrix(
bool value) {
1678 _has_bits_[0] |= 0x00008000u;
1679 use_transposed_matrix_ =
value;
1681 inline void GlopParameters::set_use_transposed_matrix(
bool value) {
1682 _internal_set_use_transposed_matrix(
value);
1687 inline bool GlopParameters::_internal_has_basis_refactorization_period()
const {
1688 bool value = (_has_bits_[0] & 0x00100000u) != 0;
1691 inline bool GlopParameters::has_basis_refactorization_period()
const {
1692 return _internal_has_basis_refactorization_period();
1694 inline void GlopParameters::clear_basis_refactorization_period() {
1695 basis_refactorization_period_ = 64;
1696 _has_bits_[0] &= ~0x00100000u;
1699 return basis_refactorization_period_;
1703 return _internal_basis_refactorization_period();
1706 _has_bits_[0] |= 0x00100000u;
1707 basis_refactorization_period_ =
value;
1710 _internal_set_basis_refactorization_period(
value);
1715 inline bool GlopParameters::_internal_has_solve_dual_problem()
const {
1716 bool value = (_has_bits_[0] & 0x00200000u) != 0;
1719 inline bool GlopParameters::has_solve_dual_problem()
const {
1720 return _internal_has_solve_dual_problem();
1722 inline void GlopParameters::clear_solve_dual_problem() {
1723 solve_dual_problem_ = 2;
1724 _has_bits_[0] &= ~0x00200000u;
1731 return _internal_solve_dual_problem();
1735 _has_bits_[0] |= 0x00200000u;
1736 solve_dual_problem_ =
value;
1739 _internal_set_solve_dual_problem(
value);
1744 inline bool GlopParameters::_internal_has_dualizer_threshold()
const {
1745 bool value = (_has_bits_[0] & 0x00400000u) != 0;
1748 inline bool GlopParameters::has_dualizer_threshold()
const {
1749 return _internal_has_dualizer_threshold();
1751 inline void GlopParameters::clear_dualizer_threshold() {
1752 dualizer_threshold_ = 1.5;
1753 _has_bits_[0] &= ~0x00400000u;
1755 inline double GlopParameters::_internal_dualizer_threshold()
const {
1756 return dualizer_threshold_;
1758 inline double GlopParameters::dualizer_threshold()
const {
1760 return _internal_dualizer_threshold();
1762 inline void GlopParameters::_internal_set_dualizer_threshold(
double value) {
1763 _has_bits_[0] |= 0x00400000u;
1764 dualizer_threshold_ =
value;
1766 inline void GlopParameters::set_dualizer_threshold(
double value) {
1767 _internal_set_dualizer_threshold(
value);
1772 inline bool GlopParameters::_internal_has_solution_feasibility_tolerance()
const {
1773 bool value = (_has_bits_[0] & 0x00800000u) != 0;
1776 inline bool GlopParameters::has_solution_feasibility_tolerance()
const {
1777 return _internal_has_solution_feasibility_tolerance();
1779 inline void GlopParameters::clear_solution_feasibility_tolerance() {
1780 solution_feasibility_tolerance_ = 1e-06;
1781 _has_bits_[0] &= ~0x00800000u;
1783 inline double GlopParameters::_internal_solution_feasibility_tolerance()
const {
1784 return solution_feasibility_tolerance_;
1786 inline double GlopParameters::solution_feasibility_tolerance()
const {
1788 return _internal_solution_feasibility_tolerance();
1790 inline void GlopParameters::_internal_set_solution_feasibility_tolerance(
double value) {
1791 _has_bits_[0] |= 0x00800000u;
1792 solution_feasibility_tolerance_ =
value;
1794 inline void GlopParameters::set_solution_feasibility_tolerance(
double value) {
1795 _internal_set_solution_feasibility_tolerance(
value);
1800 inline bool GlopParameters::_internal_has_provide_strong_optimal_guarantee()
const {
1801 bool value = (_has_bits_[1] & 0x00000001u) != 0;
1804 inline bool GlopParameters::has_provide_strong_optimal_guarantee()
const {
1805 return _internal_has_provide_strong_optimal_guarantee();
1807 inline void GlopParameters::clear_provide_strong_optimal_guarantee() {
1808 provide_strong_optimal_guarantee_ =
true;
1809 _has_bits_[1] &= ~0x00000001u;
1811 inline bool GlopParameters::_internal_provide_strong_optimal_guarantee()
const {
1812 return provide_strong_optimal_guarantee_;
1814 inline bool GlopParameters::provide_strong_optimal_guarantee()
const {
1816 return _internal_provide_strong_optimal_guarantee();
1818 inline void GlopParameters::_internal_set_provide_strong_optimal_guarantee(
bool value) {
1819 _has_bits_[1] |= 0x00000001u;
1820 provide_strong_optimal_guarantee_ =
value;
1822 inline void GlopParameters::set_provide_strong_optimal_guarantee(
bool value) {
1823 _internal_set_provide_strong_optimal_guarantee(
value);
1828 inline bool GlopParameters::_internal_has_change_status_to_imprecise()
const {
1829 bool value = (_has_bits_[1] & 0x00000002u) != 0;
1832 inline bool GlopParameters::has_change_status_to_imprecise()
const {
1833 return _internal_has_change_status_to_imprecise();
1835 inline void GlopParameters::clear_change_status_to_imprecise() {
1836 change_status_to_imprecise_ =
true;
1837 _has_bits_[1] &= ~0x00000002u;
1839 inline bool GlopParameters::_internal_change_status_to_imprecise()
const {
1840 return change_status_to_imprecise_;
1842 inline bool GlopParameters::change_status_to_imprecise()
const {
1844 return _internal_change_status_to_imprecise();
1846 inline void GlopParameters::_internal_set_change_status_to_imprecise(
bool value) {
1847 _has_bits_[1] |= 0x00000002u;
1848 change_status_to_imprecise_ =
value;
1850 inline void GlopParameters::set_change_status_to_imprecise(
bool value) {
1851 _internal_set_change_status_to_imprecise(
value);
1856 inline bool GlopParameters::_internal_has_max_number_of_reoptimizations()
const {
1857 bool value = (_has_bits_[1] & 0x00008000u) != 0;
1860 inline bool GlopParameters::has_max_number_of_reoptimizations()
const {
1861 return _internal_has_max_number_of_reoptimizations();
1863 inline void GlopParameters::clear_max_number_of_reoptimizations() {
1864 max_number_of_reoptimizations_ = 40;
1865 _has_bits_[1] &= ~0x00008000u;
1867 inline double GlopParameters::_internal_max_number_of_reoptimizations()
const {
1868 return max_number_of_reoptimizations_;
1870 inline double GlopParameters::max_number_of_reoptimizations()
const {
1872 return _internal_max_number_of_reoptimizations();
1874 inline void GlopParameters::_internal_set_max_number_of_reoptimizations(
double value) {
1875 _has_bits_[1] |= 0x00008000u;
1876 max_number_of_reoptimizations_ =
value;
1878 inline void GlopParameters::set_max_number_of_reoptimizations(
double value) {
1879 _internal_set_max_number_of_reoptimizations(
value);
1884 inline bool GlopParameters::_internal_has_lu_factorization_pivot_threshold()
const {
1885 bool value = (_has_bits_[0] & 0x01000000u) != 0;
1888 inline bool GlopParameters::has_lu_factorization_pivot_threshold()
const {
1889 return _internal_has_lu_factorization_pivot_threshold();
1891 inline void GlopParameters::clear_lu_factorization_pivot_threshold() {
1892 lu_factorization_pivot_threshold_ = 0.01;
1893 _has_bits_[0] &= ~0x01000000u;
1895 inline double GlopParameters::_internal_lu_factorization_pivot_threshold()
const {
1896 return lu_factorization_pivot_threshold_;
1898 inline double GlopParameters::lu_factorization_pivot_threshold()
const {
1900 return _internal_lu_factorization_pivot_threshold();
1902 inline void GlopParameters::_internal_set_lu_factorization_pivot_threshold(
double value) {
1903 _has_bits_[0] |= 0x01000000u;
1904 lu_factorization_pivot_threshold_ =
value;
1906 inline void GlopParameters::set_lu_factorization_pivot_threshold(
double value) {
1907 _internal_set_lu_factorization_pivot_threshold(
value);
1912 inline bool GlopParameters::_internal_has_max_time_in_seconds()
const {
1913 bool value = (_has_bits_[0] & 0x02000000u) != 0;
1916 inline bool GlopParameters::has_max_time_in_seconds()
const {
1917 return _internal_has_max_time_in_seconds();
1919 inline void GlopParameters::clear_max_time_in_seconds() {
1920 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1921 _has_bits_[0] &= ~0x02000000u;
1923 inline double GlopParameters::_internal_max_time_in_seconds()
const {
1924 return max_time_in_seconds_;
1926 inline double GlopParameters::max_time_in_seconds()
const {
1928 return _internal_max_time_in_seconds();
1930 inline void GlopParameters::_internal_set_max_time_in_seconds(
double value) {
1931 _has_bits_[0] |= 0x02000000u;
1932 max_time_in_seconds_ =
value;
1934 inline void GlopParameters::set_max_time_in_seconds(
double value) {
1935 _internal_set_max_time_in_seconds(
value);
1940 inline bool GlopParameters::_internal_has_max_deterministic_time()
const {
1941 bool value = (_has_bits_[1] & 0x00000800u) != 0;
1944 inline bool GlopParameters::has_max_deterministic_time()
const {
1945 return _internal_has_max_deterministic_time();
1947 inline void GlopParameters::clear_max_deterministic_time() {
1948 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1949 _has_bits_[1] &= ~0x00000800u;
1951 inline double GlopParameters::_internal_max_deterministic_time()
const {
1952 return max_deterministic_time_;
1954 inline double GlopParameters::max_deterministic_time()
const {
1956 return _internal_max_deterministic_time();
1958 inline void GlopParameters::_internal_set_max_deterministic_time(
double value) {
1959 _has_bits_[1] |= 0x00000800u;
1960 max_deterministic_time_ =
value;
1962 inline void GlopParameters::set_max_deterministic_time(
double value) {
1963 _internal_set_max_deterministic_time(
value);
1968 inline bool GlopParameters::_internal_has_max_number_of_iterations()
const {
1969 bool value = (_has_bits_[0] & 0x04000000u) != 0;
1972 inline bool GlopParameters::has_max_number_of_iterations()
const {
1973 return _internal_has_max_number_of_iterations();
1975 inline void GlopParameters::clear_max_number_of_iterations() {
1976 max_number_of_iterations_ = PROTOBUF_LONGLONG(-1);
1977 _has_bits_[0] &= ~0x04000000u;
1980 return max_number_of_iterations_;
1984 return _internal_max_number_of_iterations();
1987 _has_bits_[0] |= 0x04000000u;
1988 max_number_of_iterations_ =
value;
1991 _internal_set_max_number_of_iterations(
value);
1996 inline bool GlopParameters::_internal_has_markowitz_zlatev_parameter()
const {
1997 bool value = (_has_bits_[0] & 0x10000000u) != 0;
2000 inline bool GlopParameters::has_markowitz_zlatev_parameter()
const {
2001 return _internal_has_markowitz_zlatev_parameter();
2003 inline void GlopParameters::clear_markowitz_zlatev_parameter() {
2004 markowitz_zlatev_parameter_ = 3;
2005 _has_bits_[0] &= ~0x10000000u;
2008 return markowitz_zlatev_parameter_;
2012 return _internal_markowitz_zlatev_parameter();
2015 _has_bits_[0] |= 0x10000000u;
2016 markowitz_zlatev_parameter_ =
value;
2019 _internal_set_markowitz_zlatev_parameter(
value);
2024 inline bool GlopParameters::_internal_has_markowitz_singularity_threshold()
const {
2025 bool value = (_has_bits_[0] & 0x08000000u) != 0;
2028 inline bool GlopParameters::has_markowitz_singularity_threshold()
const {
2029 return _internal_has_markowitz_singularity_threshold();
2031 inline void GlopParameters::clear_markowitz_singularity_threshold() {
2032 markowitz_singularity_threshold_ = 1e-15;
2033 _has_bits_[0] &= ~0x08000000u;
2035 inline double GlopParameters::_internal_markowitz_singularity_threshold()
const {
2036 return markowitz_singularity_threshold_;
2038 inline double GlopParameters::markowitz_singularity_threshold()
const {
2040 return _internal_markowitz_singularity_threshold();
2042 inline void GlopParameters::_internal_set_markowitz_singularity_threshold(
double value) {
2043 _has_bits_[0] |= 0x08000000u;
2044 markowitz_singularity_threshold_ =
value;
2046 inline void GlopParameters::set_markowitz_singularity_threshold(
double value) {
2047 _internal_set_markowitz_singularity_threshold(
value);
2052 inline bool GlopParameters::_internal_has_use_dual_simplex()
const {
2053 bool value = (_has_bits_[0] & 0x00000001u) != 0;
2056 inline bool GlopParameters::has_use_dual_simplex()
const {
2057 return _internal_has_use_dual_simplex();
2059 inline void GlopParameters::clear_use_dual_simplex() {
2060 use_dual_simplex_ =
false;
2061 _has_bits_[0] &= ~0x00000001u;
2063 inline bool GlopParameters::_internal_use_dual_simplex()
const {
2064 return use_dual_simplex_;
2066 inline bool GlopParameters::use_dual_simplex()
const {
2068 return _internal_use_dual_simplex();
2070 inline void GlopParameters::_internal_set_use_dual_simplex(
bool value) {
2071 _has_bits_[0] |= 0x00000001u;
2072 use_dual_simplex_ =
value;
2074 inline void GlopParameters::set_use_dual_simplex(
bool value) {
2075 _internal_set_use_dual_simplex(
value);
2080 inline bool GlopParameters::_internal_has_allow_simplex_algorithm_change()
const {
2081 bool value = (_has_bits_[0] & 0x00000002u) != 0;
2084 inline bool GlopParameters::has_allow_simplex_algorithm_change()
const {
2085 return _internal_has_allow_simplex_algorithm_change();
2087 inline void GlopParameters::clear_allow_simplex_algorithm_change() {
2088 allow_simplex_algorithm_change_ =
false;
2089 _has_bits_[0] &= ~0x00000002u;
2091 inline bool GlopParameters::_internal_allow_simplex_algorithm_change()
const {
2092 return allow_simplex_algorithm_change_;
2094 inline bool GlopParameters::allow_simplex_algorithm_change()
const {
2096 return _internal_allow_simplex_algorithm_change();
2098 inline void GlopParameters::_internal_set_allow_simplex_algorithm_change(
bool value) {
2099 _has_bits_[0] |= 0x00000002u;
2100 allow_simplex_algorithm_change_ =
value;
2102 inline void GlopParameters::set_allow_simplex_algorithm_change(
bool value) {
2103 _internal_set_allow_simplex_algorithm_change(
value);
2108 inline bool GlopParameters::_internal_has_devex_weights_reset_period()
const {
2109 bool value = (_has_bits_[0] & 0x20000000u) != 0;
2112 inline bool GlopParameters::has_devex_weights_reset_period()
const {
2113 return _internal_has_devex_weights_reset_period();
2115 inline void GlopParameters::clear_devex_weights_reset_period() {
2116 devex_weights_reset_period_ = 150;
2117 _has_bits_[0] &= ~0x20000000u;
2120 return devex_weights_reset_period_;
2124 return _internal_devex_weights_reset_period();
2127 _has_bits_[0] |= 0x20000000u;
2128 devex_weights_reset_period_ =
value;
2131 _internal_set_devex_weights_reset_period(
value);
2136 inline bool GlopParameters::_internal_has_use_preprocessing()
const {
2137 bool value = (_has_bits_[1] & 0x00000004u) != 0;
2140 inline bool GlopParameters::has_use_preprocessing()
const {
2141 return _internal_has_use_preprocessing();
2143 inline void GlopParameters::clear_use_preprocessing() {
2144 use_preprocessing_ =
true;
2145 _has_bits_[1] &= ~0x00000004u;
2147 inline bool GlopParameters::_internal_use_preprocessing()
const {
2148 return use_preprocessing_;
2150 inline bool GlopParameters::use_preprocessing()
const {
2152 return _internal_use_preprocessing();
2154 inline void GlopParameters::_internal_set_use_preprocessing(
bool value) {
2155 _has_bits_[1] |= 0x00000004u;
2156 use_preprocessing_ =
value;
2158 inline void GlopParameters::set_use_preprocessing(
bool value) {
2159 _internal_set_use_preprocessing(
value);
2164 inline bool GlopParameters::_internal_has_use_middle_product_form_update()
const {
2165 bool value = (_has_bits_[1] & 0x00000008u) != 0;
2168 inline bool GlopParameters::has_use_middle_product_form_update()
const {
2169 return _internal_has_use_middle_product_form_update();
2171 inline void GlopParameters::clear_use_middle_product_form_update() {
2172 use_middle_product_form_update_ =
true;
2173 _has_bits_[1] &= ~0x00000008u;
2175 inline bool GlopParameters::_internal_use_middle_product_form_update()
const {
2176 return use_middle_product_form_update_;
2178 inline bool GlopParameters::use_middle_product_form_update()
const {
2180 return _internal_use_middle_product_form_update();
2182 inline void GlopParameters::_internal_set_use_middle_product_form_update(
bool value) {
2183 _has_bits_[1] |= 0x00000008u;
2184 use_middle_product_form_update_ =
value;
2186 inline void GlopParameters::set_use_middle_product_form_update(
bool value) {
2187 _internal_set_use_middle_product_form_update(
value);
2192 inline bool GlopParameters::_internal_has_initialize_devex_with_column_norms()
const {
2193 bool value = (_has_bits_[0] & 0x40000000u) != 0;
2196 inline bool GlopParameters::has_initialize_devex_with_column_norms()
const {
2197 return _internal_has_initialize_devex_with_column_norms();
2199 inline void GlopParameters::clear_initialize_devex_with_column_norms() {
2200 initialize_devex_with_column_norms_ =
true;
2201 _has_bits_[0] &= ~0x40000000u;
2203 inline bool GlopParameters::_internal_initialize_devex_with_column_norms()
const {
2204 return initialize_devex_with_column_norms_;
2206 inline bool GlopParameters::initialize_devex_with_column_norms()
const {
2208 return _internal_initialize_devex_with_column_norms();
2210 inline void GlopParameters::_internal_set_initialize_devex_with_column_norms(
bool value) {
2211 _has_bits_[0] |= 0x40000000u;
2212 initialize_devex_with_column_norms_ =
value;
2214 inline void GlopParameters::set_initialize_devex_with_column_norms(
bool value) {
2215 _internal_set_initialize_devex_with_column_norms(
value);
2220 inline bool GlopParameters::_internal_has_exploit_singleton_column_in_initial_basis()
const {
2221 bool value = (_has_bits_[0] & 0x80000000u) != 0;
2224 inline bool GlopParameters::has_exploit_singleton_column_in_initial_basis()
const {
2225 return _internal_has_exploit_singleton_column_in_initial_basis();
2227 inline void GlopParameters::clear_exploit_singleton_column_in_initial_basis() {
2228 exploit_singleton_column_in_initial_basis_ =
true;
2229 _has_bits_[0] &= ~0x80000000u;
2231 inline bool GlopParameters::_internal_exploit_singleton_column_in_initial_basis()
const {
2232 return exploit_singleton_column_in_initial_basis_;
2234 inline bool GlopParameters::exploit_singleton_column_in_initial_basis()
const {
2236 return _internal_exploit_singleton_column_in_initial_basis();
2238 inline void GlopParameters::_internal_set_exploit_singleton_column_in_initial_basis(
bool value) {
2239 _has_bits_[0] |= 0x80000000u;
2240 exploit_singleton_column_in_initial_basis_ =
value;
2242 inline void GlopParameters::set_exploit_singleton_column_in_initial_basis(
bool value) {
2243 _internal_set_exploit_singleton_column_in_initial_basis(
value);
2248 inline bool GlopParameters::_internal_has_dual_small_pivot_threshold()
const {
2249 bool value = (_has_bits_[1] & 0x00000010u) != 0;
2252 inline bool GlopParameters::has_dual_small_pivot_threshold()
const {
2253 return _internal_has_dual_small_pivot_threshold();
2255 inline void GlopParameters::clear_dual_small_pivot_threshold() {
2256 dual_small_pivot_threshold_ = 0.0001;
2257 _has_bits_[1] &= ~0x00000010u;
2259 inline double GlopParameters::_internal_dual_small_pivot_threshold()
const {
2260 return dual_small_pivot_threshold_;
2262 inline double GlopParameters::dual_small_pivot_threshold()
const {
2264 return _internal_dual_small_pivot_threshold();
2266 inline void GlopParameters::_internal_set_dual_small_pivot_threshold(
double value) {
2267 _has_bits_[1] |= 0x00000010u;
2268 dual_small_pivot_threshold_ =
value;
2270 inline void GlopParameters::set_dual_small_pivot_threshold(
double value) {
2271 _internal_set_dual_small_pivot_threshold(
value);
2276 inline bool GlopParameters::_internal_has_preprocessor_zero_tolerance()
const {
2277 bool value = (_has_bits_[1] & 0x00000020u) != 0;
2280 inline bool GlopParameters::has_preprocessor_zero_tolerance()
const {
2281 return _internal_has_preprocessor_zero_tolerance();
2283 inline void GlopParameters::clear_preprocessor_zero_tolerance() {
2284 preprocessor_zero_tolerance_ = 1e-09;
2285 _has_bits_[1] &= ~0x00000020u;
2287 inline double GlopParameters::_internal_preprocessor_zero_tolerance()
const {
2288 return preprocessor_zero_tolerance_;
2290 inline double GlopParameters::preprocessor_zero_tolerance()
const {
2292 return _internal_preprocessor_zero_tolerance();
2294 inline void GlopParameters::_internal_set_preprocessor_zero_tolerance(
double value) {
2295 _has_bits_[1] |= 0x00000020u;
2296 preprocessor_zero_tolerance_ =
value;
2298 inline void GlopParameters::set_preprocessor_zero_tolerance(
double value) {
2299 _internal_set_preprocessor_zero_tolerance(
value);
2304 inline bool GlopParameters::_internal_has_objective_lower_limit()
const {
2305 bool value = (_has_bits_[1] & 0x00000040u) != 0;
2308 inline bool GlopParameters::has_objective_lower_limit()
const {
2309 return _internal_has_objective_lower_limit();
2311 inline void GlopParameters::clear_objective_lower_limit() {
2312 objective_lower_limit_ = -std::numeric_limits<double>::infinity();
2313 _has_bits_[1] &= ~0x00000040u;
2315 inline double GlopParameters::_internal_objective_lower_limit()
const {
2316 return objective_lower_limit_;
2318 inline double GlopParameters::objective_lower_limit()
const {
2320 return _internal_objective_lower_limit();
2322 inline void GlopParameters::_internal_set_objective_lower_limit(
double value) {
2323 _has_bits_[1] |= 0x00000040u;
2324 objective_lower_limit_ =
value;
2326 inline void GlopParameters::set_objective_lower_limit(
double value) {
2327 _internal_set_objective_lower_limit(
value);
2332 inline bool GlopParameters::_internal_has_objective_upper_limit()
const {
2333 bool value = (_has_bits_[1] & 0x00000080u) != 0;
2336 inline bool GlopParameters::has_objective_upper_limit()
const {
2337 return _internal_has_objective_upper_limit();
2339 inline void GlopParameters::clear_objective_upper_limit() {
2340 objective_upper_limit_ = std::numeric_limits<double>::infinity();
2341 _has_bits_[1] &= ~0x00000080u;
2343 inline double GlopParameters::_internal_objective_upper_limit()
const {
2344 return objective_upper_limit_;
2346 inline double GlopParameters::objective_upper_limit()
const {
2348 return _internal_objective_upper_limit();
2350 inline void GlopParameters::_internal_set_objective_upper_limit(
double value) {
2351 _has_bits_[1] |= 0x00000080u;
2352 objective_upper_limit_ =
value;
2354 inline void GlopParameters::set_objective_upper_limit(
double value) {
2355 _internal_set_objective_upper_limit(
value);
2360 inline bool GlopParameters::_internal_has_degenerate_ministep_factor()
const {
2361 bool value = (_has_bits_[1] & 0x00000100u) != 0;
2364 inline bool GlopParameters::has_degenerate_ministep_factor()
const {
2365 return _internal_has_degenerate_ministep_factor();
2367 inline void GlopParameters::clear_degenerate_ministep_factor() {
2368 degenerate_ministep_factor_ = 0.01;
2369 _has_bits_[1] &= ~0x00000100u;
2371 inline double GlopParameters::_internal_degenerate_ministep_factor()
const {
2372 return degenerate_ministep_factor_;
2374 inline double GlopParameters::degenerate_ministep_factor()
const {
2376 return _internal_degenerate_ministep_factor();
2378 inline void GlopParameters::_internal_set_degenerate_ministep_factor(
double value) {
2379 _has_bits_[1] |= 0x00000100u;
2380 degenerate_ministep_factor_ =
value;
2382 inline void GlopParameters::set_degenerate_ministep_factor(
double value) {
2383 _internal_set_degenerate_ministep_factor(
value);
2388 inline bool GlopParameters::_internal_has_random_seed()
const {
2389 bool value = (_has_bits_[1] & 0x00000200u) != 0;
2392 inline bool GlopParameters::has_random_seed()
const {
2393 return _internal_has_random_seed();
2395 inline void GlopParameters::clear_random_seed() {
2397 _has_bits_[1] &= ~0x00000200u;
2400 return random_seed_;
2404 return _internal_random_seed();
2407 _has_bits_[1] |= 0x00000200u;
2408 random_seed_ =
value;
2411 _internal_set_random_seed(
value);
2416 inline bool GlopParameters::_internal_has_num_omp_threads()
const {
2417 bool value = (_has_bits_[1] & 0x00000400u) != 0;
2420 inline bool GlopParameters::has_num_omp_threads()
const {
2421 return _internal_has_num_omp_threads();
2423 inline void GlopParameters::clear_num_omp_threads() {
2424 num_omp_threads_ = 1;
2425 _has_bits_[1] &= ~0x00000400u;
2428 return num_omp_threads_;
2432 return _internal_num_omp_threads();
2435 _has_bits_[1] |= 0x00000400u;
2436 num_omp_threads_ =
value;
2439 _internal_set_num_omp_threads(
value);
2444 inline bool GlopParameters::_internal_has_perturb_costs_in_dual_simplex()
const {
2445 bool value = (_has_bits_[0] & 0x00000004u) != 0;
2448 inline bool GlopParameters::has_perturb_costs_in_dual_simplex()
const {
2449 return _internal_has_perturb_costs_in_dual_simplex();
2451 inline void GlopParameters::clear_perturb_costs_in_dual_simplex() {
2452 perturb_costs_in_dual_simplex_ =
false;
2453 _has_bits_[0] &= ~0x00000004u;
2455 inline bool GlopParameters::_internal_perturb_costs_in_dual_simplex()
const {
2456 return perturb_costs_in_dual_simplex_;
2458 inline bool GlopParameters::perturb_costs_in_dual_simplex()
const {
2460 return _internal_perturb_costs_in_dual_simplex();
2462 inline void GlopParameters::_internal_set_perturb_costs_in_dual_simplex(
bool value) {
2463 _has_bits_[0] |= 0x00000004u;
2464 perturb_costs_in_dual_simplex_ =
value;
2466 inline void GlopParameters::set_perturb_costs_in_dual_simplex(
bool value) {
2467 _internal_set_perturb_costs_in_dual_simplex(
value);
2472 inline bool GlopParameters::_internal_has_relative_cost_perturbation()
const {
2473 bool value = (_has_bits_[1] & 0x00002000u) != 0;
2476 inline bool GlopParameters::has_relative_cost_perturbation()
const {
2477 return _internal_has_relative_cost_perturbation();
2479 inline void GlopParameters::clear_relative_cost_perturbation() {
2480 relative_cost_perturbation_ = 1e-05;
2481 _has_bits_[1] &= ~0x00002000u;
2483 inline double GlopParameters::_internal_relative_cost_perturbation()
const {
2484 return relative_cost_perturbation_;
2486 inline double GlopParameters::relative_cost_perturbation()
const {
2488 return _internal_relative_cost_perturbation();
2490 inline void GlopParameters::_internal_set_relative_cost_perturbation(
double value) {
2491 _has_bits_[1] |= 0x00002000u;
2492 relative_cost_perturbation_ =
value;
2494 inline void GlopParameters::set_relative_cost_perturbation(
double value) {
2495 _internal_set_relative_cost_perturbation(
value);
2500 inline bool GlopParameters::_internal_has_relative_max_cost_perturbation()
const {
2501 bool value = (_has_bits_[1] & 0x00004000u) != 0;
2504 inline bool GlopParameters::has_relative_max_cost_perturbation()
const {
2505 return _internal_has_relative_max_cost_perturbation();
2507 inline void GlopParameters::clear_relative_max_cost_perturbation() {
2508 relative_max_cost_perturbation_ = 1e-07;
2509 _has_bits_[1] &= ~0x00004000u;
2511 inline double GlopParameters::_internal_relative_max_cost_perturbation()
const {
2512 return relative_max_cost_perturbation_;
2514 inline double GlopParameters::relative_max_cost_perturbation()
const {
2516 return _internal_relative_max_cost_perturbation();
2518 inline void GlopParameters::_internal_set_relative_max_cost_perturbation(
double value) {
2519 _has_bits_[1] |= 0x00004000u;
2520 relative_max_cost_perturbation_ =
value;
2522 inline void GlopParameters::set_relative_max_cost_perturbation(
double value) {
2523 _internal_set_relative_max_cost_perturbation(
value);
2528 inline bool GlopParameters::_internal_has_initial_condition_number_threshold()
const {
2529 bool value = (_has_bits_[1] & 0x00010000u) != 0;
2532 inline bool GlopParameters::has_initial_condition_number_threshold()
const {
2533 return _internal_has_initial_condition_number_threshold();
2535 inline void GlopParameters::clear_initial_condition_number_threshold() {
2536 initial_condition_number_threshold_ = 1e+50;
2537 _has_bits_[1] &= ~0x00010000u;
2539 inline double GlopParameters::_internal_initial_condition_number_threshold()
const {
2540 return initial_condition_number_threshold_;
2542 inline double GlopParameters::initial_condition_number_threshold()
const {
2544 return _internal_initial_condition_number_threshold();
2546 inline void GlopParameters::_internal_set_initial_condition_number_threshold(
double value) {
2547 _has_bits_[1] |= 0x00010000u;
2548 initial_condition_number_threshold_ =
value;
2550 inline void GlopParameters::set_initial_condition_number_threshold(
double value) {
2551 _internal_set_initial_condition_number_threshold(
value);
2556 #pragma GCC diagnostic pop
2564 PROTOBUF_NAMESPACE_OPEN
2568 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_ScalingAlgorithm>() {
2573 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_SolverBehavior>() {
2578 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_PricingRule>() {
2583 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_InitialBasisHeuristic>() {
2587 PROTOBUF_NAMESPACE_CLOSE
2591 #include <google/protobuf/port_undef.inc>
2592 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fglop_2fparameters_2eproto