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>
18PROTOBUF_PRAGMA_INIT_SEG
22 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
23 : use_dual_simplex_(false)
24 , allow_simplex_algorithm_change_(false)
25 , perturb_costs_in_dual_simplex_(false)
26 , log_search_progress_(false)
27 , use_implied_free_preprocessor_(true)
28 , feasibility_rule_(1)
30 , optimization_rule_(1)
32 , refactorization_threshold_(1e-09)
33 , recompute_reduced_costs_threshold_(1e-08)
34 , recompute_edges_norm_threshold_(100)
35 , primal_feasibility_tolerance_(1e-08)
36 , dual_feasibility_tolerance_(1e-08)
37 , ratio_test_zero_threshold_(1e-09)
38 , harris_tolerance_ratio_(0.5)
39 , small_pivot_threshold_(1e-06)
40 , minimum_acceptable_pivot_(1e-06)
43 , basis_refactorization_period_(64)
44 , dualizer_threshold_(1.5)
45 , solution_feasibility_tolerance_(1e-06)
46 , solve_dual_problem_(2)
48 , markowitz_zlatev_parameter_(3)
49 , lu_factorization_pivot_threshold_(0.01)
50 , max_time_in_seconds_(
std::numeric_limits<double>::infinity())
51 , max_number_of_iterations_(int64_t{-1})
52 , markowitz_singularity_threshold_(1e-15)
54 , use_transposed_matrix_(true)
55 , dynamically_adjust_refactorization_period_(true)
56 , provide_strong_optimal_guarantee_(true)
57 , devex_weights_reset_period_(150)
58 , dual_small_pivot_threshold_(0.0001)
59 , preprocessor_zero_tolerance_(1e-09)
60 , objective_lower_limit_(-
std::numeric_limits<double>::infinity())
61 , objective_upper_limit_(
std::numeric_limits<double>::infinity())
62 , change_status_to_imprecise_(true)
63 , use_preprocessing_(true)
64 , use_middle_product_form_update_(true)
65 , initialize_devex_with_column_norms_(true)
67 , degenerate_ministep_factor_(0.01)
68 , max_deterministic_time_(
std::numeric_limits<double>::infinity())
72 , drop_tolerance_(1e-14)
73 , relative_cost_perturbation_(1e-05)
74 , relative_max_cost_perturbation_(1e-07)
75 , max_number_of_reoptimizations_(40)
76 , exploit_singleton_column_in_initial_basis_(true)
77 , use_dedicated_dual_feasibility_algorithm_(true)
78 , log_to_stdout_(true)
79 , push_to_vertex_(true)
82 , initial_condition_number_threshold_(1e+50)
83 , crossover_bound_snapping_distance_(
std::numeric_limits<double>::infinity()){}
226 "\n\035ortools/glop/parameters.proto\022\030operati"
227 "ons_research.glop\"\342\027\n\016GlopParameters\022`\n\016"
228 "scaling_method\0309 \001(\01629.operations_resear"
229 "ch.glop.GlopParameters.ScalingAlgorithm:"
230 "\rEQUILIBRATION\022]\n\020feasibility_rule\030\001 \001(\016"
231 "24.operations_research.glop.GlopParamete"
232 "rs.PricingRule:\rSTEEPEST_EDGE\022^\n\021optimiz"
233 "ation_rule\030\002 \001(\01624.operations_research.g"
234 "lop.GlopParameters.PricingRule:\rSTEEPEST"
235 "_EDGE\022(\n\031refactorization_threshold\030\006 \001(\001"
236 ":\0051e-09\0220\n!recompute_reduced_costs_thres"
237 "hold\030\010 \001(\001:\0051e-08\022+\n\036recompute_edges_nor"
238 "m_threshold\030\t \001(\001:\003100\022+\n\034primal_feasibi"
239 "lity_tolerance\030\n \001(\001:\0051e-08\022)\n\032dual_feas"
240 "ibility_tolerance\030\013 \001(\001:\0051e-08\022(\n\031ratio_"
241 "test_zero_threshold\030\014 \001(\001:\0051e-09\022#\n\026harr"
242 "is_tolerance_ratio\030\r \001(\001:\0030.5\022$\n\025small_p"
243 "ivot_threshold\030\016 \001(\001:\0051e-06\022\'\n\030minimum_a"
244 "cceptable_pivot\030\017 \001(\001:\0051e-06\022\035\n\016drop_tol"
245 "erance\0304 \001(\001:\0051e-14\022\031\n\013use_scaling\030\020 \001(\010"
246 ":\004true\022m\n\014cost_scaling\030< \001(\0162=.operation"
247 "s_research.glop.GlopParameters.CostScali"
248 "ngAlgorithm:\030CONTAIN_ONE_COST_SCALING\022a\n"
249 "\rinitial_basis\030\021 \001(\0162>.operations_resear"
250 "ch.glop.GlopParameters.InitialBasisHeuri"
251 "stic:\nTRIANGULAR\022#\n\025use_transposed_matri"
252 "x\030\022 \001(\010:\004true\022(\n\034basis_refactorization_p"
253 "eriod\030\023 \001(\005:\00264\0227\n)dynamically_adjust_re"
254 "factorization_period\030\? \001(\010:\004true\022f\n\022solv"
255 "e_dual_problem\030\024 \001(\01627.operations_resear"
256 "ch.glop.GlopParameters.SolverBehavior:\021L"
257 "ET_SOLVER_DECIDE\022\037\n\022dualizer_threshold\030\025"
258 " \001(\001:\0031.5\022-\n\036solution_feasibility_tolera"
259 "nce\030\026 \001(\001:\0051e-06\022.\n provide_strong_optim"
260 "al_guarantee\030\030 \001(\010:\004true\022(\n\032change_statu"
261 "s_to_imprecise\030: \001(\010:\004true\022)\n\035max_number"
262 "_of_reoptimizations\0308 \001(\001:\00240\022.\n lu_fact"
263 "orization_pivot_threshold\030\031 \001(\001:\0040.01\022 \n"
264 "\023max_time_in_seconds\030\032 \001(\001:\003inf\022#\n\026max_d"
265 "eterministic_time\030- \001(\001:\003inf\022$\n\030max_numb"
266 "er_of_iterations\030\033 \001(\003:\002-1\022%\n\032markowitz_"
267 "zlatev_parameter\030\035 \001(\005:\0013\022.\n\037markowitz_s"
268 "ingularity_threshold\030\036 \001(\001:\0051e-15\022\037\n\020use"
269 "_dual_simplex\030\037 \001(\010:\005false\022-\n\036allow_simp"
270 "lex_algorithm_change\030 \001(\010:\005false\022\'\n\032dev"
271 "ex_weights_reset_period\030! \001(\005:\003150\022\037\n\021us"
272 "e_preprocessing\030\" \001(\010:\004true\022,\n\036use_middl"
273 "e_product_form_update\030# \001(\010:\004true\0220\n\"ini"
274 "tialize_devex_with_column_norms\030$ \001(\010:\004t"
275 "rue\0227\n)exploit_singleton_column_in_initi"
276 "al_basis\030% \001(\010:\004true\022*\n\032dual_small_pivot"
277 "_threshold\030& \001(\001:\0060.0001\022*\n\033preprocessor"
278 "_zero_tolerance\030\' \001(\001:\0051e-09\022#\n\025objectiv"
279 "e_lower_limit\030( \001(\001:\004-inf\022\"\n\025objective_u"
280 "pper_limit\030) \001(\001:\003inf\022(\n\032degenerate_mini"
281 "step_factor\030* \001(\001:\0040.01\022\026\n\013random_seed\030+"
282 " \001(\005:\0011\022\032\n\017num_omp_threads\030, \001(\005:\0011\022,\n\035p"
283 "erturb_costs_in_dual_simplex\0305 \001(\010:\005fals"
284 "e\0226\n(use_dedicated_dual_feasibility_algo"
285 "rithm\030> \001(\010:\004true\022)\n\032relative_cost_pertu"
286 "rbation\0306 \001(\001:\0051e-05\022-\n\036relative_max_cos"
287 "t_perturbation\0307 \001(\001:\0051e-07\0221\n\"initial_c"
288 "ondition_number_threshold\030; \001(\001:\0051e+50\022\""
289 "\n\023log_search_progress\030= \001(\010:\005false\022\033\n\rlo"
290 "g_to_stdout\030B \001(\010:\004true\022.\n!crossover_bou"
291 "nd_snapping_distance\030@ \001(\001:\003inf\022\034\n\016push_"
292 "to_vertex\030A \001(\010:\004true\022+\n\035use_implied_fre"
293 "e_preprocessor\030C \001(\010:\004true\"F\n\020ScalingAlg"
294 "orithm\022\013\n\007DEFAULT\020\000\022\021\n\rEQUILIBRATION\020\001\022\022"
295 "\n\016LINEAR_PROGRAM\020\002\"D\n\016SolverBehavior\022\r\n\t"
296 "ALWAYS_DO\020\000\022\014\n\010NEVER_DO\020\001\022\025\n\021LET_SOLVER_"
297 "DECIDE\020\002\"8\n\013PricingRule\022\013\n\007DANTZIG\020\000\022\021\n\r"
298 "STEEPEST_EDGE\020\001\022\t\n\005DEVEX\020\002\"G\n\025InitialBas"
299 "isHeuristic\022\010\n\004NONE\020\000\022\t\n\005BIXBY\020\001\022\016\n\nTRIA"
300 "NGULAR\020\002\022\t\n\005MAROS\020\003\"y\n\024CostScalingAlgori"
301 "thm\022\023\n\017NO_COST_SCALING\020\000\022\034\n\030CONTAIN_ONE_"
302 "COST_SCALING\020\001\022\025\n\021MEAN_COST_SCALING\020\002\022\027\n"
303 "\023MEDIAN_COST_SCALING\020\003"
307 false,
false, 3102, descriptor_table_protodef_ortools_2fglop_2fparameters_2eproto,
"ortools/glop/parameters.proto",
335#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
358#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
381#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
405#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
430#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
444 using HasBits =
decltype(std::declval<GlopParameters>()._has_bits_);
446 (*has_bits)[1] |= 2048u;
449 (*has_bits)[0] |= 32u;
452 (*has_bits)[0] |= 64u;
455 (*has_bits)[0] |= 128u;
458 (*has_bits)[0] |= 256u;
461 (*has_bits)[0] |= 512u;
464 (*has_bits)[0] |= 1024u;
467 (*has_bits)[0] |= 2048u;
470 (*has_bits)[0] |= 4096u;
473 (*has_bits)[0] |= 8192u;
476 (*has_bits)[0] |= 16384u;
479 (*has_bits)[0] |= 32768u;
482 (*has_bits)[1] |= 4096u;
485 (*has_bits)[0] |= 67108864u;
488 (*has_bits)[1] |= 1048576u;
491 (*has_bits)[0] |= 65536u;
494 (*has_bits)[0] |= 134217728u;
497 (*has_bits)[0] |= 131072u;
500 (*has_bits)[0] |= 268435456u;
503 (*has_bits)[0] |= 1048576u;
506 (*has_bits)[0] |= 262144u;
509 (*has_bits)[0] |= 524288u;
512 (*has_bits)[0] |= 536870912u;
515 (*has_bits)[1] |= 8u;
518 (*has_bits)[1] |= 32768u;
521 (*has_bits)[0] |= 4194304u;
524 (*has_bits)[0] |= 8388608u;
527 (*has_bits)[1] |= 512u;
530 (*has_bits)[0] |= 16777216u;
533 (*has_bits)[0] |= 2097152u;
536 (*has_bits)[0] |= 33554432u;
539 (*has_bits)[0] |= 1u;
542 (*has_bits)[0] |= 2u;
545 (*has_bits)[0] |= 1073741824u;
548 (*has_bits)[1] |= 16u;
551 (*has_bits)[1] |= 32u;
554 (*has_bits)[1] |= 64u;
557 (*has_bits)[1] |= 65536u;
560 (*has_bits)[0] |= 2147483648u;
563 (*has_bits)[1] |= 1u;
566 (*has_bits)[1] |= 2u;
569 (*has_bits)[1] |= 4u;
572 (*has_bits)[1] |= 256u;
575 (*has_bits)[1] |= 128u;
578 (*has_bits)[1] |= 1024u;
581 (*has_bits)[0] |= 4u;
584 (*has_bits)[1] |= 131072u;
587 (*has_bits)[1] |= 8192u;
590 (*has_bits)[1] |= 16384u;
593 (*has_bits)[1] |= 2097152u;
596 (*has_bits)[0] |= 8u;
599 (*has_bits)[1] |= 262144u;
602 (*has_bits)[1] |= 4194304u;
605 (*has_bits)[1] |= 524288u;
608 (*has_bits)[0] |= 16u;
613 bool is_message_owned)
614 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
616 if (!is_message_owned) {
617 RegisterArenaDtor(arena);
622 : ::PROTOBUF_NAMESPACE_ID::Message(),
623 _has_bits_(from._has_bits_) {
624 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
625 ::memcpy(&use_dual_simplex_, &from.use_dual_simplex_,
626 static_cast<size_t>(
reinterpret_cast<char*
>(&crossover_bound_snapping_distance_) -
627 reinterpret_cast<char*
>(&use_dual_simplex_)) +
sizeof(crossover_bound_snapping_distance_));
631inline void GlopParameters::SharedCtor() {
632::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
633 reinterpret_cast<char*
>(&use_dual_simplex_) -
reinterpret_cast<char*
>(
this)),
634 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&log_search_progress_) -
635 reinterpret_cast<char*
>(&use_dual_simplex_)) +
sizeof(log_search_progress_));
636use_implied_free_preprocessor_ =
true;
637feasibility_rule_ = 1;
638optimization_rule_ = 1;
639refactorization_threshold_ = 1e-09;
640recompute_reduced_costs_threshold_ = 1e-08;
641recompute_edges_norm_threshold_ = 100;
642primal_feasibility_tolerance_ = 1e-08;
643dual_feasibility_tolerance_ = 1e-08;
644ratio_test_zero_threshold_ = 1e-09;
645harris_tolerance_ratio_ = 0.5;
646small_pivot_threshold_ = 1e-06;
647minimum_acceptable_pivot_ = 1e-06;
649basis_refactorization_period_ = 64;
650dualizer_threshold_ = 1.5;
651solution_feasibility_tolerance_ = 1e-06;
652solve_dual_problem_ = 2;
653markowitz_zlatev_parameter_ = 3;
654lu_factorization_pivot_threshold_ = 0.01;
655max_time_in_seconds_ = std::numeric_limits<double>::infinity();
656max_number_of_iterations_ = int64_t{-1};
657markowitz_singularity_threshold_ = 1e-15;
659use_transposed_matrix_ =
true;
660dynamically_adjust_refactorization_period_ =
true;
661provide_strong_optimal_guarantee_ =
true;
662devex_weights_reset_period_ = 150;
663dual_small_pivot_threshold_ = 0.0001;
664preprocessor_zero_tolerance_ = 1e-09;
665objective_lower_limit_ = -std::numeric_limits<double>::infinity();
666objective_upper_limit_ = std::numeric_limits<double>::infinity();
667change_status_to_imprecise_ =
true;
668use_preprocessing_ =
true;
669use_middle_product_form_update_ =
true;
670initialize_devex_with_column_norms_ =
true;
672degenerate_ministep_factor_ = 0.01;
673max_deterministic_time_ = std::numeric_limits<double>::infinity();
676drop_tolerance_ = 1e-14;
677relative_cost_perturbation_ = 1e-05;
678relative_max_cost_perturbation_ = 1e-07;
679max_number_of_reoptimizations_ = 40;
680exploit_singleton_column_in_initial_basis_ =
true;
681use_dedicated_dual_feasibility_algorithm_ =
true;
682log_to_stdout_ =
true;
683push_to_vertex_ =
true;
685initial_condition_number_threshold_ = 1e+50;
686crossover_bound_snapping_distance_ = std::numeric_limits<double>::infinity();
691 if (GetArenaForAllocation() !=
nullptr)
return;
693 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
696inline void GlopParameters::SharedDtor() {
697 GOOGLE_DCHECK(GetArenaForAllocation() ==
nullptr);
700void GlopParameters::ArenaDtor(
void*
object) {
704void GlopParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
706void GlopParameters::SetCachedSize(
int size)
const {
707 _cached_size_.Set(size);
712 uint32_t cached_has_bits = 0;
714 (void) cached_has_bits;
716 ::memset(&use_dual_simplex_, 0,
static_cast<size_t>(
717 reinterpret_cast<char*
>(&log_search_progress_) -
718 reinterpret_cast<char*
>(&use_dual_simplex_)) +
sizeof(log_search_progress_));
719 cached_has_bits = _has_bits_[0];
720 if (cached_has_bits & 0x000000f0u) {
721 use_implied_free_preprocessor_ =
true;
722 feasibility_rule_ = 1;
723 optimization_rule_ = 1;
724 refactorization_threshold_ = 1e-09;
726 if (cached_has_bits & 0x0000ff00u) {
727 recompute_reduced_costs_threshold_ = 1e-08;
728 recompute_edges_norm_threshold_ = 100;
729 primal_feasibility_tolerance_ = 1e-08;
730 dual_feasibility_tolerance_ = 1e-08;
731 ratio_test_zero_threshold_ = 1e-09;
732 harris_tolerance_ratio_ = 0.5;
733 small_pivot_threshold_ = 1e-06;
734 minimum_acceptable_pivot_ = 1e-06;
736 if (cached_has_bits & 0x00ff0000u) {
738 basis_refactorization_period_ = 64;
739 dualizer_threshold_ = 1.5;
740 solution_feasibility_tolerance_ = 1e-06;
741 solve_dual_problem_ = 2;
742 markowitz_zlatev_parameter_ = 3;
743 lu_factorization_pivot_threshold_ = 0.01;
744 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
746 if (cached_has_bits & 0xff000000u) {
747 max_number_of_iterations_ = int64_t{-1};
748 markowitz_singularity_threshold_ = 1e-15;
750 use_transposed_matrix_ =
true;
751 dynamically_adjust_refactorization_period_ =
true;
752 provide_strong_optimal_guarantee_ =
true;
753 devex_weights_reset_period_ = 150;
754 dual_small_pivot_threshold_ = 0.0001;
756 cached_has_bits = _has_bits_[1];
757 if (cached_has_bits & 0x000000ffu) {
758 preprocessor_zero_tolerance_ = 1e-09;
759 objective_lower_limit_ = -std::numeric_limits<double>::infinity();
760 objective_upper_limit_ = std::numeric_limits<double>::infinity();
761 change_status_to_imprecise_ =
true;
762 use_preprocessing_ =
true;
763 use_middle_product_form_update_ =
true;
764 initialize_devex_with_column_norms_ =
true;
767 if (cached_has_bits & 0x0000ff00u) {
768 degenerate_ministep_factor_ = 0.01;
769 max_deterministic_time_ = std::numeric_limits<double>::infinity();
770 num_omp_threads_ = 1;
772 drop_tolerance_ = 1e-14;
773 relative_cost_perturbation_ = 1e-05;
774 relative_max_cost_perturbation_ = 1e-07;
775 max_number_of_reoptimizations_ = 40;
777 if (cached_has_bits & 0x007f0000u) {
778 exploit_singleton_column_in_initial_basis_ =
true;
779 use_dedicated_dual_feasibility_algorithm_ =
true;
780 log_to_stdout_ =
true;
781 push_to_vertex_ =
true;
783 initial_condition_number_threshold_ = 1e+50;
784 crossover_bound_snapping_distance_ = std::numeric_limits<double>::infinity();
787 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
791#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
792 while (!ctx->Done(&ptr)) {
794 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
798 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
799 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
811 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 16)) {
812 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
824 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 49)) {
826 refactorization_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
827 ptr +=
sizeof(double);
833 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 65)) {
835 recompute_reduced_costs_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
836 ptr +=
sizeof(double);
842 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 73)) {
844 recompute_edges_norm_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
845 ptr +=
sizeof(double);
851 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 81)) {
853 primal_feasibility_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
854 ptr +=
sizeof(double);
860 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 89)) {
862 dual_feasibility_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
863 ptr +=
sizeof(double);
869 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 97)) {
871 ratio_test_zero_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
872 ptr +=
sizeof(double);
878 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 105)) {
880 harris_tolerance_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
881 ptr +=
sizeof(double);
887 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 113)) {
889 small_pivot_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
890 ptr +=
sizeof(double);
896 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 121)) {
898 minimum_acceptable_pivot_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
899 ptr +=
sizeof(double);
905 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 128)) {
907 use_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
914 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 136)) {
915 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
927 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 144)) {
929 use_transposed_matrix_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
936 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 152)) {
938 basis_refactorization_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
945 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 160)) {
946 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
958 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 169)) {
960 dualizer_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
961 ptr +=
sizeof(double);
967 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 177)) {
969 solution_feasibility_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
970 ptr +=
sizeof(double);
976 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 192)) {
978 provide_strong_optimal_guarantee_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
985 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 201)) {
987 lu_factorization_pivot_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
988 ptr +=
sizeof(double);
994 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 209)) {
996 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
997 ptr +=
sizeof(double);
1003 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 216)) {
1005 max_number_of_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1008 goto handle_unusual;
1012 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 232)) {
1014 markowitz_zlatev_parameter_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1017 goto handle_unusual;
1021 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 241)) {
1023 markowitz_singularity_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1024 ptr +=
sizeof(double);
1026 goto handle_unusual;
1030 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 248)) {
1032 use_dual_simplex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1035 goto handle_unusual;
1039 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 0)) {
1041 allow_simplex_algorithm_change_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1044 goto handle_unusual;
1048 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
1050 devex_weights_reset_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1053 goto handle_unusual;
1057 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 16)) {
1059 use_preprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1062 goto handle_unusual;
1066 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 24)) {
1068 use_middle_product_form_update_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1071 goto handle_unusual;
1075 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 32)) {
1077 initialize_devex_with_column_norms_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1080 goto handle_unusual;
1084 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 40)) {
1086 exploit_singleton_column_in_initial_basis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1089 goto handle_unusual;
1093 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 49)) {
1095 dual_small_pivot_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1096 ptr +=
sizeof(double);
1098 goto handle_unusual;
1102 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 57)) {
1104 preprocessor_zero_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1105 ptr +=
sizeof(double);
1107 goto handle_unusual;
1111 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 65)) {
1113 objective_lower_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1114 ptr +=
sizeof(double);
1116 goto handle_unusual;
1120 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 73)) {
1122 objective_upper_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1123 ptr +=
sizeof(double);
1125 goto handle_unusual;
1129 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 81)) {
1131 degenerate_ministep_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1132 ptr +=
sizeof(double);
1134 goto handle_unusual;
1138 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 88)) {
1140 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1143 goto handle_unusual;
1147 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 96)) {
1149 num_omp_threads_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1152 goto handle_unusual;
1156 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 105)) {
1158 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1159 ptr +=
sizeof(double);
1161 goto handle_unusual;
1165 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 161)) {
1167 drop_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1168 ptr +=
sizeof(double);
1170 goto handle_unusual;
1174 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 168)) {
1176 perturb_costs_in_dual_simplex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1179 goto handle_unusual;
1183 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 177)) {
1185 relative_cost_perturbation_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1186 ptr +=
sizeof(double);
1188 goto handle_unusual;
1192 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 185)) {
1194 relative_max_cost_perturbation_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1195 ptr +=
sizeof(double);
1197 goto handle_unusual;
1201 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 193)) {
1203 max_number_of_reoptimizations_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1204 ptr +=
sizeof(double);
1206 goto handle_unusual;
1210 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 200)) {
1211 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1219 goto handle_unusual;
1223 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 208)) {
1225 change_status_to_imprecise_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1228 goto handle_unusual;
1232 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 217)) {
1234 initial_condition_number_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1235 ptr +=
sizeof(double);
1237 goto handle_unusual;
1241 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 224)) {
1242 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1250 goto handle_unusual;
1254 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 232)) {
1256 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1259 goto handle_unusual;
1263 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 240)) {
1265 use_dedicated_dual_feasibility_algorithm_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1268 goto handle_unusual;
1272 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 248)) {
1274 dynamically_adjust_refactorization_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1277 goto handle_unusual;
1281 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 1)) {
1283 crossover_bound_snapping_distance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1284 ptr +=
sizeof(double);
1286 goto handle_unusual;
1290 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
1292 push_to_vertex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1295 goto handle_unusual;
1299 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 16)) {
1301 log_to_stdout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1304 goto handle_unusual;
1308 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 24)) {
1310 use_implied_free_preprocessor_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1313 goto handle_unusual;
1316 goto handle_unusual;
1319 if ((tag == 0) || ((tag & 7) == 4)) {
1321 ctx->SetLastTag(tag);
1324 ptr = UnknownFieldParse(
1326 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1328 CHK_(ptr !=
nullptr);
1339 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
1341 uint32_t cached_has_bits = 0;
1342 (void) cached_has_bits;
1344 cached_has_bits = _has_bits_[0];
1346 if (cached_has_bits & 0x00000020u) {
1347 target = stream->EnsureSpace(target);
1348 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1349 1, this->_internal_feasibility_rule(), target);
1353 if (cached_has_bits & 0x00000040u) {
1354 target = stream->EnsureSpace(target);
1355 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1356 2, this->_internal_optimization_rule(), target);
1360 if (cached_has_bits & 0x00000080u) {
1361 target = stream->EnsureSpace(target);
1362 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(6, this->_internal_refactorization_threshold(), target);
1366 if (cached_has_bits & 0x00000100u) {
1367 target = stream->EnsureSpace(target);
1368 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(8, this->_internal_recompute_reduced_costs_threshold(), target);
1372 if (cached_has_bits & 0x00000200u) {
1373 target = stream->EnsureSpace(target);
1374 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(9, this->_internal_recompute_edges_norm_threshold(), target);
1378 if (cached_has_bits & 0x00000400u) {
1379 target = stream->EnsureSpace(target);
1380 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(10, this->_internal_primal_feasibility_tolerance(), target);
1384 if (cached_has_bits & 0x00000800u) {
1385 target = stream->EnsureSpace(target);
1386 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(11, this->_internal_dual_feasibility_tolerance(), target);
1390 if (cached_has_bits & 0x00001000u) {
1391 target = stream->EnsureSpace(target);
1392 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(12, this->_internal_ratio_test_zero_threshold(), target);
1396 if (cached_has_bits & 0x00002000u) {
1397 target = stream->EnsureSpace(target);
1398 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(13, this->_internal_harris_tolerance_ratio(), target);
1402 if (cached_has_bits & 0x00004000u) {
1403 target = stream->EnsureSpace(target);
1404 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(14, this->_internal_small_pivot_threshold(), target);
1408 if (cached_has_bits & 0x00008000u) {
1409 target = stream->EnsureSpace(target);
1410 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_minimum_acceptable_pivot(), target);
1414 if (cached_has_bits & 0x04000000u) {
1415 target = stream->EnsureSpace(target);
1416 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(16, this->_internal_use_scaling(), target);
1420 if (cached_has_bits & 0x00010000u) {
1421 target = stream->EnsureSpace(target);
1422 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1423 17, this->_internal_initial_basis(), target);
1427 if (cached_has_bits & 0x08000000u) {
1428 target = stream->EnsureSpace(target);
1429 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(18, this->_internal_use_transposed_matrix(), target);
1433 if (cached_has_bits & 0x00020000u) {
1434 target = stream->EnsureSpace(target);
1435 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(19, this->_internal_basis_refactorization_period(), target);
1439 if (cached_has_bits & 0x00100000u) {
1440 target = stream->EnsureSpace(target);
1441 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1442 20, this->_internal_solve_dual_problem(), target);
1446 if (cached_has_bits & 0x00040000u) {
1447 target = stream->EnsureSpace(target);
1448 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(21, this->_internal_dualizer_threshold(), target);
1452 if (cached_has_bits & 0x00080000u) {
1453 target = stream->EnsureSpace(target);
1454 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_solution_feasibility_tolerance(), target);
1458 if (cached_has_bits & 0x20000000u) {
1459 target = stream->EnsureSpace(target);
1460 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(24, this->_internal_provide_strong_optimal_guarantee(), target);
1464 if (cached_has_bits & 0x00400000u) {
1465 target = stream->EnsureSpace(target);
1466 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(25, this->_internal_lu_factorization_pivot_threshold(), target);
1470 if (cached_has_bits & 0x00800000u) {
1471 target = stream->EnsureSpace(target);
1472 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(26, this->_internal_max_time_in_seconds(), target);
1476 if (cached_has_bits & 0x01000000u) {
1477 target = stream->EnsureSpace(target);
1478 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(27, this->_internal_max_number_of_iterations(), target);
1482 if (cached_has_bits & 0x00200000u) {
1483 target = stream->EnsureSpace(target);
1484 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(29, this->_internal_markowitz_zlatev_parameter(), target);
1488 if (cached_has_bits & 0x02000000u) {
1489 target = stream->EnsureSpace(target);
1490 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(30, this->_internal_markowitz_singularity_threshold(), target);
1494 if (cached_has_bits & 0x00000001u) {
1495 target = stream->EnsureSpace(target);
1496 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(31, this->_internal_use_dual_simplex(), target);
1500 if (cached_has_bits & 0x00000002u) {
1501 target = stream->EnsureSpace(target);
1502 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(32, this->_internal_allow_simplex_algorithm_change(), target);
1506 if (cached_has_bits & 0x40000000u) {
1507 target = stream->EnsureSpace(target);
1508 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(33, this->_internal_devex_weights_reset_period(), target);
1511 cached_has_bits = _has_bits_[1];
1513 if (cached_has_bits & 0x00000010u) {
1514 target = stream->EnsureSpace(target);
1515 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(34, this->_internal_use_preprocessing(), target);
1519 if (cached_has_bits & 0x00000020u) {
1520 target = stream->EnsureSpace(target);
1521 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_middle_product_form_update(), target);
1525 if (cached_has_bits & 0x00000040u) {
1526 target = stream->EnsureSpace(target);
1527 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(36, this->_internal_initialize_devex_with_column_norms(), target);
1531 if (cached_has_bits & 0x00010000u) {
1532 target = stream->EnsureSpace(target);
1533 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(37, this->_internal_exploit_singleton_column_in_initial_basis(), target);
1536 cached_has_bits = _has_bits_[0];
1538 if (cached_has_bits & 0x80000000u) {
1539 target = stream->EnsureSpace(target);
1540 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(38, this->_internal_dual_small_pivot_threshold(), target);
1543 cached_has_bits = _has_bits_[1];
1545 if (cached_has_bits & 0x00000001u) {
1546 target = stream->EnsureSpace(target);
1547 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(39, this->_internal_preprocessor_zero_tolerance(), target);
1551 if (cached_has_bits & 0x00000002u) {
1552 target = stream->EnsureSpace(target);
1553 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(40, this->_internal_objective_lower_limit(), target);
1557 if (cached_has_bits & 0x00000004u) {
1558 target = stream->EnsureSpace(target);
1559 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(41, this->_internal_objective_upper_limit(), target);
1563 if (cached_has_bits & 0x00000100u) {
1564 target = stream->EnsureSpace(target);
1565 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(42, this->_internal_degenerate_ministep_factor(), target);
1569 if (cached_has_bits & 0x00000080u) {
1570 target = stream->EnsureSpace(target);
1571 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(43, this->_internal_random_seed(), target);
1575 if (cached_has_bits & 0x00000400u) {
1576 target = stream->EnsureSpace(target);
1577 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(44, this->_internal_num_omp_threads(), target);
1581 if (cached_has_bits & 0x00000200u) {
1582 target = stream->EnsureSpace(target);
1583 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_max_deterministic_time(), target);
1587 if (cached_has_bits & 0x00001000u) {
1588 target = stream->EnsureSpace(target);
1589 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(52, this->_internal_drop_tolerance(), target);
1592 cached_has_bits = _has_bits_[0];
1594 if (cached_has_bits & 0x00000004u) {
1595 target = stream->EnsureSpace(target);
1596 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(53, this->_internal_perturb_costs_in_dual_simplex(), target);
1599 cached_has_bits = _has_bits_[1];
1601 if (cached_has_bits & 0x00002000u) {
1602 target = stream->EnsureSpace(target);
1603 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(54, this->_internal_relative_cost_perturbation(), target);
1607 if (cached_has_bits & 0x00004000u) {
1608 target = stream->EnsureSpace(target);
1609 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(55, this->_internal_relative_max_cost_perturbation(), target);
1613 if (cached_has_bits & 0x00008000u) {
1614 target = stream->EnsureSpace(target);
1615 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(56, this->_internal_max_number_of_reoptimizations(), target);
1619 if (cached_has_bits & 0x00000800u) {
1620 target = stream->EnsureSpace(target);
1621 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1622 57, this->_internal_scaling_method(), target);
1626 if (cached_has_bits & 0x00000008u) {
1627 target = stream->EnsureSpace(target);
1628 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(58, this->_internal_change_status_to_imprecise(), target);
1632 if (cached_has_bits & 0x00200000u) {
1633 target = stream->EnsureSpace(target);
1634 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(59, this->_internal_initial_condition_number_threshold(), target);
1638 if (cached_has_bits & 0x00100000u) {
1639 target = stream->EnsureSpace(target);
1640 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1641 60, this->_internal_cost_scaling(), target);
1644 cached_has_bits = _has_bits_[0];
1646 if (cached_has_bits & 0x00000008u) {
1647 target = stream->EnsureSpace(target);
1648 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(61, this->_internal_log_search_progress(), target);
1651 cached_has_bits = _has_bits_[1];
1653 if (cached_has_bits & 0x00020000u) {
1654 target = stream->EnsureSpace(target);
1655 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(62, this->_internal_use_dedicated_dual_feasibility_algorithm(), target);
1658 cached_has_bits = _has_bits_[0];
1660 if (cached_has_bits & 0x10000000u) {
1661 target = stream->EnsureSpace(target);
1662 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(63, this->_internal_dynamically_adjust_refactorization_period(), target);
1665 cached_has_bits = _has_bits_[1];
1667 if (cached_has_bits & 0x00400000u) {
1668 target = stream->EnsureSpace(target);
1669 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(64, this->_internal_crossover_bound_snapping_distance(), target);
1673 if (cached_has_bits & 0x00080000u) {
1674 target = stream->EnsureSpace(target);
1675 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(65, this->_internal_push_to_vertex(), target);
1679 if (cached_has_bits & 0x00040000u) {
1680 target = stream->EnsureSpace(target);
1681 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(66, this->_internal_log_to_stdout(), target);
1684 cached_has_bits = _has_bits_[0];
1686 if (cached_has_bits & 0x00000010u) {
1687 target = stream->EnsureSpace(target);
1688 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(67, this->_internal_use_implied_free_preprocessor(), target);
1691 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1692 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1693 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1701 size_t total_size = 0;
1703 uint32_t cached_has_bits = 0;
1705 (void) cached_has_bits;
1707 cached_has_bits = _has_bits_[0];
1708 if (cached_has_bits & 0x000000ffu) {
1710 if (cached_has_bits & 0x00000001u) {
1711 total_size += 2 + 1;
1715 if (cached_has_bits & 0x00000002u) {
1716 total_size += 2 + 1;
1720 if (cached_has_bits & 0x00000004u) {
1721 total_size += 2 + 1;
1725 if (cached_has_bits & 0x00000008u) {
1726 total_size += 2 + 1;
1730 if (cached_has_bits & 0x00000010u) {
1731 total_size += 2 + 1;
1735 if (cached_has_bits & 0x00000020u) {
1737 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_feasibility_rule());
1741 if (cached_has_bits & 0x00000040u) {
1743 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_optimization_rule());
1747 if (cached_has_bits & 0x00000080u) {
1748 total_size += 1 + 8;
1752 if (cached_has_bits & 0x0000ff00u) {
1754 if (cached_has_bits & 0x00000100u) {
1755 total_size += 1 + 8;
1759 if (cached_has_bits & 0x00000200u) {
1760 total_size += 1 + 8;
1764 if (cached_has_bits & 0x00000400u) {
1765 total_size += 1 + 8;
1769 if (cached_has_bits & 0x00000800u) {
1770 total_size += 1 + 8;
1774 if (cached_has_bits & 0x00001000u) {
1775 total_size += 1 + 8;
1779 if (cached_has_bits & 0x00002000u) {
1780 total_size += 1 + 8;
1784 if (cached_has_bits & 0x00004000u) {
1785 total_size += 1 + 8;
1789 if (cached_has_bits & 0x00008000u) {
1790 total_size += 1 + 8;
1794 if (cached_has_bits & 0x00ff0000u) {
1796 if (cached_has_bits & 0x00010000u) {
1798 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_basis());
1802 if (cached_has_bits & 0x00020000u) {
1804 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1805 this->_internal_basis_refactorization_period());
1809 if (cached_has_bits & 0x00040000u) {
1810 total_size += 2 + 8;
1814 if (cached_has_bits & 0x00080000u) {
1815 total_size += 2 + 8;
1819 if (cached_has_bits & 0x00100000u) {
1821 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_solve_dual_problem());
1825 if (cached_has_bits & 0x00200000u) {
1827 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1828 this->_internal_markowitz_zlatev_parameter());
1832 if (cached_has_bits & 0x00400000u) {
1833 total_size += 2 + 8;
1837 if (cached_has_bits & 0x00800000u) {
1838 total_size += 2 + 8;
1842 if (cached_has_bits & 0xff000000u) {
1844 if (cached_has_bits & 0x01000000u) {
1846 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1847 this->_internal_max_number_of_iterations());
1851 if (cached_has_bits & 0x02000000u) {
1852 total_size += 2 + 8;
1856 if (cached_has_bits & 0x04000000u) {
1857 total_size += 2 + 1;
1861 if (cached_has_bits & 0x08000000u) {
1862 total_size += 2 + 1;
1866 if (cached_has_bits & 0x10000000u) {
1867 total_size += 2 + 1;
1871 if (cached_has_bits & 0x20000000u) {
1872 total_size += 2 + 1;
1876 if (cached_has_bits & 0x40000000u) {
1878 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1879 this->_internal_devex_weights_reset_period());
1883 if (cached_has_bits & 0x80000000u) {
1884 total_size += 2 + 8;
1888 cached_has_bits = _has_bits_[1];
1889 if (cached_has_bits & 0x000000ffu) {
1891 if (cached_has_bits & 0x00000001u) {
1892 total_size += 2 + 8;
1896 if (cached_has_bits & 0x00000002u) {
1897 total_size += 2 + 8;
1901 if (cached_has_bits & 0x00000004u) {
1902 total_size += 2 + 8;
1906 if (cached_has_bits & 0x00000008u) {
1907 total_size += 2 + 1;
1911 if (cached_has_bits & 0x00000010u) {
1912 total_size += 2 + 1;
1916 if (cached_has_bits & 0x00000020u) {
1917 total_size += 2 + 1;
1921 if (cached_has_bits & 0x00000040u) {
1922 total_size += 2 + 1;
1926 if (cached_has_bits & 0x00000080u) {
1928 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1929 this->_internal_random_seed());
1933 if (cached_has_bits & 0x0000ff00u) {
1935 if (cached_has_bits & 0x00000100u) {
1936 total_size += 2 + 8;
1940 if (cached_has_bits & 0x00000200u) {
1941 total_size += 2 + 8;
1945 if (cached_has_bits & 0x00000400u) {
1947 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1948 this->_internal_num_omp_threads());
1952 if (cached_has_bits & 0x00000800u) {
1954 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_scaling_method());
1958 if (cached_has_bits & 0x00001000u) {
1959 total_size += 2 + 8;
1963 if (cached_has_bits & 0x00002000u) {
1964 total_size += 2 + 8;
1968 if (cached_has_bits & 0x00004000u) {
1969 total_size += 2 + 8;
1973 if (cached_has_bits & 0x00008000u) {
1974 total_size += 2 + 8;
1978 if (cached_has_bits & 0x007f0000u) {
1980 if (cached_has_bits & 0x00010000u) {
1981 total_size += 2 + 1;
1985 if (cached_has_bits & 0x00020000u) {
1986 total_size += 2 + 1;
1990 if (cached_has_bits & 0x00040000u) {
1991 total_size += 2 + 1;
1995 if (cached_has_bits & 0x00080000u) {
1996 total_size += 2 + 1;
2000 if (cached_has_bits & 0x00100000u) {
2002 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_cost_scaling());
2006 if (cached_has_bits & 0x00200000u) {
2007 total_size += 2 + 8;
2011 if (cached_has_bits & 0x00400000u) {
2012 total_size += 2 + 8;
2016 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2020 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2021 GlopParameters::MergeImpl
2025void GlopParameters::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2026 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2034 GOOGLE_DCHECK_NE(&from,
this);
2035 uint32_t cached_has_bits = 0;
2036 (void) cached_has_bits;
2038 cached_has_bits = from._has_bits_[0];
2039 if (cached_has_bits & 0x000000ffu) {
2040 if (cached_has_bits & 0x00000001u) {
2041 use_dual_simplex_ = from.use_dual_simplex_;
2043 if (cached_has_bits & 0x00000002u) {
2044 allow_simplex_algorithm_change_ = from.allow_simplex_algorithm_change_;
2046 if (cached_has_bits & 0x00000004u) {
2047 perturb_costs_in_dual_simplex_ = from.perturb_costs_in_dual_simplex_;
2049 if (cached_has_bits & 0x00000008u) {
2050 log_search_progress_ = from.log_search_progress_;
2052 if (cached_has_bits & 0x00000010u) {
2053 use_implied_free_preprocessor_ = from.use_implied_free_preprocessor_;
2055 if (cached_has_bits & 0x00000020u) {
2056 feasibility_rule_ = from.feasibility_rule_;
2058 if (cached_has_bits & 0x00000040u) {
2059 optimization_rule_ = from.optimization_rule_;
2061 if (cached_has_bits & 0x00000080u) {
2062 refactorization_threshold_ = from.refactorization_threshold_;
2064 _has_bits_[0] |= cached_has_bits;
2066 if (cached_has_bits & 0x0000ff00u) {
2067 if (cached_has_bits & 0x00000100u) {
2068 recompute_reduced_costs_threshold_ = from.recompute_reduced_costs_threshold_;
2070 if (cached_has_bits & 0x00000200u) {
2071 recompute_edges_norm_threshold_ = from.recompute_edges_norm_threshold_;
2073 if (cached_has_bits & 0x00000400u) {
2074 primal_feasibility_tolerance_ = from.primal_feasibility_tolerance_;
2076 if (cached_has_bits & 0x00000800u) {
2077 dual_feasibility_tolerance_ = from.dual_feasibility_tolerance_;
2079 if (cached_has_bits & 0x00001000u) {
2080 ratio_test_zero_threshold_ = from.ratio_test_zero_threshold_;
2082 if (cached_has_bits & 0x00002000u) {
2083 harris_tolerance_ratio_ = from.harris_tolerance_ratio_;
2085 if (cached_has_bits & 0x00004000u) {
2086 small_pivot_threshold_ = from.small_pivot_threshold_;
2088 if (cached_has_bits & 0x00008000u) {
2089 minimum_acceptable_pivot_ = from.minimum_acceptable_pivot_;
2091 _has_bits_[0] |= cached_has_bits;
2093 if (cached_has_bits & 0x00ff0000u) {
2094 if (cached_has_bits & 0x00010000u) {
2095 initial_basis_ = from.initial_basis_;
2097 if (cached_has_bits & 0x00020000u) {
2098 basis_refactorization_period_ = from.basis_refactorization_period_;
2100 if (cached_has_bits & 0x00040000u) {
2101 dualizer_threshold_ = from.dualizer_threshold_;
2103 if (cached_has_bits & 0x00080000u) {
2104 solution_feasibility_tolerance_ = from.solution_feasibility_tolerance_;
2106 if (cached_has_bits & 0x00100000u) {
2107 solve_dual_problem_ = from.solve_dual_problem_;
2109 if (cached_has_bits & 0x00200000u) {
2110 markowitz_zlatev_parameter_ = from.markowitz_zlatev_parameter_;
2112 if (cached_has_bits & 0x00400000u) {
2113 lu_factorization_pivot_threshold_ = from.lu_factorization_pivot_threshold_;
2115 if (cached_has_bits & 0x00800000u) {
2116 max_time_in_seconds_ = from.max_time_in_seconds_;
2118 _has_bits_[0] |= cached_has_bits;
2120 if (cached_has_bits & 0xff000000u) {
2121 if (cached_has_bits & 0x01000000u) {
2122 max_number_of_iterations_ = from.max_number_of_iterations_;
2124 if (cached_has_bits & 0x02000000u) {
2125 markowitz_singularity_threshold_ = from.markowitz_singularity_threshold_;
2127 if (cached_has_bits & 0x04000000u) {
2128 use_scaling_ = from.use_scaling_;
2130 if (cached_has_bits & 0x08000000u) {
2131 use_transposed_matrix_ = from.use_transposed_matrix_;
2133 if (cached_has_bits & 0x10000000u) {
2134 dynamically_adjust_refactorization_period_ = from.dynamically_adjust_refactorization_period_;
2136 if (cached_has_bits & 0x20000000u) {
2137 provide_strong_optimal_guarantee_ = from.provide_strong_optimal_guarantee_;
2139 if (cached_has_bits & 0x40000000u) {
2140 devex_weights_reset_period_ = from.devex_weights_reset_period_;
2142 if (cached_has_bits & 0x80000000u) {
2143 dual_small_pivot_threshold_ = from.dual_small_pivot_threshold_;
2145 _has_bits_[0] |= cached_has_bits;
2147 cached_has_bits = from._has_bits_[1];
2148 if (cached_has_bits & 0x000000ffu) {
2149 if (cached_has_bits & 0x00000001u) {
2150 preprocessor_zero_tolerance_ = from.preprocessor_zero_tolerance_;
2152 if (cached_has_bits & 0x00000002u) {
2153 objective_lower_limit_ = from.objective_lower_limit_;
2155 if (cached_has_bits & 0x00000004u) {
2156 objective_upper_limit_ = from.objective_upper_limit_;
2158 if (cached_has_bits & 0x00000008u) {
2159 change_status_to_imprecise_ = from.change_status_to_imprecise_;
2161 if (cached_has_bits & 0x00000010u) {
2162 use_preprocessing_ = from.use_preprocessing_;
2164 if (cached_has_bits & 0x00000020u) {
2165 use_middle_product_form_update_ = from.use_middle_product_form_update_;
2167 if (cached_has_bits & 0x00000040u) {
2168 initialize_devex_with_column_norms_ = from.initialize_devex_with_column_norms_;
2170 if (cached_has_bits & 0x00000080u) {
2171 random_seed_ = from.random_seed_;
2173 _has_bits_[1] |= cached_has_bits;
2175 if (cached_has_bits & 0x0000ff00u) {
2176 if (cached_has_bits & 0x00000100u) {
2177 degenerate_ministep_factor_ = from.degenerate_ministep_factor_;
2179 if (cached_has_bits & 0x00000200u) {
2180 max_deterministic_time_ = from.max_deterministic_time_;
2182 if (cached_has_bits & 0x00000400u) {
2183 num_omp_threads_ = from.num_omp_threads_;
2185 if (cached_has_bits & 0x00000800u) {
2186 scaling_method_ = from.scaling_method_;
2188 if (cached_has_bits & 0x00001000u) {
2189 drop_tolerance_ = from.drop_tolerance_;
2191 if (cached_has_bits & 0x00002000u) {
2192 relative_cost_perturbation_ = from.relative_cost_perturbation_;
2194 if (cached_has_bits & 0x00004000u) {
2195 relative_max_cost_perturbation_ = from.relative_max_cost_perturbation_;
2197 if (cached_has_bits & 0x00008000u) {
2198 max_number_of_reoptimizations_ = from.max_number_of_reoptimizations_;
2200 _has_bits_[1] |= cached_has_bits;
2202 if (cached_has_bits & 0x007f0000u) {
2203 if (cached_has_bits & 0x00010000u) {
2204 exploit_singleton_column_in_initial_basis_ = from.exploit_singleton_column_in_initial_basis_;
2206 if (cached_has_bits & 0x00020000u) {
2207 use_dedicated_dual_feasibility_algorithm_ = from.use_dedicated_dual_feasibility_algorithm_;
2209 if (cached_has_bits & 0x00040000u) {
2210 log_to_stdout_ = from.log_to_stdout_;
2212 if (cached_has_bits & 0x00080000u) {
2213 push_to_vertex_ = from.push_to_vertex_;
2215 if (cached_has_bits & 0x00100000u) {
2216 cost_scaling_ = from.cost_scaling_;
2218 if (cached_has_bits & 0x00200000u) {
2219 initial_condition_number_threshold_ = from.initial_condition_number_threshold_;
2221 if (cached_has_bits & 0x00400000u) {
2222 crossover_bound_snapping_distance_ = from.crossover_bound_snapping_distance_;
2224 _has_bits_[1] |= cached_has_bits;
2226 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2231 if (&from ==
this)
return;
2242 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2243 swap(_has_bits_[0], other->_has_bits_[0]);
2244 swap(_has_bits_[1], other->_has_bits_[1]);
2245 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2247 +
sizeof(GlopParameters::log_search_progress_)
2249 reinterpret_cast<char*
>(&use_dual_simplex_),
2250 reinterpret_cast<char*
>(&other->use_dual_simplex_));
2251 swap(use_implied_free_preprocessor_, other->use_implied_free_preprocessor_);
2252 swap(feasibility_rule_, other->feasibility_rule_);
2253 swap(optimization_rule_, other->optimization_rule_);
2254 swap(refactorization_threshold_, other->refactorization_threshold_);
2255 swap(recompute_reduced_costs_threshold_, other->recompute_reduced_costs_threshold_);
2256 swap(recompute_edges_norm_threshold_, other->recompute_edges_norm_threshold_);
2257 swap(primal_feasibility_tolerance_, other->primal_feasibility_tolerance_);
2258 swap(dual_feasibility_tolerance_, other->dual_feasibility_tolerance_);
2259 swap(ratio_test_zero_threshold_, other->ratio_test_zero_threshold_);
2260 swap(harris_tolerance_ratio_, other->harris_tolerance_ratio_);
2261 swap(small_pivot_threshold_, other->small_pivot_threshold_);
2262 swap(minimum_acceptable_pivot_, other->minimum_acceptable_pivot_);
2263 swap(initial_basis_, other->initial_basis_);
2264 swap(basis_refactorization_period_, other->basis_refactorization_period_);
2265 swap(dualizer_threshold_, other->dualizer_threshold_);
2266 swap(solution_feasibility_tolerance_, other->solution_feasibility_tolerance_);
2267 swap(solve_dual_problem_, other->solve_dual_problem_);
2268 swap(markowitz_zlatev_parameter_, other->markowitz_zlatev_parameter_);
2269 swap(lu_factorization_pivot_threshold_, other->lu_factorization_pivot_threshold_);
2270 swap(max_time_in_seconds_, other->max_time_in_seconds_);
2271 swap(max_number_of_iterations_, other->max_number_of_iterations_);
2272 swap(markowitz_singularity_threshold_, other->markowitz_singularity_threshold_);
2273 swap(use_scaling_, other->use_scaling_);
2274 swap(use_transposed_matrix_, other->use_transposed_matrix_);
2275 swap(dynamically_adjust_refactorization_period_, other->dynamically_adjust_refactorization_period_);
2276 swap(provide_strong_optimal_guarantee_, other->provide_strong_optimal_guarantee_);
2277 swap(devex_weights_reset_period_, other->devex_weights_reset_period_);
2278 swap(dual_small_pivot_threshold_, other->dual_small_pivot_threshold_);
2279 swap(preprocessor_zero_tolerance_, other->preprocessor_zero_tolerance_);
2280 swap(objective_lower_limit_, other->objective_lower_limit_);
2281 swap(objective_upper_limit_, other->objective_upper_limit_);
2282 swap(change_status_to_imprecise_, other->change_status_to_imprecise_);
2283 swap(use_preprocessing_, other->use_preprocessing_);
2284 swap(use_middle_product_form_update_, other->use_middle_product_form_update_);
2285 swap(initialize_devex_with_column_norms_, other->initialize_devex_with_column_norms_);
2286 swap(random_seed_, other->random_seed_);
2287 swap(degenerate_ministep_factor_, other->degenerate_ministep_factor_);
2288 swap(max_deterministic_time_, other->max_deterministic_time_);
2289 swap(num_omp_threads_, other->num_omp_threads_);
2290 swap(scaling_method_, other->scaling_method_);
2291 swap(drop_tolerance_, other->drop_tolerance_);
2292 swap(relative_cost_perturbation_, other->relative_cost_perturbation_);
2293 swap(relative_max_cost_perturbation_, other->relative_max_cost_perturbation_);
2294 swap(max_number_of_reoptimizations_, other->max_number_of_reoptimizations_);
2295 swap(exploit_singleton_column_in_initial_basis_, other->exploit_singleton_column_in_initial_basis_);
2296 swap(use_dedicated_dual_feasibility_algorithm_, other->use_dedicated_dual_feasibility_algorithm_);
2297 swap(log_to_stdout_, other->log_to_stdout_);
2298 swap(push_to_vertex_, other->push_to_vertex_);
2299 swap(cost_scaling_, other->cost_scaling_);
2300 swap(initial_condition_number_threshold_, other->initial_condition_number_threshold_);
2301 swap(crossover_bound_snapping_distance_, other->crossover_bound_snapping_distance_);
2305 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2313PROTOBUF_NAMESPACE_OPEN
2315 return Arena::CreateMessageInternal< ::operations_research::glop::GlopParameters >(arena);
2317PROTOBUF_NAMESPACE_CLOSE
2320#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_dedicated_dual_feasibility_algorithm(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_push_to_vertex(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_refactorization_threshold(HasBits *has_bits)
static void set_has_scaling_method(HasBits *has_bits)
static void set_has_log_to_stdout(HasBits *has_bits)
static void set_has_dynamically_adjust_refactorization_period(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_implied_free_preprocessor(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_crossover_bound_snapping_distance(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)
static constexpr int ScalingAlgorithm_ARRAYSIZE
static constexpr SolverBehavior SolverBehavior_MAX
static constexpr ScalingAlgorithm LINEAR_PROGRAM
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static constexpr InitialBasisHeuristic InitialBasisHeuristic_MAX
static const ClassData _class_data_
static constexpr InitialBasisHeuristic TRIANGULAR
static constexpr int SolverBehavior_ARRAYSIZE
static constexpr CostScalingAlgorithm MEAN_COST_SCALING
static constexpr PricingRule STEEPEST_EDGE
static constexpr ScalingAlgorithm EQUILIBRATION
static constexpr ScalingAlgorithm DEFAULT
static constexpr PricingRule PricingRule_MIN
static constexpr SolverBehavior LET_SOLVER_DECIDE
static constexpr SolverBehavior NEVER_DO
static constexpr int InitialBasisHeuristic_ARRAYSIZE
bool IsInitialized() const final
static constexpr int PricingRule_ARRAYSIZE
static constexpr InitialBasisHeuristic NONE
static constexpr SolverBehavior ALWAYS_DO
static constexpr CostScalingAlgorithm CostScalingAlgorithm_MIN
friend void swap(GlopParameters &a, GlopParameters &b)
void MergeFrom(const GlopParameters &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static constexpr CostScalingAlgorithm CostScalingAlgorithm_MAX
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static constexpr SolverBehavior SolverBehavior_MIN
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static constexpr ScalingAlgorithm ScalingAlgorithm_MAX
~GlopParameters() override
void CopyFrom(const GlopParameters &from)
static constexpr ScalingAlgorithm ScalingAlgorithm_MIN
static constexpr CostScalingAlgorithm NO_COST_SCALING
static constexpr PricingRule DANTZIG
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static constexpr InitialBasisHeuristic BIXBY
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr InitialBasisHeuristic MAROS
static constexpr InitialBasisHeuristic InitialBasisHeuristic_MIN
static constexpr CostScalingAlgorithm MEDIAN_COST_SCALING
static constexpr PricingRule PricingRule_MAX
size_t ByteSizeLong() const final
static constexpr PricingRule DEVEX
static constexpr int CostScalingAlgorithm_ARRAYSIZE
static constexpr CostScalingAlgorithm CONTAIN_ONE_COST_SCALING
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)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT 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()
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
Collection of objects used to extend the Constraint Solver library.
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
::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::Metadata file_level_metadata_ortools_2fglop_2fparameters_2eproto[1]
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
PROTOBUF_ATTRIBUTE_WEAKconst ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable * descriptor_table_ortools_2fglop_2fparameters_2eproto_getter()
const uint32_t TableStruct_ortools_2fglop_2fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fglop_2fparameters_2eproto[5]
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE::operations_research::glop::GlopParameters * Arena::CreateMaybeMessage< ::operations_research::glop::GlopParameters >(Arena *arena)
~GlopParametersDefaultTypeInternal()
constexpr GlopParametersDefaultTypeInternal()