8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
16 #include <google/protobuf/port_def.inc>
21 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<GlopParameters>
_instance;
26 GOOGLE_PROTOBUF_VERIFY_VERSION;
30 new (ptr) ::operations_research::glop::GlopParameters();
31 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
43 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, _has_bits_),
44 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, _internal_metadata_),
48 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, scaling_method_),
49 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, feasibility_rule_),
50 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, optimization_rule_),
51 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, normalize_using_column_norm_),
52 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, use_nested_pricing_),
53 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, refactorization_threshold_),
54 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, recompute_reduced_costs_threshold_),
55 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, recompute_edges_norm_threshold_),
56 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, primal_feasibility_tolerance_),
57 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, dual_feasibility_tolerance_),
58 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, ratio_test_zero_threshold_),
59 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, harris_tolerance_ratio_),
60 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, small_pivot_threshold_),
61 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, minimum_acceptable_pivot_),
62 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, drop_tolerance_),
63 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, use_scaling_),
64 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, cost_scaling_),
65 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, initial_basis_),
66 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, use_transposed_matrix_),
67 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, basis_refactorization_period_),
68 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, solve_dual_problem_),
69 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, dualizer_threshold_),
70 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, solution_feasibility_tolerance_),
71 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, provide_strong_optimal_guarantee_),
72 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, change_status_to_imprecise_),
73 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, max_number_of_reoptimizations_),
74 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, lu_factorization_pivot_threshold_),
75 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, max_time_in_seconds_),
76 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, max_deterministic_time_),
77 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, max_number_of_iterations_),
78 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, markowitz_zlatev_parameter_),
79 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, markowitz_singularity_threshold_),
80 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, use_dual_simplex_),
81 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, allow_simplex_algorithm_change_),
82 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, devex_weights_reset_period_),
83 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, use_preprocessing_),
84 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, use_middle_product_form_update_),
85 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, initialize_devex_with_column_norms_),
86 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, exploit_singleton_column_in_initial_basis_),
87 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, dual_small_pivot_threshold_),
88 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, preprocessor_zero_tolerance_),
89 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, objective_lower_limit_),
90 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, objective_upper_limit_),
91 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, degenerate_ministep_factor_),
92 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, random_seed_),
93 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, num_omp_threads_),
94 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, perturb_costs_in_dual_simplex_),
95 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, relative_cost_perturbation_),
96 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, relative_max_cost_perturbation_),
97 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, initial_condition_number_threshold_),
98 PROTOBUF_FIELD_OFFSET(::operations_research::glop::GlopParameters, log_search_progress_),
152 { 0, 56,
sizeof(::operations_research::glop::GlopParameters)},
160 "\n\035ortools/glop/parameters.proto\022\030operati"
161 "ons_research.glop\"\246\026\n\016GlopParameters\022`\n\016"
162 "scaling_method\0309 \001(\01629.operations_resear"
163 "ch.glop.GlopParameters.ScalingAlgorithm:"
164 "\rEQUILIBRATION\022]\n\020feasibility_rule\030\001 \001(\016"
165 "24.operations_research.glop.GlopParamete"
166 "rs.PricingRule:\rSTEEPEST_EDGE\022^\n\021optimiz"
167 "ation_rule\030\002 \001(\01624.operations_research.g"
168 "lop.GlopParameters.PricingRule:\rSTEEPEST"
169 "_EDGE\022)\n\033normalize_using_column_norm\030\004 \001"
170 "(\010:\004true\022 \n\022use_nested_pricing\030\005 \001(\010:\004tr"
171 "ue\022(\n\031refactorization_threshold\030\006 \001(\001:\0051"
172 "e-09\0220\n!recompute_reduced_costs_threshol"
173 "d\030\010 \001(\001:\0051e-08\022+\n\036recompute_edges_norm_t"
174 "hreshold\030\t \001(\001:\003100\022+\n\034primal_feasibilit"
175 "y_tolerance\030\n \001(\001:\0051e-08\022)\n\032dual_feasibi"
176 "lity_tolerance\030\013 \001(\001:\0051e-08\022(\n\031ratio_tes"
177 "t_zero_threshold\030\014 \001(\001:\0051e-09\022#\n\026harris_"
178 "tolerance_ratio\030\r \001(\001:\0030.5\022$\n\025small_pivo"
179 "t_threshold\030\016 \001(\001:\0051e-06\022\'\n\030minimum_acce"
180 "ptable_pivot\030\017 \001(\001:\0051e-06\022\035\n\016drop_tolera"
181 "nce\0304 \001(\001:\0051e-14\022\031\n\013use_scaling\030\020 \001(\010:\004t"
182 "rue\022m\n\014cost_scaling\030< \001(\0162=.operations_r"
183 "esearch.glop.GlopParameters.CostScalingA"
184 "lgorithm:\030CONTAIN_ONE_COST_SCALING\022a\n\rin"
185 "itial_basis\030\021 \001(\0162>.operations_research."
186 "glop.GlopParameters.InitialBasisHeuristi"
187 "c:\nTRIANGULAR\022#\n\025use_transposed_matrix\030\022"
188 " \001(\010:\004true\022(\n\034basis_refactorization_peri"
189 "od\030\023 \001(\005:\00264\022f\n\022solve_dual_problem\030\024 \001(\016"
190 "27.operations_research.glop.GlopParamete"
191 "rs.SolverBehavior:\021LET_SOLVER_DECIDE\022\037\n\022"
192 "dualizer_threshold\030\025 \001(\001:\0031.5\022-\n\036solutio"
193 "n_feasibility_tolerance\030\026 \001(\001:\0051e-06\022.\n "
194 "provide_strong_optimal_guarantee\030\030 \001(\010:\004"
195 "true\022(\n\032change_status_to_imprecise\030: \001(\010"
196 ":\004true\022)\n\035max_number_of_reoptimizations\030"
197 "8 \001(\001:\00240\022.\n lu_factorization_pivot_thre"
198 "shold\030\031 \001(\001:\0040.01\022 \n\023max_time_in_seconds"
199 "\030\032 \001(\001:\003inf\022#\n\026max_deterministic_time\030- "
200 "\001(\001:\003inf\022$\n\030max_number_of_iterations\030\033 \001"
201 "(\003:\002-1\022%\n\032markowitz_zlatev_parameter\030\035 \001"
202 "(\005:\0013\022.\n\037markowitz_singularity_threshold"
203 "\030\036 \001(\001:\0051e-15\022\037\n\020use_dual_simplex\030\037 \001(\010:"
204 "\005false\022-\n\036allow_simplex_algorithm_change"
205 "\030 \001(\010:\005false\022\'\n\032devex_weights_reset_per"
206 "iod\030! \001(\005:\003150\022\037\n\021use_preprocessing\030\" \001("
207 "\010:\004true\022,\n\036use_middle_product_form_updat"
208 "e\030# \001(\010:\004true\0220\n\"initialize_devex_with_c"
209 "olumn_norms\030$ \001(\010:\004true\0227\n)exploit_singl"
210 "eton_column_in_initial_basis\030% \001(\010:\004true"
211 "\022*\n\032dual_small_pivot_threshold\030& \001(\001:\0060."
212 "0001\022*\n\033preprocessor_zero_tolerance\030\' \001("
213 "\001:\0051e-09\022#\n\025objective_lower_limit\030( \001(\001:"
214 "\004-inf\022\"\n\025objective_upper_limit\030) \001(\001:\003in"
215 "f\022(\n\032degenerate_ministep_factor\030* \001(\001:\0040"
216 ".01\022\026\n\013random_seed\030+ \001(\005:\0011\022\032\n\017num_omp_t"
217 "hreads\030, \001(\005:\0011\022,\n\035perturb_costs_in_dual"
218 "_simplex\0305 \001(\010:\005false\022)\n\032relative_cost_p"
219 "erturbation\0306 \001(\001:\0051e-05\022-\n\036relative_max"
220 "_cost_perturbation\0307 \001(\001:\0051e-07\0221\n\"initi"
221 "al_condition_number_threshold\030; \001(\001:\0051e+"
222 "50\022\"\n\023log_search_progress\030= \001(\010:\005false\"F"
223 "\n\020ScalingAlgorithm\022\013\n\007DEFAULT\020\000\022\021\n\rEQUIL"
224 "IBRATION\020\001\022\022\n\016LINEAR_PROGRAM\020\002\"D\n\016Solver"
225 "Behavior\022\r\n\tALWAYS_DO\020\000\022\014\n\010NEVER_DO\020\001\022\025\n"
226 "\021LET_SOLVER_DECIDE\020\002\"8\n\013PricingRule\022\013\n\007D"
227 "ANTZIG\020\000\022\021\n\rSTEEPEST_EDGE\020\001\022\t\n\005DEVEX\020\002\"G"
228 "\n\025InitialBasisHeuristic\022\010\n\004NONE\020\000\022\t\n\005BIX"
229 "BY\020\001\022\016\n\nTRIANGULAR\020\002\022\t\n\005MAROS\020\003\"y\n\024CostS"
230 "calingAlgorithm\022\023\n\017NO_COST_SCALING\020\000\022\034\n\030"
231 "CONTAIN_ONE_COST_SCALING\020\001\022\025\n\021MEAN_COST_"
232 "SCALING\020\002\022\027\n\023MEDIAN_COST_SCALING\020\003"
241 false,
false, descriptor_table_protodef_ortools_2fglop_2fparameters_2eproto,
"ortools/glop/parameters.proto", 2914,
266 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
272 constexpr
int GlopParameters::ScalingAlgorithm_ARRAYSIZE;
289 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
295 constexpr
int GlopParameters::SolverBehavior_ARRAYSIZE;
312 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
318 constexpr
int GlopParameters::PricingRule_ARRAYSIZE;
336 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
343 constexpr
int GlopParameters::InitialBasisHeuristic_ARRAYSIZE;
361 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
368 constexpr
int GlopParameters::CostScalingAlgorithm_ARRAYSIZE;
375 using HasBits = decltype(std::declval<GlopParameters>()._has_bits_);
377 (*has_bits)[1] |= 65536u;
380 (*has_bits)[0] |= 16u;
383 (*has_bits)[0] |= 32u;
386 (*has_bits)[0] |= 4096u;
389 (*has_bits)[0] |= 8192u;
392 (*has_bits)[0] |= 64u;
395 (*has_bits)[0] |= 128u;
398 (*has_bits)[0] |= 256u;
401 (*has_bits)[0] |= 512u;
404 (*has_bits)[0] |= 1024u;
407 (*has_bits)[0] |= 2048u;
410 (*has_bits)[0] |= 131072u;
413 (*has_bits)[0] |= 262144u;
416 (*has_bits)[0] |= 524288u;
419 (*has_bits)[1] |= 4096u;
422 (*has_bits)[0] |= 16384u;
425 (*has_bits)[1] |= 131072u;
428 (*has_bits)[0] |= 65536u;
431 (*has_bits)[0] |= 32768u;
434 (*has_bits)[0] |= 1048576u;
437 (*has_bits)[0] |= 2097152u;
440 (*has_bits)[0] |= 4194304u;
443 (*has_bits)[0] |= 8388608u;
446 (*has_bits)[1] |= 1u;
449 (*has_bits)[1] |= 2u;
452 (*has_bits)[1] |= 32768u;
455 (*has_bits)[0] |= 16777216u;
458 (*has_bits)[0] |= 33554432u;
461 (*has_bits)[1] |= 2048u;
464 (*has_bits)[0] |= 67108864u;
467 (*has_bits)[0] |= 268435456u;
470 (*has_bits)[0] |= 134217728u;
473 (*has_bits)[0] |= 1u;
476 (*has_bits)[0] |= 2u;
479 (*has_bits)[0] |= 536870912u;
482 (*has_bits)[1] |= 4u;
485 (*has_bits)[1] |= 8u;
488 (*has_bits)[0] |= 1073741824u;
491 (*has_bits)[0] |= 2147483648u;
494 (*has_bits)[1] |= 16u;
497 (*has_bits)[1] |= 32u;
500 (*has_bits)[1] |= 64u;
503 (*has_bits)[1] |= 128u;
506 (*has_bits)[1] |= 256u;
509 (*has_bits)[1] |= 512u;
512 (*has_bits)[1] |= 1024u;
515 (*has_bits)[0] |= 4u;
518 (*has_bits)[1] |= 8192u;
521 (*has_bits)[1] |= 16384u;
524 (*has_bits)[1] |= 262144u;
527 (*has_bits)[0] |= 8u;
531 GlopParameters::GlopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
532 : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
534 RegisterArenaDtor(arena);
537 GlopParameters::GlopParameters(
const GlopParameters& from)
538 : ::PROTOBUF_NAMESPACE_ID::Message(),
539 _has_bits_(from._has_bits_) {
540 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
541 ::memcpy(&use_dual_simplex_, &from.use_dual_simplex_,
542 static_cast<size_t>(
reinterpret_cast<char*
>(&initial_condition_number_threshold_) -
543 reinterpret_cast<char*
>(&use_dual_simplex_)) +
sizeof(initial_condition_number_threshold_));
547 void GlopParameters::SharedCtor() {
548 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
549 reinterpret_cast<char*
>(&use_dual_simplex_) -
reinterpret_cast<char*
>(
this)),
550 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&log_search_progress_) -
551 reinterpret_cast<char*
>(&use_dual_simplex_)) +
sizeof(log_search_progress_));
552 feasibility_rule_ = 1;
553 optimization_rule_ = 1;
554 refactorization_threshold_ = 1e-09;
555 recompute_reduced_costs_threshold_ = 1e-08;
556 recompute_edges_norm_threshold_ = 100;
557 primal_feasibility_tolerance_ = 1e-08;
558 dual_feasibility_tolerance_ = 1e-08;
559 ratio_test_zero_threshold_ = 1e-09;
560 normalize_using_column_norm_ =
true;
561 use_nested_pricing_ =
true;
563 use_transposed_matrix_ =
true;
565 harris_tolerance_ratio_ = 0.5;
566 small_pivot_threshold_ = 1e-06;
567 minimum_acceptable_pivot_ = 1e-06;
568 basis_refactorization_period_ = 64;
569 solve_dual_problem_ = 2;
570 dualizer_threshold_ = 1.5;
571 solution_feasibility_tolerance_ = 1e-06;
572 lu_factorization_pivot_threshold_ = 0.01;
573 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
574 max_number_of_iterations_ = PROTOBUF_LONGLONG(-1);
575 markowitz_singularity_threshold_ = 1e-15;
576 markowitz_zlatev_parameter_ = 3;
577 devex_weights_reset_period_ = 150;
578 initialize_devex_with_column_norms_ =
true;
579 exploit_singleton_column_in_initial_basis_ =
true;
580 provide_strong_optimal_guarantee_ =
true;
581 change_status_to_imprecise_ =
true;
582 use_preprocessing_ =
true;
583 use_middle_product_form_update_ =
true;
584 dual_small_pivot_threshold_ = 0.0001;
585 preprocessor_zero_tolerance_ = 1e-09;
586 objective_lower_limit_ = -std::numeric_limits<double>::infinity();
587 objective_upper_limit_ = std::numeric_limits<double>::infinity();
588 degenerate_ministep_factor_ = 0.01;
590 num_omp_threads_ = 1;
591 max_deterministic_time_ = std::numeric_limits<double>::infinity();
592 drop_tolerance_ = 1e-14;
593 relative_cost_perturbation_ = 1e-05;
594 relative_max_cost_perturbation_ = 1e-07;
595 max_number_of_reoptimizations_ = 40;
598 initial_condition_number_threshold_ = 1e+50;
601 GlopParameters::~GlopParameters() {
604 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
607 void GlopParameters::SharedDtor() {
608 GOOGLE_DCHECK(GetArena() ==
nullptr);
611 void GlopParameters::ArenaDtor(
void*
object) {
612 GlopParameters* _this =
reinterpret_cast< GlopParameters*
>(object);
615 void GlopParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
617 void GlopParameters::SetCachedSize(
int size)
const {
618 _cached_size_.Set(size);
620 const GlopParameters& GlopParameters::default_instance() {
622 return *internal_default_instance();
626 void GlopParameters::Clear() {
630 (void) cached_has_bits;
632 ::memset(&use_dual_simplex_, 0,
static_cast<size_t>(
633 reinterpret_cast<char*
>(&log_search_progress_) -
634 reinterpret_cast<char*
>(&use_dual_simplex_)) +
sizeof(log_search_progress_));
635 cached_has_bits = _has_bits_[0];
636 if (cached_has_bits & 0x000000f0u) {
637 feasibility_rule_ = 1;
638 optimization_rule_ = 1;
639 refactorization_threshold_ = 1e-09;
640 recompute_reduced_costs_threshold_ = 1e-08;
642 if (cached_has_bits & 0x0000ff00u) {
643 recompute_edges_norm_threshold_ = 100;
644 primal_feasibility_tolerance_ = 1e-08;
645 dual_feasibility_tolerance_ = 1e-08;
646 ratio_test_zero_threshold_ = 1e-09;
647 normalize_using_column_norm_ =
true;
648 use_nested_pricing_ =
true;
650 use_transposed_matrix_ =
true;
652 if (cached_has_bits & 0x00ff0000u) {
654 harris_tolerance_ratio_ = 0.5;
655 small_pivot_threshold_ = 1e-06;
656 minimum_acceptable_pivot_ = 1e-06;
657 basis_refactorization_period_ = 64;
658 solve_dual_problem_ = 2;
659 dualizer_threshold_ = 1.5;
660 solution_feasibility_tolerance_ = 1e-06;
662 if (cached_has_bits & 0xff000000u) {
663 lu_factorization_pivot_threshold_ = 0.01;
664 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
665 max_number_of_iterations_ = PROTOBUF_LONGLONG(-1);
666 markowitz_singularity_threshold_ = 1e-15;
667 markowitz_zlatev_parameter_ = 3;
668 devex_weights_reset_period_ = 150;
669 initialize_devex_with_column_norms_ =
true;
670 exploit_singleton_column_in_initial_basis_ =
true;
672 cached_has_bits = _has_bits_[1];
673 if (cached_has_bits & 0x000000ffu) {
674 provide_strong_optimal_guarantee_ =
true;
675 change_status_to_imprecise_ =
true;
676 use_preprocessing_ =
true;
677 use_middle_product_form_update_ =
true;
678 dual_small_pivot_threshold_ = 0.0001;
679 preprocessor_zero_tolerance_ = 1e-09;
680 objective_lower_limit_ = -std::numeric_limits<double>::infinity();
681 objective_upper_limit_ = std::numeric_limits<double>::infinity();
683 if (cached_has_bits & 0x0000ff00u) {
684 degenerate_ministep_factor_ = 0.01;
686 num_omp_threads_ = 1;
687 max_deterministic_time_ = std::numeric_limits<double>::infinity();
688 drop_tolerance_ = 1e-14;
689 relative_cost_perturbation_ = 1e-05;
690 relative_max_cost_perturbation_ = 1e-07;
691 max_number_of_reoptimizations_ = 40;
693 if (cached_has_bits & 0x00070000u) {
696 initial_condition_number_threshold_ = 1e+50;
699 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
702 const char* GlopParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
703 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
704 while (!ctx->Done(&ptr)) {
706 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
717 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
719 }
else goto handle_unusual;
729 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
731 }
else goto handle_unusual;
737 normalize_using_column_norm_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
739 }
else goto handle_unusual;
745 use_nested_pricing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
747 }
else goto handle_unusual;
753 refactorization_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
754 ptr +=
sizeof(double);
755 }
else goto handle_unusual;
761 recompute_reduced_costs_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
762 ptr +=
sizeof(double);
763 }
else goto handle_unusual;
769 recompute_edges_norm_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
770 ptr +=
sizeof(double);
771 }
else goto handle_unusual;
777 primal_feasibility_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
778 ptr +=
sizeof(double);
779 }
else goto handle_unusual;
785 dual_feasibility_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
786 ptr +=
sizeof(double);
787 }
else goto handle_unusual;
793 ratio_test_zero_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
794 ptr +=
sizeof(double);
795 }
else goto handle_unusual;
801 harris_tolerance_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
802 ptr +=
sizeof(double);
803 }
else goto handle_unusual;
809 small_pivot_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
810 ptr +=
sizeof(double);
811 }
else goto handle_unusual;
817 minimum_acceptable_pivot_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
818 ptr +=
sizeof(double);
819 }
else goto handle_unusual;
825 use_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
827 }
else goto handle_unusual;
837 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(17, val, mutable_unknown_fields());
839 }
else goto handle_unusual;
845 use_transposed_matrix_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
847 }
else goto handle_unusual;
853 basis_refactorization_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
855 }
else goto handle_unusual;
865 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(20, val, mutable_unknown_fields());
867 }
else goto handle_unusual;
873 dualizer_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
874 ptr +=
sizeof(double);
875 }
else goto handle_unusual;
881 solution_feasibility_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
882 ptr +=
sizeof(double);
883 }
else goto handle_unusual;
889 provide_strong_optimal_guarantee_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
891 }
else goto handle_unusual;
897 lu_factorization_pivot_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
898 ptr +=
sizeof(double);
899 }
else goto handle_unusual;
905 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
906 ptr +=
sizeof(double);
907 }
else goto handle_unusual;
913 max_number_of_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
915 }
else goto handle_unusual;
921 markowitz_zlatev_parameter_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
923 }
else goto handle_unusual;
929 markowitz_singularity_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
930 ptr +=
sizeof(double);
931 }
else goto handle_unusual;
937 use_dual_simplex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
939 }
else goto handle_unusual;
945 allow_simplex_algorithm_change_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
947 }
else goto handle_unusual;
953 devex_weights_reset_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
955 }
else goto handle_unusual;
961 use_preprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
963 }
else goto handle_unusual;
969 use_middle_product_form_update_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
971 }
else goto handle_unusual;
977 initialize_devex_with_column_norms_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
979 }
else goto handle_unusual;
985 exploit_singleton_column_in_initial_basis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
987 }
else goto handle_unusual;
993 dual_small_pivot_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
994 ptr +=
sizeof(double);
995 }
else goto handle_unusual;
1001 preprocessor_zero_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1002 ptr +=
sizeof(double);
1003 }
else goto handle_unusual;
1009 objective_lower_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1010 ptr +=
sizeof(double);
1011 }
else goto handle_unusual;
1017 objective_upper_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1018 ptr +=
sizeof(double);
1019 }
else goto handle_unusual;
1025 degenerate_ministep_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1026 ptr +=
sizeof(double);
1027 }
else goto handle_unusual;
1033 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1035 }
else goto handle_unusual;
1041 num_omp_threads_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1043 }
else goto handle_unusual;
1049 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1050 ptr +=
sizeof(double);
1051 }
else goto handle_unusual;
1057 drop_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1058 ptr +=
sizeof(double);
1059 }
else goto handle_unusual;
1065 perturb_costs_in_dual_simplex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1067 }
else goto handle_unusual;
1073 relative_cost_perturbation_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1074 ptr +=
sizeof(double);
1075 }
else goto handle_unusual;
1081 relative_max_cost_perturbation_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1082 ptr +=
sizeof(double);
1083 }
else goto handle_unusual;
1089 max_number_of_reoptimizations_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1090 ptr +=
sizeof(double);
1091 }
else goto handle_unusual;
1101 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(57, val, mutable_unknown_fields());
1103 }
else goto handle_unusual;
1109 change_status_to_imprecise_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1111 }
else goto handle_unusual;
1117 initial_condition_number_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1118 ptr +=
sizeof(double);
1119 }
else goto handle_unusual;
1129 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(60, val, mutable_unknown_fields());
1131 }
else goto handle_unusual;
1137 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1139 }
else goto handle_unusual;
1143 if ((tag & 7) == 4 || tag == 0) {
1144 ctx->SetLastTag(tag);
1147 ptr = UnknownFieldParse(tag,
1148 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1150 CHK_(ptr !=
nullptr);
1167 (void) cached_has_bits;
1169 cached_has_bits = _has_bits_[0];
1171 if (cached_has_bits & 0x00000010u) {
1172 target = stream->EnsureSpace(target);
1173 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1174 1, this->_internal_feasibility_rule(), target);
1178 if (cached_has_bits & 0x00000020u) {
1179 target = stream->EnsureSpace(target);
1180 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1181 2, this->_internal_optimization_rule(), target);
1185 if (cached_has_bits & 0x00001000u) {
1186 target = stream->EnsureSpace(target);
1187 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_normalize_using_column_norm(), target);
1191 if (cached_has_bits & 0x00002000u) {
1192 target = stream->EnsureSpace(target);
1193 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_use_nested_pricing(), target);
1197 if (cached_has_bits & 0x00000040u) {
1198 target = stream->EnsureSpace(target);
1199 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(6, this->_internal_refactorization_threshold(), target);
1203 if (cached_has_bits & 0x00000080u) {
1204 target = stream->EnsureSpace(target);
1205 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(8, this->_internal_recompute_reduced_costs_threshold(), target);
1209 if (cached_has_bits & 0x00000100u) {
1210 target = stream->EnsureSpace(target);
1211 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(9, this->_internal_recompute_edges_norm_threshold(), target);
1215 if (cached_has_bits & 0x00000200u) {
1216 target = stream->EnsureSpace(target);
1217 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(10, this->_internal_primal_feasibility_tolerance(), target);
1221 if (cached_has_bits & 0x00000400u) {
1222 target = stream->EnsureSpace(target);
1223 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(11, this->_internal_dual_feasibility_tolerance(), target);
1227 if (cached_has_bits & 0x00000800u) {
1228 target = stream->EnsureSpace(target);
1229 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(12, this->_internal_ratio_test_zero_threshold(), target);
1233 if (cached_has_bits & 0x00020000u) {
1234 target = stream->EnsureSpace(target);
1235 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(13, this->_internal_harris_tolerance_ratio(), target);
1239 if (cached_has_bits & 0x00040000u) {
1240 target = stream->EnsureSpace(target);
1241 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(14, this->_internal_small_pivot_threshold(), target);
1245 if (cached_has_bits & 0x00080000u) {
1246 target = stream->EnsureSpace(target);
1247 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_minimum_acceptable_pivot(), target);
1251 if (cached_has_bits & 0x00004000u) {
1252 target = stream->EnsureSpace(target);
1253 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(16, this->_internal_use_scaling(), target);
1257 if (cached_has_bits & 0x00010000u) {
1258 target = stream->EnsureSpace(target);
1259 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1260 17, this->_internal_initial_basis(), target);
1264 if (cached_has_bits & 0x00008000u) {
1265 target = stream->EnsureSpace(target);
1266 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(18, this->_internal_use_transposed_matrix(), target);
1270 if (cached_has_bits & 0x00100000u) {
1271 target = stream->EnsureSpace(target);
1272 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(19, this->_internal_basis_refactorization_period(), target);
1276 if (cached_has_bits & 0x00200000u) {
1277 target = stream->EnsureSpace(target);
1278 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1279 20, this->_internal_solve_dual_problem(), target);
1283 if (cached_has_bits & 0x00400000u) {
1284 target = stream->EnsureSpace(target);
1285 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(21, this->_internal_dualizer_threshold(), target);
1289 if (cached_has_bits & 0x00800000u) {
1290 target = stream->EnsureSpace(target);
1291 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_solution_feasibility_tolerance(), target);
1294 cached_has_bits = _has_bits_[1];
1296 if (cached_has_bits & 0x00000001u) {
1297 target = stream->EnsureSpace(target);
1298 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(24, this->_internal_provide_strong_optimal_guarantee(), target);
1301 cached_has_bits = _has_bits_[0];
1303 if (cached_has_bits & 0x01000000u) {
1304 target = stream->EnsureSpace(target);
1305 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(25, this->_internal_lu_factorization_pivot_threshold(), target);
1309 if (cached_has_bits & 0x02000000u) {
1310 target = stream->EnsureSpace(target);
1311 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(26, this->_internal_max_time_in_seconds(), target);
1315 if (cached_has_bits & 0x04000000u) {
1316 target = stream->EnsureSpace(target);
1317 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(27, this->_internal_max_number_of_iterations(), target);
1321 if (cached_has_bits & 0x10000000u) {
1322 target = stream->EnsureSpace(target);
1323 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(29, this->_internal_markowitz_zlatev_parameter(), target);
1327 if (cached_has_bits & 0x08000000u) {
1328 target = stream->EnsureSpace(target);
1329 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(30, this->_internal_markowitz_singularity_threshold(), target);
1333 if (cached_has_bits & 0x00000001u) {
1334 target = stream->EnsureSpace(target);
1335 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(31, this->_internal_use_dual_simplex(), target);
1339 if (cached_has_bits & 0x00000002u) {
1340 target = stream->EnsureSpace(target);
1341 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(32, this->_internal_allow_simplex_algorithm_change(), target);
1345 if (cached_has_bits & 0x20000000u) {
1346 target = stream->EnsureSpace(target);
1347 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(33, this->_internal_devex_weights_reset_period(), target);
1350 cached_has_bits = _has_bits_[1];
1352 if (cached_has_bits & 0x00000004u) {
1353 target = stream->EnsureSpace(target);
1354 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(34, this->_internal_use_preprocessing(), target);
1358 if (cached_has_bits & 0x00000008u) {
1359 target = stream->EnsureSpace(target);
1360 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_middle_product_form_update(), target);
1363 cached_has_bits = _has_bits_[0];
1365 if (cached_has_bits & 0x40000000u) {
1366 target = stream->EnsureSpace(target);
1367 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(36, this->_internal_initialize_devex_with_column_norms(), target);
1371 if (cached_has_bits & 0x80000000u) {
1372 target = stream->EnsureSpace(target);
1373 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(37, this->_internal_exploit_singleton_column_in_initial_basis(), target);
1376 cached_has_bits = _has_bits_[1];
1378 if (cached_has_bits & 0x00000010u) {
1379 target = stream->EnsureSpace(target);
1380 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(38, this->_internal_dual_small_pivot_threshold(), target);
1384 if (cached_has_bits & 0x00000020u) {
1385 target = stream->EnsureSpace(target);
1386 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(39, this->_internal_preprocessor_zero_tolerance(), target);
1390 if (cached_has_bits & 0x00000040u) {
1391 target = stream->EnsureSpace(target);
1392 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(40, this->_internal_objective_lower_limit(), target);
1396 if (cached_has_bits & 0x00000080u) {
1397 target = stream->EnsureSpace(target);
1398 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(41, this->_internal_objective_upper_limit(), target);
1402 if (cached_has_bits & 0x00000100u) {
1403 target = stream->EnsureSpace(target);
1404 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(42, this->_internal_degenerate_ministep_factor(), target);
1408 if (cached_has_bits & 0x00000200u) {
1409 target = stream->EnsureSpace(target);
1410 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(43, this->_internal_random_seed(), target);
1414 if (cached_has_bits & 0x00000400u) {
1415 target = stream->EnsureSpace(target);
1416 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(44, this->_internal_num_omp_threads(), target);
1420 if (cached_has_bits & 0x00000800u) {
1421 target = stream->EnsureSpace(target);
1422 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_max_deterministic_time(), target);
1426 if (cached_has_bits & 0x00001000u) {
1427 target = stream->EnsureSpace(target);
1428 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(52, this->_internal_drop_tolerance(), target);
1431 cached_has_bits = _has_bits_[0];
1433 if (cached_has_bits & 0x00000004u) {
1434 target = stream->EnsureSpace(target);
1435 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(53, this->_internal_perturb_costs_in_dual_simplex(), target);
1438 cached_has_bits = _has_bits_[1];
1440 if (cached_has_bits & 0x00002000u) {
1441 target = stream->EnsureSpace(target);
1442 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(54, this->_internal_relative_cost_perturbation(), target);
1446 if (cached_has_bits & 0x00004000u) {
1447 target = stream->EnsureSpace(target);
1448 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(55, this->_internal_relative_max_cost_perturbation(), target);
1452 if (cached_has_bits & 0x00008000u) {
1453 target = stream->EnsureSpace(target);
1454 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(56, this->_internal_max_number_of_reoptimizations(), target);
1458 if (cached_has_bits & 0x00010000u) {
1459 target = stream->EnsureSpace(target);
1460 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1461 57, this->_internal_scaling_method(), target);
1465 if (cached_has_bits & 0x00000002u) {
1466 target = stream->EnsureSpace(target);
1467 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(58, this->_internal_change_status_to_imprecise(), target);
1471 if (cached_has_bits & 0x00040000u) {
1472 target = stream->EnsureSpace(target);
1473 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(59, this->_internal_initial_condition_number_threshold(), target);
1477 if (cached_has_bits & 0x00020000u) {
1478 target = stream->EnsureSpace(target);
1479 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1480 60, this->_internal_cost_scaling(), target);
1483 cached_has_bits = _has_bits_[0];
1485 if (cached_has_bits & 0x00000008u) {
1486 target = stream->EnsureSpace(target);
1487 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(61, this->_internal_log_search_progress(), target);
1490 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1491 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1492 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1498 size_t GlopParameters::ByteSizeLong()
const {
1500 size_t total_size = 0;
1504 (void) cached_has_bits;
1506 cached_has_bits = _has_bits_[0];
1507 if (cached_has_bits & 0x000000ffu) {
1509 if (cached_has_bits & 0x00000001u) {
1510 total_size += 2 + 1;
1514 if (cached_has_bits & 0x00000002u) {
1515 total_size += 2 + 1;
1519 if (cached_has_bits & 0x00000004u) {
1520 total_size += 2 + 1;
1524 if (cached_has_bits & 0x00000008u) {
1525 total_size += 2 + 1;
1529 if (cached_has_bits & 0x00000010u) {
1531 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_feasibility_rule());
1535 if (cached_has_bits & 0x00000020u) {
1537 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_optimization_rule());
1541 if (cached_has_bits & 0x00000040u) {
1542 total_size += 1 + 8;
1546 if (cached_has_bits & 0x00000080u) {
1547 total_size += 1 + 8;
1551 if (cached_has_bits & 0x0000ff00u) {
1553 if (cached_has_bits & 0x00000100u) {
1554 total_size += 1 + 8;
1558 if (cached_has_bits & 0x00000200u) {
1559 total_size += 1 + 8;
1563 if (cached_has_bits & 0x00000400u) {
1564 total_size += 1 + 8;
1568 if (cached_has_bits & 0x00000800u) {
1569 total_size += 1 + 8;
1573 if (cached_has_bits & 0x00001000u) {
1574 total_size += 1 + 1;
1578 if (cached_has_bits & 0x00002000u) {
1579 total_size += 1 + 1;
1583 if (cached_has_bits & 0x00004000u) {
1584 total_size += 2 + 1;
1588 if (cached_has_bits & 0x00008000u) {
1589 total_size += 2 + 1;
1593 if (cached_has_bits & 0x00ff0000u) {
1595 if (cached_has_bits & 0x00010000u) {
1597 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_basis());
1601 if (cached_has_bits & 0x00020000u) {
1602 total_size += 1 + 8;
1606 if (cached_has_bits & 0x00040000u) {
1607 total_size += 1 + 8;
1611 if (cached_has_bits & 0x00080000u) {
1612 total_size += 1 + 8;
1616 if (cached_has_bits & 0x00100000u) {
1618 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1619 this->_internal_basis_refactorization_period());
1623 if (cached_has_bits & 0x00200000u) {
1625 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_solve_dual_problem());
1629 if (cached_has_bits & 0x00400000u) {
1630 total_size += 2 + 8;
1634 if (cached_has_bits & 0x00800000u) {
1635 total_size += 2 + 8;
1639 if (cached_has_bits & 0xff000000u) {
1641 if (cached_has_bits & 0x01000000u) {
1642 total_size += 2 + 8;
1646 if (cached_has_bits & 0x02000000u) {
1647 total_size += 2 + 8;
1651 if (cached_has_bits & 0x04000000u) {
1653 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1654 this->_internal_max_number_of_iterations());
1658 if (cached_has_bits & 0x08000000u) {
1659 total_size += 2 + 8;
1663 if (cached_has_bits & 0x10000000u) {
1665 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1666 this->_internal_markowitz_zlatev_parameter());
1670 if (cached_has_bits & 0x20000000u) {
1672 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1673 this->_internal_devex_weights_reset_period());
1677 if (cached_has_bits & 0x40000000u) {
1678 total_size += 2 + 1;
1682 if (cached_has_bits & 0x80000000u) {
1683 total_size += 2 + 1;
1687 cached_has_bits = _has_bits_[1];
1688 if (cached_has_bits & 0x000000ffu) {
1690 if (cached_has_bits & 0x00000001u) {
1691 total_size += 2 + 1;
1695 if (cached_has_bits & 0x00000002u) {
1696 total_size += 2 + 1;
1700 if (cached_has_bits & 0x00000004u) {
1701 total_size += 2 + 1;
1705 if (cached_has_bits & 0x00000008u) {
1706 total_size += 2 + 1;
1710 if (cached_has_bits & 0x00000010u) {
1711 total_size += 2 + 8;
1715 if (cached_has_bits & 0x00000020u) {
1716 total_size += 2 + 8;
1720 if (cached_has_bits & 0x00000040u) {
1721 total_size += 2 + 8;
1725 if (cached_has_bits & 0x00000080u) {
1726 total_size += 2 + 8;
1730 if (cached_has_bits & 0x0000ff00u) {
1732 if (cached_has_bits & 0x00000100u) {
1733 total_size += 2 + 8;
1737 if (cached_has_bits & 0x00000200u) {
1739 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1740 this->_internal_random_seed());
1744 if (cached_has_bits & 0x00000400u) {
1746 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1747 this->_internal_num_omp_threads());
1751 if (cached_has_bits & 0x00000800u) {
1752 total_size += 2 + 8;
1756 if (cached_has_bits & 0x00001000u) {
1757 total_size += 2 + 8;
1761 if (cached_has_bits & 0x00002000u) {
1762 total_size += 2 + 8;
1766 if (cached_has_bits & 0x00004000u) {
1767 total_size += 2 + 8;
1771 if (cached_has_bits & 0x00008000u) {
1772 total_size += 2 + 8;
1776 if (cached_has_bits & 0x00070000u) {
1778 if (cached_has_bits & 0x00010000u) {
1780 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_scaling_method());
1784 if (cached_has_bits & 0x00020000u) {
1786 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_cost_scaling());
1790 if (cached_has_bits & 0x00040000u) {
1791 total_size += 2 + 8;
1795 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1796 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1797 _internal_metadata_, total_size, &_cached_size_);
1799 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1800 SetCachedSize(cached_size);
1804 void GlopParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1806 GOOGLE_DCHECK_NE(&from,
this);
1807 const GlopParameters* source =
1808 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GlopParameters>(
1810 if (source ==
nullptr) {
1812 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
1819 void GlopParameters::MergeFrom(
const GlopParameters& from) {
1821 GOOGLE_DCHECK_NE(&from,
this);
1822 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1824 (void) cached_has_bits;
1826 cached_has_bits = from._has_bits_[0];
1827 if (cached_has_bits & 0x000000ffu) {
1828 if (cached_has_bits & 0x00000001u) {
1829 use_dual_simplex_ = from.use_dual_simplex_;
1831 if (cached_has_bits & 0x00000002u) {
1832 allow_simplex_algorithm_change_ = from.allow_simplex_algorithm_change_;
1834 if (cached_has_bits & 0x00000004u) {
1835 perturb_costs_in_dual_simplex_ = from.perturb_costs_in_dual_simplex_;
1837 if (cached_has_bits & 0x00000008u) {
1838 log_search_progress_ = from.log_search_progress_;
1840 if (cached_has_bits & 0x00000010u) {
1841 feasibility_rule_ = from.feasibility_rule_;
1843 if (cached_has_bits & 0x00000020u) {
1844 optimization_rule_ = from.optimization_rule_;
1846 if (cached_has_bits & 0x00000040u) {
1847 refactorization_threshold_ = from.refactorization_threshold_;
1849 if (cached_has_bits & 0x00000080u) {
1850 recompute_reduced_costs_threshold_ = from.recompute_reduced_costs_threshold_;
1852 _has_bits_[0] |= cached_has_bits;
1854 if (cached_has_bits & 0x0000ff00u) {
1855 if (cached_has_bits & 0x00000100u) {
1856 recompute_edges_norm_threshold_ = from.recompute_edges_norm_threshold_;
1858 if (cached_has_bits & 0x00000200u) {
1859 primal_feasibility_tolerance_ = from.primal_feasibility_tolerance_;
1861 if (cached_has_bits & 0x00000400u) {
1862 dual_feasibility_tolerance_ = from.dual_feasibility_tolerance_;
1864 if (cached_has_bits & 0x00000800u) {
1865 ratio_test_zero_threshold_ = from.ratio_test_zero_threshold_;
1867 if (cached_has_bits & 0x00001000u) {
1868 normalize_using_column_norm_ = from.normalize_using_column_norm_;
1870 if (cached_has_bits & 0x00002000u) {
1871 use_nested_pricing_ = from.use_nested_pricing_;
1873 if (cached_has_bits & 0x00004000u) {
1874 use_scaling_ = from.use_scaling_;
1876 if (cached_has_bits & 0x00008000u) {
1877 use_transposed_matrix_ = from.use_transposed_matrix_;
1879 _has_bits_[0] |= cached_has_bits;
1881 if (cached_has_bits & 0x00ff0000u) {
1882 if (cached_has_bits & 0x00010000u) {
1883 initial_basis_ = from.initial_basis_;
1885 if (cached_has_bits & 0x00020000u) {
1886 harris_tolerance_ratio_ = from.harris_tolerance_ratio_;
1888 if (cached_has_bits & 0x00040000u) {
1889 small_pivot_threshold_ = from.small_pivot_threshold_;
1891 if (cached_has_bits & 0x00080000u) {
1892 minimum_acceptable_pivot_ = from.minimum_acceptable_pivot_;
1894 if (cached_has_bits & 0x00100000u) {
1895 basis_refactorization_period_ = from.basis_refactorization_period_;
1897 if (cached_has_bits & 0x00200000u) {
1898 solve_dual_problem_ = from.solve_dual_problem_;
1900 if (cached_has_bits & 0x00400000u) {
1901 dualizer_threshold_ = from.dualizer_threshold_;
1903 if (cached_has_bits & 0x00800000u) {
1904 solution_feasibility_tolerance_ = from.solution_feasibility_tolerance_;
1906 _has_bits_[0] |= cached_has_bits;
1908 if (cached_has_bits & 0xff000000u) {
1909 if (cached_has_bits & 0x01000000u) {
1910 lu_factorization_pivot_threshold_ = from.lu_factorization_pivot_threshold_;
1912 if (cached_has_bits & 0x02000000u) {
1913 max_time_in_seconds_ = from.max_time_in_seconds_;
1915 if (cached_has_bits & 0x04000000u) {
1916 max_number_of_iterations_ = from.max_number_of_iterations_;
1918 if (cached_has_bits & 0x08000000u) {
1919 markowitz_singularity_threshold_ = from.markowitz_singularity_threshold_;
1921 if (cached_has_bits & 0x10000000u) {
1922 markowitz_zlatev_parameter_ = from.markowitz_zlatev_parameter_;
1924 if (cached_has_bits & 0x20000000u) {
1925 devex_weights_reset_period_ = from.devex_weights_reset_period_;
1927 if (cached_has_bits & 0x40000000u) {
1928 initialize_devex_with_column_norms_ = from.initialize_devex_with_column_norms_;
1930 if (cached_has_bits & 0x80000000u) {
1931 exploit_singleton_column_in_initial_basis_ = from.exploit_singleton_column_in_initial_basis_;
1933 _has_bits_[0] |= cached_has_bits;
1935 cached_has_bits = from._has_bits_[1];
1936 if (cached_has_bits & 0x000000ffu) {
1937 if (cached_has_bits & 0x00000001u) {
1938 provide_strong_optimal_guarantee_ = from.provide_strong_optimal_guarantee_;
1940 if (cached_has_bits & 0x00000002u) {
1941 change_status_to_imprecise_ = from.change_status_to_imprecise_;
1943 if (cached_has_bits & 0x00000004u) {
1944 use_preprocessing_ = from.use_preprocessing_;
1946 if (cached_has_bits & 0x00000008u) {
1947 use_middle_product_form_update_ = from.use_middle_product_form_update_;
1949 if (cached_has_bits & 0x00000010u) {
1950 dual_small_pivot_threshold_ = from.dual_small_pivot_threshold_;
1952 if (cached_has_bits & 0x00000020u) {
1953 preprocessor_zero_tolerance_ = from.preprocessor_zero_tolerance_;
1955 if (cached_has_bits & 0x00000040u) {
1956 objective_lower_limit_ = from.objective_lower_limit_;
1958 if (cached_has_bits & 0x00000080u) {
1959 objective_upper_limit_ = from.objective_upper_limit_;
1961 _has_bits_[1] |= cached_has_bits;
1963 if (cached_has_bits & 0x0000ff00u) {
1964 if (cached_has_bits & 0x00000100u) {
1965 degenerate_ministep_factor_ = from.degenerate_ministep_factor_;
1967 if (cached_has_bits & 0x00000200u) {
1968 random_seed_ = from.random_seed_;
1970 if (cached_has_bits & 0x00000400u) {
1971 num_omp_threads_ = from.num_omp_threads_;
1973 if (cached_has_bits & 0x00000800u) {
1974 max_deterministic_time_ = from.max_deterministic_time_;
1976 if (cached_has_bits & 0x00001000u) {
1977 drop_tolerance_ = from.drop_tolerance_;
1979 if (cached_has_bits & 0x00002000u) {
1980 relative_cost_perturbation_ = from.relative_cost_perturbation_;
1982 if (cached_has_bits & 0x00004000u) {
1983 relative_max_cost_perturbation_ = from.relative_max_cost_perturbation_;
1985 if (cached_has_bits & 0x00008000u) {
1986 max_number_of_reoptimizations_ = from.max_number_of_reoptimizations_;
1988 _has_bits_[1] |= cached_has_bits;
1990 if (cached_has_bits & 0x00070000u) {
1991 if (cached_has_bits & 0x00010000u) {
1992 scaling_method_ = from.scaling_method_;
1994 if (cached_has_bits & 0x00020000u) {
1995 cost_scaling_ = from.cost_scaling_;
1997 if (cached_has_bits & 0x00040000u) {
1998 initial_condition_number_threshold_ = from.initial_condition_number_threshold_;
2000 _has_bits_[1] |= cached_has_bits;
2004 void GlopParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2006 if (&from ==
this)
return;
2011 void GlopParameters::CopyFrom(
const GlopParameters& from) {
2013 if (&from ==
this)
return;
2018 bool GlopParameters::IsInitialized()
const {
2022 void GlopParameters::InternalSwap(GlopParameters* other) {
2024 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2025 swap(_has_bits_[0], other->_has_bits_[0]);
2026 swap(_has_bits_[1], other->_has_bits_[1]);
2027 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2028 PROTOBUF_FIELD_OFFSET(GlopParameters, log_search_progress_)
2029 +
sizeof(GlopParameters::log_search_progress_)
2030 - PROTOBUF_FIELD_OFFSET(GlopParameters, use_dual_simplex_)>(
2031 reinterpret_cast<char*
>(&use_dual_simplex_),
2032 reinterpret_cast<char*
>(&other->use_dual_simplex_));
2033 swap(feasibility_rule_, other->feasibility_rule_);
2034 swap(optimization_rule_, other->optimization_rule_);
2035 swap(refactorization_threshold_, other->refactorization_threshold_);
2036 swap(recompute_reduced_costs_threshold_, other->recompute_reduced_costs_threshold_);
2037 swap(recompute_edges_norm_threshold_, other->recompute_edges_norm_threshold_);
2038 swap(primal_feasibility_tolerance_, other->primal_feasibility_tolerance_);
2039 swap(dual_feasibility_tolerance_, other->dual_feasibility_tolerance_);
2040 swap(ratio_test_zero_threshold_, other->ratio_test_zero_threshold_);
2041 swap(normalize_using_column_norm_, other->normalize_using_column_norm_);
2042 swap(use_nested_pricing_, other->use_nested_pricing_);
2043 swap(use_scaling_, other->use_scaling_);
2044 swap(use_transposed_matrix_, other->use_transposed_matrix_);
2045 swap(initial_basis_, other->initial_basis_);
2046 swap(harris_tolerance_ratio_, other->harris_tolerance_ratio_);
2047 swap(small_pivot_threshold_, other->small_pivot_threshold_);
2048 swap(minimum_acceptable_pivot_, other->minimum_acceptable_pivot_);
2049 swap(basis_refactorization_period_, other->basis_refactorization_period_);
2050 swap(solve_dual_problem_, other->solve_dual_problem_);
2051 swap(dualizer_threshold_, other->dualizer_threshold_);
2052 swap(solution_feasibility_tolerance_, other->solution_feasibility_tolerance_);
2053 swap(lu_factorization_pivot_threshold_, other->lu_factorization_pivot_threshold_);
2054 swap(max_time_in_seconds_, other->max_time_in_seconds_);
2055 swap(max_number_of_iterations_, other->max_number_of_iterations_);
2056 swap(markowitz_singularity_threshold_, other->markowitz_singularity_threshold_);
2057 swap(markowitz_zlatev_parameter_, other->markowitz_zlatev_parameter_);
2058 swap(devex_weights_reset_period_, other->devex_weights_reset_period_);
2059 swap(initialize_devex_with_column_norms_, other->initialize_devex_with_column_norms_);
2060 swap(exploit_singleton_column_in_initial_basis_, other->exploit_singleton_column_in_initial_basis_);
2061 swap(provide_strong_optimal_guarantee_, other->provide_strong_optimal_guarantee_);
2062 swap(change_status_to_imprecise_, other->change_status_to_imprecise_);
2063 swap(use_preprocessing_, other->use_preprocessing_);
2064 swap(use_middle_product_form_update_, other->use_middle_product_form_update_);
2065 swap(dual_small_pivot_threshold_, other->dual_small_pivot_threshold_);
2066 swap(preprocessor_zero_tolerance_, other->preprocessor_zero_tolerance_);
2067 swap(objective_lower_limit_, other->objective_lower_limit_);
2068 swap(objective_upper_limit_, other->objective_upper_limit_);
2069 swap(degenerate_ministep_factor_, other->degenerate_ministep_factor_);
2070 swap(random_seed_, other->random_seed_);
2071 swap(num_omp_threads_, other->num_omp_threads_);
2072 swap(max_deterministic_time_, other->max_deterministic_time_);
2073 swap(drop_tolerance_, other->drop_tolerance_);
2074 swap(relative_cost_perturbation_, other->relative_cost_perturbation_);
2075 swap(relative_max_cost_perturbation_, other->relative_max_cost_perturbation_);
2076 swap(max_number_of_reoptimizations_, other->max_number_of_reoptimizations_);
2077 swap(scaling_method_, other->scaling_method_);
2078 swap(cost_scaling_, other->cost_scaling_);
2079 swap(initial_condition_number_threshold_, other->initial_condition_number_threshold_);
2082 ::PROTOBUF_NAMESPACE_ID::Metadata GlopParameters::GetMetadata()
const {
2083 return GetMetadataStatic();
2090 PROTOBUF_NAMESPACE_OPEN
2092 return Arena::CreateMessageInternal< ::operations_research::glop::GlopParameters >(arena);
2094 PROTOBUF_NAMESPACE_CLOSE
2097 #include <google/protobuf/port_undef.inc>
static void set_has_log_search_progress(HasBits *has_bits)
static void set_has_num_omp_threads(HasBits *has_bits)
static void set_has_provide_strong_optimal_guarantee(HasBits *has_bits)
static void set_has_use_nested_pricing(HasBits *has_bits)
decltype(std::declval< GlopParameters >()._has_bits_) HasBits
static void set_has_exploit_singleton_column_in_initial_basis(HasBits *has_bits)
static void set_has_recompute_edges_norm_threshold(HasBits *has_bits)
static void set_has_max_number_of_reoptimizations(HasBits *has_bits)
static void set_has_initialize_devex_with_column_norms(HasBits *has_bits)
static void set_has_relative_cost_perturbation(HasBits *has_bits)
static void set_has_lu_factorization_pivot_threshold(HasBits *has_bits)
static void set_has_markowitz_zlatev_parameter(HasBits *has_bits)
static void set_has_objective_lower_limit(HasBits *has_bits)
static void set_has_max_time_in_seconds(HasBits *has_bits)
static void set_has_use_preprocessing(HasBits *has_bits)
static void set_has_solution_feasibility_tolerance(HasBits *has_bits)
static void set_has_max_deterministic_time(HasBits *has_bits)
static void set_has_dual_small_pivot_threshold(HasBits *has_bits)
static void set_has_change_status_to_imprecise(HasBits *has_bits)
static void set_has_normalize_using_column_norm(HasBits *has_bits)
static void set_has_refactorization_threshold(HasBits *has_bits)
static void set_has_scaling_method(HasBits *has_bits)
static void set_has_drop_tolerance(HasBits *has_bits)
static void set_has_markowitz_singularity_threshold(HasBits *has_bits)
static void set_has_dual_feasibility_tolerance(HasBits *has_bits)
static void set_has_objective_upper_limit(HasBits *has_bits)
static void set_has_initial_condition_number_threshold(HasBits *has_bits)
static void set_has_harris_tolerance_ratio(HasBits *has_bits)
static void set_has_use_transposed_matrix(HasBits *has_bits)
static void set_has_relative_max_cost_perturbation(HasBits *has_bits)
static void set_has_dualizer_threshold(HasBits *has_bits)
static void set_has_use_dual_simplex(HasBits *has_bits)
static void set_has_cost_scaling(HasBits *has_bits)
static void set_has_ratio_test_zero_threshold(HasBits *has_bits)
static void set_has_recompute_reduced_costs_threshold(HasBits *has_bits)
static void set_has_use_scaling(HasBits *has_bits)
static void set_has_optimization_rule(HasBits *has_bits)
static void set_has_basis_refactorization_period(HasBits *has_bits)
static void set_has_solve_dual_problem(HasBits *has_bits)
static void set_has_degenerate_ministep_factor(HasBits *has_bits)
static void set_has_devex_weights_reset_period(HasBits *has_bits)
static void set_has_max_number_of_iterations(HasBits *has_bits)
static void set_has_allow_simplex_algorithm_change(HasBits *has_bits)
static void set_has_use_middle_product_form_update(HasBits *has_bits)
static void set_has_primal_feasibility_tolerance(HasBits *has_bits)
static void set_has_preprocessor_zero_tolerance(HasBits *has_bits)
static void set_has_feasibility_rule(HasBits *has_bits)
static void set_has_perturb_costs_in_dual_simplex(HasBits *has_bits)
static void set_has_small_pivot_threshold(HasBits *has_bits)
static void set_has_random_seed(HasBits *has_bits)
static void set_has_initial_basis(HasBits *has_bits)
static void set_has_minimum_acceptable_pivot(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< GlopParameters > _instance
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_PricingRule_descriptor()
bool GlopParameters_CostScalingAlgorithm_IsValid(int value)
GlopParameters_SolverBehavior
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_ScalingAlgorithm_descriptor()
bool GlopParameters_InitialBasisHeuristic_IsValid(int value)
class operations_research::glop::GlopParametersDefaultTypeInternal _GlopParameters_default_instance_
bool GlopParameters_SolverBehavior_IsValid(int value)
GlopParameters_ScalingAlgorithm
GlopParameters_PricingRule
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_SolverBehavior_descriptor()
GlopParameters_CostScalingAlgorithm
bool GlopParameters_PricingRule_IsValid(int value)
bool GlopParameters_ScalingAlgorithm_IsValid(int value)
GlopParameters_InitialBasisHeuristic
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_InitialBasisHeuristic_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * GlopParameters_CostScalingAlgorithm_descriptor()
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable *const descriptor_table_ortools_2fglop_2fparameters_2eproto_deps[1]
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fglop_2fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_GlopParameters_ortools_2fglop_2fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fglop_2fparameters_2eproto_once
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fglop_2fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase *const descriptor_table_ortools_2fglop_2fparameters_2eproto_sccs[1]
static void InitDefaultsscc_info_GlopParameters_ortools_2fglop_2fparameters_2eproto()
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fglop_2fparameters_2eproto[1]
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
static bool dynamic_init_dummy_ortools_2fglop_2fparameters_2eproto
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::glop::GlopParameters * Arena::CreateMaybeMessage< ::operations_research::glop::GlopParameters >(Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fglop_2fparameters_2eproto[5]