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 < 3019000
12#error This file was generated by a newer version of protoc which is
13#error incompatible with your Protocol Buffer headers. Please update
16#if 3019001 < PROTOBUF_MIN_PROTOC_VERSION
17#error This file was generated by an older version of protoc which is
18#error incompatible with your Protocol Buffer headers. Please
19#error regenerate this file with a newer version of protoc.
22#include <google/protobuf/port_undef.inc>
23#include <google/protobuf/io/coded_stream.h>
24#include <google/protobuf/arena.h>
25#include <google/protobuf/arenastring.h>
26#include <google/protobuf/generated_message_table_driven.h>
27#include <google/protobuf/generated_message_util.h>
28#include <google/protobuf/metadata_lite.h>
29#include <google/protobuf/generated_message_reflection.h>
30#include <google/protobuf/message.h>
31#include <google/protobuf/repeated_field.h>
32#include <google/protobuf/extension_set.h>
33#include <google/protobuf/generated_enum_reflection.h>
34#include <google/protobuf/unknown_field_set.h>
36#include <google/protobuf/port_def.inc>
37#define PROTOBUF_INTERNAL_EXPORT_ortools_2fglop_2fparameters_2eproto
38PROTOBUF_NAMESPACE_OPEN
42PROTOBUF_NAMESPACE_CLOSE
46 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
48 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
50 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
52 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata
field_metadata[];
60struct GlopParametersDefaultTypeInternal;
64PROTOBUF_NAMESPACE_OPEN
66PROTOBUF_NAMESPACE_CLOSE
85 "Incorrect type passed to function GlopParameters_ScalingAlgorithm_Name.");
86 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
91 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_ScalingAlgorithm>(
109 "Incorrect type passed to function GlopParameters_SolverBehavior_Name.");
110 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
115 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_SolverBehavior>(
133 "Incorrect type passed to function GlopParameters_PricingRule_Name.");
134 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
139 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_PricingRule>(
158 "Incorrect type passed to function GlopParameters_InitialBasisHeuristic_Name.");
159 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
164 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_InitialBasisHeuristic>(
183 "Incorrect type passed to function GlopParameters_CostScalingAlgorithm_Name.");
184 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
189 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GlopParameters_CostScalingAlgorithm>(
195 public ::PROTOBUF_NAMESPACE_ID::Message {
199 explicit constexpr GlopParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
204 *
this = ::std::move(from);
212 if (
this == &from)
return *
this;
213 if (GetOwningArena() == from.GetOwningArena()
214 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
215 && GetOwningArena() !=
nullptr
226 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
229 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
232 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
255 if (other ==
this)
return;
256 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
257 if (GetOwningArena() !=
nullptr &&
258 GetOwningArena() == other->GetOwningArena()) {
260 if (GetOwningArena() == other->GetOwningArena()) {
264 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
268 if (other ==
this)
return;
269 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
276 return CreateMaybeMessage<GlopParameters>(arena);
278 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
280 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
283 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
285 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
291 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
297 void SetCachedSize(
int size)
const final;
301 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
302 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
303 return "operations_research.glop.GlopParameters";
307 bool is_message_owned =
false);
309 static void ArenaDtor(
void*
object);
310 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
314 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
316 ::PROTOBUF_NAMESPACE_ID::Metadata
GetMetadata() const final;
336 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
344 "Incorrect type passed to function ScalingAlgorithm_Name.");
368 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
376 "Incorrect type passed to function SolverBehavior_Name.");
400 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
408 "Incorrect type passed to function PricingRule_Name.");
434 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
442 "Incorrect type passed to function InitialBasisHeuristic_Name.");
468 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
476 "Incorrect type passed to function CostScalingAlgorithm_Name.");
546 bool _internal_has_use_dual_simplex()
const;
552 bool _internal_use_dual_simplex()
const;
553 void _internal_set_use_dual_simplex(
bool value);
559 bool _internal_has_allow_simplex_algorithm_change()
const;
565 bool _internal_allow_simplex_algorithm_change()
const;
566 void _internal_set_allow_simplex_algorithm_change(
bool value);
572 bool _internal_has_perturb_costs_in_dual_simplex()
const;
578 bool _internal_perturb_costs_in_dual_simplex()
const;
579 void _internal_set_perturb_costs_in_dual_simplex(
bool value);
585 bool _internal_has_log_search_progress()
const;
591 bool _internal_log_search_progress()
const;
592 void _internal_set_log_search_progress(
bool value);
598 bool _internal_has_use_implied_free_preprocessor()
const;
604 bool _internal_use_implied_free_preprocessor()
const;
605 void _internal_set_use_implied_free_preprocessor(
bool value);
611 bool _internal_has_feasibility_rule()
const;
624 bool _internal_has_optimization_rule()
const;
637 bool _internal_has_refactorization_threshold()
const;
643 double _internal_refactorization_threshold()
const;
644 void _internal_set_refactorization_threshold(
double value);
650 bool _internal_has_recompute_reduced_costs_threshold()
const;
656 double _internal_recompute_reduced_costs_threshold()
const;
657 void _internal_set_recompute_reduced_costs_threshold(
double value);
663 bool _internal_has_recompute_edges_norm_threshold()
const;
669 double _internal_recompute_edges_norm_threshold()
const;
670 void _internal_set_recompute_edges_norm_threshold(
double value);
676 bool _internal_has_primal_feasibility_tolerance()
const;
682 double _internal_primal_feasibility_tolerance()
const;
683 void _internal_set_primal_feasibility_tolerance(
double value);
689 bool _internal_has_dual_feasibility_tolerance()
const;
695 double _internal_dual_feasibility_tolerance()
const;
696 void _internal_set_dual_feasibility_tolerance(
double value);
702 bool _internal_has_ratio_test_zero_threshold()
const;
708 double _internal_ratio_test_zero_threshold()
const;
709 void _internal_set_ratio_test_zero_threshold(
double value);
715 bool _internal_has_harris_tolerance_ratio()
const;
721 double _internal_harris_tolerance_ratio()
const;
722 void _internal_set_harris_tolerance_ratio(
double value);
728 bool _internal_has_small_pivot_threshold()
const;
734 double _internal_small_pivot_threshold()
const;
735 void _internal_set_small_pivot_threshold(
double value);
741 bool _internal_has_minimum_acceptable_pivot()
const;
747 double _internal_minimum_acceptable_pivot()
const;
748 void _internal_set_minimum_acceptable_pivot(
double value);
754 bool _internal_has_initial_basis()
const;
767 bool _internal_has_basis_refactorization_period()
const;
773 int32_t _internal_basis_refactorization_period()
const;
774 void _internal_set_basis_refactorization_period(int32_t
value);
780 bool _internal_has_dualizer_threshold()
const;
786 double _internal_dualizer_threshold()
const;
787 void _internal_set_dualizer_threshold(
double value);
793 bool _internal_has_solution_feasibility_tolerance()
const;
799 double _internal_solution_feasibility_tolerance()
const;
800 void _internal_set_solution_feasibility_tolerance(
double value);
806 bool _internal_has_solve_dual_problem()
const;
819 bool _internal_has_markowitz_zlatev_parameter()
const;
825 int32_t _internal_markowitz_zlatev_parameter()
const;
826 void _internal_set_markowitz_zlatev_parameter(int32_t
value);
832 bool _internal_has_lu_factorization_pivot_threshold()
const;
838 double _internal_lu_factorization_pivot_threshold()
const;
839 void _internal_set_lu_factorization_pivot_threshold(
double value);
845 bool _internal_has_max_time_in_seconds()
const;
851 double _internal_max_time_in_seconds()
const;
852 void _internal_set_max_time_in_seconds(
double value);
858 bool _internal_has_max_number_of_iterations()
const;
864 int64_t _internal_max_number_of_iterations()
const;
865 void _internal_set_max_number_of_iterations(int64_t
value);
871 bool _internal_has_markowitz_singularity_threshold()
const;
877 double _internal_markowitz_singularity_threshold()
const;
878 void _internal_set_markowitz_singularity_threshold(
double value);
884 bool _internal_has_use_scaling()
const;
890 bool _internal_use_scaling()
const;
891 void _internal_set_use_scaling(
bool value);
897 bool _internal_has_use_transposed_matrix()
const;
903 bool _internal_use_transposed_matrix()
const;
904 void _internal_set_use_transposed_matrix(
bool value);
910 bool _internal_has_dynamically_adjust_refactorization_period()
const;
916 bool _internal_dynamically_adjust_refactorization_period()
const;
917 void _internal_set_dynamically_adjust_refactorization_period(
bool value);
923 bool _internal_has_provide_strong_optimal_guarantee()
const;
929 bool _internal_provide_strong_optimal_guarantee()
const;
930 void _internal_set_provide_strong_optimal_guarantee(
bool value);
936 bool _internal_has_devex_weights_reset_period()
const;
942 int32_t _internal_devex_weights_reset_period()
const;
943 void _internal_set_devex_weights_reset_period(int32_t
value);
949 bool _internal_has_dual_small_pivot_threshold()
const;
955 double _internal_dual_small_pivot_threshold()
const;
956 void _internal_set_dual_small_pivot_threshold(
double value);
962 bool _internal_has_preprocessor_zero_tolerance()
const;
968 double _internal_preprocessor_zero_tolerance()
const;
969 void _internal_set_preprocessor_zero_tolerance(
double value);
975 bool _internal_has_objective_lower_limit()
const;
981 double _internal_objective_lower_limit()
const;
982 void _internal_set_objective_lower_limit(
double value);
988 bool _internal_has_objective_upper_limit()
const;
994 double _internal_objective_upper_limit()
const;
995 void _internal_set_objective_upper_limit(
double value);
1001 bool _internal_has_change_status_to_imprecise()
const;
1007 bool _internal_change_status_to_imprecise()
const;
1008 void _internal_set_change_status_to_imprecise(
bool value);
1014 bool _internal_has_use_preprocessing()
const;
1020 bool _internal_use_preprocessing()
const;
1021 void _internal_set_use_preprocessing(
bool value);
1027 bool _internal_has_use_middle_product_form_update()
const;
1033 bool _internal_use_middle_product_form_update()
const;
1034 void _internal_set_use_middle_product_form_update(
bool value);
1040 bool _internal_has_initialize_devex_with_column_norms()
const;
1046 bool _internal_initialize_devex_with_column_norms()
const;
1047 void _internal_set_initialize_devex_with_column_norms(
bool value);
1053 bool _internal_has_random_seed()
const;
1059 int32_t _internal_random_seed()
const;
1060 void _internal_set_random_seed(int32_t
value);
1066 bool _internal_has_degenerate_ministep_factor()
const;
1072 double _internal_degenerate_ministep_factor()
const;
1073 void _internal_set_degenerate_ministep_factor(
double value);
1079 bool _internal_has_max_deterministic_time()
const;
1085 double _internal_max_deterministic_time()
const;
1086 void _internal_set_max_deterministic_time(
double value);
1092 bool _internal_has_num_omp_threads()
const;
1098 int32_t _internal_num_omp_threads()
const;
1099 void _internal_set_num_omp_threads(int32_t
value);
1105 bool _internal_has_scaling_method()
const;
1118 bool _internal_has_drop_tolerance()
const;
1124 double _internal_drop_tolerance()
const;
1125 void _internal_set_drop_tolerance(
double value);
1131 bool _internal_has_relative_cost_perturbation()
const;
1137 double _internal_relative_cost_perturbation()
const;
1138 void _internal_set_relative_cost_perturbation(
double value);
1144 bool _internal_has_relative_max_cost_perturbation()
const;
1150 double _internal_relative_max_cost_perturbation()
const;
1151 void _internal_set_relative_max_cost_perturbation(
double value);
1157 bool _internal_has_max_number_of_reoptimizations()
const;
1163 double _internal_max_number_of_reoptimizations()
const;
1164 void _internal_set_max_number_of_reoptimizations(
double value);
1170 bool _internal_has_exploit_singleton_column_in_initial_basis()
const;
1176 bool _internal_exploit_singleton_column_in_initial_basis()
const;
1177 void _internal_set_exploit_singleton_column_in_initial_basis(
bool value);
1183 bool _internal_has_use_dedicated_dual_feasibility_algorithm()
const;
1189 bool _internal_use_dedicated_dual_feasibility_algorithm()
const;
1190 void _internal_set_use_dedicated_dual_feasibility_algorithm(
bool value);
1196 bool _internal_has_log_to_stdout()
const;
1202 bool _internal_log_to_stdout()
const;
1203 void _internal_set_log_to_stdout(
bool value);
1209 bool _internal_has_push_to_vertex()
const;
1215 bool _internal_push_to_vertex()
const;
1216 void _internal_set_push_to_vertex(
bool value);
1222 bool _internal_has_cost_scaling()
const;
1235 bool _internal_has_initial_condition_number_threshold()
const;
1241 double _internal_initial_condition_number_threshold()
const;
1242 void _internal_set_initial_condition_number_threshold(
double value);
1248 bool _internal_has_crossover_bound_snapping_distance()
const;
1254 double _internal_crossover_bound_snapping_distance()
const;
1255 void _internal_set_crossover_bound_snapping_distance(
double value);
1262 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1263 typedef void InternalArenaConstructable_;
1264 typedef void DestructorSkippable_;
1265 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1266 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1267 bool use_dual_simplex_;
1268 bool allow_simplex_algorithm_change_;
1269 bool perturb_costs_in_dual_simplex_;
1270 bool log_search_progress_;
1271 bool use_implied_free_preprocessor_;
1272 int feasibility_rule_;
1273 int optimization_rule_;
1274 double refactorization_threshold_;
1275 double recompute_reduced_costs_threshold_;
1276 double recompute_edges_norm_threshold_;
1277 double primal_feasibility_tolerance_;
1278 double dual_feasibility_tolerance_;
1279 double ratio_test_zero_threshold_;
1280 double harris_tolerance_ratio_;
1281 double small_pivot_threshold_;
1282 double minimum_acceptable_pivot_;
1284 int32_t basis_refactorization_period_;
1285 double dualizer_threshold_;
1286 double solution_feasibility_tolerance_;
1287 int solve_dual_problem_;
1288 int32_t markowitz_zlatev_parameter_;
1289 double lu_factorization_pivot_threshold_;
1290 double max_time_in_seconds_;
1291 int64_t max_number_of_iterations_;
1292 double markowitz_singularity_threshold_;
1294 bool use_transposed_matrix_;
1295 bool dynamically_adjust_refactorization_period_;
1296 bool provide_strong_optimal_guarantee_;
1297 int32_t devex_weights_reset_period_;
1298 double dual_small_pivot_threshold_;
1299 double preprocessor_zero_tolerance_;
1300 double objective_lower_limit_;
1301 double objective_upper_limit_;
1302 bool change_status_to_imprecise_;
1303 bool use_preprocessing_;
1304 bool use_middle_product_form_update_;
1305 bool initialize_devex_with_column_norms_;
1306 int32_t random_seed_;
1307 double degenerate_ministep_factor_;
1308 double max_deterministic_time_;
1309 int32_t num_omp_threads_;
1310 int scaling_method_;
1311 double drop_tolerance_;
1312 double relative_cost_perturbation_;
1313 double relative_max_cost_perturbation_;
1314 double max_number_of_reoptimizations_;
1315 bool exploit_singleton_column_in_initial_basis_;
1316 bool use_dedicated_dual_feasibility_algorithm_;
1317 bool log_to_stdout_;
1318 bool push_to_vertex_;
1320 double initial_condition_number_threshold_;
1321 double crossover_bound_snapping_distance_;
1322 friend struct ::TableStruct_ortools_2fglop_2fparameters_2eproto;
1330 #pragma GCC diagnostic push
1331 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1336inline bool GlopParameters::_internal_has_scaling_method()
const {
1337 bool value = (_has_bits_[1] & 0x00000800u) != 0;
1341 return _internal_has_scaling_method();
1344 scaling_method_ = 1;
1345 _has_bits_[1] &= ~0x00000800u;
1352 return _internal_scaling_method();
1356 _has_bits_[1] |= 0x00000800u;
1357 scaling_method_ =
value;
1360 _internal_set_scaling_method(
value);
1365inline bool GlopParameters::_internal_has_feasibility_rule()
const {
1366 bool value = (_has_bits_[0] & 0x00000020u) != 0;
1370 return _internal_has_feasibility_rule();
1373 feasibility_rule_ = 1;
1374 _has_bits_[0] &= ~0x00000020u;
1381 return _internal_feasibility_rule();
1385 _has_bits_[0] |= 0x00000020u;
1386 feasibility_rule_ =
value;
1389 _internal_set_feasibility_rule(
value);
1394inline bool GlopParameters::_internal_has_optimization_rule()
const {
1395 bool value = (_has_bits_[0] & 0x00000040u) != 0;
1399 return _internal_has_optimization_rule();
1402 optimization_rule_ = 1;
1403 _has_bits_[0] &= ~0x00000040u;
1410 return _internal_optimization_rule();
1414 _has_bits_[0] |= 0x00000040u;
1415 optimization_rule_ =
value;
1418 _internal_set_optimization_rule(
value);
1423inline bool GlopParameters::_internal_has_refactorization_threshold()
const {
1424 bool value = (_has_bits_[0] & 0x00000080u) != 0;
1428 return _internal_has_refactorization_threshold();
1431 refactorization_threshold_ = 1e-09;
1432 _has_bits_[0] &= ~0x00000080u;
1434inline double GlopParameters::_internal_refactorization_threshold()
const {
1435 return refactorization_threshold_;
1439 return _internal_refactorization_threshold();
1441inline void GlopParameters::_internal_set_refactorization_threshold(
double value) {
1442 _has_bits_[0] |= 0x00000080u;
1443 refactorization_threshold_ =
value;
1446 _internal_set_refactorization_threshold(
value);
1451inline bool GlopParameters::_internal_has_recompute_reduced_costs_threshold()
const {
1452 bool value = (_has_bits_[0] & 0x00000100u) != 0;
1456 return _internal_has_recompute_reduced_costs_threshold();
1459 recompute_reduced_costs_threshold_ = 1e-08;
1460 _has_bits_[0] &= ~0x00000100u;
1462inline double GlopParameters::_internal_recompute_reduced_costs_threshold()
const {
1463 return recompute_reduced_costs_threshold_;
1467 return _internal_recompute_reduced_costs_threshold();
1469inline void GlopParameters::_internal_set_recompute_reduced_costs_threshold(
double value) {
1470 _has_bits_[0] |= 0x00000100u;
1471 recompute_reduced_costs_threshold_ =
value;
1474 _internal_set_recompute_reduced_costs_threshold(
value);
1479inline bool GlopParameters::_internal_has_recompute_edges_norm_threshold()
const {
1480 bool value = (_has_bits_[0] & 0x00000200u) != 0;
1484 return _internal_has_recompute_edges_norm_threshold();
1487 recompute_edges_norm_threshold_ = 100;
1488 _has_bits_[0] &= ~0x00000200u;
1490inline double GlopParameters::_internal_recompute_edges_norm_threshold()
const {
1491 return recompute_edges_norm_threshold_;
1495 return _internal_recompute_edges_norm_threshold();
1497inline void GlopParameters::_internal_set_recompute_edges_norm_threshold(
double value) {
1498 _has_bits_[0] |= 0x00000200u;
1499 recompute_edges_norm_threshold_ =
value;
1502 _internal_set_recompute_edges_norm_threshold(
value);
1507inline bool GlopParameters::_internal_has_primal_feasibility_tolerance()
const {
1508 bool value = (_has_bits_[0] & 0x00000400u) != 0;
1512 return _internal_has_primal_feasibility_tolerance();
1515 primal_feasibility_tolerance_ = 1e-08;
1516 _has_bits_[0] &= ~0x00000400u;
1518inline double GlopParameters::_internal_primal_feasibility_tolerance()
const {
1519 return primal_feasibility_tolerance_;
1523 return _internal_primal_feasibility_tolerance();
1525inline void GlopParameters::_internal_set_primal_feasibility_tolerance(
double value) {
1526 _has_bits_[0] |= 0x00000400u;
1527 primal_feasibility_tolerance_ =
value;
1530 _internal_set_primal_feasibility_tolerance(
value);
1535inline bool GlopParameters::_internal_has_dual_feasibility_tolerance()
const {
1536 bool value = (_has_bits_[0] & 0x00000800u) != 0;
1540 return _internal_has_dual_feasibility_tolerance();
1543 dual_feasibility_tolerance_ = 1e-08;
1544 _has_bits_[0] &= ~0x00000800u;
1546inline double GlopParameters::_internal_dual_feasibility_tolerance()
const {
1547 return dual_feasibility_tolerance_;
1551 return _internal_dual_feasibility_tolerance();
1553inline void GlopParameters::_internal_set_dual_feasibility_tolerance(
double value) {
1554 _has_bits_[0] |= 0x00000800u;
1555 dual_feasibility_tolerance_ =
value;
1558 _internal_set_dual_feasibility_tolerance(
value);
1563inline bool GlopParameters::_internal_has_ratio_test_zero_threshold()
const {
1564 bool value = (_has_bits_[0] & 0x00001000u) != 0;
1568 return _internal_has_ratio_test_zero_threshold();
1571 ratio_test_zero_threshold_ = 1e-09;
1572 _has_bits_[0] &= ~0x00001000u;
1574inline double GlopParameters::_internal_ratio_test_zero_threshold()
const {
1575 return ratio_test_zero_threshold_;
1579 return _internal_ratio_test_zero_threshold();
1581inline void GlopParameters::_internal_set_ratio_test_zero_threshold(
double value) {
1582 _has_bits_[0] |= 0x00001000u;
1583 ratio_test_zero_threshold_ =
value;
1586 _internal_set_ratio_test_zero_threshold(
value);
1591inline bool GlopParameters::_internal_has_harris_tolerance_ratio()
const {
1592 bool value = (_has_bits_[0] & 0x00002000u) != 0;
1596 return _internal_has_harris_tolerance_ratio();
1599 harris_tolerance_ratio_ = 0.5;
1600 _has_bits_[0] &= ~0x00002000u;
1602inline double GlopParameters::_internal_harris_tolerance_ratio()
const {
1603 return harris_tolerance_ratio_;
1607 return _internal_harris_tolerance_ratio();
1609inline void GlopParameters::_internal_set_harris_tolerance_ratio(
double value) {
1610 _has_bits_[0] |= 0x00002000u;
1611 harris_tolerance_ratio_ =
value;
1614 _internal_set_harris_tolerance_ratio(
value);
1619inline bool GlopParameters::_internal_has_small_pivot_threshold()
const {
1620 bool value = (_has_bits_[0] & 0x00004000u) != 0;
1624 return _internal_has_small_pivot_threshold();
1627 small_pivot_threshold_ = 1e-06;
1628 _has_bits_[0] &= ~0x00004000u;
1630inline double GlopParameters::_internal_small_pivot_threshold()
const {
1631 return small_pivot_threshold_;
1635 return _internal_small_pivot_threshold();
1637inline void GlopParameters::_internal_set_small_pivot_threshold(
double value) {
1638 _has_bits_[0] |= 0x00004000u;
1639 small_pivot_threshold_ =
value;
1642 _internal_set_small_pivot_threshold(
value);
1647inline bool GlopParameters::_internal_has_minimum_acceptable_pivot()
const {
1648 bool value = (_has_bits_[0] & 0x00008000u) != 0;
1652 return _internal_has_minimum_acceptable_pivot();
1655 minimum_acceptable_pivot_ = 1e-06;
1656 _has_bits_[0] &= ~0x00008000u;
1658inline double GlopParameters::_internal_minimum_acceptable_pivot()
const {
1659 return minimum_acceptable_pivot_;
1663 return _internal_minimum_acceptable_pivot();
1665inline void GlopParameters::_internal_set_minimum_acceptable_pivot(
double value) {
1666 _has_bits_[0] |= 0x00008000u;
1667 minimum_acceptable_pivot_ =
value;
1670 _internal_set_minimum_acceptable_pivot(
value);
1675inline bool GlopParameters::_internal_has_drop_tolerance()
const {
1676 bool value = (_has_bits_[1] & 0x00001000u) != 0;
1680 return _internal_has_drop_tolerance();
1683 drop_tolerance_ = 1e-14;
1684 _has_bits_[1] &= ~0x00001000u;
1686inline double GlopParameters::_internal_drop_tolerance()
const {
1687 return drop_tolerance_;
1691 return _internal_drop_tolerance();
1693inline void GlopParameters::_internal_set_drop_tolerance(
double value) {
1694 _has_bits_[1] |= 0x00001000u;
1695 drop_tolerance_ =
value;
1698 _internal_set_drop_tolerance(
value);
1703inline bool GlopParameters::_internal_has_use_scaling()
const {
1704 bool value = (_has_bits_[0] & 0x04000000u) != 0;
1708 return _internal_has_use_scaling();
1711 use_scaling_ =
true;
1712 _has_bits_[0] &= ~0x04000000u;
1714inline bool GlopParameters::_internal_use_scaling()
const {
1715 return use_scaling_;
1719 return _internal_use_scaling();
1721inline void GlopParameters::_internal_set_use_scaling(
bool value) {
1722 _has_bits_[0] |= 0x04000000u;
1723 use_scaling_ =
value;
1726 _internal_set_use_scaling(
value);
1731inline bool GlopParameters::_internal_has_cost_scaling()
const {
1732 bool value = (_has_bits_[1] & 0x00100000u) != 0;
1736 return _internal_has_cost_scaling();
1740 _has_bits_[1] &= ~0x00100000u;
1747 return _internal_cost_scaling();
1751 _has_bits_[1] |= 0x00100000u;
1752 cost_scaling_ =
value;
1755 _internal_set_cost_scaling(
value);
1760inline bool GlopParameters::_internal_has_initial_basis()
const {
1761 bool value = (_has_bits_[0] & 0x00010000u) != 0;
1765 return _internal_has_initial_basis();
1769 _has_bits_[0] &= ~0x00010000u;
1776 return _internal_initial_basis();
1780 _has_bits_[0] |= 0x00010000u;
1781 initial_basis_ =
value;
1784 _internal_set_initial_basis(
value);
1789inline bool GlopParameters::_internal_has_use_transposed_matrix()
const {
1790 bool value = (_has_bits_[0] & 0x08000000u) != 0;
1794 return _internal_has_use_transposed_matrix();
1797 use_transposed_matrix_ =
true;
1798 _has_bits_[0] &= ~0x08000000u;
1800inline bool GlopParameters::_internal_use_transposed_matrix()
const {
1801 return use_transposed_matrix_;
1805 return _internal_use_transposed_matrix();
1807inline void GlopParameters::_internal_set_use_transposed_matrix(
bool value) {
1808 _has_bits_[0] |= 0x08000000u;
1809 use_transposed_matrix_ =
value;
1812 _internal_set_use_transposed_matrix(
value);
1817inline bool GlopParameters::_internal_has_basis_refactorization_period()
const {
1818 bool value = (_has_bits_[0] & 0x00020000u) != 0;
1822 return _internal_has_basis_refactorization_period();
1825 basis_refactorization_period_ = 64;
1826 _has_bits_[0] &= ~0x00020000u;
1828inline int32_t GlopParameters::_internal_basis_refactorization_period()
const {
1829 return basis_refactorization_period_;
1833 return _internal_basis_refactorization_period();
1835inline void GlopParameters::_internal_set_basis_refactorization_period(int32_t
value) {
1836 _has_bits_[0] |= 0x00020000u;
1837 basis_refactorization_period_ =
value;
1840 _internal_set_basis_refactorization_period(
value);
1845inline bool GlopParameters::_internal_has_dynamically_adjust_refactorization_period()
const {
1846 bool value = (_has_bits_[0] & 0x10000000u) != 0;
1850 return _internal_has_dynamically_adjust_refactorization_period();
1853 dynamically_adjust_refactorization_period_ =
true;
1854 _has_bits_[0] &= ~0x10000000u;
1856inline bool GlopParameters::_internal_dynamically_adjust_refactorization_period()
const {
1857 return dynamically_adjust_refactorization_period_;
1861 return _internal_dynamically_adjust_refactorization_period();
1863inline void GlopParameters::_internal_set_dynamically_adjust_refactorization_period(
bool value) {
1864 _has_bits_[0] |= 0x10000000u;
1865 dynamically_adjust_refactorization_period_ =
value;
1868 _internal_set_dynamically_adjust_refactorization_period(
value);
1873inline bool GlopParameters::_internal_has_solve_dual_problem()
const {
1874 bool value = (_has_bits_[0] & 0x00100000u) != 0;
1878 return _internal_has_solve_dual_problem();
1881 solve_dual_problem_ = 2;
1882 _has_bits_[0] &= ~0x00100000u;
1889 return _internal_solve_dual_problem();
1893 _has_bits_[0] |= 0x00100000u;
1894 solve_dual_problem_ =
value;
1897 _internal_set_solve_dual_problem(
value);
1902inline bool GlopParameters::_internal_has_dualizer_threshold()
const {
1903 bool value = (_has_bits_[0] & 0x00040000u) != 0;
1907 return _internal_has_dualizer_threshold();
1910 dualizer_threshold_ = 1.5;
1911 _has_bits_[0] &= ~0x00040000u;
1913inline double GlopParameters::_internal_dualizer_threshold()
const {
1914 return dualizer_threshold_;
1918 return _internal_dualizer_threshold();
1920inline void GlopParameters::_internal_set_dualizer_threshold(
double value) {
1921 _has_bits_[0] |= 0x00040000u;
1922 dualizer_threshold_ =
value;
1925 _internal_set_dualizer_threshold(
value);
1930inline bool GlopParameters::_internal_has_solution_feasibility_tolerance()
const {
1931 bool value = (_has_bits_[0] & 0x00080000u) != 0;
1935 return _internal_has_solution_feasibility_tolerance();
1938 solution_feasibility_tolerance_ = 1e-06;
1939 _has_bits_[0] &= ~0x00080000u;
1941inline double GlopParameters::_internal_solution_feasibility_tolerance()
const {
1942 return solution_feasibility_tolerance_;
1946 return _internal_solution_feasibility_tolerance();
1948inline void GlopParameters::_internal_set_solution_feasibility_tolerance(
double value) {
1949 _has_bits_[0] |= 0x00080000u;
1950 solution_feasibility_tolerance_ =
value;
1953 _internal_set_solution_feasibility_tolerance(
value);
1958inline bool GlopParameters::_internal_has_provide_strong_optimal_guarantee()
const {
1959 bool value = (_has_bits_[0] & 0x20000000u) != 0;
1963 return _internal_has_provide_strong_optimal_guarantee();
1966 provide_strong_optimal_guarantee_ =
true;
1967 _has_bits_[0] &= ~0x20000000u;
1969inline bool GlopParameters::_internal_provide_strong_optimal_guarantee()
const {
1970 return provide_strong_optimal_guarantee_;
1974 return _internal_provide_strong_optimal_guarantee();
1976inline void GlopParameters::_internal_set_provide_strong_optimal_guarantee(
bool value) {
1977 _has_bits_[0] |= 0x20000000u;
1978 provide_strong_optimal_guarantee_ =
value;
1981 _internal_set_provide_strong_optimal_guarantee(
value);
1986inline bool GlopParameters::_internal_has_change_status_to_imprecise()
const {
1987 bool value = (_has_bits_[1] & 0x00000008u) != 0;
1991 return _internal_has_change_status_to_imprecise();
1994 change_status_to_imprecise_ =
true;
1995 _has_bits_[1] &= ~0x00000008u;
1997inline bool GlopParameters::_internal_change_status_to_imprecise()
const {
1998 return change_status_to_imprecise_;
2002 return _internal_change_status_to_imprecise();
2004inline void GlopParameters::_internal_set_change_status_to_imprecise(
bool value) {
2005 _has_bits_[1] |= 0x00000008u;
2006 change_status_to_imprecise_ =
value;
2009 _internal_set_change_status_to_imprecise(
value);
2014inline bool GlopParameters::_internal_has_max_number_of_reoptimizations()
const {
2015 bool value = (_has_bits_[1] & 0x00008000u) != 0;
2019 return _internal_has_max_number_of_reoptimizations();
2022 max_number_of_reoptimizations_ = 40;
2023 _has_bits_[1] &= ~0x00008000u;
2025inline double GlopParameters::_internal_max_number_of_reoptimizations()
const {
2026 return max_number_of_reoptimizations_;
2030 return _internal_max_number_of_reoptimizations();
2032inline void GlopParameters::_internal_set_max_number_of_reoptimizations(
double value) {
2033 _has_bits_[1] |= 0x00008000u;
2034 max_number_of_reoptimizations_ =
value;
2037 _internal_set_max_number_of_reoptimizations(
value);
2042inline bool GlopParameters::_internal_has_lu_factorization_pivot_threshold()
const {
2043 bool value = (_has_bits_[0] & 0x00400000u) != 0;
2047 return _internal_has_lu_factorization_pivot_threshold();
2050 lu_factorization_pivot_threshold_ = 0.01;
2051 _has_bits_[0] &= ~0x00400000u;
2053inline double GlopParameters::_internal_lu_factorization_pivot_threshold()
const {
2054 return lu_factorization_pivot_threshold_;
2058 return _internal_lu_factorization_pivot_threshold();
2060inline void GlopParameters::_internal_set_lu_factorization_pivot_threshold(
double value) {
2061 _has_bits_[0] |= 0x00400000u;
2062 lu_factorization_pivot_threshold_ =
value;
2065 _internal_set_lu_factorization_pivot_threshold(
value);
2070inline bool GlopParameters::_internal_has_max_time_in_seconds()
const {
2071 bool value = (_has_bits_[0] & 0x00800000u) != 0;
2075 return _internal_has_max_time_in_seconds();
2078 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
2079 _has_bits_[0] &= ~0x00800000u;
2081inline double GlopParameters::_internal_max_time_in_seconds()
const {
2082 return max_time_in_seconds_;
2086 return _internal_max_time_in_seconds();
2088inline void GlopParameters::_internal_set_max_time_in_seconds(
double value) {
2089 _has_bits_[0] |= 0x00800000u;
2090 max_time_in_seconds_ =
value;
2093 _internal_set_max_time_in_seconds(
value);
2098inline bool GlopParameters::_internal_has_max_deterministic_time()
const {
2099 bool value = (_has_bits_[1] & 0x00000200u) != 0;
2103 return _internal_has_max_deterministic_time();
2106 max_deterministic_time_ = std::numeric_limits<double>::infinity();
2107 _has_bits_[1] &= ~0x00000200u;
2109inline double GlopParameters::_internal_max_deterministic_time()
const {
2110 return max_deterministic_time_;
2114 return _internal_max_deterministic_time();
2116inline void GlopParameters::_internal_set_max_deterministic_time(
double value) {
2117 _has_bits_[1] |= 0x00000200u;
2118 max_deterministic_time_ =
value;
2121 _internal_set_max_deterministic_time(
value);
2126inline bool GlopParameters::_internal_has_max_number_of_iterations()
const {
2127 bool value = (_has_bits_[0] & 0x01000000u) != 0;
2131 return _internal_has_max_number_of_iterations();
2134 max_number_of_iterations_ = int64_t{-1};
2135 _has_bits_[0] &= ~0x01000000u;
2137inline int64_t GlopParameters::_internal_max_number_of_iterations()
const {
2138 return max_number_of_iterations_;
2142 return _internal_max_number_of_iterations();
2144inline void GlopParameters::_internal_set_max_number_of_iterations(int64_t
value) {
2145 _has_bits_[0] |= 0x01000000u;
2146 max_number_of_iterations_ =
value;
2149 _internal_set_max_number_of_iterations(
value);
2154inline bool GlopParameters::_internal_has_markowitz_zlatev_parameter()
const {
2155 bool value = (_has_bits_[0] & 0x00200000u) != 0;
2159 return _internal_has_markowitz_zlatev_parameter();
2162 markowitz_zlatev_parameter_ = 3;
2163 _has_bits_[0] &= ~0x00200000u;
2165inline int32_t GlopParameters::_internal_markowitz_zlatev_parameter()
const {
2166 return markowitz_zlatev_parameter_;
2170 return _internal_markowitz_zlatev_parameter();
2172inline void GlopParameters::_internal_set_markowitz_zlatev_parameter(int32_t
value) {
2173 _has_bits_[0] |= 0x00200000u;
2174 markowitz_zlatev_parameter_ =
value;
2177 _internal_set_markowitz_zlatev_parameter(
value);
2182inline bool GlopParameters::_internal_has_markowitz_singularity_threshold()
const {
2183 bool value = (_has_bits_[0] & 0x02000000u) != 0;
2187 return _internal_has_markowitz_singularity_threshold();
2190 markowitz_singularity_threshold_ = 1e-15;
2191 _has_bits_[0] &= ~0x02000000u;
2193inline double GlopParameters::_internal_markowitz_singularity_threshold()
const {
2194 return markowitz_singularity_threshold_;
2198 return _internal_markowitz_singularity_threshold();
2200inline void GlopParameters::_internal_set_markowitz_singularity_threshold(
double value) {
2201 _has_bits_[0] |= 0x02000000u;
2202 markowitz_singularity_threshold_ =
value;
2205 _internal_set_markowitz_singularity_threshold(
value);
2210inline bool GlopParameters::_internal_has_use_dual_simplex()
const {
2211 bool value = (_has_bits_[0] & 0x00000001u) != 0;
2215 return _internal_has_use_dual_simplex();
2218 use_dual_simplex_ =
false;
2219 _has_bits_[0] &= ~0x00000001u;
2221inline bool GlopParameters::_internal_use_dual_simplex()
const {
2222 return use_dual_simplex_;
2226 return _internal_use_dual_simplex();
2228inline void GlopParameters::_internal_set_use_dual_simplex(
bool value) {
2229 _has_bits_[0] |= 0x00000001u;
2230 use_dual_simplex_ =
value;
2233 _internal_set_use_dual_simplex(
value);
2238inline bool GlopParameters::_internal_has_allow_simplex_algorithm_change()
const {
2239 bool value = (_has_bits_[0] & 0x00000002u) != 0;
2243 return _internal_has_allow_simplex_algorithm_change();
2246 allow_simplex_algorithm_change_ =
false;
2247 _has_bits_[0] &= ~0x00000002u;
2249inline bool GlopParameters::_internal_allow_simplex_algorithm_change()
const {
2250 return allow_simplex_algorithm_change_;
2254 return _internal_allow_simplex_algorithm_change();
2256inline void GlopParameters::_internal_set_allow_simplex_algorithm_change(
bool value) {
2257 _has_bits_[0] |= 0x00000002u;
2258 allow_simplex_algorithm_change_ =
value;
2261 _internal_set_allow_simplex_algorithm_change(
value);
2266inline bool GlopParameters::_internal_has_devex_weights_reset_period()
const {
2267 bool value = (_has_bits_[0] & 0x40000000u) != 0;
2271 return _internal_has_devex_weights_reset_period();
2274 devex_weights_reset_period_ = 150;
2275 _has_bits_[0] &= ~0x40000000u;
2277inline int32_t GlopParameters::_internal_devex_weights_reset_period()
const {
2278 return devex_weights_reset_period_;
2282 return _internal_devex_weights_reset_period();
2284inline void GlopParameters::_internal_set_devex_weights_reset_period(int32_t
value) {
2285 _has_bits_[0] |= 0x40000000u;
2286 devex_weights_reset_period_ =
value;
2289 _internal_set_devex_weights_reset_period(
value);
2294inline bool GlopParameters::_internal_has_use_preprocessing()
const {
2295 bool value = (_has_bits_[1] & 0x00000010u) != 0;
2299 return _internal_has_use_preprocessing();
2302 use_preprocessing_ =
true;
2303 _has_bits_[1] &= ~0x00000010u;
2305inline bool GlopParameters::_internal_use_preprocessing()
const {
2306 return use_preprocessing_;
2310 return _internal_use_preprocessing();
2312inline void GlopParameters::_internal_set_use_preprocessing(
bool value) {
2313 _has_bits_[1] |= 0x00000010u;
2314 use_preprocessing_ =
value;
2317 _internal_set_use_preprocessing(
value);
2322inline bool GlopParameters::_internal_has_use_middle_product_form_update()
const {
2323 bool value = (_has_bits_[1] & 0x00000020u) != 0;
2327 return _internal_has_use_middle_product_form_update();
2330 use_middle_product_form_update_ =
true;
2331 _has_bits_[1] &= ~0x00000020u;
2333inline bool GlopParameters::_internal_use_middle_product_form_update()
const {
2334 return use_middle_product_form_update_;
2338 return _internal_use_middle_product_form_update();
2340inline void GlopParameters::_internal_set_use_middle_product_form_update(
bool value) {
2341 _has_bits_[1] |= 0x00000020u;
2342 use_middle_product_form_update_ =
value;
2345 _internal_set_use_middle_product_form_update(
value);
2350inline bool GlopParameters::_internal_has_initialize_devex_with_column_norms()
const {
2351 bool value = (_has_bits_[1] & 0x00000040u) != 0;
2355 return _internal_has_initialize_devex_with_column_norms();
2358 initialize_devex_with_column_norms_ =
true;
2359 _has_bits_[1] &= ~0x00000040u;
2361inline bool GlopParameters::_internal_initialize_devex_with_column_norms()
const {
2362 return initialize_devex_with_column_norms_;
2366 return _internal_initialize_devex_with_column_norms();
2368inline void GlopParameters::_internal_set_initialize_devex_with_column_norms(
bool value) {
2369 _has_bits_[1] |= 0x00000040u;
2370 initialize_devex_with_column_norms_ =
value;
2373 _internal_set_initialize_devex_with_column_norms(
value);
2378inline bool GlopParameters::_internal_has_exploit_singleton_column_in_initial_basis()
const {
2379 bool value = (_has_bits_[1] & 0x00010000u) != 0;
2383 return _internal_has_exploit_singleton_column_in_initial_basis();
2386 exploit_singleton_column_in_initial_basis_ =
true;
2387 _has_bits_[1] &= ~0x00010000u;
2389inline bool GlopParameters::_internal_exploit_singleton_column_in_initial_basis()
const {
2390 return exploit_singleton_column_in_initial_basis_;
2394 return _internal_exploit_singleton_column_in_initial_basis();
2396inline void GlopParameters::_internal_set_exploit_singleton_column_in_initial_basis(
bool value) {
2397 _has_bits_[1] |= 0x00010000u;
2398 exploit_singleton_column_in_initial_basis_ =
value;
2401 _internal_set_exploit_singleton_column_in_initial_basis(
value);
2406inline bool GlopParameters::_internal_has_dual_small_pivot_threshold()
const {
2407 bool value = (_has_bits_[0] & 0x80000000u) != 0;
2411 return _internal_has_dual_small_pivot_threshold();
2414 dual_small_pivot_threshold_ = 0.0001;
2415 _has_bits_[0] &= ~0x80000000u;
2417inline double GlopParameters::_internal_dual_small_pivot_threshold()
const {
2418 return dual_small_pivot_threshold_;
2422 return _internal_dual_small_pivot_threshold();
2424inline void GlopParameters::_internal_set_dual_small_pivot_threshold(
double value) {
2425 _has_bits_[0] |= 0x80000000u;
2426 dual_small_pivot_threshold_ =
value;
2429 _internal_set_dual_small_pivot_threshold(
value);
2434inline bool GlopParameters::_internal_has_preprocessor_zero_tolerance()
const {
2435 bool value = (_has_bits_[1] & 0x00000001u) != 0;
2439 return _internal_has_preprocessor_zero_tolerance();
2442 preprocessor_zero_tolerance_ = 1e-09;
2443 _has_bits_[1] &= ~0x00000001u;
2445inline double GlopParameters::_internal_preprocessor_zero_tolerance()
const {
2446 return preprocessor_zero_tolerance_;
2450 return _internal_preprocessor_zero_tolerance();
2452inline void GlopParameters::_internal_set_preprocessor_zero_tolerance(
double value) {
2453 _has_bits_[1] |= 0x00000001u;
2454 preprocessor_zero_tolerance_ =
value;
2457 _internal_set_preprocessor_zero_tolerance(
value);
2462inline bool GlopParameters::_internal_has_objective_lower_limit()
const {
2463 bool value = (_has_bits_[1] & 0x00000002u) != 0;
2467 return _internal_has_objective_lower_limit();
2470 objective_lower_limit_ = -std::numeric_limits<double>::infinity();
2471 _has_bits_[1] &= ~0x00000002u;
2473inline double GlopParameters::_internal_objective_lower_limit()
const {
2474 return objective_lower_limit_;
2478 return _internal_objective_lower_limit();
2480inline void GlopParameters::_internal_set_objective_lower_limit(
double value) {
2481 _has_bits_[1] |= 0x00000002u;
2482 objective_lower_limit_ =
value;
2485 _internal_set_objective_lower_limit(
value);
2490inline bool GlopParameters::_internal_has_objective_upper_limit()
const {
2491 bool value = (_has_bits_[1] & 0x00000004u) != 0;
2495 return _internal_has_objective_upper_limit();
2498 objective_upper_limit_ = std::numeric_limits<double>::infinity();
2499 _has_bits_[1] &= ~0x00000004u;
2501inline double GlopParameters::_internal_objective_upper_limit()
const {
2502 return objective_upper_limit_;
2506 return _internal_objective_upper_limit();
2508inline void GlopParameters::_internal_set_objective_upper_limit(
double value) {
2509 _has_bits_[1] |= 0x00000004u;
2510 objective_upper_limit_ =
value;
2513 _internal_set_objective_upper_limit(
value);
2518inline bool GlopParameters::_internal_has_degenerate_ministep_factor()
const {
2519 bool value = (_has_bits_[1] & 0x00000100u) != 0;
2523 return _internal_has_degenerate_ministep_factor();
2526 degenerate_ministep_factor_ = 0.01;
2527 _has_bits_[1] &= ~0x00000100u;
2529inline double GlopParameters::_internal_degenerate_ministep_factor()
const {
2530 return degenerate_ministep_factor_;
2534 return _internal_degenerate_ministep_factor();
2536inline void GlopParameters::_internal_set_degenerate_ministep_factor(
double value) {
2537 _has_bits_[1] |= 0x00000100u;
2538 degenerate_ministep_factor_ =
value;
2541 _internal_set_degenerate_ministep_factor(
value);
2546inline bool GlopParameters::_internal_has_random_seed()
const {
2547 bool value = (_has_bits_[1] & 0x00000080u) != 0;
2551 return _internal_has_random_seed();
2555 _has_bits_[1] &= ~0x00000080u;
2557inline int32_t GlopParameters::_internal_random_seed()
const {
2558 return random_seed_;
2562 return _internal_random_seed();
2564inline void GlopParameters::_internal_set_random_seed(int32_t
value) {
2565 _has_bits_[1] |= 0x00000080u;
2566 random_seed_ =
value;
2569 _internal_set_random_seed(
value);
2574inline bool GlopParameters::_internal_has_num_omp_threads()
const {
2575 bool value = (_has_bits_[1] & 0x00000400u) != 0;
2579 return _internal_has_num_omp_threads();
2582 num_omp_threads_ = 1;
2583 _has_bits_[1] &= ~0x00000400u;
2585inline int32_t GlopParameters::_internal_num_omp_threads()
const {
2586 return num_omp_threads_;
2590 return _internal_num_omp_threads();
2592inline void GlopParameters::_internal_set_num_omp_threads(int32_t
value) {
2593 _has_bits_[1] |= 0x00000400u;
2594 num_omp_threads_ =
value;
2597 _internal_set_num_omp_threads(
value);
2602inline bool GlopParameters::_internal_has_perturb_costs_in_dual_simplex()
const {
2603 bool value = (_has_bits_[0] & 0x00000004u) != 0;
2607 return _internal_has_perturb_costs_in_dual_simplex();
2610 perturb_costs_in_dual_simplex_ =
false;
2611 _has_bits_[0] &= ~0x00000004u;
2613inline bool GlopParameters::_internal_perturb_costs_in_dual_simplex()
const {
2614 return perturb_costs_in_dual_simplex_;
2618 return _internal_perturb_costs_in_dual_simplex();
2620inline void GlopParameters::_internal_set_perturb_costs_in_dual_simplex(
bool value) {
2621 _has_bits_[0] |= 0x00000004u;
2622 perturb_costs_in_dual_simplex_ =
value;
2625 _internal_set_perturb_costs_in_dual_simplex(
value);
2630inline bool GlopParameters::_internal_has_use_dedicated_dual_feasibility_algorithm()
const {
2631 bool value = (_has_bits_[1] & 0x00020000u) != 0;
2635 return _internal_has_use_dedicated_dual_feasibility_algorithm();
2638 use_dedicated_dual_feasibility_algorithm_ =
true;
2639 _has_bits_[1] &= ~0x00020000u;
2641inline bool GlopParameters::_internal_use_dedicated_dual_feasibility_algorithm()
const {
2642 return use_dedicated_dual_feasibility_algorithm_;
2646 return _internal_use_dedicated_dual_feasibility_algorithm();
2648inline void GlopParameters::_internal_set_use_dedicated_dual_feasibility_algorithm(
bool value) {
2649 _has_bits_[1] |= 0x00020000u;
2650 use_dedicated_dual_feasibility_algorithm_ =
value;
2653 _internal_set_use_dedicated_dual_feasibility_algorithm(
value);
2658inline bool GlopParameters::_internal_has_relative_cost_perturbation()
const {
2659 bool value = (_has_bits_[1] & 0x00002000u) != 0;
2663 return _internal_has_relative_cost_perturbation();
2666 relative_cost_perturbation_ = 1e-05;
2667 _has_bits_[1] &= ~0x00002000u;
2669inline double GlopParameters::_internal_relative_cost_perturbation()
const {
2670 return relative_cost_perturbation_;
2674 return _internal_relative_cost_perturbation();
2676inline void GlopParameters::_internal_set_relative_cost_perturbation(
double value) {
2677 _has_bits_[1] |= 0x00002000u;
2678 relative_cost_perturbation_ =
value;
2681 _internal_set_relative_cost_perturbation(
value);
2686inline bool GlopParameters::_internal_has_relative_max_cost_perturbation()
const {
2687 bool value = (_has_bits_[1] & 0x00004000u) != 0;
2691 return _internal_has_relative_max_cost_perturbation();
2694 relative_max_cost_perturbation_ = 1e-07;
2695 _has_bits_[1] &= ~0x00004000u;
2697inline double GlopParameters::_internal_relative_max_cost_perturbation()
const {
2698 return relative_max_cost_perturbation_;
2702 return _internal_relative_max_cost_perturbation();
2704inline void GlopParameters::_internal_set_relative_max_cost_perturbation(
double value) {
2705 _has_bits_[1] |= 0x00004000u;
2706 relative_max_cost_perturbation_ =
value;
2709 _internal_set_relative_max_cost_perturbation(
value);
2714inline bool GlopParameters::_internal_has_initial_condition_number_threshold()
const {
2715 bool value = (_has_bits_[1] & 0x00200000u) != 0;
2719 return _internal_has_initial_condition_number_threshold();
2722 initial_condition_number_threshold_ = 1e+50;
2723 _has_bits_[1] &= ~0x00200000u;
2725inline double GlopParameters::_internal_initial_condition_number_threshold()
const {
2726 return initial_condition_number_threshold_;
2730 return _internal_initial_condition_number_threshold();
2732inline void GlopParameters::_internal_set_initial_condition_number_threshold(
double value) {
2733 _has_bits_[1] |= 0x00200000u;
2734 initial_condition_number_threshold_ =
value;
2737 _internal_set_initial_condition_number_threshold(
value);
2742inline bool GlopParameters::_internal_has_log_search_progress()
const {
2743 bool value = (_has_bits_[0] & 0x00000008u) != 0;
2747 return _internal_has_log_search_progress();
2750 log_search_progress_ =
false;
2751 _has_bits_[0] &= ~0x00000008u;
2753inline bool GlopParameters::_internal_log_search_progress()
const {
2754 return log_search_progress_;
2758 return _internal_log_search_progress();
2760inline void GlopParameters::_internal_set_log_search_progress(
bool value) {
2761 _has_bits_[0] |= 0x00000008u;
2762 log_search_progress_ =
value;
2765 _internal_set_log_search_progress(
value);
2770inline bool GlopParameters::_internal_has_log_to_stdout()
const {
2771 bool value = (_has_bits_[1] & 0x00040000u) != 0;
2775 return _internal_has_log_to_stdout();
2778 log_to_stdout_ =
true;
2779 _has_bits_[1] &= ~0x00040000u;
2781inline bool GlopParameters::_internal_log_to_stdout()
const {
2782 return log_to_stdout_;
2786 return _internal_log_to_stdout();
2788inline void GlopParameters::_internal_set_log_to_stdout(
bool value) {
2789 _has_bits_[1] |= 0x00040000u;
2790 log_to_stdout_ =
value;
2793 _internal_set_log_to_stdout(
value);
2798inline bool GlopParameters::_internal_has_crossover_bound_snapping_distance()
const {
2799 bool value = (_has_bits_[1] & 0x00400000u) != 0;
2803 return _internal_has_crossover_bound_snapping_distance();
2806 crossover_bound_snapping_distance_ = std::numeric_limits<double>::infinity();
2807 _has_bits_[1] &= ~0x00400000u;
2809inline double GlopParameters::_internal_crossover_bound_snapping_distance()
const {
2810 return crossover_bound_snapping_distance_;
2814 return _internal_crossover_bound_snapping_distance();
2816inline void GlopParameters::_internal_set_crossover_bound_snapping_distance(
double value) {
2817 _has_bits_[1] |= 0x00400000u;
2818 crossover_bound_snapping_distance_ =
value;
2821 _internal_set_crossover_bound_snapping_distance(
value);
2826inline bool GlopParameters::_internal_has_push_to_vertex()
const {
2827 bool value = (_has_bits_[1] & 0x00080000u) != 0;
2831 return _internal_has_push_to_vertex();
2834 push_to_vertex_ =
true;
2835 _has_bits_[1] &= ~0x00080000u;
2837inline bool GlopParameters::_internal_push_to_vertex()
const {
2838 return push_to_vertex_;
2842 return _internal_push_to_vertex();
2844inline void GlopParameters::_internal_set_push_to_vertex(
bool value) {
2845 _has_bits_[1] |= 0x00080000u;
2846 push_to_vertex_ =
value;
2849 _internal_set_push_to_vertex(
value);
2854inline bool GlopParameters::_internal_has_use_implied_free_preprocessor()
const {
2855 bool value = (_has_bits_[0] & 0x00000010u) != 0;
2859 return _internal_has_use_implied_free_preprocessor();
2862 use_implied_free_preprocessor_ =
true;
2863 _has_bits_[0] &= ~0x00000010u;
2865inline bool GlopParameters::_internal_use_implied_free_preprocessor()
const {
2866 return use_implied_free_preprocessor_;
2870 return _internal_use_implied_free_preprocessor();
2872inline void GlopParameters::_internal_set_use_implied_free_preprocessor(
bool value) {
2873 _has_bits_[0] |= 0x00000010u;
2874 use_implied_free_preprocessor_ =
value;
2877 _internal_set_use_implied_free_preprocessor(
value);
2882 #pragma GCC diagnostic pop
2890PROTOBUF_NAMESPACE_OPEN
2894inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_ScalingAlgorithm>() {
2899inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_SolverBehavior>() {
2904inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_PricingRule>() {
2909inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_InitialBasisHeuristic>() {
2914inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::glop::GlopParameters_CostScalingAlgorithm>() {
2918PROTOBUF_NAMESPACE_CLOSE
2922#include <google/protobuf/port_undef.inc>
::operations_research::glop::GlopParameters_SolverBehavior solve_dual_problem() const
bool has_solve_dual_problem() const
void set_lu_factorization_pivot_threshold(double value)
double max_deterministic_time() const
void clear_initial_condition_number_threshold()
static constexpr int ScalingAlgorithm_ARRAYSIZE
void clear_num_omp_threads()
bool has_change_status_to_imprecise() const
static bool CostScalingAlgorithm_IsValid(int value)
static const std::string & InitialBasisHeuristic_Name(T enum_t_value)
GlopParameters(GlopParameters &&from) noexcept
bool initialize_devex_with_column_norms() const
bool use_dual_simplex() const
void clear_solve_dual_problem()
bool has_cost_scaling() const
bool has_max_number_of_iterations() const
double primal_feasibility_tolerance() const
void clear_recompute_reduced_costs_threshold()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * InitialBasisHeuristic_descriptor()
void set_optimization_rule(::operations_research::glop::GlopParameters_PricingRule value)
bool has_relative_max_cost_perturbation() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SolverBehavior_descriptor()
double recompute_edges_norm_threshold() const
void clear_objective_lower_limit()
bool has_solution_feasibility_tolerance() const
void clear_use_middle_product_form_update()
::operations_research::glop::GlopParameters_PricingRule feasibility_rule() const
double refactorization_threshold() const
bool log_search_progress() const
void clear_use_dedicated_dual_feasibility_algorithm()
static bool CostScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CostScalingAlgorithm *value)
bool has_push_to_vertex() const
void set_harris_tolerance_ratio(double value)
void set_num_omp_threads(int32_t value)
bool allow_simplex_algorithm_change() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * PricingRule_descriptor()
static constexpr SolverBehavior SolverBehavior_MAX
void clear_exploit_singleton_column_in_initial_basis()
static constexpr ScalingAlgorithm LINEAR_PROGRAM
double markowitz_singularity_threshold() const
void clear_max_deterministic_time()
void clear_log_to_stdout()
void set_relative_cost_perturbation(double value)
static const GlopParameters & default_instance()
void set_markowitz_singularity_threshold(double value)
void clear_use_dual_simplex()
int64_t max_number_of_iterations() const
int GetCachedSize() const final
bool has_degenerate_ministep_factor() const
::operations_research::glop::GlopParameters_PricingRule optimization_rule() const
void clear_solution_feasibility_tolerance()
bool has_dualizer_threshold() const
void set_push_to_vertex(bool value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CostScalingAlgorithm_descriptor()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
bool has_random_seed() const
double dual_small_pivot_threshold() const
static constexpr InitialBasisHeuristic InitialBasisHeuristic_MAX
void set_dual_small_pivot_threshold(double value)
void clear_feasibility_rule()
bool has_use_transposed_matrix() const
GlopParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void set_scaling_method(::operations_research::glop::GlopParameters_ScalingAlgorithm value)
bool has_use_dual_simplex() const
void clear_recompute_edges_norm_threshold()
void set_basis_refactorization_period(int32_t value)
bool use_dedicated_dual_feasibility_algorithm() const
bool has_allow_simplex_algorithm_change() const
bool has_ratio_test_zero_threshold() const
void clear_small_pivot_threshold()
static const ClassData _class_data_
void clear_markowitz_singularity_threshold()
static constexpr InitialBasisHeuristic TRIANGULAR
void set_max_number_of_iterations(int64_t value)
static const std::string & CostScalingAlgorithm_Name(T enum_t_value)
double harris_tolerance_ratio() const
double max_number_of_reoptimizations() const
bool has_crossover_bound_snapping_distance() const
void clear_devex_weights_reset_period()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ScalingAlgorithm_descriptor()
void clear_degenerate_ministep_factor()
void clear_initial_basis()
int32_t devex_weights_reset_period() const
bool use_implied_free_preprocessor() const
@ kObjectiveLowerLimitFieldNumber
@ kFeasibilityRuleFieldNumber
@ kCrossoverBoundSnappingDistanceFieldNumber
@ kUsePreprocessingFieldNumber
@ kPreprocessorZeroToleranceFieldNumber
@ kRefactorizationThresholdFieldNumber
@ kRelativeCostPerturbationFieldNumber
@ kInitializeDevexWithColumnNormsFieldNumber
@ kDropToleranceFieldNumber
@ kSolutionFeasibilityToleranceFieldNumber
@ kRatioTestZeroThresholdFieldNumber
@ kLogSearchProgressFieldNumber
@ kCostScalingFieldNumber
@ kBasisRefactorizationPeriodFieldNumber
@ kDualSmallPivotThresholdFieldNumber
@ kDualFeasibilityToleranceFieldNumber
@ kUseImpliedFreePreprocessorFieldNumber
@ kOptimizationRuleFieldNumber
@ kRelativeMaxCostPerturbationFieldNumber
@ kRecomputeEdgesNormThresholdFieldNumber
@ kLuFactorizationPivotThresholdFieldNumber
@ kMarkowitzZlatevParameterFieldNumber
@ kProvideStrongOptimalGuaranteeFieldNumber
@ kChangeStatusToImpreciseFieldNumber
@ kInitialBasisFieldNumber
@ kAllowSimplexAlgorithmChangeFieldNumber
@ kPerturbCostsInDualSimplexFieldNumber
@ kNumOmpThreadsFieldNumber
@ kDynamicallyAdjustRefactorizationPeriodFieldNumber
@ kHarrisToleranceRatioFieldNumber
@ kDevexWeightsResetPeriodFieldNumber
@ kUseMiddleProductFormUpdateFieldNumber
@ kExploitSingletonColumnInInitialBasisFieldNumber
@ kUseDualSimplexFieldNumber
@ kUseDedicatedDualFeasibilityAlgorithmFieldNumber
@ kMaxNumberOfIterationsFieldNumber
@ kDualizerThresholdFieldNumber
@ kInitialConditionNumberThresholdFieldNumber
@ kMarkowitzSingularityThresholdFieldNumber
@ kLogToStdoutFieldNumber
@ kSolveDualProblemFieldNumber
@ kScalingMethodFieldNumber
@ kMaxDeterministicTimeFieldNumber
@ kPushToVertexFieldNumber
@ kMaxNumberOfReoptimizationsFieldNumber
@ kObjectiveUpperLimitFieldNumber
@ kUseTransposedMatrixFieldNumber
@ kMinimumAcceptablePivotFieldNumber
@ kMaxTimeInSecondsFieldNumber
@ kPrimalFeasibilityToleranceFieldNumber
@ kDegenerateMinistepFactorFieldNumber
@ kRecomputeReducedCostsThresholdFieldNumber
@ kSmallPivotThresholdFieldNumber
void clear_max_number_of_reoptimizations()
void set_allow_simplex_algorithm_change(bool value)
static constexpr int SolverBehavior_ARRAYSIZE
static constexpr CostScalingAlgorithm MEAN_COST_SCALING
static constexpr PricingRule STEEPEST_EDGE
void set_solve_dual_problem(::operations_research::glop::GlopParameters_SolverBehavior value)
static constexpr ScalingAlgorithm EQUILIBRATION
bool has_log_to_stdout() const
void set_initialize_devex_with_column_norms(bool value)
void clear_change_status_to_imprecise()
bool change_status_to_imprecise() const
static constexpr ScalingAlgorithm DEFAULT
bool has_initialize_devex_with_column_norms() const
void set_recompute_edges_norm_threshold(double value)
static constexpr PricingRule PricingRule_MIN
void clear_relative_max_cost_perturbation()
bool use_middle_product_form_update() const
bool has_recompute_edges_norm_threshold() const
void set_ratio_test_zero_threshold(double value)
bool has_feasibility_rule() const
void clear_push_to_vertex()
double drop_tolerance() const
bool use_transposed_matrix() const
double preprocessor_zero_tolerance() const
void set_minimum_acceptable_pivot(double value)
static constexpr SolverBehavior LET_SOLVER_DECIDE
void clear_perturb_costs_in_dual_simplex()
static bool ScalingAlgorithm_IsValid(int value)
void clear_initialize_devex_with_column_norms()
void clear_drop_tolerance()
::operations_research::glop::GlopParameters_ScalingAlgorithm scaling_method() const
double minimum_acceptable_pivot() const
void clear_refactorization_threshold()
void clear_use_preprocessing()
void set_use_transposed_matrix(bool value)
static bool SolverBehavior_IsValid(int value)
void clear_provide_strong_optimal_guarantee()
void UnsafeArenaSwap(GlopParameters *other)
bool has_initial_basis() const
bool has_use_middle_product_form_update() const
static bool InitialBasisHeuristic_IsValid(int value)
double dual_feasibility_tolerance() const
static constexpr SolverBehavior NEVER_DO
bool perturb_costs_in_dual_simplex() const
bool has_max_number_of_reoptimizations() const
void clear_use_implied_free_preprocessor()
double initial_condition_number_threshold() const
void set_dual_feasibility_tolerance(double value)
void set_cost_scaling(::operations_research::glop::GlopParameters_CostScalingAlgorithm value)
bool has_optimization_rule() const
double ratio_test_zero_threshold() const
void clear_max_number_of_iterations()
static constexpr int InitialBasisHeuristic_ARRAYSIZE
bool has_use_implied_free_preprocessor() const
double solution_feasibility_tolerance() const
bool dynamically_adjust_refactorization_period() const
bool IsInitialized() const final
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
double dualizer_threshold() const
void set_dualizer_threshold(double value)
void set_drop_tolerance(double value)
static constexpr int kIndexInFileMessages
bool has_basis_refactorization_period() const
int32_t markowitz_zlatev_parameter() const
bool has_objective_upper_limit() const
static constexpr int PricingRule_ARRAYSIZE
GlopParameters_SolverBehavior SolverBehavior
bool has_primal_feasibility_tolerance() const
void set_max_deterministic_time(double value)
static constexpr InitialBasisHeuristic NONE
double crossover_bound_snapping_distance() const
bool has_minimum_acceptable_pivot() const
static constexpr SolverBehavior ALWAYS_DO
bool has_small_pivot_threshold() const
bool has_use_scaling() const
static bool PricingRule_IsValid(int value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
double lu_factorization_pivot_threshold() const
static constexpr CostScalingAlgorithm CostScalingAlgorithm_MIN
void set_max_number_of_reoptimizations(double value)
void clear_relative_cost_perturbation()
friend void swap(GlopParameters &a, GlopParameters &b)
void set_feasibility_rule(::operations_research::glop::GlopParameters_PricingRule value)
void set_exploit_singleton_column_in_initial_basis(bool value)
void set_refactorization_threshold(double value)
double relative_cost_perturbation() const
void set_objective_lower_limit(double value)
double relative_max_cost_perturbation() const
bool has_relative_cost_perturbation() const
void clear_minimum_acceptable_pivot()
void set_provide_strong_optimal_guarantee(bool value)
int32_t num_omp_threads() const
double objective_lower_limit() const
void clear_preprocessor_zero_tolerance()
bool has_max_time_in_seconds() const
void clear_dualizer_threshold()
void set_random_seed(int32_t value)
void MergeFrom(const GlopParameters &from)
void clear_objective_upper_limit()
GlopParameters & operator=(GlopParameters &&from) noexcept
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
GlopParameters_PricingRule PricingRule
void set_markowitz_zlatev_parameter(int32_t value)
void set_initial_basis(::operations_research::glop::GlopParameters_InitialBasisHeuristic value)
static const GlopParameters * internal_default_instance()
static constexpr CostScalingAlgorithm CostScalingAlgorithm_MAX
void clear_log_search_progress()
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
bool has_refactorization_threshold() const
void Swap(GlopParameters *other)
bool has_use_dedicated_dual_feasibility_algorithm() const
void set_use_preprocessing(bool value)
double degenerate_ministep_factor() const
bool has_recompute_reduced_costs_threshold() const
void set_use_scaling(bool value)
void set_log_search_progress(bool value)
void clear_ratio_test_zero_threshold()
bool has_max_deterministic_time() const
static constexpr SolverBehavior SolverBehavior_MIN
bool has_preprocessor_zero_tolerance() const
void clear_cost_scaling()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static constexpr ScalingAlgorithm ScalingAlgorithm_MAX
bool has_drop_tolerance() const
static const std::string & PricingRule_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void clear_max_time_in_seconds()
~GlopParameters() override
double small_pivot_threshold() const
bool has_dual_small_pivot_threshold() const
bool has_markowitz_zlatev_parameter() const
void CopyFrom(const GlopParameters &from)
double recompute_reduced_costs_threshold() const
bool has_dynamically_adjust_refactorization_period() const
bool has_use_preprocessing() const
void clear_dual_feasibility_tolerance()
static bool ScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ScalingAlgorithm *value)
void clear_markowitz_zlatev_parameter()
static constexpr ScalingAlgorithm ScalingAlgorithm_MIN
double max_time_in_seconds() const
void clear_lu_factorization_pivot_threshold()
void clear_basis_refactorization_period()
bool has_markowitz_singularity_threshold() const
double objective_upper_limit() const
bool has_dual_feasibility_tolerance() const
void set_objective_upper_limit(double value)
bool exploit_singleton_column_in_initial_basis() const
void set_dynamically_adjust_refactorization_period(bool value)
bool has_objective_lower_limit() const
bool has_provide_strong_optimal_guarantee() const
bool has_log_search_progress() const
int32_t basis_refactorization_period() const
static constexpr CostScalingAlgorithm NO_COST_SCALING
static bool InitialBasisHeuristic_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, InitialBasisHeuristic *value)
void set_relative_max_cost_perturbation(double value)
void set_use_dedicated_dual_feasibility_algorithm(bool value)
void clear_optimization_rule()
::operations_research::glop::GlopParameters_InitialBasisHeuristic initial_basis() const
static const std::string & ScalingAlgorithm_Name(T enum_t_value)
GlopParameters_InitialBasisHeuristic InitialBasisHeuristic
bool has_harris_tolerance_ratio() const
bool use_preprocessing() const
void clear_allow_simplex_algorithm_change()
void set_log_to_stdout(bool value)
void set_max_time_in_seconds(double value)
static constexpr PricingRule DANTZIG
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
void clear_crossover_bound_snapping_distance()
static constexpr InitialBasisHeuristic BIXBY
static const std::string & SolverBehavior_Name(T enum_t_value)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
bool has_num_omp_threads() const
void set_change_status_to_imprecise(bool value)
void set_small_pivot_threshold(double value)
void set_crossover_bound_snapping_distance(double value)
void set_perturb_costs_in_dual_simplex(bool value)
void set_initial_condition_number_threshold(double value)
GlopParameters & operator=(const GlopParameters &from)
void set_degenerate_ministep_factor(double value)
static constexpr InitialBasisHeuristic MAROS
bool has_lu_factorization_pivot_threshold() const
void set_recompute_reduced_costs_threshold(double value)
bool provide_strong_optimal_guarantee() const
void clear_dynamically_adjust_refactorization_period()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void set_primal_feasibility_tolerance(double value)
static constexpr InitialBasisHeuristic InitialBasisHeuristic_MIN
void clear_primal_feasibility_tolerance()
static constexpr CostScalingAlgorithm MEDIAN_COST_SCALING
void set_use_implied_free_preprocessor(bool value)
bool has_devex_weights_reset_period() const
void set_preprocessor_zero_tolerance(double value)
bool has_exploit_singleton_column_in_initial_basis() const
void set_use_middle_product_form_update(bool value)
int32_t random_seed() const
void clear_harris_tolerance_ratio()
::operations_research::glop::GlopParameters_CostScalingAlgorithm cost_scaling() const
bool has_perturb_costs_in_dual_simplex() const
static constexpr PricingRule PricingRule_MAX
size_t ByteSizeLong() const final
static constexpr PricingRule DEVEX
void clear_use_transposed_matrix()
void set_use_dual_simplex(bool value)
GlopParameters_CostScalingAlgorithm CostScalingAlgorithm
void clear_scaling_method()
bool log_to_stdout() const
void set_solution_feasibility_tolerance(double value)
void clear_dual_small_pivot_threshold()
static bool PricingRule_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PricingRule *value)
static bool SolverBehavior_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SolverBehavior *value)
void set_devex_weights_reset_period(int32_t value)
bool has_scaling_method() const
bool push_to_vertex() const
static constexpr int CostScalingAlgorithm_ARRAYSIZE
bool has_initial_condition_number_threshold() const
static constexpr CostScalingAlgorithm CONTAIN_ONE_COST_SCALING
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_PricingRule_descriptor()
constexpr GlopParameters_InitialBasisHeuristic GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_MAX
constexpr int GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_ARRAYSIZE
bool GlopParameters_CostScalingAlgorithm_IsValid(int value)
constexpr GlopParameters_PricingRule GlopParameters_PricingRule_PricingRule_MIN
bool GlopParameters_InitialBasisHeuristic_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_InitialBasisHeuristic *value)
constexpr int GlopParameters_SolverBehavior_SolverBehavior_ARRAYSIZE
GlopParameters_SolverBehavior
@ GlopParameters_SolverBehavior_ALWAYS_DO
@ GlopParameters_SolverBehavior_LET_SOLVER_DECIDE
@ GlopParameters_SolverBehavior_NEVER_DO
constexpr int GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_ARRAYSIZE
constexpr GlopParameters_ScalingAlgorithm GlopParameters_ScalingAlgorithm_ScalingAlgorithm_MIN
bool GlopParameters_CostScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_CostScalingAlgorithm *value)
constexpr int GlopParameters_PricingRule_PricingRule_ARRAYSIZE
constexpr GlopParameters_ScalingAlgorithm GlopParameters_ScalingAlgorithm_ScalingAlgorithm_MAX
const std::string & GlopParameters_InitialBasisHeuristic_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_ScalingAlgorithm_descriptor()
bool GlopParameters_InitialBasisHeuristic_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GlopParametersDefaultTypeInternal _GlopParameters_default_instance_
constexpr GlopParameters_PricingRule GlopParameters_PricingRule_PricingRule_MAX
constexpr int GlopParameters_ScalingAlgorithm_ScalingAlgorithm_ARRAYSIZE
bool GlopParameters_SolverBehavior_IsValid(int value)
GlopParameters_ScalingAlgorithm
@ GlopParameters_ScalingAlgorithm_LINEAR_PROGRAM
@ GlopParameters_ScalingAlgorithm_EQUILIBRATION
@ GlopParameters_ScalingAlgorithm_DEFAULT
const std::string & GlopParameters_SolverBehavior_Name(T enum_t_value)
constexpr GlopParameters_CostScalingAlgorithm GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MIN
const std::string & GlopParameters_ScalingAlgorithm_Name(T enum_t_value)
GlopParameters_PricingRule
@ GlopParameters_PricingRule_DANTZIG
@ GlopParameters_PricingRule_DEVEX
@ GlopParameters_PricingRule_STEEPEST_EDGE
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_SolverBehavior_descriptor()
constexpr GlopParameters_CostScalingAlgorithm GlopParameters_CostScalingAlgorithm_CostScalingAlgorithm_MAX
constexpr GlopParameters_InitialBasisHeuristic GlopParameters_InitialBasisHeuristic_InitialBasisHeuristic_MIN
constexpr GlopParameters_SolverBehavior GlopParameters_SolverBehavior_SolverBehavior_MIN
GlopParameters_CostScalingAlgorithm
@ GlopParameters_CostScalingAlgorithm_MEAN_COST_SCALING
@ GlopParameters_CostScalingAlgorithm_NO_COST_SCALING
@ GlopParameters_CostScalingAlgorithm_MEDIAN_COST_SCALING
@ GlopParameters_CostScalingAlgorithm_CONTAIN_ONE_COST_SCALING
bool GlopParameters_ScalingAlgorithm_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_ScalingAlgorithm *value)
constexpr GlopParameters_SolverBehavior GlopParameters_SolverBehavior_SolverBehavior_MAX
bool GlopParameters_PricingRule_IsValid(int value)
bool GlopParameters_ScalingAlgorithm_IsValid(int value)
GlopParameters_InitialBasisHeuristic
@ GlopParameters_InitialBasisHeuristic_BIXBY
@ GlopParameters_InitialBasisHeuristic_TRIANGULAR
@ GlopParameters_InitialBasisHeuristic_NONE
@ GlopParameters_InitialBasisHeuristic_MAROS
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_InitialBasisHeuristic_descriptor()
bool GlopParameters_SolverBehavior_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_SolverBehavior *value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_CostScalingAlgorithm_descriptor()
const std::string & GlopParameters_CostScalingAlgorithm_Name(T enum_t_value)
const std::string & GlopParameters_PricingRule_Name(T enum_t_value)
bool GlopParameters_PricingRule_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GlopParameters_PricingRule *value)
Collection of objects used to extend the Constraint Solver library.
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto