Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
bop_parameters.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/bop/bop_parameters.proto
4// Protobuf C++ Version: 6.31.1
5
6#ifndef ortools_2fbop_2fbop_5fparameters_2eproto_2epb_2eh
7#define ortools_2fbop_2fbop_5fparameters_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"
33// @@protoc_insertion_point(includes)
34
35// Must be included last.
36#include "google/protobuf/port_def.inc"
37
38#define PROTOBUF_INTERNAL_EXPORT_ortools_2fbop_2fbop_5fparameters_2eproto OR_PROTO_DLL
39
40namespace google {
41namespace protobuf {
42namespace internal {
43template <typename T>
44::absl::string_view GetAnyMessageName();
45} // namespace internal
46} // namespace protobuf
47} // namespace google
48
49// Internal implementation detail -- do not use these members.
51 static const ::uint32_t offsets[];
52};
53extern "C" {
54OR_PROTO_DLL extern const ::google::protobuf::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto;
55} // extern "C"
56namespace operations_research {
57namespace bop {
59OR_PROTO_DLL extern const uint32_t BopOptimizerMethod_OptimizerType_internal_data_[];
61OR_PROTO_DLL extern const uint32_t BopParameters_ThreadSynchronizationType_internal_data_[];
65OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BopOptimizerMethod_class_data_;
66class BopParameters;
69OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BopParameters_class_data_;
73OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BopSolverOptimizerSet_class_data_;
74} // namespace bop
75} // namespace operations_research
76namespace google {
77namespace protobuf {
78template <>
79internal::EnumTraitsT<::operations_research::bop::BopOptimizerMethod_OptimizerType_internal_data_>
80 internal::EnumTraitsImpl::value<::operations_research::bop::BopOptimizerMethod_OptimizerType>;
81template <>
82internal::EnumTraitsT<::operations_research::bop::BopParameters_ThreadSynchronizationType_internal_data_>
83 internal::EnumTraitsImpl::value<::operations_research::bop::BopParameters_ThreadSynchronizationType>;
84} // namespace protobuf
85} // namespace google
86
87namespace operations_research {
88namespace bop {
106
107OR_PROTO_DLL extern const uint32_t BopOptimizerMethod_OptimizerType_internal_data_[];
109 static_cast<BopOptimizerMethod_OptimizerType>(0);
111 static_cast<BopOptimizerMethod_OptimizerType>(17);
113 return 0 <= value && value <= 17 && ((252863u >> value) & 1) != 0;
114}
116OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL BopOptimizerMethod_OptimizerType_descriptor();
117template <typename T>
118const ::std::string& BopOptimizerMethod_OptimizerType_Name(T value) {
119 static_assert(::std::is_same<T, BopOptimizerMethod_OptimizerType>::value ||
120 ::std::is_integral<T>::value,
121 "Incorrect type passed to OptimizerType_Name().");
123}
124template <>
126 return ::google::protobuf::internal::NameOfDenseEnum<BopOptimizerMethod_OptimizerType_descriptor, 0, 17>(
127 static_cast<int>(value));
128}
130 ::absl::string_view name, BopOptimizerMethod_OptimizerType* PROTOBUF_NONNULL value) {
131 return ::google::protobuf::internal::ParseNamedEnum<BopOptimizerMethod_OptimizerType>(BopOptimizerMethod_OptimizerType_descriptor(), name,
132 value);
133}
139
140OR_PROTO_DLL extern const uint32_t BopParameters_ThreadSynchronizationType_internal_data_[];
146 return 0 <= value && value <= 2;
147}
149OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL BopParameters_ThreadSynchronizationType_descriptor();
150template <typename T>
151const ::std::string& BopParameters_ThreadSynchronizationType_Name(T value) {
152 static_assert(::std::is_same<T, BopParameters_ThreadSynchronizationType>::value ||
153 ::std::is_integral<T>::value,
154 "Incorrect type passed to ThreadSynchronizationType_Name().");
156}
157template <>
159 return ::google::protobuf::internal::NameOfDenseEnum<BopParameters_ThreadSynchronizationType_descriptor, 0, 2>(
160 static_cast<int>(value));
161}
163 ::absl::string_view name, BopParameters_ThreadSynchronizationType* PROTOBUF_NONNULL value) {
164 return ::google::protobuf::internal::ParseNamedEnum<BopParameters_ThreadSynchronizationType>(BopParameters_ThreadSynchronizationType_descriptor(), name,
165 value);
166}
167
168// ===================================================================
169
170
171// -------------------------------------------------------------------
172
173class OR_PROTO_DLL BopOptimizerMethod final : public ::google::protobuf::Message
174/* @@protoc_insertion_point(class_definition:operations_research.bop.BopOptimizerMethod) */ {
175 public:
176 inline BopOptimizerMethod() : BopOptimizerMethod(nullptr) {}
177 ~BopOptimizerMethod() PROTOBUF_FINAL;
179#if defined(PROTOBUF_CUSTOM_VTABLE)
180 void operator delete(BopOptimizerMethod* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
181 SharedDtor(*msg);
182 ::google::protobuf::internal::SizedDelete(msg, sizeof(BopOptimizerMethod));
183 }
184#endif
185
186 template <typename = void>
187 explicit PROTOBUF_CONSTEXPR BopOptimizerMethod(::google::protobuf::internal::ConstantInitialized);
188
189 inline BopOptimizerMethod(const BopOptimizerMethod& from) : BopOptimizerMethod(nullptr, from) {}
190 inline BopOptimizerMethod(BopOptimizerMethod&& from) noexcept
191 : BopOptimizerMethod(nullptr, ::std::move(from)) {}
193 CopyFrom(from);
194 return *this;
195 }
196 inline BopOptimizerMethod& operator=(BopOptimizerMethod&& from) noexcept {
197 if (this == &from) return *this;
198 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
199 InternalSwap(&from);
200 } else {
201 CopyFrom(from);
202 }
203 return *this;
204 }
205
206 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
207 ABSL_ATTRIBUTE_LIFETIME_BOUND {
208 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
209 }
210 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
211 ABSL_ATTRIBUTE_LIFETIME_BOUND {
212 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
213 }
214
215 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
216 return GetDescriptor();
218 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
219 return default_instance().GetMetadata().descriptor;
221 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
222 return default_instance().GetMetadata().reflection;
224 static const BopOptimizerMethod& default_instance() {
225 return *reinterpret_cast<const BopOptimizerMethod*>(
227 }
228 static constexpr int kIndexInFileMessages = 0;
229 friend void swap(BopOptimizerMethod& a, BopOptimizerMethod& b) { a.Swap(&b); }
230 inline void Swap(BopOptimizerMethod* PROTOBUF_NONNULL other) {
231 if (other == this) return;
232 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
233 InternalSwap(other);
234 } else {
235 ::google::protobuf::internal::GenericSwap(this, other);
236 }
237 }
238 void UnsafeArenaSwap(BopOptimizerMethod* PROTOBUF_NONNULL other) {
239 if (other == this) return;
240 ABSL_DCHECK(GetArena() == other->GetArena());
241 InternalSwap(other);
242 }
243
244 // implements Message ----------------------------------------------
245
246 BopOptimizerMethod* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
247 return ::google::protobuf::Message::DefaultConstruct<BopOptimizerMethod>(arena);
249 using ::google::protobuf::Message::CopyFrom;
250 void CopyFrom(const BopOptimizerMethod& from);
251 using ::google::protobuf::Message::MergeFrom;
252 void MergeFrom(const BopOptimizerMethod& from) { BopOptimizerMethod::MergeImpl(*this, from); }
253
254 private:
255 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
256 const ::google::protobuf::MessageLite& from_msg);
257
258 public:
259 bool IsInitialized() const {
260 return true;
262 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
263 #if defined(PROTOBUF_CUSTOM_VTABLE)
264 private:
265 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
266 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
267 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
268 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
269
270 public:
271 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
272 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
273 ::uint8_t* PROTOBUF_NONNULL target,
274 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
275 return _InternalSerialize(*this, target, stream);
276 }
277 #else // PROTOBUF_CUSTOM_VTABLE
278 ::size_t ByteSizeLong() const final;
279 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
280 ::uint8_t* PROTOBUF_NONNULL target,
281 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
282 #endif // PROTOBUF_CUSTOM_VTABLE
283 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
284
285 private:
286 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
287 static void SharedDtor(MessageLite& self);
288 void InternalSwap(BopOptimizerMethod* PROTOBUF_NONNULL other);
289 private:
290 template <typename T>
291 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
292 static ::absl::string_view FullMessageName() { return "operations_research.bop.BopOptimizerMethod"; }
293
294 protected:
295 explicit BopOptimizerMethod(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
296 BopOptimizerMethod(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BopOptimizerMethod& from);
298 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BopOptimizerMethod&& from) noexcept
300 *this = ::std::move(from);
301 }
302 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
303 static void* PROTOBUF_NONNULL PlacementNew_(
304 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
305 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
306 static constexpr auto InternalNewImpl_();
307
308 public:
309 static constexpr auto InternalGenerateClassData_();
310
311 ::google::protobuf::Metadata GetMetadata() const;
312 // nested types ----------------------------------------------------
313 using OptimizerType = BopOptimizerMethod_OptimizerType;
314 static constexpr OptimizerType SAT_CORE_BASED = BopOptimizerMethod_OptimizerType_SAT_CORE_BASED;
329 static inline bool OptimizerType_IsValid(int value) {
332 static constexpr OptimizerType OptimizerType_MIN = BopOptimizerMethod_OptimizerType_OptimizerType_MIN;
333 static constexpr OptimizerType OptimizerType_MAX = BopOptimizerMethod_OptimizerType_OptimizerType_MAX;
335 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL OptimizerType_descriptor() {
338 template <typename T>
339 static inline const ::std::string& OptimizerType_Name(T value) {
342 static inline bool OptimizerType_Parse(
343 ::absl::string_view name, OptimizerType* PROTOBUF_NONNULL value) {
345 }
346
347 // accessors -------------------------------------------------------
348 enum : int {
349 kTypeFieldNumber = 1,
350 };
351 // optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
352 bool has_type() const;
353 void clear_type() ;
356
357 private:
360
361 public:
362 // @@protoc_insertion_point(class_scope:operations_research.bop.BopOptimizerMethod)
363 private:
364 class _Internal;
365 friend class ::google::protobuf::internal::TcParser;
366 static const ::google::protobuf::internal::TcParseTable<0, 1,
367 1, 0,
368 2>
369 _table_;
370
371 friend class ::google::protobuf::MessageLite;
372 friend class ::google::protobuf::Arena;
373 template <typename T>
374 friend class ::google::protobuf::Arena::InternalHelper;
375 using InternalArenaConstructable_ = void;
376 using DestructorSkippable_ = void;
377 struct Impl_ {
378 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
379 inline explicit Impl_(
380 ::google::protobuf::internal::InternalVisibility visibility,
381 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
382 inline explicit Impl_(
383 ::google::protobuf::internal::InternalVisibility visibility,
384 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
385 const BopOptimizerMethod& from_msg);
386 ::google::protobuf::internal::HasBits<1> _has_bits_;
387 ::google::protobuf::internal::CachedSize _cached_size_;
388 int type_;
389 PROTOBUF_TSAN_DECLARE_MEMBER
390 };
391 union { Impl_ _impl_; };
392 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
395OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BopOptimizerMethod_class_data_;
396// -------------------------------------------------------------------
397
398class OR_PROTO_DLL BopSolverOptimizerSet final : public ::google::protobuf::Message
399/* @@protoc_insertion_point(class_definition:operations_research.bop.BopSolverOptimizerSet) */ {
400 public:
402 ~BopSolverOptimizerSet() PROTOBUF_FINAL;
403
404#if defined(PROTOBUF_CUSTOM_VTABLE)
405 void operator delete(BopSolverOptimizerSet* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
406 SharedDtor(*msg);
407 ::google::protobuf::internal::SizedDelete(msg, sizeof(BopSolverOptimizerSet));
408 }
409#endif
410
411 template <typename = void>
412 explicit PROTOBUF_CONSTEXPR BopSolverOptimizerSet(::google::protobuf::internal::ConstantInitialized);
413
414 inline BopSolverOptimizerSet(const BopSolverOptimizerSet& from) : BopSolverOptimizerSet(nullptr, from) {}
416 : BopSolverOptimizerSet(nullptr, ::std::move(from)) {}
418 CopyFrom(from);
419 return *this;
421 inline BopSolverOptimizerSet& operator=(BopSolverOptimizerSet&& from) noexcept {
422 if (this == &from) return *this;
423 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
424 InternalSwap(&from);
425 } else {
426 CopyFrom(from);
427 }
428 return *this;
429 }
430
431 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
432 ABSL_ATTRIBUTE_LIFETIME_BOUND {
433 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
435 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
436 ABSL_ATTRIBUTE_LIFETIME_BOUND {
437 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
439
440 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
441 return GetDescriptor();
442 }
443 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
444 return default_instance().GetMetadata().descriptor;
445 }
446 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
447 return default_instance().GetMetadata().reflection;
448 }
450 return *reinterpret_cast<const BopSolverOptimizerSet*>(
453 static constexpr int kIndexInFileMessages = 1;
454 friend void swap(BopSolverOptimizerSet& a, BopSolverOptimizerSet& b) { a.Swap(&b); }
455 inline void Swap(BopSolverOptimizerSet* PROTOBUF_NONNULL other) {
456 if (other == this) return;
457 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
458 InternalSwap(other);
459 } else {
460 ::google::protobuf::internal::GenericSwap(this, other);
461 }
462 }
463 void UnsafeArenaSwap(BopSolverOptimizerSet* PROTOBUF_NONNULL other) {
464 if (other == this) return;
465 ABSL_DCHECK(GetArena() == other->GetArena());
466 InternalSwap(other);
467 }
468
469 // implements Message ----------------------------------------------
470
471 BopSolverOptimizerSet* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
472 return ::google::protobuf::Message::DefaultConstruct<BopSolverOptimizerSet>(arena);
473 }
474 using ::google::protobuf::Message::CopyFrom;
475 void CopyFrom(const BopSolverOptimizerSet& from);
476 using ::google::protobuf::Message::MergeFrom;
477 void MergeFrom(const BopSolverOptimizerSet& from) { BopSolverOptimizerSet::MergeImpl(*this, from); }
478
479 private:
480 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
481 const ::google::protobuf::MessageLite& from_msg);
482
483 public:
484 bool IsInitialized() const {
485 return true;
486 }
487 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
488 #if defined(PROTOBUF_CUSTOM_VTABLE)
489 private:
490 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
491 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
492 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
493 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
494
495 public:
496 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
497 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
498 ::uint8_t* PROTOBUF_NONNULL target,
499 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
500 return _InternalSerialize(*this, target, stream);
501 }
502 #else // PROTOBUF_CUSTOM_VTABLE
503 ::size_t ByteSizeLong() const final;
504 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
505 ::uint8_t* PROTOBUF_NONNULL target,
506 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
507 #endif // PROTOBUF_CUSTOM_VTABLE
508 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
509
510 private:
511 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
512 static void SharedDtor(MessageLite& self);
513 void InternalSwap(BopSolverOptimizerSet* PROTOBUF_NONNULL other);
514 private:
515 template <typename T>
516 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
517 static ::absl::string_view FullMessageName() { return "operations_research.bop.BopSolverOptimizerSet"; }
518
519 protected:
520 explicit BopSolverOptimizerSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
521 BopSolverOptimizerSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BopSolverOptimizerSet& from);
523 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BopSolverOptimizerSet&& from) noexcept
524 : BopSolverOptimizerSet(arena) {
525 *this = ::std::move(from);
526 }
527 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
528 static void* PROTOBUF_NONNULL PlacementNew_(
529 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
530 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
531 static constexpr auto InternalNewImpl_();
532
533 public:
534 static constexpr auto InternalGenerateClassData_();
535
536 ::google::protobuf::Metadata GetMetadata() const;
537 // nested types ----------------------------------------------------
538
539 // accessors -------------------------------------------------------
540 enum : int {
541 kMethodsFieldNumber = 1,
542 };
543 // repeated .operations_research.bop.BopOptimizerMethod methods = 1;
544 int methods_size() const;
545 private:
546 int _internal_methods_size() const;
547
548 public:
549 void clear_methods() ;
551 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL mutable_methods();
552
553 private:
554 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>& _internal_methods() const;
555 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL _internal_mutable_methods();
556 public:
557 const ::operations_research::bop::BopOptimizerMethod& methods(int index) const;
559 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>& methods() const;
560 // @@protoc_insertion_point(class_scope:operations_research.bop.BopSolverOptimizerSet)
561 private:
562 class _Internal;
563 friend class ::google::protobuf::internal::TcParser;
564 static const ::google::protobuf::internal::TcParseTable<0, 1,
565 1, 0,
566 2>
567 _table_;
568
569 friend class ::google::protobuf::MessageLite;
570 friend class ::google::protobuf::Arena;
571 template <typename T>
572 friend class ::google::protobuf::Arena::InternalHelper;
573 using InternalArenaConstructable_ = void;
574 using DestructorSkippable_ = void;
575 struct Impl_ {
576 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
577 inline explicit Impl_(
578 ::google::protobuf::internal::InternalVisibility visibility,
579 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
580 inline explicit Impl_(
581 ::google::protobuf::internal::InternalVisibility visibility,
582 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
583 const BopSolverOptimizerSet& from_msg);
584 ::google::protobuf::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
585 ::google::protobuf::internal::CachedSize _cached_size_;
586 PROTOBUF_TSAN_DECLARE_MEMBER
587 };
588 union { Impl_ _impl_; };
589 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
590};
592OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BopSolverOptimizerSet_class_data_;
593// -------------------------------------------------------------------
594
595class OR_PROTO_DLL BopParameters final : public ::google::protobuf::Message
596/* @@protoc_insertion_point(class_definition:operations_research.bop.BopParameters) */ {
597 public:
598 inline BopParameters() : BopParameters(nullptr) {}
599 ~BopParameters() PROTOBUF_FINAL;
600
601#if defined(PROTOBUF_CUSTOM_VTABLE)
602 void operator delete(BopParameters* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
603 SharedDtor(*msg);
604 ::google::protobuf::internal::SizedDelete(msg, sizeof(BopParameters));
605 }
606#endif
607
608 template <typename = void>
609 explicit PROTOBUF_CONSTEXPR BopParameters(::google::protobuf::internal::ConstantInitialized);
610
611 inline BopParameters(const BopParameters& from) : BopParameters(nullptr, from) {}
612 inline BopParameters(BopParameters&& from) noexcept
613 : BopParameters(nullptr, ::std::move(from)) {}
614 inline BopParameters& operator=(const BopParameters& from) {
615 CopyFrom(from);
616 return *this;
617 }
618 inline BopParameters& operator=(BopParameters&& from) noexcept {
619 if (this == &from) return *this;
620 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
621 InternalSwap(&from);
622 } else {
623 CopyFrom(from);
624 }
625 return *this;
626 }
627
628 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
629 ABSL_ATTRIBUTE_LIFETIME_BOUND {
630 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
631 }
632 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
633 ABSL_ATTRIBUTE_LIFETIME_BOUND {
634 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
635 }
637 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
638 return GetDescriptor();
639 }
640 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
641 return default_instance().GetMetadata().descriptor;
642 }
643 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
644 return default_instance().GetMetadata().reflection;
645 }
646 static const BopParameters& default_instance() {
647 return *reinterpret_cast<const BopParameters*>(
649 }
650 static constexpr int kIndexInFileMessages = 2;
651 friend void swap(BopParameters& a, BopParameters& b) { a.Swap(&b); }
652 inline void Swap(BopParameters* PROTOBUF_NONNULL other) {
653 if (other == this) return;
654 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
655 InternalSwap(other);
656 } else {
657 ::google::protobuf::internal::GenericSwap(this, other);
658 }
659 }
660 void UnsafeArenaSwap(BopParameters* PROTOBUF_NONNULL other) {
661 if (other == this) return;
662 ABSL_DCHECK(GetArena() == other->GetArena());
663 InternalSwap(other);
665
666 // implements Message ----------------------------------------------
667
668 BopParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
669 return ::google::protobuf::Message::DefaultConstruct<BopParameters>(arena);
670 }
671 using ::google::protobuf::Message::CopyFrom;
672 void CopyFrom(const BopParameters& from);
673 using ::google::protobuf::Message::MergeFrom;
674 void MergeFrom(const BopParameters& from) { BopParameters::MergeImpl(*this, from); }
675
676 private:
677 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
678 const ::google::protobuf::MessageLite& from_msg);
679
680 public:
681 bool IsInitialized() const {
682 return true;
683 }
684 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
685 #if defined(PROTOBUF_CUSTOM_VTABLE)
686 private:
687 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
688 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
689 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
690 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
691
692 public:
693 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
694 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
695 ::uint8_t* PROTOBUF_NONNULL target,
696 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
697 return _InternalSerialize(*this, target, stream);
698 }
699 #else // PROTOBUF_CUSTOM_VTABLE
700 ::size_t ByteSizeLong() const final;
701 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
702 ::uint8_t* PROTOBUF_NONNULL target,
703 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
704 #endif // PROTOBUF_CUSTOM_VTABLE
705 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
706
707 private:
708 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
709 static void SharedDtor(MessageLite& self);
710 void InternalSwap(BopParameters* PROTOBUF_NONNULL other);
711 private:
712 template <typename T>
713 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
714 static ::absl::string_view FullMessageName() { return "operations_research.bop.BopParameters"; }
715
716 protected:
717 explicit BopParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
718 BopParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BopParameters& from);
720 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BopParameters&& from) noexcept
721 : BopParameters(arena) {
722 *this = ::std::move(from);
724 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
725 static void* PROTOBUF_NONNULL PlacementNew_(
726 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
727 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
728 static constexpr auto InternalNewImpl_();
729
730 public:
731 static constexpr auto InternalGenerateClassData_();
732
733 ::google::protobuf::Metadata GetMetadata() const;
734 // nested types ----------------------------------------------------
735 using ThreadSynchronizationType = BopParameters_ThreadSynchronizationType;
736 static constexpr ThreadSynchronizationType NO_SYNCHRONIZATION = BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION;
737 static constexpr ThreadSynchronizationType SYNCHRONIZE_ALL = BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ALL;
738 static constexpr ThreadSynchronizationType SYNCHRONIZE_ON_RIGHT = BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT;
739 static inline bool ThreadSynchronizationType_IsValid(int value) {
748 template <typename T>
749 static inline const ::std::string& ThreadSynchronizationType_Name(T value) {
751 }
752 static inline bool ThreadSynchronizationType_Parse(
753 ::absl::string_view name, ThreadSynchronizationType* PROTOBUF_NONNULL value) {
755 }
757 // accessors -------------------------------------------------------
758 enum : int {
796 };
797 // repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
799 private:
800 int _internal_solver_optimizer_sets_size() const;
801
802 public:
805 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL mutable_solver_optimizer_sets();
806
807 private:
808 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>& _internal_solver_optimizer_sets() const;
809 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL _internal_mutable_solver_optimizer_sets();
810 public:
811 const ::operations_research::bop::BopSolverOptimizerSet& solver_optimizer_sets(int index) const;
813 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>& solver_optimizer_sets() const;
814 // optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];
817 const ::std::string& default_solver_optimizer_sets() const;
818 template <typename Arg_ = const ::std::string&, typename... Args_>
819 void set_default_solver_optimizer_sets(Arg_&& arg, Args_... args);
820 ::std::string* PROTOBUF_NONNULL mutable_default_solver_optimizer_sets();
821 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_default_solver_optimizer_sets();
822 void set_allocated_default_solver_optimizer_sets(::std::string* PROTOBUF_NULLABLE value);
824 private:
825 const ::std::string& _internal_default_solver_optimizer_sets() const;
826 PROTOBUF_ALWAYS_INLINE void _internal_set_default_solver_optimizer_sets(const ::std::string& value);
827 ::std::string* PROTOBUF_NONNULL _internal_mutable_default_solver_optimizer_sets();
828
829 public:
830 // optional bool prune_search_tree = 4 [default = false];
831 bool has_prune_search_tree() const;
833 bool prune_search_tree() const;
834 void set_prune_search_tree(bool value);
835
836 private:
837 bool _internal_prune_search_tree() const;
838 void _internal_set_prune_search_tree(bool value);
839
840 public:
841 // optional bool sort_constraints_by_num_terms = 5 [default = false];
845 void set_sort_constraints_by_num_terms(bool value);
846
847 private:
848 bool _internal_sort_constraints_by_num_terms() const;
849 void _internal_set_sort_constraints_by_num_terms(bool value);
850
851 public:
852 // optional bool log_search_progress = 14 [default = false];
853 bool has_log_search_progress() const;
855 bool log_search_progress() const;
856 void set_log_search_progress(bool value);
857
858 private:
859 bool _internal_log_search_progress() const;
860 void _internal_set_log_search_progress(bool value);
861
862 public:
863 // optional bool use_symmetry = 17 [default = false];
864 bool has_use_symmetry() const;
865 void clear_use_symmetry() ;
866 bool use_symmetry() const;
867 void set_use_symmetry(bool value);
868
869 private:
870 bool _internal_use_symmetry() const;
871 void _internal_set_use_symmetry(bool value);
872
873 public:
874 // optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
875 bool has_synchronization_type() const;
879
880 private:
881 ::operations_research::bop::BopParameters_ThreadSynchronizationType _internal_synchronization_type() const;
882 void _internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value);
883
884 public:
885 // optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
890
891 private:
892 ::int32_t _internal_max_number_of_consecutive_failing_optimizer_calls() const;
893 void _internal_set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value);
894
895 public:
896 // optional bool use_lp_strong_branching = 29 [default = false];
897 bool has_use_lp_strong_branching() const;
899 bool use_lp_strong_branching() const;
900 void set_use_lp_strong_branching(bool value);
901
902 private:
903 bool _internal_use_lp_strong_branching() const;
904 void _internal_set_use_lp_strong_branching(bool value);
905
906 public:
907 // optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
912
913 private:
914 bool _internal_use_potential_one_flip_repairs_in_ls() const;
915 void _internal_set_use_potential_one_flip_repairs_in_ls(bool value);
916
917 public:
918 // optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
923
924 private:
925 bool _internal_exploit_symmetry_in_sat_first_solution() const;
926 void _internal_set_exploit_symmetry_in_sat_first_solution(bool value);
927
928 public:
929 // optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
934
935 private:
936 double _internal_decomposed_problem_min_time_in_seconds() const;
937 void _internal_set_decomposed_problem_min_time_in_seconds(double value);
938
939 public:
940 // optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
944 void set_max_lp_solve_for_feasibility_problems(::int32_t value);
945
946 private:
947 ::int32_t _internal_max_lp_solve_for_feasibility_problems() const;
948 void _internal_set_max_lp_solve_for_feasibility_problems(::int32_t value);
949
950 public:
951 // optional double max_time_in_seconds = 1 [default = inf];
952 bool has_max_time_in_seconds() const;
954 double max_time_in_seconds() const;
955 void set_max_time_in_seconds(double value);
956
957 private:
958 double _internal_max_time_in_seconds() const;
959 void _internal_set_max_time_in_seconds(double value);
960
961 public:
962 // optional int32 max_num_decisions_in_ls = 2 [default = 4];
963 bool has_max_num_decisions_in_ls() const;
965 ::int32_t max_num_decisions_in_ls() const;
966 void set_max_num_decisions_in_ls(::int32_t value);
967
968 private:
969 ::int32_t _internal_max_num_decisions_in_ls() const;
970 void _internal_set_max_num_decisions_in_ls(::int32_t value);
971
972 public:
973 // optional int32 random_seed = 7 [default = 8];
974 bool has_random_seed() const;
975 void clear_random_seed() ;
976 ::int32_t random_seed() const;
977 void set_random_seed(::int32_t value);
978
979 private:
980 ::int32_t _internal_random_seed() const;
981 void _internal_set_random_seed(::int32_t value);
982
983 public:
984 // optional int32 num_relaxed_vars = 8 [default = 10];
985 bool has_num_relaxed_vars() const;
987 ::int32_t num_relaxed_vars() const;
988 void set_num_relaxed_vars(::int32_t value);
989
990 private:
991 ::int32_t _internal_num_relaxed_vars() const;
992 void _internal_set_num_relaxed_vars(::int32_t value);
993
994 public:
995 // optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
999 void set_max_number_of_conflicts_in_random_lns(::int32_t value);
1000
1001 private:
1002 ::int32_t _internal_max_number_of_conflicts_in_random_lns() const;
1003 void _internal_set_max_number_of_conflicts_in_random_lns(::int32_t value);
1004
1005 public:
1006 // optional bool compute_estimated_impact = 3 [default = true];
1007 bool has_compute_estimated_impact() const;
1009 bool compute_estimated_impact() const;
1010 void set_compute_estimated_impact(bool value);
1011
1012 private:
1013 bool _internal_compute_estimated_impact() const;
1014 void _internal_set_compute_estimated_impact(bool value);
1015
1016 public:
1017 // optional bool use_random_lns = 6 [default = true];
1018 bool has_use_random_lns() const;
1019 void clear_use_random_lns() ;
1020 bool use_random_lns() const;
1021 void set_use_random_lns(bool value);
1022
1023 private:
1024 bool _internal_use_random_lns() const;
1025 void _internal_set_use_random_lns(bool value);
1026
1027 public:
1028 // optional bool use_lp_lns = 12 [default = true];
1029 bool has_use_lp_lns() const;
1030 void clear_use_lp_lns() ;
1031 bool use_lp_lns() const;
1032 void set_use_lp_lns(bool value);
1033
1034 private:
1035 bool _internal_use_lp_lns() const;
1036 void _internal_set_use_lp_lns(bool value);
1037
1038 public:
1039 // optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
1044
1045 private:
1046 bool _internal_use_sat_to_choose_lns_neighbourhood() const;
1047 void _internal_set_use_sat_to_choose_lns_neighbourhood(bool value);
1048
1049 public:
1050 // optional int32 num_random_lns_tries = 10 [default = 1];
1051 bool has_num_random_lns_tries() const;
1053 ::int32_t num_random_lns_tries() const;
1054 void set_num_random_lns_tries(::int32_t value);
1055
1056 private:
1057 ::int32_t _internal_num_random_lns_tries() const;
1058 void _internal_set_num_random_lns_tries(::int32_t value);
1059
1060 public:
1061 // optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1064 ::int64_t max_number_of_backtracks_in_ls() const;
1065 void set_max_number_of_backtracks_in_ls(::int64_t value);
1066
1067 private:
1068 ::int64_t _internal_max_number_of_backtracks_in_ls() const;
1069 void _internal_set_max_number_of_backtracks_in_ls(::int64_t value);
1070
1071 public:
1072 // optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1076 void set_max_number_of_conflicts_for_quick_check(::int32_t value);
1077
1078 private:
1079 ::int32_t _internal_max_number_of_conflicts_for_quick_check() const;
1080 void _internal_set_max_number_of_conflicts_for_quick_check(::int32_t value);
1081
1082 public:
1083 // optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
1088
1089 private:
1090 ::int32_t _internal_max_number_of_conflicts_in_random_solution_generation() const;
1091 void _internal_set_max_number_of_conflicts_in_random_solution_generation(::int32_t value);
1092
1093 public:
1094 // optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
1099
1100 private:
1101 ::int64_t _internal_max_number_of_explored_assignments_per_try_in_ls() const;
1102 void _internal_set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value);
1103
1104 public:
1105 // optional bool use_transposition_table_in_ls = 22 [default = true];
1108 bool use_transposition_table_in_ls() const;
1109 void set_use_transposition_table_in_ls(bool value);
1110
1111 private:
1112 bool _internal_use_transposition_table_in_ls() const;
1113 void _internal_set_use_transposition_table_in_ls(bool value);
1114
1115 public:
1116 // optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
1120 void set_use_learned_binary_clauses_in_lp(bool value);
1121
1122 private:
1123 bool _internal_use_learned_binary_clauses_in_lp() const;
1124 void _internal_set_use_learned_binary_clauses_in_lp(bool value);
1125
1126 public:
1127 // optional int32 number_of_solvers = 24 [default = 1];
1128 bool has_number_of_solvers() const;
1130 ::int32_t number_of_solvers() const;
1131 void set_number_of_solvers(::int32_t value);
1132
1133 private:
1134 ::int32_t _internal_number_of_solvers() const;
1135 void _internal_set_number_of_solvers(::int32_t value);
1136
1137 public:
1138 // optional double max_deterministic_time = 27 [default = inf];
1139 bool has_max_deterministic_time() const;
1141 double max_deterministic_time() const;
1142 void set_max_deterministic_time(double value);
1143
1144 private:
1145 double _internal_max_deterministic_time() const;
1146 void _internal_set_max_deterministic_time(double value);
1147
1148 public:
1149 // optional double relative_gap_limit = 28 [default = 0.0001];
1150 bool has_relative_gap_limit() const;
1152 double relative_gap_limit() const;
1153 void set_relative_gap_limit(double value);
1154
1155 private:
1156 double _internal_relative_gap_limit() const;
1157 void _internal_set_relative_gap_limit(double value);
1158
1159 public:
1160 // optional int32 decomposer_num_variables_threshold = 30 [default = 50];
1163 ::int32_t decomposer_num_variables_threshold() const;
1164 void set_decomposer_num_variables_threshold(::int32_t value);
1165
1166 private:
1167 ::int32_t _internal_decomposer_num_variables_threshold() const;
1168 void _internal_set_decomposer_num_variables_threshold(::int32_t value);
1169
1170 public:
1171 // optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
1174 ::int32_t num_bop_solvers_used_by_decomposition() const;
1175 void set_num_bop_solvers_used_by_decomposition(::int32_t value);
1176
1177 private:
1178 ::int32_t _internal_num_bop_solvers_used_by_decomposition() const;
1179 void _internal_set_num_bop_solvers_used_by_decomposition(::int32_t value);
1180
1181 public:
1182 // optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
1183 bool has_guided_sat_conflicts_chunk() const;
1185 ::int32_t guided_sat_conflicts_chunk() const;
1186 void set_guided_sat_conflicts_chunk(::int32_t value);
1187
1188 private:
1189 ::int32_t _internal_guided_sat_conflicts_chunk() const;
1190 void _internal_set_guided_sat_conflicts_chunk(::int32_t value);
1191
1192 public:
1193 // optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1196 ::int32_t max_num_broken_constraints_in_ls() const;
1197 void set_max_num_broken_constraints_in_ls(::int32_t value);
1198
1199 private:
1200 ::int32_t _internal_max_num_broken_constraints_in_ls() const;
1201 void _internal_set_max_num_broken_constraints_in_ls(::int32_t value);
1202
1203 public:
1204 // optional double lp_max_deterministic_time = 37 [default = 1];
1205 bool has_lp_max_deterministic_time() const;
1207 double lp_max_deterministic_time() const;
1208 void set_lp_max_deterministic_time(double value);
1209
1210 private:
1211 double _internal_lp_max_deterministic_time() const;
1212 void _internal_set_lp_max_deterministic_time(double value);
1213
1214 public:
1215 // @@protoc_insertion_point(class_scope:operations_research.bop.BopParameters)
1216 private:
1217 class _Internal;
1218 friend class ::google::protobuf::internal::TcParser;
1219 static const ::google::protobuf::internal::TcParseTable<5, 37,
1220 2, 107,
1221 7>
1222 _table_;
1223
1224 friend class ::google::protobuf::MessageLite;
1225 friend class ::google::protobuf::Arena;
1226 template <typename T>
1227 friend class ::google::protobuf::Arena::InternalHelper;
1228 using InternalArenaConstructable_ = void;
1229 using DestructorSkippable_ = void;
1230 struct Impl_ {
1231 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1232 inline explicit Impl_(
1233 ::google::protobuf::internal::InternalVisibility visibility,
1234 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1235 inline explicit Impl_(
1236 ::google::protobuf::internal::InternalVisibility visibility,
1237 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1238 const BopParameters& from_msg);
1239 ::google::protobuf::internal::HasBits<2> _has_bits_;
1240 ::google::protobuf::internal::CachedSize _cached_size_;
1241 ::google::protobuf::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1242 static const ::google::protobuf::internal::LazyString _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_;
1243 ::google::protobuf::internal::ArenaStringPtr default_solver_optimizer_sets_;
1244 bool prune_search_tree_;
1245 bool sort_constraints_by_num_terms_;
1246 bool log_search_progress_;
1247 bool use_symmetry_;
1248 int synchronization_type_;
1249 ::int32_t max_number_of_consecutive_failing_optimizer_calls_;
1250 bool use_lp_strong_branching_;
1251 bool use_potential_one_flip_repairs_in_ls_;
1252 bool exploit_symmetry_in_sat_first_solution_;
1253 double decomposed_problem_min_time_in_seconds_;
1254 ::int32_t max_lp_solve_for_feasibility_problems_;
1255 double max_time_in_seconds_;
1256 ::int32_t max_num_decisions_in_ls_;
1257 ::int32_t random_seed_;
1258 ::int32_t num_relaxed_vars_;
1259 ::int32_t max_number_of_conflicts_in_random_lns_;
1260 bool compute_estimated_impact_;
1261 bool use_random_lns_;
1262 bool use_lp_lns_;
1263 bool use_sat_to_choose_lns_neighbourhood_;
1264 ::int32_t num_random_lns_tries_;
1265 ::int64_t max_number_of_backtracks_in_ls_;
1266 ::int32_t max_number_of_conflicts_for_quick_check_;
1267 ::int32_t max_number_of_conflicts_in_random_solution_generation_;
1268 ::int64_t max_number_of_explored_assignments_per_try_in_ls_;
1269 bool use_transposition_table_in_ls_;
1270 bool use_learned_binary_clauses_in_lp_;
1271 ::int32_t number_of_solvers_;
1272 double max_deterministic_time_;
1273 double relative_gap_limit_;
1274 ::int32_t decomposer_num_variables_threshold_;
1275 ::int32_t num_bop_solvers_used_by_decomposition_;
1276 ::int32_t guided_sat_conflicts_chunk_;
1277 ::int32_t max_num_broken_constraints_in_ls_;
1278 double lp_max_deterministic_time_;
1279 PROTOBUF_TSAN_DECLARE_MEMBER
1280 };
1281 union { Impl_ _impl_; };
1282 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1283};
1284
1285OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BopParameters_class_data_;
1287// ===================================================================
1288
1289
1290
1291
1292// ===================================================================
1293
1294
1295#ifdef __GNUC__
1296#pragma GCC diagnostic push
1297#pragma GCC diagnostic ignored "-Wstrict-aliasing"
1298#endif // __GNUC__
1299// -------------------------------------------------------------------
1300
1301// BopOptimizerMethod
1302
1303// optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
1304inline bool BopOptimizerMethod::has_type() const {
1305 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
1306 return value;
1307}
1308inline void BopOptimizerMethod::clear_type() {
1309 ::google::protobuf::internal::TSanWrite(&_impl_);
1310 _impl_.type_ = 0;
1311 _impl_._has_bits_[0] &= ~0x00000001u;
1312}
1313inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::type() const {
1314 // @@protoc_insertion_point(field_get:operations_research.bop.BopOptimizerMethod.type)
1315 return _internal_type();
1316}
1318 _internal_set_type(value);
1319 _impl_._has_bits_[0] |= 0x00000001u;
1320 // @@protoc_insertion_point(field_set:operations_research.bop.BopOptimizerMethod.type)
1321}
1322inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::_internal_type() const {
1323 ::google::protobuf::internal::TSanRead(&_impl_);
1325}
1326inline void BopOptimizerMethod::_internal_set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value) {
1327 ::google::protobuf::internal::TSanWrite(&_impl_);
1328
1329 assert(::google::protobuf::internal::ValidateEnum(
1331 _impl_.type_ = value;
1332}
1333
1334// -------------------------------------------------------------------
1335
1336// BopSolverOptimizerSet
1337
1338// repeated .operations_research.bop.BopOptimizerMethod methods = 1;
1339inline int BopSolverOptimizerSet::_internal_methods_size() const {
1340 return _internal_methods().size();
1341}
1342inline int BopSolverOptimizerSet::methods_size() const {
1343 return _internal_methods_size();
1344}
1346 ::google::protobuf::internal::TSanWrite(&_impl_);
1347 _impl_.methods_.Clear();
1348}
1349inline ::operations_research::bop::BopOptimizerMethod* PROTOBUF_NONNULL BopSolverOptimizerSet::mutable_methods(int index)
1350 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1351 // @@protoc_insertion_point(field_mutable:operations_research.bop.BopSolverOptimizerSet.methods)
1352 return _internal_mutable_methods()->Mutable(index);
1354inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL BopSolverOptimizerSet::mutable_methods()
1355 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1356 // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopSolverOptimizerSet.methods)
1357 ::google::protobuf::internal::TSanWrite(&_impl_);
1358 return _internal_mutable_methods();
1359}
1360inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::methods(int index) const
1361 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1362 // @@protoc_insertion_point(field_get:operations_research.bop.BopSolverOptimizerSet.methods)
1363 return _internal_methods().Get(index);
1364}
1365inline ::operations_research::bop::BopOptimizerMethod* PROTOBUF_NONNULL BopSolverOptimizerSet::add_methods()
1366 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1367 ::google::protobuf::internal::TSanWrite(&_impl_);
1368 ::operations_research::bop::BopOptimizerMethod* _add = _internal_mutable_methods()->Add();
1369 // @@protoc_insertion_point(field_add:operations_research.bop.BopSolverOptimizerSet.methods)
1370 return _add;
1371}
1372inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>& BopSolverOptimizerSet::methods() const
1373 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1374 // @@protoc_insertion_point(field_list:operations_research.bop.BopSolverOptimizerSet.methods)
1375 return _internal_methods();
1376}
1377inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>&
1378BopSolverOptimizerSet::_internal_methods() const {
1379 ::google::protobuf::internal::TSanRead(&_impl_);
1380 return _impl_.methods_;
1381}
1382inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL
1383BopSolverOptimizerSet::_internal_mutable_methods() {
1384 ::google::protobuf::internal::TSanRead(&_impl_);
1385 return &_impl_.methods_;
1386}
1387
1388// -------------------------------------------------------------------
1389
1390// BopParameters
1391
1392// optional double max_time_in_seconds = 1 [default = inf];
1393inline bool BopParameters::has_max_time_in_seconds() const {
1394 bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
1395 return value;
1396}
1398 ::google::protobuf::internal::TSanWrite(&_impl_);
1399 _impl_.max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1400 _impl_._has_bits_[0] &= ~0x00001000u;
1401}
1403 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_time_in_seconds)
1404 return _internal_max_time_in_seconds();
1405}
1407 _internal_set_max_time_in_seconds(value);
1408 _impl_._has_bits_[0] |= 0x00001000u;
1409 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_time_in_seconds)
1410}
1411inline double BopParameters::_internal_max_time_in_seconds() const {
1412 ::google::protobuf::internal::TSanRead(&_impl_);
1413 return _impl_.max_time_in_seconds_;
1414}
1415inline void BopParameters::_internal_set_max_time_in_seconds(double value) {
1416 ::google::protobuf::internal::TSanWrite(&_impl_);
1417 _impl_.max_time_in_seconds_ = value;
1418}
1419
1420// optional double max_deterministic_time = 27 [default = inf];
1422 bool value = (_impl_._has_bits_[0] & 0x20000000u) != 0;
1423 return value;
1424}
1426 ::google::protobuf::internal::TSanWrite(&_impl_);
1427 _impl_.max_deterministic_time_ = std::numeric_limits<double>::infinity();
1428 _impl_._has_bits_[0] &= ~0x20000000u;
1429}
1431 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_deterministic_time)
1432 return _internal_max_deterministic_time();
1433}
1435 _internal_set_max_deterministic_time(value);
1436 _impl_._has_bits_[0] |= 0x20000000u;
1437 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_deterministic_time)
1438}
1439inline double BopParameters::_internal_max_deterministic_time() const {
1440 ::google::protobuf::internal::TSanRead(&_impl_);
1441 return _impl_.max_deterministic_time_;
1442}
1443inline void BopParameters::_internal_set_max_deterministic_time(double value) {
1444 ::google::protobuf::internal::TSanWrite(&_impl_);
1445 _impl_.max_deterministic_time_ = value;
1446}
1447
1448// optional double lp_max_deterministic_time = 37 [default = 1];
1450 bool value = (_impl_._has_bits_[1] & 0x00000008u) != 0;
1451 return value;
1452}
1454 ::google::protobuf::internal::TSanWrite(&_impl_);
1455 _impl_.lp_max_deterministic_time_ = 1;
1456 _impl_._has_bits_[1] &= ~0x00000008u;
1457}
1459 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.lp_max_deterministic_time)
1460 return _internal_lp_max_deterministic_time();
1461}
1463 _internal_set_lp_max_deterministic_time(value);
1464 _impl_._has_bits_[1] |= 0x00000008u;
1465 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.lp_max_deterministic_time)
1466}
1467inline double BopParameters::_internal_lp_max_deterministic_time() const {
1468 ::google::protobuf::internal::TSanRead(&_impl_);
1469 return _impl_.lp_max_deterministic_time_;
1470}
1471inline void BopParameters::_internal_set_lp_max_deterministic_time(double value) {
1472 ::google::protobuf::internal::TSanWrite(&_impl_);
1473 _impl_.lp_max_deterministic_time_ = value;
1474}
1475
1476// optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
1478 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
1479 return value;
1480}
1482 ::google::protobuf::internal::TSanWrite(&_impl_);
1483 _impl_.max_number_of_consecutive_failing_optimizer_calls_ = 0;
1484 _impl_._has_bits_[0] &= ~0x00000040u;
1485}
1487 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1488 return _internal_max_number_of_consecutive_failing_optimizer_calls();
1489}
1491 _internal_set_max_number_of_consecutive_failing_optimizer_calls(value);
1492 _impl_._has_bits_[0] |= 0x00000040u;
1493 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1494}
1495inline ::int32_t BopParameters::_internal_max_number_of_consecutive_failing_optimizer_calls() const {
1496 ::google::protobuf::internal::TSanRead(&_impl_);
1497 return _impl_.max_number_of_consecutive_failing_optimizer_calls_;
1498}
1499inline void BopParameters::_internal_set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value) {
1500 ::google::protobuf::internal::TSanWrite(&_impl_);
1501 _impl_.max_number_of_consecutive_failing_optimizer_calls_ = value;
1502}
1503
1504// optional double relative_gap_limit = 28 [default = 0.0001];
1505inline bool BopParameters::has_relative_gap_limit() const {
1506 bool value = (_impl_._has_bits_[0] & 0x40000000u) != 0;
1507 return value;
1508}
1510 ::google::protobuf::internal::TSanWrite(&_impl_);
1511 _impl_.relative_gap_limit_ = 0.0001;
1512 _impl_._has_bits_[0] &= ~0x40000000u;
1513}
1515 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.relative_gap_limit)
1516 return _internal_relative_gap_limit();
1517}
1518inline void BopParameters::set_relative_gap_limit(double value) {
1519 _internal_set_relative_gap_limit(value);
1520 _impl_._has_bits_[0] |= 0x40000000u;
1521 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.relative_gap_limit)
1522}
1523inline double BopParameters::_internal_relative_gap_limit() const {
1524 ::google::protobuf::internal::TSanRead(&_impl_);
1525 return _impl_.relative_gap_limit_;
1526}
1527inline void BopParameters::_internal_set_relative_gap_limit(double value) {
1528 ::google::protobuf::internal::TSanWrite(&_impl_);
1529 _impl_.relative_gap_limit_ = value;
1530}
1531
1532// optional int32 max_num_decisions_in_ls = 2 [default = 4];
1534 bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
1535 return value;
1536}
1538 ::google::protobuf::internal::TSanWrite(&_impl_);
1539 _impl_.max_num_decisions_in_ls_ = 4;
1540 _impl_._has_bits_[0] &= ~0x00002000u;
1541}
1543 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1544 return _internal_max_num_decisions_in_ls();
1545}
1547 _internal_set_max_num_decisions_in_ls(value);
1548 _impl_._has_bits_[0] |= 0x00002000u;
1549 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1550}
1551inline ::int32_t BopParameters::_internal_max_num_decisions_in_ls() const {
1552 ::google::protobuf::internal::TSanRead(&_impl_);
1553 return _impl_.max_num_decisions_in_ls_;
1554}
1555inline void BopParameters::_internal_set_max_num_decisions_in_ls(::int32_t value) {
1556 ::google::protobuf::internal::TSanWrite(&_impl_);
1557 _impl_.max_num_decisions_in_ls_ = value;
1558}
1559
1560// optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1562 bool value = (_impl_._has_bits_[1] & 0x00000004u) != 0;
1563 return value;
1564}
1566 ::google::protobuf::internal::TSanWrite(&_impl_);
1567 _impl_.max_num_broken_constraints_in_ls_ = 2147483647;
1568 _impl_._has_bits_[1] &= ~0x00000004u;
1569}
1571 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1572 return _internal_max_num_broken_constraints_in_ls();
1573}
1575 _internal_set_max_num_broken_constraints_in_ls(value);
1576 _impl_._has_bits_[1] |= 0x00000004u;
1577 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1578}
1579inline ::int32_t BopParameters::_internal_max_num_broken_constraints_in_ls() const {
1580 ::google::protobuf::internal::TSanRead(&_impl_);
1581 return _impl_.max_num_broken_constraints_in_ls_;
1582}
1583inline void BopParameters::_internal_set_max_num_broken_constraints_in_ls(::int32_t value) {
1584 ::google::protobuf::internal::TSanWrite(&_impl_);
1585 _impl_.max_num_broken_constraints_in_ls_ = value;
1586}
1587
1588// optional bool log_search_progress = 14 [default = false];
1589inline bool BopParameters::has_log_search_progress() const {
1590 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
1591 return value;
1592}
1594 ::google::protobuf::internal::TSanWrite(&_impl_);
1595 _impl_.log_search_progress_ = false;
1596 _impl_._has_bits_[0] &= ~0x00000008u;
1597}
1599 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.log_search_progress)
1600 return _internal_log_search_progress();
1601}
1603 _internal_set_log_search_progress(value);
1604 _impl_._has_bits_[0] |= 0x00000008u;
1605 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.log_search_progress)
1606}
1607inline bool BopParameters::_internal_log_search_progress() const {
1608 ::google::protobuf::internal::TSanRead(&_impl_);
1609 return _impl_.log_search_progress_;
1610}
1611inline void BopParameters::_internal_set_log_search_progress(bool value) {
1612 ::google::protobuf::internal::TSanWrite(&_impl_);
1613 _impl_.log_search_progress_ = value;
1614}
1615
1616// optional bool compute_estimated_impact = 3 [default = true];
1618 bool value = (_impl_._has_bits_[0] & 0x00020000u) != 0;
1619 return value;
1620}
1622 ::google::protobuf::internal::TSanWrite(&_impl_);
1623 _impl_.compute_estimated_impact_ = true;
1624 _impl_._has_bits_[0] &= ~0x00020000u;
1625}
1627 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.compute_estimated_impact)
1628 return _internal_compute_estimated_impact();
1629}
1631 _internal_set_compute_estimated_impact(value);
1632 _impl_._has_bits_[0] |= 0x00020000u;
1633 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.compute_estimated_impact)
1634}
1635inline bool BopParameters::_internal_compute_estimated_impact() const {
1636 ::google::protobuf::internal::TSanRead(&_impl_);
1637 return _impl_.compute_estimated_impact_;
1638}
1639inline void BopParameters::_internal_set_compute_estimated_impact(bool value) {
1640 ::google::protobuf::internal::TSanWrite(&_impl_);
1641 _impl_.compute_estimated_impact_ = value;
1642}
1643
1644// optional bool prune_search_tree = 4 [default = false];
1645inline bool BopParameters::has_prune_search_tree() const {
1646 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
1647 return value;
1648}
1650 ::google::protobuf::internal::TSanWrite(&_impl_);
1651 _impl_.prune_search_tree_ = false;
1652 _impl_._has_bits_[0] &= ~0x00000002u;
1653}
1655 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.prune_search_tree)
1656 return _internal_prune_search_tree();
1657}
1659 _internal_set_prune_search_tree(value);
1660 _impl_._has_bits_[0] |= 0x00000002u;
1661 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.prune_search_tree)
1662}
1663inline bool BopParameters::_internal_prune_search_tree() const {
1664 ::google::protobuf::internal::TSanRead(&_impl_);
1665 return _impl_.prune_search_tree_;
1666}
1667inline void BopParameters::_internal_set_prune_search_tree(bool value) {
1668 ::google::protobuf::internal::TSanWrite(&_impl_);
1669 _impl_.prune_search_tree_ = value;
1670}
1671
1672// optional bool sort_constraints_by_num_terms = 5 [default = false];
1674 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
1675 return value;
1676}
1678 ::google::protobuf::internal::TSanWrite(&_impl_);
1679 _impl_.sort_constraints_by_num_terms_ = false;
1680 _impl_._has_bits_[0] &= ~0x00000004u;
1681}
1683 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1684 return _internal_sort_constraints_by_num_terms();
1685}
1687 _internal_set_sort_constraints_by_num_terms(value);
1688 _impl_._has_bits_[0] |= 0x00000004u;
1689 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1690}
1691inline bool BopParameters::_internal_sort_constraints_by_num_terms() const {
1692 ::google::protobuf::internal::TSanRead(&_impl_);
1693 return _impl_.sort_constraints_by_num_terms_;
1694}
1695inline void BopParameters::_internal_set_sort_constraints_by_num_terms(bool value) {
1696 ::google::protobuf::internal::TSanWrite(&_impl_);
1697 _impl_.sort_constraints_by_num_terms_ = value;
1698}
1699
1700// optional bool use_random_lns = 6 [default = true];
1701inline bool BopParameters::has_use_random_lns() const {
1702 bool value = (_impl_._has_bits_[0] & 0x00040000u) != 0;
1703 return value;
1704}
1706 ::google::protobuf::internal::TSanWrite(&_impl_);
1707 _impl_.use_random_lns_ = true;
1708 _impl_._has_bits_[0] &= ~0x00040000u;
1709}
1711 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_random_lns)
1712 return _internal_use_random_lns();
1713}
1714inline void BopParameters::set_use_random_lns(bool value) {
1715 _internal_set_use_random_lns(value);
1716 _impl_._has_bits_[0] |= 0x00040000u;
1717 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_random_lns)
1718}
1719inline bool BopParameters::_internal_use_random_lns() const {
1720 ::google::protobuf::internal::TSanRead(&_impl_);
1721 return _impl_.use_random_lns_;
1722}
1723inline void BopParameters::_internal_set_use_random_lns(bool value) {
1724 ::google::protobuf::internal::TSanWrite(&_impl_);
1725 _impl_.use_random_lns_ = value;
1726}
1727
1728// optional int32 random_seed = 7 [default = 8];
1729inline bool BopParameters::has_random_seed() const {
1730 bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
1731 return value;
1732}
1734 ::google::protobuf::internal::TSanWrite(&_impl_);
1735 _impl_.random_seed_ = 8;
1736 _impl_._has_bits_[0] &= ~0x00004000u;
1737}
1738inline ::int32_t BopParameters::random_seed() const {
1739 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.random_seed)
1740 return _internal_random_seed();
1741}
1742inline void BopParameters::set_random_seed(::int32_t value) {
1743 _internal_set_random_seed(value);
1744 _impl_._has_bits_[0] |= 0x00004000u;
1745 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.random_seed)
1746}
1747inline ::int32_t BopParameters::_internal_random_seed() const {
1748 ::google::protobuf::internal::TSanRead(&_impl_);
1749 return _impl_.random_seed_;
1750}
1751inline void BopParameters::_internal_set_random_seed(::int32_t value) {
1752 ::google::protobuf::internal::TSanWrite(&_impl_);
1753 _impl_.random_seed_ = value;
1754}
1755
1756// optional int32 num_relaxed_vars = 8 [default = 10];
1757inline bool BopParameters::has_num_relaxed_vars() const {
1758 bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
1759 return value;
1760}
1762 ::google::protobuf::internal::TSanWrite(&_impl_);
1763 _impl_.num_relaxed_vars_ = 10;
1764 _impl_._has_bits_[0] &= ~0x00008000u;
1765}
1766inline ::int32_t BopParameters::num_relaxed_vars() const {
1767 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_relaxed_vars)
1768 return _internal_num_relaxed_vars();
1769}
1770inline void BopParameters::set_num_relaxed_vars(::int32_t value) {
1771 _internal_set_num_relaxed_vars(value);
1772 _impl_._has_bits_[0] |= 0x00008000u;
1773 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_relaxed_vars)
1774}
1775inline ::int32_t BopParameters::_internal_num_relaxed_vars() const {
1776 ::google::protobuf::internal::TSanRead(&_impl_);
1777 return _impl_.num_relaxed_vars_;
1778}
1779inline void BopParameters::_internal_set_num_relaxed_vars(::int32_t value) {
1780 ::google::protobuf::internal::TSanWrite(&_impl_);
1781 _impl_.num_relaxed_vars_ = value;
1782}
1783
1784// optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
1786 bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
1787 return value;
1788}
1790 ::google::protobuf::internal::TSanWrite(&_impl_);
1791 _impl_.max_number_of_conflicts_in_random_lns_ = 2500;
1792 _impl_._has_bits_[0] &= ~0x00010000u;
1793}
1795 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1796 return _internal_max_number_of_conflicts_in_random_lns();
1797}
1799 _internal_set_max_number_of_conflicts_in_random_lns(value);
1800 _impl_._has_bits_[0] |= 0x00010000u;
1801 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1802}
1803inline ::int32_t BopParameters::_internal_max_number_of_conflicts_in_random_lns() const {
1804 ::google::protobuf::internal::TSanRead(&_impl_);
1805 return _impl_.max_number_of_conflicts_in_random_lns_;
1806}
1807inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_lns(::int32_t value) {
1808 ::google::protobuf::internal::TSanWrite(&_impl_);
1809 _impl_.max_number_of_conflicts_in_random_lns_ = value;
1810}
1811
1812// optional int32 num_random_lns_tries = 10 [default = 1];
1813inline bool BopParameters::has_num_random_lns_tries() const {
1814 bool value = (_impl_._has_bits_[0] & 0x00200000u) != 0;
1815 return value;
1816}
1818 ::google::protobuf::internal::TSanWrite(&_impl_);
1819 _impl_.num_random_lns_tries_ = 1;
1820 _impl_._has_bits_[0] &= ~0x00200000u;
1821}
1822inline ::int32_t BopParameters::num_random_lns_tries() const {
1823 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_random_lns_tries)
1824 return _internal_num_random_lns_tries();
1825}
1826inline void BopParameters::set_num_random_lns_tries(::int32_t value) {
1827 _internal_set_num_random_lns_tries(value);
1828 _impl_._has_bits_[0] |= 0x00200000u;
1829 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_random_lns_tries)
1830}
1831inline ::int32_t BopParameters::_internal_num_random_lns_tries() const {
1832 ::google::protobuf::internal::TSanRead(&_impl_);
1833 return _impl_.num_random_lns_tries_;
1834}
1835inline void BopParameters::_internal_set_num_random_lns_tries(::int32_t value) {
1836 ::google::protobuf::internal::TSanWrite(&_impl_);
1837 _impl_.num_random_lns_tries_ = value;
1838}
1839
1840// optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1842 bool value = (_impl_._has_bits_[0] & 0x00400000u) != 0;
1843 return value;
1844}
1846 ::google::protobuf::internal::TSanWrite(&_impl_);
1847 _impl_.max_number_of_backtracks_in_ls_ = ::int64_t{100000000};
1848 _impl_._has_bits_[0] &= ~0x00400000u;
1849}
1851 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1852 return _internal_max_number_of_backtracks_in_ls();
1853}
1855 _internal_set_max_number_of_backtracks_in_ls(value);
1856 _impl_._has_bits_[0] |= 0x00400000u;
1857 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1858}
1859inline ::int64_t BopParameters::_internal_max_number_of_backtracks_in_ls() const {
1860 ::google::protobuf::internal::TSanRead(&_impl_);
1861 return _impl_.max_number_of_backtracks_in_ls_;
1862}
1863inline void BopParameters::_internal_set_max_number_of_backtracks_in_ls(::int64_t value) {
1864 ::google::protobuf::internal::TSanWrite(&_impl_);
1865 _impl_.max_number_of_backtracks_in_ls_ = value;
1866}
1867
1868// optional bool use_lp_lns = 12 [default = true];
1869inline bool BopParameters::has_use_lp_lns() const {
1870 bool value = (_impl_._has_bits_[0] & 0x00080000u) != 0;
1871 return value;
1872}
1873inline void BopParameters::clear_use_lp_lns() {
1874 ::google::protobuf::internal::TSanWrite(&_impl_);
1875 _impl_.use_lp_lns_ = true;
1876 _impl_._has_bits_[0] &= ~0x00080000u;
1877}
1878inline bool BopParameters::use_lp_lns() const {
1879 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_lns)
1880 return _internal_use_lp_lns();
1881}
1882inline void BopParameters::set_use_lp_lns(bool value) {
1883 _internal_set_use_lp_lns(value);
1884 _impl_._has_bits_[0] |= 0x00080000u;
1885 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_lns)
1886}
1887inline bool BopParameters::_internal_use_lp_lns() const {
1888 ::google::protobuf::internal::TSanRead(&_impl_);
1889 return _impl_.use_lp_lns_;
1890}
1891inline void BopParameters::_internal_set_use_lp_lns(bool value) {
1892 ::google::protobuf::internal::TSanWrite(&_impl_);
1893 _impl_.use_lp_lns_ = value;
1894}
1895
1896// optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
1898 bool value = (_impl_._has_bits_[0] & 0x00100000u) != 0;
1899 return value;
1900}
1902 ::google::protobuf::internal::TSanWrite(&_impl_);
1903 _impl_.use_sat_to_choose_lns_neighbourhood_ = true;
1904 _impl_._has_bits_[0] &= ~0x00100000u;
1905}
1907 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1908 return _internal_use_sat_to_choose_lns_neighbourhood();
1909}
1911 _internal_set_use_sat_to_choose_lns_neighbourhood(value);
1912 _impl_._has_bits_[0] |= 0x00100000u;
1913 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1914}
1915inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood() const {
1916 ::google::protobuf::internal::TSanRead(&_impl_);
1917 return _impl_.use_sat_to_choose_lns_neighbourhood_;
1918}
1919inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(bool value) {
1920 ::google::protobuf::internal::TSanWrite(&_impl_);
1921 _impl_.use_sat_to_choose_lns_neighbourhood_ = value;
1922}
1923
1924// optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1926 bool value = (_impl_._has_bits_[0] & 0x00800000u) != 0;
1927 return value;
1928}
1930 ::google::protobuf::internal::TSanWrite(&_impl_);
1931 _impl_.max_number_of_conflicts_for_quick_check_ = 10;
1932 _impl_._has_bits_[0] &= ~0x00800000u;
1933}
1935 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1936 return _internal_max_number_of_conflicts_for_quick_check();
1937}
1939 _internal_set_max_number_of_conflicts_for_quick_check(value);
1940 _impl_._has_bits_[0] |= 0x00800000u;
1941 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1942}
1943inline ::int32_t BopParameters::_internal_max_number_of_conflicts_for_quick_check() const {
1944 ::google::protobuf::internal::TSanRead(&_impl_);
1945 return _impl_.max_number_of_conflicts_for_quick_check_;
1946}
1947inline void BopParameters::_internal_set_max_number_of_conflicts_for_quick_check(::int32_t value) {
1948 ::google::protobuf::internal::TSanWrite(&_impl_);
1949 _impl_.max_number_of_conflicts_for_quick_check_ = value;
1950}
1951
1952// optional bool use_symmetry = 17 [default = false];
1953inline bool BopParameters::has_use_symmetry() const {
1954 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
1955 return value;
1956}
1958 ::google::protobuf::internal::TSanWrite(&_impl_);
1959 _impl_.use_symmetry_ = false;
1960 _impl_._has_bits_[0] &= ~0x00000010u;
1961}
1962inline bool BopParameters::use_symmetry() const {
1963 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_symmetry)
1964 return _internal_use_symmetry();
1965}
1966inline void BopParameters::set_use_symmetry(bool value) {
1967 _internal_set_use_symmetry(value);
1968 _impl_._has_bits_[0] |= 0x00000010u;
1969 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_symmetry)
1970}
1971inline bool BopParameters::_internal_use_symmetry() const {
1972 ::google::protobuf::internal::TSanRead(&_impl_);
1973 return _impl_.use_symmetry_;
1974}
1975inline void BopParameters::_internal_set_use_symmetry(bool value) {
1976 ::google::protobuf::internal::TSanWrite(&_impl_);
1977 _impl_.use_symmetry_ = value;
1978}
1979
1980// optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
1982 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
1983 return value;
1984}
1986 ::google::protobuf::internal::TSanWrite(&_impl_);
1987 _impl_.exploit_symmetry_in_sat_first_solution_ = false;
1988 _impl_._has_bits_[0] &= ~0x00000200u;
1989}
1991 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
1992 return _internal_exploit_symmetry_in_sat_first_solution();
1993}
1995 _internal_set_exploit_symmetry_in_sat_first_solution(value);
1996 _impl_._has_bits_[0] |= 0x00000200u;
1997 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
1998}
1999inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution() const {
2000 ::google::protobuf::internal::TSanRead(&_impl_);
2001 return _impl_.exploit_symmetry_in_sat_first_solution_;
2002}
2003inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(bool value) {
2004 ::google::protobuf::internal::TSanWrite(&_impl_);
2005 _impl_.exploit_symmetry_in_sat_first_solution_ = value;
2006}
2007
2008// optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
2010 bool value = (_impl_._has_bits_[0] & 0x01000000u) != 0;
2011 return value;
2012}
2014 ::google::protobuf::internal::TSanWrite(&_impl_);
2015 _impl_.max_number_of_conflicts_in_random_solution_generation_ = 500;
2016 _impl_._has_bits_[0] &= ~0x01000000u;
2017}
2019 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
2020 return _internal_max_number_of_conflicts_in_random_solution_generation();
2021}
2023 _internal_set_max_number_of_conflicts_in_random_solution_generation(value);
2024 _impl_._has_bits_[0] |= 0x01000000u;
2025 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
2026}
2027inline ::int32_t BopParameters::_internal_max_number_of_conflicts_in_random_solution_generation() const {
2028 ::google::protobuf::internal::TSanRead(&_impl_);
2029 return _impl_.max_number_of_conflicts_in_random_solution_generation_;
2030}
2031inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_solution_generation(::int32_t value) {
2032 ::google::protobuf::internal::TSanWrite(&_impl_);
2033 _impl_.max_number_of_conflicts_in_random_solution_generation_ = value;
2034}
2035
2036// optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
2038 bool value = (_impl_._has_bits_[0] & 0x02000000u) != 0;
2039 return value;
2040}
2042 ::google::protobuf::internal::TSanWrite(&_impl_);
2043 _impl_.max_number_of_explored_assignments_per_try_in_ls_ = ::int64_t{10000};
2044 _impl_._has_bits_[0] &= ~0x02000000u;
2045}
2047 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
2048 return _internal_max_number_of_explored_assignments_per_try_in_ls();
2049}
2051 _internal_set_max_number_of_explored_assignments_per_try_in_ls(value);
2052 _impl_._has_bits_[0] |= 0x02000000u;
2053 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
2054}
2055inline ::int64_t BopParameters::_internal_max_number_of_explored_assignments_per_try_in_ls() const {
2056 ::google::protobuf::internal::TSanRead(&_impl_);
2057 return _impl_.max_number_of_explored_assignments_per_try_in_ls_;
2058}
2059inline void BopParameters::_internal_set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value) {
2060 ::google::protobuf::internal::TSanWrite(&_impl_);
2061 _impl_.max_number_of_explored_assignments_per_try_in_ls_ = value;
2062}
2063
2064// optional bool use_transposition_table_in_ls = 22 [default = true];
2066 bool value = (_impl_._has_bits_[0] & 0x04000000u) != 0;
2067 return value;
2068}
2070 ::google::protobuf::internal::TSanWrite(&_impl_);
2071 _impl_.use_transposition_table_in_ls_ = true;
2072 _impl_._has_bits_[0] &= ~0x04000000u;
2073}
2075 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2076 return _internal_use_transposition_table_in_ls();
2077}
2079 _internal_set_use_transposition_table_in_ls(value);
2080 _impl_._has_bits_[0] |= 0x04000000u;
2081 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2082}
2083inline bool BopParameters::_internal_use_transposition_table_in_ls() const {
2084 ::google::protobuf::internal::TSanRead(&_impl_);
2085 return _impl_.use_transposition_table_in_ls_;
2086}
2087inline void BopParameters::_internal_set_use_transposition_table_in_ls(bool value) {
2088 ::google::protobuf::internal::TSanWrite(&_impl_);
2089 _impl_.use_transposition_table_in_ls_ = value;
2090}
2091
2092// optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
2094 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
2095 return value;
2096}
2098 ::google::protobuf::internal::TSanWrite(&_impl_);
2099 _impl_.use_potential_one_flip_repairs_in_ls_ = false;
2100 _impl_._has_bits_[0] &= ~0x00000100u;
2101}
2103 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2104 return _internal_use_potential_one_flip_repairs_in_ls();
2105}
2107 _internal_set_use_potential_one_flip_repairs_in_ls(value);
2108 _impl_._has_bits_[0] |= 0x00000100u;
2109 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2110}
2111inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls() const {
2112 ::google::protobuf::internal::TSanRead(&_impl_);
2113 return _impl_.use_potential_one_flip_repairs_in_ls_;
2114}
2115inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(bool value) {
2116 ::google::protobuf::internal::TSanWrite(&_impl_);
2117 _impl_.use_potential_one_flip_repairs_in_ls_ = value;
2118}
2119
2120// optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
2122 bool value = (_impl_._has_bits_[0] & 0x08000000u) != 0;
2123 return value;
2124}
2126 ::google::protobuf::internal::TSanWrite(&_impl_);
2127 _impl_.use_learned_binary_clauses_in_lp_ = true;
2128 _impl_._has_bits_[0] &= ~0x08000000u;
2129}
2131 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2132 return _internal_use_learned_binary_clauses_in_lp();
2133}
2135 _internal_set_use_learned_binary_clauses_in_lp(value);
2136 _impl_._has_bits_[0] |= 0x08000000u;
2137 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2138}
2139inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp() const {
2140 ::google::protobuf::internal::TSanRead(&_impl_);
2141 return _impl_.use_learned_binary_clauses_in_lp_;
2142}
2143inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(bool value) {
2144 ::google::protobuf::internal::TSanWrite(&_impl_);
2145 _impl_.use_learned_binary_clauses_in_lp_ = value;
2146}
2147
2148// optional int32 number_of_solvers = 24 [default = 1];
2149inline bool BopParameters::has_number_of_solvers() const {
2150 bool value = (_impl_._has_bits_[0] & 0x10000000u) != 0;
2151 return value;
2152}
2154 ::google::protobuf::internal::TSanWrite(&_impl_);
2155 _impl_.number_of_solvers_ = 1;
2156 _impl_._has_bits_[0] &= ~0x10000000u;
2157}
2158inline ::int32_t BopParameters::number_of_solvers() const {
2159 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.number_of_solvers)
2160 return _internal_number_of_solvers();
2161}
2162inline void BopParameters::set_number_of_solvers(::int32_t value) {
2163 _internal_set_number_of_solvers(value);
2164 _impl_._has_bits_[0] |= 0x10000000u;
2165 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.number_of_solvers)
2166}
2167inline ::int32_t BopParameters::_internal_number_of_solvers() const {
2168 ::google::protobuf::internal::TSanRead(&_impl_);
2169 return _impl_.number_of_solvers_;
2170}
2171inline void BopParameters::_internal_set_number_of_solvers(::int32_t value) {
2172 ::google::protobuf::internal::TSanWrite(&_impl_);
2173 _impl_.number_of_solvers_ = value;
2174}
2175
2176// optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
2177inline bool BopParameters::has_synchronization_type() const {
2178 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
2179 return value;
2180}
2182 ::google::protobuf::internal::TSanWrite(&_impl_);
2183 _impl_.synchronization_type_ = 0;
2184 _impl_._has_bits_[0] &= ~0x00000020u;
2185}
2186inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::synchronization_type() const {
2187 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.synchronization_type)
2188 return _internal_synchronization_type();
2189}
2191 _internal_set_synchronization_type(value);
2192 _impl_._has_bits_[0] |= 0x00000020u;
2193 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.synchronization_type)
2194}
2195inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::_internal_synchronization_type() const {
2196 ::google::protobuf::internal::TSanRead(&_impl_);
2197 return static_cast<::operations_research::bop::BopParameters_ThreadSynchronizationType>(_impl_.synchronization_type_);
2198}
2199inline void BopParameters::_internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value) {
2200 ::google::protobuf::internal::TSanWrite(&_impl_);
2201
2202 assert(::google::protobuf::internal::ValidateEnum(
2204 _impl_.synchronization_type_ = value;
2205}
2206
2207// repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
2208inline int BopParameters::_internal_solver_optimizer_sets_size() const {
2209 return _internal_solver_optimizer_sets().size();
2210}
2212 return _internal_solver_optimizer_sets_size();
2213}
2215 ::google::protobuf::internal::TSanWrite(&_impl_);
2216 _impl_.solver_optimizer_sets_.Clear();
2217}
2218inline ::operations_research::bop::BopSolverOptimizerSet* PROTOBUF_NONNULL BopParameters::mutable_solver_optimizer_sets(int index)
2219 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2220 // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.solver_optimizer_sets)
2221 return _internal_mutable_solver_optimizer_sets()->Mutable(index);
2222}
2223inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL BopParameters::mutable_solver_optimizer_sets()
2224 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2225 // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2226 ::google::protobuf::internal::TSanWrite(&_impl_);
2227 return _internal_mutable_solver_optimizer_sets();
2228}
2229inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::solver_optimizer_sets(int index) const
2230 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2231 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.solver_optimizer_sets)
2232 return _internal_solver_optimizer_sets().Get(index);
2233}
2234inline ::operations_research::bop::BopSolverOptimizerSet* PROTOBUF_NONNULL BopParameters::add_solver_optimizer_sets()
2235 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2236 ::google::protobuf::internal::TSanWrite(&_impl_);
2237 ::operations_research::bop::BopSolverOptimizerSet* _add = _internal_mutable_solver_optimizer_sets()->Add();
2238 // @@protoc_insertion_point(field_add:operations_research.bop.BopParameters.solver_optimizer_sets)
2239 return _add;
2240}
2241inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>& BopParameters::solver_optimizer_sets() const
2242 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2243 // @@protoc_insertion_point(field_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2244 return _internal_solver_optimizer_sets();
2245}
2246inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>&
2247BopParameters::_internal_solver_optimizer_sets() const {
2248 ::google::protobuf::internal::TSanRead(&_impl_);
2249 return _impl_.solver_optimizer_sets_;
2251inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL
2252BopParameters::_internal_mutable_solver_optimizer_sets() {
2253 ::google::protobuf::internal::TSanRead(&_impl_);
2254 return &_impl_.solver_optimizer_sets_;
2255}
2256
2257// optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS } "];
2259 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2260 return value;
2261}
2263 ::google::protobuf::internal::TSanWrite(&_impl_);
2264 _impl_.default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2265 _impl_._has_bits_[0] &= ~0x00000001u;
2266}
2267inline const ::std::string& BopParameters::default_solver_optimizer_sets() const
2268 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2269 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2270 if (_impl_.default_solver_optimizer_sets_.IsDefault()) {
2271 return Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get();
2272 }
2273 return _internal_default_solver_optimizer_sets();
2274}
2275template <typename Arg_, typename... Args_>
2276PROTOBUF_ALWAYS_INLINE void BopParameters::set_default_solver_optimizer_sets(Arg_&& arg, Args_... args) {
2277 ::google::protobuf::internal::TSanWrite(&_impl_);
2278 _impl_._has_bits_[0] |= 0x00000001u;
2279 _impl_.default_solver_optimizer_sets_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
2280 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2281}
2282inline ::std::string* PROTOBUF_NONNULL BopParameters::mutable_default_solver_optimizer_sets()
2283 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2284 ::std::string* _s = _internal_mutable_default_solver_optimizer_sets();
2285 // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2286 return _s;
2287}
2288inline const ::std::string& BopParameters::_internal_default_solver_optimizer_sets() const {
2289 ::google::protobuf::internal::TSanRead(&_impl_);
2290 return _impl_.default_solver_optimizer_sets_.Get();
2292inline void BopParameters::_internal_set_default_solver_optimizer_sets(const ::std::string& value) {
2293 ::google::protobuf::internal::TSanWrite(&_impl_);
2294 _impl_._has_bits_[0] |= 0x00000001u;
2295 _impl_.default_solver_optimizer_sets_.Set(value, GetArena());
2296}
2297inline ::std::string* PROTOBUF_NONNULL BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2298 ::google::protobuf::internal::TSanWrite(&_impl_);
2299 _impl_._has_bits_[0] |= 0x00000001u;
2300 return _impl_.default_solver_optimizer_sets_.Mutable(::operations_research::bop::BopParameters::Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2301}
2302inline ::std::string* PROTOBUF_NULLABLE BopParameters::release_default_solver_optimizer_sets() {
2303 ::google::protobuf::internal::TSanWrite(&_impl_);
2304 // @@protoc_insertion_point(field_release:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2305 if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
2306 return nullptr;
2307 }
2308 _impl_._has_bits_[0] &= ~0x00000001u;
2309 return _impl_.default_solver_optimizer_sets_.Release();
2310}
2311inline void BopParameters::set_allocated_default_solver_optimizer_sets(::std::string* PROTOBUF_NULLABLE value) {
2312 ::google::protobuf::internal::TSanWrite(&_impl_);
2313 if (value != nullptr) {
2314 _impl_._has_bits_[0] |= 0x00000001u;
2315 } else {
2316 _impl_._has_bits_[0] &= ~0x00000001u;
2317 }
2318 _impl_.default_solver_optimizer_sets_.SetAllocated(value, GetArena());
2319 // @@protoc_insertion_point(field_set_allocated:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2321
2322// optional bool use_lp_strong_branching = 29 [default = false];
2324 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
2325 return value;
2326}
2328 ::google::protobuf::internal::TSanWrite(&_impl_);
2329 _impl_.use_lp_strong_branching_ = false;
2330 _impl_._has_bits_[0] &= ~0x00000080u;
2331}
2333 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_strong_branching)
2334 return _internal_use_lp_strong_branching();
2335}
2337 _internal_set_use_lp_strong_branching(value);
2338 _impl_._has_bits_[0] |= 0x00000080u;
2339 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_strong_branching)
2340}
2341inline bool BopParameters::_internal_use_lp_strong_branching() const {
2342 ::google::protobuf::internal::TSanRead(&_impl_);
2343 return _impl_.use_lp_strong_branching_;
2344}
2345inline void BopParameters::_internal_set_use_lp_strong_branching(bool value) {
2346 ::google::protobuf::internal::TSanWrite(&_impl_);
2347 _impl_.use_lp_strong_branching_ = value;
2348}
2349
2350// optional int32 decomposer_num_variables_threshold = 30 [default = 50];
2352 bool value = (_impl_._has_bits_[0] & 0x80000000u) != 0;
2353 return value;
2354}
2356 ::google::protobuf::internal::TSanWrite(&_impl_);
2357 _impl_.decomposer_num_variables_threshold_ = 50;
2358 _impl_._has_bits_[0] &= ~0x80000000u;
2359}
2361 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2362 return _internal_decomposer_num_variables_threshold();
2363}
2365 _internal_set_decomposer_num_variables_threshold(value);
2366 _impl_._has_bits_[0] |= 0x80000000u;
2367 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2368}
2369inline ::int32_t BopParameters::_internal_decomposer_num_variables_threshold() const {
2370 ::google::protobuf::internal::TSanRead(&_impl_);
2371 return _impl_.decomposer_num_variables_threshold_;
2372}
2373inline void BopParameters::_internal_set_decomposer_num_variables_threshold(::int32_t value) {
2374 ::google::protobuf::internal::TSanWrite(&_impl_);
2375 _impl_.decomposer_num_variables_threshold_ = value;
2376}
2377
2378// optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
2380 bool value = (_impl_._has_bits_[1] & 0x00000001u) != 0;
2381 return value;
2382}
2384 ::google::protobuf::internal::TSanWrite(&_impl_);
2385 _impl_.num_bop_solvers_used_by_decomposition_ = 1;
2386 _impl_._has_bits_[1] &= ~0x00000001u;
2387}
2389 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2390 return _internal_num_bop_solvers_used_by_decomposition();
2391}
2393 _internal_set_num_bop_solvers_used_by_decomposition(value);
2394 _impl_._has_bits_[1] |= 0x00000001u;
2395 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2396}
2397inline ::int32_t BopParameters::_internal_num_bop_solvers_used_by_decomposition() const {
2398 ::google::protobuf::internal::TSanRead(&_impl_);
2399 return _impl_.num_bop_solvers_used_by_decomposition_;
2400}
2401inline void BopParameters::_internal_set_num_bop_solvers_used_by_decomposition(::int32_t value) {
2402 ::google::protobuf::internal::TSanWrite(&_impl_);
2403 _impl_.num_bop_solvers_used_by_decomposition_ = value;
2404}
2405
2406// optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
2408 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
2409 return value;
2410}
2412 ::google::protobuf::internal::TSanWrite(&_impl_);
2413 _impl_.decomposed_problem_min_time_in_seconds_ = 0;
2414 _impl_._has_bits_[0] &= ~0x00000400u;
2415}
2417 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2418 return _internal_decomposed_problem_min_time_in_seconds();
2419}
2421 _internal_set_decomposed_problem_min_time_in_seconds(value);
2422 _impl_._has_bits_[0] |= 0x00000400u;
2423 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2424}
2425inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds() const {
2426 ::google::protobuf::internal::TSanRead(&_impl_);
2427 return _impl_.decomposed_problem_min_time_in_seconds_;
2428}
2429inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(double value) {
2430 ::google::protobuf::internal::TSanWrite(&_impl_);
2431 _impl_.decomposed_problem_min_time_in_seconds_ = value;
2432}
2433
2434// optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
2436 bool value = (_impl_._has_bits_[1] & 0x00000002u) != 0;
2437 return value;
2438}
2440 ::google::protobuf::internal::TSanWrite(&_impl_);
2441 _impl_.guided_sat_conflicts_chunk_ = 1000;
2442 _impl_._has_bits_[1] &= ~0x00000002u;
2443}
2445 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2446 return _internal_guided_sat_conflicts_chunk();
2447}
2449 _internal_set_guided_sat_conflicts_chunk(value);
2450 _impl_._has_bits_[1] |= 0x00000002u;
2451 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2452}
2453inline ::int32_t BopParameters::_internal_guided_sat_conflicts_chunk() const {
2454 ::google::protobuf::internal::TSanRead(&_impl_);
2455 return _impl_.guided_sat_conflicts_chunk_;
2456}
2457inline void BopParameters::_internal_set_guided_sat_conflicts_chunk(::int32_t value) {
2458 ::google::protobuf::internal::TSanWrite(&_impl_);
2459 _impl_.guided_sat_conflicts_chunk_ = value;
2460}
2461
2462// optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
2464 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
2465 return value;
2466}
2468 ::google::protobuf::internal::TSanWrite(&_impl_);
2469 _impl_.max_lp_solve_for_feasibility_problems_ = 0;
2470 _impl_._has_bits_[0] &= ~0x00000800u;
2471}
2473 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2474 return _internal_max_lp_solve_for_feasibility_problems();
2475}
2477 _internal_set_max_lp_solve_for_feasibility_problems(value);
2478 _impl_._has_bits_[0] |= 0x00000800u;
2479 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2480}
2481inline ::int32_t BopParameters::_internal_max_lp_solve_for_feasibility_problems() const {
2482 ::google::protobuf::internal::TSanRead(&_impl_);
2483 return _impl_.max_lp_solve_for_feasibility_problems_;
2484}
2485inline void BopParameters::_internal_set_max_lp_solve_for_feasibility_problems(::int32_t value) {
2486 ::google::protobuf::internal::TSanWrite(&_impl_);
2487 _impl_.max_lp_solve_for_feasibility_problems_ = value;
2488}
2489
2490#ifdef __GNUC__
2491#pragma GCC diagnostic pop
2492#endif // __GNUC__
2493
2494// @@protoc_insertion_point(namespace_scope)
2495} // namespace bop
2496} // namespace operations_research
2497
2498
2499namespace google {
2500namespace protobuf {
2501
2502template <>
2503struct is_proto_enum<::operations_research::bop::BopOptimizerMethod_OptimizerType> : std::true_type {};
2504template <>
2505inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::bop::BopOptimizerMethod_OptimizerType>() {
2506 return ::operations_research::bop::BopOptimizerMethod_OptimizerType_descriptor();
2507}
2508template <>
2509struct is_proto_enum<::operations_research::bop::BopParameters_ThreadSynchronizationType> : std::true_type {};
2510template <>
2512 return ::operations_research::bop::BopParameters_ThreadSynchronizationType_descriptor();
2513}
2515} // namespace protobuf
2516} // namespace google
2517
2518// @@protoc_insertion_point(global_scope)
2519
2520#include "google/protobuf/port_undef.inc"
2521
2522#endif // ortools_2fbop_2fbop_5fparameters_2eproto_2epb_2eh
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto
static constexpr OptimizerType USER_GUIDED_FIRST_SOLUTION
friend class ::google::protobuf::MessageLite
static constexpr OptimizerType COMPLETE_LNS
::operations_research::bop::BopOptimizerMethod_OptimizerType type() const
static constexpr OptimizerType RELATION_GRAPH_LNS_GUIDED_BY_LP
PROTOBUF_CONSTEXPR BopOptimizerMethod(::google::protobuf::internal::ConstantInitialized)
static constexpr OptimizerType SAT_LINEAR_SEARCH
BopOptimizerMethod_OptimizerType OptimizerType
nested types -------------------------------------------------—
static constexpr OptimizerType RANDOM_VARIABLE_LNS_GUIDED_BY_LP
void Swap(BopOptimizerMethod *PROTOBUF_NONNULL other)
static constexpr OptimizerType LINEAR_RELAXATION
static constexpr OptimizerType RANDOM_VARIABLE_LNS
void CopyFrom(const BopOptimizerMethod &from)
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
BopOptimizerMethod(const BopOptimizerMethod &from)
BopOptimizerMethod & operator=(const BopOptimizerMethod &from)
static constexpr OptimizerType OBJECTIVE_FIRST_SOLUTION
bool has_type() const
optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
static constexpr OptimizerType RELATION_GRAPH_LNS
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL OptimizerType_descriptor()
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
static constexpr OptimizerType LP_FIRST_SOLUTION
void set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value)
BopOptimizerMethod(::google::protobuf::Arena *PROTOBUF_NULLABLE arena, BopOptimizerMethod &&from) noexcept
static constexpr OptimizerType RANDOM_FIRST_SOLUTION
static constexpr OptimizerType LOCAL_SEARCH
bool has_synchronization_type() const
optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [...
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
bool has_guided_sat_conflicts_chunk() const
optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
friend class ::google::protobuf::MessageLite
bool has_sort_constraints_by_num_terms() const
optional bool sort_constraints_by_num_terms = 5 [default = false];
bool has_compute_estimated_impact() const
optional bool compute_estimated_impact = 3 [default = true];
bool has_use_potential_one_flip_repairs_in_ls() const
optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
::operations_research::bop::BopSolverOptimizerSet *PROTOBUF_NONNULL add_solver_optimizer_sets()
bool has_max_number_of_explored_assignments_per_try_in_ls() const
optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
bool has_max_number_of_conflicts_in_random_lns() const
optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
void set_max_lp_solve_for_feasibility_problems(::int32_t value)
bool has_max_number_of_conflicts_for_quick_check() const
optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
void set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value)
void set_max_num_broken_constraints_in_ls(::int32_t value)
bool has_max_deterministic_time() const
optional double max_deterministic_time = 27 [default = inf];
::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet > *PROTOBUF_NONNULL mutable_solver_optimizer_sets()
const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet > & solver_optimizer_sets() const
bool has_log_search_progress() const
optional bool log_search_progress = 14 [default = false];
bool has_use_lp_lns() const
optional bool use_lp_lns = 12 [default = true];
void MergeFrom(const BopParameters &from)
void set_max_number_of_conflicts_in_random_solution_generation(::int32_t value)
static constexpr ThreadSynchronizationType ThreadSynchronizationType_MIN
const ::operations_research::bop::BopSolverOptimizerSet & solver_optimizer_sets(int index) const
bool has_number_of_solvers() const
optional int32 number_of_solvers = 24 [default = 1];
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
bool has_max_num_decisions_in_ls() const
optional int32 max_num_decisions_in_ls = 2 [default = 4];
bool has_prune_search_tree() const
optional bool prune_search_tree = 4 [default = false];
void set_max_number_of_conflicts_in_random_lns(::int32_t value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
bool has_max_number_of_backtracks_in_ls() const
optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
void set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value)
bool has_default_solver_optimizer_sets() const
optional string default_solver_optimizer_sets = 33 [default = "methods:{type:LOCAL_SEARCH }...
static bool ThreadSynchronizationType_IsValid(int value)
bool has_max_number_of_conflicts_in_random_solution_generation() const
optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
void set_num_bop_solvers_used_by_decomposition(::int32_t value)
bool has_decomposer_num_variables_threshold() const
optional int32 decomposer_num_variables_threshold = 30 [default = 50];
bool has_num_random_lns_tries() const
optional int32 num_random_lns_tries = 10 [default = 1];
void CopyFrom(const BopParameters &from)
void set_decomposer_num_variables_threshold(::int32_t value)
bool has_num_bop_solvers_used_by_decomposition() const
optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
void set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value)
bool has_random_seed() const
optional int32 random_seed = 7 [default = 8];
bool has_use_random_lns() const
optional bool use_random_lns = 6 [default = true];
void set_max_number_of_backtracks_in_ls(::int64_t value)
bool has_exploit_symmetry_in_sat_first_solution() const
optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
bool has_max_time_in_seconds() const
optional double max_time_in_seconds = 1 [default = inf];
int solver_optimizer_sets_size() const
repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
::int32_t max_number_of_consecutive_failing_optimizer_calls() const
bool has_num_relaxed_vars() const
optional int32 num_relaxed_vars = 8 [default = 10];
static constexpr ThreadSynchronizationType ThreadSynchronizationType_MAX
static const BopParameters & default_instance()
::int32_t max_number_of_conflicts_in_random_solution_generation() const
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL ThreadSynchronizationType_descriptor()
::std::string *PROTOBUF_NULLABLE release_default_solver_optimizer_sets()
BopParameters & operator=(const BopParameters &from)
bool has_max_num_broken_constraints_in_ls() const
optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
void set_default_solver_optimizer_sets(Arg_ &&arg, Args_... args)
bool has_use_symmetry() const
optional bool use_symmetry = 17 [default = false];
bool has_max_number_of_consecutive_failing_optimizer_calls() const
optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
bool has_decomposed_problem_min_time_in_seconds() const
optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
::operations_research::bop::BopSolverOptimizerSet *PROTOBUF_NONNULL mutable_solver_optimizer_sets(int index)
BopParameters_ThreadSynchronizationType ThreadSynchronizationType
nested types -------------------------------------------------—
void set_max_number_of_conflicts_for_quick_check(::int32_t value)
::operations_research::bop::BopParameters_ThreadSynchronizationType synchronization_type() const
void set_allocated_default_solver_optimizer_sets(::std::string *PROTOBUF_NULLABLE value)
bool has_use_sat_to_choose_lns_neighbourhood() const
optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
void Swap(BopParameters *PROTOBUF_NONNULL other)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static const ::std::string & ThreadSynchronizationType_Name(T value)
PROTOBUF_CONSTEXPR BopParameters(::google::protobuf::internal::ConstantInitialized)
bool has_use_transposition_table_in_ls() const
optional bool use_transposition_table_in_ls = 22 [default = true];
friend void swap(BopParameters &a, BopParameters &b)
static constexpr int ThreadSynchronizationType_ARRAYSIZE
bool has_relative_gap_limit() const
optional double relative_gap_limit = 28 [default = 0.0001];
void set_decomposed_problem_min_time_in_seconds(double value)
bool has_max_lp_solve_for_feasibility_problems() const
optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
bool has_use_learned_binary_clauses_in_lp() const
optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
bool has_use_lp_strong_branching() const
optional bool use_lp_strong_branching = 29 [default = false];
::std::string *PROTOBUF_NONNULL mutable_default_solver_optimizer_sets()
::int64_t max_number_of_explored_assignments_per_try_in_ls() const
bool has_lp_max_deterministic_time() const
optional double lp_max_deterministic_time = 37 [default = 1];
const ::std::string & default_solver_optimizer_sets() const
static const BopSolverOptimizerSet & default_instance()
void MergeFrom(const BopSolverOptimizerSet &from)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
int methods_size() const
repeated .operations_research.bop.BopOptimizerMethod methods = 1;
BopSolverOptimizerSet & operator=(const BopSolverOptimizerSet &from)
::operations_research::bop::BopOptimizerMethod *PROTOBUF_NONNULL add_methods()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void Swap(BopSolverOptimizerSet *PROTOBUF_NONNULL other)
const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod > & methods() const
const ::operations_research::bop::BopOptimizerMethod & methods(int index) const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
PROTOBUF_CONSTEXPR BopSolverOptimizerSet(::google::protobuf::internal::ConstantInitialized)
void CopyFrom(const BopSolverOptimizerSet &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod > *PROTOBUF_NONNULL mutable_methods()
::operations_research::bop::BopOptimizerMethod *PROTOBUF_NONNULL mutable_methods(int index)
::absl::string_view GetAnyMessageName()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::bop::BopParameters_ThreadSynchronizationType >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::bop::BopOptimizerMethod_OptimizerType >()
constexpr int BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_ARRAYSIZE
bool BopParameters_ThreadSynchronizationType_Parse(::absl::string_view name, BopParameters_ThreadSynchronizationType *PROTOBUF_NONNULL value)
bool BopOptimizerMethod_OptimizerType_Parse(::absl::string_view name, BopOptimizerMethod_OptimizerType *PROTOBUF_NONNULL value)
constexpr int BopOptimizerMethod_OptimizerType_OptimizerType_ARRAYSIZE
const ::std::string & BopParameters_ThreadSynchronizationType_Name(T value)
PROTOBUF_CONSTINIT const uint32_t BopOptimizerMethod_OptimizerType_internal_data_[]
bool BopOptimizerMethod_OptimizerType_IsValid(int value)
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL BopOptimizerMethod_OptimizerType_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BopParametersDefaultTypeInternal _BopParameters_default_instance_
PROTOBUF_CONSTINIT const uint32_t BopParameters_ThreadSynchronizationType_internal_data_[]
bool BopParameters_ThreadSynchronizationType_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BopSolverOptimizerSet_class_data_
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MAX
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL BopParameters_ThreadSynchronizationType_descriptor()
@ BopOptimizerMethod_OptimizerType_USER_GUIDED_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_OBJECTIVE_FIRST_SOLUTION
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MIN
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BopParameters_class_data_
const ::std::string & BopOptimizerMethod_OptimizerType_Name(T value)
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MIN
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MAX
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BopOptimizerMethod_class_data_
@ BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT
In SWIG mode, we don't want anything besides these top-level includes.
Internal implementation detail – do not use these members.