Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
solvers.pb.h
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/pdlp/solvers.proto
4// Protobuf C++ Version: 6.33.1
5
6#ifndef ortools_2fpdlp_2fsolvers_2eproto_2epb_2eh
7#define ortools_2fpdlp_2fsolvers_2eproto_2epb_2eh
8
9#include <limits>
10#include <string>
11#include <type_traits>
12#include <utility>
13
14#include "google/protobuf/runtime_version.h"
15#if PROTOBUF_VERSION != 6033001
16#error "Protobuf C++ gencode is built with an incompatible version of"
17#error "Protobuf C++ headers/runtime. See"
18#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
19#endif
20#include "google/protobuf/io/coded_stream.h"
21#include "google/protobuf/arena.h"
22#include "google/protobuf/arenastring.h"
23#include "google/protobuf/generated_message_tctable_decl.h"
24#include "google/protobuf/generated_message_util.h"
25#include "google/protobuf/metadata_lite.h"
26#include "google/protobuf/generated_message_reflection.h"
27#include "google/protobuf/message.h"
28#include "google/protobuf/message_lite.h"
29#include "google/protobuf/repeated_field.h" // IWYU pragma: export
30#include "google/protobuf/extension_set.h" // IWYU pragma: export
31#include "google/protobuf/generated_enum_reflection.h"
32#include "google/protobuf/unknown_field_set.h"
34// @@protoc_insertion_point(includes)
35
36// Must be included last.
37#include "google/protobuf/port_def.inc"
38
39#define PROTOBUF_INTERNAL_EXPORT_ortools_2fpdlp_2fsolvers_2eproto OR_PROTO_DLL
40
41namespace google {
42namespace protobuf {
43namespace internal {
44template <typename T>
45::absl::string_view GetAnyMessageName();
46} // namespace internal
47} // namespace protobuf
48} // namespace google
49
50// Internal implementation detail -- do not use these members.
52 static const ::uint32_t offsets[];
53};
54extern "C" {
55OR_PROTO_DLL extern const ::google::protobuf::internal::DescriptorTable descriptor_table_ortools_2fpdlp_2fsolvers_2eproto;
56} // extern "C"
57namespace operations_research {
58namespace pdlp {
59enum OptimalityNorm : int;
60OR_PROTO_DLL extern const uint32_t OptimalityNorm_internal_data_[];
62OR_PROTO_DLL extern const uint32_t PrimalDualHybridGradientParams_LinesearchRule_internal_data_[];
64OR_PROTO_DLL extern const uint32_t PrimalDualHybridGradientParams_RestartStrategy_internal_data_[];
65enum SchedulerType : int;
66OR_PROTO_DLL extern const uint32_t SchedulerType_internal_data_[];
70OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AdaptiveLinesearchParams_class_data_;
74OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull MalitskyPockParams_class_data_;
78OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PrimalDualHybridGradientParams_class_data_;
82OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PrimalDualHybridGradientParams_PresolveOptions_class_data_;
86OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TerminationCriteria_class_data_;
90OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TerminationCriteria_DetailedOptimalityCriteria_class_data_;
94OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TerminationCriteria_SimpleOptimalityCriteria_class_data_;
95} // namespace pdlp
96} // namespace operations_research
97namespace google {
98namespace protobuf {
99template <>
100internal::EnumTraitsT<::operations_research::pdlp::OptimalityNorm_internal_data_>
101 internal::EnumTraitsImpl::value<::operations_research::pdlp::OptimalityNorm>;
102template <>
103internal::EnumTraitsT<::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule_internal_data_>
104 internal::EnumTraitsImpl::value<::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule>;
105template <>
106internal::EnumTraitsT<::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy_internal_data_>
107 internal::EnumTraitsImpl::value<::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy>;
108template <>
109internal::EnumTraitsT<::operations_research::pdlp::SchedulerType_internal_data_>
110 internal::EnumTraitsImpl::value<::operations_research::pdlp::SchedulerType>;
111} // namespace protobuf
112} // namespace google
113
114namespace operations_research {
115namespace pdlp {
123
124OR_PROTO_DLL extern const uint32_t PrimalDualHybridGradientParams_RestartStrategy_internal_data_[];
130 return 0 <= value && value <= 4;
131}
133OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL PrimalDualHybridGradientParams_RestartStrategy_descriptor();
134template <typename T>
136 static_assert(::std::is_same<T, PrimalDualHybridGradientParams_RestartStrategy>::value ||
137 ::std::is_integral<T>::value,
138 "Incorrect type passed to RestartStrategy_Name().");
140}
141template <>
143 return ::google::protobuf::internal::NameOfDenseEnum<PrimalDualHybridGradientParams_RestartStrategy_descriptor, 0, 4>(
144 static_cast<int>(value));
145}
147 ::absl::string_view name, PrimalDualHybridGradientParams_RestartStrategy* PROTOBUF_NONNULL value) {
148 return ::google::protobuf::internal::ParseNamedEnum<PrimalDualHybridGradientParams_RestartStrategy>(PrimalDualHybridGradientParams_RestartStrategy_descriptor(), name,
149 value);
150}
157
158OR_PROTO_DLL extern const uint32_t PrimalDualHybridGradientParams_LinesearchRule_internal_data_[];
164 return 0 <= value && value <= 3;
165}
167OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL PrimalDualHybridGradientParams_LinesearchRule_descriptor();
168template <typename T>
170 static_assert(::std::is_same<T, PrimalDualHybridGradientParams_LinesearchRule>::value ||
171 ::std::is_integral<T>::value,
172 "Incorrect type passed to LinesearchRule_Name().");
174}
175template <>
177 return ::google::protobuf::internal::NameOfDenseEnum<PrimalDualHybridGradientParams_LinesearchRule_descriptor, 0, 3>(
178 static_cast<int>(value));
179}
181 ::absl::string_view name, PrimalDualHybridGradientParams_LinesearchRule* PROTOBUF_NONNULL value) {
182 return ::google::protobuf::internal::ParseNamedEnum<PrimalDualHybridGradientParams_LinesearchRule>(PrimalDualHybridGradientParams_LinesearchRule_descriptor(), name,
183 value);
184}
191
192OR_PROTO_DLL extern const uint32_t OptimalityNorm_internal_data_[];
194 static_cast<OptimalityNorm>(0);
196 static_cast<OptimalityNorm>(3);
197inline bool OptimalityNorm_IsValid(int value) {
198 return 0 <= value && value <= 3;
199}
200inline constexpr int OptimalityNorm_ARRAYSIZE = 3 + 1;
201OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL OptimalityNorm_descriptor();
202template <typename T>
203const ::std::string& OptimalityNorm_Name(T value) {
204 static_assert(::std::is_same<T, OptimalityNorm>::value ||
205 ::std::is_integral<T>::value,
206 "Incorrect type passed to OptimalityNorm_Name().");
207 return OptimalityNorm_Name(static_cast<OptimalityNorm>(value));
208}
209template <>
210inline const ::std::string& OptimalityNorm_Name(OptimalityNorm value) {
211 return ::google::protobuf::internal::NameOfDenseEnum<OptimalityNorm_descriptor, 0, 3>(
212 static_cast<int>(value));
213}
215 ::absl::string_view name, OptimalityNorm* PROTOBUF_NONNULL value) {
216 return ::google::protobuf::internal::ParseNamedEnum<OptimalityNorm>(OptimalityNorm_descriptor(), name,
217 value);
218}
224
225OR_PROTO_DLL extern const uint32_t SchedulerType_internal_data_[];
227 static_cast<SchedulerType>(0);
229 static_cast<SchedulerType>(3);
230inline bool SchedulerType_IsValid(int value) {
231 return 0 <= value && value <= 3 && ((11u >> value) & 1) != 0;
232}
233inline constexpr int SchedulerType_ARRAYSIZE = 3 + 1;
234OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SchedulerType_descriptor();
235template <typename T>
236const ::std::string& SchedulerType_Name(T value) {
237 static_assert(::std::is_same<T, SchedulerType>::value ||
238 ::std::is_integral<T>::value,
239 "Incorrect type passed to SchedulerType_Name().");
240 return SchedulerType_Name(static_cast<SchedulerType>(value));
241}
242template <>
243inline const ::std::string& SchedulerType_Name(SchedulerType value) {
244 return ::google::protobuf::internal::NameOfDenseEnum<SchedulerType_descriptor, 0, 3>(
245 static_cast<int>(value));
246}
248 ::absl::string_view name, SchedulerType* PROTOBUF_NONNULL value) {
249 return ::google::protobuf::internal::ParseNamedEnum<SchedulerType>(SchedulerType_descriptor(), name,
250 value);
251}
252
253// ===================================================================
254
255
256// -------------------------------------------------------------------
257
258class OR_PROTO_DLL TerminationCriteria_SimpleOptimalityCriteria final : public ::google::protobuf::Message
259/* @@protoc_insertion_point(class_definition:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria) */ {
260 public:
264#if defined(PROTOBUF_CUSTOM_VTABLE)
265 void operator delete(TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
266 SharedDtor(*msg);
267 ::google::protobuf::internal::SizedDelete(msg, sizeof(TerminationCriteria_SimpleOptimalityCriteria));
268 }
269#endif
270
271 template <typename = void>
272 explicit PROTOBUF_CONSTEXPR TerminationCriteria_SimpleOptimalityCriteria(::google::protobuf::internal::ConstantInitialized);
273
276 : TerminationCriteria_SimpleOptimalityCriteria(nullptr, ::std::move(from)) {}
279 return *this;
280 }
282 if (this == &from) return *this;
283 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
284 InternalSwap(&from);
285 } else {
286 CopyFrom(from);
287 }
288 return *this;
289 }
290
291 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
292 ABSL_ATTRIBUTE_LIFETIME_BOUND {
293 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
294 }
295 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
296 ABSL_ATTRIBUTE_LIFETIME_BOUND {
297 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
298 }
299
300 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
301 return GetDescriptor();
303 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
304 return default_instance().GetMetadata().descriptor;
306 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
307 return default_instance().GetMetadata().reflection;
309 static const TerminationCriteria_SimpleOptimalityCriteria& default_instance() {
310 return *reinterpret_cast<const TerminationCriteria_SimpleOptimalityCriteria*>(
315 inline void Swap(TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL other) {
316 if (other == this) return;
317 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
318 InternalSwap(other);
319 } else {
320 ::google::protobuf::internal::GenericSwap(this, other);
321 }
322 }
323 void UnsafeArenaSwap(TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL other) {
324 if (other == this) return;
325 ABSL_DCHECK(GetArena() == other->GetArena());
326 InternalSwap(other);
327 }
328
329 // implements Message ----------------------------------------------
330
331 TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
332 return ::google::protobuf::Message::DefaultConstruct<TerminationCriteria_SimpleOptimalityCriteria>(arena);
334 using ::google::protobuf::Message::CopyFrom;
335 void CopyFrom(const TerminationCriteria_SimpleOptimalityCriteria& from);
336 using ::google::protobuf::Message::MergeFrom;
337 void MergeFrom(const TerminationCriteria_SimpleOptimalityCriteria& from) { TerminationCriteria_SimpleOptimalityCriteria::MergeImpl(*this, from); }
338
339 private:
340 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
341 const ::google::protobuf::MessageLite& from_msg);
342
343 public:
344 bool IsInitialized() const {
345 return true;
347 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
348 #if defined(PROTOBUF_CUSTOM_VTABLE)
349 private:
350 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
351 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
352 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
353 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
354
355 public:
356 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
357 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
358 ::uint8_t* PROTOBUF_NONNULL target,
359 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
360 return _InternalSerialize(*this, target, stream);
361 }
362 #else // PROTOBUF_CUSTOM_VTABLE
363 ::size_t ByteSizeLong() const final;
364 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
365 ::uint8_t* PROTOBUF_NONNULL target,
366 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
367 #endif // PROTOBUF_CUSTOM_VTABLE
368 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
369
370 private:
371 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
372 static void SharedDtor(MessageLite& self);
373 void InternalSwap(TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL other);
374 private:
375 template <typename T>
376 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
377 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria"; }
378
379 explicit TerminationCriteria_SimpleOptimalityCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
380 TerminationCriteria_SimpleOptimalityCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TerminationCriteria_SimpleOptimalityCriteria& from);
382 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, TerminationCriteria_SimpleOptimalityCriteria&& from) noexcept
384 *this = ::std::move(from);
385 }
386 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
387 static void* PROTOBUF_NONNULL PlacementNew_(
388 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
389 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
390 static constexpr auto InternalNewImpl_();
391
392 public:
393 static constexpr auto InternalGenerateClassData_();
394
395 ::google::protobuf::Metadata GetMetadata() const;
396 // nested types ----------------------------------------------------
397
398 // accessors -------------------------------------------------------
399 enum : int {
400 kEpsOptimalAbsoluteFieldNumber = 1,
401 kEpsOptimalRelativeFieldNumber = 2,
402 };
403 // optional double eps_optimal_absolute = 1 [default = 1e-06];
404 bool has_eps_optimal_absolute() const;
406 double eps_optimal_absolute() const;
407 void set_eps_optimal_absolute(double value);
408
409 private:
410 double _internal_eps_optimal_absolute() const;
411 void _internal_set_eps_optimal_absolute(double value);
412
413 public:
414 // optional double eps_optimal_relative = 2 [default = 1e-06];
415 bool has_eps_optimal_relative() const;
417 double eps_optimal_relative() const;
418 void set_eps_optimal_relative(double value);
419
420 private:
421 double _internal_eps_optimal_relative() const;
422 void _internal_set_eps_optimal_relative(double value);
423
424 public:
425 // @@protoc_insertion_point(class_scope:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria)
426 private:
427 class _Internal;
428 friend class ::google::protobuf::internal::TcParser;
429 static const ::google::protobuf::internal::TcParseTable<1, 2,
430 0, 0,
431 2>
432 _table_;
433
434 friend class ::google::protobuf::MessageLite;
435 friend class ::google::protobuf::Arena;
436 template <typename T>
437 friend class ::google::protobuf::Arena::InternalHelper;
438 using InternalArenaConstructable_ = void;
439 using DestructorSkippable_ = void;
440 struct Impl_ {
441 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
442 inline explicit Impl_(
443 ::google::protobuf::internal::InternalVisibility visibility,
444 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
445 inline explicit Impl_(
446 ::google::protobuf::internal::InternalVisibility visibility,
447 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
449 ::google::protobuf::internal::HasBits<1> _has_bits_;
450 ::google::protobuf::internal::CachedSize _cached_size_;
451 double eps_optimal_absolute_;
452 double eps_optimal_relative_;
453 PROTOBUF_TSAN_DECLARE_MEMBER
454 };
455 union { Impl_ _impl_; };
456 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
459OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TerminationCriteria_SimpleOptimalityCriteria_class_data_;
460// -------------------------------------------------------------------
461
462class OR_PROTO_DLL TerminationCriteria_DetailedOptimalityCriteria final : public ::google::protobuf::Message
463/* @@protoc_insertion_point(class_definition:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria) */ {
464 public:
467
468#if defined(PROTOBUF_CUSTOM_VTABLE)
469 void operator delete(TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
470 SharedDtor(*msg);
471 ::google::protobuf::internal::SizedDelete(msg, sizeof(TerminationCriteria_DetailedOptimalityCriteria));
472 }
473#endif
474
475 template <typename = void>
476 explicit PROTOBUF_CONSTEXPR TerminationCriteria_DetailedOptimalityCriteria(::google::protobuf::internal::ConstantInitialized);
477
480 : TerminationCriteria_DetailedOptimalityCriteria(nullptr, ::std::move(from)) {}
482 CopyFrom(from);
483 return *this;
486 if (this == &from) return *this;
487 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
488 InternalSwap(&from);
489 } else {
490 CopyFrom(from);
491 }
492 return *this;
493 }
494
495 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
496 ABSL_ATTRIBUTE_LIFETIME_BOUND {
497 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
499 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
500 ABSL_ATTRIBUTE_LIFETIME_BOUND {
501 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
503
504 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
505 return GetDescriptor();
506 }
507 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
508 return default_instance().GetMetadata().descriptor;
509 }
510 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
511 return default_instance().GetMetadata().reflection;
512 }
517 static constexpr int kIndexInFileMessages = 1;
519 inline void Swap(TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL other) {
520 if (other == this) return;
521 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
522 InternalSwap(other);
523 } else {
524 ::google::protobuf::internal::GenericSwap(this, other);
525 }
526 }
527 void UnsafeArenaSwap(TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL other) {
528 if (other == this) return;
529 ABSL_DCHECK(GetArena() == other->GetArena());
530 InternalSwap(other);
531 }
532
533 // implements Message ----------------------------------------------
534
535 TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
536 return ::google::protobuf::Message::DefaultConstruct<TerminationCriteria_DetailedOptimalityCriteria>(arena);
537 }
538 using ::google::protobuf::Message::CopyFrom;
540 using ::google::protobuf::Message::MergeFrom;
541 void MergeFrom(const TerminationCriteria_DetailedOptimalityCriteria& from) { TerminationCriteria_DetailedOptimalityCriteria::MergeImpl(*this, from); }
542
543 private:
544 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
545 const ::google::protobuf::MessageLite& from_msg);
546
547 public:
548 bool IsInitialized() const {
549 return true;
550 }
551 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
552 #if defined(PROTOBUF_CUSTOM_VTABLE)
553 private:
554 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
555 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
556 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
557 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
558
559 public:
560 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
561 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
562 ::uint8_t* PROTOBUF_NONNULL target,
563 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
564 return _InternalSerialize(*this, target, stream);
565 }
566 #else // PROTOBUF_CUSTOM_VTABLE
567 ::size_t ByteSizeLong() const final;
568 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
569 ::uint8_t* PROTOBUF_NONNULL target,
570 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
571 #endif // PROTOBUF_CUSTOM_VTABLE
572 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
573
574 private:
575 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
576 static void SharedDtor(MessageLite& self);
577 void InternalSwap(TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL other);
578 private:
579 template <typename T>
580 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
581 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria"; }
582
583 explicit TerminationCriteria_DetailedOptimalityCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
584 TerminationCriteria_DetailedOptimalityCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TerminationCriteria_DetailedOptimalityCriteria& from);
586 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, TerminationCriteria_DetailedOptimalityCriteria&& from) noexcept
588 *this = ::std::move(from);
589 }
590 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
591 static void* PROTOBUF_NONNULL PlacementNew_(
592 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
593 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
594 static constexpr auto InternalNewImpl_();
595
596 public:
597 static constexpr auto InternalGenerateClassData_();
598
599 ::google::protobuf::Metadata GetMetadata() const;
600 // nested types ----------------------------------------------------
601
602 // accessors -------------------------------------------------------
603 enum : int {
604 kEpsOptimalPrimalResidualAbsoluteFieldNumber = 1,
605 kEpsOptimalPrimalResidualRelativeFieldNumber = 2,
606 kEpsOptimalDualResidualAbsoluteFieldNumber = 3,
610 };
611 // optional double eps_optimal_primal_residual_absolute = 1 [default = 1e-06];
616
617 private:
618 double _internal_eps_optimal_primal_residual_absolute() const;
619 void _internal_set_eps_optimal_primal_residual_absolute(double value);
620
621 public:
622 // optional double eps_optimal_primal_residual_relative = 2 [default = 1e-06];
627
628 private:
629 double _internal_eps_optimal_primal_residual_relative() const;
630 void _internal_set_eps_optimal_primal_residual_relative(double value);
631
632 public:
633 // optional double eps_optimal_dual_residual_absolute = 3 [default = 1e-06];
638
639 private:
640 double _internal_eps_optimal_dual_residual_absolute() const;
641 void _internal_set_eps_optimal_dual_residual_absolute(double value);
642
643 public:
644 // optional double eps_optimal_dual_residual_relative = 4 [default = 1e-06];
649
650 private:
651 double _internal_eps_optimal_dual_residual_relative() const;
652 void _internal_set_eps_optimal_dual_residual_relative(double value);
653
654 public:
655 // optional double eps_optimal_objective_gap_absolute = 5 [default = 1e-06];
660
661 private:
662 double _internal_eps_optimal_objective_gap_absolute() const;
663 void _internal_set_eps_optimal_objective_gap_absolute(double value);
664
665 public:
666 // optional double eps_optimal_objective_gap_relative = 6 [default = 1e-06];
671
672 private:
673 double _internal_eps_optimal_objective_gap_relative() const;
674 void _internal_set_eps_optimal_objective_gap_relative(double value);
675
676 public:
677 // @@protoc_insertion_point(class_scope:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria)
678 private:
679 class _Internal;
680 friend class ::google::protobuf::internal::TcParser;
681 static const ::google::protobuf::internal::TcParseTable<3, 6,
682 0, 0,
683 2>
684 _table_;
685
686 friend class ::google::protobuf::MessageLite;
687 friend class ::google::protobuf::Arena;
688 template <typename T>
689 friend class ::google::protobuf::Arena::InternalHelper;
690 using InternalArenaConstructable_ = void;
691 using DestructorSkippable_ = void;
692 struct Impl_ {
693 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
694 inline explicit Impl_(
695 ::google::protobuf::internal::InternalVisibility visibility,
696 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
697 inline explicit Impl_(
698 ::google::protobuf::internal::InternalVisibility visibility,
699 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
701 ::google::protobuf::internal::HasBits<1> _has_bits_;
702 ::google::protobuf::internal::CachedSize _cached_size_;
703 double eps_optimal_primal_residual_absolute_;
704 double eps_optimal_primal_residual_relative_;
705 double eps_optimal_dual_residual_absolute_;
706 double eps_optimal_dual_residual_relative_;
707 double eps_optimal_objective_gap_absolute_;
708 double eps_optimal_objective_gap_relative_;
709 PROTOBUF_TSAN_DECLARE_MEMBER
710 };
711 union { Impl_ _impl_; };
712 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
713};
715OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TerminationCriteria_DetailedOptimalityCriteria_class_data_;
716// -------------------------------------------------------------------
717
718class OR_PROTO_DLL MalitskyPockParams final : public ::google::protobuf::Message
719/* @@protoc_insertion_point(class_definition:operations_research.pdlp.MalitskyPockParams) */ {
720 public:
721 inline MalitskyPockParams() : MalitskyPockParams(nullptr) {}
722 ~MalitskyPockParams() PROTOBUF_FINAL;
723
724#if defined(PROTOBUF_CUSTOM_VTABLE)
725 void operator delete(MalitskyPockParams* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
726 SharedDtor(*msg);
727 ::google::protobuf::internal::SizedDelete(msg, sizeof(MalitskyPockParams));
728 }
729#endif
730
731 template <typename = void>
732 explicit PROTOBUF_CONSTEXPR MalitskyPockParams(::google::protobuf::internal::ConstantInitialized);
733
734 inline MalitskyPockParams(const MalitskyPockParams& from) : MalitskyPockParams(nullptr, from) {}
735 inline MalitskyPockParams(MalitskyPockParams&& from) noexcept
736 : MalitskyPockParams(nullptr, ::std::move(from)) {}
737 inline MalitskyPockParams& operator=(const MalitskyPockParams& from) {
738 CopyFrom(from);
739 return *this;
740 }
742 if (this == &from) return *this;
743 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
744 InternalSwap(&from);
745 } else {
746 CopyFrom(from);
747 }
748 return *this;
749 }
750
751 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
752 ABSL_ATTRIBUTE_LIFETIME_BOUND {
753 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
754 }
755 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
756 ABSL_ATTRIBUTE_LIFETIME_BOUND {
757 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
758 }
760 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
761 return GetDescriptor();
762 }
763 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
764 return default_instance().GetMetadata().descriptor;
765 }
766 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
767 return default_instance().GetMetadata().reflection;
768 }
769 static const MalitskyPockParams& default_instance() {
770 return *reinterpret_cast<const MalitskyPockParams*>(
772 }
773 static constexpr int kIndexInFileMessages = 4;
774 friend void swap(MalitskyPockParams& a, MalitskyPockParams& b) { a.Swap(&b); }
775 inline void Swap(MalitskyPockParams* PROTOBUF_NONNULL other) {
776 if (other == this) return;
777 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
778 InternalSwap(other);
779 } else {
780 ::google::protobuf::internal::GenericSwap(this, other);
781 }
782 }
783 void UnsafeArenaSwap(MalitskyPockParams* PROTOBUF_NONNULL other) {
784 if (other == this) return;
785 ABSL_DCHECK(GetArena() == other->GetArena());
786 InternalSwap(other);
788
789 // implements Message ----------------------------------------------
790
791 MalitskyPockParams* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
792 return ::google::protobuf::Message::DefaultConstruct<MalitskyPockParams>(arena);
793 }
794 using ::google::protobuf::Message::CopyFrom;
795 void CopyFrom(const MalitskyPockParams& from);
796 using ::google::protobuf::Message::MergeFrom;
797 void MergeFrom(const MalitskyPockParams& from) { MalitskyPockParams::MergeImpl(*this, from); }
798
799 private:
800 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
801 const ::google::protobuf::MessageLite& from_msg);
802
803 public:
804 bool IsInitialized() const {
805 return true;
806 }
807 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
808 #if defined(PROTOBUF_CUSTOM_VTABLE)
809 private:
810 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
811 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
812 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
813 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
814
815 public:
816 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
817 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
818 ::uint8_t* PROTOBUF_NONNULL target,
819 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
820 return _InternalSerialize(*this, target, stream);
821 }
822 #else // PROTOBUF_CUSTOM_VTABLE
823 ::size_t ByteSizeLong() const final;
824 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
825 ::uint8_t* PROTOBUF_NONNULL target,
826 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
827 #endif // PROTOBUF_CUSTOM_VTABLE
828 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
829
830 private:
831 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
832 static void SharedDtor(MessageLite& self);
833 void InternalSwap(MalitskyPockParams* PROTOBUF_NONNULL other);
834 private:
835 template <typename T>
836 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
837 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.MalitskyPockParams"; }
838
839 explicit MalitskyPockParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
840 MalitskyPockParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MalitskyPockParams& from);
842 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MalitskyPockParams&& from) noexcept
843 : MalitskyPockParams(arena) {
844 *this = ::std::move(from);
845 }
846 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
847 static void* PROTOBUF_NONNULL PlacementNew_(
848 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
849 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
850 static constexpr auto InternalNewImpl_();
851
852 public:
853 static constexpr auto InternalGenerateClassData_();
854
855 ::google::protobuf::Metadata GetMetadata() const;
856 // nested types ----------------------------------------------------
857
858 // accessors -------------------------------------------------------
859 enum : int {
860 kStepSizeDownscalingFactorFieldNumber = 1,
861 kLinesearchContractionFactorFieldNumber = 2,
862 kStepSizeInterpolationFieldNumber = 3,
863 };
864 // optional double step_size_downscaling_factor = 1 [default = 0.7];
867 double step_size_downscaling_factor() const;
868 void set_step_size_downscaling_factor(double value);
869
870 private:
871 double _internal_step_size_downscaling_factor() const;
872 void _internal_set_step_size_downscaling_factor(double value);
873
874 public:
875 // optional double linesearch_contraction_factor = 2 [default = 0.99];
878 double linesearch_contraction_factor() const;
879 void set_linesearch_contraction_factor(double value);
880
881 private:
882 double _internal_linesearch_contraction_factor() const;
883 void _internal_set_linesearch_contraction_factor(double value);
884
885 public:
886 // optional double step_size_interpolation = 3 [default = 1];
887 bool has_step_size_interpolation() const;
889 double step_size_interpolation() const;
890 void set_step_size_interpolation(double value);
891
892 private:
893 double _internal_step_size_interpolation() const;
894 void _internal_set_step_size_interpolation(double value);
895
896 public:
897 // @@protoc_insertion_point(class_scope:operations_research.pdlp.MalitskyPockParams)
898 private:
899 class _Internal;
900 friend class ::google::protobuf::internal::TcParser;
901 static const ::google::protobuf::internal::TcParseTable<2, 3,
902 0, 0,
903 2>
904 _table_;
905
906 friend class ::google::protobuf::MessageLite;
907 friend class ::google::protobuf::Arena;
908 template <typename T>
909 friend class ::google::protobuf::Arena::InternalHelper;
910 using InternalArenaConstructable_ = void;
911 using DestructorSkippable_ = void;
912 struct Impl_ {
913 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
914 inline explicit Impl_(
915 ::google::protobuf::internal::InternalVisibility visibility,
916 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
917 inline explicit Impl_(
918 ::google::protobuf::internal::InternalVisibility visibility,
919 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
920 const MalitskyPockParams& from_msg);
921 ::google::protobuf::internal::HasBits<1> _has_bits_;
922 ::google::protobuf::internal::CachedSize _cached_size_;
923 double step_size_downscaling_factor_;
924 double linesearch_contraction_factor_;
925 double step_size_interpolation_;
926 PROTOBUF_TSAN_DECLARE_MEMBER
927 };
928 union { Impl_ _impl_; };
929 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
930};
931
932OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull MalitskyPockParams_class_data_;
933// -------------------------------------------------------------------
934
935class OR_PROTO_DLL AdaptiveLinesearchParams final : public ::google::protobuf::Message
936/* @@protoc_insertion_point(class_definition:operations_research.pdlp.AdaptiveLinesearchParams) */ {
937 public:
939 ~AdaptiveLinesearchParams() PROTOBUF_FINAL;
941#if defined(PROTOBUF_CUSTOM_VTABLE)
942 void operator delete(AdaptiveLinesearchParams* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
943 SharedDtor(*msg);
944 ::google::protobuf::internal::SizedDelete(msg, sizeof(AdaptiveLinesearchParams));
945 }
946#endif
947
948 template <typename = void>
949 explicit PROTOBUF_CONSTEXPR AdaptiveLinesearchParams(::google::protobuf::internal::ConstantInitialized);
950
952 inline AdaptiveLinesearchParams(AdaptiveLinesearchParams&& from) noexcept
953 : AdaptiveLinesearchParams(nullptr, ::std::move(from)) {}
955 CopyFrom(from);
956 return *this;
958 inline AdaptiveLinesearchParams& operator=(AdaptiveLinesearchParams&& from) noexcept {
959 if (this == &from) return *this;
960 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
961 InternalSwap(&from);
962 } else {
963 CopyFrom(from);
964 }
965 return *this;
966 }
967
968 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
969 ABSL_ATTRIBUTE_LIFETIME_BOUND {
970 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
971 }
972 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
973 ABSL_ATTRIBUTE_LIFETIME_BOUND {
974 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
975 }
976
977 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
978 return GetDescriptor();
979 }
980 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
981 return default_instance().GetMetadata().descriptor;
983 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
984 return default_instance().GetMetadata().reflection;
986 static const AdaptiveLinesearchParams& default_instance() {
987 return *reinterpret_cast<const AdaptiveLinesearchParams*>(
989 }
990 static constexpr int kIndexInFileMessages = 3;
992 inline void Swap(AdaptiveLinesearchParams* PROTOBUF_NONNULL other) {
993 if (other == this) return;
994 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
995 InternalSwap(other);
996 } else {
997 ::google::protobuf::internal::GenericSwap(this, other);
998 }
999 }
1000 void UnsafeArenaSwap(AdaptiveLinesearchParams* PROTOBUF_NONNULL other) {
1001 if (other == this) return;
1002 ABSL_DCHECK(GetArena() == other->GetArena());
1003 InternalSwap(other);
1004 }
1006 // implements Message ----------------------------------------------
1007
1008 AdaptiveLinesearchParams* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1009 return ::google::protobuf::Message::DefaultConstruct<AdaptiveLinesearchParams>(arena);
1010 }
1011 using ::google::protobuf::Message::CopyFrom;
1012 void CopyFrom(const AdaptiveLinesearchParams& from);
1013 using ::google::protobuf::Message::MergeFrom;
1014 void MergeFrom(const AdaptiveLinesearchParams& from) { AdaptiveLinesearchParams::MergeImpl(*this, from); }
1015
1016 private:
1017 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1018 const ::google::protobuf::MessageLite& from_msg);
1020 public:
1021 bool IsInitialized() const {
1022 return true;
1023 }
1024 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1025 #if defined(PROTOBUF_CUSTOM_VTABLE)
1026 private:
1027 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1028 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1029 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1030 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1031
1032 public:
1033 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1034 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1035 ::uint8_t* PROTOBUF_NONNULL target,
1036 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1037 return _InternalSerialize(*this, target, stream);
1038 }
1039 #else // PROTOBUF_CUSTOM_VTABLE
1040 ::size_t ByteSizeLong() const final;
1041 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1042 ::uint8_t* PROTOBUF_NONNULL target,
1043 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1044 #endif // PROTOBUF_CUSTOM_VTABLE
1045 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1046
1047 private:
1048 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1049 static void SharedDtor(MessageLite& self);
1050 void InternalSwap(AdaptiveLinesearchParams* PROTOBUF_NONNULL other);
1051 private:
1052 template <typename T>
1053 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1054 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.AdaptiveLinesearchParams"; }
1055
1056 explicit AdaptiveLinesearchParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1057 AdaptiveLinesearchParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AdaptiveLinesearchParams& from);
1059 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AdaptiveLinesearchParams&& from) noexcept
1060 : AdaptiveLinesearchParams(arena) {
1061 *this = ::std::move(from);
1062 }
1063 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1064 static void* PROTOBUF_NONNULL PlacementNew_(
1065 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1066 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1067 static constexpr auto InternalNewImpl_();
1068
1069 public:
1070 static constexpr auto InternalGenerateClassData_();
1071
1072 ::google::protobuf::Metadata GetMetadata() const;
1073 // nested types ----------------------------------------------------
1074
1075 // accessors -------------------------------------------------------
1076 enum : int {
1077 kStepSizeReductionExponentFieldNumber = 1,
1078 kStepSizeGrowthExponentFieldNumber = 2,
1079 };
1080 // optional double step_size_reduction_exponent = 1 [default = 0.3];
1081 bool has_step_size_reduction_exponent() const;
1084 void set_step_size_reduction_exponent(double value);
1085
1086 private:
1087 double _internal_step_size_reduction_exponent() const;
1088 void _internal_set_step_size_reduction_exponent(double value);
1089
1090 public:
1091 // optional double step_size_growth_exponent = 2 [default = 0.6];
1092 bool has_step_size_growth_exponent() const;
1094 double step_size_growth_exponent() const;
1095 void set_step_size_growth_exponent(double value);
1096
1097 private:
1098 double _internal_step_size_growth_exponent() const;
1099 void _internal_set_step_size_growth_exponent(double value);
1100
1101 public:
1102 // @@protoc_insertion_point(class_scope:operations_research.pdlp.AdaptiveLinesearchParams)
1103 private:
1104 class _Internal;
1105 friend class ::google::protobuf::internal::TcParser;
1106 static const ::google::protobuf::internal::TcParseTable<1, 2,
1107 0, 0,
1108 2>
1109 _table_;
1111 friend class ::google::protobuf::MessageLite;
1112 friend class ::google::protobuf::Arena;
1113 template <typename T>
1114 friend class ::google::protobuf::Arena::InternalHelper;
1115 using InternalArenaConstructable_ = void;
1116 using DestructorSkippable_ = void;
1117 struct Impl_ {
1118 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1119 inline explicit Impl_(
1120 ::google::protobuf::internal::InternalVisibility visibility,
1121 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1122 inline explicit Impl_(
1123 ::google::protobuf::internal::InternalVisibility visibility,
1124 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1125 const AdaptiveLinesearchParams& from_msg);
1126 ::google::protobuf::internal::HasBits<1> _has_bits_;
1127 ::google::protobuf::internal::CachedSize _cached_size_;
1128 double step_size_reduction_exponent_;
1129 double step_size_growth_exponent_;
1130 PROTOBUF_TSAN_DECLARE_MEMBER
1131 };
1132 union { Impl_ _impl_; };
1133 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
1134};
1135
1136OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AdaptiveLinesearchParams_class_data_;
1137// -------------------------------------------------------------------
1139class OR_PROTO_DLL TerminationCriteria final : public ::google::protobuf::Message
1140/* @@protoc_insertion_point(class_definition:operations_research.pdlp.TerminationCriteria) */ {
1141 public:
1142 inline TerminationCriteria() : TerminationCriteria(nullptr) {}
1143 ~TerminationCriteria() PROTOBUF_FINAL;
1144
1145#if defined(PROTOBUF_CUSTOM_VTABLE)
1146 void operator delete(TerminationCriteria* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1147 SharedDtor(*msg);
1148 ::google::protobuf::internal::SizedDelete(msg, sizeof(TerminationCriteria));
1149 }
1150#endif
1151
1152 template <typename = void>
1153 explicit PROTOBUF_CONSTEXPR TerminationCriteria(::google::protobuf::internal::ConstantInitialized);
1154
1155 inline TerminationCriteria(const TerminationCriteria& from) : TerminationCriteria(nullptr, from) {}
1156 inline TerminationCriteria(TerminationCriteria&& from) noexcept
1157 : TerminationCriteria(nullptr, ::std::move(from)) {}
1158 inline TerminationCriteria& operator=(const TerminationCriteria& from) {
1160 return *this;
1163 if (this == &from) return *this;
1164 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1165 InternalSwap(&from);
1166 } else {
1167 CopyFrom(from);
1169 return *this;
1170 }
1171
1172 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1173 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1174 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1175 }
1176 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1177 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1178 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1179 }
1180
1181 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1183 }
1184 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1185 return default_instance().GetMetadata().descriptor;
1186 }
1187 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1188 return default_instance().GetMetadata().reflection;
1189 }
1191 return *reinterpret_cast<const TerminationCriteria*>(
1194 enum OptimalityCriteriaCase {
1195 kSimpleOptimalityCriteria = 9,
1198 };
1199 static constexpr int kIndexInFileMessages = 2;
1200 friend void swap(TerminationCriteria& a, TerminationCriteria& b) { a.Swap(&b); }
1201 inline void Swap(TerminationCriteria* PROTOBUF_NONNULL other) {
1202 if (other == this) return;
1203 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1204 InternalSwap(other);
1205 } else {
1206 ::google::protobuf::internal::GenericSwap(this, other);
1208 }
1209 void UnsafeArenaSwap(TerminationCriteria* PROTOBUF_NONNULL other) {
1210 if (other == this) return;
1211 ABSL_DCHECK(GetArena() == other->GetArena());
1212 InternalSwap(other);
1213 }
1214
1215 // implements Message ----------------------------------------------
1216
1217 TerminationCriteria* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1218 return ::google::protobuf::Message::DefaultConstruct<TerminationCriteria>(arena);
1219 }
1220 using ::google::protobuf::Message::CopyFrom;
1221 void CopyFrom(const TerminationCriteria& from);
1222 using ::google::protobuf::Message::MergeFrom;
1223 void MergeFrom(const TerminationCriteria& from) { TerminationCriteria::MergeImpl(*this, from); }
1224
1225 private:
1226 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1227 const ::google::protobuf::MessageLite& from_msg);
1228
1229 public:
1230 bool IsInitialized() const {
1231 return true;
1232 }
1233 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1234 #if defined(PROTOBUF_CUSTOM_VTABLE)
1235 private:
1236 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1237 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1238 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1239 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1240
1241 public:
1242 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1243 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1244 ::uint8_t* PROTOBUF_NONNULL target,
1245 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1246 return _InternalSerialize(*this, target, stream);
1247 }
1248 #else // PROTOBUF_CUSTOM_VTABLE
1249 ::size_t ByteSizeLong() const final;
1250 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1251 ::uint8_t* PROTOBUF_NONNULL target,
1252 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1253 #endif // PROTOBUF_CUSTOM_VTABLE
1254 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1255
1256 private:
1257 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1258 static void SharedDtor(MessageLite& self);
1259 void InternalSwap(TerminationCriteria* PROTOBUF_NONNULL other);
1260 private:
1261 template <typename T>
1262 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1263 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.TerminationCriteria"; }
1264
1265 explicit TerminationCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1266 TerminationCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TerminationCriteria& from);
1268 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, TerminationCriteria&& from) noexcept
1269 : TerminationCriteria(arena) {
1270 *this = ::std::move(from);
1271 }
1272 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1273 static void* PROTOBUF_NONNULL PlacementNew_(
1274 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1275 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1276 static constexpr auto InternalNewImpl_();
1277
1278 public:
1279 static constexpr auto InternalGenerateClassData_();
1280
1281 ::google::protobuf::Metadata GetMetadata() const;
1282 // nested types ----------------------------------------------------
1283 using SimpleOptimalityCriteria = TerminationCriteria_SimpleOptimalityCriteria;
1284 using DetailedOptimalityCriteria = TerminationCriteria_DetailedOptimalityCriteria;
1285
1286 // accessors -------------------------------------------------------
1287 enum : int {
1288 kEpsOptimalAbsoluteFieldNumber = 2,
1299 // optional double eps_optimal_absolute = 2 [default = 1e-06, deprecated = true];
1300 [[deprecated]] bool has_eps_optimal_absolute() const;
1301 [[deprecated]] void clear_eps_optimal_absolute() ;
1302 [[deprecated]] double eps_optimal_absolute() const;
1303 [[deprecated]] void set_eps_optimal_absolute(double value);
1304
1305 private:
1306 double _internal_eps_optimal_absolute() const;
1307 void _internal_set_eps_optimal_absolute(double value);
1308
1309 public:
1310 // optional double eps_optimal_relative = 3 [default = 1e-06, deprecated = true];
1311 [[deprecated]] bool has_eps_optimal_relative() const;
1312 [[deprecated]] void clear_eps_optimal_relative() ;
1313 [[deprecated]] double eps_optimal_relative() const;
1314 [[deprecated]] void set_eps_optimal_relative(double value);
1315
1316 private:
1317 double _internal_eps_optimal_relative() const;
1318 void _internal_set_eps_optimal_relative(double value);
1319
1320 public:
1321 // optional double eps_primal_infeasible = 4 [default = 1e-08];
1322 bool has_eps_primal_infeasible() const;
1324 double eps_primal_infeasible() const;
1325 void set_eps_primal_infeasible(double value);
1326
1327 private:
1328 double _internal_eps_primal_infeasible() const;
1329 void _internal_set_eps_primal_infeasible(double value);
1330
1331 public:
1332 // optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
1333 bool has_optimality_norm() const;
1334 void clear_optimality_norm() ;
1337
1338 private:
1339 ::operations_research::pdlp::OptimalityNorm _internal_optimality_norm() const;
1340 void _internal_set_optimality_norm(::operations_research::pdlp::OptimalityNorm value);
1341
1342 public:
1343 // optional int32 iteration_limit = 7 [default = 2147483647];
1344 bool has_iteration_limit() const;
1345 void clear_iteration_limit() ;
1346 ::int32_t iteration_limit() const;
1347 void set_iteration_limit(::int32_t value);
1348
1349 private:
1350 ::int32_t _internal_iteration_limit() const;
1351 void _internal_set_iteration_limit(::int32_t value);
1352
1353 public:
1354 // optional double eps_dual_infeasible = 5 [default = 1e-08];
1355 bool has_eps_dual_infeasible() const;
1357 double eps_dual_infeasible() const;
1358 void set_eps_dual_infeasible(double value);
1359
1360 private:
1361 double _internal_eps_dual_infeasible() const;
1362 void _internal_set_eps_dual_infeasible(double value);
1363
1364 public:
1365 // optional double time_sec_limit = 6 [default = inf];
1366 bool has_time_sec_limit() const;
1367 void clear_time_sec_limit() ;
1368 double time_sec_limit() const;
1369 void set_time_sec_limit(double value);
1370
1371 private:
1372 double _internal_time_sec_limit() const;
1373 void _internal_set_time_sec_limit(double value);
1374
1375 public:
1376 // optional double kkt_matrix_pass_limit = 8 [default = inf];
1377 bool has_kkt_matrix_pass_limit() const;
1379 double kkt_matrix_pass_limit() const;
1380 void set_kkt_matrix_pass_limit(double value);
1381
1382 private:
1383 double _internal_kkt_matrix_pass_limit() const;
1384 void _internal_set_kkt_matrix_pass_limit(double value);
1385
1386 public:
1387 // .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
1388 bool has_simple_optimality_criteria() const;
1389 private:
1390 bool _internal_has_simple_optimality_criteria() const;
1391
1392 public:
1394 const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria& simple_optimality_criteria() const;
1400
1401 private:
1402 const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria& _internal_simple_optimality_criteria() const;
1403 ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL _internal_mutable_simple_optimality_criteria();
1404
1405 public:
1406 // .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
1408 private:
1409 bool _internal_has_detailed_optimality_criteria() const;
1410
1411 public:
1413 const ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria& detailed_optimality_criteria() const;
1419
1420 private:
1421 const ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria& _internal_detailed_optimality_criteria() const;
1422 ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL _internal_mutable_detailed_optimality_criteria();
1423
1424 public:
1427 // @@protoc_insertion_point(class_scope:operations_research.pdlp.TerminationCriteria)
1428 private:
1429 class _Internal;
1430 void set_has_simple_optimality_criteria();
1431 void set_has_detailed_optimality_criteria();
1432 inline bool has_optimality_criteria() const;
1433 inline void clear_has_optimality_criteria();
1434 friend class ::google::protobuf::internal::TcParser;
1435 static const ::google::protobuf::internal::TcParseTable<3, 10,
1436 3, 0,
1437 2>
1438 _table_;
1439
1440 friend class ::google::protobuf::MessageLite;
1441 friend class ::google::protobuf::Arena;
1442 template <typename T>
1443 friend class ::google::protobuf::Arena::InternalHelper;
1444 using InternalArenaConstructable_ = void;
1445 using DestructorSkippable_ = void;
1446 struct Impl_ {
1447 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1448 inline explicit Impl_(
1449 ::google::protobuf::internal::InternalVisibility visibility,
1450 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1451 inline explicit Impl_(
1452 ::google::protobuf::internal::InternalVisibility visibility,
1453 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1454 const TerminationCriteria& from_msg);
1455 ::google::protobuf::internal::HasBits<1> _has_bits_;
1456 ::google::protobuf::internal::CachedSize _cached_size_;
1457 double eps_optimal_absolute_;
1458 double eps_optimal_relative_;
1459 double eps_primal_infeasible_;
1460 int optimality_norm_;
1461 ::int32_t iteration_limit_;
1462 double eps_dual_infeasible_;
1463 double time_sec_limit_;
1464 double kkt_matrix_pass_limit_;
1465 union OptimalityCriteriaUnion {
1466 constexpr OptimalityCriteriaUnion() : _constinit_{} {}
1467 ::google::protobuf::internal::ConstantInitialized _constinit_;
1468 ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NULLABLE simple_optimality_criteria_;
1469 ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NULLABLE detailed_optimality_criteria_;
1470 } optimality_criteria_;
1471 ::uint32_t _oneof_case_[1];
1472 PROTOBUF_TSAN_DECLARE_MEMBER
1474 union { Impl_ _impl_; };
1475 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
1476};
1477
1478OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TerminationCriteria_class_data_;
1479// -------------------------------------------------------------------
1481class OR_PROTO_DLL PrimalDualHybridGradientParams_PresolveOptions final : public ::google::protobuf::Message
1482/* @@protoc_insertion_point(class_definition:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions) */ {
1483 public:
1486
1487#if defined(PROTOBUF_CUSTOM_VTABLE)
1488 void operator delete(PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1489 SharedDtor(*msg);
1490 ::google::protobuf::internal::SizedDelete(msg, sizeof(PrimalDualHybridGradientParams_PresolveOptions));
1492#endif
1493
1494 template <typename = void>
1495 explicit PROTOBUF_CONSTEXPR PrimalDualHybridGradientParams_PresolveOptions(::google::protobuf::internal::ConstantInitialized);
1496
1498 inline PrimalDualHybridGradientParams_PresolveOptions(PrimalDualHybridGradientParams_PresolveOptions&& from) noexcept
1499 : PrimalDualHybridGradientParams_PresolveOptions(nullptr, ::std::move(from)) {}
1500 inline PrimalDualHybridGradientParams_PresolveOptions& operator=(const PrimalDualHybridGradientParams_PresolveOptions& from) {
1501 CopyFrom(from);
1502 return *this;
1503 }
1505 if (this == &from) return *this;
1506 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1507 InternalSwap(&from);
1508 } else {
1509 CopyFrom(from);
1510 }
1511 return *this;
1512 }
1513
1514 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1515 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1516 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1517 }
1518 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1519 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1520 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1522
1523 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1524 return GetDescriptor();
1526 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1527 return default_instance().GetMetadata().descriptor;
1528 }
1529 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1530 return default_instance().GetMetadata().reflection;
1531 }
1532 static const PrimalDualHybridGradientParams_PresolveOptions& default_instance() {
1536 static constexpr int kIndexInFileMessages = 5;
1538 inline void Swap(PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL other) {
1539 if (other == this) return;
1540 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1541 InternalSwap(other);
1542 } else {
1543 ::google::protobuf::internal::GenericSwap(this, other);
1546 void UnsafeArenaSwap(PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL other) {
1547 if (other == this) return;
1548 ABSL_DCHECK(GetArena() == other->GetArena());
1549 InternalSwap(other);
1550 }
1551
1552 // implements Message ----------------------------------------------
1554 PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1555 return ::google::protobuf::Message::DefaultConstruct<PrimalDualHybridGradientParams_PresolveOptions>(arena);
1556 }
1557 using ::google::protobuf::Message::CopyFrom;
1558 void CopyFrom(const PrimalDualHybridGradientParams_PresolveOptions& from);
1559 using ::google::protobuf::Message::MergeFrom;
1560 void MergeFrom(const PrimalDualHybridGradientParams_PresolveOptions& from) { PrimalDualHybridGradientParams_PresolveOptions::MergeImpl(*this, from); }
1562 private:
1563 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1564 const ::google::protobuf::MessageLite& from_msg);
1565
1566 public:
1567 bool IsInitialized() const {
1568 return true;
1569 }
1570 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1571 #if defined(PROTOBUF_CUSTOM_VTABLE)
1572 private:
1573 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1574 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1575 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1576 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1577
1578 public:
1579 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1580 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1581 ::uint8_t* PROTOBUF_NONNULL target,
1582 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1583 return _InternalSerialize(*this, target, stream);
1584 }
1585 #else // PROTOBUF_CUSTOM_VTABLE
1586 ::size_t ByteSizeLong() const final;
1587 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1588 ::uint8_t* PROTOBUF_NONNULL target,
1589 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1590 #endif // PROTOBUF_CUSTOM_VTABLE
1591 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1592
1593 private:
1594 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1595 static void SharedDtor(MessageLite& self);
1596 void InternalSwap(PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL other);
1597 private:
1598 template <typename T>
1599 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1600 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions"; }
1601
1602 explicit PrimalDualHybridGradientParams_PresolveOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1603 PrimalDualHybridGradientParams_PresolveOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PrimalDualHybridGradientParams_PresolveOptions& from);
1605 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PrimalDualHybridGradientParams_PresolveOptions&& from) noexcept
1607 *this = ::std::move(from);
1608 }
1609 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1610 static void* PROTOBUF_NONNULL PlacementNew_(
1611 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1612 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1613 static constexpr auto InternalNewImpl_();
1614
1615 public:
1616 static constexpr auto InternalGenerateClassData_();
1617
1618 ::google::protobuf::Metadata GetMetadata() const;
1619 // nested types ----------------------------------------------------
1620
1621 // accessors -------------------------------------------------------
1622 enum : int {
1623 kGlopParametersFieldNumber = 2,
1624 kUseGlopFieldNumber = 1,
1625 };
1626 // optional .operations_research.glop.GlopParameters glop_parameters = 2;
1627 bool has_glop_parameters() const;
1628 void clear_glop_parameters() ;
1629 const ::operations_research::glop::GlopParameters& glop_parameters() const;
1635
1636 private:
1637 const ::operations_research::glop::GlopParameters& _internal_glop_parameters() const;
1638 ::operations_research::glop::GlopParameters* PROTOBUF_NONNULL _internal_mutable_glop_parameters();
1639
1640 public:
1641 // optional bool use_glop = 1;
1642 bool has_use_glop() const;
1643 void clear_use_glop() ;
1644 bool use_glop() const;
1645 void set_use_glop(bool value);
1646
1647 private:
1648 bool _internal_use_glop() const;
1649 void _internal_set_use_glop(bool value);
1650
1651 public:
1652 // @@protoc_insertion_point(class_scope:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
1653 private:
1654 class _Internal;
1655 friend class ::google::protobuf::internal::TcParser;
1656 static const ::google::protobuf::internal::TcParseTable<1, 2,
1657 1, 0,
1658 2>
1659 _table_;
1660
1661 friend class ::google::protobuf::MessageLite;
1662 friend class ::google::protobuf::Arena;
1663 template <typename T>
1664 friend class ::google::protobuf::Arena::InternalHelper;
1665 using InternalArenaConstructable_ = void;
1666 using DestructorSkippable_ = void;
1667 struct Impl_ {
1668 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1669 inline explicit Impl_(
1670 ::google::protobuf::internal::InternalVisibility visibility,
1671 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1672 inline explicit Impl_(
1673 ::google::protobuf::internal::InternalVisibility visibility,
1674 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1676 ::google::protobuf::internal::HasBits<1> _has_bits_;
1677 ::google::protobuf::internal::CachedSize _cached_size_;
1678 ::operations_research::glop::GlopParameters* PROTOBUF_NULLABLE glop_parameters_;
1679 bool use_glop_;
1680 PROTOBUF_TSAN_DECLARE_MEMBER
1681 };
1682 union { Impl_ _impl_; };
1683 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
1684};
1685
1686OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PrimalDualHybridGradientParams_PresolveOptions_class_data_;
1687// -------------------------------------------------------------------
1688
1689class OR_PROTO_DLL PrimalDualHybridGradientParams final : public ::google::protobuf::Message
1690/* @@protoc_insertion_point(class_definition:operations_research.pdlp.PrimalDualHybridGradientParams) */ {
1691 public:
1693 ~PrimalDualHybridGradientParams() PROTOBUF_FINAL;
1694
1695#if defined(PROTOBUF_CUSTOM_VTABLE)
1696 void operator delete(PrimalDualHybridGradientParams* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1697 SharedDtor(*msg);
1698 ::google::protobuf::internal::SizedDelete(msg, sizeof(PrimalDualHybridGradientParams));
1699 }
1700#endif
1701
1702 template <typename = void>
1703 explicit PROTOBUF_CONSTEXPR PrimalDualHybridGradientParams(::google::protobuf::internal::ConstantInitialized);
1704
1707 : PrimalDualHybridGradientParams(nullptr, ::std::move(from)) {}
1708 inline PrimalDualHybridGradientParams& operator=(const PrimalDualHybridGradientParams& from) {
1709 CopyFrom(from);
1710 return *this;
1712 inline PrimalDualHybridGradientParams& operator=(PrimalDualHybridGradientParams&& from) noexcept {
1713 if (this == &from) return *this;
1714 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1715 InternalSwap(&from);
1716 } else {
1717 CopyFrom(from);
1718 }
1719 return *this;
1721
1722 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1723 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1724 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1725 }
1726 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1727 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1728 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1729 }
1731 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1732 return GetDescriptor();
1733 }
1734 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1735 return default_instance().GetMetadata().descriptor;
1736 }
1737 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1738 return default_instance().GetMetadata().reflection;
1740 static const PrimalDualHybridGradientParams& default_instance() {
1741 return *reinterpret_cast<const PrimalDualHybridGradientParams*>(
1743 }
1744 static constexpr int kIndexInFileMessages = 6;
1746 inline void Swap(PrimalDualHybridGradientParams* PROTOBUF_NONNULL other) {
1747 if (other == this) return;
1748 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1749 InternalSwap(other);
1750 } else {
1751 ::google::protobuf::internal::GenericSwap(this, other);
1754 void UnsafeArenaSwap(PrimalDualHybridGradientParams* PROTOBUF_NONNULL other) {
1755 if (other == this) return;
1756 ABSL_DCHECK(GetArena() == other->GetArena());
1757 InternalSwap(other);
1758 }
1759
1760 // implements Message ----------------------------------------------
1761
1762 PrimalDualHybridGradientParams* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1763 return ::google::protobuf::Message::DefaultConstruct<PrimalDualHybridGradientParams>(arena);
1764 }
1765 using ::google::protobuf::Message::CopyFrom;
1766 void CopyFrom(const PrimalDualHybridGradientParams& from);
1767 using ::google::protobuf::Message::MergeFrom;
1768 void MergeFrom(const PrimalDualHybridGradientParams& from) { PrimalDualHybridGradientParams::MergeImpl(*this, from); }
1769
1770 private:
1771 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1772 const ::google::protobuf::MessageLite& from_msg);
1773
1774 public:
1775 bool IsInitialized() const {
1776 return true;
1777 }
1778 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1779 #if defined(PROTOBUF_CUSTOM_VTABLE)
1780 private:
1781 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1782 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1783 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1784 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1785
1786 public:
1787 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1788 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1789 ::uint8_t* PROTOBUF_NONNULL target,
1790 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1791 return _InternalSerialize(*this, target, stream);
1792 }
1793 #else // PROTOBUF_CUSTOM_VTABLE
1794 ::size_t ByteSizeLong() const final;
1795 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1796 ::uint8_t* PROTOBUF_NONNULL target,
1797 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1798 #endif // PROTOBUF_CUSTOM_VTABLE
1799 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1800
1801 private:
1802 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1803 static void SharedDtor(MessageLite& self);
1804 void InternalSwap(PrimalDualHybridGradientParams* PROTOBUF_NONNULL other);
1805 private:
1806 template <typename T>
1808 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.PrimalDualHybridGradientParams"; }
1809
1810 explicit PrimalDualHybridGradientParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1811 PrimalDualHybridGradientParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PrimalDualHybridGradientParams& from);
1813 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PrimalDualHybridGradientParams&& from) noexcept
1815 *this = ::std::move(from);
1816 }
1817 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1818 static void* PROTOBUF_NONNULL PlacementNew_(
1819 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1820 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1821 static constexpr auto InternalNewImpl_();
1822
1823 public:
1824 static constexpr auto InternalGenerateClassData_();
1825
1826 ::google::protobuf::Metadata GetMetadata() const;
1827 // nested types ----------------------------------------------------
1828 using PresolveOptions = PrimalDualHybridGradientParams_PresolveOptions;
1829 using RestartStrategy = PrimalDualHybridGradientParams_RestartStrategy;
1830 static constexpr RestartStrategy RESTART_STRATEGY_UNSPECIFIED = PrimalDualHybridGradientParams_RestartStrategy_RESTART_STRATEGY_UNSPECIFIED;
1831 static constexpr RestartStrategy NO_RESTARTS = PrimalDualHybridGradientParams_RestartStrategy_NO_RESTARTS;
1832 static constexpr RestartStrategy EVERY_MAJOR_ITERATION = PrimalDualHybridGradientParams_RestartStrategy_EVERY_MAJOR_ITERATION;
1833 static constexpr RestartStrategy ADAPTIVE_HEURISTIC = PrimalDualHybridGradientParams_RestartStrategy_ADAPTIVE_HEURISTIC;
1834 static constexpr RestartStrategy ADAPTIVE_DISTANCE_BASED = PrimalDualHybridGradientParams_RestartStrategy_ADAPTIVE_DISTANCE_BASED;
1835 static inline bool RestartStrategy_IsValid(int value) {
1841 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RestartStrategy_descriptor() {
1844 template <typename T>
1845 static inline const ::std::string& RestartStrategy_Name(T value) {
1848 static inline bool RestartStrategy_Parse(
1849 ::absl::string_view name, RestartStrategy* PROTOBUF_NONNULL value) {
1851 }
1852 using LinesearchRule = PrimalDualHybridGradientParams_LinesearchRule;
1863 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL LinesearchRule_descriptor() {
1866 template <typename T>
1867 static inline const ::std::string& LinesearchRule_Name(T value) {
1870 static inline bool LinesearchRule_Parse(
1871 ::absl::string_view name, LinesearchRule* PROTOBUF_NONNULL value) {
1873 }
1874
1875 // accessors -------------------------------------------------------
1876 enum : int {
1907 // repeated int32 random_projection_seeds = 28 [packed = true];
1909 private:
1910 int _internal_random_projection_seeds_size() const;
1912 public:
1914 ::int32_t random_projection_seeds(int index) const;
1915 void set_random_projection_seeds(int index, ::int32_t value);
1916 void add_random_projection_seeds(::int32_t value);
1917 const ::google::protobuf::RepeatedField<::int32_t>& random_projection_seeds() const;
1918 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_random_projection_seeds();
1919
1920 private:
1921 const ::google::protobuf::RepeatedField<::int32_t>& _internal_random_projection_seeds() const;
1922 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_random_projection_seeds();
1923
1924 public:
1925 // optional .operations_research.pdlp.TerminationCriteria termination_criteria = 1;
1926 bool has_termination_criteria() const;
1928 const ::operations_research::pdlp::TerminationCriteria& termination_criteria() const;
1934
1935 private:
1936 const ::operations_research::pdlp::TerminationCriteria& _internal_termination_criteria() const;
1937 ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NONNULL _internal_mutable_termination_criteria();
1938
1939 public:
1940 // optional .operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions presolve_options = 16;
1941 bool has_presolve_options() const;
1942 void clear_presolve_options() ;
1943 const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions& presolve_options() const;
1949
1950 private:
1951 const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions& _internal_presolve_options() const;
1952 ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL _internal_mutable_presolve_options();
1953
1954 public:
1955 // optional .operations_research.pdlp.AdaptiveLinesearchParams adaptive_linesearch_parameters = 18;
1958 const ::operations_research::pdlp::AdaptiveLinesearchParams& adaptive_linesearch_parameters() const;
1964
1965 private:
1966 const ::operations_research::pdlp::AdaptiveLinesearchParams& _internal_adaptive_linesearch_parameters() const;
1967 ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NONNULL _internal_mutable_adaptive_linesearch_parameters();
1968
1969 public:
1970 // optional .operations_research.pdlp.MalitskyPockParams malitsky_pock_parameters = 19;
1971 bool has_malitsky_pock_parameters() const;
1973 const ::operations_research::pdlp::MalitskyPockParams& malitsky_pock_parameters() const;
1979
1980 private:
1981 const ::operations_research::pdlp::MalitskyPockParams& _internal_malitsky_pock_parameters() const;
1982 ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NONNULL _internal_mutable_malitsky_pock_parameters();
1983
1984 public:
1985 // optional double initial_primal_weight = 8;
1986 bool has_initial_primal_weight() const;
1988 double initial_primal_weight() const;
1989 void set_initial_primal_weight(double value);
1990
1991 private:
1992 double _internal_initial_primal_weight() const;
1993 void _internal_set_initial_primal_weight(double value);
1994
1995 public:
1996 // optional bool record_iteration_stats = 3;
1997 bool has_record_iteration_stats() const;
1999 bool record_iteration_stats() const;
2000 void set_record_iteration_stats(bool value);
2001
2002 private:
2003 bool _internal_record_iteration_stats() const;
2004 void _internal_set_record_iteration_stats(bool value);
2005
2006 public:
2007 // optional bool use_diagonal_qp_trust_region_solver = 23 [default = false];
2012
2013 private:
2014 bool _internal_use_diagonal_qp_trust_region_solver() const;
2015 void _internal_set_use_diagonal_qp_trust_region_solver(bool value);
2016
2017 public:
2018 // optional bool use_feasibility_polishing = 30 [default = false];
2019 bool has_use_feasibility_polishing() const;
2021 bool use_feasibility_polishing() const;
2022 void set_use_feasibility_polishing(bool value);
2023
2024 private:
2025 bool _internal_use_feasibility_polishing() const;
2026 void _internal_set_use_feasibility_polishing(bool value);
2027
2028 public:
2029 // optional int32 verbosity_level = 26 [default = 0];
2030 bool has_verbosity_level() const;
2031 void clear_verbosity_level() ;
2032 ::int32_t verbosity_level() const;
2033 void set_verbosity_level(::int32_t value);
2034
2035 private:
2036 ::int32_t _internal_verbosity_level() const;
2037 void _internal_set_verbosity_level(::int32_t value);
2038
2039 public:
2040 // optional double log_interval_seconds = 31 [default = 0];
2041 bool has_log_interval_seconds() const;
2043 double log_interval_seconds() const;
2044 void set_log_interval_seconds(double value);
2045
2046 private:
2047 double _internal_log_interval_seconds() const;
2048 void _internal_set_log_interval_seconds(double value);
2049
2050 public:
2051 // optional int32 num_shards = 27 [default = 0];
2052 bool has_num_shards() const;
2053 void clear_num_shards() ;
2054 ::int32_t num_shards() const;
2055 void set_num_shards(::int32_t value);
2056
2057 private:
2058 ::int32_t _internal_num_shards() const;
2059 void _internal_set_num_shards(::int32_t value);
2060
2061 public:
2062 // optional bool apply_feasibility_polishing_after_limits_reached = 33 [default = false];
2067
2068 private:
2069 bool _internal_apply_feasibility_polishing_after_limits_reached() const;
2070 void _internal_set_apply_feasibility_polishing_after_limits_reached(bool value);
2071
2072 public:
2073 // optional bool apply_feasibility_polishing_if_solver_is_interrupted = 34 [default = false];
2078
2079 private:
2080 bool _internal_apply_feasibility_polishing_if_solver_is_interrupted() const;
2081 void _internal_set_apply_feasibility_polishing_if_solver_is_interrupted(bool value);
2082
2083 public:
2084 // optional int32 num_threads = 2 [default = 1];
2085 bool has_num_threads() const;
2086 void clear_num_threads() ;
2087 ::int32_t num_threads() const;
2088 void set_num_threads(::int32_t value);
2089
2090 private:
2091 ::int32_t _internal_num_threads() const;
2092 void _internal_set_num_threads(::int32_t value);
2093
2094 public:
2095 // optional int32 major_iteration_frequency = 4 [default = 64];
2096 bool has_major_iteration_frequency() const;
2098 ::int32_t major_iteration_frequency() const;
2099 void set_major_iteration_frequency(::int32_t value);
2100
2101 private:
2102 ::int32_t _internal_major_iteration_frequency() const;
2103 void _internal_set_major_iteration_frequency(::int32_t value);
2104
2105 public:
2106 // optional int32 termination_check_frequency = 5 [default = 64];
2109 ::int32_t termination_check_frequency() const;
2110 void set_termination_check_frequency(::int32_t value);
2111
2112 private:
2113 ::int32_t _internal_termination_check_frequency() const;
2114 void _internal_set_termination_check_frequency(::int32_t value);
2115
2116 public:
2117 // optional .operations_research.pdlp.PrimalDualHybridGradientParams.RestartStrategy restart_strategy = 6 [default = ADAPTIVE_HEURISTIC];
2118 bool has_restart_strategy() const;
2119 void clear_restart_strategy() ;
2122
2123 private:
2125 void _internal_set_restart_strategy(::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy value);
2126
2127 public:
2128 // optional double primal_weight_update_smoothing = 7 [default = 0.5];
2131 double primal_weight_update_smoothing() const;
2132 void set_primal_weight_update_smoothing(double value);
2133
2134 private:
2135 double _internal_primal_weight_update_smoothing() const;
2136 void _internal_set_primal_weight_update_smoothing(double value);
2137
2138 public:
2139 // optional int32 l_inf_ruiz_iterations = 9 [default = 5];
2140 bool has_l_inf_ruiz_iterations() const;
2142 ::int32_t l_inf_ruiz_iterations() const;
2143 void set_l_inf_ruiz_iterations(::int32_t value);
2144
2145 private:
2146 ::int32_t _internal_l_inf_ruiz_iterations() const;
2147 void _internal_set_l_inf_ruiz_iterations(::int32_t value);
2148
2149 public:
2150 // optional .operations_research.pdlp.PrimalDualHybridGradientParams.LinesearchRule linesearch_rule = 12 [default = ADAPTIVE_LINESEARCH_RULE];
2151 bool has_linesearch_rule() const;
2152 void clear_linesearch_rule() ;
2155
2156 private:
2159
2160 public:
2161 // optional double sufficient_reduction_for_restart = 11 [default = 0.1];
2164 double sufficient_reduction_for_restart() const;
2165 void set_sufficient_reduction_for_restart(double value);
2166
2167 private:
2168 double _internal_sufficient_reduction_for_restart() const;
2169 void _internal_set_sufficient_reduction_for_restart(double value);
2170
2171 public:
2172 // optional double necessary_reduction_for_restart = 17 [default = 0.9];
2175 double necessary_reduction_for_restart() const;
2176 void set_necessary_reduction_for_restart(double value);
2177
2178 private:
2179 double _internal_necessary_reduction_for_restart() const;
2180 void _internal_set_necessary_reduction_for_restart(double value);
2181
2182 public:
2183 // optional double infinite_constraint_bound_threshold = 22 [default = inf];
2187 void set_infinite_constraint_bound_threshold(double value);
2188
2189 private:
2190 double _internal_infinite_constraint_bound_threshold() const;
2191 void _internal_set_infinite_constraint_bound_threshold(double value);
2192
2193 public:
2194 // optional bool l2_norm_rescaling = 10 [default = true];
2195 bool has_l2_norm_rescaling() const;
2197 bool l2_norm_rescaling() const;
2198 void set_l2_norm_rescaling(bool value);
2199
2200 private:
2201 bool _internal_l2_norm_rescaling() const;
2202 void _internal_set_l2_norm_rescaling(bool value);
2203
2204 public:
2205 // optional bool handle_some_primal_gradients_on_finite_bounds_as_residuals = 29 [default = true];
2210
2211 private:
2212 bool _internal_handle_some_primal_gradients_on_finite_bounds_as_residuals() const;
2213 void _internal_set_handle_some_primal_gradients_on_finite_bounds_as_residuals(bool value);
2214
2215 public:
2216 // optional .operations_research.pdlp.SchedulerType scheduler_type = 32 [default = SCHEDULER_TYPE_GOOGLE_THREADPOOL];
2217 bool has_scheduler_type() const;
2218 void clear_scheduler_type() ;
2221
2222 private:
2223 ::operations_research::pdlp::SchedulerType _internal_scheduler_type() const;
2224 void _internal_set_scheduler_type(::operations_research::pdlp::SchedulerType value);
2225
2226 public:
2227 // optional double diagonal_qp_trust_region_solver_tolerance = 24 [default = 1e-08];
2232
2233 private:
2234 double _internal_diagonal_qp_trust_region_solver_tolerance() const;
2235 void _internal_set_diagonal_qp_trust_region_solver_tolerance(double value);
2236
2237 public:
2238 // optional double initial_step_size_scaling = 25 [default = 1];
2239 bool has_initial_step_size_scaling() const;
2241 double initial_step_size_scaling() const;
2242 void set_initial_step_size_scaling(double value);
2243
2244 private:
2245 double _internal_initial_step_size_scaling() const;
2246 void _internal_set_initial_step_size_scaling(double value);
2247
2248 public:
2249 // @@protoc_insertion_point(class_scope:operations_research.pdlp.PrimalDualHybridGradientParams)
2250 private:
2251 class _Internal;
2252 friend class ::google::protobuf::internal::TcParser;
2253 static const ::google::protobuf::internal::TcParseTable<5, 29,
2254 7, 0,
2255 7>
2256 _table_;
2257
2258 friend class ::google::protobuf::MessageLite;
2259 friend class ::google::protobuf::Arena;
2260 template <typename T>
2261 friend class ::google::protobuf::Arena::InternalHelper;
2262 using InternalArenaConstructable_ = void;
2263 using DestructorSkippable_ = void;
2264 struct Impl_ {
2265 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2266 inline explicit Impl_(
2267 ::google::protobuf::internal::InternalVisibility visibility,
2268 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2269 inline explicit Impl_(
2270 ::google::protobuf::internal::InternalVisibility visibility,
2271 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2272 const PrimalDualHybridGradientParams& from_msg);
2273 ::google::protobuf::internal::HasBits<1> _has_bits_;
2274 ::google::protobuf::internal::CachedSize _cached_size_;
2275 ::google::protobuf::RepeatedField<::int32_t> random_projection_seeds_;
2276 ::google::protobuf::internal::CachedSize _random_projection_seeds_cached_byte_size_;
2277 ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NULLABLE termination_criteria_;
2279 ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NULLABLE adaptive_linesearch_parameters_;
2280 ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NULLABLE malitsky_pock_parameters_;
2281 double initial_primal_weight_;
2282 bool record_iteration_stats_;
2283 bool use_diagonal_qp_trust_region_solver_;
2284 bool use_feasibility_polishing_;
2285 ::int32_t verbosity_level_;
2286 double log_interval_seconds_;
2287 ::int32_t num_shards_;
2288 bool apply_feasibility_polishing_after_limits_reached_;
2289 bool apply_feasibility_polishing_if_solver_is_interrupted_;
2290 ::int32_t num_threads_;
2291 ::int32_t major_iteration_frequency_;
2292 ::int32_t termination_check_frequency_;
2293 int restart_strategy_;
2294 double primal_weight_update_smoothing_;
2295 ::int32_t l_inf_ruiz_iterations_;
2296 int linesearch_rule_;
2297 double sufficient_reduction_for_restart_;
2298 double necessary_reduction_for_restart_;
2299 double infinite_constraint_bound_threshold_;
2300 bool l2_norm_rescaling_;
2301 bool handle_some_primal_gradients_on_finite_bounds_as_residuals_;
2302 int scheduler_type_;
2303 double diagonal_qp_trust_region_solver_tolerance_;
2304 double initial_step_size_scaling_;
2305 PROTOBUF_TSAN_DECLARE_MEMBER
2306 };
2307 union { Impl_ _impl_; };
2308 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
2309};
2310
2311OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PrimalDualHybridGradientParams_class_data_;
2312
2313// ===================================================================
2314
2317
2318// ===================================================================
2319
2320
2321#ifdef __GNUC__
2322#pragma GCC diagnostic push
2323#pragma GCC diagnostic ignored "-Wstrict-aliasing"
2324#endif // __GNUC__
2325// -------------------------------------------------------------------
2326
2327// TerminationCriteria_SimpleOptimalityCriteria
2328
2329// optional double eps_optimal_absolute = 1 [default = 1e-06];
2331 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
2332 return value;
2333}
2335 ::google::protobuf::internal::TSanWrite(&_impl_);
2336 _impl_.eps_optimal_absolute_ = 1e-06;
2337 ClearHasBit(_impl_._has_bits_[0],
2338 0x00000001U);
2339}
2341 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria.eps_optimal_absolute)
2342 return _internal_eps_optimal_absolute();
2343}
2345 _internal_set_eps_optimal_absolute(value);
2346 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
2347 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria.eps_optimal_absolute)
2348}
2349inline double TerminationCriteria_SimpleOptimalityCriteria::_internal_eps_optimal_absolute() const {
2350 ::google::protobuf::internal::TSanRead(&_impl_);
2351 return _impl_.eps_optimal_absolute_;
2352}
2353inline void TerminationCriteria_SimpleOptimalityCriteria::_internal_set_eps_optimal_absolute(double value) {
2354 ::google::protobuf::internal::TSanWrite(&_impl_);
2355 _impl_.eps_optimal_absolute_ = value;
2356}
2357
2358// optional double eps_optimal_relative = 2 [default = 1e-06];
2360 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
2361 return value;
2362}
2364 ::google::protobuf::internal::TSanWrite(&_impl_);
2365 _impl_.eps_optimal_relative_ = 1e-06;
2366 ClearHasBit(_impl_._has_bits_[0],
2367 0x00000002U);
2368}
2370 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria.eps_optimal_relative)
2371 return _internal_eps_optimal_relative();
2372}
2374 _internal_set_eps_optimal_relative(value);
2375 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
2376 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria.eps_optimal_relative)
2377}
2378inline double TerminationCriteria_SimpleOptimalityCriteria::_internal_eps_optimal_relative() const {
2379 ::google::protobuf::internal::TSanRead(&_impl_);
2380 return _impl_.eps_optimal_relative_;
2381}
2382inline void TerminationCriteria_SimpleOptimalityCriteria::_internal_set_eps_optimal_relative(double value) {
2383 ::google::protobuf::internal::TSanWrite(&_impl_);
2384 _impl_.eps_optimal_relative_ = value;
2385}
2386
2387// -------------------------------------------------------------------
2388
2389// TerminationCriteria_DetailedOptimalityCriteria
2390
2391// optional double eps_optimal_primal_residual_absolute = 1 [default = 1e-06];
2393 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
2394 return value;
2395}
2397 ::google::protobuf::internal::TSanWrite(&_impl_);
2398 _impl_.eps_optimal_primal_residual_absolute_ = 1e-06;
2399 ClearHasBit(_impl_._has_bits_[0],
2400 0x00000001U);
2401}
2403 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_primal_residual_absolute)
2404 return _internal_eps_optimal_primal_residual_absolute();
2405}
2407 _internal_set_eps_optimal_primal_residual_absolute(value);
2408 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
2409 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_primal_residual_absolute)
2410}
2411inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_primal_residual_absolute() const {
2412 ::google::protobuf::internal::TSanRead(&_impl_);
2413 return _impl_.eps_optimal_primal_residual_absolute_;
2415inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_primal_residual_absolute(double value) {
2416 ::google::protobuf::internal::TSanWrite(&_impl_);
2417 _impl_.eps_optimal_primal_residual_absolute_ = value;
2419
2420// optional double eps_optimal_primal_residual_relative = 2 [default = 1e-06];
2422 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
2423 return value;
2424}
2426 ::google::protobuf::internal::TSanWrite(&_impl_);
2427 _impl_.eps_optimal_primal_residual_relative_ = 1e-06;
2428 ClearHasBit(_impl_._has_bits_[0],
2429 0x00000002U);
2430}
2432 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_primal_residual_relative)
2433 return _internal_eps_optimal_primal_residual_relative();
2434}
2436 _internal_set_eps_optimal_primal_residual_relative(value);
2437 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
2438 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_primal_residual_relative)
2439}
2440inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_primal_residual_relative() const {
2441 ::google::protobuf::internal::TSanRead(&_impl_);
2442 return _impl_.eps_optimal_primal_residual_relative_;
2444inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_primal_residual_relative(double value) {
2445 ::google::protobuf::internal::TSanWrite(&_impl_);
2446 _impl_.eps_optimal_primal_residual_relative_ = value;
2448
2449// optional double eps_optimal_dual_residual_absolute = 3 [default = 1e-06];
2451 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
2452 return value;
2453}
2455 ::google::protobuf::internal::TSanWrite(&_impl_);
2456 _impl_.eps_optimal_dual_residual_absolute_ = 1e-06;
2457 ClearHasBit(_impl_._has_bits_[0],
2458 0x00000004U);
2459}
2461 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_dual_residual_absolute)
2462 return _internal_eps_optimal_dual_residual_absolute();
2463}
2465 _internal_set_eps_optimal_dual_residual_absolute(value);
2466 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
2467 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_dual_residual_absolute)
2468}
2469inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_dual_residual_absolute() const {
2470 ::google::protobuf::internal::TSanRead(&_impl_);
2471 return _impl_.eps_optimal_dual_residual_absolute_;
2473inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_dual_residual_absolute(double value) {
2474 ::google::protobuf::internal::TSanWrite(&_impl_);
2475 _impl_.eps_optimal_dual_residual_absolute_ = value;
2477
2478// optional double eps_optimal_dual_residual_relative = 4 [default = 1e-06];
2480 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
2481 return value;
2482}
2484 ::google::protobuf::internal::TSanWrite(&_impl_);
2485 _impl_.eps_optimal_dual_residual_relative_ = 1e-06;
2486 ClearHasBit(_impl_._has_bits_[0],
2487 0x00000008U);
2488}
2490 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_dual_residual_relative)
2491 return _internal_eps_optimal_dual_residual_relative();
2492}
2494 _internal_set_eps_optimal_dual_residual_relative(value);
2495 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
2496 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_dual_residual_relative)
2497}
2498inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_dual_residual_relative() const {
2499 ::google::protobuf::internal::TSanRead(&_impl_);
2500 return _impl_.eps_optimal_dual_residual_relative_;
2502inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_dual_residual_relative(double value) {
2503 ::google::protobuf::internal::TSanWrite(&_impl_);
2504 _impl_.eps_optimal_dual_residual_relative_ = value;
2506
2507// optional double eps_optimal_objective_gap_absolute = 5 [default = 1e-06];
2509 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
2510 return value;
2511}
2513 ::google::protobuf::internal::TSanWrite(&_impl_);
2514 _impl_.eps_optimal_objective_gap_absolute_ = 1e-06;
2515 ClearHasBit(_impl_._has_bits_[0],
2516 0x00000010U);
2517}
2519 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_objective_gap_absolute)
2520 return _internal_eps_optimal_objective_gap_absolute();
2521}
2523 _internal_set_eps_optimal_objective_gap_absolute(value);
2524 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
2525 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_objective_gap_absolute)
2526}
2527inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_objective_gap_absolute() const {
2528 ::google::protobuf::internal::TSanRead(&_impl_);
2529 return _impl_.eps_optimal_objective_gap_absolute_;
2531inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_objective_gap_absolute(double value) {
2532 ::google::protobuf::internal::TSanWrite(&_impl_);
2533 _impl_.eps_optimal_objective_gap_absolute_ = value;
2535
2536// optional double eps_optimal_objective_gap_relative = 6 [default = 1e-06];
2538 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
2539 return value;
2540}
2542 ::google::protobuf::internal::TSanWrite(&_impl_);
2543 _impl_.eps_optimal_objective_gap_relative_ = 1e-06;
2544 ClearHasBit(_impl_._has_bits_[0],
2545 0x00000020U);
2546}
2548 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_objective_gap_relative)
2549 return _internal_eps_optimal_objective_gap_relative();
2550}
2552 _internal_set_eps_optimal_objective_gap_relative(value);
2553 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
2554 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_objective_gap_relative)
2555}
2556inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_objective_gap_relative() const {
2557 ::google::protobuf::internal::TSanRead(&_impl_);
2558 return _impl_.eps_optimal_objective_gap_relative_;
2560inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_objective_gap_relative(double value) {
2561 ::google::protobuf::internal::TSanWrite(&_impl_);
2562 _impl_.eps_optimal_objective_gap_relative_ = value;
2564
2565// -------------------------------------------------------------------
2566
2567// TerminationCriteria
2568
2569// optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
2570inline bool TerminationCriteria::has_optimality_norm() const {
2571 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
2572 return value;
2573}
2575 ::google::protobuf::internal::TSanWrite(&_impl_);
2576 _impl_.optimality_norm_ = 2;
2577 ClearHasBit(_impl_._has_bits_[0],
2578 0x00000008U);
2579}
2580inline ::operations_research::pdlp::OptimalityNorm TerminationCriteria::optimality_norm() const {
2581 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.optimality_norm)
2582 return _internal_optimality_norm();
2585 _internal_set_optimality_norm(value);
2586 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
2587 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.optimality_norm)
2588}
2589inline ::operations_research::pdlp::OptimalityNorm TerminationCriteria::_internal_optimality_norm() const {
2590 ::google::protobuf::internal::TSanRead(&_impl_);
2591 return static_cast<::operations_research::pdlp::OptimalityNorm>(_impl_.optimality_norm_);
2592}
2593inline void TerminationCriteria::_internal_set_optimality_norm(::operations_research::pdlp::OptimalityNorm value) {
2594 ::google::protobuf::internal::TSanWrite(&_impl_);
2595
2596 assert(::google::protobuf::internal::ValidateEnum(
2598 _impl_.optimality_norm_ = value;
2599}
2600
2601// .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
2604}
2605inline bool TerminationCriteria::_internal_has_simple_optimality_criteria() const {
2607}
2608inline void TerminationCriteria::set_has_simple_optimality_criteria() {
2609 _impl_._oneof_case_[0] = kSimpleOptimalityCriteria;
2610}
2612 ::google::protobuf::internal::TSanWrite(&_impl_);
2614 if (GetArena() == nullptr) {
2615 delete _impl_.optimality_criteria_.simple_optimality_criteria_;
2616 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2617 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.optimality_criteria_.simple_optimality_criteria_);
2618 }
2619 clear_has_optimality_criteria();
2620 }
2621}
2622inline ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NULLABLE TerminationCriteria::release_simple_optimality_criteria() {
2623 // @@protoc_insertion_point(field_release:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2625 clear_has_optimality_criteria();
2626 auto* temp = _impl_.optimality_criteria_.simple_optimality_criteria_;
2627 if (GetArena() != nullptr) {
2628 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
2629 }
2630 _impl_.optimality_criteria_.simple_optimality_criteria_ = nullptr;
2631 return temp;
2632 } else {
2633 return nullptr;
2634 }
2636inline const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria& TerminationCriteria::_internal_simple_optimality_criteria() const {
2639}
2640inline const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria& TerminationCriteria::simple_optimality_criteria() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
2641 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2642 return _internal_simple_optimality_criteria();
2643}
2644inline ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NULLABLE TerminationCriteria::unsafe_arena_release_simple_optimality_criteria() {
2645 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2647 clear_has_optimality_criteria();
2648 auto* temp = _impl_.optimality_criteria_.simple_optimality_criteria_;
2649 _impl_.optimality_criteria_.simple_optimality_criteria_ = nullptr;
2650 return temp;
2651 } else {
2652 return nullptr;
2657 // We rely on the oneof clear method to free the earlier contents
2658 // of this oneof. We can directly use the pointer we're given to
2659 // set the new value.
2661 if (value) {
2662 set_has_simple_optimality_criteria();
2663 _impl_.optimality_criteria_.simple_optimality_criteria_ = value;
2664 }
2665 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2666}
2667inline ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL TerminationCriteria::_internal_mutable_simple_optimality_criteria() {
2670 set_has_simple_optimality_criteria();
2671 _impl_.optimality_criteria_.simple_optimality_criteria_ =
2672 ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria>(GetArena());
2673 }
2674 return _impl_.optimality_criteria_.simple_optimality_criteria_;
2675}
2676inline ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL TerminationCriteria::mutable_simple_optimality_criteria()
2677 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2678 ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* _msg = _internal_mutable_simple_optimality_criteria();
2679 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2680 return _msg;
2681}
2682
2683// .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
2686}
2687inline bool TerminationCriteria::_internal_has_detailed_optimality_criteria() const {
2690inline void TerminationCriteria::set_has_detailed_optimality_criteria() {
2691 _impl_._oneof_case_[0] = kDetailedOptimalityCriteria;
2692}
2694 ::google::protobuf::internal::TSanWrite(&_impl_);
2696 if (GetArena() == nullptr) {
2697 delete _impl_.optimality_criteria_.detailed_optimality_criteria_;
2698 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2699 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.optimality_criteria_.detailed_optimality_criteria_);
2700 }
2701 clear_has_optimality_criteria();
2702 }
2703}
2704inline ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NULLABLE TerminationCriteria::release_detailed_optimality_criteria() {
2705 // @@protoc_insertion_point(field_release:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2707 clear_has_optimality_criteria();
2708 auto* temp = _impl_.optimality_criteria_.detailed_optimality_criteria_;
2709 if (GetArena() != nullptr) {
2710 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
2711 }
2712 _impl_.optimality_criteria_.detailed_optimality_criteria_ = nullptr;
2713 return temp;
2714 } else {
2715 return nullptr;
2716 }
2718inline const ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria& TerminationCriteria::_internal_detailed_optimality_criteria() const {
2721}
2722inline const ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria& TerminationCriteria::detailed_optimality_criteria() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
2723 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2724 return _internal_detailed_optimality_criteria();
2725}
2726inline ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NULLABLE TerminationCriteria::unsafe_arena_release_detailed_optimality_criteria() {
2727 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2729 clear_has_optimality_criteria();
2730 auto* temp = _impl_.optimality_criteria_.detailed_optimality_criteria_;
2731 _impl_.optimality_criteria_.detailed_optimality_criteria_ = nullptr;
2732 return temp;
2733 } else {
2734 return nullptr;
2739 // We rely on the oneof clear method to free the earlier contents
2740 // of this oneof. We can directly use the pointer we're given to
2741 // set the new value.
2743 if (value) {
2744 set_has_detailed_optimality_criteria();
2745 _impl_.optimality_criteria_.detailed_optimality_criteria_ = value;
2746 }
2747 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2748}
2749inline ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL TerminationCriteria::_internal_mutable_detailed_optimality_criteria() {
2752 set_has_detailed_optimality_criteria();
2753 _impl_.optimality_criteria_.detailed_optimality_criteria_ =
2754 ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria>(GetArena());
2755 }
2756 return _impl_.optimality_criteria_.detailed_optimality_criteria_;
2757}
2758inline ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL TerminationCriteria::mutable_detailed_optimality_criteria()
2759 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2760 ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* _msg = _internal_mutable_detailed_optimality_criteria();
2761 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2762 return _msg;
2763}
2764
2765// optional double eps_optimal_absolute = 2 [default = 1e-06, deprecated = true];
2767 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
2768 return value;
2769}
2771 ::google::protobuf::internal::TSanWrite(&_impl_);
2772 _impl_.eps_optimal_absolute_ = 1e-06;
2773 ClearHasBit(_impl_._has_bits_[0],
2774 0x00000001U);
2775}
2776inline double TerminationCriteria::eps_optimal_absolute() const {
2777 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.eps_optimal_absolute)
2778 return _internal_eps_optimal_absolute();
2780inline void TerminationCriteria::set_eps_optimal_absolute(double value) {
2781 _internal_set_eps_optimal_absolute(value);
2782 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
2783 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.eps_optimal_absolute)
2784}
2785inline double TerminationCriteria::_internal_eps_optimal_absolute() const {
2786 ::google::protobuf::internal::TSanRead(&_impl_);
2787 return _impl_.eps_optimal_absolute_;
2788}
2789inline void TerminationCriteria::_internal_set_eps_optimal_absolute(double value) {
2790 ::google::protobuf::internal::TSanWrite(&_impl_);
2791 _impl_.eps_optimal_absolute_ = value;
2792}
2794// optional double eps_optimal_relative = 3 [default = 1e-06, deprecated = true];
2796 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
2797 return value;
2798}
2800 ::google::protobuf::internal::TSanWrite(&_impl_);
2801 _impl_.eps_optimal_relative_ = 1e-06;
2802 ClearHasBit(_impl_._has_bits_[0],
2803 0x00000002U);
2804}
2805inline double TerminationCriteria::eps_optimal_relative() const {
2806 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.eps_optimal_relative)
2807 return _internal_eps_optimal_relative();
2809inline void TerminationCriteria::set_eps_optimal_relative(double value) {
2810 _internal_set_eps_optimal_relative(value);
2811 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
2812 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.eps_optimal_relative)
2813}
2814inline double TerminationCriteria::_internal_eps_optimal_relative() const {
2815 ::google::protobuf::internal::TSanRead(&_impl_);
2816 return _impl_.eps_optimal_relative_;
2817}
2818inline void TerminationCriteria::_internal_set_eps_optimal_relative(double value) {
2819 ::google::protobuf::internal::TSanWrite(&_impl_);
2820 _impl_.eps_optimal_relative_ = value;
2821}
2823// optional double eps_primal_infeasible = 4 [default = 1e-08];
2825 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
2826 return value;
2827}
2829 ::google::protobuf::internal::TSanWrite(&_impl_);
2830 _impl_.eps_primal_infeasible_ = 1e-08;
2831 ClearHasBit(_impl_._has_bits_[0],
2832 0x00000004U);
2833}
2834inline double TerminationCriteria::eps_primal_infeasible() const {
2835 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.eps_primal_infeasible)
2836 return _internal_eps_primal_infeasible();
2838inline void TerminationCriteria::set_eps_primal_infeasible(double value) {
2839 _internal_set_eps_primal_infeasible(value);
2840 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
2841 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.eps_primal_infeasible)
2842}
2843inline double TerminationCriteria::_internal_eps_primal_infeasible() const {
2844 ::google::protobuf::internal::TSanRead(&_impl_);
2845 return _impl_.eps_primal_infeasible_;
2846}
2847inline void TerminationCriteria::_internal_set_eps_primal_infeasible(double value) {
2848 ::google::protobuf::internal::TSanWrite(&_impl_);
2849 _impl_.eps_primal_infeasible_ = value;
2850}
2852// optional double eps_dual_infeasible = 5 [default = 1e-08];
2854 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
2855 return value;
2856}
2858 ::google::protobuf::internal::TSanWrite(&_impl_);
2859 _impl_.eps_dual_infeasible_ = 1e-08;
2860 ClearHasBit(_impl_._has_bits_[0],
2861 0x00000020U);
2862}
2863inline double TerminationCriteria::eps_dual_infeasible() const {
2864 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.eps_dual_infeasible)
2865 return _internal_eps_dual_infeasible();
2867inline void TerminationCriteria::set_eps_dual_infeasible(double value) {
2868 _internal_set_eps_dual_infeasible(value);
2869 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
2870 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.eps_dual_infeasible)
2871}
2872inline double TerminationCriteria::_internal_eps_dual_infeasible() const {
2873 ::google::protobuf::internal::TSanRead(&_impl_);
2874 return _impl_.eps_dual_infeasible_;
2875}
2876inline void TerminationCriteria::_internal_set_eps_dual_infeasible(double value) {
2877 ::google::protobuf::internal::TSanWrite(&_impl_);
2878 _impl_.eps_dual_infeasible_ = value;
2879}
2881// optional double time_sec_limit = 6 [default = inf];
2882inline bool TerminationCriteria::has_time_sec_limit() const {
2883 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
2884 return value;
2885}
2887 ::google::protobuf::internal::TSanWrite(&_impl_);
2888 _impl_.time_sec_limit_ = std::numeric_limits<double>::infinity();
2889 ClearHasBit(_impl_._has_bits_[0],
2890 0x00000040U);
2891}
2892inline double TerminationCriteria::time_sec_limit() const {
2893 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.time_sec_limit)
2894 return _internal_time_sec_limit();
2896inline void TerminationCriteria::set_time_sec_limit(double value) {
2897 _internal_set_time_sec_limit(value);
2898 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
2899 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.time_sec_limit)
2900}
2901inline double TerminationCriteria::_internal_time_sec_limit() const {
2902 ::google::protobuf::internal::TSanRead(&_impl_);
2903 return _impl_.time_sec_limit_;
2904}
2905inline void TerminationCriteria::_internal_set_time_sec_limit(double value) {
2906 ::google::protobuf::internal::TSanWrite(&_impl_);
2907 _impl_.time_sec_limit_ = value;
2908}
2910// optional int32 iteration_limit = 7 [default = 2147483647];
2911inline bool TerminationCriteria::has_iteration_limit() const {
2912 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
2913 return value;
2914}
2916 ::google::protobuf::internal::TSanWrite(&_impl_);
2917 _impl_.iteration_limit_ = 2147483647;
2918 ClearHasBit(_impl_._has_bits_[0],
2919 0x00000010U);
2920}
2921inline ::int32_t TerminationCriteria::iteration_limit() const {
2922 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.iteration_limit)
2923 return _internal_iteration_limit();
2925inline void TerminationCriteria::set_iteration_limit(::int32_t value) {
2926 _internal_set_iteration_limit(value);
2927 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
2928 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.iteration_limit)
2929}
2930inline ::int32_t TerminationCriteria::_internal_iteration_limit() const {
2931 ::google::protobuf::internal::TSanRead(&_impl_);
2932 return _impl_.iteration_limit_;
2933}
2934inline void TerminationCriteria::_internal_set_iteration_limit(::int32_t value) {
2935 ::google::protobuf::internal::TSanWrite(&_impl_);
2936 _impl_.iteration_limit_ = value;
2937}
2939// optional double kkt_matrix_pass_limit = 8 [default = inf];
2941 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
2942 return value;
2943}
2945 ::google::protobuf::internal::TSanWrite(&_impl_);
2946 _impl_.kkt_matrix_pass_limit_ = std::numeric_limits<double>::infinity();
2947 ClearHasBit(_impl_._has_bits_[0],
2948 0x00000080U);
2949}
2950inline double TerminationCriteria::kkt_matrix_pass_limit() const {
2951 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.kkt_matrix_pass_limit)
2952 return _internal_kkt_matrix_pass_limit();
2954inline void TerminationCriteria::set_kkt_matrix_pass_limit(double value) {
2955 _internal_set_kkt_matrix_pass_limit(value);
2956 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
2957 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.kkt_matrix_pass_limit)
2958}
2959inline double TerminationCriteria::_internal_kkt_matrix_pass_limit() const {
2960 ::google::protobuf::internal::TSanRead(&_impl_);
2961 return _impl_.kkt_matrix_pass_limit_;
2962}
2963inline void TerminationCriteria::_internal_set_kkt_matrix_pass_limit(double value) {
2964 ::google::protobuf::internal::TSanWrite(&_impl_);
2965 _impl_.kkt_matrix_pass_limit_ = value;
2966}
2968inline bool TerminationCriteria::has_optimality_criteria() const {
2970}
2971inline void TerminationCriteria::clear_has_optimality_criteria() {
2972 _impl_._oneof_case_[0] = OPTIMALITY_CRITERIA_NOT_SET;
2973}
2976}
2977// -------------------------------------------------------------------
2978
2979// AdaptiveLinesearchParams
2980
2981// optional double step_size_reduction_exponent = 1 [default = 0.3];
2983 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
2984 return value;
2985}
2987 ::google::protobuf::internal::TSanWrite(&_impl_);
2988 _impl_.step_size_reduction_exponent_ = 0.3;
2989 ClearHasBit(_impl_._has_bits_[0],
2990 0x00000001U);
2991}
2993 // @@protoc_insertion_point(field_get:operations_research.pdlp.AdaptiveLinesearchParams.step_size_reduction_exponent)
2994 return _internal_step_size_reduction_exponent();
2995}
2997 _internal_set_step_size_reduction_exponent(value);
2998 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
2999 // @@protoc_insertion_point(field_set:operations_research.pdlp.AdaptiveLinesearchParams.step_size_reduction_exponent)
3001inline double AdaptiveLinesearchParams::_internal_step_size_reduction_exponent() const {
3002 ::google::protobuf::internal::TSanRead(&_impl_);
3003 return _impl_.step_size_reduction_exponent_;
3004}
3005inline void AdaptiveLinesearchParams::_internal_set_step_size_reduction_exponent(double value) {
3006 ::google::protobuf::internal::TSanWrite(&_impl_);
3007 _impl_.step_size_reduction_exponent_ = value;
3008}
3009
3010// optional double step_size_growth_exponent = 2 [default = 0.6];
3012 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
3013 return value;
3014}
3016 ::google::protobuf::internal::TSanWrite(&_impl_);
3017 _impl_.step_size_growth_exponent_ = 0.6;
3018 ClearHasBit(_impl_._has_bits_[0],
3019 0x00000002U);
3020}
3022 // @@protoc_insertion_point(field_get:operations_research.pdlp.AdaptiveLinesearchParams.step_size_growth_exponent)
3023 return _internal_step_size_growth_exponent();
3024}
3026 _internal_set_step_size_growth_exponent(value);
3027 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3028 // @@protoc_insertion_point(field_set:operations_research.pdlp.AdaptiveLinesearchParams.step_size_growth_exponent)
3030inline double AdaptiveLinesearchParams::_internal_step_size_growth_exponent() const {
3031 ::google::protobuf::internal::TSanRead(&_impl_);
3032 return _impl_.step_size_growth_exponent_;
3033}
3034inline void AdaptiveLinesearchParams::_internal_set_step_size_growth_exponent(double value) {
3035 ::google::protobuf::internal::TSanWrite(&_impl_);
3036 _impl_.step_size_growth_exponent_ = value;
3037}
3038
3039// -------------------------------------------------------------------
3040
3041// MalitskyPockParams
3042
3043// optional double step_size_downscaling_factor = 1 [default = 0.7];
3045 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
3046 return value;
3047}
3049 ::google::protobuf::internal::TSanWrite(&_impl_);
3050 _impl_.step_size_downscaling_factor_ = 0.7;
3051 ClearHasBit(_impl_._has_bits_[0],
3052 0x00000001U);
3053}
3055 // @@protoc_insertion_point(field_get:operations_research.pdlp.MalitskyPockParams.step_size_downscaling_factor)
3056 return _internal_step_size_downscaling_factor();
3057}
3059 _internal_set_step_size_downscaling_factor(value);
3060 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3061 // @@protoc_insertion_point(field_set:operations_research.pdlp.MalitskyPockParams.step_size_downscaling_factor)
3062}
3063inline double MalitskyPockParams::_internal_step_size_downscaling_factor() const {
3064 ::google::protobuf::internal::TSanRead(&_impl_);
3065 return _impl_.step_size_downscaling_factor_;
3066}
3067inline void MalitskyPockParams::_internal_set_step_size_downscaling_factor(double value) {
3068 ::google::protobuf::internal::TSanWrite(&_impl_);
3069 _impl_.step_size_downscaling_factor_ = value;
3070}
3071
3072// optional double linesearch_contraction_factor = 2 [default = 0.99];
3074 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
3075 return value;
3076}
3078 ::google::protobuf::internal::TSanWrite(&_impl_);
3079 _impl_.linesearch_contraction_factor_ = 0.99;
3080 ClearHasBit(_impl_._has_bits_[0],
3081 0x00000002U);
3082}
3084 // @@protoc_insertion_point(field_get:operations_research.pdlp.MalitskyPockParams.linesearch_contraction_factor)
3085 return _internal_linesearch_contraction_factor();
3086}
3088 _internal_set_linesearch_contraction_factor(value);
3089 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3090 // @@protoc_insertion_point(field_set:operations_research.pdlp.MalitskyPockParams.linesearch_contraction_factor)
3091}
3092inline double MalitskyPockParams::_internal_linesearch_contraction_factor() const {
3093 ::google::protobuf::internal::TSanRead(&_impl_);
3094 return _impl_.linesearch_contraction_factor_;
3095}
3096inline void MalitskyPockParams::_internal_set_linesearch_contraction_factor(double value) {
3097 ::google::protobuf::internal::TSanWrite(&_impl_);
3098 _impl_.linesearch_contraction_factor_ = value;
3099}
3100
3101// optional double step_size_interpolation = 3 [default = 1];
3103 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
3104 return value;
3105}
3107 ::google::protobuf::internal::TSanWrite(&_impl_);
3108 _impl_.step_size_interpolation_ = 1;
3109 ClearHasBit(_impl_._has_bits_[0],
3110 0x00000004U);
3111}
3112inline double MalitskyPockParams::step_size_interpolation() const {
3113 // @@protoc_insertion_point(field_get:operations_research.pdlp.MalitskyPockParams.step_size_interpolation)
3114 return _internal_step_size_interpolation();
3115}
3116inline void MalitskyPockParams::set_step_size_interpolation(double value) {
3117 _internal_set_step_size_interpolation(value);
3118 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
3119 // @@protoc_insertion_point(field_set:operations_research.pdlp.MalitskyPockParams.step_size_interpolation)
3120}
3121inline double MalitskyPockParams::_internal_step_size_interpolation() const {
3122 ::google::protobuf::internal::TSanRead(&_impl_);
3123 return _impl_.step_size_interpolation_;
3124}
3125inline void MalitskyPockParams::_internal_set_step_size_interpolation(double value) {
3126 ::google::protobuf::internal::TSanWrite(&_impl_);
3127 _impl_.step_size_interpolation_ = value;
3128}
3129
3130// -------------------------------------------------------------------
3132// PrimalDualHybridGradientParams_PresolveOptions
3133
3134// optional bool use_glop = 1;
3136 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
3137 return value;
3138}
3140 ::google::protobuf::internal::TSanWrite(&_impl_);
3141 _impl_.use_glop_ = false;
3142 ClearHasBit(_impl_._has_bits_[0],
3143 0x00000002U);
3144}
3146 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.use_glop)
3147 return _internal_use_glop();
3148}
3150 _internal_set_use_glop(value);
3151 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3152 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.use_glop)
3153}
3154inline bool PrimalDualHybridGradientParams_PresolveOptions::_internal_use_glop() const {
3155 ::google::protobuf::internal::TSanRead(&_impl_);
3156 return _impl_.use_glop_;
3157}
3158inline void PrimalDualHybridGradientParams_PresolveOptions::_internal_set_use_glop(bool value) {
3159 ::google::protobuf::internal::TSanWrite(&_impl_);
3160 _impl_.use_glop_ = value;
3162
3163// optional .operations_research.glop.GlopParameters glop_parameters = 2;
3165 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
3166 PROTOBUF_ASSUME(!value || _impl_.glop_parameters_ != nullptr);
3167 return value;
3168}
3169inline const ::operations_research::glop::GlopParameters& PrimalDualHybridGradientParams_PresolveOptions::_internal_glop_parameters() const {
3170 ::google::protobuf::internal::TSanRead(&_impl_);
3171 const ::operations_research::glop::GlopParameters* p = _impl_.glop_parameters_;
3173}
3174inline const ::operations_research::glop::GlopParameters& PrimalDualHybridGradientParams_PresolveOptions::glop_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3175 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3176 return _internal_glop_parameters();
3177}
3179 ::operations_research::glop::GlopParameters* PROTOBUF_NULLABLE value) {
3180 ::google::protobuf::internal::TSanWrite(&_impl_);
3181 if (GetArena() == nullptr) {
3182 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.glop_parameters_);
3183 }
3184 _impl_.glop_parameters_ = reinterpret_cast<::operations_research::glop::GlopParameters*>(value);
3185 if (value != nullptr) {
3186 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3187 } else {
3188 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3189 }
3190 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3191}
3192inline ::operations_research::glop::GlopParameters* PROTOBUF_NULLABLE PrimalDualHybridGradientParams_PresolveOptions::release_glop_parameters() {
3193 ::google::protobuf::internal::TSanWrite(&_impl_);
3195 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3196 ::operations_research::glop::GlopParameters* released = _impl_.glop_parameters_;
3197 _impl_.glop_parameters_ = nullptr;
3198 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3199 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3200 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3201 if (GetArena() == nullptr) {
3202 delete old;
3203 }
3204 } else {
3205 if (GetArena() != nullptr) {
3206 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3207 }
3209 return released;
3210}
3211inline ::operations_research::glop::GlopParameters* PROTOBUF_NULLABLE PrimalDualHybridGradientParams_PresolveOptions::unsafe_arena_release_glop_parameters() {
3212 ::google::protobuf::internal::TSanWrite(&_impl_);
3213 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3214
3215 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3216 ::operations_research::glop::GlopParameters* temp = _impl_.glop_parameters_;
3217 _impl_.glop_parameters_ = nullptr;
3218 return temp;
3219}
3220inline ::operations_research::glop::GlopParameters* PROTOBUF_NONNULL PrimalDualHybridGradientParams_PresolveOptions::_internal_mutable_glop_parameters() {
3221 ::google::protobuf::internal::TSanWrite(&_impl_);
3222 if (_impl_.glop_parameters_ == nullptr) {
3223 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::glop::GlopParameters>(GetArena());
3224 _impl_.glop_parameters_ = reinterpret_cast<::operations_research::glop::GlopParameters*>(p);
3225 }
3226 return _impl_.glop_parameters_;
3228inline ::operations_research::glop::GlopParameters* PROTOBUF_NONNULL PrimalDualHybridGradientParams_PresolveOptions::mutable_glop_parameters()
3229 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3230 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3231 ::operations_research::glop::GlopParameters* _msg = _internal_mutable_glop_parameters();
3232 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3233 return _msg;
3234}
3236 ::google::protobuf::Arena* message_arena = GetArena();
3237 ::google::protobuf::internal::TSanWrite(&_impl_);
3238 if (message_arena == nullptr) {
3239 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.glop_parameters_);
3240 }
3241
3242 if (value != nullptr) {
3243 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
3244 if (message_arena != submessage_arena) {
3245 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3246 }
3247 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3248 } else {
3249 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3250 }
3252 _impl_.glop_parameters_ = reinterpret_cast<::operations_research::glop::GlopParameters*>(value);
3253 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3254}
3255
3256// -------------------------------------------------------------------
3257
3258// PrimalDualHybridGradientParams
3259
3260// optional .operations_research.pdlp.TerminationCriteria termination_criteria = 1;
3262 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
3263 PROTOBUF_ASSUME(!value || _impl_.termination_criteria_ != nullptr);
3264 return value;
3265}
3267 ::google::protobuf::internal::TSanWrite(&_impl_);
3268 if (_impl_.termination_criteria_ != nullptr) _impl_.termination_criteria_->Clear();
3269 ClearHasBit(_impl_._has_bits_[0],
3270 0x00000002U);
3271}
3272inline const ::operations_research::pdlp::TerminationCriteria& PrimalDualHybridGradientParams::_internal_termination_criteria() const {
3273 ::google::protobuf::internal::TSanRead(&_impl_);
3274 const ::operations_research::pdlp::TerminationCriteria* p = _impl_.termination_criteria_;
3276}
3277inline const ::operations_research::pdlp::TerminationCriteria& PrimalDualHybridGradientParams::termination_criteria() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3278 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3279 return _internal_termination_criteria();
3280}
3282 ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NULLABLE value) {
3283 ::google::protobuf::internal::TSanWrite(&_impl_);
3284 if (GetArena() == nullptr) {
3285 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.termination_criteria_);
3286 }
3287 _impl_.termination_criteria_ = reinterpret_cast<::operations_research::pdlp::TerminationCriteria*>(value);
3288 if (value != nullptr) {
3289 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3290 } else {
3291 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
3292 }
3293 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3295inline ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::release_termination_criteria() {
3296 ::google::protobuf::internal::TSanWrite(&_impl_);
3297
3298 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
3299 ::operations_research::pdlp::TerminationCriteria* released = _impl_.termination_criteria_;
3300 _impl_.termination_criteria_ = nullptr;
3301 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3302 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3303 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3304 if (GetArena() == nullptr) {
3305 delete old;
3306 }
3307 } else {
3308 if (GetArena() != nullptr) {
3309 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3310 }
3311 }
3312 return released;
3313}
3314inline ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::unsafe_arena_release_termination_criteria() {
3315 ::google::protobuf::internal::TSanWrite(&_impl_);
3316 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3317
3318 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
3319 ::operations_research::pdlp::TerminationCriteria* temp = _impl_.termination_criteria_;
3320 _impl_.termination_criteria_ = nullptr;
3321 return temp;
3322}
3323inline ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NONNULL PrimalDualHybridGradientParams::_internal_mutable_termination_criteria() {
3324 ::google::protobuf::internal::TSanWrite(&_impl_);
3325 if (_impl_.termination_criteria_ == nullptr) {
3326 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::TerminationCriteria>(GetArena());
3327 _impl_.termination_criteria_ = reinterpret_cast<::operations_research::pdlp::TerminationCriteria*>(p);
3328 }
3329 return _impl_.termination_criteria_;
3330}
3331inline ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_termination_criteria()
3332 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3333 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3334 ::operations_research::pdlp::TerminationCriteria* _msg = _internal_mutable_termination_criteria();
3335 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3336 return _msg;
3337}
3339 ::google::protobuf::Arena* message_arena = GetArena();
3340 ::google::protobuf::internal::TSanWrite(&_impl_);
3341 if (message_arena == nullptr) {
3342 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.termination_criteria_);
3343 }
3344
3345 if (value != nullptr) {
3346 ::google::protobuf::Arena* submessage_arena = value->GetArena();
3347 if (message_arena != submessage_arena) {
3348 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3349 }
3350 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3351 } else {
3352 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
3353 }
3354
3355 _impl_.termination_criteria_ = reinterpret_cast<::operations_research::pdlp::TerminationCriteria*>(value);
3356 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3357}
3358
3359// optional int32 num_threads = 2 [default = 1];
3361 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00004000U);
3362 return value;
3363}
3365 ::google::protobuf::internal::TSanWrite(&_impl_);
3366 _impl_.num_threads_ = 1;
3367 ClearHasBit(_impl_._has_bits_[0],
3368 0x00004000U);
3369}
3370inline ::int32_t PrimalDualHybridGradientParams::num_threads() const {
3371 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.num_threads)
3372 return _internal_num_threads();
3373}
3374inline void PrimalDualHybridGradientParams::set_num_threads(::int32_t value) {
3375 _internal_set_num_threads(value);
3376 SetHasBit(_impl_._has_bits_[0], 0x00004000U);
3377 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.num_threads)
3378}
3379inline ::int32_t PrimalDualHybridGradientParams::_internal_num_threads() const {
3380 ::google::protobuf::internal::TSanRead(&_impl_);
3381 return _impl_.num_threads_;
3382}
3383inline void PrimalDualHybridGradientParams::_internal_set_num_threads(::int32_t value) {
3384 ::google::protobuf::internal::TSanWrite(&_impl_);
3385 _impl_.num_threads_ = value;
3386}
3388// optional int32 num_shards = 27 [default = 0];
3390 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000800U);
3391 return value;
3392}
3394 ::google::protobuf::internal::TSanWrite(&_impl_);
3395 _impl_.num_shards_ = 0;
3396 ClearHasBit(_impl_._has_bits_[0],
3397 0x00000800U);
3398}
3399inline ::int32_t PrimalDualHybridGradientParams::num_shards() const {
3400 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.num_shards)
3401 return _internal_num_shards();
3402}
3403inline void PrimalDualHybridGradientParams::set_num_shards(::int32_t value) {
3404 _internal_set_num_shards(value);
3405 SetHasBit(_impl_._has_bits_[0], 0x00000800U);
3406 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.num_shards)
3407}
3408inline ::int32_t PrimalDualHybridGradientParams::_internal_num_shards() const {
3409 ::google::protobuf::internal::TSanRead(&_impl_);
3410 return _impl_.num_shards_;
3411}
3412inline void PrimalDualHybridGradientParams::_internal_set_num_shards(::int32_t value) {
3413 ::google::protobuf::internal::TSanWrite(&_impl_);
3414 _impl_.num_shards_ = value;
3415}
3417// optional .operations_research.pdlp.SchedulerType scheduler_type = 32 [default = SCHEDULER_TYPE_GOOGLE_THREADPOOL];
3419 bool value = CheckHasBit(_impl_._has_bits_[0], 0x04000000U);
3420 return value;
3421}
3423 ::google::protobuf::internal::TSanWrite(&_impl_);
3424 _impl_.scheduler_type_ = 1;
3425 ClearHasBit(_impl_._has_bits_[0],
3426 0x04000000U);
3427}
3428inline ::operations_research::pdlp::SchedulerType PrimalDualHybridGradientParams::scheduler_type() const {
3429 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.scheduler_type)
3430 return _internal_scheduler_type();
3431}
3433 _internal_set_scheduler_type(value);
3434 SetHasBit(_impl_._has_bits_[0], 0x04000000U);
3435 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.scheduler_type)
3436}
3437inline ::operations_research::pdlp::SchedulerType PrimalDualHybridGradientParams::_internal_scheduler_type() const {
3438 ::google::protobuf::internal::TSanRead(&_impl_);
3439 return static_cast<::operations_research::pdlp::SchedulerType>(_impl_.scheduler_type_);
3440}
3441inline void PrimalDualHybridGradientParams::_internal_set_scheduler_type(::operations_research::pdlp::SchedulerType value) {
3442 ::google::protobuf::internal::TSanWrite(&_impl_);
3443
3444 assert(::google::protobuf::internal::ValidateEnum(
3446 _impl_.scheduler_type_ = value;
3447}
3448
3449// optional bool record_iteration_stats = 3;
3451 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
3452 return value;
3453}
3455 ::google::protobuf::internal::TSanWrite(&_impl_);
3456 _impl_.record_iteration_stats_ = false;
3457 ClearHasBit(_impl_._has_bits_[0],
3458 0x00000040U);
3459}
3461 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.record_iteration_stats)
3462 return _internal_record_iteration_stats();
3463}
3465 _internal_set_record_iteration_stats(value);
3466 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
3467 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.record_iteration_stats)
3468}
3469inline bool PrimalDualHybridGradientParams::_internal_record_iteration_stats() const {
3470 ::google::protobuf::internal::TSanRead(&_impl_);
3471 return _impl_.record_iteration_stats_;
3472}
3473inline void PrimalDualHybridGradientParams::_internal_set_record_iteration_stats(bool value) {
3474 ::google::protobuf::internal::TSanWrite(&_impl_);
3475 _impl_.record_iteration_stats_ = value;
3476}
3478// optional int32 verbosity_level = 26 [default = 0];
3480 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000200U);
3481 return value;
3482}
3484 ::google::protobuf::internal::TSanWrite(&_impl_);
3485 _impl_.verbosity_level_ = 0;
3486 ClearHasBit(_impl_._has_bits_[0],
3487 0x00000200U);
3488}
3489inline ::int32_t PrimalDualHybridGradientParams::verbosity_level() const {
3490 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.verbosity_level)
3491 return _internal_verbosity_level();
3492}
3493inline void PrimalDualHybridGradientParams::set_verbosity_level(::int32_t value) {
3494 _internal_set_verbosity_level(value);
3495 SetHasBit(_impl_._has_bits_[0], 0x00000200U);
3496 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.verbosity_level)
3497}
3498inline ::int32_t PrimalDualHybridGradientParams::_internal_verbosity_level() const {
3499 ::google::protobuf::internal::TSanRead(&_impl_);
3500 return _impl_.verbosity_level_;
3501}
3502inline void PrimalDualHybridGradientParams::_internal_set_verbosity_level(::int32_t value) {
3503 ::google::protobuf::internal::TSanWrite(&_impl_);
3504 _impl_.verbosity_level_ = value;
3505}
3507// optional double log_interval_seconds = 31 [default = 0];
3509 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000400U);
3510 return value;
3511}
3513 ::google::protobuf::internal::TSanWrite(&_impl_);
3514 _impl_.log_interval_seconds_ = 0;
3515 ClearHasBit(_impl_._has_bits_[0],
3516 0x00000400U);
3517}
3519 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.log_interval_seconds)
3520 return _internal_log_interval_seconds();
3521}
3523 _internal_set_log_interval_seconds(value);
3524 SetHasBit(_impl_._has_bits_[0], 0x00000400U);
3525 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.log_interval_seconds)
3526}
3527inline double PrimalDualHybridGradientParams::_internal_log_interval_seconds() const {
3528 ::google::protobuf::internal::TSanRead(&_impl_);
3529 return _impl_.log_interval_seconds_;
3530}
3531inline void PrimalDualHybridGradientParams::_internal_set_log_interval_seconds(double value) {
3532 ::google::protobuf::internal::TSanWrite(&_impl_);
3533 _impl_.log_interval_seconds_ = value;
3534}
3536// optional int32 major_iteration_frequency = 4 [default = 64];
3538 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00008000U);
3539 return value;
3540}
3542 ::google::protobuf::internal::TSanWrite(&_impl_);
3543 _impl_.major_iteration_frequency_ = 64;
3544 ClearHasBit(_impl_._has_bits_[0],
3545 0x00008000U);
3546}
3548 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.major_iteration_frequency)
3549 return _internal_major_iteration_frequency();
3550}
3552 _internal_set_major_iteration_frequency(value);
3553 SetHasBit(_impl_._has_bits_[0], 0x00008000U);
3554 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.major_iteration_frequency)
3555}
3556inline ::int32_t PrimalDualHybridGradientParams::_internal_major_iteration_frequency() const {
3557 ::google::protobuf::internal::TSanRead(&_impl_);
3558 return _impl_.major_iteration_frequency_;
3559}
3560inline void PrimalDualHybridGradientParams::_internal_set_major_iteration_frequency(::int32_t value) {
3561 ::google::protobuf::internal::TSanWrite(&_impl_);
3562 _impl_.major_iteration_frequency_ = value;
3563}
3565// optional int32 termination_check_frequency = 5 [default = 64];
3567 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00010000U);
3568 return value;
3569}
3571 ::google::protobuf::internal::TSanWrite(&_impl_);
3572 _impl_.termination_check_frequency_ = 64;
3573 ClearHasBit(_impl_._has_bits_[0],
3574 0x00010000U);
3575}
3577 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.termination_check_frequency)
3578 return _internal_termination_check_frequency();
3579}
3581 _internal_set_termination_check_frequency(value);
3582 SetHasBit(_impl_._has_bits_[0], 0x00010000U);
3583 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.termination_check_frequency)
3584}
3585inline ::int32_t PrimalDualHybridGradientParams::_internal_termination_check_frequency() const {
3586 ::google::protobuf::internal::TSanRead(&_impl_);
3587 return _impl_.termination_check_frequency_;
3588}
3589inline void PrimalDualHybridGradientParams::_internal_set_termination_check_frequency(::int32_t value) {
3590 ::google::protobuf::internal::TSanWrite(&_impl_);
3591 _impl_.termination_check_frequency_ = value;
3592}
3594// optional .operations_research.pdlp.PrimalDualHybridGradientParams.RestartStrategy restart_strategy = 6 [default = ADAPTIVE_HEURISTIC];
3596 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00020000U);
3597 return value;
3598}
3600 ::google::protobuf::internal::TSanWrite(&_impl_);
3601 _impl_.restart_strategy_ = 3;
3602 ClearHasBit(_impl_._has_bits_[0],
3603 0x00020000U);
3604}
3605inline ::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy PrimalDualHybridGradientParams::restart_strategy() const {
3606 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.restart_strategy)
3607 return _internal_restart_strategy();
3608}
3610 _internal_set_restart_strategy(value);
3611 SetHasBit(_impl_._has_bits_[0], 0x00020000U);
3612 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.restart_strategy)
3613}
3614inline ::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy PrimalDualHybridGradientParams::_internal_restart_strategy() const {
3615 ::google::protobuf::internal::TSanRead(&_impl_);
3617}
3618inline void PrimalDualHybridGradientParams::_internal_set_restart_strategy(::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy value) {
3619 ::google::protobuf::internal::TSanWrite(&_impl_);
3620
3621 assert(::google::protobuf::internal::ValidateEnum(
3626// optional double primal_weight_update_smoothing = 7 [default = 0.5];
3628 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00040000U);
3629 return value;
3630}
3632 ::google::protobuf::internal::TSanWrite(&_impl_);
3633 _impl_.primal_weight_update_smoothing_ = 0.5;
3634 ClearHasBit(_impl_._has_bits_[0],
3635 0x00040000U);
3636}
3638 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.primal_weight_update_smoothing)
3639 return _internal_primal_weight_update_smoothing();
3640}
3642 _internal_set_primal_weight_update_smoothing(value);
3643 SetHasBit(_impl_._has_bits_[0], 0x00040000U);
3644 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.primal_weight_update_smoothing)
3645}
3646inline double PrimalDualHybridGradientParams::_internal_primal_weight_update_smoothing() const {
3647 ::google::protobuf::internal::TSanRead(&_impl_);
3648 return _impl_.primal_weight_update_smoothing_;
3649}
3650inline void PrimalDualHybridGradientParams::_internal_set_primal_weight_update_smoothing(double value) {
3651 ::google::protobuf::internal::TSanWrite(&_impl_);
3652 _impl_.primal_weight_update_smoothing_ = value;
3653}
3655// optional double initial_primal_weight = 8;
3657 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
3658 return value;
3659}
3661 ::google::protobuf::internal::TSanWrite(&_impl_);
3662 _impl_.initial_primal_weight_ = 0;
3663 ClearHasBit(_impl_._has_bits_[0],
3664 0x00000020U);
3665}
3667 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.initial_primal_weight)
3668 return _internal_initial_primal_weight();
3669}
3671 _internal_set_initial_primal_weight(value);
3672 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
3673 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.initial_primal_weight)
3674}
3675inline double PrimalDualHybridGradientParams::_internal_initial_primal_weight() const {
3676 ::google::protobuf::internal::TSanRead(&_impl_);
3677 return _impl_.initial_primal_weight_;
3678}
3679inline void PrimalDualHybridGradientParams::_internal_set_initial_primal_weight(double value) {
3680 ::google::protobuf::internal::TSanWrite(&_impl_);
3681 _impl_.initial_primal_weight_ = value;
3682}
3684// optional .operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions presolve_options = 16;
3686 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
3687 PROTOBUF_ASSUME(!value || _impl_.presolve_options_ != nullptr);
3688 return value;
3689}
3691 ::google::protobuf::internal::TSanWrite(&_impl_);
3692 if (_impl_.presolve_options_ != nullptr) _impl_.presolve_options_->Clear();
3693 ClearHasBit(_impl_._has_bits_[0],
3694 0x00000004U);
3695}
3696inline const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions& PrimalDualHybridGradientParams::_internal_presolve_options() const {
3697 ::google::protobuf::internal::TSanRead(&_impl_);
3698 const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* p = _impl_.presolve_options_;
3700}
3701inline const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions& PrimalDualHybridGradientParams::presolve_options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3702 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3703 return _internal_presolve_options();
3704}
3707 ::google::protobuf::internal::TSanWrite(&_impl_);
3708 if (GetArena() == nullptr) {
3709 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.presolve_options_);
3710 }
3711 _impl_.presolve_options_ = reinterpret_cast<::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions*>(value);
3712 if (value != nullptr) {
3713 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
3714 } else {
3715 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
3716 }
3717 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3719inline ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::release_presolve_options() {
3720 ::google::protobuf::internal::TSanWrite(&_impl_);
3721
3722 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
3724 _impl_.presolve_options_ = nullptr;
3725 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3726 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3727 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3728 if (GetArena() == nullptr) {
3729 delete old;
3730 }
3731 } else {
3732 if (GetArena() != nullptr) {
3733 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3734 }
3735 }
3736 return released;
3737}
3738inline ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::unsafe_arena_release_presolve_options() {
3739 ::google::protobuf::internal::TSanWrite(&_impl_);
3740 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3741
3742 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
3744 _impl_.presolve_options_ = nullptr;
3745 return temp;
3746}
3747inline ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL PrimalDualHybridGradientParams::_internal_mutable_presolve_options() {
3748 ::google::protobuf::internal::TSanWrite(&_impl_);
3749 if (_impl_.presolve_options_ == nullptr) {
3750 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions>(GetArena());
3752 }
3753 return _impl_.presolve_options_;
3754}
3755inline ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_presolve_options()
3756 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3757 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
3758 ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* _msg = _internal_mutable_presolve_options();
3759 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3760 return _msg;
3761}
3763 ::google::protobuf::Arena* message_arena = GetArena();
3764 ::google::protobuf::internal::TSanWrite(&_impl_);
3765 if (message_arena == nullptr) {
3766 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.presolve_options_);
3767 }
3768
3769 if (value != nullptr) {
3770 ::google::protobuf::Arena* submessage_arena = value->GetArena();
3771 if (message_arena != submessage_arena) {
3772 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3773 }
3774 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
3775 } else {
3776 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
3777 }
3778
3780 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3781}
3782
3783// optional int32 l_inf_ruiz_iterations = 9 [default = 5];
3785 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00080000U);
3786 return value;
3787}
3789 ::google::protobuf::internal::TSanWrite(&_impl_);
3790 _impl_.l_inf_ruiz_iterations_ = 5;
3791 ClearHasBit(_impl_._has_bits_[0],
3792 0x00080000U);
3793}
3795 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.l_inf_ruiz_iterations)
3796 return _internal_l_inf_ruiz_iterations();
3797}
3799 _internal_set_l_inf_ruiz_iterations(value);
3800 SetHasBit(_impl_._has_bits_[0], 0x00080000U);
3801 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.l_inf_ruiz_iterations)
3802}
3803inline ::int32_t PrimalDualHybridGradientParams::_internal_l_inf_ruiz_iterations() const {
3804 ::google::protobuf::internal::TSanRead(&_impl_);
3805 return _impl_.l_inf_ruiz_iterations_;
3806}
3807inline void PrimalDualHybridGradientParams::_internal_set_l_inf_ruiz_iterations(::int32_t value) {
3808 ::google::protobuf::internal::TSanWrite(&_impl_);
3809 _impl_.l_inf_ruiz_iterations_ = value;
3810}
3812// optional bool l2_norm_rescaling = 10 [default = true];
3814 bool value = CheckHasBit(_impl_._has_bits_[0], 0x01000000U);
3815 return value;
3816}
3818 ::google::protobuf::internal::TSanWrite(&_impl_);
3819 _impl_.l2_norm_rescaling_ = true;
3820 ClearHasBit(_impl_._has_bits_[0],
3821 0x01000000U);
3822}
3824 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.l2_norm_rescaling)
3825 return _internal_l2_norm_rescaling();
3826}
3828 _internal_set_l2_norm_rescaling(value);
3829 SetHasBit(_impl_._has_bits_[0], 0x01000000U);
3830 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.l2_norm_rescaling)
3831}
3832inline bool PrimalDualHybridGradientParams::_internal_l2_norm_rescaling() const {
3833 ::google::protobuf::internal::TSanRead(&_impl_);
3834 return _impl_.l2_norm_rescaling_;
3835}
3836inline void PrimalDualHybridGradientParams::_internal_set_l2_norm_rescaling(bool value) {
3837 ::google::protobuf::internal::TSanWrite(&_impl_);
3838 _impl_.l2_norm_rescaling_ = value;
3839}
3841// optional double sufficient_reduction_for_restart = 11 [default = 0.1];
3843 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00200000U);
3844 return value;
3845}
3847 ::google::protobuf::internal::TSanWrite(&_impl_);
3848 _impl_.sufficient_reduction_for_restart_ = 0.1;
3849 ClearHasBit(_impl_._has_bits_[0],
3850 0x00200000U);
3851}
3853 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.sufficient_reduction_for_restart)
3854 return _internal_sufficient_reduction_for_restart();
3855}
3857 _internal_set_sufficient_reduction_for_restart(value);
3858 SetHasBit(_impl_._has_bits_[0], 0x00200000U);
3859 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.sufficient_reduction_for_restart)
3860}
3861inline double PrimalDualHybridGradientParams::_internal_sufficient_reduction_for_restart() const {
3862 ::google::protobuf::internal::TSanRead(&_impl_);
3863 return _impl_.sufficient_reduction_for_restart_;
3864}
3865inline void PrimalDualHybridGradientParams::_internal_set_sufficient_reduction_for_restart(double value) {
3866 ::google::protobuf::internal::TSanWrite(&_impl_);
3867 _impl_.sufficient_reduction_for_restart_ = value;
3868}
3870// optional double necessary_reduction_for_restart = 17 [default = 0.9];
3872 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00400000U);
3873 return value;
3874}
3876 ::google::protobuf::internal::TSanWrite(&_impl_);
3877 _impl_.necessary_reduction_for_restart_ = 0.9;
3878 ClearHasBit(_impl_._has_bits_[0],
3879 0x00400000U);
3880}
3882 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.necessary_reduction_for_restart)
3883 return _internal_necessary_reduction_for_restart();
3884}
3886 _internal_set_necessary_reduction_for_restart(value);
3887 SetHasBit(_impl_._has_bits_[0], 0x00400000U);
3888 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.necessary_reduction_for_restart)
3889}
3890inline double PrimalDualHybridGradientParams::_internal_necessary_reduction_for_restart() const {
3891 ::google::protobuf::internal::TSanRead(&_impl_);
3892 return _impl_.necessary_reduction_for_restart_;
3893}
3894inline void PrimalDualHybridGradientParams::_internal_set_necessary_reduction_for_restart(double value) {
3895 ::google::protobuf::internal::TSanWrite(&_impl_);
3896 _impl_.necessary_reduction_for_restart_ = value;
3897}
3899// optional .operations_research.pdlp.PrimalDualHybridGradientParams.LinesearchRule linesearch_rule = 12 [default = ADAPTIVE_LINESEARCH_RULE];
3901 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00100000U);
3902 return value;
3903}
3905 ::google::protobuf::internal::TSanWrite(&_impl_);
3906 _impl_.linesearch_rule_ = 1;
3907 ClearHasBit(_impl_._has_bits_[0],
3908 0x00100000U);
3909}
3910inline ::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule PrimalDualHybridGradientParams::linesearch_rule() const {
3911 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.linesearch_rule)
3912 return _internal_linesearch_rule();
3913}
3915 _internal_set_linesearch_rule(value);
3916 SetHasBit(_impl_._has_bits_[0], 0x00100000U);
3917 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.linesearch_rule)
3918}
3919inline ::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule PrimalDualHybridGradientParams::_internal_linesearch_rule() const {
3920 ::google::protobuf::internal::TSanRead(&_impl_);
3922}
3923inline void PrimalDualHybridGradientParams::_internal_set_linesearch_rule(::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule value) {
3924 ::google::protobuf::internal::TSanWrite(&_impl_);
3925
3926 assert(::google::protobuf::internal::ValidateEnum(
3931// optional .operations_research.pdlp.AdaptiveLinesearchParams adaptive_linesearch_parameters = 18;
3933 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
3934 PROTOBUF_ASSUME(!value || _impl_.adaptive_linesearch_parameters_ != nullptr);
3935 return value;
3936}
3938 ::google::protobuf::internal::TSanWrite(&_impl_);
3939 if (_impl_.adaptive_linesearch_parameters_ != nullptr) _impl_.adaptive_linesearch_parameters_->Clear();
3940 ClearHasBit(_impl_._has_bits_[0],
3941 0x00000008U);
3942}
3943inline const ::operations_research::pdlp::AdaptiveLinesearchParams& PrimalDualHybridGradientParams::_internal_adaptive_linesearch_parameters() const {
3944 ::google::protobuf::internal::TSanRead(&_impl_);
3945 const ::operations_research::pdlp::AdaptiveLinesearchParams* p = _impl_.adaptive_linesearch_parameters_;
3947}
3948inline const ::operations_research::pdlp::AdaptiveLinesearchParams& PrimalDualHybridGradientParams::adaptive_linesearch_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3949 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
3950 return _internal_adaptive_linesearch_parameters();
3951}
3954 ::google::protobuf::internal::TSanWrite(&_impl_);
3955 if (GetArena() == nullptr) {
3956 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.adaptive_linesearch_parameters_);
3957 }
3958 _impl_.adaptive_linesearch_parameters_ = reinterpret_cast<::operations_research::pdlp::AdaptiveLinesearchParams*>(value);
3959 if (value != nullptr) {
3960 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
3961 } else {
3962 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
3963 }
3964 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
3966inline ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::release_adaptive_linesearch_parameters() {
3967 ::google::protobuf::internal::TSanWrite(&_impl_);
3968
3969 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
3970 ::operations_research::pdlp::AdaptiveLinesearchParams* released = _impl_.adaptive_linesearch_parameters_;
3971 _impl_.adaptive_linesearch_parameters_ = nullptr;
3972 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3973 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3974 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3975 if (GetArena() == nullptr) {
3976 delete old;
3977 }
3978 } else {
3979 if (GetArena() != nullptr) {
3980 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3981 }
3982 }
3983 return released;
3984}
3985inline ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::unsafe_arena_release_adaptive_linesearch_parameters() {
3986 ::google::protobuf::internal::TSanWrite(&_impl_);
3987 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
3988
3989 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
3990 ::operations_research::pdlp::AdaptiveLinesearchParams* temp = _impl_.adaptive_linesearch_parameters_;
3991 _impl_.adaptive_linesearch_parameters_ = nullptr;
3992 return temp;
3993}
3994inline ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NONNULL PrimalDualHybridGradientParams::_internal_mutable_adaptive_linesearch_parameters() {
3995 ::google::protobuf::internal::TSanWrite(&_impl_);
3996 if (_impl_.adaptive_linesearch_parameters_ == nullptr) {
3997 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::AdaptiveLinesearchParams>(GetArena());
3998 _impl_.adaptive_linesearch_parameters_ = reinterpret_cast<::operations_research::pdlp::AdaptiveLinesearchParams*>(p);
3999 }
4000 return _impl_.adaptive_linesearch_parameters_;
4001}
4002inline ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_adaptive_linesearch_parameters()
4003 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4004 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
4005 ::operations_research::pdlp::AdaptiveLinesearchParams* _msg = _internal_mutable_adaptive_linesearch_parameters();
4006 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
4007 return _msg;
4008}
4010 ::google::protobuf::Arena* message_arena = GetArena();
4011 ::google::protobuf::internal::TSanWrite(&_impl_);
4012 if (message_arena == nullptr) {
4013 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.adaptive_linesearch_parameters_);
4014 }
4015
4016 if (value != nullptr) {
4017 ::google::protobuf::Arena* submessage_arena = value->GetArena();
4018 if (message_arena != submessage_arena) {
4019 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4020 }
4021 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
4022 } else {
4023 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
4024 }
4025
4026 _impl_.adaptive_linesearch_parameters_ = reinterpret_cast<::operations_research::pdlp::AdaptiveLinesearchParams*>(value);
4027 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
4028}
4029
4030// optional .operations_research.pdlp.MalitskyPockParams malitsky_pock_parameters = 19;
4032 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
4033 PROTOBUF_ASSUME(!value || _impl_.malitsky_pock_parameters_ != nullptr);
4034 return value;
4035}
4037 ::google::protobuf::internal::TSanWrite(&_impl_);
4038 if (_impl_.malitsky_pock_parameters_ != nullptr) _impl_.malitsky_pock_parameters_->Clear();
4039 ClearHasBit(_impl_._has_bits_[0],
4040 0x00000010U);
4041}
4042inline const ::operations_research::pdlp::MalitskyPockParams& PrimalDualHybridGradientParams::_internal_malitsky_pock_parameters() const {
4043 ::google::protobuf::internal::TSanRead(&_impl_);
4044 const ::operations_research::pdlp::MalitskyPockParams* p = _impl_.malitsky_pock_parameters_;
4046}
4047inline const ::operations_research::pdlp::MalitskyPockParams& PrimalDualHybridGradientParams::malitsky_pock_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4048 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4049 return _internal_malitsky_pock_parameters();
4050}
4052 ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NULLABLE value) {
4053 ::google::protobuf::internal::TSanWrite(&_impl_);
4054 if (GetArena() == nullptr) {
4055 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.malitsky_pock_parameters_);
4056 }
4057 _impl_.malitsky_pock_parameters_ = reinterpret_cast<::operations_research::pdlp::MalitskyPockParams*>(value);
4058 if (value != nullptr) {
4059 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
4060 } else {
4061 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
4062 }
4063 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4065inline ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::release_malitsky_pock_parameters() {
4066 ::google::protobuf::internal::TSanWrite(&_impl_);
4067
4068 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
4069 ::operations_research::pdlp::MalitskyPockParams* released = _impl_.malitsky_pock_parameters_;
4070 _impl_.malitsky_pock_parameters_ = nullptr;
4071 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4072 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4073 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4074 if (GetArena() == nullptr) {
4075 delete old;
4076 }
4077 } else {
4078 if (GetArena() != nullptr) {
4079 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4080 }
4081 }
4082 return released;
4083}
4084inline ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::unsafe_arena_release_malitsky_pock_parameters() {
4085 ::google::protobuf::internal::TSanWrite(&_impl_);
4086 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4087
4088 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
4089 ::operations_research::pdlp::MalitskyPockParams* temp = _impl_.malitsky_pock_parameters_;
4090 _impl_.malitsky_pock_parameters_ = nullptr;
4091 return temp;
4092}
4093inline ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NONNULL PrimalDualHybridGradientParams::_internal_mutable_malitsky_pock_parameters() {
4094 ::google::protobuf::internal::TSanWrite(&_impl_);
4095 if (_impl_.malitsky_pock_parameters_ == nullptr) {
4096 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::MalitskyPockParams>(GetArena());
4097 _impl_.malitsky_pock_parameters_ = reinterpret_cast<::operations_research::pdlp::MalitskyPockParams*>(p);
4098 }
4099 return _impl_.malitsky_pock_parameters_;
4100}
4101inline ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_malitsky_pock_parameters()
4102 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4103 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
4104 ::operations_research::pdlp::MalitskyPockParams* _msg = _internal_mutable_malitsky_pock_parameters();
4105 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4106 return _msg;
4107}
4109 ::google::protobuf::Arena* message_arena = GetArena();
4110 ::google::protobuf::internal::TSanWrite(&_impl_);
4111 if (message_arena == nullptr) {
4112 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.malitsky_pock_parameters_);
4113 }
4114
4115 if (value != nullptr) {
4116 ::google::protobuf::Arena* submessage_arena = value->GetArena();
4117 if (message_arena != submessage_arena) {
4118 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4119 }
4120 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
4121 } else {
4122 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
4123 }
4124
4125 _impl_.malitsky_pock_parameters_ = reinterpret_cast<::operations_research::pdlp::MalitskyPockParams*>(value);
4126 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4127}
4128
4129// optional double initial_step_size_scaling = 25 [default = 1];
4131 bool value = CheckHasBit(_impl_._has_bits_[0], 0x10000000U);
4132 return value;
4133}
4135 ::google::protobuf::internal::TSanWrite(&_impl_);
4136 _impl_.initial_step_size_scaling_ = 1;
4137 ClearHasBit(_impl_._has_bits_[0],
4138 0x10000000U);
4139}
4141 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.initial_step_size_scaling)
4142 return _internal_initial_step_size_scaling();
4143}
4145 _internal_set_initial_step_size_scaling(value);
4146 SetHasBit(_impl_._has_bits_[0], 0x10000000U);
4147 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.initial_step_size_scaling)
4148}
4149inline double PrimalDualHybridGradientParams::_internal_initial_step_size_scaling() const {
4150 ::google::protobuf::internal::TSanRead(&_impl_);
4151 return _impl_.initial_step_size_scaling_;
4152}
4153inline void PrimalDualHybridGradientParams::_internal_set_initial_step_size_scaling(double value) {
4154 ::google::protobuf::internal::TSanWrite(&_impl_);
4155 _impl_.initial_step_size_scaling_ = value;
4156}
4158// repeated int32 random_projection_seeds = 28 [packed = true];
4159inline int PrimalDualHybridGradientParams::_internal_random_projection_seeds_size() const {
4160 return _internal_random_projection_seeds().size();
4163 return _internal_random_projection_seeds_size();
4164}
4166 ::google::protobuf::internal::TSanWrite(&_impl_);
4167 _impl_.random_projection_seeds_.Clear();
4168 ClearHasBitForRepeated(_impl_._has_bits_[0],
4169 0x00000001U);
4170}
4171inline ::int32_t PrimalDualHybridGradientParams::random_projection_seeds(int index) const {
4172 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4173 return _internal_random_projection_seeds().Get(index);
4174}
4175inline void PrimalDualHybridGradientParams::set_random_projection_seeds(int index, ::int32_t value) {
4176 _internal_mutable_random_projection_seeds()->Set(index, value);
4177 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4178}
4180 ::google::protobuf::internal::TSanWrite(&_impl_);
4181 _internal_mutable_random_projection_seeds()->Add(value);
4182 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
4183 // @@protoc_insertion_point(field_add:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4184}
4185inline const ::google::protobuf::RepeatedField<::int32_t>& PrimalDualHybridGradientParams::random_projection_seeds() const
4186 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4187 // @@protoc_insertion_point(field_list:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4188 return _internal_random_projection_seeds();
4189}
4190inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_random_projection_seeds()
4191 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4192 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
4193 // @@protoc_insertion_point(field_mutable_list:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4194 ::google::protobuf::internal::TSanWrite(&_impl_);
4195 return _internal_mutable_random_projection_seeds();
4197inline const ::google::protobuf::RepeatedField<::int32_t>&
4198PrimalDualHybridGradientParams::_internal_random_projection_seeds() const {
4199 ::google::protobuf::internal::TSanRead(&_impl_);
4200 return _impl_.random_projection_seeds_;
4201}
4202inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
4203PrimalDualHybridGradientParams::_internal_mutable_random_projection_seeds() {
4204 ::google::protobuf::internal::TSanRead(&_impl_);
4205 return &_impl_.random_projection_seeds_;
4206}
4208// optional double infinite_constraint_bound_threshold = 22 [default = inf];
4210 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00800000U);
4211 return value;
4212}
4214 ::google::protobuf::internal::TSanWrite(&_impl_);
4215 _impl_.infinite_constraint_bound_threshold_ = std::numeric_limits<double>::infinity();
4216 ClearHasBit(_impl_._has_bits_[0],
4217 0x00800000U);
4218}
4220 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.infinite_constraint_bound_threshold)
4221 return _internal_infinite_constraint_bound_threshold();
4222}
4224 _internal_set_infinite_constraint_bound_threshold(value);
4225 SetHasBit(_impl_._has_bits_[0], 0x00800000U);
4226 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.infinite_constraint_bound_threshold)
4227}
4228inline double PrimalDualHybridGradientParams::_internal_infinite_constraint_bound_threshold() const {
4229 ::google::protobuf::internal::TSanRead(&_impl_);
4230 return _impl_.infinite_constraint_bound_threshold_;
4231}
4232inline void PrimalDualHybridGradientParams::_internal_set_infinite_constraint_bound_threshold(double value) {
4233 ::google::protobuf::internal::TSanWrite(&_impl_);
4234 _impl_.infinite_constraint_bound_threshold_ = value;
4235}
4237// optional bool handle_some_primal_gradients_on_finite_bounds_as_residuals = 29 [default = true];
4239 bool value = CheckHasBit(_impl_._has_bits_[0], 0x02000000U);
4240 return value;
4241}
4243 ::google::protobuf::internal::TSanWrite(&_impl_);
4244 _impl_.handle_some_primal_gradients_on_finite_bounds_as_residuals_ = true;
4245 ClearHasBit(_impl_._has_bits_[0],
4246 0x02000000U);
4247}
4249 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.handle_some_primal_gradients_on_finite_bounds_as_residuals)
4250 return _internal_handle_some_primal_gradients_on_finite_bounds_as_residuals();
4251}
4253 _internal_set_handle_some_primal_gradients_on_finite_bounds_as_residuals(value);
4254 SetHasBit(_impl_._has_bits_[0], 0x02000000U);
4255 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.handle_some_primal_gradients_on_finite_bounds_as_residuals)
4256}
4257inline bool PrimalDualHybridGradientParams::_internal_handle_some_primal_gradients_on_finite_bounds_as_residuals() const {
4258 ::google::protobuf::internal::TSanRead(&_impl_);
4259 return _impl_.handle_some_primal_gradients_on_finite_bounds_as_residuals_;
4260}
4261inline void PrimalDualHybridGradientParams::_internal_set_handle_some_primal_gradients_on_finite_bounds_as_residuals(bool value) {
4262 ::google::protobuf::internal::TSanWrite(&_impl_);
4263 _impl_.handle_some_primal_gradients_on_finite_bounds_as_residuals_ = value;
4264}
4266// optional bool use_diagonal_qp_trust_region_solver = 23 [default = false];
4268 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
4269 return value;
4270}
4272 ::google::protobuf::internal::TSanWrite(&_impl_);
4273 _impl_.use_diagonal_qp_trust_region_solver_ = false;
4274 ClearHasBit(_impl_._has_bits_[0],
4275 0x00000080U);
4276}
4278 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.use_diagonal_qp_trust_region_solver)
4279 return _internal_use_diagonal_qp_trust_region_solver();
4280}
4282 _internal_set_use_diagonal_qp_trust_region_solver(value);
4283 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
4284 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.use_diagonal_qp_trust_region_solver)
4285}
4286inline bool PrimalDualHybridGradientParams::_internal_use_diagonal_qp_trust_region_solver() const {
4287 ::google::protobuf::internal::TSanRead(&_impl_);
4288 return _impl_.use_diagonal_qp_trust_region_solver_;
4289}
4290inline void PrimalDualHybridGradientParams::_internal_set_use_diagonal_qp_trust_region_solver(bool value) {
4291 ::google::protobuf::internal::TSanWrite(&_impl_);
4292 _impl_.use_diagonal_qp_trust_region_solver_ = value;
4293}
4295// optional double diagonal_qp_trust_region_solver_tolerance = 24 [default = 1e-08];
4297 bool value = CheckHasBit(_impl_._has_bits_[0], 0x08000000U);
4298 return value;
4299}
4301 ::google::protobuf::internal::TSanWrite(&_impl_);
4302 _impl_.diagonal_qp_trust_region_solver_tolerance_ = 1e-08;
4303 ClearHasBit(_impl_._has_bits_[0],
4304 0x08000000U);
4305}
4307 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.diagonal_qp_trust_region_solver_tolerance)
4308 return _internal_diagonal_qp_trust_region_solver_tolerance();
4309}
4311 _internal_set_diagonal_qp_trust_region_solver_tolerance(value);
4312 SetHasBit(_impl_._has_bits_[0], 0x08000000U);
4313 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.diagonal_qp_trust_region_solver_tolerance)
4314}
4315inline double PrimalDualHybridGradientParams::_internal_diagonal_qp_trust_region_solver_tolerance() const {
4316 ::google::protobuf::internal::TSanRead(&_impl_);
4317 return _impl_.diagonal_qp_trust_region_solver_tolerance_;
4318}
4319inline void PrimalDualHybridGradientParams::_internal_set_diagonal_qp_trust_region_solver_tolerance(double value) {
4320 ::google::protobuf::internal::TSanWrite(&_impl_);
4321 _impl_.diagonal_qp_trust_region_solver_tolerance_ = value;
4322}
4324// optional bool use_feasibility_polishing = 30 [default = false];
4326 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U);
4327 return value;
4328}
4330 ::google::protobuf::internal::TSanWrite(&_impl_);
4331 _impl_.use_feasibility_polishing_ = false;
4332 ClearHasBit(_impl_._has_bits_[0],
4333 0x00000100U);
4334}
4336 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.use_feasibility_polishing)
4337 return _internal_use_feasibility_polishing();
4338}
4340 _internal_set_use_feasibility_polishing(value);
4341 SetHasBit(_impl_._has_bits_[0], 0x00000100U);
4342 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.use_feasibility_polishing)
4343}
4344inline bool PrimalDualHybridGradientParams::_internal_use_feasibility_polishing() const {
4345 ::google::protobuf::internal::TSanRead(&_impl_);
4346 return _impl_.use_feasibility_polishing_;
4347}
4348inline void PrimalDualHybridGradientParams::_internal_set_use_feasibility_polishing(bool value) {
4349 ::google::protobuf::internal::TSanWrite(&_impl_);
4350 _impl_.use_feasibility_polishing_ = value;
4351}
4353// optional bool apply_feasibility_polishing_after_limits_reached = 33 [default = false];
4355 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00001000U);
4356 return value;
4357}
4359 ::google::protobuf::internal::TSanWrite(&_impl_);
4360 _impl_.apply_feasibility_polishing_after_limits_reached_ = false;
4361 ClearHasBit(_impl_._has_bits_[0],
4362 0x00001000U);
4363}
4365 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.apply_feasibility_polishing_after_limits_reached)
4366 return _internal_apply_feasibility_polishing_after_limits_reached();
4367}
4369 _internal_set_apply_feasibility_polishing_after_limits_reached(value);
4370 SetHasBit(_impl_._has_bits_[0], 0x00001000U);
4371 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.apply_feasibility_polishing_after_limits_reached)
4372}
4373inline bool PrimalDualHybridGradientParams::_internal_apply_feasibility_polishing_after_limits_reached() const {
4374 ::google::protobuf::internal::TSanRead(&_impl_);
4375 return _impl_.apply_feasibility_polishing_after_limits_reached_;
4376}
4377inline void PrimalDualHybridGradientParams::_internal_set_apply_feasibility_polishing_after_limits_reached(bool value) {
4378 ::google::protobuf::internal::TSanWrite(&_impl_);
4379 _impl_.apply_feasibility_polishing_after_limits_reached_ = value;
4380}
4382// optional bool apply_feasibility_polishing_if_solver_is_interrupted = 34 [default = false];
4384 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00002000U);
4385 return value;
4386}
4388 ::google::protobuf::internal::TSanWrite(&_impl_);
4389 _impl_.apply_feasibility_polishing_if_solver_is_interrupted_ = false;
4390 ClearHasBit(_impl_._has_bits_[0],
4391 0x00002000U);
4392}
4394 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.apply_feasibility_polishing_if_solver_is_interrupted)
4395 return _internal_apply_feasibility_polishing_if_solver_is_interrupted();
4396}
4398 _internal_set_apply_feasibility_polishing_if_solver_is_interrupted(value);
4399 SetHasBit(_impl_._has_bits_[0], 0x00002000U);
4400 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.apply_feasibility_polishing_if_solver_is_interrupted)
4401}
4402inline bool PrimalDualHybridGradientParams::_internal_apply_feasibility_polishing_if_solver_is_interrupted() const {
4403 ::google::protobuf::internal::TSanRead(&_impl_);
4404 return _impl_.apply_feasibility_polishing_if_solver_is_interrupted_;
4405}
4406inline void PrimalDualHybridGradientParams::_internal_set_apply_feasibility_polishing_if_solver_is_interrupted(bool value) {
4407 ::google::protobuf::internal::TSanWrite(&_impl_);
4408 _impl_.apply_feasibility_polishing_if_solver_is_interrupted_ = value;
4409}
4411#ifdef __GNUC__
4412#pragma GCC diagnostic pop
4413#endif // __GNUC__
4415// @@protoc_insertion_point(namespace_scope)
4416} // namespace pdlp
4417} // namespace operations_research
4418
4419
4420namespace google {
4421namespace protobuf {
4422
4423template <>
4424struct is_proto_enum<::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy> : std::true_type {};
4425template <>
4427 return ::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy_descriptor();
4428}
4429template <>
4430struct is_proto_enum<::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule> : std::true_type {};
4431template <>
4433 return ::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule_descriptor();
4434}
4435template <>
4436struct is_proto_enum<::operations_research::pdlp::OptimalityNorm> : std::true_type {};
4437template <>
4438inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::pdlp::OptimalityNorm>() {
4439 return ::operations_research::pdlp::OptimalityNorm_descriptor();
4440}
4441template <>
4442struct is_proto_enum<::operations_research::pdlp::SchedulerType> : std::true_type {};
4443template <>
4444inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::pdlp::SchedulerType>() {
4445 return ::operations_research::pdlp::SchedulerType_descriptor();
4446}
4448} // namespace protobuf
4449} // namespace google
4450
4451// @@protoc_insertion_point(global_scope)
4452
4453#include "google/protobuf/port_undef.inc"
4454
4455#endif // ortools_2fpdlp_2fsolvers_2eproto_2epb_2eh
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition solvers.pb.h:973
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void Swap(AdaptiveLinesearchParams *PROTOBUF_NONNULL other)
Definition solvers.pb.h:997
void MergeFrom(const AdaptiveLinesearchParams &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
Definition solvers.pb.h:982
AdaptiveLinesearchParams & operator=(const AdaptiveLinesearchParams &from)
Definition solvers.pb.h:959
friend void swap(AdaptiveLinesearchParams &a, AdaptiveLinesearchParams &b)
Definition solvers.pb.h:996
AdaptiveLinesearchParams *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const AdaptiveLinesearchParams &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
Definition solvers.pb.h:985
friend class ::google::protobuf::MessageLite
Definition solvers.pb.h:910
MalitskyPockParams & operator=(const MalitskyPockParams &from)
Definition solvers.pb.h:741
friend void swap(MalitskyPockParams &a, MalitskyPockParams &b)
Definition solvers.pb.h:778
void CopyFrom(const MalitskyPockParams &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition solvers.pb.h:755
PROTOBUF_CONSTEXPR MalitskyPockParams(::google::protobuf::internal::ConstantInitialized)
static const MalitskyPockParams & default_instance()
Definition solvers.pb.h:773
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition solvers.pb.h:759
void Swap(MalitskyPockParams *PROTOBUF_NONNULL other)
Definition solvers.pb.h:779
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
Definition solvers.pb.h:764
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
Definition solvers.pb.h:767
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void MergeFrom(const MalitskyPockParams &from)
Definition solvers.pb.h:801
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::operations_research::glop::GlopParameters *PROTOBUF_NULLABLE unsafe_arena_release_glop_parameters()
PrimalDualHybridGradientParams_PresolveOptions & operator=(const PrimalDualHybridGradientParams_PresolveOptions &from)
void unsafe_arena_set_allocated_glop_parameters(::operations_research::glop::GlopParameters *PROTOBUF_NULLABLE value)
void Swap(PrimalDualHybridGradientParams_PresolveOptions *PROTOBUF_NONNULL other)
const ::operations_research::glop::GlopParameters & glop_parameters() const
void set_allocated_glop_parameters(::operations_research::glop::GlopParameters *PROTOBUF_NULLABLE value)
friend void swap(PrimalDualHybridGradientParams_PresolveOptions &a, PrimalDualHybridGradientParams_PresolveOptions &b)
::operations_research::glop::GlopParameters *PROTOBUF_NULLABLE release_glop_parameters()
PrimalDualHybridGradientParams_PresolveOptions *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
static const PrimalDualHybridGradientParams_PresolveOptions & default_instance()
::operations_research::glop::GlopParameters *PROTOBUF_NONNULL mutable_glop_parameters()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL RestartStrategy_descriptor()
static bool LinesearchRule_Parse(::absl::string_view name, LinesearchRule *PROTOBUF_NONNULL value)
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL LinesearchRule_descriptor()
void unsafe_arena_set_allocated_termination_criteria(::operations_research::pdlp::TerminationCriteria *PROTOBUF_NULLABLE value)
static constexpr LinesearchRule ADAPTIVE_LINESEARCH_RULE
void unsafe_arena_set_allocated_presolve_options(::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions *PROTOBUF_NULLABLE value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::operations_research::pdlp::TerminationCriteria *PROTOBUF_NULLABLE release_termination_criteria()
::operations_research::pdlp::MalitskyPockParams *PROTOBUF_NONNULL mutable_malitsky_pock_parameters()
const ::google::protobuf::RepeatedField<::int32_t > & random_projection_seeds() const
void set_random_projection_seeds(int index, ::int32_t value)
static constexpr LinesearchRule MALITSKY_POCK_LINESEARCH_RULE
void unsafe_arena_set_allocated_adaptive_linesearch_parameters(::operations_research::pdlp::AdaptiveLinesearchParams *PROTOBUF_NULLABLE value)
void set_allocated_adaptive_linesearch_parameters(::operations_research::pdlp::AdaptiveLinesearchParams *PROTOBUF_NULLABLE value)
PrimalDualHybridGradientParams_LinesearchRule LinesearchRule
::operations_research::pdlp::TerminationCriteria *PROTOBUF_NULLABLE unsafe_arena_release_termination_criteria()
const ::operations_research::pdlp::MalitskyPockParams & malitsky_pock_parameters() const
::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions *PROTOBUF_NULLABLE unsafe_arena_release_presolve_options()
void unsafe_arena_set_allocated_malitsky_pock_parameters(::operations_research::pdlp::MalitskyPockParams *PROTOBUF_NULLABLE value)
static constexpr LinesearchRule LINESEARCH_RULE_UNSPECIFIED
void set_restart_strategy(::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy value)
void set_allocated_malitsky_pock_parameters(::operations_research::pdlp::MalitskyPockParams *PROTOBUF_NULLABLE value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
const ::operations_research::pdlp::AdaptiveLinesearchParams & adaptive_linesearch_parameters() const
::operations_research::pdlp::TerminationCriteria *PROTOBUF_NONNULL mutable_termination_criteria()
::operations_research::pdlp::MalitskyPockParams *PROTOBUF_NULLABLE release_malitsky_pock_parameters()
const ::operations_research::pdlp::TerminationCriteria & termination_criteria() const
::operations_research::pdlp::AdaptiveLinesearchParams *PROTOBUF_NULLABLE unsafe_arena_release_adaptive_linesearch_parameters()
static bool RestartStrategy_Parse(::absl::string_view name, RestartStrategy *PROTOBUF_NONNULL value)
::operations_research::pdlp::AdaptiveLinesearchParams *PROTOBUF_NONNULL mutable_adaptive_linesearch_parameters()
PrimalDualHybridGradientParams *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
void set_allocated_presolve_options(::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions *PROTOBUF_NULLABLE value)
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_random_projection_seeds()
::operations_research::pdlp::MalitskyPockParams *PROTOBUF_NULLABLE unsafe_arena_release_malitsky_pock_parameters()
::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions *PROTOBUF_NONNULL mutable_presolve_options()
::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions *PROTOBUF_NULLABLE release_presolve_options()
void UnsafeArenaSwap(PrimalDualHybridGradientParams *PROTOBUF_NONNULL other)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
void set_linesearch_rule(::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule value)
::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy restart_strategy() const
PrimalDualHybridGradientParams_RestartStrategy RestartStrategy
::operations_research::pdlp::SchedulerType scheduler_type() const
static constexpr LinesearchRule CONSTANT_STEP_SIZE_RULE
::operations_research::pdlp::AdaptiveLinesearchParams *PROTOBUF_NULLABLE release_adaptive_linesearch_parameters()
static const PrimalDualHybridGradientParams & default_instance()
const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions & presolve_options() const
friend void swap(PrimalDualHybridGradientParams &a, PrimalDualHybridGradientParams &b)
void set_allocated_termination_criteria(::operations_research::pdlp::TerminationCriteria *PROTOBUF_NULLABLE value)
void Swap(PrimalDualHybridGradientParams *PROTOBUF_NONNULL other)
::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule linesearch_rule() const
void set_scheduler_type(::operations_research::pdlp::SchedulerType value)
void MergeFrom(const TerminationCriteria_DetailedOptimalityCriteria &from)
Definition solvers.pb.h:544
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
Definition solvers.pb.h:510
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition solvers.pb.h:498
static const TerminationCriteria_DetailedOptimalityCriteria & default_instance()
Definition solvers.pb.h:516
TerminationCriteria_DetailedOptimalityCriteria & operator=(const TerminationCriteria_DetailedOptimalityCriteria &from)
Definition solvers.pb.h:484
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const TerminationCriteria_DetailedOptimalityCriteria &from)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
Definition solvers.pb.h:513
void Swap(TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NONNULL other)
Definition solvers.pb.h:522
PROTOBUF_CONSTEXPR TerminationCriteria_DetailedOptimalityCriteria(::google::protobuf::internal::ConstantInitialized)
TerminationCriteria_SimpleOptimalityCriteria & operator=(const TerminationCriteria_SimpleOptimalityCriteria &from)
Definition solvers.pb.h:279
void Swap(TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NONNULL other)
Definition solvers.pb.h:317
PROTOBUF_CONSTEXPR TerminationCriteria_SimpleOptimalityCriteria(::google::protobuf::internal::ConstantInitialized)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition solvers.pb.h:293
void CopyFrom(const TerminationCriteria_SimpleOptimalityCriteria &from)
TerminationCriteria_SimpleOptimalityCriteria(const TerminationCriteria_SimpleOptimalityCriteria &from)
Definition solvers.pb.h:276
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 const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NONNULL mutable_simple_optimality_criteria()
void unsafe_arena_set_allocated_detailed_optimality_criteria(::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NULLABLE value)
::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NONNULL mutable_detailed_optimality_criteria()
friend void swap(TerminationCriteria &a, TerminationCriteria &b)
void set_allocated_simple_optimality_criteria(::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE value)
::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NULLABLE unsafe_arena_release_detailed_optimality_criteria()
::operations_research::pdlp::OptimalityNorm optimality_norm() const
static const TerminationCriteria & default_instance()
void CopyFrom(const TerminationCriteria &from)
const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria & simple_optimality_criteria() const
void MergeFrom(const TerminationCriteria &from)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
void unsafe_arena_set_allocated_simple_optimality_criteria(::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE value)
TerminationCriteria & operator=(const TerminationCriteria &from)
void set_optimality_norm(::operations_research::pdlp::OptimalityNorm value)
::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NULLABLE release_detailed_optimality_criteria()
::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE unsafe_arena_release_simple_optimality_criteria()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
OptimalityCriteriaCase optimality_criteria_case() const
void Swap(TerminationCriteria *PROTOBUF_NONNULL other)
TerminationCriteria *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE release_simple_optimality_criteria()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::absl::string_view GetAnyMessageName()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::pdlp::OptimalityNorm >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::pdlp::SchedulerType >()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GlopParametersDefaultTypeInternal _GlopParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TerminationCriteria_DetailedOptimalityCriteriaDefaultTypeInternal _TerminationCriteria_DetailedOptimalityCriteria_default_instance_
Definition solvers.pb.cc:84
constexpr SchedulerType SchedulerType_MIN
Definition solvers.pb.h:226
bool SchedulerType_IsValid(int value)
Definition solvers.pb.h:230
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()
constexpr PrimalDualHybridGradientParams_LinesearchRule PrimalDualHybridGradientParams_LinesearchRule_LinesearchRule_MIN
Definition solvers.pb.h:159
constexpr int PrimalDualHybridGradientParams_RestartStrategy_RestartStrategy_ARRAYSIZE
Definition solvers.pb.h:132
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PrimalDualHybridGradientParams_class_data_
@ PrimalDualHybridGradientParams_LinesearchRule_MALITSKY_POCK_LINESEARCH_RULE
Definition solvers.pb.h:154
@ PrimalDualHybridGradientParams_LinesearchRule_ADAPTIVE_LINESEARCH_RULE
Definition solvers.pb.h:153
@ PrimalDualHybridGradientParams_LinesearchRule_LINESEARCH_RULE_UNSPECIFIED
Definition solvers.pb.h:152
@ PrimalDualHybridGradientParams_LinesearchRule_CONSTANT_STEP_SIZE_RULE
Definition solvers.pb.h:155
const ::std::string & SchedulerType_Name(T value)
Definition solvers.pb.h:236
constexpr OptimalityNorm OptimalityNorm_MAX
Definition solvers.pb.h:195
bool PrimalDualHybridGradientParams_RestartStrategy_Parse(::absl::string_view name, PrimalDualHybridGradientParams_RestartStrategy *PROTOBUF_NONNULL value)
Definition solvers.pb.h:146
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_
const ::std::string & OptimalityNorm_Name(T value)
Definition solvers.pb.h:203
constexpr SchedulerType SchedulerType_MAX
Definition solvers.pb.h:228
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()
constexpr int SchedulerType_ARRAYSIZE
Definition solvers.pb.h:233
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL OptimalityNorm_descriptor()
constexpr PrimalDualHybridGradientParams_RestartStrategy PrimalDualHybridGradientParams_RestartStrategy_RestartStrategy_MAX
Definition solvers.pb.h:127
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_NO_RESTARTS
Definition solvers.pb.h:118
@ PrimalDualHybridGradientParams_RestartStrategy_ADAPTIVE_DISTANCE_BASED
Definition solvers.pb.h:121
@ PrimalDualHybridGradientParams_RestartStrategy_ADAPTIVE_HEURISTIC
Definition solvers.pb.h:120
@ PrimalDualHybridGradientParams_RestartStrategy_EVERY_MAJOR_ITERATION
Definition solvers.pb.h:119
@ PrimalDualHybridGradientParams_RestartStrategy_RESTART_STRATEGY_UNSPECIFIED
Definition solvers.pb.h:117
bool OptimalityNorm_Parse(::absl::string_view name, OptimalityNorm *PROTOBUF_NONNULL value)
Definition solvers.pb.h:214
constexpr int PrimalDualHybridGradientParams_LinesearchRule_LinesearchRule_ARRAYSIZE
Definition solvers.pb.h:166
bool PrimalDualHybridGradientParams_RestartStrategy_IsValid(int value)
Definition solvers.pb.h:129
constexpr int OptimalityNorm_ARRAYSIZE
Definition solvers.pb.h:200
dual_gradient T(y - `dual_solution`) class DiagonalTrustRegionProblemFromQp
PROTOBUF_CONSTINIT const uint32_t PrimalDualHybridGradientParams_RestartStrategy_internal_data_[]
bool OptimalityNorm_IsValid(int value)
Definition solvers.pb.h:197
bool SchedulerType_Parse(::absl::string_view name, SchedulerType *PROTOBUF_NONNULL value)
Definition solvers.pb.h:247
constexpr OptimalityNorm OptimalityNorm_MIN
Definition solvers.pb.h:193
bool PrimalDualHybridGradientParams_LinesearchRule_IsValid(int value)
Definition solvers.pb.h:163
const ::std::string & PrimalDualHybridGradientParams_LinesearchRule_Name(T value)
Definition solvers.pb.h:169
constexpr PrimalDualHybridGradientParams_LinesearchRule PrimalDualHybridGradientParams_LinesearchRule_LinesearchRule_MAX
Definition solvers.pb.h:161
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TerminationCriteria_SimpleOptimalityCriteriaDefaultTypeInternal _TerminationCriteria_SimpleOptimalityCriteria_default_instance_
Definition solvers.pb.cc:54
PROTOBUF_CONSTINIT const uint32_t OptimalityNorm_internal_data_[]
bool PrimalDualHybridGradientParams_LinesearchRule_Parse(::absl::string_view name, PrimalDualHybridGradientParams_LinesearchRule *PROTOBUF_NONNULL value)
Definition solvers.pb.h:180
const ::std::string & PrimalDualHybridGradientParams_RestartStrategy_Name(T value)
Definition solvers.pb.h:135
constexpr PrimalDualHybridGradientParams_RestartStrategy PrimalDualHybridGradientParams_RestartStrategy_RestartStrategy_MIN
Definition solvers.pb.h:125
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_
OR-Tools root namespace.
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fpdlp_2fsolvers_2eproto
::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE simple_optimality_criteria_
::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NULLABLE detailed_optimality_criteria_