Google OR-Tools v9.14
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.31.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 != 6031001
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 protected:
380 explicit TerminationCriteria_SimpleOptimalityCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
381 TerminationCriteria_SimpleOptimalityCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TerminationCriteria_SimpleOptimalityCriteria& from);
383 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, TerminationCriteria_SimpleOptimalityCriteria&& from) noexcept
385 *this = ::std::move(from);
386 }
387 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
388 static void* PROTOBUF_NONNULL PlacementNew_(
389 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
390 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
391 static constexpr auto InternalNewImpl_();
392
393 public:
394 static constexpr auto InternalGenerateClassData_();
395
396 ::google::protobuf::Metadata GetMetadata() const;
397 // nested types ----------------------------------------------------
398
399 // accessors -------------------------------------------------------
400 enum : int {
401 kEpsOptimalAbsoluteFieldNumber = 1,
402 kEpsOptimalRelativeFieldNumber = 2,
403 };
404 // optional double eps_optimal_absolute = 1 [default = 1e-06];
405 bool has_eps_optimal_absolute() const;
407 double eps_optimal_absolute() const;
408 void set_eps_optimal_absolute(double value);
409
410 private:
411 double _internal_eps_optimal_absolute() const;
412 void _internal_set_eps_optimal_absolute(double value);
413
414 public:
415 // optional double eps_optimal_relative = 2 [default = 1e-06];
416 bool has_eps_optimal_relative() const;
418 double eps_optimal_relative() const;
419 void set_eps_optimal_relative(double value);
420
421 private:
422 double _internal_eps_optimal_relative() const;
423 void _internal_set_eps_optimal_relative(double value);
424
425 public:
426 // @@protoc_insertion_point(class_scope:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria)
427 private:
428 class _Internal;
429 friend class ::google::protobuf::internal::TcParser;
430 static const ::google::protobuf::internal::TcParseTable<1, 2,
431 0, 0,
432 2>
433 _table_;
434
435 friend class ::google::protobuf::MessageLite;
436 friend class ::google::protobuf::Arena;
437 template <typename T>
438 friend class ::google::protobuf::Arena::InternalHelper;
439 using InternalArenaConstructable_ = void;
440 using DestructorSkippable_ = void;
441 struct Impl_ {
442 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
443 inline explicit Impl_(
444 ::google::protobuf::internal::InternalVisibility visibility,
445 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
446 inline explicit Impl_(
447 ::google::protobuf::internal::InternalVisibility visibility,
448 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
450 ::google::protobuf::internal::HasBits<1> _has_bits_;
451 ::google::protobuf::internal::CachedSize _cached_size_;
452 double eps_optimal_absolute_;
453 double eps_optimal_relative_;
454 PROTOBUF_TSAN_DECLARE_MEMBER
455 };
456 union { Impl_ _impl_; };
457 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
460OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TerminationCriteria_SimpleOptimalityCriteria_class_data_;
461// -------------------------------------------------------------------
462
463class OR_PROTO_DLL TerminationCriteria_DetailedOptimalityCriteria final : public ::google::protobuf::Message
464/* @@protoc_insertion_point(class_definition:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria) */ {
465 public:
468
469#if defined(PROTOBUF_CUSTOM_VTABLE)
470 void operator delete(TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
471 SharedDtor(*msg);
472 ::google::protobuf::internal::SizedDelete(msg, sizeof(TerminationCriteria_DetailedOptimalityCriteria));
473 }
474#endif
475
476 template <typename = void>
477 explicit PROTOBUF_CONSTEXPR TerminationCriteria_DetailedOptimalityCriteria(::google::protobuf::internal::ConstantInitialized);
478
481 : TerminationCriteria_DetailedOptimalityCriteria(nullptr, ::std::move(from)) {}
483 CopyFrom(from);
484 return *this;
487 if (this == &from) return *this;
488 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
489 InternalSwap(&from);
490 } else {
491 CopyFrom(from);
492 }
493 return *this;
494 }
495
496 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
497 ABSL_ATTRIBUTE_LIFETIME_BOUND {
498 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
500 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
501 ABSL_ATTRIBUTE_LIFETIME_BOUND {
502 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
504
505 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
506 return GetDescriptor();
507 }
508 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
509 return default_instance().GetMetadata().descriptor;
510 }
511 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
512 return default_instance().GetMetadata().reflection;
513 }
518 static constexpr int kIndexInFileMessages = 1;
520 inline void Swap(TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL other) {
521 if (other == this) return;
522 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
523 InternalSwap(other);
524 } else {
525 ::google::protobuf::internal::GenericSwap(this, other);
526 }
527 }
528 void UnsafeArenaSwap(TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL other) {
529 if (other == this) return;
530 ABSL_DCHECK(GetArena() == other->GetArena());
531 InternalSwap(other);
532 }
533
534 // implements Message ----------------------------------------------
535
536 TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
537 return ::google::protobuf::Message::DefaultConstruct<TerminationCriteria_DetailedOptimalityCriteria>(arena);
538 }
539 using ::google::protobuf::Message::CopyFrom;
541 using ::google::protobuf::Message::MergeFrom;
542 void MergeFrom(const TerminationCriteria_DetailedOptimalityCriteria& from) { TerminationCriteria_DetailedOptimalityCriteria::MergeImpl(*this, from); }
543
544 private:
545 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
546 const ::google::protobuf::MessageLite& from_msg);
547
548 public:
549 bool IsInitialized() const {
550 return true;
551 }
552 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
553 #if defined(PROTOBUF_CUSTOM_VTABLE)
554 private:
555 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
556 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
557 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
558 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
559
560 public:
561 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
562 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
563 ::uint8_t* PROTOBUF_NONNULL target,
564 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
565 return _InternalSerialize(*this, target, stream);
566 }
567 #else // PROTOBUF_CUSTOM_VTABLE
568 ::size_t ByteSizeLong() const final;
569 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
570 ::uint8_t* PROTOBUF_NONNULL target,
571 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
572 #endif // PROTOBUF_CUSTOM_VTABLE
573 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
574
575 private:
576 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
577 static void SharedDtor(MessageLite& self);
578 void InternalSwap(TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL other);
579 private:
580 template <typename T>
581 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
582 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria"; }
583
584 protected:
585 explicit TerminationCriteria_DetailedOptimalityCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
586 TerminationCriteria_DetailedOptimalityCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TerminationCriteria_DetailedOptimalityCriteria& from);
588 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, TerminationCriteria_DetailedOptimalityCriteria&& from) noexcept
590 *this = ::std::move(from);
591 }
592 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
593 static void* PROTOBUF_NONNULL PlacementNew_(
594 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
595 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
596 static constexpr auto InternalNewImpl_();
597
598 public:
599 static constexpr auto InternalGenerateClassData_();
600
601 ::google::protobuf::Metadata GetMetadata() const;
602 // nested types ----------------------------------------------------
603
604 // accessors -------------------------------------------------------
605 enum : int {
606 kEpsOptimalPrimalResidualAbsoluteFieldNumber = 1,
607 kEpsOptimalPrimalResidualRelativeFieldNumber = 2,
608 kEpsOptimalDualResidualAbsoluteFieldNumber = 3,
612 };
613 // optional double eps_optimal_primal_residual_absolute = 1 [default = 1e-06];
618
619 private:
620 double _internal_eps_optimal_primal_residual_absolute() const;
621 void _internal_set_eps_optimal_primal_residual_absolute(double value);
622
623 public:
624 // optional double eps_optimal_primal_residual_relative = 2 [default = 1e-06];
629
630 private:
631 double _internal_eps_optimal_primal_residual_relative() const;
632 void _internal_set_eps_optimal_primal_residual_relative(double value);
633
634 public:
635 // optional double eps_optimal_dual_residual_absolute = 3 [default = 1e-06];
640
641 private:
642 double _internal_eps_optimal_dual_residual_absolute() const;
643 void _internal_set_eps_optimal_dual_residual_absolute(double value);
644
645 public:
646 // optional double eps_optimal_dual_residual_relative = 4 [default = 1e-06];
651
652 private:
653 double _internal_eps_optimal_dual_residual_relative() const;
654 void _internal_set_eps_optimal_dual_residual_relative(double value);
655
656 public:
657 // optional double eps_optimal_objective_gap_absolute = 5 [default = 1e-06];
662
663 private:
664 double _internal_eps_optimal_objective_gap_absolute() const;
665 void _internal_set_eps_optimal_objective_gap_absolute(double value);
666
667 public:
668 // optional double eps_optimal_objective_gap_relative = 6 [default = 1e-06];
673
674 private:
675 double _internal_eps_optimal_objective_gap_relative() const;
676 void _internal_set_eps_optimal_objective_gap_relative(double value);
677
678 public:
679 // @@protoc_insertion_point(class_scope:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria)
680 private:
681 class _Internal;
682 friend class ::google::protobuf::internal::TcParser;
683 static const ::google::protobuf::internal::TcParseTable<3, 6,
684 0, 0,
685 2>
686 _table_;
687
688 friend class ::google::protobuf::MessageLite;
689 friend class ::google::protobuf::Arena;
690 template <typename T>
691 friend class ::google::protobuf::Arena::InternalHelper;
692 using InternalArenaConstructable_ = void;
693 using DestructorSkippable_ = void;
694 struct Impl_ {
695 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
696 inline explicit Impl_(
697 ::google::protobuf::internal::InternalVisibility visibility,
698 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
699 inline explicit Impl_(
700 ::google::protobuf::internal::InternalVisibility visibility,
701 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
703 ::google::protobuf::internal::HasBits<1> _has_bits_;
704 ::google::protobuf::internal::CachedSize _cached_size_;
705 double eps_optimal_primal_residual_absolute_;
706 double eps_optimal_primal_residual_relative_;
707 double eps_optimal_dual_residual_absolute_;
708 double eps_optimal_dual_residual_relative_;
709 double eps_optimal_objective_gap_absolute_;
710 double eps_optimal_objective_gap_relative_;
711 PROTOBUF_TSAN_DECLARE_MEMBER
712 };
713 union { Impl_ _impl_; };
714 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
715};
717OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TerminationCriteria_DetailedOptimalityCriteria_class_data_;
718// -------------------------------------------------------------------
719
720class OR_PROTO_DLL MalitskyPockParams final : public ::google::protobuf::Message
721/* @@protoc_insertion_point(class_definition:operations_research.pdlp.MalitskyPockParams) */ {
722 public:
723 inline MalitskyPockParams() : MalitskyPockParams(nullptr) {}
724 ~MalitskyPockParams() PROTOBUF_FINAL;
725
726#if defined(PROTOBUF_CUSTOM_VTABLE)
727 void operator delete(MalitskyPockParams* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
728 SharedDtor(*msg);
729 ::google::protobuf::internal::SizedDelete(msg, sizeof(MalitskyPockParams));
730 }
731#endif
732
733 template <typename = void>
734 explicit PROTOBUF_CONSTEXPR MalitskyPockParams(::google::protobuf::internal::ConstantInitialized);
735
736 inline MalitskyPockParams(const MalitskyPockParams& from) : MalitskyPockParams(nullptr, from) {}
737 inline MalitskyPockParams(MalitskyPockParams&& from) noexcept
738 : MalitskyPockParams(nullptr, ::std::move(from)) {}
739 inline MalitskyPockParams& operator=(const MalitskyPockParams& from) {
740 CopyFrom(from);
741 return *this;
742 }
744 if (this == &from) return *this;
745 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
746 InternalSwap(&from);
747 } else {
748 CopyFrom(from);
749 }
750 return *this;
751 }
752
753 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
754 ABSL_ATTRIBUTE_LIFETIME_BOUND {
755 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
756 }
757 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
758 ABSL_ATTRIBUTE_LIFETIME_BOUND {
759 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
760 }
762 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
763 return GetDescriptor();
764 }
765 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
766 return default_instance().GetMetadata().descriptor;
767 }
768 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
769 return default_instance().GetMetadata().reflection;
770 }
771 static const MalitskyPockParams& default_instance() {
772 return *reinterpret_cast<const MalitskyPockParams*>(
774 }
775 static constexpr int kIndexInFileMessages = 4;
776 friend void swap(MalitskyPockParams& a, MalitskyPockParams& b) { a.Swap(&b); }
777 inline void Swap(MalitskyPockParams* PROTOBUF_NONNULL other) {
778 if (other == this) return;
779 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
780 InternalSwap(other);
781 } else {
782 ::google::protobuf::internal::GenericSwap(this, other);
783 }
784 }
785 void UnsafeArenaSwap(MalitskyPockParams* PROTOBUF_NONNULL other) {
786 if (other == this) return;
787 ABSL_DCHECK(GetArena() == other->GetArena());
788 InternalSwap(other);
790
791 // implements Message ----------------------------------------------
792
793 MalitskyPockParams* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
794 return ::google::protobuf::Message::DefaultConstruct<MalitskyPockParams>(arena);
795 }
796 using ::google::protobuf::Message::CopyFrom;
797 void CopyFrom(const MalitskyPockParams& from);
798 using ::google::protobuf::Message::MergeFrom;
799 void MergeFrom(const MalitskyPockParams& from) { MalitskyPockParams::MergeImpl(*this, from); }
800
801 private:
802 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
803 const ::google::protobuf::MessageLite& from_msg);
804
805 public:
806 bool IsInitialized() const {
807 return true;
808 }
809 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
810 #if defined(PROTOBUF_CUSTOM_VTABLE)
811 private:
812 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
813 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
814 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
815 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
816
817 public:
818 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
819 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
820 ::uint8_t* PROTOBUF_NONNULL target,
821 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
822 return _InternalSerialize(*this, target, stream);
823 }
824 #else // PROTOBUF_CUSTOM_VTABLE
825 ::size_t ByteSizeLong() const final;
826 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
827 ::uint8_t* PROTOBUF_NONNULL target,
828 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
829 #endif // PROTOBUF_CUSTOM_VTABLE
830 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
831
832 private:
833 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
834 static void SharedDtor(MessageLite& self);
835 void InternalSwap(MalitskyPockParams* PROTOBUF_NONNULL other);
836 private:
837 template <typename T>
838 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
839 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.MalitskyPockParams"; }
840
841 protected:
842 explicit MalitskyPockParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
843 MalitskyPockParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MalitskyPockParams& from);
845 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MalitskyPockParams&& from) noexcept
846 : MalitskyPockParams(arena) {
847 *this = ::std::move(from);
849 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
850 static void* PROTOBUF_NONNULL PlacementNew_(
851 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
852 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
853 static constexpr auto InternalNewImpl_();
854
855 public:
856 static constexpr auto InternalGenerateClassData_();
857
858 ::google::protobuf::Metadata GetMetadata() const;
859 // nested types ----------------------------------------------------
860
861 // accessors -------------------------------------------------------
862 enum : int {
863 kStepSizeDownscalingFactorFieldNumber = 1,
864 kLinesearchContractionFactorFieldNumber = 2,
865 kStepSizeInterpolationFieldNumber = 3,
866 };
867 // optional double step_size_downscaling_factor = 1 [default = 0.7];
870 double step_size_downscaling_factor() const;
871 void set_step_size_downscaling_factor(double value);
872
873 private:
874 double _internal_step_size_downscaling_factor() const;
875 void _internal_set_step_size_downscaling_factor(double value);
876
877 public:
878 // optional double linesearch_contraction_factor = 2 [default = 0.99];
881 double linesearch_contraction_factor() const;
882 void set_linesearch_contraction_factor(double value);
883
884 private:
885 double _internal_linesearch_contraction_factor() const;
886 void _internal_set_linesearch_contraction_factor(double value);
887
888 public:
889 // optional double step_size_interpolation = 3 [default = 1];
890 bool has_step_size_interpolation() const;
892 double step_size_interpolation() const;
893 void set_step_size_interpolation(double value);
894
895 private:
896 double _internal_step_size_interpolation() const;
897 void _internal_set_step_size_interpolation(double value);
898
899 public:
900 // @@protoc_insertion_point(class_scope:operations_research.pdlp.MalitskyPockParams)
901 private:
902 class _Internal;
903 friend class ::google::protobuf::internal::TcParser;
904 static const ::google::protobuf::internal::TcParseTable<2, 3,
905 0, 0,
906 2>
907 _table_;
908
909 friend class ::google::protobuf::MessageLite;
910 friend class ::google::protobuf::Arena;
911 template <typename T>
912 friend class ::google::protobuf::Arena::InternalHelper;
913 using InternalArenaConstructable_ = void;
914 using DestructorSkippable_ = void;
915 struct Impl_ {
916 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
917 inline explicit Impl_(
918 ::google::protobuf::internal::InternalVisibility visibility,
919 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
920 inline explicit Impl_(
921 ::google::protobuf::internal::InternalVisibility visibility,
922 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
923 const MalitskyPockParams& from_msg);
924 ::google::protobuf::internal::HasBits<1> _has_bits_;
925 ::google::protobuf::internal::CachedSize _cached_size_;
926 double step_size_downscaling_factor_;
927 double linesearch_contraction_factor_;
928 double step_size_interpolation_;
929 PROTOBUF_TSAN_DECLARE_MEMBER
930 };
931 union { Impl_ _impl_; };
932 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
933};
934
935OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull MalitskyPockParams_class_data_;
936// -------------------------------------------------------------------
937
938class OR_PROTO_DLL AdaptiveLinesearchParams final : public ::google::protobuf::Message
939/* @@protoc_insertion_point(class_definition:operations_research.pdlp.AdaptiveLinesearchParams) */ {
940 public:
942 ~AdaptiveLinesearchParams() PROTOBUF_FINAL;
944#if defined(PROTOBUF_CUSTOM_VTABLE)
945 void operator delete(AdaptiveLinesearchParams* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
946 SharedDtor(*msg);
947 ::google::protobuf::internal::SizedDelete(msg, sizeof(AdaptiveLinesearchParams));
948 }
949#endif
950
951 template <typename = void>
952 explicit PROTOBUF_CONSTEXPR AdaptiveLinesearchParams(::google::protobuf::internal::ConstantInitialized);
953
955 inline AdaptiveLinesearchParams(AdaptiveLinesearchParams&& from) noexcept
956 : AdaptiveLinesearchParams(nullptr, ::std::move(from)) {}
958 CopyFrom(from);
959 return *this;
961 inline AdaptiveLinesearchParams& operator=(AdaptiveLinesearchParams&& from) noexcept {
962 if (this == &from) return *this;
963 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
964 InternalSwap(&from);
965 } else {
966 CopyFrom(from);
967 }
968 return *this;
969 }
970
971 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
972 ABSL_ATTRIBUTE_LIFETIME_BOUND {
973 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
974 }
975 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
976 ABSL_ATTRIBUTE_LIFETIME_BOUND {
977 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
978 }
979
980 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
981 return GetDescriptor();
982 }
983 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
984 return default_instance().GetMetadata().descriptor;
986 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
987 return default_instance().GetMetadata().reflection;
989 static const AdaptiveLinesearchParams& default_instance() {
990 return *reinterpret_cast<const AdaptiveLinesearchParams*>(
992 }
993 static constexpr int kIndexInFileMessages = 3;
995 inline void Swap(AdaptiveLinesearchParams* PROTOBUF_NONNULL other) {
996 if (other == this) return;
997 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
998 InternalSwap(other);
999 } else {
1000 ::google::protobuf::internal::GenericSwap(this, other);
1001 }
1002 }
1003 void UnsafeArenaSwap(AdaptiveLinesearchParams* PROTOBUF_NONNULL other) {
1004 if (other == this) return;
1005 ABSL_DCHECK(GetArena() == other->GetArena());
1006 InternalSwap(other);
1007 }
1009 // implements Message ----------------------------------------------
1010
1011 AdaptiveLinesearchParams* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1012 return ::google::protobuf::Message::DefaultConstruct<AdaptiveLinesearchParams>(arena);
1013 }
1014 using ::google::protobuf::Message::CopyFrom;
1015 void CopyFrom(const AdaptiveLinesearchParams& from);
1016 using ::google::protobuf::Message::MergeFrom;
1017 void MergeFrom(const AdaptiveLinesearchParams& from) { AdaptiveLinesearchParams::MergeImpl(*this, from); }
1018
1019 private:
1020 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1021 const ::google::protobuf::MessageLite& from_msg);
1023 public:
1024 bool IsInitialized() const {
1025 return true;
1026 }
1027 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1028 #if defined(PROTOBUF_CUSTOM_VTABLE)
1029 private:
1030 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1031 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1032 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1033 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1034
1035 public:
1036 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1037 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1038 ::uint8_t* PROTOBUF_NONNULL target,
1039 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1040 return _InternalSerialize(*this, target, stream);
1041 }
1042 #else // PROTOBUF_CUSTOM_VTABLE
1043 ::size_t ByteSizeLong() const final;
1044 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1045 ::uint8_t* PROTOBUF_NONNULL target,
1046 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1047 #endif // PROTOBUF_CUSTOM_VTABLE
1048 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1049
1050 private:
1051 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1052 static void SharedDtor(MessageLite& self);
1053 void InternalSwap(AdaptiveLinesearchParams* PROTOBUF_NONNULL other);
1054 private:
1055 template <typename T>
1056 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1057 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.AdaptiveLinesearchParams"; }
1058
1059 protected:
1060 explicit AdaptiveLinesearchParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1061 AdaptiveLinesearchParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AdaptiveLinesearchParams& from);
1063 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AdaptiveLinesearchParams&& from) noexcept
1064 : AdaptiveLinesearchParams(arena) {
1065 *this = ::std::move(from);
1066 }
1067 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1068 static void* PROTOBUF_NONNULL PlacementNew_(
1069 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1070 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1071 static constexpr auto InternalNewImpl_();
1072
1073 public:
1074 static constexpr auto InternalGenerateClassData_();
1075
1076 ::google::protobuf::Metadata GetMetadata() const;
1077 // nested types ----------------------------------------------------
1078
1079 // accessors -------------------------------------------------------
1080 enum : int {
1083 };
1084 // optional double step_size_reduction_exponent = 1 [default = 0.3];
1085 bool has_step_size_reduction_exponent() const;
1088 void set_step_size_reduction_exponent(double value);
1089
1090 private:
1091 double _internal_step_size_reduction_exponent() const;
1092 void _internal_set_step_size_reduction_exponent(double value);
1093
1094 public:
1095 // optional double step_size_growth_exponent = 2 [default = 0.6];
1096 bool has_step_size_growth_exponent() const;
1098 double step_size_growth_exponent() const;
1099 void set_step_size_growth_exponent(double value);
1100
1101 private:
1102 double _internal_step_size_growth_exponent() const;
1103 void _internal_set_step_size_growth_exponent(double value);
1104
1105 public:
1106 // @@protoc_insertion_point(class_scope:operations_research.pdlp.AdaptiveLinesearchParams)
1107 private:
1108 class _Internal;
1109 friend class ::google::protobuf::internal::TcParser;
1110 static const ::google::protobuf::internal::TcParseTable<1, 2,
1111 0, 0,
1112 2>
1113 _table_;
1115 friend class ::google::protobuf::MessageLite;
1116 friend class ::google::protobuf::Arena;
1117 template <typename T>
1118 friend class ::google::protobuf::Arena::InternalHelper;
1119 using InternalArenaConstructable_ = void;
1120 using DestructorSkippable_ = void;
1121 struct Impl_ {
1122 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1123 inline explicit Impl_(
1124 ::google::protobuf::internal::InternalVisibility visibility,
1125 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1126 inline explicit Impl_(
1127 ::google::protobuf::internal::InternalVisibility visibility,
1128 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1129 const AdaptiveLinesearchParams& from_msg);
1130 ::google::protobuf::internal::HasBits<1> _has_bits_;
1131 ::google::protobuf::internal::CachedSize _cached_size_;
1132 double step_size_reduction_exponent_;
1133 double step_size_growth_exponent_;
1134 PROTOBUF_TSAN_DECLARE_MEMBER
1135 };
1136 union { Impl_ _impl_; };
1137 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
1138};
1139
1140OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AdaptiveLinesearchParams_class_data_;
1141// -------------------------------------------------------------------
1143class OR_PROTO_DLL TerminationCriteria final : public ::google::protobuf::Message
1144/* @@protoc_insertion_point(class_definition:operations_research.pdlp.TerminationCriteria) */ {
1145 public:
1146 inline TerminationCriteria() : TerminationCriteria(nullptr) {}
1147 ~TerminationCriteria() PROTOBUF_FINAL;
1148
1149#if defined(PROTOBUF_CUSTOM_VTABLE)
1150 void operator delete(TerminationCriteria* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
1151 SharedDtor(*msg);
1152 ::google::protobuf::internal::SizedDelete(msg, sizeof(TerminationCriteria));
1153 }
1154#endif
1155
1156 template <typename = void>
1157 explicit PROTOBUF_CONSTEXPR TerminationCriteria(::google::protobuf::internal::ConstantInitialized);
1158
1159 inline TerminationCriteria(const TerminationCriteria& from) : TerminationCriteria(nullptr, from) {}
1160 inline TerminationCriteria(TerminationCriteria&& from) noexcept
1161 : TerminationCriteria(nullptr, ::std::move(from)) {}
1162 inline TerminationCriteria& operator=(const TerminationCriteria& from) {
1164 return *this;
1167 if (this == &from) return *this;
1168 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1169 InternalSwap(&from);
1170 } else {
1171 CopyFrom(from);
1173 return *this;
1174 }
1175
1176 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1177 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1178 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1179 }
1180 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1181 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1182 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1183 }
1184
1185 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1187 }
1188 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1189 return default_instance().GetMetadata().descriptor;
1190 }
1191 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1192 return default_instance().GetMetadata().reflection;
1193 }
1195 return *reinterpret_cast<const TerminationCriteria*>(
1198 enum OptimalityCriteriaCase {
1199 kSimpleOptimalityCriteria = 9,
1202 };
1203 static constexpr int kIndexInFileMessages = 2;
1204 friend void swap(TerminationCriteria& a, TerminationCriteria& b) { a.Swap(&b); }
1205 inline void Swap(TerminationCriteria* PROTOBUF_NONNULL other) {
1206 if (other == this) return;
1207 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1208 InternalSwap(other);
1209 } else {
1210 ::google::protobuf::internal::GenericSwap(this, other);
1212 }
1213 void UnsafeArenaSwap(TerminationCriteria* PROTOBUF_NONNULL other) {
1214 if (other == this) return;
1215 ABSL_DCHECK(GetArena() == other->GetArena());
1216 InternalSwap(other);
1217 }
1218
1219 // implements Message ----------------------------------------------
1220
1221 TerminationCriteria* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1222 return ::google::protobuf::Message::DefaultConstruct<TerminationCriteria>(arena);
1223 }
1224 using ::google::protobuf::Message::CopyFrom;
1225 void CopyFrom(const TerminationCriteria& from);
1226 using ::google::protobuf::Message::MergeFrom;
1227 void MergeFrom(const TerminationCriteria& from) { TerminationCriteria::MergeImpl(*this, from); }
1228
1229 private:
1230 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1231 const ::google::protobuf::MessageLite& from_msg);
1232
1233 public:
1234 bool IsInitialized() const {
1235 return true;
1236 }
1237 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1238 #if defined(PROTOBUF_CUSTOM_VTABLE)
1239 private:
1240 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1241 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1242 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1243 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1244
1245 public:
1246 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1247 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1248 ::uint8_t* PROTOBUF_NONNULL target,
1249 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1250 return _InternalSerialize(*this, target, stream);
1251 }
1252 #else // PROTOBUF_CUSTOM_VTABLE
1253 ::size_t ByteSizeLong() const final;
1254 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1255 ::uint8_t* PROTOBUF_NONNULL target,
1256 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1257 #endif // PROTOBUF_CUSTOM_VTABLE
1258 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1259
1260 private:
1261 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1262 static void SharedDtor(MessageLite& self);
1263 void InternalSwap(TerminationCriteria* PROTOBUF_NONNULL other);
1264 private:
1265 template <typename T>
1266 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1267 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.TerminationCriteria"; }
1268
1269 protected:
1270 explicit TerminationCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1271 TerminationCriteria(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TerminationCriteria& from);
1273 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, TerminationCriteria&& from) noexcept
1274 : TerminationCriteria(arena) {
1275 *this = ::std::move(from);
1276 }
1277 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1278 static void* PROTOBUF_NONNULL PlacementNew_(
1279 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1280 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1281 static constexpr auto InternalNewImpl_();
1282
1283 public:
1284 static constexpr auto InternalGenerateClassData_();
1285
1286 ::google::protobuf::Metadata GetMetadata() const;
1287 // nested types ----------------------------------------------------
1290
1291 // accessors -------------------------------------------------------
1292 enum : int {
1304 // optional double eps_optimal_absolute = 2 [default = 1e-06, deprecated = true];
1305 [[deprecated]] bool has_eps_optimal_absolute() const;
1306 [[deprecated]] void clear_eps_optimal_absolute() ;
1307 [[deprecated]] double eps_optimal_absolute() const;
1308 [[deprecated]] void set_eps_optimal_absolute(double value);
1309
1310 private:
1311 double _internal_eps_optimal_absolute() const;
1312 void _internal_set_eps_optimal_absolute(double value);
1313
1314 public:
1315 // optional double eps_optimal_relative = 3 [default = 1e-06, deprecated = true];
1316 [[deprecated]] bool has_eps_optimal_relative() const;
1317 [[deprecated]] void clear_eps_optimal_relative() ;
1318 [[deprecated]] double eps_optimal_relative() const;
1319 [[deprecated]] void set_eps_optimal_relative(double value);
1320
1321 private:
1322 double _internal_eps_optimal_relative() const;
1323 void _internal_set_eps_optimal_relative(double value);
1324
1325 public:
1326 // optional double eps_primal_infeasible = 4 [default = 1e-08];
1327 bool has_eps_primal_infeasible() const;
1329 double eps_primal_infeasible() const;
1330 void set_eps_primal_infeasible(double value);
1331
1332 private:
1333 double _internal_eps_primal_infeasible() const;
1334 void _internal_set_eps_primal_infeasible(double value);
1335
1336 public:
1337 // optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
1338 bool has_optimality_norm() const;
1339 void clear_optimality_norm() ;
1342
1343 private:
1344 ::operations_research::pdlp::OptimalityNorm _internal_optimality_norm() const;
1345 void _internal_set_optimality_norm(::operations_research::pdlp::OptimalityNorm value);
1346
1347 public:
1348 // optional int32 iteration_limit = 7 [default = 2147483647];
1349 bool has_iteration_limit() const;
1350 void clear_iteration_limit() ;
1351 ::int32_t iteration_limit() const;
1352 void set_iteration_limit(::int32_t value);
1353
1354 private:
1355 ::int32_t _internal_iteration_limit() const;
1356 void _internal_set_iteration_limit(::int32_t value);
1357
1358 public:
1359 // optional double eps_dual_infeasible = 5 [default = 1e-08];
1360 bool has_eps_dual_infeasible() const;
1362 double eps_dual_infeasible() const;
1363 void set_eps_dual_infeasible(double value);
1364
1365 private:
1366 double _internal_eps_dual_infeasible() const;
1367 void _internal_set_eps_dual_infeasible(double value);
1368
1369 public:
1370 // optional double time_sec_limit = 6 [default = inf];
1371 bool has_time_sec_limit() const;
1372 void clear_time_sec_limit() ;
1373 double time_sec_limit() const;
1374 void set_time_sec_limit(double value);
1375
1376 private:
1377 double _internal_time_sec_limit() const;
1378 void _internal_set_time_sec_limit(double value);
1379
1380 public:
1381 // optional double kkt_matrix_pass_limit = 8 [default = inf];
1382 bool has_kkt_matrix_pass_limit() const;
1384 double kkt_matrix_pass_limit() const;
1385 void set_kkt_matrix_pass_limit(double value);
1386
1387 private:
1388 double _internal_kkt_matrix_pass_limit() const;
1389 void _internal_set_kkt_matrix_pass_limit(double value);
1390
1391 public:
1392 // .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
1393 bool has_simple_optimality_criteria() const;
1394 private:
1395 bool _internal_has_simple_optimality_criteria() const;
1396
1397 public:
1399 const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria& simple_optimality_criteria() const;
1405
1406 private:
1407 const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria& _internal_simple_optimality_criteria() const;
1408 ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL _internal_mutable_simple_optimality_criteria();
1409
1410 public:
1411 // .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
1413 private:
1414 bool _internal_has_detailed_optimality_criteria() const;
1415
1416 public:
1418 const ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria& detailed_optimality_criteria() const;
1424
1425 private:
1426 const ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria& _internal_detailed_optimality_criteria() const;
1427 ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL _internal_mutable_detailed_optimality_criteria();
1428
1429 public:
1432 // @@protoc_insertion_point(class_scope:operations_research.pdlp.TerminationCriteria)
1433 private:
1434 class _Internal;
1435 void set_has_simple_optimality_criteria();
1436 void set_has_detailed_optimality_criteria();
1437 inline bool has_optimality_criteria() const;
1438 inline void clear_has_optimality_criteria();
1439 friend class ::google::protobuf::internal::TcParser;
1440 static const ::google::protobuf::internal::TcParseTable<3, 10,
1441 3, 0,
1442 2>
1443 _table_;
1444
1445 friend class ::google::protobuf::MessageLite;
1446 friend class ::google::protobuf::Arena;
1447 template <typename T>
1448 friend class ::google::protobuf::Arena::InternalHelper;
1449 using InternalArenaConstructable_ = void;
1450 using DestructorSkippable_ = void;
1451 struct Impl_ {
1452 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1453 inline explicit Impl_(
1454 ::google::protobuf::internal::InternalVisibility visibility,
1455 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1456 inline explicit Impl_(
1457 ::google::protobuf::internal::InternalVisibility visibility,
1458 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1459 const TerminationCriteria& from_msg);
1460 ::google::protobuf::internal::HasBits<1> _has_bits_;
1461 ::google::protobuf::internal::CachedSize _cached_size_;
1462 double eps_optimal_absolute_;
1463 double eps_optimal_relative_;
1464 double eps_primal_infeasible_;
1465 int optimality_norm_;
1466 ::int32_t iteration_limit_;
1467 double eps_dual_infeasible_;
1468 double time_sec_limit_;
1469 double kkt_matrix_pass_limit_;
1470 union OptimalityCriteriaUnion {
1471 constexpr OptimalityCriteriaUnion() : _constinit_{} {}
1472 ::google::protobuf::internal::ConstantInitialized _constinit_;
1473 ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NULLABLE simple_optimality_criteria_;
1474 ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NULLABLE detailed_optimality_criteria_;
1475 } optimality_criteria_;
1476 ::uint32_t _oneof_case_[1];
1477 PROTOBUF_TSAN_DECLARE_MEMBER
1479 union { Impl_ _impl_; };
1480 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
1481};
1482
1483OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull TerminationCriteria_class_data_;
1484// -------------------------------------------------------------------
1486class OR_PROTO_DLL PrimalDualHybridGradientParams_PresolveOptions final : public ::google::protobuf::Message
1487/* @@protoc_insertion_point(class_definition:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions) */ {
1488 public:
1491
1492#if defined(PROTOBUF_CUSTOM_VTABLE)
1493 void operator delete(PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
1494 SharedDtor(*msg);
1495 ::google::protobuf::internal::SizedDelete(msg, sizeof(PrimalDualHybridGradientParams_PresolveOptions));
1497#endif
1498
1499 template <typename = void>
1500 explicit PROTOBUF_CONSTEXPR PrimalDualHybridGradientParams_PresolveOptions(::google::protobuf::internal::ConstantInitialized);
1501
1503 inline PrimalDualHybridGradientParams_PresolveOptions(PrimalDualHybridGradientParams_PresolveOptions&& from) noexcept
1504 : PrimalDualHybridGradientParams_PresolveOptions(nullptr, ::std::move(from)) {}
1505 inline PrimalDualHybridGradientParams_PresolveOptions& operator=(const PrimalDualHybridGradientParams_PresolveOptions& from) {
1506 CopyFrom(from);
1507 return *this;
1508 }
1510 if (this == &from) return *this;
1511 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1512 InternalSwap(&from);
1513 } else {
1514 CopyFrom(from);
1515 }
1516 return *this;
1517 }
1518
1519 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1520 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1521 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1522 }
1523 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1524 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1525 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1527
1528 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1529 return GetDescriptor();
1531 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1532 return default_instance().GetMetadata().descriptor;
1533 }
1534 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1535 return default_instance().GetMetadata().reflection;
1536 }
1537 static const PrimalDualHybridGradientParams_PresolveOptions& default_instance() {
1541 static constexpr int kIndexInFileMessages = 5;
1543 inline void Swap(PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL other) {
1544 if (other == this) return;
1545 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1546 InternalSwap(other);
1547 } else {
1548 ::google::protobuf::internal::GenericSwap(this, other);
1551 void UnsafeArenaSwap(PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL other) {
1552 if (other == this) return;
1553 ABSL_DCHECK(GetArena() == other->GetArena());
1554 InternalSwap(other);
1555 }
1556
1557 // implements Message ----------------------------------------------
1559 PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1560 return ::google::protobuf::Message::DefaultConstruct<PrimalDualHybridGradientParams_PresolveOptions>(arena);
1561 }
1562 using ::google::protobuf::Message::CopyFrom;
1563 void CopyFrom(const PrimalDualHybridGradientParams_PresolveOptions& from);
1564 using ::google::protobuf::Message::MergeFrom;
1565 void MergeFrom(const PrimalDualHybridGradientParams_PresolveOptions& from) { PrimalDualHybridGradientParams_PresolveOptions::MergeImpl(*this, from); }
1567 private:
1568 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1569 const ::google::protobuf::MessageLite& from_msg);
1570
1571 public:
1572 bool IsInitialized() const {
1573 return true;
1574 }
1575 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1576 #if defined(PROTOBUF_CUSTOM_VTABLE)
1577 private:
1578 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1579 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1580 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1581 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1582
1583 public:
1584 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1585 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1586 ::uint8_t* PROTOBUF_NONNULL target,
1587 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1588 return _InternalSerialize(*this, target, stream);
1589 }
1590 #else // PROTOBUF_CUSTOM_VTABLE
1591 ::size_t ByteSizeLong() const final;
1592 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1593 ::uint8_t* PROTOBUF_NONNULL target,
1594 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1595 #endif // PROTOBUF_CUSTOM_VTABLE
1596 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1597
1598 private:
1599 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1600 static void SharedDtor(MessageLite& self);
1601 void InternalSwap(PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL other);
1602 private:
1603 template <typename T>
1604 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1605 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions"; }
1606
1607 protected:
1608 explicit PrimalDualHybridGradientParams_PresolveOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1609 PrimalDualHybridGradientParams_PresolveOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PrimalDualHybridGradientParams_PresolveOptions& from);
1611 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PrimalDualHybridGradientParams_PresolveOptions&& from) noexcept
1613 *this = ::std::move(from);
1614 }
1615 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1616 static void* PROTOBUF_NONNULL PlacementNew_(
1617 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1618 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1619 static constexpr auto InternalNewImpl_();
1620
1621 public:
1622 static constexpr auto InternalGenerateClassData_();
1623
1624 ::google::protobuf::Metadata GetMetadata() const;
1625 // nested types ----------------------------------------------------
1626
1627 // accessors -------------------------------------------------------
1628 enum : int {
1631 };
1632 // optional .operations_research.glop.GlopParameters glop_parameters = 2;
1633 bool has_glop_parameters() const;
1634 void clear_glop_parameters() ;
1635 const ::operations_research::glop::GlopParameters& glop_parameters() const;
1641
1642 private:
1643 const ::operations_research::glop::GlopParameters& _internal_glop_parameters() const;
1644 ::operations_research::glop::GlopParameters* PROTOBUF_NONNULL _internal_mutable_glop_parameters();
1645
1646 public:
1647 // optional bool use_glop = 1;
1648 bool has_use_glop() const;
1649 void clear_use_glop() ;
1650 bool use_glop() const;
1651 void set_use_glop(bool value);
1652
1653 private:
1654 bool _internal_use_glop() const;
1655 void _internal_set_use_glop(bool value);
1656
1657 public:
1658 // @@protoc_insertion_point(class_scope:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
1659 private:
1660 class _Internal;
1661 friend class ::google::protobuf::internal::TcParser;
1662 static const ::google::protobuf::internal::TcParseTable<1, 2,
1663 1, 0,
1664 2>
1665 _table_;
1666
1667 friend class ::google::protobuf::MessageLite;
1668 friend class ::google::protobuf::Arena;
1669 template <typename T>
1670 friend class ::google::protobuf::Arena::InternalHelper;
1671 using InternalArenaConstructable_ = void;
1672 using DestructorSkippable_ = void;
1673 struct Impl_ {
1674 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1675 inline explicit Impl_(
1676 ::google::protobuf::internal::InternalVisibility visibility,
1677 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1678 inline explicit Impl_(
1679 ::google::protobuf::internal::InternalVisibility visibility,
1680 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1682 ::google::protobuf::internal::HasBits<1> _has_bits_;
1683 ::google::protobuf::internal::CachedSize _cached_size_;
1684 ::operations_research::glop::GlopParameters* PROTOBUF_NULLABLE glop_parameters_;
1685 bool use_glop_;
1686 PROTOBUF_TSAN_DECLARE_MEMBER
1687 };
1688 union { Impl_ _impl_; };
1689 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
1690};
1691
1692OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PrimalDualHybridGradientParams_PresolveOptions_class_data_;
1693// -------------------------------------------------------------------
1694
1695class OR_PROTO_DLL PrimalDualHybridGradientParams final : public ::google::protobuf::Message
1696/* @@protoc_insertion_point(class_definition:operations_research.pdlp.PrimalDualHybridGradientParams) */ {
1697 public:
1699 ~PrimalDualHybridGradientParams() PROTOBUF_FINAL;
1700
1701#if defined(PROTOBUF_CUSTOM_VTABLE)
1702 void operator delete(PrimalDualHybridGradientParams* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
1703 SharedDtor(*msg);
1704 ::google::protobuf::internal::SizedDelete(msg, sizeof(PrimalDualHybridGradientParams));
1705 }
1706#endif
1707
1708 template <typename = void>
1709 explicit PROTOBUF_CONSTEXPR PrimalDualHybridGradientParams(::google::protobuf::internal::ConstantInitialized);
1710
1713 : PrimalDualHybridGradientParams(nullptr, ::std::move(from)) {}
1714 inline PrimalDualHybridGradientParams& operator=(const PrimalDualHybridGradientParams& from) {
1715 CopyFrom(from);
1716 return *this;
1718 inline PrimalDualHybridGradientParams& operator=(PrimalDualHybridGradientParams&& from) noexcept {
1719 if (this == &from) return *this;
1720 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1721 InternalSwap(&from);
1722 } else {
1723 CopyFrom(from);
1724 }
1725 return *this;
1727
1728 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1729 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1730 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1731 }
1732 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1733 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1734 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1735 }
1737 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1738 return GetDescriptor();
1739 }
1740 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1741 return default_instance().GetMetadata().descriptor;
1742 }
1743 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1744 return default_instance().GetMetadata().reflection;
1746 static const PrimalDualHybridGradientParams& default_instance() {
1747 return *reinterpret_cast<const PrimalDualHybridGradientParams*>(
1749 }
1750 static constexpr int kIndexInFileMessages = 6;
1752 inline void Swap(PrimalDualHybridGradientParams* PROTOBUF_NONNULL other) {
1753 if (other == this) return;
1754 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1755 InternalSwap(other);
1756 } else {
1757 ::google::protobuf::internal::GenericSwap(this, other);
1760 void UnsafeArenaSwap(PrimalDualHybridGradientParams* PROTOBUF_NONNULL other) {
1761 if (other == this) return;
1762 ABSL_DCHECK(GetArena() == other->GetArena());
1763 InternalSwap(other);
1764 }
1765
1766 // implements Message ----------------------------------------------
1767
1768 PrimalDualHybridGradientParams* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1769 return ::google::protobuf::Message::DefaultConstruct<PrimalDualHybridGradientParams>(arena);
1770 }
1771 using ::google::protobuf::Message::CopyFrom;
1772 void CopyFrom(const PrimalDualHybridGradientParams& from);
1773 using ::google::protobuf::Message::MergeFrom;
1774 void MergeFrom(const PrimalDualHybridGradientParams& from) { PrimalDualHybridGradientParams::MergeImpl(*this, from); }
1775
1776 private:
1777 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1778 const ::google::protobuf::MessageLite& from_msg);
1779
1780 public:
1781 bool IsInitialized() const {
1782 return true;
1783 }
1784 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1785 #if defined(PROTOBUF_CUSTOM_VTABLE)
1786 private:
1787 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1788 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1789 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1790 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1791
1792 public:
1793 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1794 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1795 ::uint8_t* PROTOBUF_NONNULL target,
1796 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1797 return _InternalSerialize(*this, target, stream);
1798 }
1799 #else // PROTOBUF_CUSTOM_VTABLE
1800 ::size_t ByteSizeLong() const final;
1801 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1802 ::uint8_t* PROTOBUF_NONNULL target,
1803 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1804 #endif // PROTOBUF_CUSTOM_VTABLE
1805 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1806
1807 private:
1808 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1809 static void SharedDtor(MessageLite& self);
1810 void InternalSwap(PrimalDualHybridGradientParams* PROTOBUF_NONNULL other);
1811 private:
1812 template <typename T>
1814 static ::absl::string_view FullMessageName() { return "operations_research.pdlp.PrimalDualHybridGradientParams"; }
1815
1816 protected:
1817 explicit PrimalDualHybridGradientParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1818 PrimalDualHybridGradientParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PrimalDualHybridGradientParams& from);
1820 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PrimalDualHybridGradientParams&& from) noexcept
1822 *this = ::std::move(from);
1823 }
1824 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1825 static void* PROTOBUF_NONNULL PlacementNew_(
1826 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1827 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1828 static constexpr auto InternalNewImpl_();
1829
1830 public:
1831 static constexpr auto InternalGenerateClassData_();
1832
1833 ::google::protobuf::Metadata GetMetadata() const;
1834 // nested types ----------------------------------------------------
1842 static inline bool RestartStrategy_IsValid(int value) {
1848 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RestartStrategy_descriptor() {
1851 template <typename T>
1852 static inline const ::std::string& RestartStrategy_Name(T value) {
1855 static inline bool RestartStrategy_Parse(
1856 ::absl::string_view name, RestartStrategy* PROTOBUF_NONNULL value) {
1858 }
1859 using LinesearchRule = PrimalDualHybridGradientParams_LinesearchRule;
1870 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL LinesearchRule_descriptor() {
1873 template <typename T>
1874 static inline const ::std::string& LinesearchRule_Name(T value) {
1877 static inline bool LinesearchRule_Parse(
1878 ::absl::string_view name, LinesearchRule* PROTOBUF_NONNULL value) {
1880 }
1881
1882 // accessors -------------------------------------------------------
1883 enum : int {
1914 // repeated int32 random_projection_seeds = 28 [packed = true];
1916 private:
1917 int _internal_random_projection_seeds_size() const;
1919 public:
1921 ::int32_t random_projection_seeds(int index) const;
1922 void set_random_projection_seeds(int index, ::int32_t value);
1923 void add_random_projection_seeds(::int32_t value);
1924 const ::google::protobuf::RepeatedField<::int32_t>& random_projection_seeds() const;
1925 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_random_projection_seeds();
1926
1927 private:
1928 const ::google::protobuf::RepeatedField<::int32_t>& _internal_random_projection_seeds() const;
1929 ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_random_projection_seeds();
1930
1931 public:
1932 // optional .operations_research.pdlp.TerminationCriteria termination_criteria = 1;
1933 bool has_termination_criteria() const;
1935 const ::operations_research::pdlp::TerminationCriteria& termination_criteria() const;
1941
1942 private:
1943 const ::operations_research::pdlp::TerminationCriteria& _internal_termination_criteria() const;
1944 ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NONNULL _internal_mutable_termination_criteria();
1945
1946 public:
1947 // optional .operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions presolve_options = 16;
1948 bool has_presolve_options() const;
1949 void clear_presolve_options() ;
1950 const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions& presolve_options() const;
1956
1957 private:
1958 const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions& _internal_presolve_options() const;
1959 ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL _internal_mutable_presolve_options();
1960
1961 public:
1962 // optional .operations_research.pdlp.AdaptiveLinesearchParams adaptive_linesearch_parameters = 18;
1965 const ::operations_research::pdlp::AdaptiveLinesearchParams& adaptive_linesearch_parameters() const;
1971
1972 private:
1973 const ::operations_research::pdlp::AdaptiveLinesearchParams& _internal_adaptive_linesearch_parameters() const;
1974 ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NONNULL _internal_mutable_adaptive_linesearch_parameters();
1975
1976 public:
1977 // optional .operations_research.pdlp.MalitskyPockParams malitsky_pock_parameters = 19;
1978 bool has_malitsky_pock_parameters() const;
1980 const ::operations_research::pdlp::MalitskyPockParams& malitsky_pock_parameters() const;
1986
1987 private:
1988 const ::operations_research::pdlp::MalitskyPockParams& _internal_malitsky_pock_parameters() const;
1989 ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NONNULL _internal_mutable_malitsky_pock_parameters();
1990
1991 public:
1992 // optional double initial_primal_weight = 8;
1993 bool has_initial_primal_weight() const;
1995 double initial_primal_weight() const;
1996 void set_initial_primal_weight(double value);
1997
1998 private:
1999 double _internal_initial_primal_weight() const;
2000 void _internal_set_initial_primal_weight(double value);
2001
2002 public:
2003 // optional bool record_iteration_stats = 3;
2004 bool has_record_iteration_stats() const;
2006 bool record_iteration_stats() const;
2007 void set_record_iteration_stats(bool value);
2008
2009 private:
2010 bool _internal_record_iteration_stats() const;
2011 void _internal_set_record_iteration_stats(bool value);
2012
2013 public:
2014 // optional bool use_diagonal_qp_trust_region_solver = 23 [default = false];
2019
2020 private:
2021 bool _internal_use_diagonal_qp_trust_region_solver() const;
2022 void _internal_set_use_diagonal_qp_trust_region_solver(bool value);
2023
2024 public:
2025 // optional bool use_feasibility_polishing = 30 [default = false];
2026 bool has_use_feasibility_polishing() const;
2028 bool use_feasibility_polishing() const;
2029 void set_use_feasibility_polishing(bool value);
2030
2031 private:
2032 bool _internal_use_feasibility_polishing() const;
2033 void _internal_set_use_feasibility_polishing(bool value);
2034
2035 public:
2036 // optional bool apply_feasibility_polishing_after_limits_reached = 33 [default = false];
2041
2042 private:
2043 bool _internal_apply_feasibility_polishing_after_limits_reached() const;
2044 void _internal_set_apply_feasibility_polishing_after_limits_reached(bool value);
2045
2046 public:
2047 // optional int32 verbosity_level = 26 [default = 0];
2048 bool has_verbosity_level() const;
2049 void clear_verbosity_level() ;
2050 ::int32_t verbosity_level() const;
2051 void set_verbosity_level(::int32_t value);
2052
2053 private:
2054 ::int32_t _internal_verbosity_level() const;
2055 void _internal_set_verbosity_level(::int32_t value);
2056
2057 public:
2058 // optional int32 num_shards = 27 [default = 0];
2059 bool has_num_shards() const;
2060 void clear_num_shards() ;
2061 ::int32_t num_shards() const;
2062 void set_num_shards(::int32_t value);
2063
2064 private:
2065 ::int32_t _internal_num_shards() const;
2066 void _internal_set_num_shards(::int32_t value);
2067
2068 public:
2069 // optional bool apply_feasibility_polishing_if_solver_is_interrupted = 34 [default = false];
2074
2075 private:
2076 bool _internal_apply_feasibility_polishing_if_solver_is_interrupted() const;
2077 void _internal_set_apply_feasibility_polishing_if_solver_is_interrupted(bool value);
2078
2079 public:
2080 // optional double log_interval_seconds = 31 [default = 0];
2081 bool has_log_interval_seconds() const;
2083 double log_interval_seconds() const;
2084 void set_log_interval_seconds(double value);
2085
2086 private:
2087 double _internal_log_interval_seconds() const;
2088 void _internal_set_log_interval_seconds(double value);
2089
2090 public:
2091 // optional int32 num_threads = 2 [default = 1];
2092 bool has_num_threads() const;
2093 void clear_num_threads() ;
2094 ::int32_t num_threads() const;
2095 void set_num_threads(::int32_t value);
2096
2097 private:
2098 ::int32_t _internal_num_threads() const;
2099 void _internal_set_num_threads(::int32_t value);
2100
2101 public:
2102 // optional int32 major_iteration_frequency = 4 [default = 64];
2103 bool has_major_iteration_frequency() const;
2105 ::int32_t major_iteration_frequency() const;
2106 void set_major_iteration_frequency(::int32_t value);
2107
2108 private:
2109 ::int32_t _internal_major_iteration_frequency() const;
2110 void _internal_set_major_iteration_frequency(::int32_t value);
2111
2112 public:
2113 // optional int32 termination_check_frequency = 5 [default = 64];
2116 ::int32_t termination_check_frequency() const;
2117 void set_termination_check_frequency(::int32_t value);
2118
2119 private:
2120 ::int32_t _internal_termination_check_frequency() const;
2121 void _internal_set_termination_check_frequency(::int32_t value);
2122
2123 public:
2124 // optional .operations_research.pdlp.PrimalDualHybridGradientParams.RestartStrategy restart_strategy = 6 [default = ADAPTIVE_HEURISTIC];
2125 bool has_restart_strategy() const;
2126 void clear_restart_strategy() ;
2129
2130 private:
2132 void _internal_set_restart_strategy(::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy value);
2133
2134 public:
2135 // optional double primal_weight_update_smoothing = 7 [default = 0.5];
2138 double primal_weight_update_smoothing() const;
2139 void set_primal_weight_update_smoothing(double value);
2140
2141 private:
2142 double _internal_primal_weight_update_smoothing() const;
2143 void _internal_set_primal_weight_update_smoothing(double value);
2144
2145 public:
2146 // optional int32 l_inf_ruiz_iterations = 9 [default = 5];
2147 bool has_l_inf_ruiz_iterations() const;
2149 ::int32_t l_inf_ruiz_iterations() const;
2150 void set_l_inf_ruiz_iterations(::int32_t value);
2151
2152 private:
2153 ::int32_t _internal_l_inf_ruiz_iterations() const;
2154 void _internal_set_l_inf_ruiz_iterations(::int32_t value);
2155
2156 public:
2157 // optional .operations_research.pdlp.PrimalDualHybridGradientParams.LinesearchRule linesearch_rule = 12 [default = ADAPTIVE_LINESEARCH_RULE];
2158 bool has_linesearch_rule() const;
2159 void clear_linesearch_rule() ;
2162
2163 private:
2166
2167 public:
2168 // optional double sufficient_reduction_for_restart = 11 [default = 0.1];
2171 double sufficient_reduction_for_restart() const;
2172 void set_sufficient_reduction_for_restart(double value);
2173
2174 private:
2175 double _internal_sufficient_reduction_for_restart() const;
2176 void _internal_set_sufficient_reduction_for_restart(double value);
2177
2178 public:
2179 // optional double necessary_reduction_for_restart = 17 [default = 0.9];
2182 double necessary_reduction_for_restart() const;
2183 void set_necessary_reduction_for_restart(double value);
2184
2185 private:
2186 double _internal_necessary_reduction_for_restart() const;
2187 void _internal_set_necessary_reduction_for_restart(double value);
2188
2189 public:
2190 // optional double infinite_constraint_bound_threshold = 22 [default = inf];
2194 void set_infinite_constraint_bound_threshold(double value);
2195
2196 private:
2197 double _internal_infinite_constraint_bound_threshold() const;
2198 void _internal_set_infinite_constraint_bound_threshold(double value);
2199
2200 public:
2201 // optional bool l2_norm_rescaling = 10 [default = true];
2202 bool has_l2_norm_rescaling() const;
2204 bool l2_norm_rescaling() const;
2205 void set_l2_norm_rescaling(bool value);
2206
2207 private:
2208 bool _internal_l2_norm_rescaling() const;
2209 void _internal_set_l2_norm_rescaling(bool value);
2210
2211 public:
2212 // optional bool handle_some_primal_gradients_on_finite_bounds_as_residuals = 29 [default = true];
2217
2218 private:
2219 bool _internal_handle_some_primal_gradients_on_finite_bounds_as_residuals() const;
2220 void _internal_set_handle_some_primal_gradients_on_finite_bounds_as_residuals(bool value);
2221
2222 public:
2223 // optional .operations_research.pdlp.SchedulerType scheduler_type = 32 [default = SCHEDULER_TYPE_GOOGLE_THREADPOOL];
2224 bool has_scheduler_type() const;
2225 void clear_scheduler_type() ;
2228
2229 private:
2230 ::operations_research::pdlp::SchedulerType _internal_scheduler_type() const;
2231 void _internal_set_scheduler_type(::operations_research::pdlp::SchedulerType value);
2232
2233 public:
2234 // optional double diagonal_qp_trust_region_solver_tolerance = 24 [default = 1e-08];
2239
2240 private:
2241 double _internal_diagonal_qp_trust_region_solver_tolerance() const;
2242 void _internal_set_diagonal_qp_trust_region_solver_tolerance(double value);
2243
2244 public:
2245 // optional double initial_step_size_scaling = 25 [default = 1];
2246 bool has_initial_step_size_scaling() const;
2248 double initial_step_size_scaling() const;
2249 void set_initial_step_size_scaling(double value);
2250
2251 private:
2252 double _internal_initial_step_size_scaling() const;
2253 void _internal_set_initial_step_size_scaling(double value);
2254
2255 public:
2256 // @@protoc_insertion_point(class_scope:operations_research.pdlp.PrimalDualHybridGradientParams)
2257 private:
2258 class _Internal;
2259 friend class ::google::protobuf::internal::TcParser;
2260 static const ::google::protobuf::internal::TcParseTable<5, 29,
2261 7, 0,
2262 7>
2263 _table_;
2264
2265 friend class ::google::protobuf::MessageLite;
2266 friend class ::google::protobuf::Arena;
2267 template <typename T>
2268 friend class ::google::protobuf::Arena::InternalHelper;
2269 using InternalArenaConstructable_ = void;
2270 using DestructorSkippable_ = void;
2271 struct Impl_ {
2272 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2273 inline explicit Impl_(
2274 ::google::protobuf::internal::InternalVisibility visibility,
2275 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2276 inline explicit Impl_(
2277 ::google::protobuf::internal::InternalVisibility visibility,
2278 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2279 const PrimalDualHybridGradientParams& from_msg);
2280 ::google::protobuf::internal::HasBits<1> _has_bits_;
2281 ::google::protobuf::internal::CachedSize _cached_size_;
2282 ::google::protobuf::RepeatedField<::int32_t> random_projection_seeds_;
2283 ::google::protobuf::internal::CachedSize _random_projection_seeds_cached_byte_size_;
2284 ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NULLABLE termination_criteria_;
2286 ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NULLABLE adaptive_linesearch_parameters_;
2287 ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NULLABLE malitsky_pock_parameters_;
2288 double initial_primal_weight_;
2289 bool record_iteration_stats_;
2290 bool use_diagonal_qp_trust_region_solver_;
2291 bool use_feasibility_polishing_;
2292 bool apply_feasibility_polishing_after_limits_reached_;
2293 ::int32_t verbosity_level_;
2294 ::int32_t num_shards_;
2295 bool apply_feasibility_polishing_if_solver_is_interrupted_;
2296 double log_interval_seconds_;
2297 ::int32_t num_threads_;
2298 ::int32_t major_iteration_frequency_;
2299 ::int32_t termination_check_frequency_;
2300 int restart_strategy_;
2301 double primal_weight_update_smoothing_;
2302 ::int32_t l_inf_ruiz_iterations_;
2303 int linesearch_rule_;
2304 double sufficient_reduction_for_restart_;
2305 double necessary_reduction_for_restart_;
2306 double infinite_constraint_bound_threshold_;
2307 bool l2_norm_rescaling_;
2308 bool handle_some_primal_gradients_on_finite_bounds_as_residuals_;
2309 int scheduler_type_;
2310 double diagonal_qp_trust_region_solver_tolerance_;
2311 double initial_step_size_scaling_;
2312 PROTOBUF_TSAN_DECLARE_MEMBER
2313 };
2314 union { Impl_ _impl_; };
2315 friend struct ::TableStruct_ortools_2fpdlp_2fsolvers_2eproto;
2316};
2317
2318OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PrimalDualHybridGradientParams_class_data_;
2319
2320// ===================================================================
2321
2324
2325// ===================================================================
2326
2327
2328#ifdef __GNUC__
2329#pragma GCC diagnostic push
2330#pragma GCC diagnostic ignored "-Wstrict-aliasing"
2331#endif // __GNUC__
2332// -------------------------------------------------------------------
2333
2334// TerminationCriteria_SimpleOptimalityCriteria
2335
2336// optional double eps_optimal_absolute = 1 [default = 1e-06];
2338 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2339 return value;
2340}
2342 ::google::protobuf::internal::TSanWrite(&_impl_);
2343 _impl_.eps_optimal_absolute_ = 1e-06;
2344 _impl_._has_bits_[0] &= ~0x00000001u;
2345}
2347 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria.eps_optimal_absolute)
2348 return _internal_eps_optimal_absolute();
2349}
2351 _internal_set_eps_optimal_absolute(value);
2352 _impl_._has_bits_[0] |= 0x00000001u;
2353 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria.eps_optimal_absolute)
2354}
2355inline double TerminationCriteria_SimpleOptimalityCriteria::_internal_eps_optimal_absolute() const {
2356 ::google::protobuf::internal::TSanRead(&_impl_);
2357 return _impl_.eps_optimal_absolute_;
2358}
2359inline void TerminationCriteria_SimpleOptimalityCriteria::_internal_set_eps_optimal_absolute(double value) {
2360 ::google::protobuf::internal::TSanWrite(&_impl_);
2361 _impl_.eps_optimal_absolute_ = value;
2362}
2363
2364// optional double eps_optimal_relative = 2 [default = 1e-06];
2366 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
2367 return value;
2368}
2370 ::google::protobuf::internal::TSanWrite(&_impl_);
2371 _impl_.eps_optimal_relative_ = 1e-06;
2372 _impl_._has_bits_[0] &= ~0x00000002u;
2373}
2375 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria.eps_optimal_relative)
2376 return _internal_eps_optimal_relative();
2377}
2379 _internal_set_eps_optimal_relative(value);
2380 _impl_._has_bits_[0] |= 0x00000002u;
2381 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria.eps_optimal_relative)
2382}
2383inline double TerminationCriteria_SimpleOptimalityCriteria::_internal_eps_optimal_relative() const {
2384 ::google::protobuf::internal::TSanRead(&_impl_);
2385 return _impl_.eps_optimal_relative_;
2386}
2387inline void TerminationCriteria_SimpleOptimalityCriteria::_internal_set_eps_optimal_relative(double value) {
2388 ::google::protobuf::internal::TSanWrite(&_impl_);
2389 _impl_.eps_optimal_relative_ = value;
2390}
2391
2392// -------------------------------------------------------------------
2393
2394// TerminationCriteria_DetailedOptimalityCriteria
2395
2396// optional double eps_optimal_primal_residual_absolute = 1 [default = 1e-06];
2398 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2399 return value;
2400}
2402 ::google::protobuf::internal::TSanWrite(&_impl_);
2403 _impl_.eps_optimal_primal_residual_absolute_ = 1e-06;
2404 _impl_._has_bits_[0] &= ~0x00000001u;
2405}
2407 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_primal_residual_absolute)
2408 return _internal_eps_optimal_primal_residual_absolute();
2411 _internal_set_eps_optimal_primal_residual_absolute(value);
2412 _impl_._has_bits_[0] |= 0x00000001u;
2413 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_primal_residual_absolute)
2414}
2415inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_primal_residual_absolute() const {
2416 ::google::protobuf::internal::TSanRead(&_impl_);
2417 return _impl_.eps_optimal_primal_residual_absolute_;
2419inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_primal_residual_absolute(double value) {
2420 ::google::protobuf::internal::TSanWrite(&_impl_);
2421 _impl_.eps_optimal_primal_residual_absolute_ = value;
2423
2424// optional double eps_optimal_primal_residual_relative = 2 [default = 1e-06];
2426 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
2427 return value;
2428}
2430 ::google::protobuf::internal::TSanWrite(&_impl_);
2431 _impl_.eps_optimal_primal_residual_relative_ = 1e-06;
2432 _impl_._has_bits_[0] &= ~0x00000002u;
2433}
2435 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_primal_residual_relative)
2436 return _internal_eps_optimal_primal_residual_relative();
2439 _internal_set_eps_optimal_primal_residual_relative(value);
2440 _impl_._has_bits_[0] |= 0x00000002u;
2441 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_primal_residual_relative)
2442}
2443inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_primal_residual_relative() const {
2444 ::google::protobuf::internal::TSanRead(&_impl_);
2445 return _impl_.eps_optimal_primal_residual_relative_;
2447inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_primal_residual_relative(double value) {
2448 ::google::protobuf::internal::TSanWrite(&_impl_);
2449 _impl_.eps_optimal_primal_residual_relative_ = value;
2451
2452// optional double eps_optimal_dual_residual_absolute = 3 [default = 1e-06];
2454 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
2455 return value;
2456}
2458 ::google::protobuf::internal::TSanWrite(&_impl_);
2459 _impl_.eps_optimal_dual_residual_absolute_ = 1e-06;
2460 _impl_._has_bits_[0] &= ~0x00000004u;
2461}
2463 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_dual_residual_absolute)
2464 return _internal_eps_optimal_dual_residual_absolute();
2467 _internal_set_eps_optimal_dual_residual_absolute(value);
2468 _impl_._has_bits_[0] |= 0x00000004u;
2469 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_dual_residual_absolute)
2470}
2471inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_dual_residual_absolute() const {
2472 ::google::protobuf::internal::TSanRead(&_impl_);
2473 return _impl_.eps_optimal_dual_residual_absolute_;
2475inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_dual_residual_absolute(double value) {
2476 ::google::protobuf::internal::TSanWrite(&_impl_);
2477 _impl_.eps_optimal_dual_residual_absolute_ = value;
2479
2480// optional double eps_optimal_dual_residual_relative = 4 [default = 1e-06];
2482 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
2483 return value;
2484}
2486 ::google::protobuf::internal::TSanWrite(&_impl_);
2487 _impl_.eps_optimal_dual_residual_relative_ = 1e-06;
2488 _impl_._has_bits_[0] &= ~0x00000008u;
2489}
2491 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_dual_residual_relative)
2492 return _internal_eps_optimal_dual_residual_relative();
2495 _internal_set_eps_optimal_dual_residual_relative(value);
2496 _impl_._has_bits_[0] |= 0x00000008u;
2497 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_dual_residual_relative)
2498}
2499inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_dual_residual_relative() const {
2500 ::google::protobuf::internal::TSanRead(&_impl_);
2501 return _impl_.eps_optimal_dual_residual_relative_;
2503inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_dual_residual_relative(double value) {
2504 ::google::protobuf::internal::TSanWrite(&_impl_);
2505 _impl_.eps_optimal_dual_residual_relative_ = value;
2507
2508// optional double eps_optimal_objective_gap_absolute = 5 [default = 1e-06];
2510 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
2511 return value;
2512}
2514 ::google::protobuf::internal::TSanWrite(&_impl_);
2515 _impl_.eps_optimal_objective_gap_absolute_ = 1e-06;
2516 _impl_._has_bits_[0] &= ~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();
2523 _internal_set_eps_optimal_objective_gap_absolute(value);
2524 _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 = (_impl_._has_bits_[0] & 0x00000020u) != 0;
2539 return value;
2540}
2542 ::google::protobuf::internal::TSanWrite(&_impl_);
2543 _impl_.eps_optimal_objective_gap_relative_ = 1e-06;
2544 _impl_._has_bits_[0] &= ~0x00000020u;
2545}
2547 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_objective_gap_relative)
2548 return _internal_eps_optimal_objective_gap_relative();
2551 _internal_set_eps_optimal_objective_gap_relative(value);
2552 _impl_._has_bits_[0] |= 0x00000020u;
2553 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria.eps_optimal_objective_gap_relative)
2554}
2555inline double TerminationCriteria_DetailedOptimalityCriteria::_internal_eps_optimal_objective_gap_relative() const {
2556 ::google::protobuf::internal::TSanRead(&_impl_);
2557 return _impl_.eps_optimal_objective_gap_relative_;
2559inline void TerminationCriteria_DetailedOptimalityCriteria::_internal_set_eps_optimal_objective_gap_relative(double value) {
2560 ::google::protobuf::internal::TSanWrite(&_impl_);
2561 _impl_.eps_optimal_objective_gap_relative_ = value;
2563
2564// -------------------------------------------------------------------
2565
2566// TerminationCriteria
2567
2568// optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
2569inline bool TerminationCriteria::has_optimality_norm() const {
2570 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
2571 return value;
2572}
2574 ::google::protobuf::internal::TSanWrite(&_impl_);
2575 _impl_.optimality_norm_ = 2;
2576 _impl_._has_bits_[0] &= ~0x00000008u;
2577}
2578inline ::operations_research::pdlp::OptimalityNorm TerminationCriteria::optimality_norm() const {
2579 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.optimality_norm)
2580 return _internal_optimality_norm();
2581}
2583 _internal_set_optimality_norm(value);
2584 _impl_._has_bits_[0] |= 0x00000008u;
2585 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.optimality_norm)
2587inline ::operations_research::pdlp::OptimalityNorm TerminationCriteria::_internal_optimality_norm() const {
2588 ::google::protobuf::internal::TSanRead(&_impl_);
2589 return static_cast<::operations_research::pdlp::OptimalityNorm>(_impl_.optimality_norm_);
2590}
2591inline void TerminationCriteria::_internal_set_optimality_norm(::operations_research::pdlp::OptimalityNorm value) {
2592 ::google::protobuf::internal::TSanWrite(&_impl_);
2593
2594 assert(::google::protobuf::internal::ValidateEnum(
2596 _impl_.optimality_norm_ = value;
2597}
2598
2599// .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
2602}
2603inline bool TerminationCriteria::_internal_has_simple_optimality_criteria() const {
2605}
2606inline void TerminationCriteria::set_has_simple_optimality_criteria() {
2607 _impl_._oneof_case_[0] = kSimpleOptimalityCriteria;
2608}
2610 ::google::protobuf::internal::TSanWrite(&_impl_);
2612 if (GetArena() == nullptr) {
2613 delete _impl_.optimality_criteria_.simple_optimality_criteria_;
2614 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2615 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.optimality_criteria_.simple_optimality_criteria_);
2616 }
2617 clear_has_optimality_criteria();
2618 }
2619}
2620inline ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NULLABLE TerminationCriteria::release_simple_optimality_criteria() {
2621 // @@protoc_insertion_point(field_release:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2623 clear_has_optimality_criteria();
2624 auto* temp = _impl_.optimality_criteria_.simple_optimality_criteria_;
2625 if (GetArena() != nullptr) {
2626 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
2627 }
2628 _impl_.optimality_criteria_.simple_optimality_criteria_ = nullptr;
2629 return temp;
2630 } else {
2631 return nullptr;
2632 }
2634inline const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria& TerminationCriteria::_internal_simple_optimality_criteria() const {
2636}
2637inline const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria& TerminationCriteria::simple_optimality_criteria() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
2638 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2639 return _internal_simple_optimality_criteria();
2640}
2641inline ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NULLABLE TerminationCriteria::unsafe_arena_release_simple_optimality_criteria() {
2642 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2644 clear_has_optimality_criteria();
2645 auto* temp = _impl_.optimality_criteria_.simple_optimality_criteria_;
2646 _impl_.optimality_criteria_.simple_optimality_criteria_ = nullptr;
2647 return temp;
2648 } else {
2649 return nullptr;
2654 // We rely on the oneof clear method to free the earlier contents
2655 // of this oneof. We can directly use the pointer we're given to
2656 // set the new value.
2658 if (value) {
2659 set_has_simple_optimality_criteria();
2660 _impl_.optimality_criteria_.simple_optimality_criteria_ = value;
2661 }
2662 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2663}
2664inline ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL TerminationCriteria::_internal_mutable_simple_optimality_criteria() {
2667 set_has_simple_optimality_criteria();
2668 _impl_.optimality_criteria_.simple_optimality_criteria_ =
2669 ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria>(GetArena());
2670 }
2671 return _impl_.optimality_criteria_.simple_optimality_criteria_;
2672}
2673inline ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* PROTOBUF_NONNULL TerminationCriteria::mutable_simple_optimality_criteria()
2674 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2675 ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria* _msg = _internal_mutable_simple_optimality_criteria();
2676 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.TerminationCriteria.simple_optimality_criteria)
2677 return _msg;
2678}
2679
2680// .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
2683}
2684inline bool TerminationCriteria::_internal_has_detailed_optimality_criteria() const {
2687inline void TerminationCriteria::set_has_detailed_optimality_criteria() {
2688 _impl_._oneof_case_[0] = kDetailedOptimalityCriteria;
2689}
2691 ::google::protobuf::internal::TSanWrite(&_impl_);
2693 if (GetArena() == nullptr) {
2694 delete _impl_.optimality_criteria_.detailed_optimality_criteria_;
2695 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2696 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.optimality_criteria_.detailed_optimality_criteria_);
2697 }
2698 clear_has_optimality_criteria();
2699 }
2700}
2701inline ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NULLABLE TerminationCriteria::release_detailed_optimality_criteria() {
2702 // @@protoc_insertion_point(field_release:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2704 clear_has_optimality_criteria();
2705 auto* temp = _impl_.optimality_criteria_.detailed_optimality_criteria_;
2706 if (GetArena() != nullptr) {
2707 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
2708 }
2709 _impl_.optimality_criteria_.detailed_optimality_criteria_ = nullptr;
2710 return temp;
2711 } else {
2712 return nullptr;
2713 }
2715inline const ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria& TerminationCriteria::_internal_detailed_optimality_criteria() const {
2717}
2718inline const ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria& TerminationCriteria::detailed_optimality_criteria() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
2719 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2720 return _internal_detailed_optimality_criteria();
2721}
2722inline ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NULLABLE TerminationCriteria::unsafe_arena_release_detailed_optimality_criteria() {
2723 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2725 clear_has_optimality_criteria();
2726 auto* temp = _impl_.optimality_criteria_.detailed_optimality_criteria_;
2727 _impl_.optimality_criteria_.detailed_optimality_criteria_ = nullptr;
2728 return temp;
2729 } else {
2730 return nullptr;
2735 // We rely on the oneof clear method to free the earlier contents
2736 // of this oneof. We can directly use the pointer we're given to
2737 // set the new value.
2739 if (value) {
2740 set_has_detailed_optimality_criteria();
2741 _impl_.optimality_criteria_.detailed_optimality_criteria_ = value;
2742 }
2743 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2744}
2745inline ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL TerminationCriteria::_internal_mutable_detailed_optimality_criteria() {
2748 set_has_detailed_optimality_criteria();
2749 _impl_.optimality_criteria_.detailed_optimality_criteria_ =
2750 ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria>(GetArena());
2751 }
2752 return _impl_.optimality_criteria_.detailed_optimality_criteria_;
2753}
2754inline ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* PROTOBUF_NONNULL TerminationCriteria::mutable_detailed_optimality_criteria()
2755 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2756 ::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria* _msg = _internal_mutable_detailed_optimality_criteria();
2757 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.TerminationCriteria.detailed_optimality_criteria)
2758 return _msg;
2759}
2760
2761// optional double eps_optimal_absolute = 2 [default = 1e-06, deprecated = true];
2763 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2764 return value;
2765}
2767 ::google::protobuf::internal::TSanWrite(&_impl_);
2768 _impl_.eps_optimal_absolute_ = 1e-06;
2769 _impl_._has_bits_[0] &= ~0x00000001u;
2770}
2771inline double TerminationCriteria::eps_optimal_absolute() const {
2772 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.eps_optimal_absolute)
2773 return _internal_eps_optimal_absolute();
2774}
2776 _internal_set_eps_optimal_absolute(value);
2777 _impl_._has_bits_[0] |= 0x00000001u;
2778 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.eps_optimal_absolute)
2780inline double TerminationCriteria::_internal_eps_optimal_absolute() const {
2781 ::google::protobuf::internal::TSanRead(&_impl_);
2782 return _impl_.eps_optimal_absolute_;
2783}
2784inline void TerminationCriteria::_internal_set_eps_optimal_absolute(double value) {
2785 ::google::protobuf::internal::TSanWrite(&_impl_);
2786 _impl_.eps_optimal_absolute_ = value;
2787}
2789// optional double eps_optimal_relative = 3 [default = 1e-06, deprecated = true];
2791 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
2792 return value;
2793}
2795 ::google::protobuf::internal::TSanWrite(&_impl_);
2796 _impl_.eps_optimal_relative_ = 1e-06;
2797 _impl_._has_bits_[0] &= ~0x00000002u;
2798}
2799inline double TerminationCriteria::eps_optimal_relative() const {
2800 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.eps_optimal_relative)
2801 return _internal_eps_optimal_relative();
2802}
2804 _internal_set_eps_optimal_relative(value);
2805 _impl_._has_bits_[0] |= 0x00000002u;
2806 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.eps_optimal_relative)
2808inline double TerminationCriteria::_internal_eps_optimal_relative() const {
2809 ::google::protobuf::internal::TSanRead(&_impl_);
2810 return _impl_.eps_optimal_relative_;
2811}
2812inline void TerminationCriteria::_internal_set_eps_optimal_relative(double value) {
2813 ::google::protobuf::internal::TSanWrite(&_impl_);
2814 _impl_.eps_optimal_relative_ = value;
2815}
2817// optional double eps_primal_infeasible = 4 [default = 1e-08];
2819 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
2820 return value;
2821}
2823 ::google::protobuf::internal::TSanWrite(&_impl_);
2824 _impl_.eps_primal_infeasible_ = 1e-08;
2825 _impl_._has_bits_[0] &= ~0x00000004u;
2826}
2827inline double TerminationCriteria::eps_primal_infeasible() const {
2828 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.eps_primal_infeasible)
2829 return _internal_eps_primal_infeasible();
2830}
2832 _internal_set_eps_primal_infeasible(value);
2833 _impl_._has_bits_[0] |= 0x00000004u;
2834 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.eps_primal_infeasible)
2836inline double TerminationCriteria::_internal_eps_primal_infeasible() const {
2837 ::google::protobuf::internal::TSanRead(&_impl_);
2838 return _impl_.eps_primal_infeasible_;
2839}
2840inline void TerminationCriteria::_internal_set_eps_primal_infeasible(double value) {
2841 ::google::protobuf::internal::TSanWrite(&_impl_);
2842 _impl_.eps_primal_infeasible_ = value;
2843}
2845// optional double eps_dual_infeasible = 5 [default = 1e-08];
2847 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
2848 return value;
2849}
2851 ::google::protobuf::internal::TSanWrite(&_impl_);
2852 _impl_.eps_dual_infeasible_ = 1e-08;
2853 _impl_._has_bits_[0] &= ~0x00000020u;
2854}
2855inline double TerminationCriteria::eps_dual_infeasible() const {
2856 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.eps_dual_infeasible)
2857 return _internal_eps_dual_infeasible();
2858}
2860 _internal_set_eps_dual_infeasible(value);
2861 _impl_._has_bits_[0] |= 0x00000020u;
2862 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.eps_dual_infeasible)
2864inline double TerminationCriteria::_internal_eps_dual_infeasible() const {
2865 ::google::protobuf::internal::TSanRead(&_impl_);
2866 return _impl_.eps_dual_infeasible_;
2867}
2868inline void TerminationCriteria::_internal_set_eps_dual_infeasible(double value) {
2869 ::google::protobuf::internal::TSanWrite(&_impl_);
2870 _impl_.eps_dual_infeasible_ = value;
2871}
2873// optional double time_sec_limit = 6 [default = inf];
2874inline bool TerminationCriteria::has_time_sec_limit() const {
2875 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
2876 return value;
2877}
2879 ::google::protobuf::internal::TSanWrite(&_impl_);
2880 _impl_.time_sec_limit_ = std::numeric_limits<double>::infinity();
2881 _impl_._has_bits_[0] &= ~0x00000040u;
2882}
2883inline double TerminationCriteria::time_sec_limit() const {
2884 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.time_sec_limit)
2885 return _internal_time_sec_limit();
2886}
2888 _internal_set_time_sec_limit(value);
2889 _impl_._has_bits_[0] |= 0x00000040u;
2890 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.time_sec_limit)
2892inline double TerminationCriteria::_internal_time_sec_limit() const {
2893 ::google::protobuf::internal::TSanRead(&_impl_);
2894 return _impl_.time_sec_limit_;
2895}
2896inline void TerminationCriteria::_internal_set_time_sec_limit(double value) {
2897 ::google::protobuf::internal::TSanWrite(&_impl_);
2898 _impl_.time_sec_limit_ = value;
2899}
2901// optional int32 iteration_limit = 7 [default = 2147483647];
2902inline bool TerminationCriteria::has_iteration_limit() const {
2903 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
2904 return value;
2905}
2907 ::google::protobuf::internal::TSanWrite(&_impl_);
2908 _impl_.iteration_limit_ = 2147483647;
2909 _impl_._has_bits_[0] &= ~0x00000010u;
2910}
2911inline ::int32_t TerminationCriteria::iteration_limit() const {
2912 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.iteration_limit)
2913 return _internal_iteration_limit();
2914}
2915inline void TerminationCriteria::set_iteration_limit(::int32_t value) {
2916 _internal_set_iteration_limit(value);
2917 _impl_._has_bits_[0] |= 0x00000010u;
2918 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.iteration_limit)
2920inline ::int32_t TerminationCriteria::_internal_iteration_limit() const {
2921 ::google::protobuf::internal::TSanRead(&_impl_);
2922 return _impl_.iteration_limit_;
2923}
2924inline void TerminationCriteria::_internal_set_iteration_limit(::int32_t value) {
2925 ::google::protobuf::internal::TSanWrite(&_impl_);
2926 _impl_.iteration_limit_ = value;
2927}
2929// optional double kkt_matrix_pass_limit = 8 [default = inf];
2931 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
2932 return value;
2933}
2935 ::google::protobuf::internal::TSanWrite(&_impl_);
2936 _impl_.kkt_matrix_pass_limit_ = std::numeric_limits<double>::infinity();
2937 _impl_._has_bits_[0] &= ~0x00000080u;
2938}
2939inline double TerminationCriteria::kkt_matrix_pass_limit() const {
2940 // @@protoc_insertion_point(field_get:operations_research.pdlp.TerminationCriteria.kkt_matrix_pass_limit)
2941 return _internal_kkt_matrix_pass_limit();
2942}
2944 _internal_set_kkt_matrix_pass_limit(value);
2945 _impl_._has_bits_[0] |= 0x00000080u;
2946 // @@protoc_insertion_point(field_set:operations_research.pdlp.TerminationCriteria.kkt_matrix_pass_limit)
2948inline double TerminationCriteria::_internal_kkt_matrix_pass_limit() const {
2949 ::google::protobuf::internal::TSanRead(&_impl_);
2950 return _impl_.kkt_matrix_pass_limit_;
2951}
2952inline void TerminationCriteria::_internal_set_kkt_matrix_pass_limit(double value) {
2953 ::google::protobuf::internal::TSanWrite(&_impl_);
2954 _impl_.kkt_matrix_pass_limit_ = value;
2955}
2957inline bool TerminationCriteria::has_optimality_criteria() const {
2959}
2960inline void TerminationCriteria::clear_has_optimality_criteria() {
2961 _impl_._oneof_case_[0] = OPTIMALITY_CRITERIA_NOT_SET;
2962}
2965}
2966// -------------------------------------------------------------------
2967
2968// AdaptiveLinesearchParams
2969
2970// optional double step_size_reduction_exponent = 1 [default = 0.3];
2972 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2973 return value;
2974}
2976 ::google::protobuf::internal::TSanWrite(&_impl_);
2977 _impl_.step_size_reduction_exponent_ = 0.3;
2978 _impl_._has_bits_[0] &= ~0x00000001u;
2979}
2981 // @@protoc_insertion_point(field_get:operations_research.pdlp.AdaptiveLinesearchParams.step_size_reduction_exponent)
2982 return _internal_step_size_reduction_exponent();
2983}
2985 _internal_set_step_size_reduction_exponent(value);
2986 _impl_._has_bits_[0] |= 0x00000001u;
2987 // @@protoc_insertion_point(field_set:operations_research.pdlp.AdaptiveLinesearchParams.step_size_reduction_exponent)
2988}
2989inline double AdaptiveLinesearchParams::_internal_step_size_reduction_exponent() const {
2990 ::google::protobuf::internal::TSanRead(&_impl_);
2991 return _impl_.step_size_reduction_exponent_;
2992}
2993inline void AdaptiveLinesearchParams::_internal_set_step_size_reduction_exponent(double value) {
2994 ::google::protobuf::internal::TSanWrite(&_impl_);
2995 _impl_.step_size_reduction_exponent_ = value;
2996}
2997
2998// optional double step_size_growth_exponent = 2 [default = 0.6];
3000 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
3001 return value;
3002}
3004 ::google::protobuf::internal::TSanWrite(&_impl_);
3005 _impl_.step_size_growth_exponent_ = 0.6;
3006 _impl_._has_bits_[0] &= ~0x00000002u;
3007}
3009 // @@protoc_insertion_point(field_get:operations_research.pdlp.AdaptiveLinesearchParams.step_size_growth_exponent)
3010 return _internal_step_size_growth_exponent();
3011}
3013 _internal_set_step_size_growth_exponent(value);
3014 _impl_._has_bits_[0] |= 0x00000002u;
3015 // @@protoc_insertion_point(field_set:operations_research.pdlp.AdaptiveLinesearchParams.step_size_growth_exponent)
3016}
3017inline double AdaptiveLinesearchParams::_internal_step_size_growth_exponent() const {
3018 ::google::protobuf::internal::TSanRead(&_impl_);
3019 return _impl_.step_size_growth_exponent_;
3020}
3021inline void AdaptiveLinesearchParams::_internal_set_step_size_growth_exponent(double value) {
3022 ::google::protobuf::internal::TSanWrite(&_impl_);
3023 _impl_.step_size_growth_exponent_ = value;
3024}
3025
3026// -------------------------------------------------------------------
3027
3028// MalitskyPockParams
3029
3030// optional double step_size_downscaling_factor = 1 [default = 0.7];
3032 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
3033 return value;
3034}
3036 ::google::protobuf::internal::TSanWrite(&_impl_);
3037 _impl_.step_size_downscaling_factor_ = 0.7;
3038 _impl_._has_bits_[0] &= ~0x00000001u;
3039}
3041 // @@protoc_insertion_point(field_get:operations_research.pdlp.MalitskyPockParams.step_size_downscaling_factor)
3042 return _internal_step_size_downscaling_factor();
3043}
3045 _internal_set_step_size_downscaling_factor(value);
3046 _impl_._has_bits_[0] |= 0x00000001u;
3047 // @@protoc_insertion_point(field_set:operations_research.pdlp.MalitskyPockParams.step_size_downscaling_factor)
3048}
3049inline double MalitskyPockParams::_internal_step_size_downscaling_factor() const {
3050 ::google::protobuf::internal::TSanRead(&_impl_);
3051 return _impl_.step_size_downscaling_factor_;
3052}
3053inline void MalitskyPockParams::_internal_set_step_size_downscaling_factor(double value) {
3054 ::google::protobuf::internal::TSanWrite(&_impl_);
3055 _impl_.step_size_downscaling_factor_ = value;
3056}
3057
3058// optional double linesearch_contraction_factor = 2 [default = 0.99];
3060 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
3061 return value;
3062}
3064 ::google::protobuf::internal::TSanWrite(&_impl_);
3065 _impl_.linesearch_contraction_factor_ = 0.99;
3066 _impl_._has_bits_[0] &= ~0x00000002u;
3067}
3069 // @@protoc_insertion_point(field_get:operations_research.pdlp.MalitskyPockParams.linesearch_contraction_factor)
3070 return _internal_linesearch_contraction_factor();
3071}
3073 _internal_set_linesearch_contraction_factor(value);
3074 _impl_._has_bits_[0] |= 0x00000002u;
3075 // @@protoc_insertion_point(field_set:operations_research.pdlp.MalitskyPockParams.linesearch_contraction_factor)
3076}
3077inline double MalitskyPockParams::_internal_linesearch_contraction_factor() const {
3078 ::google::protobuf::internal::TSanRead(&_impl_);
3079 return _impl_.linesearch_contraction_factor_;
3080}
3081inline void MalitskyPockParams::_internal_set_linesearch_contraction_factor(double value) {
3082 ::google::protobuf::internal::TSanWrite(&_impl_);
3083 _impl_.linesearch_contraction_factor_ = value;
3084}
3085
3086// optional double step_size_interpolation = 3 [default = 1];
3088 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
3089 return value;
3090}
3092 ::google::protobuf::internal::TSanWrite(&_impl_);
3093 _impl_.step_size_interpolation_ = 1;
3094 _impl_._has_bits_[0] &= ~0x00000004u;
3095}
3096inline double MalitskyPockParams::step_size_interpolation() const {
3097 // @@protoc_insertion_point(field_get:operations_research.pdlp.MalitskyPockParams.step_size_interpolation)
3098 return _internal_step_size_interpolation();
3099}
3100inline void MalitskyPockParams::set_step_size_interpolation(double value) {
3101 _internal_set_step_size_interpolation(value);
3102 _impl_._has_bits_[0] |= 0x00000004u;
3103 // @@protoc_insertion_point(field_set:operations_research.pdlp.MalitskyPockParams.step_size_interpolation)
3104}
3105inline double MalitskyPockParams::_internal_step_size_interpolation() const {
3106 ::google::protobuf::internal::TSanRead(&_impl_);
3107 return _impl_.step_size_interpolation_;
3108}
3109inline void MalitskyPockParams::_internal_set_step_size_interpolation(double value) {
3110 ::google::protobuf::internal::TSanWrite(&_impl_);
3111 _impl_.step_size_interpolation_ = value;
3112}
3113
3114// -------------------------------------------------------------------
3116// PrimalDualHybridGradientParams_PresolveOptions
3117
3118// optional bool use_glop = 1;
3120 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
3121 return value;
3122}
3124 ::google::protobuf::internal::TSanWrite(&_impl_);
3125 _impl_.use_glop_ = false;
3126 _impl_._has_bits_[0] &= ~0x00000002u;
3127}
3129 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.use_glop)
3130 return _internal_use_glop();
3131}
3133 _internal_set_use_glop(value);
3134 _impl_._has_bits_[0] |= 0x00000002u;
3135 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.use_glop)
3136}
3137inline bool PrimalDualHybridGradientParams_PresolveOptions::_internal_use_glop() const {
3138 ::google::protobuf::internal::TSanRead(&_impl_);
3139 return _impl_.use_glop_;
3140}
3141inline void PrimalDualHybridGradientParams_PresolveOptions::_internal_set_use_glop(bool value) {
3142 ::google::protobuf::internal::TSanWrite(&_impl_);
3143 _impl_.use_glop_ = value;
3145
3146// optional .operations_research.glop.GlopParameters glop_parameters = 2;
3148 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
3149 PROTOBUF_ASSUME(!value || _impl_.glop_parameters_ != nullptr);
3150 return value;
3151}
3152inline const ::operations_research::glop::GlopParameters& PrimalDualHybridGradientParams_PresolveOptions::_internal_glop_parameters() const {
3153 ::google::protobuf::internal::TSanRead(&_impl_);
3154 const ::operations_research::glop::GlopParameters* p = _impl_.glop_parameters_;
3156}
3157inline const ::operations_research::glop::GlopParameters& PrimalDualHybridGradientParams_PresolveOptions::glop_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3158 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3159 return _internal_glop_parameters();
3160}
3162 ::operations_research::glop::GlopParameters* PROTOBUF_NULLABLE value) {
3163 ::google::protobuf::internal::TSanWrite(&_impl_);
3164 if (GetArena() == nullptr) {
3165 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.glop_parameters_);
3166 }
3167 _impl_.glop_parameters_ = reinterpret_cast<::operations_research::glop::GlopParameters*>(value);
3168 if (value != nullptr) {
3169 _impl_._has_bits_[0] |= 0x00000001u;
3170 } else {
3171 _impl_._has_bits_[0] &= ~0x00000001u;
3172 }
3173 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3174}
3175inline ::operations_research::glop::GlopParameters* PROTOBUF_NULLABLE PrimalDualHybridGradientParams_PresolveOptions::release_glop_parameters() {
3176 ::google::protobuf::internal::TSanWrite(&_impl_);
3178 _impl_._has_bits_[0] &= ~0x00000001u;
3179 ::operations_research::glop::GlopParameters* released = _impl_.glop_parameters_;
3180 _impl_.glop_parameters_ = nullptr;
3181 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3182 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3183 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3184 if (GetArena() == nullptr) {
3185 delete old;
3186 }
3187 } else {
3188 if (GetArena() != nullptr) {
3189 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3190 }
3192 return released;
3193}
3194inline ::operations_research::glop::GlopParameters* PROTOBUF_NULLABLE PrimalDualHybridGradientParams_PresolveOptions::unsafe_arena_release_glop_parameters() {
3195 ::google::protobuf::internal::TSanWrite(&_impl_);
3196 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3197
3198 _impl_._has_bits_[0] &= ~0x00000001u;
3199 ::operations_research::glop::GlopParameters* temp = _impl_.glop_parameters_;
3200 _impl_.glop_parameters_ = nullptr;
3201 return temp;
3202}
3203inline ::operations_research::glop::GlopParameters* PROTOBUF_NONNULL PrimalDualHybridGradientParams_PresolveOptions::_internal_mutable_glop_parameters() {
3204 ::google::protobuf::internal::TSanWrite(&_impl_);
3205 if (_impl_.glop_parameters_ == nullptr) {
3206 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::glop::GlopParameters>(GetArena());
3207 _impl_.glop_parameters_ = reinterpret_cast<::operations_research::glop::GlopParameters*>(p);
3208 }
3209 return _impl_.glop_parameters_;
3211inline ::operations_research::glop::GlopParameters* PROTOBUF_NONNULL PrimalDualHybridGradientParams_PresolveOptions::mutable_glop_parameters()
3212 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3213 _impl_._has_bits_[0] |= 0x00000001u;
3214 ::operations_research::glop::GlopParameters* _msg = _internal_mutable_glop_parameters();
3215 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3216 return _msg;
3217}
3219 ::google::protobuf::Arena* message_arena = GetArena();
3220 ::google::protobuf::internal::TSanWrite(&_impl_);
3221 if (message_arena == nullptr) {
3222 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.glop_parameters_);
3223 }
3224
3225 if (value != nullptr) {
3226 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
3227 if (message_arena != submessage_arena) {
3228 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3229 }
3230 _impl_._has_bits_[0] |= 0x00000001u;
3231 } else {
3232 _impl_._has_bits_[0] &= ~0x00000001u;
3233 }
3235 _impl_.glop_parameters_ = reinterpret_cast<::operations_research::glop::GlopParameters*>(value);
3236 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions.glop_parameters)
3237}
3238
3239// -------------------------------------------------------------------
3240
3241// PrimalDualHybridGradientParams
3242
3243// optional .operations_research.pdlp.TerminationCriteria termination_criteria = 1;
3245 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
3246 PROTOBUF_ASSUME(!value || _impl_.termination_criteria_ != nullptr);
3247 return value;
3248}
3250 ::google::protobuf::internal::TSanWrite(&_impl_);
3251 if (_impl_.termination_criteria_ != nullptr) _impl_.termination_criteria_->Clear();
3252 _impl_._has_bits_[0] &= ~0x00000001u;
3253}
3254inline const ::operations_research::pdlp::TerminationCriteria& PrimalDualHybridGradientParams::_internal_termination_criteria() const {
3255 ::google::protobuf::internal::TSanRead(&_impl_);
3256 const ::operations_research::pdlp::TerminationCriteria* p = _impl_.termination_criteria_;
3258}
3259inline const ::operations_research::pdlp::TerminationCriteria& PrimalDualHybridGradientParams::termination_criteria() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3260 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3261 return _internal_termination_criteria();
3262}
3264 ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NULLABLE value) {
3265 ::google::protobuf::internal::TSanWrite(&_impl_);
3266 if (GetArena() == nullptr) {
3267 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.termination_criteria_);
3268 }
3269 _impl_.termination_criteria_ = reinterpret_cast<::operations_research::pdlp::TerminationCriteria*>(value);
3270 if (value != nullptr) {
3271 _impl_._has_bits_[0] |= 0x00000001u;
3272 } else {
3273 _impl_._has_bits_[0] &= ~0x00000001u;
3274 }
3275 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3277inline ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::release_termination_criteria() {
3278 ::google::protobuf::internal::TSanWrite(&_impl_);
3279
3280 _impl_._has_bits_[0] &= ~0x00000001u;
3281 ::operations_research::pdlp::TerminationCriteria* released = _impl_.termination_criteria_;
3282 _impl_.termination_criteria_ = nullptr;
3283 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3284 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3285 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3286 if (GetArena() == nullptr) {
3287 delete old;
3288 }
3289 } else {
3290 if (GetArena() != nullptr) {
3291 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3292 }
3293 }
3294 return released;
3295}
3296inline ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::unsafe_arena_release_termination_criteria() {
3297 ::google::protobuf::internal::TSanWrite(&_impl_);
3298 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3299
3300 _impl_._has_bits_[0] &= ~0x00000001u;
3301 ::operations_research::pdlp::TerminationCriteria* temp = _impl_.termination_criteria_;
3302 _impl_.termination_criteria_ = nullptr;
3303 return temp;
3304}
3305inline ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NONNULL PrimalDualHybridGradientParams::_internal_mutable_termination_criteria() {
3306 ::google::protobuf::internal::TSanWrite(&_impl_);
3307 if (_impl_.termination_criteria_ == nullptr) {
3308 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::TerminationCriteria>(GetArena());
3309 _impl_.termination_criteria_ = reinterpret_cast<::operations_research::pdlp::TerminationCriteria*>(p);
3310 }
3311 return _impl_.termination_criteria_;
3312}
3313inline ::operations_research::pdlp::TerminationCriteria* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_termination_criteria()
3314 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3315 _impl_._has_bits_[0] |= 0x00000001u;
3316 ::operations_research::pdlp::TerminationCriteria* _msg = _internal_mutable_termination_criteria();
3317 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3318 return _msg;
3319}
3321 ::google::protobuf::Arena* message_arena = GetArena();
3322 ::google::protobuf::internal::TSanWrite(&_impl_);
3323 if (message_arena == nullptr) {
3324 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.termination_criteria_);
3325 }
3326
3327 if (value != nullptr) {
3328 ::google::protobuf::Arena* submessage_arena = value->GetArena();
3329 if (message_arena != submessage_arena) {
3330 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3331 }
3332 _impl_._has_bits_[0] |= 0x00000001u;
3333 } else {
3334 _impl_._has_bits_[0] &= ~0x00000001u;
3335 }
3336
3337 _impl_.termination_criteria_ = reinterpret_cast<::operations_research::pdlp::TerminationCriteria*>(value);
3338 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.termination_criteria)
3339}
3340
3341// optional int32 num_threads = 2 [default = 1];
3343 bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
3344 return value;
3345}
3347 ::google::protobuf::internal::TSanWrite(&_impl_);
3348 _impl_.num_threads_ = 1;
3349 _impl_._has_bits_[0] &= ~0x00002000u;
3350}
3351inline ::int32_t PrimalDualHybridGradientParams::num_threads() const {
3352 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.num_threads)
3353 return _internal_num_threads();
3354}
3355inline void PrimalDualHybridGradientParams::set_num_threads(::int32_t value) {
3356 _internal_set_num_threads(value);
3357 _impl_._has_bits_[0] |= 0x00002000u;
3358 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.num_threads)
3360inline ::int32_t PrimalDualHybridGradientParams::_internal_num_threads() const {
3361 ::google::protobuf::internal::TSanRead(&_impl_);
3362 return _impl_.num_threads_;
3364inline void PrimalDualHybridGradientParams::_internal_set_num_threads(::int32_t value) {
3365 ::google::protobuf::internal::TSanWrite(&_impl_);
3366 _impl_.num_threads_ = value;
3367}
3369// optional int32 num_shards = 27 [default = 0];
3371 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
3372 return value;
3373}
3375 ::google::protobuf::internal::TSanWrite(&_impl_);
3376 _impl_.num_shards_ = 0;
3377 _impl_._has_bits_[0] &= ~0x00000400u;
3378}
3379inline ::int32_t PrimalDualHybridGradientParams::num_shards() const {
3380 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.num_shards)
3381 return _internal_num_shards();
3382}
3383inline void PrimalDualHybridGradientParams::set_num_shards(::int32_t value) {
3384 _internal_set_num_shards(value);
3385 _impl_._has_bits_[0] |= 0x00000400u;
3386 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.num_shards)
3388inline ::int32_t PrimalDualHybridGradientParams::_internal_num_shards() const {
3389 ::google::protobuf::internal::TSanRead(&_impl_);
3390 return _impl_.num_shards_;
3392inline void PrimalDualHybridGradientParams::_internal_set_num_shards(::int32_t value) {
3393 ::google::protobuf::internal::TSanWrite(&_impl_);
3394 _impl_.num_shards_ = value;
3395}
3397// optional .operations_research.pdlp.SchedulerType scheduler_type = 32 [default = SCHEDULER_TYPE_GOOGLE_THREADPOOL];
3399 bool value = (_impl_._has_bits_[0] & 0x02000000u) != 0;
3400 return value;
3401}
3403 ::google::protobuf::internal::TSanWrite(&_impl_);
3404 _impl_.scheduler_type_ = 1;
3405 _impl_._has_bits_[0] &= ~0x02000000u;
3406}
3407inline ::operations_research::pdlp::SchedulerType PrimalDualHybridGradientParams::scheduler_type() const {
3408 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.scheduler_type)
3409 return _internal_scheduler_type();
3410}
3412 _internal_set_scheduler_type(value);
3413 _impl_._has_bits_[0] |= 0x02000000u;
3414 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.scheduler_type)
3416inline ::operations_research::pdlp::SchedulerType PrimalDualHybridGradientParams::_internal_scheduler_type() const {
3417 ::google::protobuf::internal::TSanRead(&_impl_);
3418 return static_cast<::operations_research::pdlp::SchedulerType>(_impl_.scheduler_type_);
3420inline void PrimalDualHybridGradientParams::_internal_set_scheduler_type(::operations_research::pdlp::SchedulerType value) {
3421 ::google::protobuf::internal::TSanWrite(&_impl_);
3422
3423 assert(::google::protobuf::internal::ValidateEnum(
3425 _impl_.scheduler_type_ = value;
3426}
3427
3428// optional bool record_iteration_stats = 3;
3430 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
3431 return value;
3432}
3434 ::google::protobuf::internal::TSanWrite(&_impl_);
3435 _impl_.record_iteration_stats_ = false;
3436 _impl_._has_bits_[0] &= ~0x00000020u;
3437}
3439 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.record_iteration_stats)
3440 return _internal_record_iteration_stats();
3441}
3443 _internal_set_record_iteration_stats(value);
3444 _impl_._has_bits_[0] |= 0x00000020u;
3445 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.record_iteration_stats)
3447inline bool PrimalDualHybridGradientParams::_internal_record_iteration_stats() const {
3448 ::google::protobuf::internal::TSanRead(&_impl_);
3449 return _impl_.record_iteration_stats_;
3451inline void PrimalDualHybridGradientParams::_internal_set_record_iteration_stats(bool value) {
3452 ::google::protobuf::internal::TSanWrite(&_impl_);
3453 _impl_.record_iteration_stats_ = value;
3454}
3456// optional int32 verbosity_level = 26 [default = 0];
3458 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
3459 return value;
3460}
3462 ::google::protobuf::internal::TSanWrite(&_impl_);
3463 _impl_.verbosity_level_ = 0;
3464 _impl_._has_bits_[0] &= ~0x00000200u;
3465}
3466inline ::int32_t PrimalDualHybridGradientParams::verbosity_level() const {
3467 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.verbosity_level)
3468 return _internal_verbosity_level();
3469}
3470inline void PrimalDualHybridGradientParams::set_verbosity_level(::int32_t value) {
3471 _internal_set_verbosity_level(value);
3472 _impl_._has_bits_[0] |= 0x00000200u;
3473 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.verbosity_level)
3475inline ::int32_t PrimalDualHybridGradientParams::_internal_verbosity_level() const {
3476 ::google::protobuf::internal::TSanRead(&_impl_);
3477 return _impl_.verbosity_level_;
3479inline void PrimalDualHybridGradientParams::_internal_set_verbosity_level(::int32_t value) {
3480 ::google::protobuf::internal::TSanWrite(&_impl_);
3481 _impl_.verbosity_level_ = value;
3482}
3484// optional double log_interval_seconds = 31 [default = 0];
3486 bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
3487 return value;
3488}
3490 ::google::protobuf::internal::TSanWrite(&_impl_);
3491 _impl_.log_interval_seconds_ = 0;
3492 _impl_._has_bits_[0] &= ~0x00001000u;
3493}
3495 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.log_interval_seconds)
3496 return _internal_log_interval_seconds();
3497}
3499 _internal_set_log_interval_seconds(value);
3500 _impl_._has_bits_[0] |= 0x00001000u;
3501 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.log_interval_seconds)
3503inline double PrimalDualHybridGradientParams::_internal_log_interval_seconds() const {
3504 ::google::protobuf::internal::TSanRead(&_impl_);
3505 return _impl_.log_interval_seconds_;
3507inline void PrimalDualHybridGradientParams::_internal_set_log_interval_seconds(double value) {
3508 ::google::protobuf::internal::TSanWrite(&_impl_);
3509 _impl_.log_interval_seconds_ = value;
3510}
3512// optional int32 major_iteration_frequency = 4 [default = 64];
3514 bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
3515 return value;
3516}
3518 ::google::protobuf::internal::TSanWrite(&_impl_);
3519 _impl_.major_iteration_frequency_ = 64;
3520 _impl_._has_bits_[0] &= ~0x00004000u;
3521}
3523 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.major_iteration_frequency)
3524 return _internal_major_iteration_frequency();
3525}
3527 _internal_set_major_iteration_frequency(value);
3528 _impl_._has_bits_[0] |= 0x00004000u;
3529 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.major_iteration_frequency)
3531inline ::int32_t PrimalDualHybridGradientParams::_internal_major_iteration_frequency() const {
3532 ::google::protobuf::internal::TSanRead(&_impl_);
3533 return _impl_.major_iteration_frequency_;
3535inline void PrimalDualHybridGradientParams::_internal_set_major_iteration_frequency(::int32_t value) {
3536 ::google::protobuf::internal::TSanWrite(&_impl_);
3537 _impl_.major_iteration_frequency_ = value;
3538}
3540// optional int32 termination_check_frequency = 5 [default = 64];
3542 bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
3543 return value;
3544}
3546 ::google::protobuf::internal::TSanWrite(&_impl_);
3547 _impl_.termination_check_frequency_ = 64;
3548 _impl_._has_bits_[0] &= ~0x00008000u;
3549}
3551 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.termination_check_frequency)
3552 return _internal_termination_check_frequency();
3553}
3555 _internal_set_termination_check_frequency(value);
3556 _impl_._has_bits_[0] |= 0x00008000u;
3557 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.termination_check_frequency)
3559inline ::int32_t PrimalDualHybridGradientParams::_internal_termination_check_frequency() const {
3560 ::google::protobuf::internal::TSanRead(&_impl_);
3561 return _impl_.termination_check_frequency_;
3563inline void PrimalDualHybridGradientParams::_internal_set_termination_check_frequency(::int32_t value) {
3564 ::google::protobuf::internal::TSanWrite(&_impl_);
3565 _impl_.termination_check_frequency_ = value;
3566}
3568// optional .operations_research.pdlp.PrimalDualHybridGradientParams.RestartStrategy restart_strategy = 6 [default = ADAPTIVE_HEURISTIC];
3570 bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
3571 return value;
3572}
3574 ::google::protobuf::internal::TSanWrite(&_impl_);
3575 _impl_.restart_strategy_ = 3;
3576 _impl_._has_bits_[0] &= ~0x00010000u;
3577}
3578inline ::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy PrimalDualHybridGradientParams::restart_strategy() const {
3579 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.restart_strategy)
3580 return _internal_restart_strategy();
3581}
3583 _internal_set_restart_strategy(value);
3584 _impl_._has_bits_[0] |= 0x00010000u;
3585 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.restart_strategy)
3587inline ::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy PrimalDualHybridGradientParams::_internal_restart_strategy() const {
3588 ::google::protobuf::internal::TSanRead(&_impl_);
3591inline void PrimalDualHybridGradientParams::_internal_set_restart_strategy(::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy value) {
3592 ::google::protobuf::internal::TSanWrite(&_impl_);
3593
3594 assert(::google::protobuf::internal::ValidateEnum(
3599// optional double primal_weight_update_smoothing = 7 [default = 0.5];
3601 bool value = (_impl_._has_bits_[0] & 0x00020000u) != 0;
3602 return value;
3603}
3605 ::google::protobuf::internal::TSanWrite(&_impl_);
3606 _impl_.primal_weight_update_smoothing_ = 0.5;
3607 _impl_._has_bits_[0] &= ~0x00020000u;
3608}
3610 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.primal_weight_update_smoothing)
3611 return _internal_primal_weight_update_smoothing();
3612}
3614 _internal_set_primal_weight_update_smoothing(value);
3615 _impl_._has_bits_[0] |= 0x00020000u;
3616 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.primal_weight_update_smoothing)
3618inline double PrimalDualHybridGradientParams::_internal_primal_weight_update_smoothing() const {
3619 ::google::protobuf::internal::TSanRead(&_impl_);
3620 return _impl_.primal_weight_update_smoothing_;
3622inline void PrimalDualHybridGradientParams::_internal_set_primal_weight_update_smoothing(double value) {
3623 ::google::protobuf::internal::TSanWrite(&_impl_);
3624 _impl_.primal_weight_update_smoothing_ = value;
3625}
3627// optional double initial_primal_weight = 8;
3629 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
3630 return value;
3631}
3633 ::google::protobuf::internal::TSanWrite(&_impl_);
3634 _impl_.initial_primal_weight_ = 0;
3635 _impl_._has_bits_[0] &= ~0x00000010u;
3636}
3638 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.initial_primal_weight)
3639 return _internal_initial_primal_weight();
3640}
3642 _internal_set_initial_primal_weight(value);
3643 _impl_._has_bits_[0] |= 0x00000010u;
3644 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.initial_primal_weight)
3646inline double PrimalDualHybridGradientParams::_internal_initial_primal_weight() const {
3647 ::google::protobuf::internal::TSanRead(&_impl_);
3648 return _impl_.initial_primal_weight_;
3650inline void PrimalDualHybridGradientParams::_internal_set_initial_primal_weight(double value) {
3651 ::google::protobuf::internal::TSanWrite(&_impl_);
3652 _impl_.initial_primal_weight_ = value;
3653}
3655// optional .operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions presolve_options = 16;
3657 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
3658 PROTOBUF_ASSUME(!value || _impl_.presolve_options_ != nullptr);
3659 return value;
3660}
3662 ::google::protobuf::internal::TSanWrite(&_impl_);
3663 if (_impl_.presolve_options_ != nullptr) _impl_.presolve_options_->Clear();
3664 _impl_._has_bits_[0] &= ~0x00000002u;
3665}
3666inline const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions& PrimalDualHybridGradientParams::_internal_presolve_options() const {
3667 ::google::protobuf::internal::TSanRead(&_impl_);
3668 const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* p = _impl_.presolve_options_;
3670}
3671inline const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions& PrimalDualHybridGradientParams::presolve_options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3672 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3673 return _internal_presolve_options();
3674}
3677 ::google::protobuf::internal::TSanWrite(&_impl_);
3678 if (GetArena() == nullptr) {
3679 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.presolve_options_);
3680 }
3681 _impl_.presolve_options_ = reinterpret_cast<::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions*>(value);
3682 if (value != nullptr) {
3683 _impl_._has_bits_[0] |= 0x00000002u;
3684 } else {
3685 _impl_._has_bits_[0] &= ~0x00000002u;
3686 }
3687 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3689inline ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::release_presolve_options() {
3690 ::google::protobuf::internal::TSanWrite(&_impl_);
3691
3692 _impl_._has_bits_[0] &= ~0x00000002u;
3694 _impl_.presolve_options_ = nullptr;
3695 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3696 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3697 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3698 if (GetArena() == nullptr) {
3699 delete old;
3700 }
3701 } else {
3702 if (GetArena() != nullptr) {
3703 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3704 }
3705 }
3706 return released;
3707}
3708inline ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::unsafe_arena_release_presolve_options() {
3709 ::google::protobuf::internal::TSanWrite(&_impl_);
3710 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3711
3712 _impl_._has_bits_[0] &= ~0x00000002u;
3714 _impl_.presolve_options_ = nullptr;
3715 return temp;
3716}
3717inline ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL PrimalDualHybridGradientParams::_internal_mutable_presolve_options() {
3718 ::google::protobuf::internal::TSanWrite(&_impl_);
3719 if (_impl_.presolve_options_ == nullptr) {
3720 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions>(GetArena());
3722 }
3723 return _impl_.presolve_options_;
3724}
3725inline ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_presolve_options()
3726 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3727 _impl_._has_bits_[0] |= 0x00000002u;
3728 ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions* _msg = _internal_mutable_presolve_options();
3729 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3730 return _msg;
3731}
3733 ::google::protobuf::Arena* message_arena = GetArena();
3734 ::google::protobuf::internal::TSanWrite(&_impl_);
3735 if (message_arena == nullptr) {
3736 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.presolve_options_);
3737 }
3738
3739 if (value != nullptr) {
3740 ::google::protobuf::Arena* submessage_arena = value->GetArena();
3741 if (message_arena != submessage_arena) {
3742 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3743 }
3744 _impl_._has_bits_[0] |= 0x00000002u;
3745 } else {
3746 _impl_._has_bits_[0] &= ~0x00000002u;
3747 }
3748
3750 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.presolve_options)
3751}
3752
3753// optional int32 l_inf_ruiz_iterations = 9 [default = 5];
3755 bool value = (_impl_._has_bits_[0] & 0x00040000u) != 0;
3756 return value;
3757}
3759 ::google::protobuf::internal::TSanWrite(&_impl_);
3760 _impl_.l_inf_ruiz_iterations_ = 5;
3761 _impl_._has_bits_[0] &= ~0x00040000u;
3762}
3764 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.l_inf_ruiz_iterations)
3765 return _internal_l_inf_ruiz_iterations();
3766}
3768 _internal_set_l_inf_ruiz_iterations(value);
3769 _impl_._has_bits_[0] |= 0x00040000u;
3770 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.l_inf_ruiz_iterations)
3772inline ::int32_t PrimalDualHybridGradientParams::_internal_l_inf_ruiz_iterations() const {
3773 ::google::protobuf::internal::TSanRead(&_impl_);
3774 return _impl_.l_inf_ruiz_iterations_;
3776inline void PrimalDualHybridGradientParams::_internal_set_l_inf_ruiz_iterations(::int32_t value) {
3777 ::google::protobuf::internal::TSanWrite(&_impl_);
3778 _impl_.l_inf_ruiz_iterations_ = value;
3779}
3781// optional bool l2_norm_rescaling = 10 [default = true];
3783 bool value = (_impl_._has_bits_[0] & 0x00800000u) != 0;
3784 return value;
3785}
3787 ::google::protobuf::internal::TSanWrite(&_impl_);
3788 _impl_.l2_norm_rescaling_ = true;
3789 _impl_._has_bits_[0] &= ~0x00800000u;
3790}
3792 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.l2_norm_rescaling)
3793 return _internal_l2_norm_rescaling();
3794}
3796 _internal_set_l2_norm_rescaling(value);
3797 _impl_._has_bits_[0] |= 0x00800000u;
3798 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.l2_norm_rescaling)
3800inline bool PrimalDualHybridGradientParams::_internal_l2_norm_rescaling() const {
3801 ::google::protobuf::internal::TSanRead(&_impl_);
3802 return _impl_.l2_norm_rescaling_;
3804inline void PrimalDualHybridGradientParams::_internal_set_l2_norm_rescaling(bool value) {
3805 ::google::protobuf::internal::TSanWrite(&_impl_);
3806 _impl_.l2_norm_rescaling_ = value;
3807}
3809// optional double sufficient_reduction_for_restart = 11 [default = 0.1];
3811 bool value = (_impl_._has_bits_[0] & 0x00100000u) != 0;
3812 return value;
3813}
3815 ::google::protobuf::internal::TSanWrite(&_impl_);
3816 _impl_.sufficient_reduction_for_restart_ = 0.1;
3817 _impl_._has_bits_[0] &= ~0x00100000u;
3818}
3820 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.sufficient_reduction_for_restart)
3821 return _internal_sufficient_reduction_for_restart();
3822}
3824 _internal_set_sufficient_reduction_for_restart(value);
3825 _impl_._has_bits_[0] |= 0x00100000u;
3826 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.sufficient_reduction_for_restart)
3828inline double PrimalDualHybridGradientParams::_internal_sufficient_reduction_for_restart() const {
3829 ::google::protobuf::internal::TSanRead(&_impl_);
3830 return _impl_.sufficient_reduction_for_restart_;
3832inline void PrimalDualHybridGradientParams::_internal_set_sufficient_reduction_for_restart(double value) {
3833 ::google::protobuf::internal::TSanWrite(&_impl_);
3834 _impl_.sufficient_reduction_for_restart_ = value;
3835}
3837// optional double necessary_reduction_for_restart = 17 [default = 0.9];
3839 bool value = (_impl_._has_bits_[0] & 0x00200000u) != 0;
3840 return value;
3841}
3843 ::google::protobuf::internal::TSanWrite(&_impl_);
3844 _impl_.necessary_reduction_for_restart_ = 0.9;
3845 _impl_._has_bits_[0] &= ~0x00200000u;
3846}
3848 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.necessary_reduction_for_restart)
3849 return _internal_necessary_reduction_for_restart();
3850}
3852 _internal_set_necessary_reduction_for_restart(value);
3853 _impl_._has_bits_[0] |= 0x00200000u;
3854 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.necessary_reduction_for_restart)
3856inline double PrimalDualHybridGradientParams::_internal_necessary_reduction_for_restart() const {
3857 ::google::protobuf::internal::TSanRead(&_impl_);
3858 return _impl_.necessary_reduction_for_restart_;
3860inline void PrimalDualHybridGradientParams::_internal_set_necessary_reduction_for_restart(double value) {
3861 ::google::protobuf::internal::TSanWrite(&_impl_);
3862 _impl_.necessary_reduction_for_restart_ = value;
3863}
3865// optional .operations_research.pdlp.PrimalDualHybridGradientParams.LinesearchRule linesearch_rule = 12 [default = ADAPTIVE_LINESEARCH_RULE];
3867 bool value = (_impl_._has_bits_[0] & 0x00080000u) != 0;
3868 return value;
3869}
3871 ::google::protobuf::internal::TSanWrite(&_impl_);
3872 _impl_.linesearch_rule_ = 1;
3873 _impl_._has_bits_[0] &= ~0x00080000u;
3874}
3875inline ::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule PrimalDualHybridGradientParams::linesearch_rule() const {
3876 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.linesearch_rule)
3877 return _internal_linesearch_rule();
3878}
3880 _internal_set_linesearch_rule(value);
3881 _impl_._has_bits_[0] |= 0x00080000u;
3882 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.linesearch_rule)
3884inline ::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule PrimalDualHybridGradientParams::_internal_linesearch_rule() const {
3885 ::google::protobuf::internal::TSanRead(&_impl_);
3888inline void PrimalDualHybridGradientParams::_internal_set_linesearch_rule(::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule value) {
3889 ::google::protobuf::internal::TSanWrite(&_impl_);
3890
3891 assert(::google::protobuf::internal::ValidateEnum(
3896// optional .operations_research.pdlp.AdaptiveLinesearchParams adaptive_linesearch_parameters = 18;
3898 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
3899 PROTOBUF_ASSUME(!value || _impl_.adaptive_linesearch_parameters_ != nullptr);
3900 return value;
3901}
3903 ::google::protobuf::internal::TSanWrite(&_impl_);
3904 if (_impl_.adaptive_linesearch_parameters_ != nullptr) _impl_.adaptive_linesearch_parameters_->Clear();
3905 _impl_._has_bits_[0] &= ~0x00000004u;
3906}
3907inline const ::operations_research::pdlp::AdaptiveLinesearchParams& PrimalDualHybridGradientParams::_internal_adaptive_linesearch_parameters() const {
3908 ::google::protobuf::internal::TSanRead(&_impl_);
3909 const ::operations_research::pdlp::AdaptiveLinesearchParams* p = _impl_.adaptive_linesearch_parameters_;
3911}
3912inline const ::operations_research::pdlp::AdaptiveLinesearchParams& PrimalDualHybridGradientParams::adaptive_linesearch_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3913 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
3914 return _internal_adaptive_linesearch_parameters();
3915}
3918 ::google::protobuf::internal::TSanWrite(&_impl_);
3919 if (GetArena() == nullptr) {
3920 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.adaptive_linesearch_parameters_);
3921 }
3922 _impl_.adaptive_linesearch_parameters_ = reinterpret_cast<::operations_research::pdlp::AdaptiveLinesearchParams*>(value);
3923 if (value != nullptr) {
3924 _impl_._has_bits_[0] |= 0x00000004u;
3925 } else {
3926 _impl_._has_bits_[0] &= ~0x00000004u;
3927 }
3928 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
3930inline ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::release_adaptive_linesearch_parameters() {
3931 ::google::protobuf::internal::TSanWrite(&_impl_);
3932
3933 _impl_._has_bits_[0] &= ~0x00000004u;
3934 ::operations_research::pdlp::AdaptiveLinesearchParams* released = _impl_.adaptive_linesearch_parameters_;
3935 _impl_.adaptive_linesearch_parameters_ = nullptr;
3936 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3937 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3938 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3939 if (GetArena() == nullptr) {
3940 delete old;
3941 }
3942 } else {
3943 if (GetArena() != nullptr) {
3944 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3945 }
3946 }
3947 return released;
3948}
3949inline ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::unsafe_arena_release_adaptive_linesearch_parameters() {
3950 ::google::protobuf::internal::TSanWrite(&_impl_);
3951 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
3952
3953 _impl_._has_bits_[0] &= ~0x00000004u;
3954 ::operations_research::pdlp::AdaptiveLinesearchParams* temp = _impl_.adaptive_linesearch_parameters_;
3955 _impl_.adaptive_linesearch_parameters_ = nullptr;
3956 return temp;
3957}
3958inline ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NONNULL PrimalDualHybridGradientParams::_internal_mutable_adaptive_linesearch_parameters() {
3959 ::google::protobuf::internal::TSanWrite(&_impl_);
3960 if (_impl_.adaptive_linesearch_parameters_ == nullptr) {
3961 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::AdaptiveLinesearchParams>(GetArena());
3962 _impl_.adaptive_linesearch_parameters_ = reinterpret_cast<::operations_research::pdlp::AdaptiveLinesearchParams*>(p);
3963 }
3964 return _impl_.adaptive_linesearch_parameters_;
3965}
3966inline ::operations_research::pdlp::AdaptiveLinesearchParams* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_adaptive_linesearch_parameters()
3967 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3968 _impl_._has_bits_[0] |= 0x00000004u;
3969 ::operations_research::pdlp::AdaptiveLinesearchParams* _msg = _internal_mutable_adaptive_linesearch_parameters();
3970 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
3971 return _msg;
3972}
3974 ::google::protobuf::Arena* message_arena = GetArena();
3975 ::google::protobuf::internal::TSanWrite(&_impl_);
3976 if (message_arena == nullptr) {
3977 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.adaptive_linesearch_parameters_);
3978 }
3979
3980 if (value != nullptr) {
3981 ::google::protobuf::Arena* submessage_arena = value->GetArena();
3982 if (message_arena != submessage_arena) {
3983 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3984 }
3985 _impl_._has_bits_[0] |= 0x00000004u;
3986 } else {
3987 _impl_._has_bits_[0] &= ~0x00000004u;
3988 }
3989
3990 _impl_.adaptive_linesearch_parameters_ = reinterpret_cast<::operations_research::pdlp::AdaptiveLinesearchParams*>(value);
3991 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.adaptive_linesearch_parameters)
3992}
3993
3994// optional .operations_research.pdlp.MalitskyPockParams malitsky_pock_parameters = 19;
3996 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
3997 PROTOBUF_ASSUME(!value || _impl_.malitsky_pock_parameters_ != nullptr);
3998 return value;
3999}
4001 ::google::protobuf::internal::TSanWrite(&_impl_);
4002 if (_impl_.malitsky_pock_parameters_ != nullptr) _impl_.malitsky_pock_parameters_->Clear();
4003 _impl_._has_bits_[0] &= ~0x00000008u;
4004}
4005inline const ::operations_research::pdlp::MalitskyPockParams& PrimalDualHybridGradientParams::_internal_malitsky_pock_parameters() const {
4006 ::google::protobuf::internal::TSanRead(&_impl_);
4007 const ::operations_research::pdlp::MalitskyPockParams* p = _impl_.malitsky_pock_parameters_;
4009}
4010inline const ::operations_research::pdlp::MalitskyPockParams& PrimalDualHybridGradientParams::malitsky_pock_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4011 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4012 return _internal_malitsky_pock_parameters();
4013}
4015 ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NULLABLE value) {
4016 ::google::protobuf::internal::TSanWrite(&_impl_);
4017 if (GetArena() == nullptr) {
4018 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.malitsky_pock_parameters_);
4019 }
4020 _impl_.malitsky_pock_parameters_ = reinterpret_cast<::operations_research::pdlp::MalitskyPockParams*>(value);
4021 if (value != nullptr) {
4022 _impl_._has_bits_[0] |= 0x00000008u;
4023 } else {
4024 _impl_._has_bits_[0] &= ~0x00000008u;
4025 }
4026 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4028inline ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::release_malitsky_pock_parameters() {
4029 ::google::protobuf::internal::TSanWrite(&_impl_);
4030
4031 _impl_._has_bits_[0] &= ~0x00000008u;
4032 ::operations_research::pdlp::MalitskyPockParams* released = _impl_.malitsky_pock_parameters_;
4033 _impl_.malitsky_pock_parameters_ = nullptr;
4034 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4035 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4036 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4037 if (GetArena() == nullptr) {
4038 delete old;
4039 }
4040 } else {
4041 if (GetArena() != nullptr) {
4042 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4043 }
4044 }
4045 return released;
4046}
4047inline ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NULLABLE PrimalDualHybridGradientParams::unsafe_arena_release_malitsky_pock_parameters() {
4048 ::google::protobuf::internal::TSanWrite(&_impl_);
4049 // @@protoc_insertion_point(field_release:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4050
4051 _impl_._has_bits_[0] &= ~0x00000008u;
4052 ::operations_research::pdlp::MalitskyPockParams* temp = _impl_.malitsky_pock_parameters_;
4053 _impl_.malitsky_pock_parameters_ = nullptr;
4054 return temp;
4055}
4056inline ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NONNULL PrimalDualHybridGradientParams::_internal_mutable_malitsky_pock_parameters() {
4057 ::google::protobuf::internal::TSanWrite(&_impl_);
4058 if (_impl_.malitsky_pock_parameters_ == nullptr) {
4059 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::pdlp::MalitskyPockParams>(GetArena());
4060 _impl_.malitsky_pock_parameters_ = reinterpret_cast<::operations_research::pdlp::MalitskyPockParams*>(p);
4061 }
4062 return _impl_.malitsky_pock_parameters_;
4063}
4064inline ::operations_research::pdlp::MalitskyPockParams* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_malitsky_pock_parameters()
4065 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4066 _impl_._has_bits_[0] |= 0x00000008u;
4067 ::operations_research::pdlp::MalitskyPockParams* _msg = _internal_mutable_malitsky_pock_parameters();
4068 // @@protoc_insertion_point(field_mutable:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4069 return _msg;
4070}
4072 ::google::protobuf::Arena* message_arena = GetArena();
4073 ::google::protobuf::internal::TSanWrite(&_impl_);
4074 if (message_arena == nullptr) {
4075 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.malitsky_pock_parameters_);
4076 }
4077
4078 if (value != nullptr) {
4079 ::google::protobuf::Arena* submessage_arena = value->GetArena();
4080 if (message_arena != submessage_arena) {
4081 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4082 }
4083 _impl_._has_bits_[0] |= 0x00000008u;
4084 } else {
4085 _impl_._has_bits_[0] &= ~0x00000008u;
4086 }
4087
4088 _impl_.malitsky_pock_parameters_ = reinterpret_cast<::operations_research::pdlp::MalitskyPockParams*>(value);
4089 // @@protoc_insertion_point(field_set_allocated:operations_research.pdlp.PrimalDualHybridGradientParams.malitsky_pock_parameters)
4090}
4091
4092// optional double initial_step_size_scaling = 25 [default = 1];
4094 bool value = (_impl_._has_bits_[0] & 0x08000000u) != 0;
4095 return value;
4096}
4098 ::google::protobuf::internal::TSanWrite(&_impl_);
4099 _impl_.initial_step_size_scaling_ = 1;
4100 _impl_._has_bits_[0] &= ~0x08000000u;
4101}
4103 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.initial_step_size_scaling)
4104 return _internal_initial_step_size_scaling();
4105}
4107 _internal_set_initial_step_size_scaling(value);
4108 _impl_._has_bits_[0] |= 0x08000000u;
4109 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.initial_step_size_scaling)
4111inline double PrimalDualHybridGradientParams::_internal_initial_step_size_scaling() const {
4112 ::google::protobuf::internal::TSanRead(&_impl_);
4113 return _impl_.initial_step_size_scaling_;
4115inline void PrimalDualHybridGradientParams::_internal_set_initial_step_size_scaling(double value) {
4116 ::google::protobuf::internal::TSanWrite(&_impl_);
4117 _impl_.initial_step_size_scaling_ = value;
4118}
4120// repeated int32 random_projection_seeds = 28 [packed = true];
4121inline int PrimalDualHybridGradientParams::_internal_random_projection_seeds_size() const {
4122 return _internal_random_projection_seeds().size();
4125 return _internal_random_projection_seeds_size();
4126}
4128 ::google::protobuf::internal::TSanWrite(&_impl_);
4129 _impl_.random_projection_seeds_.Clear();
4130}
4131inline ::int32_t PrimalDualHybridGradientParams::random_projection_seeds(int index) const {
4132 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4133 return _internal_random_projection_seeds().Get(index);
4134}
4135inline void PrimalDualHybridGradientParams::set_random_projection_seeds(int index, ::int32_t value) {
4136 _internal_mutable_random_projection_seeds()->Set(index, value);
4137 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4138}
4140 ::google::protobuf::internal::TSanWrite(&_impl_);
4141 _internal_mutable_random_projection_seeds()->Add(value);
4142 // @@protoc_insertion_point(field_add:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4143}
4144inline const ::google::protobuf::RepeatedField<::int32_t>& PrimalDualHybridGradientParams::random_projection_seeds() const
4145 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4146 // @@protoc_insertion_point(field_list:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4147 return _internal_random_projection_seeds();
4149inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL PrimalDualHybridGradientParams::mutable_random_projection_seeds()
4150 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4151 // @@protoc_insertion_point(field_mutable_list:operations_research.pdlp.PrimalDualHybridGradientParams.random_projection_seeds)
4152 ::google::protobuf::internal::TSanWrite(&_impl_);
4153 return _internal_mutable_random_projection_seeds();
4154}
4155inline const ::google::protobuf::RepeatedField<::int32_t>&
4156PrimalDualHybridGradientParams::_internal_random_projection_seeds() const {
4157 ::google::protobuf::internal::TSanRead(&_impl_);
4158 return _impl_.random_projection_seeds_;
4159}
4160inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
4161PrimalDualHybridGradientParams::_internal_mutable_random_projection_seeds() {
4162 ::google::protobuf::internal::TSanRead(&_impl_);
4163 return &_impl_.random_projection_seeds_;
4164}
4165
4166// optional double infinite_constraint_bound_threshold = 22 [default = inf];
4168 bool value = (_impl_._has_bits_[0] & 0x00400000u) != 0;
4169 return value;
4170}
4172 ::google::protobuf::internal::TSanWrite(&_impl_);
4173 _impl_.infinite_constraint_bound_threshold_ = std::numeric_limits<double>::infinity();
4174 _impl_._has_bits_[0] &= ~0x00400000u;
4175}
4177 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.infinite_constraint_bound_threshold)
4178 return _internal_infinite_constraint_bound_threshold();
4179}
4181 _internal_set_infinite_constraint_bound_threshold(value);
4182 _impl_._has_bits_[0] |= 0x00400000u;
4183 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.infinite_constraint_bound_threshold)
4185inline double PrimalDualHybridGradientParams::_internal_infinite_constraint_bound_threshold() const {
4186 ::google::protobuf::internal::TSanRead(&_impl_);
4187 return _impl_.infinite_constraint_bound_threshold_;
4189inline void PrimalDualHybridGradientParams::_internal_set_infinite_constraint_bound_threshold(double value) {
4190 ::google::protobuf::internal::TSanWrite(&_impl_);
4191 _impl_.infinite_constraint_bound_threshold_ = value;
4192}
4194// optional bool handle_some_primal_gradients_on_finite_bounds_as_residuals = 29 [default = true];
4196 bool value = (_impl_._has_bits_[0] & 0x01000000u) != 0;
4197 return value;
4198}
4200 ::google::protobuf::internal::TSanWrite(&_impl_);
4201 _impl_.handle_some_primal_gradients_on_finite_bounds_as_residuals_ = true;
4202 _impl_._has_bits_[0] &= ~0x01000000u;
4203}
4205 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.handle_some_primal_gradients_on_finite_bounds_as_residuals)
4206 return _internal_handle_some_primal_gradients_on_finite_bounds_as_residuals();
4207}
4209 _internal_set_handle_some_primal_gradients_on_finite_bounds_as_residuals(value);
4210 _impl_._has_bits_[0] |= 0x01000000u;
4211 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.handle_some_primal_gradients_on_finite_bounds_as_residuals)
4213inline bool PrimalDualHybridGradientParams::_internal_handle_some_primal_gradients_on_finite_bounds_as_residuals() const {
4214 ::google::protobuf::internal::TSanRead(&_impl_);
4215 return _impl_.handle_some_primal_gradients_on_finite_bounds_as_residuals_;
4217inline void PrimalDualHybridGradientParams::_internal_set_handle_some_primal_gradients_on_finite_bounds_as_residuals(bool value) {
4218 ::google::protobuf::internal::TSanWrite(&_impl_);
4219 _impl_.handle_some_primal_gradients_on_finite_bounds_as_residuals_ = value;
4220}
4222// optional bool use_diagonal_qp_trust_region_solver = 23 [default = false];
4224 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
4225 return value;
4226}
4228 ::google::protobuf::internal::TSanWrite(&_impl_);
4229 _impl_.use_diagonal_qp_trust_region_solver_ = false;
4230 _impl_._has_bits_[0] &= ~0x00000040u;
4231}
4233 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.use_diagonal_qp_trust_region_solver)
4234 return _internal_use_diagonal_qp_trust_region_solver();
4235}
4237 _internal_set_use_diagonal_qp_trust_region_solver(value);
4238 _impl_._has_bits_[0] |= 0x00000040u;
4239 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.use_diagonal_qp_trust_region_solver)
4241inline bool PrimalDualHybridGradientParams::_internal_use_diagonal_qp_trust_region_solver() const {
4242 ::google::protobuf::internal::TSanRead(&_impl_);
4243 return _impl_.use_diagonal_qp_trust_region_solver_;
4245inline void PrimalDualHybridGradientParams::_internal_set_use_diagonal_qp_trust_region_solver(bool value) {
4246 ::google::protobuf::internal::TSanWrite(&_impl_);
4247 _impl_.use_diagonal_qp_trust_region_solver_ = value;
4248}
4250// optional double diagonal_qp_trust_region_solver_tolerance = 24 [default = 1e-08];
4252 bool value = (_impl_._has_bits_[0] & 0x04000000u) != 0;
4253 return value;
4254}
4256 ::google::protobuf::internal::TSanWrite(&_impl_);
4257 _impl_.diagonal_qp_trust_region_solver_tolerance_ = 1e-08;
4258 _impl_._has_bits_[0] &= ~0x04000000u;
4259}
4261 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.diagonal_qp_trust_region_solver_tolerance)
4262 return _internal_diagonal_qp_trust_region_solver_tolerance();
4263}
4265 _internal_set_diagonal_qp_trust_region_solver_tolerance(value);
4266 _impl_._has_bits_[0] |= 0x04000000u;
4267 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.diagonal_qp_trust_region_solver_tolerance)
4269inline double PrimalDualHybridGradientParams::_internal_diagonal_qp_trust_region_solver_tolerance() const {
4270 ::google::protobuf::internal::TSanRead(&_impl_);
4271 return _impl_.diagonal_qp_trust_region_solver_tolerance_;
4273inline void PrimalDualHybridGradientParams::_internal_set_diagonal_qp_trust_region_solver_tolerance(double value) {
4274 ::google::protobuf::internal::TSanWrite(&_impl_);
4275 _impl_.diagonal_qp_trust_region_solver_tolerance_ = value;
4276}
4278// optional bool use_feasibility_polishing = 30 [default = false];
4280 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
4281 return value;
4282}
4284 ::google::protobuf::internal::TSanWrite(&_impl_);
4285 _impl_.use_feasibility_polishing_ = false;
4286 _impl_._has_bits_[0] &= ~0x00000080u;
4287}
4289 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.use_feasibility_polishing)
4290 return _internal_use_feasibility_polishing();
4291}
4293 _internal_set_use_feasibility_polishing(value);
4294 _impl_._has_bits_[0] |= 0x00000080u;
4295 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.use_feasibility_polishing)
4297inline bool PrimalDualHybridGradientParams::_internal_use_feasibility_polishing() const {
4298 ::google::protobuf::internal::TSanRead(&_impl_);
4299 return _impl_.use_feasibility_polishing_;
4301inline void PrimalDualHybridGradientParams::_internal_set_use_feasibility_polishing(bool value) {
4302 ::google::protobuf::internal::TSanWrite(&_impl_);
4303 _impl_.use_feasibility_polishing_ = value;
4304}
4306// optional bool apply_feasibility_polishing_after_limits_reached = 33 [default = false];
4308 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
4309 return value;
4310}
4312 ::google::protobuf::internal::TSanWrite(&_impl_);
4313 _impl_.apply_feasibility_polishing_after_limits_reached_ = false;
4314 _impl_._has_bits_[0] &= ~0x00000100u;
4315}
4317 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.apply_feasibility_polishing_after_limits_reached)
4318 return _internal_apply_feasibility_polishing_after_limits_reached();
4319}
4321 _internal_set_apply_feasibility_polishing_after_limits_reached(value);
4322 _impl_._has_bits_[0] |= 0x00000100u;
4323 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.apply_feasibility_polishing_after_limits_reached)
4325inline bool PrimalDualHybridGradientParams::_internal_apply_feasibility_polishing_after_limits_reached() const {
4326 ::google::protobuf::internal::TSanRead(&_impl_);
4327 return _impl_.apply_feasibility_polishing_after_limits_reached_;
4329inline void PrimalDualHybridGradientParams::_internal_set_apply_feasibility_polishing_after_limits_reached(bool value) {
4330 ::google::protobuf::internal::TSanWrite(&_impl_);
4331 _impl_.apply_feasibility_polishing_after_limits_reached_ = value;
4332}
4334// optional bool apply_feasibility_polishing_if_solver_is_interrupted = 34 [default = false];
4336 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
4337 return value;
4338}
4340 ::google::protobuf::internal::TSanWrite(&_impl_);
4341 _impl_.apply_feasibility_polishing_if_solver_is_interrupted_ = false;
4342 _impl_._has_bits_[0] &= ~0x00000800u;
4343}
4345 // @@protoc_insertion_point(field_get:operations_research.pdlp.PrimalDualHybridGradientParams.apply_feasibility_polishing_if_solver_is_interrupted)
4346 return _internal_apply_feasibility_polishing_if_solver_is_interrupted();
4347}
4349 _internal_set_apply_feasibility_polishing_if_solver_is_interrupted(value);
4350 _impl_._has_bits_[0] |= 0x00000800u;
4351 // @@protoc_insertion_point(field_set:operations_research.pdlp.PrimalDualHybridGradientParams.apply_feasibility_polishing_if_solver_is_interrupted)
4353inline bool PrimalDualHybridGradientParams::_internal_apply_feasibility_polishing_if_solver_is_interrupted() const {
4354 ::google::protobuf::internal::TSanRead(&_impl_);
4355 return _impl_.apply_feasibility_polishing_if_solver_is_interrupted_;
4357inline void PrimalDualHybridGradientParams::_internal_set_apply_feasibility_polishing_if_solver_is_interrupted(bool value) {
4358 ::google::protobuf::internal::TSanWrite(&_impl_);
4359 _impl_.apply_feasibility_polishing_if_solver_is_interrupted_ = value;
4360}
4362#ifdef __GNUC__
4363#pragma GCC diagnostic pop
4364#endif // __GNUC__
4366// @@protoc_insertion_point(namespace_scope)
4367} // namespace pdlp
4368} // namespace operations_research
4369
4370
4371namespace google {
4372namespace protobuf {
4373
4374template <>
4375struct is_proto_enum<::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy> : std::true_type {};
4376template <>
4378 return ::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy_descriptor();
4379}
4380template <>
4381struct is_proto_enum<::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule> : std::true_type {};
4382template <>
4384 return ::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule_descriptor();
4385}
4386template <>
4387struct is_proto_enum<::operations_research::pdlp::OptimalityNorm> : std::true_type {};
4388template <>
4389inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::pdlp::OptimalityNorm>() {
4390 return ::operations_research::pdlp::OptimalityNorm_descriptor();
4391}
4392template <>
4393struct is_proto_enum<::operations_research::pdlp::SchedulerType> : std::true_type {};
4394template <>
4395inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::pdlp::SchedulerType>() {
4396 return ::operations_research::pdlp::SchedulerType_descriptor();
4397}
4399} // namespace protobuf
4400} // namespace google
4401
4402// @@protoc_insertion_point(global_scope)
4403
4404#include "google/protobuf/port_undef.inc"
4405
4406#endif // ortools_2fpdlp_2fsolvers_2eproto_2epb_2eh
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition solvers.pb.h:976
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void Swap(AdaptiveLinesearchParams *PROTOBUF_NONNULL other)
void MergeFrom(const AdaptiveLinesearchParams &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
Definition solvers.pb.h:985
AdaptiveLinesearchParams & operator=(const AdaptiveLinesearchParams &from)
Definition solvers.pb.h:962
friend void swap(AdaptiveLinesearchParams &a, AdaptiveLinesearchParams &b)
Definition solvers.pb.h:999
AdaptiveLinesearchParams *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
bool has_step_size_growth_exponent() const
optional double step_size_growth_exponent = 2 [default = 0.6];
void CopyFrom(const AdaptiveLinesearchParams &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
Definition solvers.pb.h:988
bool has_step_size_reduction_exponent() const
optional double step_size_reduction_exponent = 1 [default = 0.3];
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
friend class ::google::protobuf::MessageLite
Definition solvers.pb.h:913
MalitskyPockParams & operator=(const MalitskyPockParams &from)
Definition solvers.pb.h:743
friend void swap(MalitskyPockParams &a, MalitskyPockParams &b)
Definition solvers.pb.h:780
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:757
PROTOBUF_CONSTEXPR MalitskyPockParams(::google::protobuf::internal::ConstantInitialized)
bool has_step_size_downscaling_factor() const
optional double step_size_downscaling_factor = 1 [default = 0.7];
static const MalitskyPockParams & default_instance()
Definition solvers.pb.h:775
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition solvers.pb.h:761
void Swap(MalitskyPockParams *PROTOBUF_NONNULL other)
Definition solvers.pb.h:781
bool has_linesearch_contraction_factor() const
optional double linesearch_contraction_factor = 2 [default = 0.99];
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
Definition solvers.pb.h:766
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
Definition solvers.pb.h:769
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
bool has_step_size_interpolation() const
optional double step_size_interpolation = 3 [default = 1];
void MergeFrom(const MalitskyPockParams &from)
Definition solvers.pb.h:803
::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
implements Message -------------------------------------------—
static const PrimalDualHybridGradientParams_PresolveOptions & default_instance()
bool has_glop_parameters() const
optional .operations_research.glop.GlopParameters glop_parameters = 2;
::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)
bool has_adaptive_linesearch_parameters() const
optional .operations_research.pdlp.AdaptiveLinesearchParams adaptive_linesearch_parameters = 18;
bool has_l_inf_ruiz_iterations() const
optional int32 l_inf_ruiz_iterations = 9 [default = 5];
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
bool has_termination_check_frequency() const
optional int32 termination_check_frequency = 5 [default = 64];
bool has_malitsky_pock_parameters() const
optional .operations_research.pdlp.MalitskyPockParams malitsky_pock_parameters = 19;
bool has_initial_primal_weight() const
optional double initial_primal_weight = 8;
void unsafe_arena_set_allocated_adaptive_linesearch_parameters(::operations_research::pdlp::AdaptiveLinesearchParams *PROTOBUF_NULLABLE value)
static constexpr RestartStrategy EVERY_MAJOR_ITERATION
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()
bool has_apply_feasibility_polishing_after_limits_reached() const
optional bool apply_feasibility_polishing_after_limits_reached = 33 [default = false];
const ::operations_research::pdlp::MalitskyPockParams & malitsky_pock_parameters() const
bool has_use_feasibility_polishing() const
optional bool use_feasibility_polishing = 30 [default = false];
::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
bool has_record_iteration_stats() const
optional bool record_iteration_stats = 3;
int random_projection_seeds_size() const
repeated int32 random_projection_seeds = 28 [packed = true];
void set_restart_strategy(::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy value)
bool has_apply_feasibility_polishing_if_solver_is_interrupted() const
optional bool apply_feasibility_polishing_if_solver_is_interrupted = 34 [default = false];
bool has_primal_weight_update_smoothing() const
optional double primal_weight_update_smoothing = 7 [default = 0.5];
void set_allocated_malitsky_pock_parameters(::operations_research::pdlp::MalitskyPockParams *PROTOBUF_NULLABLE value)
bool has_diagonal_qp_trust_region_solver_tolerance() const
optional double diagonal_qp_trust_region_solver_tolerance = 24 [default = 1e-08];
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
bool has_num_shards() const
optional int32 num_shards = 27 [default = 0];
::operations_research::pdlp::AdaptiveLinesearchParams *PROTOBUF_NULLABLE unsafe_arena_release_adaptive_linesearch_parameters()
static bool RestartStrategy_Parse(::absl::string_view name, RestartStrategy *PROTOBUF_NONNULL value)
static constexpr RestartStrategy ADAPTIVE_DISTANCE_BASED
::operations_research::pdlp::AdaptiveLinesearchParams *PROTOBUF_NONNULL mutable_adaptive_linesearch_parameters()
bool has_initial_step_size_scaling() const
optional double initial_step_size_scaling = 25 [default = 1];
PrimalDualHybridGradientParams *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
bool has_log_interval_seconds() const
optional double log_interval_seconds = 31 [default = 0];
bool has_necessary_reduction_for_restart() const
optional double necessary_reduction_for_restart = 17 [default = 0.9];
void set_allocated_presolve_options(::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions *PROTOBUF_NULLABLE value)
bool has_use_diagonal_qp_trust_region_solver() const
optional bool use_diagonal_qp_trust_region_solver = 23 [default = false];
::google::protobuf::RepeatedField<::int32_t > *PROTOBUF_NONNULL mutable_random_projection_seeds()
::operations_research::pdlp::MalitskyPockParams *PROTOBUF_NULLABLE unsafe_arena_release_malitsky_pock_parameters()
static constexpr RestartStrategy RESTART_STRATEGY_UNSPECIFIED
bool has_sufficient_reduction_for_restart() const
optional double sufficient_reduction_for_restart = 11 [default = 0.1];
::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()
bool has_l2_norm_rescaling() const
optional bool l2_norm_rescaling = 10 [default = true];
bool has_major_iteration_frequency() const
optional int32 major_iteration_frequency = 4 [default = 64];
void set_linesearch_rule(::operations_research::pdlp::PrimalDualHybridGradientParams_LinesearchRule value)
::operations_research::pdlp::PrimalDualHybridGradientParams_RestartStrategy restart_strategy() const
PrimalDualHybridGradientParams_RestartStrategy RestartStrategy
bool has_infinite_constraint_bound_threshold() const
optional double infinite_constraint_bound_threshold = 22 [default = inf];
::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()
bool has_linesearch_rule() const
optional .operations_research.pdlp.PrimalDualHybridGradientParams.LinesearchRule linesearch_rule = 12...
const ::operations_research::pdlp::PrimalDualHybridGradientParams_PresolveOptions & presolve_options() const
friend void swap(PrimalDualHybridGradientParams &a, PrimalDualHybridGradientParams &b)
bool has_verbosity_level() const
optional int32 verbosity_level = 26 [default = 0];
bool has_restart_strategy() const
optional .operations_research.pdlp.PrimalDualHybridGradientParams.RestartStrategy restart_strategy = ...
void set_allocated_termination_criteria(::operations_research::pdlp::TerminationCriteria *PROTOBUF_NULLABLE value)
bool has_num_threads() const
optional int32 num_threads = 2 [default = 1];
bool has_scheduler_type() const
optional .operations_research.pdlp.SchedulerType scheduler_type = 32 [default = SCHEDULER_TYPE_GOOGLE...
bool has_presolve_options() const
optional .operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions presolve_options = ...
PrimalDualHybridGradientParams_PresolveOptions PresolveOptions
nested types -------------------------------------------------—
void Swap(PrimalDualHybridGradientParams *PROTOBUF_NONNULL other)
bool has_handle_some_primal_gradients_on_finite_bounds_as_residuals() const
optional bool handle_some_primal_gradients_on_finite_bounds_as_residuals = 29 [default = true];
::google::protobuf::Metadata GetMetadata() const
bool has_termination_criteria() const
optional .operations_research.pdlp.TerminationCriteria termination_criteria = 1;
::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:545
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
bool has_eps_optimal_objective_gap_relative() const
optional double eps_optimal_objective_gap_relative = 6 [default = 1e-06];
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
Definition solvers.pb.h:511
bool has_eps_optimal_primal_residual_absolute() const
optional double eps_optimal_primal_residual_absolute = 1 [default = 1e-06];
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition solvers.pb.h:499
static const TerminationCriteria_DetailedOptimalityCriteria & default_instance()
Definition solvers.pb.h:517
TerminationCriteria_DetailedOptimalityCriteria & operator=(const TerminationCriteria_DetailedOptimalityCriteria &from)
Definition solvers.pb.h:485
::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)
bool has_eps_optimal_dual_residual_relative() const
optional double eps_optimal_dual_residual_relative = 4 [default = 1e-06];
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
Definition solvers.pb.h:514
void Swap(TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NONNULL other)
Definition solvers.pb.h:523
bool has_eps_optimal_dual_residual_absolute() const
optional double eps_optimal_dual_residual_absolute = 3 [default = 1e-06];
PROTOBUF_CONSTEXPR TerminationCriteria_DetailedOptimalityCriteria(::google::protobuf::internal::ConstantInitialized)
bool has_eps_optimal_objective_gap_absolute() const
optional double eps_optimal_objective_gap_absolute = 5 [default = 1e-06];
bool has_eps_optimal_primal_residual_relative() const
optional double eps_optimal_primal_residual_relative = 2 [default = 1e-06];
TerminationCriteria_SimpleOptimalityCriteria & operator=(const TerminationCriteria_SimpleOptimalityCriteria &from)
Definition solvers.pb.h:279
void Swap(TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NONNULL other)
Definition solvers.pb.h:317
TerminationCriteria_SimpleOptimalityCriteria(::google::protobuf::Arena *PROTOBUF_NULLABLE arena, TerminationCriteria_SimpleOptimalityCriteria &&from) noexcept
Definition solvers.pb.h:384
PROTOBUF_CONSTEXPR TerminationCriteria_SimpleOptimalityCriteria(::google::protobuf::internal::ConstantInitialized)
bool has_eps_optimal_relative() const
optional double eps_optimal_relative = 2 [default = 1e-06];
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
bool has_eps_optimal_absolute() const
optional double eps_optimal_absolute = 1 [default = 1e-06];
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)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
bool has_eps_primal_infeasible() const
optional double eps_primal_infeasible = 4 [default = 1e-08];
::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NONNULL mutable_detailed_optimality_criteria()
friend void swap(TerminationCriteria &a, TerminationCriteria &b)
bool has_time_sec_limit() const
optional double time_sec_limit = 6 [default = inf];
void set_allocated_simple_optimality_criteria(::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE value)
bool has_eps_optimal_absolute() const
optional double eps_optimal_absolute = 2 [default = 1e-06, deprecated = true];
::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)
bool has_detailed_optimality_criteria() const
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria...
const ::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria & simple_optimality_criteria() const
void MergeFrom(const TerminationCriteria &from)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
::google::protobuf::Metadata GetMetadata() const
bool has_simple_optimality_criteria() const
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9...
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()
TerminationCriteria_DetailedOptimalityCriteria DetailedOptimalityCriteria
bool has_eps_optimal_relative() const
optional double eps_optimal_relative = 3 [default = 1e-06, deprecated = true];
::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE unsafe_arena_release_simple_optimality_criteria()
bool has_optimality_norm() const
optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
bool has_iteration_limit() const
optional int32 iteration_limit = 7 [default = 2147483647];
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
OptimalityCriteriaCase optimality_criteria_case() const
void Swap(TerminationCriteria *PROTOBUF_NONNULL other)
bool has_eps_dual_infeasible() const
optional double eps_dual_infeasible = 5 [default = 1e-08];
TerminationCriteria *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
TerminationCriteria_SimpleOptimalityCriteria SimpleOptimalityCriteria
nested types -------------------------------------------------—
::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE release_simple_optimality_criteria()
bool has_kkt_matrix_pass_limit() const
optional double kkt_matrix_pass_limit = 8 [default = inf];
friend class ::google::protobuf::Arena
::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_
Validation utilities for solvers.proto.
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_
In SWIG mode, we don't want anything besides these top-level includes.
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fpdlp_2fsolvers_2eproto
Internal implementation detail – do not use these members.
Definition solvers.pb.h:51
::operations_research::pdlp::TerminationCriteria_SimpleOptimalityCriteria *PROTOBUF_NULLABLE simple_optimality_criteria_
::operations_research::pdlp::TerminationCriteria_DetailedOptimalityCriteria *PROTOBUF_NULLABLE detailed_optimality_criteria_