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 TerminationCriteria_SimpleOptimalityCriteria::Impl_::Impl_(
31 ::_pbi::ConstantInitialized) noexcept
33 eps_optimal_absolute_{1e-06},
34 eps_optimal_relative_{1e-06} {}
38#if defined(PROTOBUF_CUSTOM_VTABLE)
41 : ::google::protobuf::Message(),
43 _impl_(::_pbi::ConstantInitialized()) {
53PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
56inline constexpr TerminationCriteria_DetailedOptimalityCriteria::Impl_::Impl_(
57 ::_pbi::ConstantInitialized) noexcept
59 eps_optimal_primal_residual_absolute_{1e-06},
60 eps_optimal_primal_residual_relative_{1e-06},
61 eps_optimal_dual_residual_absolute_{1e-06},
62 eps_optimal_dual_residual_relative_{1e-06},
63 eps_optimal_objective_gap_absolute_{1e-06},
64 eps_optimal_objective_gap_relative_{1e-06} {}
68#if defined(PROTOBUF_CUSTOM_VTABLE)
71 : ::google::protobuf::Message(),
73 _impl_(::_pbi::ConstantInitialized()) {
83PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
86inline constexpr MalitskyPockParams::Impl_::Impl_(
87 ::_pbi::ConstantInitialized) noexcept
89 step_size_downscaling_factor_{0.7},
90 linesearch_contraction_factor_{0.99},
91 step_size_interpolation_{1} {}
95#if defined(PROTOBUF_CUSTOM_VTABLE)
98 : ::google::protobuf::Message(),
100 _impl_(::_pbi::ConstantInitialized()) {
110PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
113inline constexpr AdaptiveLinesearchParams::Impl_::Impl_(
114 ::_pbi::ConstantInitialized) noexcept
116 step_size_reduction_exponent_{0.3},
117 step_size_growth_exponent_{0.6} {}
121#if defined(PROTOBUF_CUSTOM_VTABLE)
124 : ::google::protobuf::Message(),
126 _impl_(::_pbi::ConstantInitialized()) {
136PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
139inline constexpr TerminationCriteria::Impl_::Impl_(
140 ::_pbi::ConstantInitialized) noexcept
142 eps_optimal_absolute_{1e-06},
143 eps_optimal_relative_{1e-06},
144 eps_primal_infeasible_{1e-08},
146 iteration_limit_{2147483647},
147 eps_dual_infeasible_{1e-08},
148 time_sec_limit_{std::numeric_limits<double>::infinity()},
149 kkt_matrix_pass_limit_{std::numeric_limits<double>::infinity()},
150 optimality_criteria_{},
155#if defined(PROTOBUF_CUSTOM_VTABLE)
158 : ::google::protobuf::Message(),
160 _impl_(::_pbi::ConstantInitialized()) {
170PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
173inline constexpr PrimalDualHybridGradientParams_PresolveOptions::Impl_::Impl_(
174 ::_pbi::ConstantInitialized) noexcept
176 glop_parameters_{
nullptr},
181#if defined(PROTOBUF_CUSTOM_VTABLE)
184 : ::google::protobuf::Message(),
186 _impl_(::_pbi::ConstantInitialized()) {
196PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
199inline constexpr PrimalDualHybridGradientParams::Impl_::Impl_(
200 ::_pbi::ConstantInitialized) noexcept
202 random_projection_seeds_{},
203 _random_projection_seeds_cached_byte_size_{0},
204 termination_criteria_{
nullptr},
205 presolve_options_{
nullptr},
206 adaptive_linesearch_parameters_{
nullptr},
207 malitsky_pock_parameters_{
nullptr},
208 initial_primal_weight_{0},
209 record_iteration_stats_{
false},
210 use_diagonal_qp_trust_region_solver_{
false},
211 use_feasibility_polishing_{
false},
212 apply_feasibility_polishing_after_limits_reached_{
false},
215 apply_feasibility_polishing_if_solver_is_interrupted_{
false},
216 log_interval_seconds_{0},
218 major_iteration_frequency_{64},
219 termination_check_frequency_{64},
221 primal_weight_update_smoothing_{0.5},
222 l_inf_ruiz_iterations_{5},
224 sufficient_reduction_for_restart_{0.1},
225 necessary_reduction_for_restart_{0.9},
226 infinite_constraint_bound_threshold_{std::numeric_limits<double>::infinity()},
227 l2_norm_rescaling_{
true},
228 handle_some_primal_gradients_on_finite_bounds_as_residuals_{
true},
230 diagonal_qp_trust_region_solver_tolerance_{1e-08},
231 initial_step_size_scaling_{1} {}
235#if defined(PROTOBUF_CUSTOM_VTABLE)
238 : ::google::protobuf::Message(),
240 _impl_(::_pbi::ConstantInitialized()) {
250PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
254static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
256static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
288 ::_pbi::kInvalidFieldOffsetTag,
289 ::_pbi::kInvalidFieldOffsetTag,
394static const ::_pbi::MigrationSchema
415 "\n\032ortools/pdlp/solvers.proto\022\030operations"
416 "_research.pdlp\032\035ortools/glop/parameters."
417 "proto\"\240\010\n\023TerminationCriteria\022U\n\017optimal"
418 "ity_norm\030\001 \001(\0162(.operations_research.pdl"
419 "p.OptimalityNorm:\022OPTIMALITY_NORM_L2\022l\n\032"
420 "simple_optimality_criteria\030\t \001(\0132F.opera"
421 "tions_research.pdlp.TerminationCriteria."
422 "SimpleOptimalityCriteriaH\000\022p\n\034detailed_o"
423 "ptimality_criteria\030\n \001(\0132H.operations_re"
424 "search.pdlp.TerminationCriteria.Detailed"
425 "OptimalityCriteriaH\000\022\'\n\024eps_optimal_abso"
426 "lute\030\002 \001(\001:\0051e-06B\002\030\001\022\'\n\024eps_optimal_rel"
427 "ative\030\003 \001(\001:\0051e-06B\002\030\001\022$\n\025eps_primal_inf"
428 "easible\030\004 \001(\001:\0051e-08\022\"\n\023eps_dual_infeasi"
429 "ble\030\005 \001(\001:\0051e-08\022\033\n\016time_sec_limit\030\006 \001(\001"
430 ":\003inf\022#\n\017iteration_limit\030\007 \001(\005:\n21474836"
431 "47\022\"\n\025kkt_matrix_pass_limit\030\010 \001(\001:\003inf\032d"
432 "\n\030SimpleOptimalityCriteria\022#\n\024eps_optima"
433 "l_absolute\030\001 \001(\001:\0051e-06\022#\n\024eps_optimal_r"
434 "elative\030\002 \001(\001:\0051e-06\032\322\002\n\032DetailedOptimal"
435 "ityCriteria\0223\n$eps_optimal_primal_residu"
436 "al_absolute\030\001 \001(\001:\0051e-06\0223\n$eps_optimal_"
437 "primal_residual_relative\030\002 \001(\001:\0051e-06\0221\n"
438 "\"eps_optimal_dual_residual_absolute\030\003 \001("
439 "\001:\0051e-06\0221\n\"eps_optimal_dual_residual_re"
440 "lative\030\004 \001(\001:\0051e-06\0221\n\"eps_optimal_objec"
441 "tive_gap_absolute\030\005 \001(\001:\0051e-06\0221\n\"eps_op"
442 "timal_objective_gap_relative\030\006 \001(\001:\0051e-0"
443 "6B\025\n\023optimality_criteria\"m\n\030AdaptiveLine"
444 "searchParams\022)\n\034step_size_reduction_expo"
445 "nent\030\001 \001(\001:\0030.3\022&\n\031step_size_growth_expo"
446 "nent\030\002 \001(\001:\0030.6\"\220\001\n\022MalitskyPockParams\022)"
447 "\n\034step_size_downscaling_factor\030\001 \001(\001:\0030."
448 "7\022+\n\035linesearch_contraction_factor\030\002 \001(\001"
449 ":\0040.99\022\"\n\027step_size_interpolation\030\003 \001(\001:"
450 "\0011\"\260\020\n\036PrimalDualHybridGradientParams\022K\n"
451 "\024termination_criteria\030\001 \001(\0132-.operations"
452 "_research.pdlp.TerminationCriteria\022\026\n\013nu"
453 "m_threads\030\002 \001(\005:\0011\022\025\n\nnum_shards\030\033 \001(\005:\001"
454 "0\022a\n\016scheduler_type\030 \001(\0162\'.operations_r"
455 "esearch.pdlp.SchedulerType: SCHEDULER_TY"
456 "PE_GOOGLE_THREADPOOL\022\036\n\026record_iteration"
457 "_stats\030\003 \001(\010\022\032\n\017verbosity_level\030\032 \001(\005:\0010"
458 "\022\037\n\024log_interval_seconds\030\037 \001(\001:\0010\022%\n\031maj"
459 "or_iteration_frequency\030\004 \001(\005:\00264\022\'\n\033term"
460 "ination_check_frequency\030\005 \001(\005:\00264\022v\n\020res"
461 "tart_strategy\030\006 \001(\0162H.operations_researc"
462 "h.pdlp.PrimalDualHybridGradientParams.Re"
463 "startStrategy:\022ADAPTIVE_HEURISTIC\022+\n\036pri"
464 "mal_weight_update_smoothing\030\007 \001(\001:\0030.5\022\035"
465 "\n\025initial_primal_weight\030\010 \001(\001\022b\n\020presolv"
466 "e_options\030\020 \001(\0132H.operations_research.pd"
467 "lp.PrimalDualHybridGradientParams.Presol"
468 "veOptions\022 \n\025l_inf_ruiz_iterations\030\t \001(\005"
469 ":\0015\022\037\n\021l2_norm_rescaling\030\n \001(\010:\004true\022-\n "
470 "sufficient_reduction_for_restart\030\013 \001(\001:\003"
471 "0.1\022,\n\037necessary_reduction_for_restart\030\021"
472 " \001(\001:\0030.9\022z\n\017linesearch_rule\030\014 \001(\0162G.ope"
473 "rations_research.pdlp.PrimalDualHybridGr"
474 "adientParams.LinesearchRule:\030ADAPTIVE_LI"
475 "NESEARCH_RULE\022Z\n\036adaptive_linesearch_par"
476 "ameters\030\022 \001(\01322.operations_research.pdlp"
477 ".AdaptiveLinesearchParams\022N\n\030malitsky_po"
478 "ck_parameters\030\023 \001(\0132,.operations_researc"
479 "h.pdlp.MalitskyPockParams\022$\n\031initial_ste"
480 "p_size_scaling\030\031 \001(\001:\0011\022#\n\027random_projec"
481 "tion_seeds\030\034 \003(\005B\002\020\001\0220\n#infinite_constra"
482 "int_bound_threshold\030\026 \001(\001:\003inf\022H\n:handle"
483 "_some_primal_gradients_on_finite_bounds_"
484 "as_residuals\030\035 \001(\010:\004true\0222\n#use_diagonal"
485 "_qp_trust_region_solver\030\027 \001(\010:\005false\0228\n)"
486 "diagonal_qp_trust_region_solver_toleranc"
487 "e\030\030 \001(\001:\0051e-08\022(\n\031use_feasibility_polish"
488 "ing\030\036 \001(\010:\005false\022\?\n0apply_feasibility_po"
489 "lishing_after_limits_reached\030! \001(\010:\005fals"
490 "e\022C\n4apply_feasibility_polishing_if_solv"
491 "er_is_interrupted\030\" \001(\010:\005false\032f\n\017Presol"
492 "veOptions\022\020\n\010use_glop\030\001 \001(\010\022A\n\017glop_para"
493 "meters\030\002 \001(\0132(.operations_research.glop."
494 "GlopParameters\"\224\001\n\017RestartStrategy\022 \n\034RE"
495 "START_STRATEGY_UNSPECIFIED\020\000\022\017\n\013NO_RESTA"
496 "RTS\020\001\022\031\n\025EVERY_MAJOR_ITERATION\020\002\022\026\n\022ADAP"
497 "TIVE_HEURISTIC\020\003\022\033\n\027ADAPTIVE_DISTANCE_BA"
498 "SED\020\004\"\217\001\n\016LinesearchRule\022\037\n\033LINESEARCH_R"
499 "ULE_UNSPECIFIED\020\000\022\034\n\030ADAPTIVE_LINESEARCH"
500 "_RULE\020\001\022!\n\035MALITSKY_POCK_LINESEARCH_RULE"
501 "\020\002\022\033\n\027CONSTANT_STEP_SIZE_RULE\020\003J\004\010\r\020\016J\004\010"
502 "\016\020\017J\004\010\017\020\020J\004\010\024\020\025J\004\010\025\020\026*\215\001\n\016OptimalityNorm"
503 "\022\037\n\033OPTIMALITY_NORM_UNSPECIFIED\020\000\022\031\n\025OPT"
504 "IMALITY_NORM_L_INF\020\001\022\026\n\022OPTIMALITY_NORM_"
505 "L2\020\002\022\'\n#OPTIMALITY_NORM_L_INF_COMPONENTW"
506 "ISE\020\003*z\n\rSchedulerType\022\036\n\032SCHEDULER_TYPE"
507 "_UNSPECIFIED\020\000\022$\n SCHEDULER_TYPE_GOOGLE_"
508 "THREADPOOL\020\001\022#\n\037SCHEDULER_TYPE_EIGEN_THR"
509 "EADPOOL\020\003B1\n\027com.google.ortools.pdlpP\001\252\002"
510 "\023Google.OrTools.PDLP"
512static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL
const
521 descriptor_table_protodef_ortools_2fpdlp_2fsolvers_2eproto,
522 "ortools/pdlp/solvers.proto",
561class TerminationCriteria_SimpleOptimalityCriteria::_Internal {
564 decltype(::std::declval<TerminationCriteria_SimpleOptimalityCriteria>()._impl_._has_bits_);
570#if defined(PROTOBUF_CUSTOM_VTABLE)
573 : ::google::protobuf::Message(arena) {
580#if defined(PROTOBUF_CUSTOM_VTABLE)
583 : ::google::protobuf::Message(arena),
586 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
587 from._internal_metadata_);
589PROTOBUF_NDEBUG_INLINE TerminationCriteria_SimpleOptimalityCriteria::Impl_::Impl_(
590 ::google::protobuf::internal::InternalVisibility visibility,
591 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
593 eps_optimal_absolute_{1e-06},
594 eps_optimal_relative_{1e-06} {}
596inline void TerminationCriteria_SimpleOptimalityCriteria::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
597 new (&
_impl_) Impl_(internal_visibility(), arena);
603inline void TerminationCriteria_SimpleOptimalityCriteria::SharedDtor(MessageLite& self) {
605 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
606 ABSL_DCHECK(this_.GetArena() ==
nullptr);
611 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
612 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
620 return ::google::protobuf::internal::ClassDataFull{
621 ::google::protobuf::internal::ClassData{
626 &TerminationCriteria_SimpleOptimalityCriteria::MergeImpl,
627 ::google::protobuf::Message::GetNewImpl<TerminationCriteria_SimpleOptimalityCriteria>(),
628#if defined(PROTOBUF_CUSTOM_VTABLE)
629 &TerminationCriteria_SimpleOptimalityCriteria::SharedDtor,
636 &TerminationCriteria_SimpleOptimalityCriteria::kDescriptorMethods,
642PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
646PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
652PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
653const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
654TerminationCriteria_SimpleOptimalityCriteria::_table_ = {
659 offsetof(
decltype(_table_), field_lookup_table),
661 offsetof(
decltype(_table_), field_entries),
664 offsetof(
decltype(_table_), field_names),
667 ::_pbi::TcParser::GenericFallback,
668 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
669 ::_pbi::TcParser::GetTable<::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria>(),
673 {::_pbi::TcParser::FastF64S1,
674 {17, 1, 0, PROTOBUF_FIELD_OFFSET(TerminationCriteria_SimpleOptimalityCriteria, _impl_.eps_optimal_relative_)}},
676 {::_pbi::TcParser::FastF64S1,
683 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
686 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
694 ::google::protobuf::internal::TSanWrite(&
_impl_);
695 ::uint32_t cached_has_bits = 0;
697 (void) cached_has_bits;
699 cached_has_bits =
_impl_._has_bits_[0];
700 if ((cached_has_bits & 0x00000003u) != 0) {
701 _impl_.eps_optimal_absolute_ = 1e-06;
702 _impl_.eps_optimal_relative_ = 1e-06;
704 _impl_._has_bits_.Clear();
705 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
708#if defined(PROTOBUF_CUSTOM_VTABLE)
710 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
711 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
715 ::uint8_t* PROTOBUF_NONNULL target,
716 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
720 ::uint32_t cached_has_bits = 0;
721 (void)cached_has_bits;
723 cached_has_bits = this_.
_impl_._has_bits_[0];
725 if ((cached_has_bits & 0x00000001u) != 0) {
726 target = stream->EnsureSpace(target);
727 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
728 1, this_._internal_eps_optimal_absolute(), target);
732 if ((cached_has_bits & 0x00000002u) != 0) {
733 target = stream->EnsureSpace(target);
734 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
735 2, this_._internal_eps_optimal_relative(), target);
738 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
740 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
741 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
747#if defined(PROTOBUF_CUSTOM_VTABLE)
755 ::size_t total_size = 0;
757 ::uint32_t cached_has_bits = 0;
759 (void)cached_has_bits;
761 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
762 cached_has_bits = this_.
_impl_._has_bits_[0];
763 total_size += ::absl::popcount(0x00000003u & cached_has_bits) * 9;
764 return this_.MaybeComputeUnknownFieldsSize(total_size,
765 &this_.
_impl_._cached_size_);
768void TerminationCriteria_SimpleOptimalityCriteria::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
772 ABSL_DCHECK_NE(&from, _this);
773 ::uint32_t cached_has_bits = 0;
774 (void) cached_has_bits;
776 cached_has_bits = from.
_impl_._has_bits_[0];
777 if ((cached_has_bits & 0x00000003u) != 0) {
778 if ((cached_has_bits & 0x00000001u) != 0) {
779 _this->_impl_.eps_optimal_absolute_ = from.
_impl_.eps_optimal_absolute_;
781 if ((cached_has_bits & 0x00000002u) != 0) {
782 _this->_impl_.eps_optimal_relative_ = from.
_impl_.eps_optimal_relative_;
785 _this->_impl_._has_bits_[0] |= cached_has_bits;
786 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
791 if (&from ==
this)
return;
799 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
800 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
801 ::google::protobuf::internal::memswap<
805 reinterpret_cast<char*
>(&
_impl_.eps_optimal_absolute_),
806 reinterpret_cast<char*
>(&other->_impl_.eps_optimal_absolute_));
810 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
817 decltype(::std::declval<TerminationCriteria_DetailedOptimalityCriteria>()._impl_._has_bits_);
823#if defined(PROTOBUF_CUSTOM_VTABLE)
826 : ::google::protobuf::Message(arena) {
833#if defined(PROTOBUF_CUSTOM_VTABLE)
836 : ::google::protobuf::Message(arena),
839 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
840 from._internal_metadata_);
842PROTOBUF_NDEBUG_INLINE TerminationCriteria_DetailedOptimalityCriteria::Impl_::Impl_(
843 ::google::protobuf::internal::InternalVisibility visibility,
844 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
846 eps_optimal_primal_residual_absolute_{1e-06},
847 eps_optimal_primal_residual_relative_{1e-06},
848 eps_optimal_dual_residual_absolute_{1e-06},
849 eps_optimal_dual_residual_relative_{1e-06},
850 eps_optimal_objective_gap_absolute_{1e-06},
851 eps_optimal_objective_gap_relative_{1e-06} {}
853inline void TerminationCriteria_DetailedOptimalityCriteria::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
854 new (&
_impl_) Impl_(internal_visibility(), arena);
860inline void TerminationCriteria_DetailedOptimalityCriteria::SharedDtor(MessageLite& self) {
862 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
863 ABSL_DCHECK(this_.GetArena() ==
nullptr);
868 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
869 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
877 return ::google::protobuf::internal::ClassDataFull{
878 ::google::protobuf::internal::ClassData{
883 &TerminationCriteria_DetailedOptimalityCriteria::MergeImpl,
884 ::google::protobuf::Message::GetNewImpl<TerminationCriteria_DetailedOptimalityCriteria>(),
885#if defined(PROTOBUF_CUSTOM_VTABLE)
886 &TerminationCriteria_DetailedOptimalityCriteria::SharedDtor,
893 &TerminationCriteria_DetailedOptimalityCriteria::kDescriptorMethods,
899PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
903PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
909PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
910const ::_pbi::TcParseTable<3, 6, 0, 0, 2>
911TerminationCriteria_DetailedOptimalityCriteria::_table_ = {
916 offsetof(
decltype(_table_), field_lookup_table),
918 offsetof(
decltype(_table_), field_entries),
921 offsetof(
decltype(_table_), field_names),
924 ::_pbi::TcParser::GenericFallback,
925 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
926 ::_pbi::TcParser::GetTable<::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria>(),
929 {::_pbi::TcParser::MiniParse, {}},
931 {::_pbi::TcParser::FastF64S1,
934 {::_pbi::TcParser::FastF64S1,
937 {::_pbi::TcParser::FastF64S1,
940 {::_pbi::TcParser::FastF64S1,
943 {::_pbi::TcParser::FastF64S1,
946 {::_pbi::TcParser::FastF64S1,
948 {::_pbi::TcParser::MiniParse, {}},
954 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
957 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
960 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
963 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
966 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
969 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
977 ::google::protobuf::internal::TSanWrite(&
_impl_);
978 ::uint32_t cached_has_bits = 0;
980 (void) cached_has_bits;
982 cached_has_bits =
_impl_._has_bits_[0];
983 if ((cached_has_bits & 0x0000003fu) != 0) {
984 _impl_.eps_optimal_primal_residual_absolute_ = 1e-06;
985 _impl_.eps_optimal_primal_residual_relative_ = 1e-06;
986 _impl_.eps_optimal_dual_residual_absolute_ = 1e-06;
987 _impl_.eps_optimal_dual_residual_relative_ = 1e-06;
988 _impl_.eps_optimal_objective_gap_absolute_ = 1e-06;
989 _impl_.eps_optimal_objective_gap_relative_ = 1e-06;
991 _impl_._has_bits_.Clear();
992 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
995#if defined(PROTOBUF_CUSTOM_VTABLE)
997 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
998 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1002 ::uint8_t* PROTOBUF_NONNULL target,
1003 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1007 ::uint32_t cached_has_bits = 0;
1008 (void)cached_has_bits;
1010 cached_has_bits = this_.
_impl_._has_bits_[0];
1012 if ((cached_has_bits & 0x00000001u) != 0) {
1013 target = stream->EnsureSpace(target);
1014 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1015 1, this_._internal_eps_optimal_primal_residual_absolute(), target);
1019 if ((cached_has_bits & 0x00000002u) != 0) {
1020 target = stream->EnsureSpace(target);
1021 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1022 2, this_._internal_eps_optimal_primal_residual_relative(), target);
1026 if ((cached_has_bits & 0x00000004u) != 0) {
1027 target = stream->EnsureSpace(target);
1028 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1029 3, this_._internal_eps_optimal_dual_residual_absolute(), target);
1033 if ((cached_has_bits & 0x00000008u) != 0) {
1034 target = stream->EnsureSpace(target);
1035 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1036 4, this_._internal_eps_optimal_dual_residual_relative(), target);
1040 if ((cached_has_bits & 0x00000010u) != 0) {
1041 target = stream->EnsureSpace(target);
1042 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1043 5, this_._internal_eps_optimal_objective_gap_absolute(), target);
1047 if ((cached_has_bits & 0x00000020u) != 0) {
1048 target = stream->EnsureSpace(target);
1049 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1050 6, this_._internal_eps_optimal_objective_gap_relative(), target);
1053 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1055 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1056 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1062#if defined(PROTOBUF_CUSTOM_VTABLE)
1070 ::size_t total_size = 0;
1072 ::uint32_t cached_has_bits = 0;
1074 (void)cached_has_bits;
1076 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1077 cached_has_bits = this_.
_impl_._has_bits_[0];
1078 total_size += ::absl::popcount(0x0000003fu & cached_has_bits) * 9;
1079 return this_.MaybeComputeUnknownFieldsSize(total_size,
1080 &this_.
_impl_._cached_size_);
1083void TerminationCriteria_DetailedOptimalityCriteria::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1087 ABSL_DCHECK_NE(&from, _this);
1088 ::uint32_t cached_has_bits = 0;
1089 (void) cached_has_bits;
1091 cached_has_bits = from.
_impl_._has_bits_[0];
1092 if ((cached_has_bits & 0x0000003fu) != 0) {
1093 if ((cached_has_bits & 0x00000001u) != 0) {
1094 _this->_impl_.eps_optimal_primal_residual_absolute_ = from.
_impl_.eps_optimal_primal_residual_absolute_;
1096 if ((cached_has_bits & 0x00000002u) != 0) {
1097 _this->_impl_.eps_optimal_primal_residual_relative_ = from.
_impl_.eps_optimal_primal_residual_relative_;
1099 if ((cached_has_bits & 0x00000004u) != 0) {
1100 _this->_impl_.eps_optimal_dual_residual_absolute_ = from.
_impl_.eps_optimal_dual_residual_absolute_;
1102 if ((cached_has_bits & 0x00000008u) != 0) {
1103 _this->_impl_.eps_optimal_dual_residual_relative_ = from.
_impl_.eps_optimal_dual_residual_relative_;
1105 if ((cached_has_bits & 0x00000010u) != 0) {
1106 _this->_impl_.eps_optimal_objective_gap_absolute_ = from.
_impl_.eps_optimal_objective_gap_absolute_;
1108 if ((cached_has_bits & 0x00000020u) != 0) {
1109 _this->_impl_.eps_optimal_objective_gap_relative_ = from.
_impl_.eps_optimal_objective_gap_relative_;
1112 _this->_impl_._has_bits_[0] |= cached_has_bits;
1113 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1118 if (&from ==
this)
return;
1126 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1127 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1128 ::google::protobuf::internal::memswap<
1132 reinterpret_cast<char*
>(&
_impl_.eps_optimal_primal_residual_absolute_),
1133 reinterpret_cast<char*
>(&other->_impl_.eps_optimal_primal_residual_absolute_));
1137 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
1144 decltype(::std::declval<TerminationCriteria>()._impl_._has_bits_);
1152 ::google::protobuf::Arena* message_arena = GetArena();
1156 if (message_arena != submessage_arena) {
1159 set_has_simple_optimality_criteria();
1165 ::google::protobuf::Arena* message_arena = GetArena();
1166 clear_optimality_criteria();
1169 if (message_arena != submessage_arena) {
1172 set_has_detailed_optimality_criteria();
1178#if defined(PROTOBUF_CUSTOM_VTABLE)
1181 : ::google::protobuf::Message(arena) {
1186PROTOBUF_NDEBUG_INLINE TerminationCriteria::Impl_::Impl_(
1187 ::google::protobuf::internal::InternalVisibility visibility,
1188 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
1189 const ::operations_research::pdlp::TerminationCriteria& from_msg)
1190 : _has_bits_{from._has_bits_},
1192 optimality_criteria_{},
1193 _oneof_case_{from._oneof_case_[0]} {}
1196 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1197 const TerminationCriteria& from)
1198#if defined(PROTOBUF_CUSTOM_VTABLE)
1201 : ::google::protobuf::Message(arena) {
1205 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
1206 from._internal_metadata_);
1207 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1208 ::memcpy(
reinterpret_cast<char *
>(&
_impl_) +
1209 offsetof(Impl_, eps_optimal_absolute_),
1210 reinterpret_cast<const char *
>(&from._impl_) +
1211 offsetof(Impl_, eps_optimal_absolute_),
1212 offsetof(Impl_, kkt_matrix_pass_limit_) -
1213 offsetof(Impl_, eps_optimal_absolute_) +
1214 sizeof(Impl_::kkt_matrix_pass_limit_));
1219 _impl_.optimality_criteria_.simple_optimality_criteria_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.optimality_criteria_.simple_optimality_criteria_);
1222 _impl_.optimality_criteria_.detailed_optimality_criteria_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.optimality_criteria_.detailed_optimality_criteria_);
1228PROTOBUF_NDEBUG_INLINE TerminationCriteria::Impl_::Impl_(
1229 ::google::protobuf::internal::InternalVisibility visibility,
1230 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1232 eps_optimal_absolute_{1e-06},
1233 eps_optimal_relative_{1e-06},
1234 eps_primal_infeasible_{1e-08},
1236 iteration_limit_{2147483647},
1237 eps_dual_infeasible_{1e-08},
1238 time_sec_limit_{std::numeric_limits<double>::infinity()},
1239 kkt_matrix_pass_limit_{std::numeric_limits<double>::infinity()},
1240 optimality_criteria_{},
1243inline void TerminationCriteria::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1244 new (&
_impl_) Impl_(internal_visibility(), arena);
1250inline void TerminationCriteria::SharedDtor(MessageLite& self) {
1252 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1253 ABSL_DCHECK(this_.GetArena() ==
nullptr);
1254 if (this_.has_optimality_criteria()) {
1262 ::google::protobuf::internal::TSanWrite(&
_impl_);
1265 if (GetArena() ==
nullptr) {
1266 delete _impl_.optimality_criteria_.simple_optimality_criteria_;
1267 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1268 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.optimality_criteria_.simple_optimality_criteria_);
1273 if (GetArena() ==
nullptr) {
1274 delete _impl_.optimality_criteria_.detailed_optimality_criteria_;
1275 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1276 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.optimality_criteria_.detailed_optimality_criteria_);
1289 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1290 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1294 return ::google::protobuf::internal::MessageCreator::CopyInit(
sizeof(
TerminationCriteria),
1298 return ::google::protobuf::internal::ClassDataFull{
1299 ::google::protobuf::internal::ClassData{
1304 &TerminationCriteria::MergeImpl,
1305 ::google::protobuf::Message::GetNewImpl<TerminationCriteria>(),
1306#if defined(PROTOBUF_CUSTOM_VTABLE)
1307 &TerminationCriteria::SharedDtor,
1314 &TerminationCriteria::kDescriptorMethods,
1320PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1324PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1330PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1331const ::_pbi::TcParseTable<3, 10, 3, 0, 2>
1332TerminationCriteria::_table_ = {
1337 offsetof(
decltype(_table_), field_lookup_table),
1339 offsetof(
decltype(_table_), field_entries),
1342 offsetof(
decltype(_table_), aux_entries),
1345 ::_pbi::TcParser::GenericFallback,
1346 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1347 ::_pbi::TcParser::GetTable<::operations_research::pdlp::TerminationCriteria>(),
1351 {::_pbi::TcParser::FastF64S1,
1352 {65, 7, 0, PROTOBUF_FIELD_OFFSET(TerminationCriteria, _impl_.kkt_matrix_pass_limit_)}},
1354 {::_pbi::TcParser::FastEr0S1,
1357 {::_pbi::TcParser::FastF64S1,
1360 {::_pbi::TcParser::FastF64S1,
1363 {::_pbi::TcParser::FastF64S1,
1366 {::_pbi::TcParser::FastF64S1,
1369 {::_pbi::TcParser::FastF64S1,
1372 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(
TerminationCriteria, _impl_.iteration_limit_), 4>(),
1378 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.optimality_norm_), _Internal::kHasBitsOffset + 3, 2,
1379 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
1381 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.eps_optimal_absolute_), _Internal::kHasBitsOffset + 0, 0,
1382 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1384 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.eps_optimal_relative_), _Internal::kHasBitsOffset + 1, 0,
1385 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1387 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.eps_primal_infeasible_), _Internal::kHasBitsOffset + 2, 0,
1388 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1390 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.eps_dual_infeasible_), _Internal::kHasBitsOffset + 5, 0,
1391 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1393 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.time_sec_limit_), _Internal::kHasBitsOffset + 6, 0,
1394 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1396 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.iteration_limit_), _Internal::kHasBitsOffset + 4, 0,
1397 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1399 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.kkt_matrix_pass_limit_), _Internal::kHasBitsOffset + 7, 0,
1400 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1402 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.optimality_criteria_.simple_optimality_criteria_), _Internal::kOneofCaseOffset + 0, 0,
1403 (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1405 {PROTOBUF_FIELD_OFFSET(
TerminationCriteria, _impl_.optimality_criteria_.detailed_optimality_criteria_), _Internal::kOneofCaseOffset + 0, 1,
1406 (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1409 {::_pbi::TcParser::GetTable<::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria>()},
1410 {::_pbi::TcParser::GetTable<::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria>()},
1418 ::google::protobuf::internal::TSanWrite(&
_impl_);
1419 ::uint32_t cached_has_bits = 0;
1421 (void) cached_has_bits;
1423 cached_has_bits =
_impl_._has_bits_[0];
1424 if ((cached_has_bits & 0x000000ffu) != 0) {
1425 _impl_.eps_optimal_absolute_ = 1e-06;
1426 _impl_.eps_optimal_relative_ = 1e-06;
1427 _impl_.eps_primal_infeasible_ = 1e-08;
1428 _impl_.optimality_norm_ = 2;
1429 _impl_.iteration_limit_ = 2147483647;
1430 _impl_.eps_dual_infeasible_ = 1e-08;
1431 _impl_.time_sec_limit_ = std::numeric_limits<double>::infinity();
1432 _impl_.kkt_matrix_pass_limit_ = std::numeric_limits<double>::infinity();
1435 _impl_._has_bits_.Clear();
1436 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1439#if defined(PROTOBUF_CUSTOM_VTABLE)
1441 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
1442 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1446 ::uint8_t* PROTOBUF_NONNULL target,
1447 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1451 ::uint32_t cached_has_bits = 0;
1452 (void)cached_has_bits;
1454 cached_has_bits = this_.
_impl_._has_bits_[0];
1456 if ((cached_has_bits & 0x00000008u) != 0) {
1457 target = stream->EnsureSpace(target);
1458 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1459 1, this_._internal_optimality_norm(), target);
1463 if ((cached_has_bits & 0x00000001u) != 0) {
1464 target = stream->EnsureSpace(target);
1465 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1466 2, this_._internal_eps_optimal_absolute(), target);
1470 if ((cached_has_bits & 0x00000002u) != 0) {
1471 target = stream->EnsureSpace(target);
1472 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1473 3, this_._internal_eps_optimal_relative(), target);
1477 if ((cached_has_bits & 0x00000004u) != 0) {
1478 target = stream->EnsureSpace(target);
1479 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1480 4, this_._internal_eps_primal_infeasible(), target);
1484 if ((cached_has_bits & 0x00000020u) != 0) {
1485 target = stream->EnsureSpace(target);
1486 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1487 5, this_._internal_eps_dual_infeasible(), target);
1491 if ((cached_has_bits & 0x00000040u) != 0) {
1492 target = stream->EnsureSpace(target);
1493 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1494 6, this_._internal_time_sec_limit(), target);
1498 if ((cached_has_bits & 0x00000010u) != 0) {
1500 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
1501 stream, this_._internal_iteration_limit(), target);
1505 if ((cached_has_bits & 0x00000080u) != 0) {
1506 target = stream->EnsureSpace(target);
1507 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1508 8, this_._internal_kkt_matrix_pass_limit(), target);
1513 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1519 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1527 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1529 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1530 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1536#if defined(PROTOBUF_CUSTOM_VTABLE)
1544 ::size_t total_size = 0;
1546 ::uint32_t cached_has_bits = 0;
1548 (void)cached_has_bits;
1550 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1551 cached_has_bits = this_._impl_._has_bits_[0];
1552 total_size += ::absl::popcount(0x000000e7u & cached_has_bits) * 9;
1553 if ((cached_has_bits & 0x00000018u) != 0) {
1555 if ((cached_has_bits & 0x00000008u) != 0) {
1557 ::_pbi::WireFormatLite::EnumSize(this_._internal_optimality_norm());
1560 if ((cached_has_bits & 0x00000010u) != 0) {
1561 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1562 this_._internal_iteration_limit());
1565 switch (this_.optimality_criteria_case()) {
1569 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.optimality_criteria_.simple_optimality_criteria_);
1575 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.optimality_criteria_.detailed_optimality_criteria_);
1582 return this_.MaybeComputeUnknownFieldsSize(total_size,
1583 &this_._impl_._cached_size_);
1586void TerminationCriteria::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1591 ABSL_DCHECK_NE(&from, _this);
1592 ::uint32_t cached_has_bits = 0;
1593 (void) cached_has_bits;
1595 cached_has_bits = from._impl_._has_bits_[0];
1596 if ((cached_has_bits & 0x000000ffu) != 0) {
1597 if ((cached_has_bits & 0x00000001u) != 0) {
1598 _this->_impl_.eps_optimal_absolute_ = from._impl_.eps_optimal_absolute_;
1600 if ((cached_has_bits & 0x00000002u) != 0) {
1601 _this->_impl_.eps_optimal_relative_ = from._impl_.eps_optimal_relative_;
1603 if ((cached_has_bits & 0x00000004u) != 0) {
1604 _this->_impl_.eps_primal_infeasible_ = from._impl_.eps_primal_infeasible_;
1606 if ((cached_has_bits & 0x00000008u) != 0) {
1607 _this->_impl_.optimality_norm_ = from._impl_.optimality_norm_;
1609 if ((cached_has_bits & 0x00000010u) != 0) {
1610 _this->_impl_.iteration_limit_ = from._impl_.iteration_limit_;
1612 if ((cached_has_bits & 0x00000020u) != 0) {
1613 _this->_impl_.eps_dual_infeasible_ = from._impl_.eps_dual_infeasible_;
1615 if ((cached_has_bits & 0x00000040u) != 0) {
1616 _this->_impl_.time_sec_limit_ = from._impl_.time_sec_limit_;
1618 if ((cached_has_bits & 0x00000080u) != 0) {
1619 _this->_impl_.kkt_matrix_pass_limit_ = from._impl_.kkt_matrix_pass_limit_;
1622 _this->_impl_._has_bits_[0] |= cached_has_bits;
1623 if (
const uint32_t oneof_from_case = from._impl_._oneof_case_[0]) {
1624 const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
1625 const bool oneof_needs_init = oneof_to_case != oneof_from_case;
1626 if (oneof_needs_init) {
1627 if (oneof_to_case != 0) {
1628 _this->clear_optimality_criteria();
1630 _this->_impl_._oneof_case_[0] = oneof_from_case;
1633 switch (oneof_from_case) {
1635 if (oneof_needs_init) {
1636 _this->_impl_.optimality_criteria_.simple_optimality_criteria_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.optimality_criteria_.simple_optimality_criteria_);
1638 _this->_impl_.optimality_criteria_.simple_optimality_criteria_->MergeFrom(*from._impl_.optimality_criteria_.simple_optimality_criteria_);
1643 if (oneof_needs_init) {
1644 _this->_impl_.optimality_criteria_.detailed_optimality_criteria_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.optimality_criteria_.detailed_optimality_criteria_);
1646 _this->_impl_.optimality_criteria_.detailed_optimality_criteria_->MergeFrom(*from._impl_.optimality_criteria_.detailed_optimality_criteria_);
1654 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1659 if (&from ==
this)
return;
1665void TerminationCriteria::InternalSwap(
TerminationCriteria* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1667 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1668 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1669 ::google::protobuf::internal::memswap<
1673 reinterpret_cast<char*
>(&
_impl_.eps_optimal_absolute_),
1674 reinterpret_cast<char*
>(&other->_impl_.eps_optimal_absolute_));
1675 swap(
_impl_.optimality_criteria_, other->_impl_.optimality_criteria_);
1676 swap(
_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
1680 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
1687 decltype(::std::declval<AdaptiveLinesearchParams>()._impl_._has_bits_);
1693#if defined(PROTOBUF_CUSTOM_VTABLE)
1696 : ::google::protobuf::Message(arena) {
1703#if defined(PROTOBUF_CUSTOM_VTABLE)
1706 : ::google::protobuf::Message(arena),
1709 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1710 from._internal_metadata_);
1712PROTOBUF_NDEBUG_INLINE AdaptiveLinesearchParams::Impl_::Impl_(
1713 ::google::protobuf::internal::InternalVisibility visibility,
1714 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1716 step_size_reduction_exponent_{0.3},
1717 step_size_growth_exponent_{0.6} {}
1719inline void AdaptiveLinesearchParams::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1720 new (&
_impl_) Impl_(internal_visibility(), arena);
1728 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1729 ABSL_DCHECK(this_.GetArena() ==
nullptr);
1734 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1735 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1743 return ::google::protobuf::internal::ClassDataFull{
1744 ::google::protobuf::internal::ClassData{
1749 &AdaptiveLinesearchParams::MergeImpl,
1750 ::google::protobuf::Message::GetNewImpl<AdaptiveLinesearchParams>(),
1751#if defined(PROTOBUF_CUSTOM_VTABLE)
1752 &AdaptiveLinesearchParams::SharedDtor,
1759 &AdaptiveLinesearchParams::kDescriptorMethods,
1765PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1769PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1775PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1776const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
1777AdaptiveLinesearchParams::_table_ = {
1782 offsetof(
decltype(_table_), field_lookup_table),
1784 offsetof(
decltype(_table_), field_entries),
1787 offsetof(
decltype(_table_), field_names),
1790 ::_pbi::TcParser::GenericFallback,
1791 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1792 ::_pbi::TcParser::GetTable<::operations_research::pdlp::AdaptiveLinesearchParams>(),
1796 {::_pbi::TcParser::FastF64S1,
1797 {17, 1, 0, PROTOBUF_FIELD_OFFSET(AdaptiveLinesearchParams, _impl_.step_size_growth_exponent_)}},
1799 {::_pbi::TcParser::FastF64S1,
1805 {PROTOBUF_FIELD_OFFSET(
AdaptiveLinesearchParams, _impl_.step_size_reduction_exponent_), _Internal::kHasBitsOffset + 0, 0,
1806 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1808 {PROTOBUF_FIELD_OFFSET(
AdaptiveLinesearchParams, _impl_.step_size_growth_exponent_), _Internal::kHasBitsOffset + 1, 0,
1809 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1817 ::google::protobuf::internal::TSanWrite(&
_impl_);
1818 ::uint32_t cached_has_bits = 0;
1820 (void) cached_has_bits;
1822 cached_has_bits =
_impl_._has_bits_[0];
1823 if ((cached_has_bits & 0x00000003u) != 0) {
1824 _impl_.step_size_reduction_exponent_ = 0.3;
1825 _impl_.step_size_growth_exponent_ = 0.6;
1827 _impl_._has_bits_.Clear();
1828 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1831#if defined(PROTOBUF_CUSTOM_VTABLE)
1833 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
1834 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1838 ::uint8_t* PROTOBUF_NONNULL target,
1839 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1843 ::uint32_t cached_has_bits = 0;
1844 (void)cached_has_bits;
1846 cached_has_bits = this_._impl_._has_bits_[0];
1848 if ((cached_has_bits & 0x00000001u) != 0) {
1849 target = stream->EnsureSpace(target);
1850 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1851 1, this_._internal_step_size_reduction_exponent(), target);
1855 if ((cached_has_bits & 0x00000002u) != 0) {
1856 target = stream->EnsureSpace(target);
1857 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1858 2, this_._internal_step_size_growth_exponent(), target);
1861 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1863 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1864 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1870#if defined(PROTOBUF_CUSTOM_VTABLE)
1878 ::size_t total_size = 0;
1880 ::uint32_t cached_has_bits = 0;
1882 (void)cached_has_bits;
1884 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1885 cached_has_bits = this_._impl_._has_bits_[0];
1886 total_size += ::absl::popcount(0x00000003u & cached_has_bits) * 9;
1887 return this_.MaybeComputeUnknownFieldsSize(total_size,
1888 &this_._impl_._cached_size_);
1891void AdaptiveLinesearchParams::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1895 ABSL_DCHECK_NE(&from, _this);
1896 ::uint32_t cached_has_bits = 0;
1897 (void) cached_has_bits;
1899 cached_has_bits = from.
_impl_._has_bits_[0];
1900 if ((cached_has_bits & 0x00000003u) != 0) {
1901 if ((cached_has_bits & 0x00000001u) != 0) {
1902 _this->_impl_.step_size_reduction_exponent_ = from.
_impl_.step_size_reduction_exponent_;
1904 if ((cached_has_bits & 0x00000002u) != 0) {
1905 _this->_impl_.step_size_growth_exponent_ = from.
_impl_.step_size_growth_exponent_;
1908 _this->_impl_._has_bits_[0] |= cached_has_bits;
1909 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1914 if (&from ==
this)
return;
1922 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1923 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1924 ::google::protobuf::internal::memswap<
1928 reinterpret_cast<char*
>(&
_impl_.step_size_reduction_exponent_),
1929 reinterpret_cast<char*
>(&other->_impl_.step_size_reduction_exponent_));
1933 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
1940 decltype(::std::declval<MalitskyPockParams>()._impl_._has_bits_);
1941 static constexpr ::int32_t kHasBitsOffset =
1946#if defined(PROTOBUF_CUSTOM_VTABLE)
1949 : ::google::protobuf::Message(arena) {
1956#if defined(PROTOBUF_CUSTOM_VTABLE)
1959 : ::google::protobuf::Message(arena),
1962 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1963 from._internal_metadata_);
1965PROTOBUF_NDEBUG_INLINE MalitskyPockParams::Impl_::Impl_(
1966 ::google::protobuf::internal::InternalVisibility visibility,
1967 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1969 step_size_downscaling_factor_{0.7},
1970 linesearch_contraction_factor_{0.99},
1971 step_size_interpolation_{1} {}
1973inline void MalitskyPockParams::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1974 new (&
_impl_) Impl_(internal_visibility(), arena);
1980inline void MalitskyPockParams::SharedDtor(MessageLite& self) {
1982 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1983 ABSL_DCHECK(this_.GetArena() ==
nullptr);
1988 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1989 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1993 return ::google::protobuf::internal::MessageCreator::CopyInit(
sizeof(
MalitskyPockParams),
1997 return ::google::protobuf::internal::ClassDataFull{
1998 ::google::protobuf::internal::ClassData{
2003 &MalitskyPockParams::MergeImpl,
2004 ::google::protobuf::Message::GetNewImpl<MalitskyPockParams>(),
2005#if defined(PROTOBUF_CUSTOM_VTABLE)
2006 &MalitskyPockParams::SharedDtor,
2013 &MalitskyPockParams::kDescriptorMethods,
2019PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2023PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2029PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2030const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
2031MalitskyPockParams::_table_ = {
2036 offsetof(
decltype(_table_), field_lookup_table),
2038 offsetof(
decltype(_table_), field_entries),
2041 offsetof(
decltype(_table_), field_names),
2044 ::_pbi::TcParser::GenericFallback,
2045 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2046 ::_pbi::TcParser::GetTable<::operations_research::pdlp::MalitskyPockParams>(),
2049 {::_pbi::TcParser::MiniParse, {}},
2051 {::_pbi::TcParser::FastF64S1,
2054 {::_pbi::TcParser::FastF64S1,
2057 {::_pbi::TcParser::FastF64S1,
2064 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2067 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2070 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2078 ::google::protobuf::internal::TSanWrite(&
_impl_);
2079 ::uint32_t cached_has_bits = 0;
2081 (void) cached_has_bits;
2083 cached_has_bits =
_impl_._has_bits_[0];
2084 if ((cached_has_bits & 0x00000007u) != 0) {
2085 _impl_.step_size_downscaling_factor_ = 0.7;
2086 _impl_.linesearch_contraction_factor_ = 0.99;
2087 _impl_.step_size_interpolation_ = 1;
2089 _impl_._has_bits_.Clear();
2090 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2093#if defined(PROTOBUF_CUSTOM_VTABLE)
2095 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
2096 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2100 ::uint8_t* PROTOBUF_NONNULL target,
2101 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
2105 ::uint32_t cached_has_bits = 0;
2106 (void)cached_has_bits;
2108 cached_has_bits = this_.
_impl_._has_bits_[0];
2110 if ((cached_has_bits & 0x00000001u) != 0) {
2111 target = stream->EnsureSpace(target);
2112 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
2113 1, this_._internal_step_size_downscaling_factor(), target);
2117 if ((cached_has_bits & 0x00000002u) != 0) {
2118 target = stream->EnsureSpace(target);
2119 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
2120 2, this_._internal_linesearch_contraction_factor(), target);
2124 if ((cached_has_bits & 0x00000004u) != 0) {
2125 target = stream->EnsureSpace(target);
2126 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
2127 3, this_._internal_step_size_interpolation(), target);
2130 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2132 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2133 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2139#if defined(PROTOBUF_CUSTOM_VTABLE)
2147 ::size_t total_size = 0;
2149 ::uint32_t cached_has_bits = 0;
2151 (void)cached_has_bits;
2153 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2154 cached_has_bits = this_._impl_._has_bits_[0];
2155 total_size += ::absl::popcount(0x00000007u & cached_has_bits) * 9;
2156 return this_.MaybeComputeUnknownFieldsSize(total_size,
2157 &this_._impl_._cached_size_);
2160void MalitskyPockParams::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
2164 ABSL_DCHECK_NE(&from, _this);
2165 ::uint32_t cached_has_bits = 0;
2166 (void) cached_has_bits;
2168 cached_has_bits = from.
_impl_._has_bits_[0];
2169 if ((cached_has_bits & 0x00000007u) != 0) {
2170 if ((cached_has_bits & 0x00000001u) != 0) {
2171 _this->_impl_.step_size_downscaling_factor_ = from.
_impl_.step_size_downscaling_factor_;
2173 if ((cached_has_bits & 0x00000002u) != 0) {
2174 _this->_impl_.linesearch_contraction_factor_ = from.
_impl_.linesearch_contraction_factor_;
2176 if ((cached_has_bits & 0x00000004u) != 0) {
2177 _this->_impl_.step_size_interpolation_ = from.
_impl_.step_size_interpolation_;
2180 _this->_impl_._has_bits_[0] |= cached_has_bits;
2181 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
2186 if (&from ==
this)
return;
2192void MalitskyPockParams::InternalSwap(
MalitskyPockParams* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2194 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2195 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2196 ::google::protobuf::internal::memswap<
2200 reinterpret_cast<char*
>(&
_impl_.step_size_downscaling_factor_),
2201 reinterpret_cast<char*
>(&other->_impl_.step_size_downscaling_factor_));
2205 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
2212 decltype(::std::declval<PrimalDualHybridGradientParams_PresolveOptions>()._impl_._has_bits_);
2213 static constexpr ::int32_t kHasBitsOffset =
2218 ::google::protobuf::internal::TSanWrite(&
_impl_);
2220 _impl_._has_bits_[0] &= ~0x00000001u;
2223#if defined(PROTOBUF_CUSTOM_VTABLE)
2226 : ::google::protobuf::Message(arena) {
2231PROTOBUF_NDEBUG_INLINE PrimalDualHybridGradientParams_PresolveOptions::Impl_::Impl_(
2232 ::google::protobuf::internal::InternalVisibility visibility,
2233 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
2234 const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions& from_msg)
2235 : _has_bits_{from._has_bits_},
2239 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2240 const PrimalDualHybridGradientParams_PresolveOptions& from)
2241#if defined(PROTOBUF_CUSTOM_VTABLE)
2244 : ::google::protobuf::Message(arena) {
2248 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
2249 from._internal_metadata_);
2250 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2251 ::uint32_t cached_has_bits =
_impl_._has_bits_[0];
2252 _impl_.glop_parameters_ = ((cached_has_bits & 0x00000001u) != 0)
2253 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.glop_parameters_)
2255 _impl_.use_glop_ = from._impl_.use_glop_;
2259PROTOBUF_NDEBUG_INLINE PrimalDualHybridGradientParams_PresolveOptions::Impl_::Impl_(
2260 ::google::protobuf::internal::InternalVisibility visibility,
2261 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2262 : _cached_size_{0} {}
2264inline void PrimalDualHybridGradientParams_PresolveOptions::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2265 new (&
_impl_) Impl_(internal_visibility(), arena);
2266 ::memset(
reinterpret_cast<char *
>(&
_impl_) +
2267 offsetof(Impl_, glop_parameters_),
2269 offsetof(Impl_, use_glop_) -
2270 offsetof(Impl_, glop_parameters_) +
2271 sizeof(Impl_::use_glop_));
2277inline void PrimalDualHybridGradientParams_PresolveOptions::SharedDtor(MessageLite& self) {
2279 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2280 ABSL_DCHECK(this_.GetArena() ==
nullptr);
2281 delete this_._impl_.glop_parameters_;
2282 this_._impl_.~Impl_();
2286 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
2287 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2295 return ::google::protobuf::internal::ClassDataFull{
2296 ::google::protobuf::internal::ClassData{
2301 &PrimalDualHybridGradientParams_PresolveOptions::MergeImpl,
2302 ::google::protobuf::Message::GetNewImpl<PrimalDualHybridGradientParams_PresolveOptions>(),
2303#if defined(PROTOBUF_CUSTOM_VTABLE)
2304 &PrimalDualHybridGradientParams_PresolveOptions::SharedDtor,
2311 &PrimalDualHybridGradientParams_PresolveOptions::kDescriptorMethods,
2317PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2321PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2327PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2328const ::_pbi::TcParseTable<1, 2, 1, 0, 2>
2329PrimalDualHybridGradientParams_PresolveOptions::_table_ = {
2334 offsetof(
decltype(_table_), field_lookup_table),
2336 offsetof(
decltype(_table_), field_entries),
2339 offsetof(
decltype(_table_), aux_entries),
2342 ::_pbi::TcParser::GenericFallback,
2343 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2344 ::_pbi::TcParser::GetTable<::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions>(),
2348 {::_pbi::TcParser::FastMtS1,
2358 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2361 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2364 {::_pbi::TcParser::GetTable<::operations_research::glop::GlopParameters>()},
2371 ::google::protobuf::internal::TSanWrite(&
_impl_);
2372 ::uint32_t cached_has_bits = 0;
2374 (void) cached_has_bits;
2376 cached_has_bits =
_impl_._has_bits_[0];
2377 if ((cached_has_bits & 0x00000001u) != 0) {
2378 ABSL_DCHECK(
_impl_.glop_parameters_ !=
nullptr);
2379 _impl_.glop_parameters_->Clear();
2381 _impl_.use_glop_ =
false;
2382 _impl_._has_bits_.Clear();
2383 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2386#if defined(PROTOBUF_CUSTOM_VTABLE)
2388 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
2389 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2393 ::uint8_t* PROTOBUF_NONNULL target,
2394 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
2398 ::uint32_t cached_has_bits = 0;
2399 (void)cached_has_bits;
2401 cached_has_bits = this_._impl_._has_bits_[0];
2403 if ((cached_has_bits & 0x00000002u) != 0) {
2404 target = stream->EnsureSpace(target);
2405 target = ::_pbi::WireFormatLite::WriteBoolToArray(
2406 1, this_._internal_use_glop(), target);
2410 if ((cached_has_bits & 0x00000001u) != 0) {
2411 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2412 2, *this_._impl_.glop_parameters_, this_._impl_.glop_parameters_->GetCachedSize(), target,
2416 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2418 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2419 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2425#if defined(PROTOBUF_CUSTOM_VTABLE)
2433 ::size_t total_size = 0;
2435 ::uint32_t cached_has_bits = 0;
2437 (void)cached_has_bits;
2439 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2440 cached_has_bits = this_._impl_._has_bits_[0];
2441 total_size +=
static_cast<bool>(0x00000002u & cached_has_bits) * 2;
2444 if ((cached_has_bits & 0x00000001u) != 0) {
2446 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.glop_parameters_);
2449 return this_.MaybeComputeUnknownFieldsSize(total_size,
2450 &this_._impl_._cached_size_);
2453void PrimalDualHybridGradientParams_PresolveOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
2456 ::google::protobuf::Arena* arena = _this->GetArena();
2458 ABSL_DCHECK_NE(&from, _this);
2459 ::uint32_t cached_has_bits = 0;
2460 (void) cached_has_bits;
2462 cached_has_bits = from._impl_._has_bits_[0];
2463 if ((cached_has_bits & 0x00000003u) != 0) {
2464 if ((cached_has_bits & 0x00000001u) != 0) {
2465 ABSL_DCHECK(from._impl_.glop_parameters_ !=
nullptr);
2466 if (_this->_impl_.glop_parameters_ ==
nullptr) {
2467 _this->_impl_.glop_parameters_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.glop_parameters_);
2469 _this->_impl_.glop_parameters_->MergeFrom(*from._impl_.glop_parameters_);
2472 if ((cached_has_bits & 0x00000002u) != 0) {
2473 _this->_impl_.use_glop_ = from._impl_.use_glop_;
2476 _this->_impl_._has_bits_[0] |= cached_has_bits;
2477 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
2482 if (&from ==
this)
return;
2490 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2491 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2492 ::google::protobuf::internal::memswap<
2496 reinterpret_cast<char*
>(&
_impl_.glop_parameters_),
2497 reinterpret_cast<char*
>(&other->_impl_.glop_parameters_));
2501 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
2505class PrimalDualHybridGradientParams::_Internal {
2508 decltype(::std::declval<PrimalDualHybridGradientParams>()._impl_._has_bits_);
2509 static constexpr ::int32_t kHasBitsOffset =
2514#if defined(PROTOBUF_CUSTOM_VTABLE)
2517 : ::google::protobuf::Message(arena) {
2522PROTOBUF_NDEBUG_INLINE PrimalDualHybridGradientParams::Impl_::Impl_(
2523 ::google::protobuf::internal::InternalVisibility visibility,
2524 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
2525 const ::operations_research::pdlp::PrimalDualHybridGradientParams& from_msg)
2526 : _has_bits_{from._has_bits_},
2528 random_projection_seeds_{visibility, arena, from.random_projection_seeds_},
2529 _random_projection_seeds_cached_byte_size_{0} {}
2532 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2533 const PrimalDualHybridGradientParams& from)
2534#if defined(PROTOBUF_CUSTOM_VTABLE)
2537 : ::google::protobuf::Message(arena) {
2541 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2542 from._internal_metadata_);
2543 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2544 ::uint32_t cached_has_bits =
_impl_._has_bits_[0];
2545 _impl_.termination_criteria_ = ((cached_has_bits & 0x00000001u) != 0)
2546 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.termination_criteria_)
2548 _impl_.presolve_options_ = ((cached_has_bits & 0x00000002u) != 0)
2549 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.presolve_options_)
2551 _impl_.adaptive_linesearch_parameters_ = ((cached_has_bits & 0x00000004u) != 0)
2552 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.adaptive_linesearch_parameters_)
2554 _impl_.malitsky_pock_parameters_ = ((cached_has_bits & 0x00000008u) != 0)
2555 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.malitsky_pock_parameters_)
2557 ::memcpy(
reinterpret_cast<char *
>(&
_impl_) +
2558 offsetof(Impl_, initial_primal_weight_),
2559 reinterpret_cast<const char *
>(&from._impl_) +
2560 offsetof(Impl_, initial_primal_weight_),
2561 offsetof(Impl_, initial_step_size_scaling_) -
2562 offsetof(Impl_, initial_primal_weight_) +
2563 sizeof(Impl_::initial_step_size_scaling_));
2567PROTOBUF_NDEBUG_INLINE PrimalDualHybridGradientParams::Impl_::Impl_(
2568 ::google::protobuf::internal::InternalVisibility visibility,
2569 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2571 random_projection_seeds_{visibility, arena},
2572 _random_projection_seeds_cached_byte_size_{0},
2574 major_iteration_frequency_{64},
2575 termination_check_frequency_{64},
2577 primal_weight_update_smoothing_{0.5},
2578 l_inf_ruiz_iterations_{5},
2580 sufficient_reduction_for_restart_{0.1},
2581 necessary_reduction_for_restart_{0.9},
2582 infinite_constraint_bound_threshold_{
std::numeric_limits<double>::infinity()},
2583 l2_norm_rescaling_{true},
2584 handle_some_primal_gradients_on_finite_bounds_as_residuals_{true},
2586 diagonal_qp_trust_region_solver_tolerance_{1e-08},
2587 initial_step_size_scaling_{1} {}
2589inline void PrimalDualHybridGradientParams::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2590 new (&
_impl_) Impl_(internal_visibility(), arena);
2591 ::memset(
reinterpret_cast<char *
>(&
_impl_) +
2592 offsetof(Impl_, termination_criteria_),
2594 offsetof(Impl_, log_interval_seconds_) -
2595 offsetof(Impl_, termination_criteria_) +
2596 sizeof(Impl_::log_interval_seconds_));
2602inline void PrimalDualHybridGradientParams::SharedDtor(MessageLite& self) {
2604 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2605 ABSL_DCHECK(this_.GetArena() ==
nullptr);
2606 delete this_._impl_.termination_criteria_;
2607 delete this_._impl_.presolve_options_;
2608 delete this_._impl_.adaptive_linesearch_parameters_;
2609 delete this_._impl_.malitsky_pock_parameters_;
2610 this_._impl_.~Impl_();
2614 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
2615 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2619 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2622 InternalGetArenaOffset(
2625 if (arena_bits.has_value()) {
2626 return ::google::protobuf::internal::MessageCreator::CopyInit(
2627 sizeof(PrimalDualHybridGradientParams), alignof(PrimalDualHybridGradientParams), *arena_bits);
2629 return ::google::protobuf::internal::MessageCreator(&PrimalDualHybridGradientParams::PlacementNew_,
2630 sizeof(PrimalDualHybridGradientParams),
2631 alignof(PrimalDualHybridGradientParams));
2635 return ::google::protobuf::internal::ClassDataFull{
2636 ::google::protobuf::internal::ClassData{
2641 &PrimalDualHybridGradientParams::MergeImpl,
2642 ::google::protobuf::Message::GetNewImpl<PrimalDualHybridGradientParams>(),
2643#if defined(PROTOBUF_CUSTOM_VTABLE)
2644 &PrimalDualHybridGradientParams::SharedDtor,
2651 &PrimalDualHybridGradientParams::kDescriptorMethods,
2657PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2661PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2667PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2668const ::_pbi::TcParseTable<5, 29, 7, 0, 7>
2669PrimalDualHybridGradientParams::_table_ = {
2674 offsetof(
decltype(_table_), field_lookup_table),
2676 offsetof(
decltype(_table_), field_entries),
2679 offsetof(
decltype(_table_), aux_entries),
2682 ::_pbi::TcParser::GenericFallback,
2683 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2684 ::_pbi::TcParser::GetTable<::operations_research::pdlp::PrimalDualHybridGradientParams>(),
2687 {::_pbi::TcParser::MiniParse, {}},
2689 {::_pbi::TcParser::FastMtS1,
2704 {::_pbi::TcParser::FastEr0S1,
2707 {::_pbi::TcParser::FastF64S1,
2710 {::_pbi::TcParser::FastF64S1,
2719 {::_pbi::TcParser::FastF64S1,
2722 {::_pbi::TcParser::FastEr0S1,
2724 {::_pbi::TcParser::MiniParse, {}},
2725 {::_pbi::TcParser::MiniParse, {}},
2726 {::_pbi::TcParser::MiniParse, {}},
2728 {::_pbi::TcParser::FastMtS2,
2731 {::_pbi::TcParser::FastF64S2,
2734 {::_pbi::TcParser::FastMtS2,
2737 {::_pbi::TcParser::FastMtS2,
2739 {::_pbi::TcParser::MiniParse, {}},
2740 {::_pbi::TcParser::MiniParse, {}},
2742 {::_pbi::TcParser::FastF64S2,
2745 {::_pbi::TcParser::FastV8S2,
2748 {::_pbi::TcParser::FastF64S2,
2751 {::_pbi::TcParser::FastF64S2,
2754 {::_pbi::TcParser::FastV32S2,
2757 {::_pbi::TcParser::FastV32S2,
2760 {::_pbi::TcParser::FastV32P2,
2763 {::_pbi::TcParser::FastV8S2,
2766 {::_pbi::TcParser::FastV8S2,
2769 {::_pbi::TcParser::FastF64S2,
2778 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2781 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2784 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2787 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2790 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2793 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
2796 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2799 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2802 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2805 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2808 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2811 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
2814 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2817 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2820 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2823 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2826 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2829 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2832 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2835 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2838 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2841 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2844 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2847 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2850 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2853 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2856 (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
2859 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2862 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2865 {::_pbi::TcParser::GetTable<::operations_research::pdlp::TerminationCriteria>()},
2866 {::_pbi::TcParser::GetTable<::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions>()},
2867 {::_pbi::TcParser::GetTable<::operations_research::pdlp::AdaptiveLinesearchParams>()},
2868 {::_pbi::TcParser::GetTable<::operations_research::pdlp::MalitskyPockParams>()},
2878 ::google::protobuf::internal::TSanWrite(&
_impl_);
2879 ::uint32_t cached_has_bits = 0;
2881 (void) cached_has_bits;
2884 cached_has_bits =
_impl_._has_bits_[0];
2885 if ((cached_has_bits & 0x0000000fu) != 0) {
2886 if ((cached_has_bits & 0x00000001u) != 0) {
2887 ABSL_DCHECK(
_impl_.termination_criteria_ !=
nullptr);
2888 _impl_.termination_criteria_->Clear();
2890 if ((cached_has_bits & 0x00000002u) != 0) {
2891 ABSL_DCHECK(
_impl_.presolve_options_ !=
nullptr);
2892 _impl_.presolve_options_->Clear();
2894 if ((cached_has_bits & 0x00000004u) != 0) {
2895 ABSL_DCHECK(
_impl_.adaptive_linesearch_parameters_ !=
nullptr);
2896 _impl_.adaptive_linesearch_parameters_->Clear();
2898 if ((cached_has_bits & 0x00000008u) != 0) {
2899 ABSL_DCHECK(
_impl_.malitsky_pock_parameters_ !=
nullptr);
2900 _impl_.malitsky_pock_parameters_->Clear();
2903 if ((cached_has_bits & 0x000000f0u) != 0) {
2904 ::memset(&
_impl_.initial_primal_weight_, 0,
static_cast<::
size_t>(
2905 reinterpret_cast<char*
>(&
_impl_.use_feasibility_polishing_) -
2906 reinterpret_cast<char*
>(&
_impl_.initial_primal_weight_)) +
sizeof(
_impl_.use_feasibility_polishing_));
2908 if ((cached_has_bits & 0x0000ff00u) != 0) {
2909 ::memset(&
_impl_.apply_feasibility_polishing_after_limits_reached_, 0,
static_cast<::
size_t>(
2910 reinterpret_cast<char*
>(&
_impl_.log_interval_seconds_) -
2911 reinterpret_cast<char*
>(&
_impl_.apply_feasibility_polishing_after_limits_reached_)) +
sizeof(
_impl_.log_interval_seconds_));
2913 _impl_.major_iteration_frequency_ = 64;
2914 _impl_.termination_check_frequency_ = 64;
2916 if ((cached_has_bits & 0x00ff0000u) != 0) {
2917 _impl_.restart_strategy_ = 3;
2918 _impl_.primal_weight_update_smoothing_ = 0.5;
2919 _impl_.l_inf_ruiz_iterations_ = 5;
2920 _impl_.linesearch_rule_ = 1;
2921 _impl_.sufficient_reduction_for_restart_ = 0.1;
2922 _impl_.necessary_reduction_for_restart_ = 0.9;
2923 _impl_.infinite_constraint_bound_threshold_ = std::numeric_limits<double>::infinity();
2924 _impl_.l2_norm_rescaling_ =
true;
2926 if ((cached_has_bits & 0x0f000000u) != 0) {
2927 _impl_.handle_some_primal_gradients_on_finite_bounds_as_residuals_ =
true;
2928 _impl_.scheduler_type_ = 1;
2929 _impl_.diagonal_qp_trust_region_solver_tolerance_ = 1e-08;
2930 _impl_.initial_step_size_scaling_ = 1;
2932 _impl_._has_bits_.Clear();
2933 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2936#if defined(PROTOBUF_CUSTOM_VTABLE)
2938 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2939 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2943 ::uint8_t* PROTOBUF_NONNULL target,
2944 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
2948 ::uint32_t cached_has_bits = 0;
2949 (void)cached_has_bits;
2951 cached_has_bits = this_._impl_._has_bits_[0];
2953 if ((cached_has_bits & 0x00000001u) != 0) {
2954 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2955 1, *this_._impl_.termination_criteria_, this_._impl_.termination_criteria_->GetCachedSize(), target,
2960 if ((cached_has_bits & 0x00002000u) != 0) {
2962 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
2963 stream, this_._internal_num_threads(), target);
2967 if ((cached_has_bits & 0x00000020u) != 0) {
2968 target = stream->EnsureSpace(target);
2969 target = ::_pbi::WireFormatLite::WriteBoolToArray(
2970 3, this_._internal_record_iteration_stats(), target);
2974 if ((cached_has_bits & 0x00004000u) != 0) {
2976 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
2977 stream, this_._internal_major_iteration_frequency(), target);
2981 if ((cached_has_bits & 0x00008000u) != 0) {
2983 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
2984 stream, this_._internal_termination_check_frequency(), target);
2988 if ((cached_has_bits & 0x00010000u) != 0) {
2989 target = stream->EnsureSpace(target);
2990 target = ::_pbi::WireFormatLite::WriteEnumToArray(
2991 6, this_._internal_restart_strategy(), target);
2995 if ((cached_has_bits & 0x00020000u) != 0) {
2996 target = stream->EnsureSpace(target);
2997 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
2998 7, this_._internal_primal_weight_update_smoothing(), target);
3002 if ((cached_has_bits & 0x00000010u) != 0) {
3003 target = stream->EnsureSpace(target);
3004 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3005 8, this_._internal_initial_primal_weight(), target);
3009 if ((cached_has_bits & 0x00040000u) != 0) {
3011 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<9>(
3012 stream, this_._internal_l_inf_ruiz_iterations(), target);
3016 if ((cached_has_bits & 0x00800000u) != 0) {
3017 target = stream->EnsureSpace(target);
3018 target = ::_pbi::WireFormatLite::WriteBoolToArray(
3019 10, this_._internal_l2_norm_rescaling(), target);
3023 if ((cached_has_bits & 0x00100000u) != 0) {
3024 target = stream->EnsureSpace(target);
3025 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3026 11, this_._internal_sufficient_reduction_for_restart(), target);
3030 if ((cached_has_bits & 0x00080000u) != 0) {
3031 target = stream->EnsureSpace(target);
3032 target = ::_pbi::WireFormatLite::WriteEnumToArray(
3033 12, this_._internal_linesearch_rule(), target);
3037 if ((cached_has_bits & 0x00000002u) != 0) {
3038 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3039 16, *this_._impl_.presolve_options_, this_._impl_.presolve_options_->GetCachedSize(), target,
3044 if ((cached_has_bits & 0x00200000u) != 0) {
3045 target = stream->EnsureSpace(target);
3046 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3047 17, this_._internal_necessary_reduction_for_restart(), target);
3051 if ((cached_has_bits & 0x00000004u) != 0) {
3052 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3053 18, *this_._impl_.adaptive_linesearch_parameters_, this_._impl_.adaptive_linesearch_parameters_->GetCachedSize(), target,
3058 if ((cached_has_bits & 0x00000008u) != 0) {
3059 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3060 19, *this_._impl_.malitsky_pock_parameters_, this_._impl_.malitsky_pock_parameters_->GetCachedSize(), target,
3065 if ((cached_has_bits & 0x00400000u) != 0) {
3066 target = stream->EnsureSpace(target);
3067 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3068 22, this_._internal_infinite_constraint_bound_threshold(), target);
3072 if ((cached_has_bits & 0x00000040u) != 0) {
3073 target = stream->EnsureSpace(target);
3074 target = ::_pbi::WireFormatLite::WriteBoolToArray(
3075 23, this_._internal_use_diagonal_qp_trust_region_solver(), target);
3079 if ((cached_has_bits & 0x04000000u) != 0) {
3080 target = stream->EnsureSpace(target);
3081 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3082 24, this_._internal_diagonal_qp_trust_region_solver_tolerance(), target);
3086 if ((cached_has_bits & 0x08000000u) != 0) {
3087 target = stream->EnsureSpace(target);
3088 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3089 25, this_._internal_initial_step_size_scaling(), target);
3093 if ((cached_has_bits & 0x00000200u) != 0) {
3094 target = stream->EnsureSpace(target);
3095 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
3096 26, this_._internal_verbosity_level(), target);
3100 if ((cached_has_bits & 0x00000400u) != 0) {
3101 target = stream->EnsureSpace(target);
3102 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
3103 27, this_._internal_num_shards(), target);
3108 int byte_size = this_._impl_._random_projection_seeds_cached_byte_size_.Get();
3109 if (byte_size > 0) {
3110 target = stream->WriteInt32Packed(
3111 28, this_._internal_random_projection_seeds(), byte_size, target);
3116 if ((cached_has_bits & 0x01000000u) != 0) {
3117 target = stream->EnsureSpace(target);
3118 target = ::_pbi::WireFormatLite::WriteBoolToArray(
3119 29, this_._internal_handle_some_primal_gradients_on_finite_bounds_as_residuals(), target);
3123 if ((cached_has_bits & 0x00000080u) != 0) {
3124 target = stream->EnsureSpace(target);
3125 target = ::_pbi::WireFormatLite::WriteBoolToArray(
3126 30, this_._internal_use_feasibility_polishing(), target);
3130 if ((cached_has_bits & 0x00001000u) != 0) {
3131 target = stream->EnsureSpace(target);
3132 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3133 31, this_._internal_log_interval_seconds(), target);
3137 if ((cached_has_bits & 0x02000000u) != 0) {
3138 target = stream->EnsureSpace(target);
3139 target = ::_pbi::WireFormatLite::WriteEnumToArray(
3140 32, this_._internal_scheduler_type(), target);
3144 if ((cached_has_bits & 0x00000100u) != 0) {
3145 target = stream->EnsureSpace(target);
3146 target = ::_pbi::WireFormatLite::WriteBoolToArray(
3147 33, this_._internal_apply_feasibility_polishing_after_limits_reached(), target);
3151 if ((cached_has_bits & 0x00000800u) != 0) {
3152 target = stream->EnsureSpace(target);
3153 target = ::_pbi::WireFormatLite::WriteBoolToArray(
3154 34, this_._internal_apply_feasibility_polishing_if_solver_is_interrupted(), target);
3157 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3159 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3160 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3166#if defined(PROTOBUF_CUSTOM_VTABLE)
3174 ::size_t total_size = 0;
3176 ::uint32_t cached_has_bits = 0;
3178 (void)cached_has_bits;
3180 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3185 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
3186 this_._internal_random_projection_seeds(), 2,
3187 this_._impl_._random_projection_seeds_cached_byte_size_);
3190 cached_has_bits = this_._impl_._has_bits_[0];
3191 total_size += ::absl::popcount(0x0c601000u & cached_has_bits) * 10;
3192 total_size += ::absl::popcount(0x00120010u & cached_has_bits) * 9;
3193 total_size += ::absl::popcount(0x010009c0u & cached_has_bits) * 3;
3194 total_size += ::absl::popcount(0x00800020u & cached_has_bits) * 2;
3195 if ((cached_has_bits & 0x0000000fu) != 0) {
3197 if ((cached_has_bits & 0x00000001u) != 0) {
3199 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.termination_criteria_);
3202 if ((cached_has_bits & 0x00000002u) != 0) {
3204 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.presolve_options_);
3207 if ((cached_has_bits & 0x00000004u) != 0) {
3209 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.adaptive_linesearch_parameters_);
3212 if ((cached_has_bits & 0x00000008u) != 0) {
3214 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.malitsky_pock_parameters_);
3217 if ((cached_has_bits & 0x0000e600u) != 0) {
3219 if ((cached_has_bits & 0x00000200u) != 0) {
3220 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
3221 this_._internal_verbosity_level());
3224 if ((cached_has_bits & 0x00000400u) != 0) {
3225 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
3226 this_._internal_num_shards());
3229 if ((cached_has_bits & 0x00002000u) != 0) {
3230 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
3231 this_._internal_num_threads());
3234 if ((cached_has_bits & 0x00004000u) != 0) {
3235 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
3236 this_._internal_major_iteration_frequency());
3239 if ((cached_has_bits & 0x00008000u) != 0) {
3240 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
3241 this_._internal_termination_check_frequency());
3244 if ((cached_has_bits & 0x000d0000u) != 0) {
3246 if ((cached_has_bits & 0x00010000u) != 0) {
3248 ::_pbi::WireFormatLite::EnumSize(this_._internal_restart_strategy());
3251 if ((cached_has_bits & 0x00040000u) != 0) {
3252 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
3253 this_._internal_l_inf_ruiz_iterations());
3256 if ((cached_has_bits & 0x00080000u) != 0) {
3258 ::_pbi::WireFormatLite::EnumSize(this_._internal_linesearch_rule());
3263 if ((cached_has_bits & 0x02000000u) != 0) {
3265 ::_pbi::WireFormatLite::EnumSize(this_._internal_scheduler_type());
3268 return this_.MaybeComputeUnknownFieldsSize(total_size,
3269 &this_._impl_._cached_size_);
3272void PrimalDualHybridGradientParams::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
3277 ABSL_DCHECK_NE(&from, _this);
3278 ::uint32_t cached_has_bits = 0;
3279 (void) cached_has_bits;
3281 _this->_internal_mutable_random_projection_seeds()->MergeFrom(from._internal_random_projection_seeds());
3282 cached_has_bits = from._impl_._has_bits_[0];
3283 if ((cached_has_bits & 0x000000ffu) != 0) {
3284 if ((cached_has_bits & 0x00000001u) != 0) {
3285 ABSL_DCHECK(from._impl_.termination_criteria_ !=
nullptr);
3286 if (_this->
_impl_.termination_criteria_ ==
nullptr) {
3287 _this->
_impl_.termination_criteria_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.termination_criteria_);
3289 _this->
_impl_.termination_criteria_->
MergeFrom(*from._impl_.termination_criteria_);
3292 if ((cached_has_bits & 0x00000002u) != 0) {
3293 ABSL_DCHECK(from._impl_.presolve_options_ !=
nullptr);
3294 if (_this->
_impl_.presolve_options_ ==
nullptr) {
3295 _this->
_impl_.presolve_options_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.presolve_options_);
3297 _this->
_impl_.presolve_options_->
MergeFrom(*from._impl_.presolve_options_);
3300 if ((cached_has_bits & 0x00000004u) != 0) {
3301 ABSL_DCHECK(from._impl_.adaptive_linesearch_parameters_ !=
nullptr);
3302 if (_this->
_impl_.adaptive_linesearch_parameters_ ==
nullptr) {
3303 _this->
_impl_.adaptive_linesearch_parameters_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.adaptive_linesearch_parameters_);
3305 _this->
_impl_.adaptive_linesearch_parameters_->
MergeFrom(*from._impl_.adaptive_linesearch_parameters_);
3308 if ((cached_has_bits & 0x00000008u) != 0) {
3309 ABSL_DCHECK(from._impl_.malitsky_pock_parameters_ !=
nullptr);
3310 if (_this->
_impl_.malitsky_pock_parameters_ ==
nullptr) {
3311 _this->
_impl_.malitsky_pock_parameters_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.malitsky_pock_parameters_);
3313 _this->
_impl_.malitsky_pock_parameters_->
MergeFrom(*from._impl_.malitsky_pock_parameters_);
3316 if ((cached_has_bits & 0x00000010u) != 0) {
3317 _this->
_impl_.initial_primal_weight_ = from._impl_.initial_primal_weight_;
3319 if ((cached_has_bits & 0x00000020u) != 0) {
3320 _this->
_impl_.record_iteration_stats_ = from._impl_.record_iteration_stats_;
3322 if ((cached_has_bits & 0x00000040u) != 0) {
3323 _this->
_impl_.use_diagonal_qp_trust_region_solver_ = from._impl_.use_diagonal_qp_trust_region_solver_;
3325 if ((cached_has_bits & 0x00000080u) != 0) {
3326 _this->
_impl_.use_feasibility_polishing_ = from._impl_.use_feasibility_polishing_;
3329 if ((cached_has_bits & 0x0000ff00u) != 0) {
3330 if ((cached_has_bits & 0x00000100u) != 0) {
3331 _this->
_impl_.apply_feasibility_polishing_after_limits_reached_ = from._impl_.apply_feasibility_polishing_after_limits_reached_;
3333 if ((cached_has_bits & 0x00000200u) != 0) {
3334 _this->
_impl_.verbosity_level_ = from._impl_.verbosity_level_;
3336 if ((cached_has_bits & 0x00000400u) != 0) {
3337 _this->
_impl_.num_shards_ = from._impl_.num_shards_;
3339 if ((cached_has_bits & 0x00000800u) != 0) {
3340 _this->
_impl_.apply_feasibility_polishing_if_solver_is_interrupted_ = from._impl_.apply_feasibility_polishing_if_solver_is_interrupted_;
3342 if ((cached_has_bits & 0x00001000u) != 0) {
3343 _this->
_impl_.log_interval_seconds_ = from._impl_.log_interval_seconds_;
3345 if ((cached_has_bits & 0x00002000u) != 0) {
3346 _this->
_impl_.num_threads_ = from._impl_.num_threads_;
3348 if ((cached_has_bits & 0x00004000u) != 0) {
3349 _this->
_impl_.major_iteration_frequency_ = from._impl_.major_iteration_frequency_;
3351 if ((cached_has_bits & 0x00008000u) != 0) {
3352 _this->
_impl_.termination_check_frequency_ = from._impl_.termination_check_frequency_;
3355 if ((cached_has_bits & 0x00ff0000u) != 0) {
3356 if ((cached_has_bits & 0x00010000u) != 0) {
3357 _this->
_impl_.restart_strategy_ = from._impl_.restart_strategy_;
3359 if ((cached_has_bits & 0x00020000u) != 0) {
3360 _this->
_impl_.primal_weight_update_smoothing_ = from._impl_.primal_weight_update_smoothing_;
3362 if ((cached_has_bits & 0x00040000u) != 0) {
3363 _this->
_impl_.l_inf_ruiz_iterations_ = from._impl_.l_inf_ruiz_iterations_;
3365 if ((cached_has_bits & 0x00080000u) != 0) {
3366 _this->
_impl_.linesearch_rule_ = from._impl_.linesearch_rule_;
3368 if ((cached_has_bits & 0x00100000u) != 0) {
3369 _this->
_impl_.sufficient_reduction_for_restart_ = from._impl_.sufficient_reduction_for_restart_;
3371 if ((cached_has_bits & 0x00200000u) != 0) {
3372 _this->
_impl_.necessary_reduction_for_restart_ = from._impl_.necessary_reduction_for_restart_;
3374 if ((cached_has_bits & 0x00400000u) != 0) {
3375 _this->
_impl_.infinite_constraint_bound_threshold_ = from._impl_.infinite_constraint_bound_threshold_;
3377 if ((cached_has_bits & 0x00800000u) != 0) {
3378 _this->
_impl_.l2_norm_rescaling_ = from._impl_.l2_norm_rescaling_;
3381 if ((cached_has_bits & 0x0f000000u) != 0) {
3382 if ((cached_has_bits & 0x01000000u) != 0) {
3383 _this->
_impl_.handle_some_primal_gradients_on_finite_bounds_as_residuals_ = from._impl_.handle_some_primal_gradients_on_finite_bounds_as_residuals_;
3385 if ((cached_has_bits & 0x02000000u) != 0) {
3386 _this->
_impl_.scheduler_type_ = from._impl_.scheduler_type_;
3388 if ((cached_has_bits & 0x04000000u) != 0) {
3389 _this->
_impl_.diagonal_qp_trust_region_solver_tolerance_ = from._impl_.diagonal_qp_trust_region_solver_tolerance_;
3391 if ((cached_has_bits & 0x08000000u) != 0) {
3392 _this->
_impl_.initial_step_size_scaling_ = from._impl_.initial_step_size_scaling_;
3395 _this->
_impl_._has_bits_[0] |= cached_has_bits;
3396 _this->_internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
3401 if (&from ==
this)
return;
3409 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3410 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3411 _impl_.random_projection_seeds_.InternalSwap(&other->_impl_.random_projection_seeds_);
3412 ::google::protobuf::internal::memswap<
3416 reinterpret_cast<char*
>(&
_impl_.termination_criteria_),
3417 reinterpret_cast<char*
>(&other->_impl_.termination_criteria_));
3421 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
3431PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
3434 ::std::false_type{});
3435#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[]
static constexpr ::int32_t kHasBitsOffset
::google::protobuf::Metadata GetMetadata() const
~AdaptiveLinesearchParams() PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
static constexpr auto InternalNewImpl_()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void MergeFrom(const AdaptiveLinesearchParams &from)
static constexpr auto InternalGenerateClassData_()
::size_t ByteSizeLong() const final
friend void swap(AdaptiveLinesearchParams &a, AdaptiveLinesearchParams &b)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
void CopyFrom(const AdaptiveLinesearchParams &from)
AdaptiveLinesearchParams()
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
static constexpr ::int32_t kHasBitsOffset
friend class ::google::protobuf::MessageLite
friend void swap(MalitskyPockParams &a, MalitskyPockParams &b)
::google::protobuf::Metadata GetMetadata() const
void CopyFrom(const MalitskyPockParams &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static constexpr auto InternalNewImpl_()
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::size_t ByteSizeLong() const final
static constexpr auto InternalGenerateClassData_()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void MergeFrom(const MalitskyPockParams &from)
~MalitskyPockParams() PROTOBUF_FINAL
static constexpr ::int32_t kHasBitsOffset
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static constexpr auto InternalNewImpl_()
friend void swap(PrimalDualHybridGradientParams_PresolveOptions &a, PrimalDualHybridGradientParams_PresolveOptions &b)
~PrimalDualHybridGradientParams_PresolveOptions() PROTOBUF_FINAL
void clear_glop_parameters()
void MergeFrom(const PrimalDualHybridGradientParams_PresolveOptions &from)
void CopyFrom(const PrimalDualHybridGradientParams_PresolveOptions &from)
static constexpr auto InternalGenerateClassData_()
PrimalDualHybridGradientParams_PresolveOptions()
::size_t ByteSizeLong() const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
void CopyFrom(const PrimalDualHybridGradientParams &from)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
static constexpr auto InternalNewImpl_()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
~PrimalDualHybridGradientParams() PROTOBUF_FINAL
friend void swap(PrimalDualHybridGradientParams &a, PrimalDualHybridGradientParams &b)
::size_t ByteSizeLong() const final
void MergeFrom(const PrimalDualHybridGradientParams &from)
static constexpr auto InternalGenerateClassData_()
PrimalDualHybridGradientParams()
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::Arena
static constexpr ::int32_t kOneofCaseOffset
static constexpr ::int32_t kHasBitsOffset
static constexpr ::int32_t kHasBitsOffset
decltype(::std::declval< TerminationCriteria_DetailedOptimalityCriteria >()._impl_._has_bits_) HasBits
void MergeFrom(const TerminationCriteria_DetailedOptimalityCriteria &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
static constexpr auto InternalNewImpl_()
friend void swap(TerminationCriteria_DetailedOptimalityCriteria &a, TerminationCriteria_DetailedOptimalityCriteria &b)
::size_t ByteSizeLong() const final
int GetCachedSize() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static constexpr auto InternalGenerateClassData_()
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
~TerminationCriteria_DetailedOptimalityCriteria() PROTOBUF_FINAL
void CopyFrom(const TerminationCriteria_DetailedOptimalityCriteria &from)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
TerminationCriteria_DetailedOptimalityCriteria()
::google::protobuf::Metadata GetMetadata() const
static constexpr ::int32_t kHasBitsOffset
decltype(::std::declval< TerminationCriteria_SimpleOptimalityCriteria >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
static constexpr auto InternalGenerateClassData_()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(TerminationCriteria_SimpleOptimalityCriteria &a, TerminationCriteria_SimpleOptimalityCriteria &b)
~TerminationCriteria_SimpleOptimalityCriteria() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const TerminationCriteria_SimpleOptimalityCriteria &from)
int GetCachedSize() const
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const TerminationCriteria_SimpleOptimalityCriteria &from)
static constexpr auto InternalNewImpl_()
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::size_t ByteSizeLong() const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
TerminationCriteria_SimpleOptimalityCriteria()
friend class ::google::protobuf::MessageLite
~TerminationCriteria() PROTOBUF_FINAL
void set_allocated_detailed_optimality_criteria(::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NULLABLE value)
const ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria & detailed_optimality_criteria() const
static constexpr auto InternalNewImpl_()
@ kSimpleOptimalityCriteria
@ OPTIMALITY_CRITERIA_NOT_SET
@ kDetailedOptimalityCriteria
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
friend void swap(TerminationCriteria &a, TerminationCriteria &b)
void set_allocated_simple_optimality_criteria(::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE value)
void CopyFrom(const TerminationCriteria &from)
const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria & simple_optimality_criteria() const
void MergeFrom(const TerminationCriteria &from)
::google::protobuf::Metadata GetMetadata() const
static constexpr auto InternalGenerateClassData_()
void clear_optimality_criteria()
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::size_t ByteSizeLong() const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
OptimalityCriteriaCase optimality_criteria_case() const
friend class ::google::protobuf::Arena
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fglop_2fparameters_2eproto
Validation utilities for solvers.proto.
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TerminationCriteria_DetailedOptimalityCriteriaDefaultTypeInternal _TerminationCriteria_DetailedOptimalityCriteria_default_instance_
PROTOBUF_CONSTINIT const uint32_t SchedulerType_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AdaptiveLinesearchParamsDefaultTypeInternal _AdaptiveLinesearchParams_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PrimalDualHybridGradientParams_PresolveOptions_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL PrimalDualHybridGradientParams_RestartStrategy_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PrimalDualHybridGradientParams_class_data_
PrimalDualHybridGradientParams_LinesearchRule
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull TerminationCriteria_DetailedOptimalityCriteria_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AdaptiveLinesearchParams_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MalitskyPockParams_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PrimalDualHybridGradientParams_PresolveOptionsDefaultTypeInternal _PrimalDualHybridGradientParams_PresolveOptions_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SchedulerType_descriptor()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL OptimalityNorm_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PrimalDualHybridGradientParamsDefaultTypeInternal _PrimalDualHybridGradientParams_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TerminationCriteriaDefaultTypeInternal _TerminationCriteria_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL PrimalDualHybridGradientParams_LinesearchRule_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull TerminationCriteria_class_data_
PrimalDualHybridGradientParams_RestartStrategy
PROTOBUF_CONSTINIT const uint32_t PrimalDualHybridGradientParams_RestartStrategy_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TerminationCriteria_SimpleOptimalityCriteriaDefaultTypeInternal _TerminationCriteria_SimpleOptimalityCriteria_default_instance_
PROTOBUF_CONSTINIT const uint32_t OptimalityNorm_internal_data_[]
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull TerminationCriteria_SimpleOptimalityCriteria_class_data_
PROTOBUF_CONSTINIT const uint32_t PrimalDualHybridGradientParams_LinesearchRule_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MalitskyPockParamsDefaultTypeInternal _MalitskyPockParams_default_instance_
In SWIG mode, we don't want anything besides these top-level includes.
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fpdlp_2fsolvers_2eproto
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fpdlp_2fsolvers_2eproto[4]
::absl::once_flag descriptor_table_ortools_2fpdlp_2fsolvers_2eproto_once
static const ::_pbi::DescriptorTable *PROTOBUF_NONNULL const descriptor_table_ortools_2fpdlp_2fsolvers_2eproto_deps[1]
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fpdlp_2fsolvers_2eproto
const ::uint32_t TableStruct_ortools_2fpdlp_2fsolvers_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
AdaptiveLinesearchParams _instance
PROTOBUF_CONSTEXPR AdaptiveLinesearchParamsDefaultTypeInternal()
~AdaptiveLinesearchParamsDefaultTypeInternal()
MalitskyPockParams _instance
~MalitskyPockParamsDefaultTypeInternal()
PROTOBUF_CONSTEXPR MalitskyPockParamsDefaultTypeInternal()
~PrimalDualHybridGradientParamsDefaultTypeInternal()
PROTOBUF_CONSTEXPR PrimalDualHybridGradientParamsDefaultTypeInternal()
PrimalDualHybridGradientParams _instance
~PrimalDualHybridGradientParams_PresolveOptionsDefaultTypeInternal()
PrimalDualHybridGradientParams_PresolveOptions _instance
PROTOBUF_CONSTEXPR PrimalDualHybridGradientParams_PresolveOptionsDefaultTypeInternal()
TerminationCriteria _instance
~TerminationCriteriaDefaultTypeInternal()
PROTOBUF_CONSTEXPR TerminationCriteriaDefaultTypeInternal()
~TerminationCriteria_DetailedOptimalityCriteriaDefaultTypeInternal()
PROTOBUF_CONSTEXPR TerminationCriteria_DetailedOptimalityCriteriaDefaultTypeInternal()
TerminationCriteria_DetailedOptimalityCriteria _instance
~TerminationCriteria_SimpleOptimalityCriteriaDefaultTypeInternal()
TerminationCriteria_SimpleOptimalityCriteria _instance
PROTOBUF_CONSTEXPR TerminationCriteria_SimpleOptimalityCriteriaDefaultTypeInternal()
::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE simple_optimality_criteria_
::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NULLABLE detailed_optimality_criteria_