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 , feasibility_rule_(1)
29 , optimization_rule_(1)
31 , refactorization_threshold_(1e-09)
32 , recompute_reduced_costs_threshold_(1e-08)
33 , recompute_edges_norm_threshold_(100)
34 , primal_feasibility_tolerance_(1e-08)
35 , dual_feasibility_tolerance_(1e-08)
36 , ratio_test_zero_threshold_(1e-09)
37 , harris_tolerance_ratio_(0.5)
38 , small_pivot_threshold_(1e-06)
39 , minimum_acceptable_pivot_(1e-06)
42 , basis_refactorization_period_(64)
43 , dualizer_threshold_(1.5)
44 , solution_feasibility_tolerance_(1e-06)
45 , solve_dual_problem_(2)
47 , markowitz_zlatev_parameter_(3)
48 , lu_factorization_pivot_threshold_(0.01)
49 , max_time_in_seconds_(
std::numeric_limits<double>::infinity())
50 , max_number_of_iterations_(int64_t{-1})
51 , markowitz_singularity_threshold_(1e-15)
53 , use_transposed_matrix_(true)
54 , dynamically_adjust_refactorization_period_(true)
55 , provide_strong_optimal_guarantee_(true)
56 , devex_weights_reset_period_(150)
57 , dual_small_pivot_threshold_(0.0001)
58 , preprocessor_zero_tolerance_(1e-09)
59 , objective_lower_limit_(-
std::numeric_limits<double>::infinity())
60 , objective_upper_limit_(
std::numeric_limits<double>::infinity())
61 , change_status_to_imprecise_(true)
62 , use_preprocessing_(true)
63 , use_middle_product_form_update_(true)
64 , initialize_devex_with_column_norms_(true)
66 , degenerate_ministep_factor_(0.01)
67 , max_deterministic_time_(
std::numeric_limits<double>::infinity())
68 , drop_tolerance_(1e-14)
70 , exploit_singleton_column_in_initial_basis_(true)
71 , use_dedicated_dual_feasibility_algorithm_(true)
72 , push_to_vertex_(true)
73 , relative_cost_perturbation_(1e-05)
74 , relative_max_cost_perturbation_(1e-07)
75 , max_number_of_reoptimizations_(40)
80 , initial_condition_number_threshold_(1e+50)
81 , crossover_bound_snapping_distance_(
std::numeric_limits<double>::infinity()){}
220 "\n\035ortools/glop/parameters.proto\022\030operati"
221 "ons_research.glop\"\230\027\n\016GlopParameters\022`\n\016"
222 "scaling_method\0309 \001(\01629.operations_resear"
223 "ch.glop.GlopParameters.ScalingAlgorithm:"
224 "\rEQUILIBRATION\022]\n\020feasibility_rule\030\001 \001(\016"
225 "24.operations_research.glop.GlopParamete"
226 "rs.PricingRule:\rSTEEPEST_EDGE\022^\n\021optimiz"
227 "ation_rule\030\002 \001(\01624.operations_research.g"
228 "lop.GlopParameters.PricingRule:\rSTEEPEST"
229 "_EDGE\022(\n\031refactorization_threshold\030\006 \001(\001"
230 ":\0051e-09\0220\n!recompute_reduced_costs_thres"
231 "hold\030\010 \001(\001:\0051e-08\022+\n\036recompute_edges_nor"
232 "m_threshold\030\t \001(\001:\003100\022+\n\034primal_feasibi"
233 "lity_tolerance\030\n \001(\001:\0051e-08\022)\n\032dual_feas"
234 "ibility_tolerance\030\013 \001(\001:\0051e-08\022(\n\031ratio_"
235 "test_zero_threshold\030\014 \001(\001:\0051e-09\022#\n\026harr"
236 "is_tolerance_ratio\030\r \001(\001:\0030.5\022$\n\025small_p"
237 "ivot_threshold\030\016 \001(\001:\0051e-06\022\'\n\030minimum_a"
238 "cceptable_pivot\030\017 \001(\001:\0051e-06\022\035\n\016drop_tol"
239 "erance\0304 \001(\001:\0051e-14\022\031\n\013use_scaling\030\020 \001(\010"
240 ":\004true\022m\n\014cost_scaling\030< \001(\0162=.operation"
241 "s_research.glop.GlopParameters.CostScali"
242 "ngAlgorithm:\030CONTAIN_ONE_COST_SCALING\022a\n"
243 "\rinitial_basis\030\021 \001(\0162>.operations_resear"
244 "ch.glop.GlopParameters.InitialBasisHeuri"
245 "stic:\nTRIANGULAR\022#\n\025use_transposed_matri"
246 "x\030\022 \001(\010:\004true\022(\n\034basis_refactorization_p"
247 "eriod\030\023 \001(\005:\00264\0227\n)dynamically_adjust_re"
248 "factorization_period\030\? \001(\010:\004true\022f\n\022solv"
249 "e_dual_problem\030\024 \001(\01627.operations_resear"
250 "ch.glop.GlopParameters.SolverBehavior:\021L"
251 "ET_SOLVER_DECIDE\022\037\n\022dualizer_threshold\030\025"
252 " \001(\001:\0031.5\022-\n\036solution_feasibility_tolera"
253 "nce\030\026 \001(\001:\0051e-06\022.\n provide_strong_optim"
254 "al_guarantee\030\030 \001(\010:\004true\022(\n\032change_statu"
255 "s_to_imprecise\030: \001(\010:\004true\022)\n\035max_number"
256 "_of_reoptimizations\0308 \001(\001:\00240\022.\n lu_fact"
257 "orization_pivot_threshold\030\031 \001(\001:\0040.01\022 \n"
258 "\023max_time_in_seconds\030\032 \001(\001:\003inf\022#\n\026max_d"
259 "eterministic_time\030- \001(\001:\003inf\022$\n\030max_numb"
260 "er_of_iterations\030\033 \001(\003:\002-1\022%\n\032markowitz_"
261 "zlatev_parameter\030\035 \001(\005:\0013\022.\n\037markowitz_s"
262 "ingularity_threshold\030\036 \001(\001:\0051e-15\022\037\n\020use"
263 "_dual_simplex\030\037 \001(\010:\005false\022-\n\036allow_simp"
264 "lex_algorithm_change\030 \001(\010:\005false\022\'\n\032dev"
265 "ex_weights_reset_period\030! \001(\005:\003150\022\037\n\021us"
266 "e_preprocessing\030\" \001(\010:\004true\022,\n\036use_middl"
267 "e_product_form_update\030# \001(\010:\004true\0220\n\"ini"
268 "tialize_devex_with_column_norms\030$ \001(\010:\004t"
269 "rue\0227\n)exploit_singleton_column_in_initi"
270 "al_basis\030% \001(\010:\004true\022*\n\032dual_small_pivot"
271 "_threshold\030& \001(\001:\0060.0001\022*\n\033preprocessor"
272 "_zero_tolerance\030\' \001(\001:\0051e-09\022#\n\025objectiv"
273 "e_lower_limit\030( \001(\001:\004-inf\022\"\n\025objective_u"
274 "pper_limit\030) \001(\001:\003inf\022(\n\032degenerate_mini"
275 "step_factor\030* \001(\001:\0040.01\022\026\n\013random_seed\030+"
276 " \001(\005:\0011\022\032\n\017num_omp_threads\030, \001(\005:\0011\022,\n\035p"
277 "erturb_costs_in_dual_simplex\0305 \001(\010:\005fals"
278 "e\0226\n(use_dedicated_dual_feasibility_algo"
279 "rithm\030> \001(\010:\004true\022)\n\032relative_cost_pertu"
280 "rbation\0306 \001(\001:\0051e-05\022-\n\036relative_max_cos"
281 "t_perturbation\0307 \001(\001:\0051e-07\0221\n\"initial_c"
282 "ondition_number_threshold\030; \001(\001:\0051e+50\022\""
283 "\n\023log_search_progress\030= \001(\010:\005false\022.\n!cr"
284 "ossover_bound_snapping_distance\030@ \001(\001:\003i"
285 "nf\022\034\n\016push_to_vertex\030A \001(\010:\004true\"F\n\020Scal"
286 "ingAlgorithm\022\013\n\007DEFAULT\020\000\022\021\n\rEQUILIBRATI"
287 "ON\020\001\022\022\n\016LINEAR_PROGRAM\020\002\"D\n\016SolverBehavi"
288 "or\022\r\n\tALWAYS_DO\020\000\022\014\n\010NEVER_DO\020\001\022\025\n\021LET_S"
289 "OLVER_DECIDE\020\002\"8\n\013PricingRule\022\013\n\007DANTZIG"
290 "\020\000\022\021\n\rSTEEPEST_EDGE\020\001\022\t\n\005DEVEX\020\002\"G\n\025Init"
291 "ialBasisHeuristic\022\010\n\004NONE\020\000\022\t\n\005BIXBY\020\001\022\016"
292 "\n\nTRIANGULAR\020\002\022\t\n\005MAROS\020\003\"y\n\024CostScaling"
293 "Algorithm\022\023\n\017NO_COST_SCALING\020\000\022\034\n\030CONTAI"
294 "N_ONE_COST_SCALING\020\001\022\025\n\021MEAN_COST_SCALIN"
295 "G\020\002\022\027\n\023MEDIAN_COST_SCALING\020\003"
299 false,
false, 3028, descriptor_table_protodef_ortools_2fglop_2fparameters_2eproto,
"ortools/glop/parameters.proto",
327#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
350#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
373#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
397#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
422#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
436 using HasBits =
decltype(std::declval<GlopParameters>()._has_bits_);
438 (*has_bits)[1] |= 131072u;
441 (*has_bits)[0] |= 16u;
444 (*has_bits)[0] |= 32u;
447 (*has_bits)[0] |= 64u;
450 (*has_bits)[0] |= 128u;
453 (*has_bits)[0] |= 256u;
456 (*has_bits)[0] |= 512u;
459 (*has_bits)[0] |= 1024u;
462 (*has_bits)[0] |= 2048u;
465 (*has_bits)[0] |= 4096u;
468 (*has_bits)[0] |= 8192u;
471 (*has_bits)[0] |= 16384u;
474 (*has_bits)[1] |= 512u;
477 (*has_bits)[0] |= 33554432u;
480 (*has_bits)[1] |= 262144u;
483 (*has_bits)[0] |= 32768u;
486 (*has_bits)[0] |= 67108864u;
489 (*has_bits)[0] |= 65536u;
492 (*has_bits)[0] |= 134217728u;
495 (*has_bits)[0] |= 524288u;
498 (*has_bits)[0] |= 131072u;
501 (*has_bits)[0] |= 262144u;
504 (*has_bits)[0] |= 268435456u;
507 (*has_bits)[1] |= 4u;
510 (*has_bits)[1] |= 65536u;
513 (*has_bits)[0] |= 2097152u;
516 (*has_bits)[0] |= 4194304u;
519 (*has_bits)[1] |= 256u;
522 (*has_bits)[0] |= 8388608u;
525 (*has_bits)[0] |= 1048576u;
528 (*has_bits)[0] |= 16777216u;
531 (*has_bits)[0] |= 1u;
534 (*has_bits)[0] |= 2u;
537 (*has_bits)[0] |= 536870912u;
540 (*has_bits)[1] |= 8u;
543 (*has_bits)[1] |= 16u;
546 (*has_bits)[1] |= 32u;
549 (*has_bits)[1] |= 2048u;
552 (*has_bits)[0] |= 1073741824u;
555 (*has_bits)[0] |= 2147483648u;
558 (*has_bits)[1] |= 1u;
561 (*has_bits)[1] |= 2u;
564 (*has_bits)[1] |= 128u;
567 (*has_bits)[1] |= 64u;
570 (*has_bits)[1] |= 1024u;
573 (*has_bits)[0] |= 4u;
576 (*has_bits)[1] |= 4096u;
579 (*has_bits)[1] |= 16384u;
582 (*has_bits)[1] |= 32768u;
585 (*has_bits)[1] |= 524288u;
588 (*has_bits)[0] |= 8u;
591 (*has_bits)[1] |= 1048576u;
594 (*has_bits)[1] |= 8192u;
599 bool is_message_owned)
600 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
602 if (!is_message_owned) {
603 RegisterArenaDtor(arena);
608 : ::PROTOBUF_NAMESPACE_ID::Message(),
609 _has_bits_(from._has_bits_) {
610 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
611 ::memcpy(&use_dual_simplex_, &from.use_dual_simplex_,
612 static_cast<size_t>(
reinterpret_cast<char*
>(&crossover_bound_snapping_distance_) -
613 reinterpret_cast<char*
>(&use_dual_simplex_)) +
sizeof(crossover_bound_snapping_distance_));
617void GlopParameters::SharedCtor() {
618::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
619 reinterpret_cast<char*
>(&use_dual_simplex_) -
reinterpret_cast<char*
>(
this)),
620 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&log_search_progress_) -
621 reinterpret_cast<char*
>(&use_dual_simplex_)) +
sizeof(log_search_progress_));
622feasibility_rule_ = 1;
623optimization_rule_ = 1;
624refactorization_threshold_ = 1e-09;
625recompute_reduced_costs_threshold_ = 1e-08;
626recompute_edges_norm_threshold_ = 100;
627primal_feasibility_tolerance_ = 1e-08;
628dual_feasibility_tolerance_ = 1e-08;
629ratio_test_zero_threshold_ = 1e-09;
630harris_tolerance_ratio_ = 0.5;
631small_pivot_threshold_ = 1e-06;
632minimum_acceptable_pivot_ = 1e-06;
634basis_refactorization_period_ = 64;
635dualizer_threshold_ = 1.5;
636solution_feasibility_tolerance_ = 1e-06;
637solve_dual_problem_ = 2;
638markowitz_zlatev_parameter_ = 3;
639lu_factorization_pivot_threshold_ = 0.01;
640max_time_in_seconds_ = std::numeric_limits<double>::infinity();
641max_number_of_iterations_ = int64_t{-1};
642markowitz_singularity_threshold_ = 1e-15;
644use_transposed_matrix_ =
true;
645dynamically_adjust_refactorization_period_ =
true;
646provide_strong_optimal_guarantee_ =
true;
647devex_weights_reset_period_ = 150;
648dual_small_pivot_threshold_ = 0.0001;
649preprocessor_zero_tolerance_ = 1e-09;
650objective_lower_limit_ = -std::numeric_limits<double>::infinity();
651objective_upper_limit_ = std::numeric_limits<double>::infinity();
652change_status_to_imprecise_ =
true;
653use_preprocessing_ =
true;
654use_middle_product_form_update_ =
true;
655initialize_devex_with_column_norms_ =
true;
657degenerate_ministep_factor_ = 0.01;
658max_deterministic_time_ = std::numeric_limits<double>::infinity();
659drop_tolerance_ = 1e-14;
661exploit_singleton_column_in_initial_basis_ =
true;
662use_dedicated_dual_feasibility_algorithm_ =
true;
663push_to_vertex_ =
true;
664relative_cost_perturbation_ = 1e-05;
665relative_max_cost_perturbation_ = 1e-07;
666max_number_of_reoptimizations_ = 40;
669initial_condition_number_threshold_ = 1e+50;
670crossover_bound_snapping_distance_ = std::numeric_limits<double>::infinity();
675 if (GetArenaForAllocation() !=
nullptr)
return;
677 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
680inline void GlopParameters::SharedDtor() {
681 GOOGLE_DCHECK(GetArenaForAllocation() ==
nullptr);
684void GlopParameters::ArenaDtor(
void*
object) {
688void GlopParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
690void GlopParameters::SetCachedSize(
int size)
const {
691 _cached_size_.Set(size);
696 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
698 (void) cached_has_bits;
700 ::memset(&use_dual_simplex_, 0,
static_cast<size_t>(
701 reinterpret_cast<char*
>(&log_search_progress_) -
702 reinterpret_cast<char*
>(&use_dual_simplex_)) +
sizeof(log_search_progress_));
703 cached_has_bits = _has_bits_[0];
704 if (cached_has_bits & 0x000000f0u) {
705 feasibility_rule_ = 1;
706 optimization_rule_ = 1;
707 refactorization_threshold_ = 1e-09;
708 recompute_reduced_costs_threshold_ = 1e-08;
710 if (cached_has_bits & 0x0000ff00u) {
711 recompute_edges_norm_threshold_ = 100;
712 primal_feasibility_tolerance_ = 1e-08;
713 dual_feasibility_tolerance_ = 1e-08;
714 ratio_test_zero_threshold_ = 1e-09;
715 harris_tolerance_ratio_ = 0.5;
716 small_pivot_threshold_ = 1e-06;
717 minimum_acceptable_pivot_ = 1e-06;
720 if (cached_has_bits & 0x00ff0000u) {
721 basis_refactorization_period_ = 64;
722 dualizer_threshold_ = 1.5;
723 solution_feasibility_tolerance_ = 1e-06;
724 solve_dual_problem_ = 2;
725 markowitz_zlatev_parameter_ = 3;
726 lu_factorization_pivot_threshold_ = 0.01;
727 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
728 max_number_of_iterations_ = int64_t{-1};
730 if (cached_has_bits & 0xff000000u) {
731 markowitz_singularity_threshold_ = 1e-15;
733 use_transposed_matrix_ =
true;
734 dynamically_adjust_refactorization_period_ =
true;
735 provide_strong_optimal_guarantee_ =
true;
736 devex_weights_reset_period_ = 150;
737 dual_small_pivot_threshold_ = 0.0001;
738 preprocessor_zero_tolerance_ = 1e-09;
740 cached_has_bits = _has_bits_[1];
741 if (cached_has_bits & 0x000000ffu) {
742 objective_lower_limit_ = -std::numeric_limits<double>::infinity();
743 objective_upper_limit_ = std::numeric_limits<double>::infinity();
744 change_status_to_imprecise_ =
true;
745 use_preprocessing_ =
true;
746 use_middle_product_form_update_ =
true;
747 initialize_devex_with_column_norms_ =
true;
749 degenerate_ministep_factor_ = 0.01;
751 if (cached_has_bits & 0x0000ff00u) {
752 max_deterministic_time_ = std::numeric_limits<double>::infinity();
753 drop_tolerance_ = 1e-14;
754 num_omp_threads_ = 1;
755 exploit_singleton_column_in_initial_basis_ =
true;
756 use_dedicated_dual_feasibility_algorithm_ =
true;
757 push_to_vertex_ =
true;
758 relative_cost_perturbation_ = 1e-05;
759 relative_max_cost_perturbation_ = 1e-07;
761 if (cached_has_bits & 0x001f0000u) {
762 max_number_of_reoptimizations_ = 40;
765 initial_condition_number_threshold_ = 1e+50;
766 crossover_bound_snapping_distance_ = std::numeric_limits<double>::infinity();
769 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
773#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
774 while (!ctx->Done(&ptr)) {
775 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
776 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
780 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
781 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
793 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
794 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
806 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 49)) {
808 refactorization_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
809 ptr +=
sizeof(double);
815 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 65)) {
817 recompute_reduced_costs_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
818 ptr +=
sizeof(double);
824 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 73)) {
826 recompute_edges_norm_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
827 ptr +=
sizeof(double);
833 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 81)) {
835 primal_feasibility_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
836 ptr +=
sizeof(double);
842 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 89)) {
844 dual_feasibility_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
845 ptr +=
sizeof(double);
851 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 97)) {
853 ratio_test_zero_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
854 ptr +=
sizeof(double);
860 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 105)) {
862 harris_tolerance_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
863 ptr +=
sizeof(double);
869 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 113)) {
871 small_pivot_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
872 ptr +=
sizeof(double);
878 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 121)) {
880 minimum_acceptable_pivot_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
881 ptr +=
sizeof(double);
887 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
889 use_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
896 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 136)) {
897 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
909 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
911 use_transposed_matrix_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
918 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
920 basis_refactorization_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
927 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
928 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
940 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 169)) {
942 dualizer_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
943 ptr +=
sizeof(double);
949 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 177)) {
951 solution_feasibility_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
952 ptr +=
sizeof(double);
958 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
960 provide_strong_optimal_guarantee_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
967 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 201)) {
969 lu_factorization_pivot_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
970 ptr +=
sizeof(double);
976 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 209)) {
978 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
979 ptr +=
sizeof(double);
985 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
987 max_number_of_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
994 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
996 markowitz_zlatev_parameter_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1003 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 241)) {
1005 markowitz_singularity_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1006 ptr +=
sizeof(double);
1008 goto handle_unusual;
1012 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
1014 use_dual_simplex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1017 goto handle_unusual;
1021 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 0)) {
1023 allow_simplex_algorithm_change_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1026 goto handle_unusual;
1030 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
1032 devex_weights_reset_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1035 goto handle_unusual;
1039 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
1041 use_preprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1044 goto handle_unusual;
1048 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
1050 use_middle_product_form_update_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1053 goto handle_unusual;
1057 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
1059 initialize_devex_with_column_norms_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1062 goto handle_unusual;
1066 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
1068 exploit_singleton_column_in_initial_basis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1071 goto handle_unusual;
1075 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 49)) {
1077 dual_small_pivot_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1078 ptr +=
sizeof(double);
1080 goto handle_unusual;
1084 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 57)) {
1086 preprocessor_zero_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1087 ptr +=
sizeof(double);
1089 goto handle_unusual;
1093 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 65)) {
1095 objective_lower_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1096 ptr +=
sizeof(double);
1098 goto handle_unusual;
1102 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 73)) {
1104 objective_upper_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1105 ptr +=
sizeof(double);
1107 goto handle_unusual;
1111 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 81)) {
1113 degenerate_ministep_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1114 ptr +=
sizeof(double);
1116 goto handle_unusual;
1120 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
1122 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1125 goto handle_unusual;
1129 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
1131 num_omp_threads_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1134 goto handle_unusual;
1138 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 105)) {
1140 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1141 ptr +=
sizeof(double);
1143 goto handle_unusual;
1147 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 161)) {
1149 drop_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1150 ptr +=
sizeof(double);
1152 goto handle_unusual;
1156 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
1158 perturb_costs_in_dual_simplex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1161 goto handle_unusual;
1165 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 177)) {
1167 relative_cost_perturbation_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1168 ptr +=
sizeof(double);
1170 goto handle_unusual;
1174 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 185)) {
1176 relative_max_cost_perturbation_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1177 ptr +=
sizeof(double);
1179 goto handle_unusual;
1183 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 193)) {
1185 max_number_of_reoptimizations_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1186 ptr +=
sizeof(double);
1188 goto handle_unusual;
1192 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 200)) {
1193 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1201 goto handle_unusual;
1205 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
1207 change_status_to_imprecise_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1210 goto handle_unusual;
1214 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 217)) {
1216 initial_condition_number_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1217 ptr +=
sizeof(double);
1219 goto handle_unusual;
1223 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 224)) {
1224 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1232 goto handle_unusual;
1236 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
1238 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1241 goto handle_unusual;
1245 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
1247 use_dedicated_dual_feasibility_algorithm_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1250 goto handle_unusual;
1254 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
1256 dynamically_adjust_refactorization_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1259 goto handle_unusual;
1263 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 1)) {
1265 crossover_bound_snapping_distance_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1266 ptr +=
sizeof(double);
1268 goto handle_unusual;
1272 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
1274 push_to_vertex_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1277 goto handle_unusual;
1280 goto handle_unusual;
1283 if ((tag == 0) || ((tag & 7) == 4)) {
1285 ctx->SetLastTag(tag);
1288 ptr = UnknownFieldParse(
1290 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1292 CHK_(ptr !=
nullptr);
1303 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
1305 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1306 (void) cached_has_bits;
1308 cached_has_bits = _has_bits_[0];
1310 if (cached_has_bits & 0x00000010u) {
1311 target = stream->EnsureSpace(target);
1312 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1313 1, this->_internal_feasibility_rule(), target);
1317 if (cached_has_bits & 0x00000020u) {
1318 target = stream->EnsureSpace(target);
1319 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1320 2, this->_internal_optimization_rule(), target);
1324 if (cached_has_bits & 0x00000040u) {
1325 target = stream->EnsureSpace(target);
1326 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(6, this->_internal_refactorization_threshold(), target);
1330 if (cached_has_bits & 0x00000080u) {
1331 target = stream->EnsureSpace(target);
1332 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(8, this->_internal_recompute_reduced_costs_threshold(), target);
1336 if (cached_has_bits & 0x00000100u) {
1337 target = stream->EnsureSpace(target);
1338 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(9, this->_internal_recompute_edges_norm_threshold(), target);
1342 if (cached_has_bits & 0x00000200u) {
1343 target = stream->EnsureSpace(target);
1344 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(10, this->_internal_primal_feasibility_tolerance(), target);
1348 if (cached_has_bits & 0x00000400u) {
1349 target = stream->EnsureSpace(target);
1350 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(11, this->_internal_dual_feasibility_tolerance(), target);
1354 if (cached_has_bits & 0x00000800u) {
1355 target = stream->EnsureSpace(target);
1356 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(12, this->_internal_ratio_test_zero_threshold(), target);
1360 if (cached_has_bits & 0x00001000u) {
1361 target = stream->EnsureSpace(target);
1362 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(13, this->_internal_harris_tolerance_ratio(), target);
1366 if (cached_has_bits & 0x00002000u) {
1367 target = stream->EnsureSpace(target);
1368 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(14, this->_internal_small_pivot_threshold(), target);
1372 if (cached_has_bits & 0x00004000u) {
1373 target = stream->EnsureSpace(target);
1374 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_minimum_acceptable_pivot(), target);
1378 if (cached_has_bits & 0x02000000u) {
1379 target = stream->EnsureSpace(target);
1380 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(16, this->_internal_use_scaling(), target);
1384 if (cached_has_bits & 0x00008000u) {
1385 target = stream->EnsureSpace(target);
1386 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1387 17, this->_internal_initial_basis(), target);
1391 if (cached_has_bits & 0x04000000u) {
1392 target = stream->EnsureSpace(target);
1393 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(18, this->_internal_use_transposed_matrix(), target);
1397 if (cached_has_bits & 0x00010000u) {
1398 target = stream->EnsureSpace(target);
1399 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(19, this->_internal_basis_refactorization_period(), target);
1403 if (cached_has_bits & 0x00080000u) {
1404 target = stream->EnsureSpace(target);
1405 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1406 20, this->_internal_solve_dual_problem(), target);
1410 if (cached_has_bits & 0x00020000u) {
1411 target = stream->EnsureSpace(target);
1412 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(21, this->_internal_dualizer_threshold(), target);
1416 if (cached_has_bits & 0x00040000u) {
1417 target = stream->EnsureSpace(target);
1418 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_solution_feasibility_tolerance(), target);
1422 if (cached_has_bits & 0x10000000u) {
1423 target = stream->EnsureSpace(target);
1424 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(24, this->_internal_provide_strong_optimal_guarantee(), target);
1428 if (cached_has_bits & 0x00200000u) {
1429 target = stream->EnsureSpace(target);
1430 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(25, this->_internal_lu_factorization_pivot_threshold(), target);
1434 if (cached_has_bits & 0x00400000u) {
1435 target = stream->EnsureSpace(target);
1436 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(26, this->_internal_max_time_in_seconds(), target);
1440 if (cached_has_bits & 0x00800000u) {
1441 target = stream->EnsureSpace(target);
1442 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(27, this->_internal_max_number_of_iterations(), target);
1446 if (cached_has_bits & 0x00100000u) {
1447 target = stream->EnsureSpace(target);
1448 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(29, this->_internal_markowitz_zlatev_parameter(), target);
1452 if (cached_has_bits & 0x01000000u) {
1453 target = stream->EnsureSpace(target);
1454 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(30, this->_internal_markowitz_singularity_threshold(), target);
1458 if (cached_has_bits & 0x00000001u) {
1459 target = stream->EnsureSpace(target);
1460 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(31, this->_internal_use_dual_simplex(), target);
1464 if (cached_has_bits & 0x00000002u) {
1465 target = stream->EnsureSpace(target);
1466 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(32, this->_internal_allow_simplex_algorithm_change(), target);
1470 if (cached_has_bits & 0x20000000u) {
1471 target = stream->EnsureSpace(target);
1472 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(33, this->_internal_devex_weights_reset_period(), target);
1475 cached_has_bits = _has_bits_[1];
1477 if (cached_has_bits & 0x00000008u) {
1478 target = stream->EnsureSpace(target);
1479 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(34, this->_internal_use_preprocessing(), target);
1483 if (cached_has_bits & 0x00000010u) {
1484 target = stream->EnsureSpace(target);
1485 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_middle_product_form_update(), target);
1489 if (cached_has_bits & 0x00000020u) {
1490 target = stream->EnsureSpace(target);
1491 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(36, this->_internal_initialize_devex_with_column_norms(), target);
1495 if (cached_has_bits & 0x00000800u) {
1496 target = stream->EnsureSpace(target);
1497 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(37, this->_internal_exploit_singleton_column_in_initial_basis(), target);
1500 cached_has_bits = _has_bits_[0];
1502 if (cached_has_bits & 0x40000000u) {
1503 target = stream->EnsureSpace(target);
1504 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(38, this->_internal_dual_small_pivot_threshold(), target);
1508 if (cached_has_bits & 0x80000000u) {
1509 target = stream->EnsureSpace(target);
1510 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(39, this->_internal_preprocessor_zero_tolerance(), target);
1513 cached_has_bits = _has_bits_[1];
1515 if (cached_has_bits & 0x00000001u) {
1516 target = stream->EnsureSpace(target);
1517 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(40, this->_internal_objective_lower_limit(), target);
1521 if (cached_has_bits & 0x00000002u) {
1522 target = stream->EnsureSpace(target);
1523 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(41, this->_internal_objective_upper_limit(), target);
1527 if (cached_has_bits & 0x00000080u) {
1528 target = stream->EnsureSpace(target);
1529 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(42, this->_internal_degenerate_ministep_factor(), target);
1533 if (cached_has_bits & 0x00000040u) {
1534 target = stream->EnsureSpace(target);
1535 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(43, this->_internal_random_seed(), target);
1539 if (cached_has_bits & 0x00000400u) {
1540 target = stream->EnsureSpace(target);
1541 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(44, this->_internal_num_omp_threads(), target);
1545 if (cached_has_bits & 0x00000100u) {
1546 target = stream->EnsureSpace(target);
1547 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_max_deterministic_time(), target);
1551 if (cached_has_bits & 0x00000200u) {
1552 target = stream->EnsureSpace(target);
1553 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(52, this->_internal_drop_tolerance(), target);
1556 cached_has_bits = _has_bits_[0];
1558 if (cached_has_bits & 0x00000004u) {
1559 target = stream->EnsureSpace(target);
1560 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(53, this->_internal_perturb_costs_in_dual_simplex(), target);
1563 cached_has_bits = _has_bits_[1];
1565 if (cached_has_bits & 0x00004000u) {
1566 target = stream->EnsureSpace(target);
1567 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(54, this->_internal_relative_cost_perturbation(), target);
1571 if (cached_has_bits & 0x00008000u) {
1572 target = stream->EnsureSpace(target);
1573 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(55, this->_internal_relative_max_cost_perturbation(), target);
1577 if (cached_has_bits & 0x00010000u) {
1578 target = stream->EnsureSpace(target);
1579 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(56, this->_internal_max_number_of_reoptimizations(), target);
1583 if (cached_has_bits & 0x00020000u) {
1584 target = stream->EnsureSpace(target);
1585 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1586 57, this->_internal_scaling_method(), target);
1590 if (cached_has_bits & 0x00000004u) {
1591 target = stream->EnsureSpace(target);
1592 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(58, this->_internal_change_status_to_imprecise(), target);
1596 if (cached_has_bits & 0x00080000u) {
1597 target = stream->EnsureSpace(target);
1598 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(59, this->_internal_initial_condition_number_threshold(), target);
1602 if (cached_has_bits & 0x00040000u) {
1603 target = stream->EnsureSpace(target);
1604 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1605 60, this->_internal_cost_scaling(), target);
1608 cached_has_bits = _has_bits_[0];
1610 if (cached_has_bits & 0x00000008u) {
1611 target = stream->EnsureSpace(target);
1612 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(61, this->_internal_log_search_progress(), target);
1615 cached_has_bits = _has_bits_[1];
1617 if (cached_has_bits & 0x00001000u) {
1618 target = stream->EnsureSpace(target);
1619 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(62, this->_internal_use_dedicated_dual_feasibility_algorithm(), target);
1622 cached_has_bits = _has_bits_[0];
1624 if (cached_has_bits & 0x08000000u) {
1625 target = stream->EnsureSpace(target);
1626 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(63, this->_internal_dynamically_adjust_refactorization_period(), target);
1629 cached_has_bits = _has_bits_[1];
1631 if (cached_has_bits & 0x00100000u) {
1632 target = stream->EnsureSpace(target);
1633 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(64, this->_internal_crossover_bound_snapping_distance(), target);
1637 if (cached_has_bits & 0x00002000u) {
1638 target = stream->EnsureSpace(target);
1639 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(65, this->_internal_push_to_vertex(), target);
1642 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1643 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1644 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1652 size_t total_size = 0;
1654 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1656 (void) cached_has_bits;
1658 cached_has_bits = _has_bits_[0];
1659 if (cached_has_bits & 0x000000ffu) {
1661 if (cached_has_bits & 0x00000001u) {
1662 total_size += 2 + 1;
1666 if (cached_has_bits & 0x00000002u) {
1667 total_size += 2 + 1;
1671 if (cached_has_bits & 0x00000004u) {
1672 total_size += 2 + 1;
1676 if (cached_has_bits & 0x00000008u) {
1677 total_size += 2 + 1;
1681 if (cached_has_bits & 0x00000010u) {
1683 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_feasibility_rule());
1687 if (cached_has_bits & 0x00000020u) {
1689 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_optimization_rule());
1693 if (cached_has_bits & 0x00000040u) {
1694 total_size += 1 + 8;
1698 if (cached_has_bits & 0x00000080u) {
1699 total_size += 1 + 8;
1703 if (cached_has_bits & 0x0000ff00u) {
1705 if (cached_has_bits & 0x00000100u) {
1706 total_size += 1 + 8;
1710 if (cached_has_bits & 0x00000200u) {
1711 total_size += 1 + 8;
1715 if (cached_has_bits & 0x00000400u) {
1716 total_size += 1 + 8;
1720 if (cached_has_bits & 0x00000800u) {
1721 total_size += 1 + 8;
1725 if (cached_has_bits & 0x00001000u) {
1726 total_size += 1 + 8;
1730 if (cached_has_bits & 0x00002000u) {
1731 total_size += 1 + 8;
1735 if (cached_has_bits & 0x00004000u) {
1736 total_size += 1 + 8;
1740 if (cached_has_bits & 0x00008000u) {
1742 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_basis());
1746 if (cached_has_bits & 0x00ff0000u) {
1748 if (cached_has_bits & 0x00010000u) {
1750 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1751 this->_internal_basis_refactorization_period());
1755 if (cached_has_bits & 0x00020000u) {
1756 total_size += 2 + 8;
1760 if (cached_has_bits & 0x00040000u) {
1761 total_size += 2 + 8;
1765 if (cached_has_bits & 0x00080000u) {
1767 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_solve_dual_problem());
1771 if (cached_has_bits & 0x00100000u) {
1773 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1774 this->_internal_markowitz_zlatev_parameter());
1778 if (cached_has_bits & 0x00200000u) {
1779 total_size += 2 + 8;
1783 if (cached_has_bits & 0x00400000u) {
1784 total_size += 2 + 8;
1788 if (cached_has_bits & 0x00800000u) {
1790 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1791 this->_internal_max_number_of_iterations());
1795 if (cached_has_bits & 0xff000000u) {
1797 if (cached_has_bits & 0x01000000u) {
1798 total_size += 2 + 8;
1802 if (cached_has_bits & 0x02000000u) {
1803 total_size += 2 + 1;
1807 if (cached_has_bits & 0x04000000u) {
1808 total_size += 2 + 1;
1812 if (cached_has_bits & 0x08000000u) {
1813 total_size += 2 + 1;
1817 if (cached_has_bits & 0x10000000u) {
1818 total_size += 2 + 1;
1822 if (cached_has_bits & 0x20000000u) {
1824 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1825 this->_internal_devex_weights_reset_period());
1829 if (cached_has_bits & 0x40000000u) {
1830 total_size += 2 + 8;
1834 if (cached_has_bits & 0x80000000u) {
1835 total_size += 2 + 8;
1839 cached_has_bits = _has_bits_[1];
1840 if (cached_has_bits & 0x000000ffu) {
1842 if (cached_has_bits & 0x00000001u) {
1843 total_size += 2 + 8;
1847 if (cached_has_bits & 0x00000002u) {
1848 total_size += 2 + 8;
1852 if (cached_has_bits & 0x00000004u) {
1853 total_size += 2 + 1;
1857 if (cached_has_bits & 0x00000008u) {
1858 total_size += 2 + 1;
1862 if (cached_has_bits & 0x00000010u) {
1863 total_size += 2 + 1;
1867 if (cached_has_bits & 0x00000020u) {
1868 total_size += 2 + 1;
1872 if (cached_has_bits & 0x00000040u) {
1874 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1875 this->_internal_random_seed());
1879 if (cached_has_bits & 0x00000080u) {
1880 total_size += 2 + 8;
1884 if (cached_has_bits & 0x0000ff00u) {
1886 if (cached_has_bits & 0x00000100u) {
1887 total_size += 2 + 8;
1891 if (cached_has_bits & 0x00000200u) {
1892 total_size += 2 + 8;
1896 if (cached_has_bits & 0x00000400u) {
1898 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1899 this->_internal_num_omp_threads());
1903 if (cached_has_bits & 0x00000800u) {
1904 total_size += 2 + 1;
1908 if (cached_has_bits & 0x00001000u) {
1909 total_size += 2 + 1;
1913 if (cached_has_bits & 0x00002000u) {
1914 total_size += 2 + 1;
1918 if (cached_has_bits & 0x00004000u) {
1919 total_size += 2 + 8;
1923 if (cached_has_bits & 0x00008000u) {
1924 total_size += 2 + 8;
1928 if (cached_has_bits & 0x001f0000u) {
1930 if (cached_has_bits & 0x00010000u) {
1931 total_size += 2 + 8;
1935 if (cached_has_bits & 0x00020000u) {
1937 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_scaling_method());
1941 if (cached_has_bits & 0x00040000u) {
1943 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_cost_scaling());
1947 if (cached_has_bits & 0x00080000u) {
1948 total_size += 2 + 8;
1952 if (cached_has_bits & 0x00100000u) {
1953 total_size += 2 + 8;
1957 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1961 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1962 GlopParameters::MergeImpl
1966void GlopParameters::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1967 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1975 GOOGLE_DCHECK_NE(&from,
this);
1976 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1977 (void) cached_has_bits;
1979 cached_has_bits = from._has_bits_[0];
1980 if (cached_has_bits & 0x000000ffu) {
1981 if (cached_has_bits & 0x00000001u) {
1982 use_dual_simplex_ = from.use_dual_simplex_;
1984 if (cached_has_bits & 0x00000002u) {
1985 allow_simplex_algorithm_change_ = from.allow_simplex_algorithm_change_;
1987 if (cached_has_bits & 0x00000004u) {
1988 perturb_costs_in_dual_simplex_ = from.perturb_costs_in_dual_simplex_;
1990 if (cached_has_bits & 0x00000008u) {
1991 log_search_progress_ = from.log_search_progress_;
1993 if (cached_has_bits & 0x00000010u) {
1994 feasibility_rule_ = from.feasibility_rule_;
1996 if (cached_has_bits & 0x00000020u) {
1997 optimization_rule_ = from.optimization_rule_;
1999 if (cached_has_bits & 0x00000040u) {
2000 refactorization_threshold_ = from.refactorization_threshold_;
2002 if (cached_has_bits & 0x00000080u) {
2003 recompute_reduced_costs_threshold_ = from.recompute_reduced_costs_threshold_;
2005 _has_bits_[0] |= cached_has_bits;
2007 if (cached_has_bits & 0x0000ff00u) {
2008 if (cached_has_bits & 0x00000100u) {
2009 recompute_edges_norm_threshold_ = from.recompute_edges_norm_threshold_;
2011 if (cached_has_bits & 0x00000200u) {
2012 primal_feasibility_tolerance_ = from.primal_feasibility_tolerance_;
2014 if (cached_has_bits & 0x00000400u) {
2015 dual_feasibility_tolerance_ = from.dual_feasibility_tolerance_;
2017 if (cached_has_bits & 0x00000800u) {
2018 ratio_test_zero_threshold_ = from.ratio_test_zero_threshold_;
2020 if (cached_has_bits & 0x00001000u) {
2021 harris_tolerance_ratio_ = from.harris_tolerance_ratio_;
2023 if (cached_has_bits & 0x00002000u) {
2024 small_pivot_threshold_ = from.small_pivot_threshold_;
2026 if (cached_has_bits & 0x00004000u) {
2027 minimum_acceptable_pivot_ = from.minimum_acceptable_pivot_;
2029 if (cached_has_bits & 0x00008000u) {
2030 initial_basis_ = from.initial_basis_;
2032 _has_bits_[0] |= cached_has_bits;
2034 if (cached_has_bits & 0x00ff0000u) {
2035 if (cached_has_bits & 0x00010000u) {
2036 basis_refactorization_period_ = from.basis_refactorization_period_;
2038 if (cached_has_bits & 0x00020000u) {
2039 dualizer_threshold_ = from.dualizer_threshold_;
2041 if (cached_has_bits & 0x00040000u) {
2042 solution_feasibility_tolerance_ = from.solution_feasibility_tolerance_;
2044 if (cached_has_bits & 0x00080000u) {
2045 solve_dual_problem_ = from.solve_dual_problem_;
2047 if (cached_has_bits & 0x00100000u) {
2048 markowitz_zlatev_parameter_ = from.markowitz_zlatev_parameter_;
2050 if (cached_has_bits & 0x00200000u) {
2051 lu_factorization_pivot_threshold_ = from.lu_factorization_pivot_threshold_;
2053 if (cached_has_bits & 0x00400000u) {
2054 max_time_in_seconds_ = from.max_time_in_seconds_;
2056 if (cached_has_bits & 0x00800000u) {
2057 max_number_of_iterations_ = from.max_number_of_iterations_;
2059 _has_bits_[0] |= cached_has_bits;
2061 if (cached_has_bits & 0xff000000u) {
2062 if (cached_has_bits & 0x01000000u) {
2063 markowitz_singularity_threshold_ = from.markowitz_singularity_threshold_;
2065 if (cached_has_bits & 0x02000000u) {
2066 use_scaling_ = from.use_scaling_;
2068 if (cached_has_bits & 0x04000000u) {
2069 use_transposed_matrix_ = from.use_transposed_matrix_;
2071 if (cached_has_bits & 0x08000000u) {
2072 dynamically_adjust_refactorization_period_ = from.dynamically_adjust_refactorization_period_;
2074 if (cached_has_bits & 0x10000000u) {
2075 provide_strong_optimal_guarantee_ = from.provide_strong_optimal_guarantee_;
2077 if (cached_has_bits & 0x20000000u) {
2078 devex_weights_reset_period_ = from.devex_weights_reset_period_;
2080 if (cached_has_bits & 0x40000000u) {
2081 dual_small_pivot_threshold_ = from.dual_small_pivot_threshold_;
2083 if (cached_has_bits & 0x80000000u) {
2084 preprocessor_zero_tolerance_ = from.preprocessor_zero_tolerance_;
2086 _has_bits_[0] |= cached_has_bits;
2088 cached_has_bits = from._has_bits_[1];
2089 if (cached_has_bits & 0x000000ffu) {
2090 if (cached_has_bits & 0x00000001u) {
2091 objective_lower_limit_ = from.objective_lower_limit_;
2093 if (cached_has_bits & 0x00000002u) {
2094 objective_upper_limit_ = from.objective_upper_limit_;
2096 if (cached_has_bits & 0x00000004u) {
2097 change_status_to_imprecise_ = from.change_status_to_imprecise_;
2099 if (cached_has_bits & 0x00000008u) {
2100 use_preprocessing_ = from.use_preprocessing_;
2102 if (cached_has_bits & 0x00000010u) {
2103 use_middle_product_form_update_ = from.use_middle_product_form_update_;
2105 if (cached_has_bits & 0x00000020u) {
2106 initialize_devex_with_column_norms_ = from.initialize_devex_with_column_norms_;
2108 if (cached_has_bits & 0x00000040u) {
2109 random_seed_ = from.random_seed_;
2111 if (cached_has_bits & 0x00000080u) {
2112 degenerate_ministep_factor_ = from.degenerate_ministep_factor_;
2114 _has_bits_[1] |= cached_has_bits;
2116 if (cached_has_bits & 0x0000ff00u) {
2117 if (cached_has_bits & 0x00000100u) {
2118 max_deterministic_time_ = from.max_deterministic_time_;
2120 if (cached_has_bits & 0x00000200u) {
2121 drop_tolerance_ = from.drop_tolerance_;
2123 if (cached_has_bits & 0x00000400u) {
2124 num_omp_threads_ = from.num_omp_threads_;
2126 if (cached_has_bits & 0x00000800u) {
2127 exploit_singleton_column_in_initial_basis_ = from.exploit_singleton_column_in_initial_basis_;
2129 if (cached_has_bits & 0x00001000u) {
2130 use_dedicated_dual_feasibility_algorithm_ = from.use_dedicated_dual_feasibility_algorithm_;
2132 if (cached_has_bits & 0x00002000u) {
2133 push_to_vertex_ = from.push_to_vertex_;
2135 if (cached_has_bits & 0x00004000u) {
2136 relative_cost_perturbation_ = from.relative_cost_perturbation_;
2138 if (cached_has_bits & 0x00008000u) {
2139 relative_max_cost_perturbation_ = from.relative_max_cost_perturbation_;
2141 _has_bits_[1] |= cached_has_bits;
2143 if (cached_has_bits & 0x001f0000u) {
2144 if (cached_has_bits & 0x00010000u) {
2145 max_number_of_reoptimizations_ = from.max_number_of_reoptimizations_;
2147 if (cached_has_bits & 0x00020000u) {
2148 scaling_method_ = from.scaling_method_;
2150 if (cached_has_bits & 0x00040000u) {
2151 cost_scaling_ = from.cost_scaling_;
2153 if (cached_has_bits & 0x00080000u) {
2154 initial_condition_number_threshold_ = from.initial_condition_number_threshold_;
2156 if (cached_has_bits & 0x00100000u) {
2157 crossover_bound_snapping_distance_ = from.crossover_bound_snapping_distance_;
2159 _has_bits_[1] |= cached_has_bits;
2161 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2166 if (&from ==
this)
return;
2177 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2178 swap(_has_bits_[0], other->_has_bits_[0]);
2179 swap(_has_bits_[1], other->_has_bits_[1]);
2180 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2182 +
sizeof(GlopParameters::log_search_progress_)
2184 reinterpret_cast<char*
>(&use_dual_simplex_),
2185 reinterpret_cast<char*
>(&other->use_dual_simplex_));
2186 swap(feasibility_rule_, other->feasibility_rule_);
2187 swap(optimization_rule_, other->optimization_rule_);
2188 swap(refactorization_threshold_, other->refactorization_threshold_);
2189 swap(recompute_reduced_costs_threshold_, other->recompute_reduced_costs_threshold_);
2190 swap(recompute_edges_norm_threshold_, other->recompute_edges_norm_threshold_);
2191 swap(primal_feasibility_tolerance_, other->primal_feasibility_tolerance_);
2192 swap(dual_feasibility_tolerance_, other->dual_feasibility_tolerance_);
2193 swap(ratio_test_zero_threshold_, other->ratio_test_zero_threshold_);
2194 swap(harris_tolerance_ratio_, other->harris_tolerance_ratio_);
2195 swap(small_pivot_threshold_, other->small_pivot_threshold_);
2196 swap(minimum_acceptable_pivot_, other->minimum_acceptable_pivot_);
2197 swap(initial_basis_, other->initial_basis_);
2198 swap(basis_refactorization_period_, other->basis_refactorization_period_);
2199 swap(dualizer_threshold_, other->dualizer_threshold_);
2200 swap(solution_feasibility_tolerance_, other->solution_feasibility_tolerance_);
2201 swap(solve_dual_problem_, other->solve_dual_problem_);
2202 swap(markowitz_zlatev_parameter_, other->markowitz_zlatev_parameter_);
2203 swap(lu_factorization_pivot_threshold_, other->lu_factorization_pivot_threshold_);
2204 swap(max_time_in_seconds_, other->max_time_in_seconds_);
2205 swap(max_number_of_iterations_, other->max_number_of_iterations_);
2206 swap(markowitz_singularity_threshold_, other->markowitz_singularity_threshold_);
2207 swap(use_scaling_, other->use_scaling_);
2208 swap(use_transposed_matrix_, other->use_transposed_matrix_);
2209 swap(dynamically_adjust_refactorization_period_, other->dynamically_adjust_refactorization_period_);
2210 swap(provide_strong_optimal_guarantee_, other->provide_strong_optimal_guarantee_);
2211 swap(devex_weights_reset_period_, other->devex_weights_reset_period_);
2212 swap(dual_small_pivot_threshold_, other->dual_small_pivot_threshold_);
2213 swap(preprocessor_zero_tolerance_, other->preprocessor_zero_tolerance_);
2214 swap(objective_lower_limit_, other->objective_lower_limit_);
2215 swap(objective_upper_limit_, other->objective_upper_limit_);
2216 swap(change_status_to_imprecise_, other->change_status_to_imprecise_);
2217 swap(use_preprocessing_, other->use_preprocessing_);
2218 swap(use_middle_product_form_update_, other->use_middle_product_form_update_);
2219 swap(initialize_devex_with_column_norms_, other->initialize_devex_with_column_norms_);
2220 swap(random_seed_, other->random_seed_);
2221 swap(degenerate_ministep_factor_, other->degenerate_ministep_factor_);
2222 swap(max_deterministic_time_, other->max_deterministic_time_);
2223 swap(drop_tolerance_, other->drop_tolerance_);
2224 swap(num_omp_threads_, other->num_omp_threads_);
2225 swap(exploit_singleton_column_in_initial_basis_, other->exploit_singleton_column_in_initial_basis_);
2226 swap(use_dedicated_dual_feasibility_algorithm_, other->use_dedicated_dual_feasibility_algorithm_);
2227 swap(push_to_vertex_, other->push_to_vertex_);
2228 swap(relative_cost_perturbation_, other->relative_cost_perturbation_);
2229 swap(relative_max_cost_perturbation_, other->relative_max_cost_perturbation_);
2230 swap(max_number_of_reoptimizations_, other->max_number_of_reoptimizations_);
2231 swap(scaling_method_, other->scaling_method_);
2232 swap(cost_scaling_, other->cost_scaling_);
2233 swap(initial_condition_number_threshold_, other->initial_condition_number_threshold_);
2234 swap(crossover_bound_snapping_distance_, other->crossover_bound_snapping_distance_);
2238 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2246PROTOBUF_NAMESPACE_OPEN
2248 return Arena::CreateMessageInternal< ::operations_research::glop::GlopParameters >(arena);
2250PROTOBUF_NAMESPACE_CLOSE
2253#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_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_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
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
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fglop_2fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static constexpr::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fglop_2fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fglop_2fparameters_2eproto_once
::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()
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()