10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
26namespace _fl = ::google::protobuf::internal::field_layout;
30inline constexpr GlopParameters::Impl_::Impl_(
31 ::_pbi::ConstantInitialized) noexcept
33 use_dual_simplex_{
false},
34 allow_simplex_algorithm_change_{
false},
35 perturb_costs_in_dual_simplex_{
false},
36 log_search_progress_{
false},
37 dual_price_prioritize_norm_{
false},
38 use_absl_random_{
false},
41 refactorization_threshold_{1e-09},
42 recompute_reduced_costs_threshold_{1e-08},
43 recompute_edges_norm_threshold_{100},
44 primal_feasibility_tolerance_{1e-08},
45 dual_feasibility_tolerance_{1e-08},
46 ratio_test_zero_threshold_{1e-09},
47 harris_tolerance_ratio_{0.5},
48 small_pivot_threshold_{1e-06},
49 minimum_acceptable_pivot_{1e-06},
51 basis_refactorization_period_{64},
52 dualizer_threshold_{1.5},
53 solution_feasibility_tolerance_{1e-06},
56 use_transposed_matrix_{
true},
57 provide_strong_optimal_guarantee_{
true},
58 use_preprocessing_{
true},
59 lu_factorization_pivot_threshold_{0.01},
60 max_time_in_seconds_{std::numeric_limits<double>::infinity()},
61 max_number_of_iterations_{::int64_t{-1}},
62 markowitz_singularity_threshold_{1e-15},
63 markowitz_zlatev_parameter_{3},
64 devex_weights_reset_period_{150},
65 dual_small_pivot_threshold_{0.0001},
66 preprocessor_zero_tolerance_{1e-09},
67 objective_lower_limit_{-std::numeric_limits<double>::infinity()},
68 objective_upper_limit_{std::numeric_limits<double>::infinity()},
69 use_middle_product_form_update_{
true},
70 initialize_devex_with_column_norms_{
true},
71 exploit_singleton_column_in_initial_basis_{
true},
72 change_status_to_imprecise_{
true},
74 degenerate_ministep_factor_{0.01},
75 max_deterministic_time_{std::numeric_limits<double>::infinity()},
78 drop_tolerance_{1e-14},
79 relative_cost_perturbation_{1e-05},
80 relative_max_cost_perturbation_{1e-07},
81 max_number_of_reoptimizations_{40},
82 initial_condition_number_threshold_{1e+50},
84 use_dedicated_dual_feasibility_algorithm_{
true},
85 dynamically_adjust_refactorization_period_{
true},
86 push_to_vertex_{
true},
88 crossover_bound_snapping_distance_{std::numeric_limits<double>::infinity()},
89 max_valid_magnitude_{1e+30},
90 drop_magnitude_{1e-30},
91 use_implied_free_preprocessor_{
true} {}
95#if defined(PROTOBUF_CUSTOM_VTABLE)
98 : ::google::protobuf::Message(),
100 _impl_(::_pbi::ConstantInitialized()) {
110PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
114static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
116static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
244static const ::_pbi::MigrationSchema
253 "\n\035ortools/glop/parameters.proto\022\030operati"
254 "ons_research.glop\"\360\030\n\016GlopParameters\022`\n\016"
255 "scaling_method\0309 \001(\01629.operations_resear"
256 "ch.glop.GlopParameters.ScalingAlgorithm:"
257 "\rEQUILIBRATION\022]\n\020feasibility_rule\030\001 \001(\016"
258 "24.operations_research.glop.GlopParamete"
259 "rs.PricingRule:\rSTEEPEST_EDGE\022^\n\021optimiz"
260 "ation_rule\030\002 \001(\01624.operations_research.g"
261 "lop.GlopParameters.PricingRule:\rSTEEPEST"
262 "_EDGE\022(\n\031refactorization_threshold\030\006 \001(\001"
263 ":\0051e-09\0220\n!recompute_reduced_costs_thres"
264 "hold\030\010 \001(\001:\0051e-08\022+\n\036recompute_edges_nor"
265 "m_threshold\030\t \001(\001:\003100\022+\n\034primal_feasibi"
266 "lity_tolerance\030\n \001(\001:\0051e-08\022)\n\032dual_feas"
267 "ibility_tolerance\030\013 \001(\001:\0051e-08\022(\n\031ratio_"
268 "test_zero_threshold\030\014 \001(\001:\0051e-09\022#\n\026harr"
269 "is_tolerance_ratio\030\r \001(\001:\0030.5\022$\n\025small_p"
270 "ivot_threshold\030\016 \001(\001:\0051e-06\022\'\n\030minimum_a"
271 "cceptable_pivot\030\017 \001(\001:\0051e-06\022\035\n\016drop_tol"
272 "erance\0304 \001(\001:\0051e-14\022\031\n\013use_scaling\030\020 \001(\010"
273 ":\004true\022m\n\014cost_scaling\030< \001(\0162=.operation"
274 "s_research.glop.GlopParameters.CostScali"
275 "ngAlgorithm:\030CONTAIN_ONE_COST_SCALING\022a\n"
276 "\rinitial_basis\030\021 \001(\0162>.operations_resear"
277 "ch.glop.GlopParameters.InitialBasisHeuri"
278 "stic:\nTRIANGULAR\022#\n\025use_transposed_matri"
279 "x\030\022 \001(\010:\004true\022(\n\034basis_refactorization_p"
280 "eriod\030\023 \001(\005:\00264\0227\n)dynamically_adjust_re"
281 "factorization_period\030\? \001(\010:\004true\022f\n\022solv"
282 "e_dual_problem\030\024 \001(\01627.operations_resear"
283 "ch.glop.GlopParameters.SolverBehavior:\021L"
284 "ET_SOLVER_DECIDE\022\037\n\022dualizer_threshold\030\025"
285 " \001(\001:\0031.5\022-\n\036solution_feasibility_tolera"
286 "nce\030\026 \001(\001:\0051e-06\022.\n provide_strong_optim"
287 "al_guarantee\030\030 \001(\010:\004true\022(\n\032change_statu"
288 "s_to_imprecise\030: \001(\010:\004true\022)\n\035max_number"
289 "_of_reoptimizations\0308 \001(\001:\00240\022.\n lu_fact"
290 "orization_pivot_threshold\030\031 \001(\001:\0040.01\022 \n"
291 "\023max_time_in_seconds\030\032 \001(\001:\003inf\022#\n\026max_d"
292 "eterministic_time\030- \001(\001:\003inf\022$\n\030max_numb"
293 "er_of_iterations\030\033 \001(\003:\002-1\022%\n\032markowitz_"
294 "zlatev_parameter\030\035 \001(\005:\0013\022.\n\037markowitz_s"
295 "ingularity_threshold\030\036 \001(\001:\0051e-15\022\037\n\020use"
296 "_dual_simplex\030\037 \001(\010:\005false\022-\n\036allow_simp"
297 "lex_algorithm_change\030 \001(\010:\005false\022\'\n\032dev"
298 "ex_weights_reset_period\030! \001(\005:\003150\022\037\n\021us"
299 "e_preprocessing\030\" \001(\010:\004true\022,\n\036use_middl"
300 "e_product_form_update\030# \001(\010:\004true\0220\n\"ini"
301 "tialize_devex_with_column_norms\030$ \001(\010:\004t"
302 "rue\0227\n)exploit_singleton_column_in_initi"
303 "al_basis\030% \001(\010:\004true\022*\n\032dual_small_pivot"
304 "_threshold\030& \001(\001:\0060.0001\022*\n\033preprocessor"
305 "_zero_tolerance\030\' \001(\001:\0051e-09\022#\n\025objectiv"
306 "e_lower_limit\030( \001(\001:\004-inf\022\"\n\025objective_u"
307 "pper_limit\030) \001(\001:\003inf\022(\n\032degenerate_mini"
308 "step_factor\030* \001(\001:\0040.01\022\026\n\013random_seed\030+"
309 " \001(\005:\0011\022\036\n\017use_absl_random\030H \001(\010:\005false\022"
310 "\032\n\017num_omp_threads\030, \001(\005:\0011\022,\n\035perturb_c"
311 "osts_in_dual_simplex\0305 \001(\010:\005false\0226\n(use"
312 "_dedicated_dual_feasibility_algorithm\030> "
313 "\001(\010:\004true\022)\n\032relative_cost_perturbation\030"
314 "6 \001(\001:\0051e-05\022-\n\036relative_max_cost_pertur"
315 "bation\0307 \001(\001:\0051e-07\0221\n\"initial_condition"
316 "_number_threshold\030; \001(\001:\0051e+50\022\"\n\023log_se"
317 "arch_progress\030= \001(\010:\005false\022\033\n\rlog_to_std"
318 "out\030B \001(\010:\004true\022.\n!crossover_bound_snapp"
319 "ing_distance\030@ \001(\001:\003inf\022\034\n\016push_to_verte"
320 "x\030A \001(\010:\004true\022+\n\035use_implied_free_prepro"
321 "cessor\030C \001(\010:\004true\022\"\n\023max_valid_magnitud"
322 "e\030F \001(\001:\0051e+30\022\035\n\016drop_magnitude\030G \001(\001:\005"
323 "1e-30\022)\n\032dual_price_prioritize_norm\030E \001("
324 "\010:\005false\"F\n\020ScalingAlgorithm\022\013\n\007DEFAULT\020"
325 "\000\022\021\n\rEQUILIBRATION\020\001\022\022\n\016LINEAR_PROGRAM\020\002"
326 "\"D\n\016SolverBehavior\022\r\n\tALWAYS_DO\020\000\022\014\n\010NEV"
327 "ER_DO\020\001\022\025\n\021LET_SOLVER_DECIDE\020\002\"8\n\013Pricin"
328 "gRule\022\013\n\007DANTZIG\020\000\022\021\n\rSTEEPEST_EDGE\020\001\022\t\n"
329 "\005DEVEX\020\002\"G\n\025InitialBasisHeuristic\022\010\n\004NON"
330 "E\020\000\022\t\n\005BIXBY\020\001\022\016\n\nTRIANGULAR\020\002\022\t\n\005MAROS\020"
331 "\003\"y\n\024CostScalingAlgorithm\022\023\n\017NO_COST_SCA"
332 "LING\020\000\022\034\n\030CONTAIN_ONE_COST_SCALING\020\001\022\025\n\021"
333 "MEAN_COST_SCALING\020\002\022\027\n\023MEDIAN_COST_SCALI"
334 "NG\020\003B1\n\027com.google.ortools.glopP\001\252\002\023Goog"
342 descriptor_table_protodef_ortools_2fglop_2fparameters_2eproto,
343 "ortools/glop/parameters.proto",
388class GlopParameters::_Internal {
391 decltype(::std::declval<GlopParameters>()._impl_._has_bits_);
397#if defined(PROTOBUF_CUSTOM_VTABLE)
400 : ::google::protobuf::Message(arena) {
407#if defined(PROTOBUF_CUSTOM_VTABLE)
410 : ::google::protobuf::Message(arena),
413 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
414 from._internal_metadata_);
416PROTOBUF_NDEBUG_INLINE GlopParameters::Impl_::Impl_(
417 ::google::protobuf::internal::InternalVisibility visibility,
418 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
422 refactorization_threshold_{1e-09},
423 recompute_reduced_costs_threshold_{1e-08},
424 recompute_edges_norm_threshold_{100},
425 primal_feasibility_tolerance_{1e-08},
426 dual_feasibility_tolerance_{1e-08},
427 ratio_test_zero_threshold_{1e-09},
428 harris_tolerance_ratio_{0.5},
429 small_pivot_threshold_{1e-06},
430 minimum_acceptable_pivot_{1e-06},
432 basis_refactorization_period_{64},
433 dualizer_threshold_{1.5},
434 solution_feasibility_tolerance_{1e-06},
437 use_transposed_matrix_{true},
438 provide_strong_optimal_guarantee_{true},
439 use_preprocessing_{true},
440 lu_factorization_pivot_threshold_{0.01},
441 max_time_in_seconds_{
std::numeric_limits<double>::infinity()},
442 max_number_of_iterations_{::int64_t{-1}},
443 markowitz_singularity_threshold_{1e-15},
444 markowitz_zlatev_parameter_{3},
445 devex_weights_reset_period_{150},
446 dual_small_pivot_threshold_{0.0001},
447 preprocessor_zero_tolerance_{1e-09},
448 objective_lower_limit_{-
std::numeric_limits<double>::infinity()},
449 objective_upper_limit_{
std::numeric_limits<double>::infinity()},
450 use_middle_product_form_update_{true},
451 initialize_devex_with_column_norms_{true},
452 exploit_singleton_column_in_initial_basis_{true},
453 change_status_to_imprecise_{true},
455 degenerate_ministep_factor_{0.01},
456 max_deterministic_time_{
std::numeric_limits<double>::infinity()},
459 drop_tolerance_{1e-14},
460 relative_cost_perturbation_{1e-05},
461 relative_max_cost_perturbation_{1e-07},
462 max_number_of_reoptimizations_{40},
463 initial_condition_number_threshold_{1e+50},
465 use_dedicated_dual_feasibility_algorithm_{true},
466 dynamically_adjust_refactorization_period_{true},
467 push_to_vertex_{true},
468 log_to_stdout_{true},
469 crossover_bound_snapping_distance_{
std::numeric_limits<double>::infinity()},
470 max_valid_magnitude_{1e+30},
471 drop_magnitude_{1e-30},
472 use_implied_free_preprocessor_{true} {}
474inline void GlopParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
475 new (&
_impl_) Impl_(internal_visibility(), arena);
476 ::memset(
reinterpret_cast<char *
>(&
_impl_) +
477 offsetof(Impl_, use_dual_simplex_),
479 offsetof(Impl_, use_absl_random_) -
480 offsetof(Impl_, use_dual_simplex_) +
481 sizeof(Impl_::use_absl_random_));
487inline void GlopParameters::SharedDtor(MessageLite& self) {
489 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
490 ABSL_DCHECK(this_.GetArena() ==
nullptr);
495 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
496 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
500 return ::google::protobuf::internal::MessageCreator::CopyInit(
sizeof(
GlopParameters),
504 return ::google::protobuf::internal::ClassDataFull{
505 ::google::protobuf::internal::ClassData{
510 &GlopParameters::MergeImpl,
511 ::google::protobuf::Message::GetNewImpl<GlopParameters>(),
512#if defined(PROTOBUF_CUSTOM_VTABLE)
513 &GlopParameters::SharedDtor,
520 &GlopParameters::kDescriptorMethods,
526PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
530PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
536PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
537const ::_pbi::TcParseTable<5, 59, 6, 0, 11>
538GlopParameters::_table_ = {
543 offsetof(
decltype(_table_), field_lookup_table),
545 offsetof(
decltype(_table_), field_entries),
548 offsetof(
decltype(_table_), aux_entries),
551 ::_pbi::TcParser::GenericFallback,
552 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
553 ::_pbi::TcParser::GetTable<::operations_research::glop::GlopParameters>(),
556 {::_pbi::TcParser::MiniParse, {}},
558 {::_pbi::TcParser::FastEr0S1,
559 {8, 6, 2, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.feasibility_rule_)}},
561 {::_pbi::TcParser::FastEr0S1,
562 {16, 7, 2, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.optimization_rule_)}},
563 {::_pbi::TcParser::MiniParse, {}},
564 {::_pbi::TcParser::MiniParse, {}},
565 {::_pbi::TcParser::MiniParse, {}},
567 {::_pbi::TcParser::FastF64S1,
568 {49, 8, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.refactorization_threshold_)}},
569 {::_pbi::TcParser::MiniParse, {}},
571 {::_pbi::TcParser::FastF64S1,
572 {65, 9, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.recompute_reduced_costs_threshold_)}},
574 {::_pbi::TcParser::FastF64S1,
575 {73, 10, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.recompute_edges_norm_threshold_)}},
577 {::_pbi::TcParser::FastF64S1,
578 {81, 11, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.primal_feasibility_tolerance_)}},
580 {::_pbi::TcParser::FastF64S1,
581 {89, 12, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.dual_feasibility_tolerance_)}},
583 {::_pbi::TcParser::FastF64S1,
584 {97, 13, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.ratio_test_zero_threshold_)}},
586 {::_pbi::TcParser::FastF64S1,
587 {105, 14, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.harris_tolerance_ratio_)}},
589 {::_pbi::TcParser::FastF64S1,
590 {113, 15, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.small_pivot_threshold_)}},
592 {::_pbi::TcParser::FastF64S1,
593 {121, 16, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.minimum_acceptable_pivot_)}},
595 {::_pbi::TcParser::FastV8S2,
596 {384, 22, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_scaling_)}},
598 {::_pbi::TcParser::FastEr0S2,
599 {392, 17, 3, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.initial_basis_)}},
601 {::_pbi::TcParser::FastV8S2,
602 {400, 23, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_transposed_matrix_)}},
604 {::_pbi::TcParser::FastV32S2,
605 {408, 18, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.basis_refactorization_period_)}},
607 {::_pbi::TcParser::FastEr0S2,
608 {416, 21, 2, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.solve_dual_problem_)}},
610 {::_pbi::TcParser::FastF64S2,
611 {425, 19, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.dualizer_threshold_)}},
613 {::_pbi::TcParser::FastF64S2,
614 {433, 20, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.solution_feasibility_tolerance_)}},
615 {::_pbi::TcParser::MiniParse, {}},
617 {::_pbi::TcParser::FastV8S2,
618 {448, 24, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.provide_strong_optimal_guarantee_)}},
620 {::_pbi::TcParser::FastF64S2,
621 {457, 26, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.lu_factorization_pivot_threshold_)}},
623 {::_pbi::TcParser::FastF64S2,
624 {465, 27, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.max_time_in_seconds_)}},
626 {::_pbi::TcParser::FastV64S2,
627 {472, 28, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.max_number_of_iterations_)}},
628 {::_pbi::TcParser::MiniParse, {}},
630 {::_pbi::TcParser::FastV32S2,
631 {488, 30, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.markowitz_zlatev_parameter_)}},
633 {::_pbi::TcParser::FastF64S2,
634 {497, 29, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.markowitz_singularity_threshold_)}},
636 {::_pbi::TcParser::FastV8S2,
637 {504, 0, 0, PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_dual_simplex_)}},
646 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.feasibility_rule_), _Internal::kHasBitsOffset + 6, 0,
647 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
649 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.optimization_rule_), _Internal::kHasBitsOffset + 7, 1,
650 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
652 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.refactorization_threshold_), _Internal::kHasBitsOffset + 8, 0,
653 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
655 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.recompute_reduced_costs_threshold_), _Internal::kHasBitsOffset + 9, 0,
656 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
658 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.recompute_edges_norm_threshold_), _Internal::kHasBitsOffset + 10, 0,
659 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
661 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.primal_feasibility_tolerance_), _Internal::kHasBitsOffset + 11, 0,
662 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
664 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.dual_feasibility_tolerance_), _Internal::kHasBitsOffset + 12, 0,
665 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
667 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.ratio_test_zero_threshold_), _Internal::kHasBitsOffset + 13, 0,
668 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
670 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.harris_tolerance_ratio_), _Internal::kHasBitsOffset + 14, 0,
671 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
673 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.small_pivot_threshold_), _Internal::kHasBitsOffset + 15, 0,
674 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
676 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.minimum_acceptable_pivot_), _Internal::kHasBitsOffset + 16, 0,
677 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
679 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_scaling_), _Internal::kHasBitsOffset + 22, 0,
680 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
682 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.initial_basis_), _Internal::kHasBitsOffset + 17, 2,
683 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
685 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_transposed_matrix_), _Internal::kHasBitsOffset + 23, 0,
686 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
688 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.basis_refactorization_period_), _Internal::kHasBitsOffset + 18, 0,
689 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
691 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.solve_dual_problem_), _Internal::kHasBitsOffset + 21, 3,
692 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
694 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.dualizer_threshold_), _Internal::kHasBitsOffset + 19, 0,
695 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
697 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.solution_feasibility_tolerance_), _Internal::kHasBitsOffset + 20, 0,
698 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
700 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.provide_strong_optimal_guarantee_), _Internal::kHasBitsOffset + 24, 0,
701 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
703 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.lu_factorization_pivot_threshold_), _Internal::kHasBitsOffset + 26, 0,
704 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
706 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.max_time_in_seconds_), _Internal::kHasBitsOffset + 27, 0,
707 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
709 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.max_number_of_iterations_), _Internal::kHasBitsOffset + 28, 0,
710 (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
712 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.markowitz_zlatev_parameter_), _Internal::kHasBitsOffset + 30, 0,
713 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
715 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.markowitz_singularity_threshold_), _Internal::kHasBitsOffset + 29, 0,
716 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
718 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_dual_simplex_), _Internal::kHasBitsOffset + 0, 0,
719 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
721 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.allow_simplex_algorithm_change_), _Internal::kHasBitsOffset + 1, 0,
722 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
724 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.devex_weights_reset_period_), _Internal::kHasBitsOffset + 31, 0,
725 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
727 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_preprocessing_), _Internal::kHasBitsOffset + 25, 0,
728 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
730 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_middle_product_form_update_), _Internal::kHasBitsOffset + 36, 0,
731 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
733 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.initialize_devex_with_column_norms_), _Internal::kHasBitsOffset + 37, 0,
734 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
736 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.exploit_singleton_column_in_initial_basis_), _Internal::kHasBitsOffset + 38, 0,
737 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
739 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.dual_small_pivot_threshold_), _Internal::kHasBitsOffset + 32, 0,
740 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
742 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.preprocessor_zero_tolerance_), _Internal::kHasBitsOffset + 33, 0,
743 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
745 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.objective_lower_limit_), _Internal::kHasBitsOffset + 34, 0,
746 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
748 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.objective_upper_limit_), _Internal::kHasBitsOffset + 35, 0,
749 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
751 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.degenerate_ministep_factor_), _Internal::kHasBitsOffset + 41, 0,
752 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
754 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.random_seed_), _Internal::kHasBitsOffset + 40, 0,
755 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
757 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.num_omp_threads_), _Internal::kHasBitsOffset + 43, 0,
758 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
760 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.max_deterministic_time_), _Internal::kHasBitsOffset + 42, 0,
761 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
763 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.drop_tolerance_), _Internal::kHasBitsOffset + 45, 0,
764 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
766 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.perturb_costs_in_dual_simplex_), _Internal::kHasBitsOffset + 2, 0,
767 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
769 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.relative_cost_perturbation_), _Internal::kHasBitsOffset + 46, 0,
770 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
772 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.relative_max_cost_perturbation_), _Internal::kHasBitsOffset + 47, 0,
773 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
775 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.max_number_of_reoptimizations_), _Internal::kHasBitsOffset + 48, 0,
776 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
778 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.scaling_method_), _Internal::kHasBitsOffset + 44, 4,
779 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
781 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.change_status_to_imprecise_), _Internal::kHasBitsOffset + 39, 0,
782 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
784 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.initial_condition_number_threshold_), _Internal::kHasBitsOffset + 49, 0,
785 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
787 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.cost_scaling_), _Internal::kHasBitsOffset + 50, 5,
788 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
790 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.log_search_progress_), _Internal::kHasBitsOffset + 3, 0,
791 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
793 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_dedicated_dual_feasibility_algorithm_), _Internal::kHasBitsOffset + 51, 0,
794 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
796 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.dynamically_adjust_refactorization_period_), _Internal::kHasBitsOffset + 52, 0,
797 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
799 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.crossover_bound_snapping_distance_), _Internal::kHasBitsOffset + 55, 0,
800 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
802 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.push_to_vertex_), _Internal::kHasBitsOffset + 53, 0,
803 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
805 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.log_to_stdout_), _Internal::kHasBitsOffset + 54, 0,
806 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
808 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_implied_free_preprocessor_), _Internal::kHasBitsOffset + 58, 0,
809 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
811 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.dual_price_prioritize_norm_), _Internal::kHasBitsOffset + 4, 0,
812 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
814 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.max_valid_magnitude_), _Internal::kHasBitsOffset + 56, 0,
815 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
817 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.drop_magnitude_), _Internal::kHasBitsOffset + 57, 0,
818 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
820 {PROTOBUF_FIELD_OFFSET(
GlopParameters, _impl_.use_absl_random_), _Internal::kHasBitsOffset + 5, 0,
821 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
836 ::google::protobuf::internal::TSanWrite(&
_impl_);
837 ::uint32_t cached_has_bits = 0;
839 (void) cached_has_bits;
841 cached_has_bits =
_impl_._has_bits_[0];
842 if ((cached_has_bits & 0x000000ffu) != 0) {
843 ::memset(&
_impl_.use_dual_simplex_, 0,
static_cast<::
size_t>(
844 reinterpret_cast<char*
>(&
_impl_.use_absl_random_) -
845 reinterpret_cast<char*
>(&
_impl_.use_dual_simplex_)) +
sizeof(
_impl_.use_absl_random_));
846 _impl_.feasibility_rule_ = 1;
847 _impl_.optimization_rule_ = 1;
849 if ((cached_has_bits & 0x0000ff00u) != 0) {
850 _impl_.refactorization_threshold_ = 1e-09;
851 _impl_.recompute_reduced_costs_threshold_ = 1e-08;
852 _impl_.recompute_edges_norm_threshold_ = 100;
853 _impl_.primal_feasibility_tolerance_ = 1e-08;
854 _impl_.dual_feasibility_tolerance_ = 1e-08;
855 _impl_.ratio_test_zero_threshold_ = 1e-09;
856 _impl_.harris_tolerance_ratio_ = 0.5;
857 _impl_.small_pivot_threshold_ = 1e-06;
859 if ((cached_has_bits & 0x00ff0000u) != 0) {
860 _impl_.minimum_acceptable_pivot_ = 1e-06;
861 _impl_.initial_basis_ = 2;
862 _impl_.basis_refactorization_period_ = 64;
863 _impl_.dualizer_threshold_ = 1.5;
864 _impl_.solution_feasibility_tolerance_ = 1e-06;
865 _impl_.solve_dual_problem_ = 2;
866 _impl_.use_scaling_ =
true;
867 _impl_.use_transposed_matrix_ =
true;
869 if ((cached_has_bits & 0xff000000u) != 0) {
870 _impl_.provide_strong_optimal_guarantee_ =
true;
871 _impl_.use_preprocessing_ =
true;
872 _impl_.lu_factorization_pivot_threshold_ = 0.01;
873 _impl_.max_time_in_seconds_ = std::numeric_limits<double>::infinity();
874 _impl_.max_number_of_iterations_ = ::int64_t{-1};
875 _impl_.markowitz_singularity_threshold_ = 1e-15;
876 _impl_.markowitz_zlatev_parameter_ = 3;
877 _impl_.devex_weights_reset_period_ = 150;
879 cached_has_bits =
_impl_._has_bits_[1];
880 if ((cached_has_bits & 0x000000ffu) != 0) {
881 _impl_.dual_small_pivot_threshold_ = 0.0001;
882 _impl_.preprocessor_zero_tolerance_ = 1e-09;
883 _impl_.objective_lower_limit_ = -std::numeric_limits<double>::infinity();
884 _impl_.objective_upper_limit_ = std::numeric_limits<double>::infinity();
885 _impl_.use_middle_product_form_update_ =
true;
886 _impl_.initialize_devex_with_column_norms_ =
true;
887 _impl_.exploit_singleton_column_in_initial_basis_ =
true;
888 _impl_.change_status_to_imprecise_ =
true;
890 if ((cached_has_bits & 0x0000ff00u) != 0) {
892 _impl_.degenerate_ministep_factor_ = 0.01;
893 _impl_.max_deterministic_time_ = std::numeric_limits<double>::infinity();
894 _impl_.num_omp_threads_ = 1;
895 _impl_.scaling_method_ = 1;
896 _impl_.drop_tolerance_ = 1e-14;
897 _impl_.relative_cost_perturbation_ = 1e-05;
898 _impl_.relative_max_cost_perturbation_ = 1e-07;
900 if ((cached_has_bits & 0x00ff0000u) != 0) {
901 _impl_.max_number_of_reoptimizations_ = 40;
902 _impl_.initial_condition_number_threshold_ = 1e+50;
904 _impl_.use_dedicated_dual_feasibility_algorithm_ =
true;
905 _impl_.dynamically_adjust_refactorization_period_ =
true;
906 _impl_.push_to_vertex_ =
true;
907 _impl_.log_to_stdout_ =
true;
908 _impl_.crossover_bound_snapping_distance_ = std::numeric_limits<double>::infinity();
910 if ((cached_has_bits & 0x07000000u) != 0) {
911 _impl_.max_valid_magnitude_ = 1e+30;
912 _impl_.drop_magnitude_ = 1e-30;
913 _impl_.use_implied_free_preprocessor_ =
true;
915 _impl_._has_bits_.Clear();
916 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
919#if defined(PROTOBUF_CUSTOM_VTABLE)
921 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
922 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
926 ::uint8_t* PROTOBUF_NONNULL target,
927 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
931 ::uint32_t cached_has_bits = 0;
932 (void)cached_has_bits;
934 cached_has_bits = this_.
_impl_._has_bits_[0];
936 if ((cached_has_bits & 0x00000040u) != 0) {
937 target = stream->EnsureSpace(target);
938 target = ::_pbi::WireFormatLite::WriteEnumToArray(
939 1, this_._internal_feasibility_rule(), target);
943 if ((cached_has_bits & 0x00000080u) != 0) {
944 target = stream->EnsureSpace(target);
945 target = ::_pbi::WireFormatLite::WriteEnumToArray(
946 2, this_._internal_optimization_rule(), target);
950 if ((cached_has_bits & 0x00000100u) != 0) {
951 target = stream->EnsureSpace(target);
952 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
953 6, this_._internal_refactorization_threshold(), target);
957 if ((cached_has_bits & 0x00000200u) != 0) {
958 target = stream->EnsureSpace(target);
959 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
960 8, this_._internal_recompute_reduced_costs_threshold(), target);
964 if ((cached_has_bits & 0x00000400u) != 0) {
965 target = stream->EnsureSpace(target);
966 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
967 9, this_._internal_recompute_edges_norm_threshold(), target);
971 if ((cached_has_bits & 0x00000800u) != 0) {
972 target = stream->EnsureSpace(target);
973 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
974 10, this_._internal_primal_feasibility_tolerance(), target);
978 if ((cached_has_bits & 0x00001000u) != 0) {
979 target = stream->EnsureSpace(target);
980 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
981 11, this_._internal_dual_feasibility_tolerance(), target);
985 if ((cached_has_bits & 0x00002000u) != 0) {
986 target = stream->EnsureSpace(target);
987 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
988 12, this_._internal_ratio_test_zero_threshold(), target);
992 if ((cached_has_bits & 0x00004000u) != 0) {
993 target = stream->EnsureSpace(target);
994 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
995 13, this_._internal_harris_tolerance_ratio(), target);
999 if ((cached_has_bits & 0x00008000u) != 0) {
1000 target = stream->EnsureSpace(target);
1001 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1002 14, this_._internal_small_pivot_threshold(), target);
1006 if ((cached_has_bits & 0x00010000u) != 0) {
1007 target = stream->EnsureSpace(target);
1008 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1009 15, this_._internal_minimum_acceptable_pivot(), target);
1013 if ((cached_has_bits & 0x00400000u) != 0) {
1014 target = stream->EnsureSpace(target);
1015 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1016 16, this_._internal_use_scaling(), target);
1020 if ((cached_has_bits & 0x00020000u) != 0) {
1021 target = stream->EnsureSpace(target);
1022 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1023 17, this_._internal_initial_basis(), target);
1027 if ((cached_has_bits & 0x00800000u) != 0) {
1028 target = stream->EnsureSpace(target);
1029 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1030 18, this_._internal_use_transposed_matrix(), target);
1034 if ((cached_has_bits & 0x00040000u) != 0) {
1035 target = stream->EnsureSpace(target);
1036 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1037 19, this_._internal_basis_refactorization_period(), target);
1041 if ((cached_has_bits & 0x00200000u) != 0) {
1042 target = stream->EnsureSpace(target);
1043 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1044 20, this_._internal_solve_dual_problem(), target);
1048 if ((cached_has_bits & 0x00080000u) != 0) {
1049 target = stream->EnsureSpace(target);
1050 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1051 21, this_._internal_dualizer_threshold(), target);
1055 if ((cached_has_bits & 0x00100000u) != 0) {
1056 target = stream->EnsureSpace(target);
1057 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1058 22, this_._internal_solution_feasibility_tolerance(), target);
1062 if ((cached_has_bits & 0x01000000u) != 0) {
1063 target = stream->EnsureSpace(target);
1064 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1065 24, this_._internal_provide_strong_optimal_guarantee(), target);
1069 if ((cached_has_bits & 0x04000000u) != 0) {
1070 target = stream->EnsureSpace(target);
1071 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1072 25, this_._internal_lu_factorization_pivot_threshold(), target);
1076 if ((cached_has_bits & 0x08000000u) != 0) {
1077 target = stream->EnsureSpace(target);
1078 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1079 26, this_._internal_max_time_in_seconds(), target);
1083 if ((cached_has_bits & 0x10000000u) != 0) {
1084 target = stream->EnsureSpace(target);
1085 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
1086 27, this_._internal_max_number_of_iterations(), target);
1090 if ((cached_has_bits & 0x40000000u) != 0) {
1091 target = stream->EnsureSpace(target);
1092 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1093 29, this_._internal_markowitz_zlatev_parameter(), target);
1097 if ((cached_has_bits & 0x20000000u) != 0) {
1098 target = stream->EnsureSpace(target);
1099 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1100 30, this_._internal_markowitz_singularity_threshold(), target);
1104 if ((cached_has_bits & 0x00000001u) != 0) {
1105 target = stream->EnsureSpace(target);
1106 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1107 31, this_._internal_use_dual_simplex(), target);
1111 if ((cached_has_bits & 0x00000002u) != 0) {
1112 target = stream->EnsureSpace(target);
1113 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1114 32, this_._internal_allow_simplex_algorithm_change(), target);
1118 if ((cached_has_bits & 0x80000000u) != 0) {
1119 target = stream->EnsureSpace(target);
1120 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1121 33, this_._internal_devex_weights_reset_period(), target);
1125 if ((cached_has_bits & 0x02000000u) != 0) {
1126 target = stream->EnsureSpace(target);
1127 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1128 34, this_._internal_use_preprocessing(), target);
1131 cached_has_bits = this_.
_impl_._has_bits_[1];
1133 if ((cached_has_bits & 0x00000010u) != 0) {
1134 target = stream->EnsureSpace(target);
1135 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1136 35, this_._internal_use_middle_product_form_update(), target);
1140 if ((cached_has_bits & 0x00000020u) != 0) {
1141 target = stream->EnsureSpace(target);
1142 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1143 36, this_._internal_initialize_devex_with_column_norms(), target);
1147 if ((cached_has_bits & 0x00000040u) != 0) {
1148 target = stream->EnsureSpace(target);
1149 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1150 37, this_._internal_exploit_singleton_column_in_initial_basis(), target);
1154 if ((cached_has_bits & 0x00000001u) != 0) {
1155 target = stream->EnsureSpace(target);
1156 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1157 38, this_._internal_dual_small_pivot_threshold(), target);
1161 if ((cached_has_bits & 0x00000002u) != 0) {
1162 target = stream->EnsureSpace(target);
1163 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1164 39, this_._internal_preprocessor_zero_tolerance(), target);
1168 if ((cached_has_bits & 0x00000004u) != 0) {
1169 target = stream->EnsureSpace(target);
1170 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1171 40, this_._internal_objective_lower_limit(), target);
1175 if ((cached_has_bits & 0x00000008u) != 0) {
1176 target = stream->EnsureSpace(target);
1177 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1178 41, this_._internal_objective_upper_limit(), target);
1182 if ((cached_has_bits & 0x00000200u) != 0) {
1183 target = stream->EnsureSpace(target);
1184 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1185 42, this_._internal_degenerate_ministep_factor(), target);
1189 if ((cached_has_bits & 0x00000100u) != 0) {
1190 target = stream->EnsureSpace(target);
1191 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1192 43, this_._internal_random_seed(), target);
1196 if ((cached_has_bits & 0x00000800u) != 0) {
1197 target = stream->EnsureSpace(target);
1198 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1199 44, this_._internal_num_omp_threads(), target);
1203 if ((cached_has_bits & 0x00000400u) != 0) {
1204 target = stream->EnsureSpace(target);
1205 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1206 45, this_._internal_max_deterministic_time(), target);
1210 if ((cached_has_bits & 0x00002000u) != 0) {
1211 target = stream->EnsureSpace(target);
1212 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1213 52, this_._internal_drop_tolerance(), target);
1216 cached_has_bits = this_.
_impl_._has_bits_[0];
1218 if ((cached_has_bits & 0x00000004u) != 0) {
1219 target = stream->EnsureSpace(target);
1220 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1221 53, this_._internal_perturb_costs_in_dual_simplex(), target);
1224 cached_has_bits = this_.
_impl_._has_bits_[1];
1226 if ((cached_has_bits & 0x00004000u) != 0) {
1227 target = stream->EnsureSpace(target);
1228 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1229 54, this_._internal_relative_cost_perturbation(), target);
1233 if ((cached_has_bits & 0x00008000u) != 0) {
1234 target = stream->EnsureSpace(target);
1235 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1236 55, this_._internal_relative_max_cost_perturbation(), target);
1240 if ((cached_has_bits & 0x00010000u) != 0) {
1241 target = stream->EnsureSpace(target);
1242 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1243 56, this_._internal_max_number_of_reoptimizations(), target);
1247 if ((cached_has_bits & 0x00001000u) != 0) {
1248 target = stream->EnsureSpace(target);
1249 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1250 57, this_._internal_scaling_method(), target);
1254 if ((cached_has_bits & 0x00000080u) != 0) {
1255 target = stream->EnsureSpace(target);
1256 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1257 58, this_._internal_change_status_to_imprecise(), target);
1261 if ((cached_has_bits & 0x00020000u) != 0) {
1262 target = stream->EnsureSpace(target);
1263 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1264 59, this_._internal_initial_condition_number_threshold(), target);
1268 if ((cached_has_bits & 0x00040000u) != 0) {
1269 target = stream->EnsureSpace(target);
1270 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1271 60, this_._internal_cost_scaling(), target);
1274 cached_has_bits = this_.
_impl_._has_bits_[0];
1276 if ((cached_has_bits & 0x00000008u) != 0) {
1277 target = stream->EnsureSpace(target);
1278 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1279 61, this_._internal_log_search_progress(), target);
1282 cached_has_bits = this_.
_impl_._has_bits_[1];
1284 if ((cached_has_bits & 0x00080000u) != 0) {
1285 target = stream->EnsureSpace(target);
1286 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1287 62, this_._internal_use_dedicated_dual_feasibility_algorithm(), target);
1291 if ((cached_has_bits & 0x00100000u) != 0) {
1292 target = stream->EnsureSpace(target);
1293 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1294 63, this_._internal_dynamically_adjust_refactorization_period(), target);
1298 if ((cached_has_bits & 0x00800000u) != 0) {
1299 target = stream->EnsureSpace(target);
1300 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1301 64, this_._internal_crossover_bound_snapping_distance(), target);
1305 if ((cached_has_bits & 0x00200000u) != 0) {
1306 target = stream->EnsureSpace(target);
1307 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1308 65, this_._internal_push_to_vertex(), target);
1312 if ((cached_has_bits & 0x00400000u) != 0) {
1313 target = stream->EnsureSpace(target);
1314 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1315 66, this_._internal_log_to_stdout(), target);
1319 if ((cached_has_bits & 0x04000000u) != 0) {
1320 target = stream->EnsureSpace(target);
1321 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1322 67, this_._internal_use_implied_free_preprocessor(), target);
1325 cached_has_bits = this_.
_impl_._has_bits_[0];
1327 if ((cached_has_bits & 0x00000010u) != 0) {
1328 target = stream->EnsureSpace(target);
1329 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1330 69, this_._internal_dual_price_prioritize_norm(), target);
1333 cached_has_bits = this_.
_impl_._has_bits_[1];
1335 if ((cached_has_bits & 0x01000000u) != 0) {
1336 target = stream->EnsureSpace(target);
1337 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1338 70, this_._internal_max_valid_magnitude(), target);
1342 if ((cached_has_bits & 0x02000000u) != 0) {
1343 target = stream->EnsureSpace(target);
1344 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1345 71, this_._internal_drop_magnitude(), target);
1348 cached_has_bits = this_.
_impl_._has_bits_[0];
1350 if ((cached_has_bits & 0x00000020u) != 0) {
1351 target = stream->EnsureSpace(target);
1352 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1353 72, this_._internal_use_absl_random(), target);
1356 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1358 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1359 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1365#if defined(PROTOBUF_CUSTOM_VTABLE)
1373 ::size_t total_size = 0;
1375 ::uint32_t cached_has_bits = 0;
1377 (void)cached_has_bits;
1379 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1380 cached_has_bits = this_.
_impl_._has_bits_[0];
1381 total_size += ::absl::popcount(0x2c180000u & cached_has_bits) * 10;
1382 total_size += ::absl::popcount(0x0001ff00u & cached_has_bits) * 9;
1383 total_size += ::absl::popcount(0x03c0003fu & cached_has_bits) * 3;
1384 if ((cached_has_bits & 0x000000c0u) != 0) {
1386 if ((cached_has_bits & 0x00000040u) != 0) {
1388 ::_pbi::WireFormatLite::EnumSize(this_._internal_feasibility_rule());
1391 if ((cached_has_bits & 0x00000080u) != 0) {
1393 ::_pbi::WireFormatLite::EnumSize(this_._internal_optimization_rule());
1396 if ((cached_has_bits & 0x00260000u) != 0) {
1398 if ((cached_has_bits & 0x00020000u) != 0) {
1400 ::_pbi::WireFormatLite::EnumSize(this_._internal_initial_basis());
1403 if ((cached_has_bits & 0x00040000u) != 0) {
1404 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1405 this_._internal_basis_refactorization_period());
1408 if ((cached_has_bits & 0x00200000u) != 0) {
1410 ::_pbi::WireFormatLite::EnumSize(this_._internal_solve_dual_problem());
1413 if ((cached_has_bits & 0xd0000000u) != 0) {
1415 if ((cached_has_bits & 0x10000000u) != 0) {
1416 total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
1417 this_._internal_max_number_of_iterations());
1420 if ((cached_has_bits & 0x40000000u) != 0) {
1421 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1422 this_._internal_markowitz_zlatev_parameter());
1425 if ((cached_has_bits & 0x80000000u) != 0) {
1426 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1427 this_._internal_devex_weights_reset_period());
1430 cached_has_bits = this_.
_impl_._has_bits_[1];
1431 total_size += ::absl::popcount(0x0383e60fu & cached_has_bits) * 10;
1432 total_size += ::absl::popcount(0x047800f0u & cached_has_bits) * 3;
1433 if ((cached_has_bits & 0x00001900u) != 0) {
1435 if ((cached_has_bits & 0x00000100u) != 0) {
1436 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1437 this_._internal_random_seed());
1440 if ((cached_has_bits & 0x00000800u) != 0) {
1441 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1442 this_._internal_num_omp_threads());
1445 if ((cached_has_bits & 0x00001000u) != 0) {
1447 ::_pbi::WireFormatLite::EnumSize(this_._internal_scaling_method());
1452 if ((cached_has_bits & 0x00040000u) != 0) {
1454 ::_pbi::WireFormatLite::EnumSize(this_._internal_cost_scaling());
1457 return this_.MaybeComputeUnknownFieldsSize(total_size,
1458 &this_.
_impl_._cached_size_);
1461void GlopParameters::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1465 ABSL_DCHECK_NE(&from, _this);
1466 ::uint32_t cached_has_bits = 0;
1467 (void) cached_has_bits;
1469 cached_has_bits = from.
_impl_._has_bits_[0];
1470 if ((cached_has_bits & 0x000000ffu) != 0) {
1471 if ((cached_has_bits & 0x00000001u) != 0) {
1472 _this->_impl_.use_dual_simplex_ = from.
_impl_.use_dual_simplex_;
1474 if ((cached_has_bits & 0x00000002u) != 0) {
1475 _this->_impl_.allow_simplex_algorithm_change_ = from.
_impl_.allow_simplex_algorithm_change_;
1477 if ((cached_has_bits & 0x00000004u) != 0) {
1478 _this->_impl_.perturb_costs_in_dual_simplex_ = from.
_impl_.perturb_costs_in_dual_simplex_;
1480 if ((cached_has_bits & 0x00000008u) != 0) {
1481 _this->_impl_.log_search_progress_ = from.
_impl_.log_search_progress_;
1483 if ((cached_has_bits & 0x00000010u) != 0) {
1484 _this->_impl_.dual_price_prioritize_norm_ = from.
_impl_.dual_price_prioritize_norm_;
1486 if ((cached_has_bits & 0x00000020u) != 0) {
1487 _this->_impl_.use_absl_random_ = from.
_impl_.use_absl_random_;
1489 if ((cached_has_bits & 0x00000040u) != 0) {
1490 _this->_impl_.feasibility_rule_ = from.
_impl_.feasibility_rule_;
1492 if ((cached_has_bits & 0x00000080u) != 0) {
1493 _this->_impl_.optimization_rule_ = from.
_impl_.optimization_rule_;
1496 if ((cached_has_bits & 0x0000ff00u) != 0) {
1497 if ((cached_has_bits & 0x00000100u) != 0) {
1498 _this->_impl_.refactorization_threshold_ = from.
_impl_.refactorization_threshold_;
1500 if ((cached_has_bits & 0x00000200u) != 0) {
1501 _this->_impl_.recompute_reduced_costs_threshold_ = from.
_impl_.recompute_reduced_costs_threshold_;
1503 if ((cached_has_bits & 0x00000400u) != 0) {
1504 _this->_impl_.recompute_edges_norm_threshold_ = from.
_impl_.recompute_edges_norm_threshold_;
1506 if ((cached_has_bits & 0x00000800u) != 0) {
1507 _this->_impl_.primal_feasibility_tolerance_ = from.
_impl_.primal_feasibility_tolerance_;
1509 if ((cached_has_bits & 0x00001000u) != 0) {
1510 _this->_impl_.dual_feasibility_tolerance_ = from.
_impl_.dual_feasibility_tolerance_;
1512 if ((cached_has_bits & 0x00002000u) != 0) {
1513 _this->_impl_.ratio_test_zero_threshold_ = from.
_impl_.ratio_test_zero_threshold_;
1515 if ((cached_has_bits & 0x00004000u) != 0) {
1516 _this->_impl_.harris_tolerance_ratio_ = from.
_impl_.harris_tolerance_ratio_;
1518 if ((cached_has_bits & 0x00008000u) != 0) {
1519 _this->_impl_.small_pivot_threshold_ = from.
_impl_.small_pivot_threshold_;
1522 if ((cached_has_bits & 0x00ff0000u) != 0) {
1523 if ((cached_has_bits & 0x00010000u) != 0) {
1524 _this->_impl_.minimum_acceptable_pivot_ = from.
_impl_.minimum_acceptable_pivot_;
1526 if ((cached_has_bits & 0x00020000u) != 0) {
1527 _this->_impl_.initial_basis_ = from.
_impl_.initial_basis_;
1529 if ((cached_has_bits & 0x00040000u) != 0) {
1530 _this->_impl_.basis_refactorization_period_ = from.
_impl_.basis_refactorization_period_;
1532 if ((cached_has_bits & 0x00080000u) != 0) {
1533 _this->_impl_.dualizer_threshold_ = from.
_impl_.dualizer_threshold_;
1535 if ((cached_has_bits & 0x00100000u) != 0) {
1536 _this->_impl_.solution_feasibility_tolerance_ = from.
_impl_.solution_feasibility_tolerance_;
1538 if ((cached_has_bits & 0x00200000u) != 0) {
1539 _this->_impl_.solve_dual_problem_ = from.
_impl_.solve_dual_problem_;
1541 if ((cached_has_bits & 0x00400000u) != 0) {
1542 _this->_impl_.use_scaling_ = from.
_impl_.use_scaling_;
1544 if ((cached_has_bits & 0x00800000u) != 0) {
1545 _this->_impl_.use_transposed_matrix_ = from.
_impl_.use_transposed_matrix_;
1548 if ((cached_has_bits & 0xff000000u) != 0) {
1549 if ((cached_has_bits & 0x01000000u) != 0) {
1550 _this->_impl_.provide_strong_optimal_guarantee_ = from.
_impl_.provide_strong_optimal_guarantee_;
1552 if ((cached_has_bits & 0x02000000u) != 0) {
1553 _this->_impl_.use_preprocessing_ = from.
_impl_.use_preprocessing_;
1555 if ((cached_has_bits & 0x04000000u) != 0) {
1556 _this->_impl_.lu_factorization_pivot_threshold_ = from.
_impl_.lu_factorization_pivot_threshold_;
1558 if ((cached_has_bits & 0x08000000u) != 0) {
1559 _this->_impl_.max_time_in_seconds_ = from.
_impl_.max_time_in_seconds_;
1561 if ((cached_has_bits & 0x10000000u) != 0) {
1562 _this->_impl_.max_number_of_iterations_ = from.
_impl_.max_number_of_iterations_;
1564 if ((cached_has_bits & 0x20000000u) != 0) {
1565 _this->_impl_.markowitz_singularity_threshold_ = from.
_impl_.markowitz_singularity_threshold_;
1567 if ((cached_has_bits & 0x40000000u) != 0) {
1568 _this->_impl_.markowitz_zlatev_parameter_ = from.
_impl_.markowitz_zlatev_parameter_;
1570 if ((cached_has_bits & 0x80000000u) != 0) {
1571 _this->_impl_.devex_weights_reset_period_ = from.
_impl_.devex_weights_reset_period_;
1574 cached_has_bits = from.
_impl_._has_bits_[1];
1575 if ((cached_has_bits & 0x000000ffu) != 0) {
1576 if ((cached_has_bits & 0x00000001u) != 0) {
1577 _this->_impl_.dual_small_pivot_threshold_ = from.
_impl_.dual_small_pivot_threshold_;
1579 if ((cached_has_bits & 0x00000002u) != 0) {
1580 _this->_impl_.preprocessor_zero_tolerance_ = from.
_impl_.preprocessor_zero_tolerance_;
1582 if ((cached_has_bits & 0x00000004u) != 0) {
1583 _this->_impl_.objective_lower_limit_ = from.
_impl_.objective_lower_limit_;
1585 if ((cached_has_bits & 0x00000008u) != 0) {
1586 _this->_impl_.objective_upper_limit_ = from.
_impl_.objective_upper_limit_;
1588 if ((cached_has_bits & 0x00000010u) != 0) {
1589 _this->_impl_.use_middle_product_form_update_ = from.
_impl_.use_middle_product_form_update_;
1591 if ((cached_has_bits & 0x00000020u) != 0) {
1592 _this->_impl_.initialize_devex_with_column_norms_ = from.
_impl_.initialize_devex_with_column_norms_;
1594 if ((cached_has_bits & 0x00000040u) != 0) {
1595 _this->_impl_.exploit_singleton_column_in_initial_basis_ = from.
_impl_.exploit_singleton_column_in_initial_basis_;
1597 if ((cached_has_bits & 0x00000080u) != 0) {
1598 _this->_impl_.change_status_to_imprecise_ = from.
_impl_.change_status_to_imprecise_;
1601 if ((cached_has_bits & 0x0000ff00u) != 0) {
1602 if ((cached_has_bits & 0x00000100u) != 0) {
1603 _this->_impl_.random_seed_ = from.
_impl_.random_seed_;
1605 if ((cached_has_bits & 0x00000200u) != 0) {
1606 _this->_impl_.degenerate_ministep_factor_ = from.
_impl_.degenerate_ministep_factor_;
1608 if ((cached_has_bits & 0x00000400u) != 0) {
1609 _this->_impl_.max_deterministic_time_ = from.
_impl_.max_deterministic_time_;
1611 if ((cached_has_bits & 0x00000800u) != 0) {
1612 _this->_impl_.num_omp_threads_ = from.
_impl_.num_omp_threads_;
1614 if ((cached_has_bits & 0x00001000u) != 0) {
1615 _this->_impl_.scaling_method_ = from.
_impl_.scaling_method_;
1617 if ((cached_has_bits & 0x00002000u) != 0) {
1618 _this->_impl_.drop_tolerance_ = from.
_impl_.drop_tolerance_;
1620 if ((cached_has_bits & 0x00004000u) != 0) {
1621 _this->_impl_.relative_cost_perturbation_ = from.
_impl_.relative_cost_perturbation_;
1623 if ((cached_has_bits & 0x00008000u) != 0) {
1624 _this->_impl_.relative_max_cost_perturbation_ = from.
_impl_.relative_max_cost_perturbation_;
1627 if ((cached_has_bits & 0x00ff0000u) != 0) {
1628 if ((cached_has_bits & 0x00010000u) != 0) {
1629 _this->_impl_.max_number_of_reoptimizations_ = from.
_impl_.max_number_of_reoptimizations_;
1631 if ((cached_has_bits & 0x00020000u) != 0) {
1632 _this->_impl_.initial_condition_number_threshold_ = from.
_impl_.initial_condition_number_threshold_;
1634 if ((cached_has_bits & 0x00040000u) != 0) {
1635 _this->_impl_.cost_scaling_ = from.
_impl_.cost_scaling_;
1637 if ((cached_has_bits & 0x00080000u) != 0) {
1638 _this->_impl_.use_dedicated_dual_feasibility_algorithm_ = from.
_impl_.use_dedicated_dual_feasibility_algorithm_;
1640 if ((cached_has_bits & 0x00100000u) != 0) {
1641 _this->_impl_.dynamically_adjust_refactorization_period_ = from.
_impl_.dynamically_adjust_refactorization_period_;
1643 if ((cached_has_bits & 0x00200000u) != 0) {
1644 _this->_impl_.push_to_vertex_ = from.
_impl_.push_to_vertex_;
1646 if ((cached_has_bits & 0x00400000u) != 0) {
1647 _this->_impl_.log_to_stdout_ = from.
_impl_.log_to_stdout_;
1649 if ((cached_has_bits & 0x00800000u) != 0) {
1650 _this->_impl_.crossover_bound_snapping_distance_ = from.
_impl_.crossover_bound_snapping_distance_;
1653 if ((cached_has_bits & 0x07000000u) != 0) {
1654 if ((cached_has_bits & 0x01000000u) != 0) {
1655 _this->_impl_.max_valid_magnitude_ = from.
_impl_.max_valid_magnitude_;
1657 if ((cached_has_bits & 0x02000000u) != 0) {
1658 _this->_impl_.drop_magnitude_ = from.
_impl_.drop_magnitude_;
1660 if ((cached_has_bits & 0x04000000u) != 0) {
1661 _this->_impl_.use_implied_free_preprocessor_ = from.
_impl_.use_implied_free_preprocessor_;
1664 _this->_impl_._has_bits_.Or(from.
_impl_._has_bits_);
1665 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1670 if (&from ==
this)
return;
1676void GlopParameters::InternalSwap(
GlopParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1678 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1679 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1680 swap(
_impl_._has_bits_[1], other->_impl_._has_bits_[1]);
1681 ::google::protobuf::internal::memswap<
1685 reinterpret_cast<char*
>(&
_impl_.use_dual_simplex_),
1686 reinterpret_cast<char*
>(&other->_impl_.use_dual_simplex_));
1690 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
1700PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
1703 ::std::false_type{});
1704#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
@protoc_insertion_point(global_scope)
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
decltype(::std::declval< GlopParameters >()._impl_._has_bits_) HasBits
static constexpr ::int32_t kHasBitsOffset
::size_t ByteSizeLong() const final
friend class ::google::protobuf::MessageLite
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
friend void swap(GlopParameters &a, GlopParameters &b)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
~GlopParameters() PROTOBUF_FINAL
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
void MergeFrom(const GlopParameters &from)
void CopyFrom(const GlopParameters &from)
static constexpr auto InternalNewImpl_()
static constexpr auto InternalGenerateClassData_()
const ::uint32_t TableStruct_ortools_2fglop_2fparameters_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
::absl::once_flag descriptor_table_ortools_2fglop_2fparameters_2eproto_once
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fglop_2fparameters_2eproto[5]
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fglop_2fparameters_2eproto
GlopParameters_CostScalingAlgorithm
PROTOBUF_CONSTINIT const uint32_t GlopParameters_ScalingAlgorithm_internal_data_[]
PROTOBUF_CONSTINIT const uint32_t GlopParameters_PricingRule_internal_data_[]
GlopParameters_PricingRule
GlopParameters_InitialBasisHeuristic
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_InitialBasisHeuristic_descriptor()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_PricingRule_descriptor()
GlopParameters_ScalingAlgorithm
PROTOBUF_CONSTINIT const uint32_t GlopParameters_CostScalingAlgorithm_internal_data_[]
GlopParameters_SolverBehavior
PROTOBUF_CONSTINIT const uint32_t GlopParameters_SolverBehavior_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GlopParametersDefaultTypeInternal _GlopParameters_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_ScalingAlgorithm_descriptor()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_CostScalingAlgorithm_descriptor()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL GlopParameters_SolverBehavior_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull GlopParameters_class_data_
PROTOBUF_CONSTINIT const uint32_t GlopParameters_InitialBasisHeuristic_internal_data_[]
In SWIG mode, we don't want anything besides these top-level includes.
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
~GlopParametersDefaultTypeInternal()
PROTOBUF_CONSTEXPR GlopParametersDefaultTypeInternal()