Google OR-Tools v9.15
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.33.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 != 6033001
16#error "Protobuf C++ gencode is built with an incompatible version of"
17#error "Protobuf C++ headers/runtime. See"
18#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
19#endif
20#include "google/protobuf/io/coded_stream.h"
21#include "google/protobuf/arena.h"
22#include "google/protobuf/arenastring.h"
23#include "google/protobuf/generated_message_tctable_decl.h"
24#include "google/protobuf/generated_message_util.h"
25#include "google/protobuf/metadata_lite.h"
26#include "google/protobuf/generated_message_reflection.h"
27#include "google/protobuf/message.h"
28#include "google/protobuf/message_lite.h"
29#include "google/protobuf/repeated_field.h" // IWYU pragma: export
30#include "google/protobuf/extension_set.h" // IWYU pragma: export
31#include "google/protobuf/generated_enum_reflection.h"
32#include "google/protobuf/unknown_field_set.h"
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 explicit BopOptimizerMethod(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
295 BopOptimizerMethod(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BopOptimizerMethod& from);
297 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BopOptimizerMethod&& from) noexcept
298 : BopOptimizerMethod(arena) {
299 *this = ::std::move(from);
300 }
301 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
302 static void* PROTOBUF_NONNULL PlacementNew_(
303 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
304 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
305 static constexpr auto InternalNewImpl_();
306
307 public:
308 static constexpr auto InternalGenerateClassData_();
309
310 ::google::protobuf::Metadata GetMetadata() const;
311 // nested types ----------------------------------------------------
312 using OptimizerType = BopOptimizerMethod_OptimizerType;
313 static constexpr OptimizerType SAT_CORE_BASED = BopOptimizerMethod_OptimizerType_SAT_CORE_BASED;
328 static inline bool OptimizerType_IsValid(int value) {
331 static constexpr OptimizerType OptimizerType_MIN = BopOptimizerMethod_OptimizerType_OptimizerType_MIN;
332 static constexpr OptimizerType OptimizerType_MAX = BopOptimizerMethod_OptimizerType_OptimizerType_MAX;
334 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL OptimizerType_descriptor() {
337 template <typename T>
338 static inline const ::std::string& OptimizerType_Name(T value) {
341 static inline bool OptimizerType_Parse(
342 ::absl::string_view name, OptimizerType* PROTOBUF_NONNULL value) {
344 }
345
346 // accessors -------------------------------------------------------
347 enum : int {
348 kTypeFieldNumber = 1,
349 };
350 // optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
351 bool has_type() const;
352 void clear_type() ;
355
356 private:
359
360 public:
361 // @@protoc_insertion_point(class_scope:operations_research.bop.BopOptimizerMethod)
362 private:
363 class _Internal;
364 friend class ::google::protobuf::internal::TcParser;
365 static const ::google::protobuf::internal::TcParseTable<0, 1,
366 1, 0,
367 2>
368 _table_;
369
370 friend class ::google::protobuf::MessageLite;
371 friend class ::google::protobuf::Arena;
372 template <typename T>
373 friend class ::google::protobuf::Arena::InternalHelper;
374 using InternalArenaConstructable_ = void;
375 using DestructorSkippable_ = void;
376 struct Impl_ {
377 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
378 inline explicit Impl_(
379 ::google::protobuf::internal::InternalVisibility visibility,
380 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
381 inline explicit Impl_(
382 ::google::protobuf::internal::InternalVisibility visibility,
383 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
384 const BopOptimizerMethod& from_msg);
385 ::google::protobuf::internal::HasBits<1> _has_bits_;
386 ::google::protobuf::internal::CachedSize _cached_size_;
387 int type_;
388 PROTOBUF_TSAN_DECLARE_MEMBER
389 };
390 union { Impl_ _impl_; };
391 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
394OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BopOptimizerMethod_class_data_;
395// -------------------------------------------------------------------
396
397class OR_PROTO_DLL BopSolverOptimizerSet final : public ::google::protobuf::Message
398/* @@protoc_insertion_point(class_definition:operations_research.bop.BopSolverOptimizerSet) */ {
399 public:
401 ~BopSolverOptimizerSet() PROTOBUF_FINAL;
402
403#if defined(PROTOBUF_CUSTOM_VTABLE)
404 void operator delete(BopSolverOptimizerSet* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
405 SharedDtor(*msg);
406 ::google::protobuf::internal::SizedDelete(msg, sizeof(BopSolverOptimizerSet));
407 }
408#endif
409
410 template <typename = void>
411 explicit PROTOBUF_CONSTEXPR BopSolverOptimizerSet(::google::protobuf::internal::ConstantInitialized);
412
413 inline BopSolverOptimizerSet(const BopSolverOptimizerSet& from) : BopSolverOptimizerSet(nullptr, from) {}
415 : BopSolverOptimizerSet(nullptr, ::std::move(from)) {}
417 CopyFrom(from);
418 return *this;
420 inline BopSolverOptimizerSet& operator=(BopSolverOptimizerSet&& from) noexcept {
421 if (this == &from) return *this;
422 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
423 InternalSwap(&from);
424 } else {
425 CopyFrom(from);
426 }
427 return *this;
428 }
429
430 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
431 ABSL_ATTRIBUTE_LIFETIME_BOUND {
432 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
434 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
435 ABSL_ATTRIBUTE_LIFETIME_BOUND {
436 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
438
439 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
440 return GetDescriptor();
441 }
442 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
443 return default_instance().GetMetadata().descriptor;
444 }
445 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
446 return default_instance().GetMetadata().reflection;
447 }
449 return *reinterpret_cast<const BopSolverOptimizerSet*>(
452 static constexpr int kIndexInFileMessages = 1;
453 friend void swap(BopSolverOptimizerSet& a, BopSolverOptimizerSet& b) { a.Swap(&b); }
454 inline void Swap(BopSolverOptimizerSet* PROTOBUF_NONNULL other) {
455 if (other == this) return;
456 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
457 InternalSwap(other);
458 } else {
459 ::google::protobuf::internal::GenericSwap(this, other);
460 }
461 }
462 void UnsafeArenaSwap(BopSolverOptimizerSet* PROTOBUF_NONNULL other) {
463 if (other == this) return;
464 ABSL_DCHECK(GetArena() == other->GetArena());
465 InternalSwap(other);
466 }
467
468 // implements Message ----------------------------------------------
469
470 BopSolverOptimizerSet* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
471 return ::google::protobuf::Message::DefaultConstruct<BopSolverOptimizerSet>(arena);
472 }
473 using ::google::protobuf::Message::CopyFrom;
474 void CopyFrom(const BopSolverOptimizerSet& from);
475 using ::google::protobuf::Message::MergeFrom;
476 void MergeFrom(const BopSolverOptimizerSet& from) { BopSolverOptimizerSet::MergeImpl(*this, from); }
477
478 private:
479 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
480 const ::google::protobuf::MessageLite& from_msg);
481
482 public:
483 bool IsInitialized() const {
484 return true;
485 }
486 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
487 #if defined(PROTOBUF_CUSTOM_VTABLE)
488 private:
489 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
490 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
491 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
492 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
493
494 public:
495 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
496 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
497 ::uint8_t* PROTOBUF_NONNULL target,
498 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
499 return _InternalSerialize(*this, target, stream);
500 }
501 #else // PROTOBUF_CUSTOM_VTABLE
502 ::size_t ByteSizeLong() const final;
503 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
504 ::uint8_t* PROTOBUF_NONNULL target,
505 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
506 #endif // PROTOBUF_CUSTOM_VTABLE
507 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
508
509 private:
510 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
511 static void SharedDtor(MessageLite& self);
512 void InternalSwap(BopSolverOptimizerSet* PROTOBUF_NONNULL other);
513 private:
514 template <typename T>
515 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
516 static ::absl::string_view FullMessageName() { return "operations_research.bop.BopSolverOptimizerSet"; }
517
518 explicit BopSolverOptimizerSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
519 BopSolverOptimizerSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BopSolverOptimizerSet& from);
521 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BopSolverOptimizerSet&& from) noexcept
522 : BopSolverOptimizerSet(arena) {
523 *this = ::std::move(from);
524 }
525 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
526 static void* PROTOBUF_NONNULL PlacementNew_(
527 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
528 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
529 static constexpr auto InternalNewImpl_();
530
531 public:
532 static constexpr auto InternalGenerateClassData_();
533
534 ::google::protobuf::Metadata GetMetadata() const;
535 // nested types ----------------------------------------------------
536
537 // accessors -------------------------------------------------------
538 enum : int {
539 kMethodsFieldNumber = 1,
540 };
541 // repeated .operations_research.bop.BopOptimizerMethod methods = 1;
542 int methods_size() const;
543 private:
544 int _internal_methods_size() const;
545
546 public:
547 void clear_methods() ;
549 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL mutable_methods();
550
551 private:
552 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>& _internal_methods() const;
553 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL _internal_mutable_methods();
554 public:
555 const ::operations_research::bop::BopOptimizerMethod& methods(int index) const;
557 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>& methods() const;
558 // @@protoc_insertion_point(class_scope:operations_research.bop.BopSolverOptimizerSet)
559 private:
560 class _Internal;
561 friend class ::google::protobuf::internal::TcParser;
562 static const ::google::protobuf::internal::TcParseTable<0, 1,
563 1, 0,
564 2>
565 _table_;
566
567 friend class ::google::protobuf::MessageLite;
568 friend class ::google::protobuf::Arena;
569 template <typename T>
570 friend class ::google::protobuf::Arena::InternalHelper;
571 using InternalArenaConstructable_ = void;
572 using DestructorSkippable_ = void;
573 struct Impl_ {
574 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
575 inline explicit Impl_(
576 ::google::protobuf::internal::InternalVisibility visibility,
577 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
578 inline explicit Impl_(
579 ::google::protobuf::internal::InternalVisibility visibility,
580 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
581 const BopSolverOptimizerSet& from_msg);
582 ::google::protobuf::internal::HasBits<1> _has_bits_;
583 ::google::protobuf::internal::CachedSize _cached_size_;
584 ::google::protobuf::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
585 PROTOBUF_TSAN_DECLARE_MEMBER
586 };
587 union { Impl_ _impl_; };
588 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
589};
591OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BopSolverOptimizerSet_class_data_;
592// -------------------------------------------------------------------
593
594class OR_PROTO_DLL BopParameters final : public ::google::protobuf::Message
595/* @@protoc_insertion_point(class_definition:operations_research.bop.BopParameters) */ {
596 public:
597 inline BopParameters() : BopParameters(nullptr) {}
598 ~BopParameters() PROTOBUF_FINAL;
599
600#if defined(PROTOBUF_CUSTOM_VTABLE)
601 void operator delete(BopParameters* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
602 SharedDtor(*msg);
603 ::google::protobuf::internal::SizedDelete(msg, sizeof(BopParameters));
604 }
605#endif
606
607 template <typename = void>
608 explicit PROTOBUF_CONSTEXPR BopParameters(::google::protobuf::internal::ConstantInitialized);
609
610 inline BopParameters(const BopParameters& from) : BopParameters(nullptr, from) {}
611 inline BopParameters(BopParameters&& from) noexcept
612 : BopParameters(nullptr, ::std::move(from)) {}
613 inline BopParameters& operator=(const BopParameters& from) {
614 CopyFrom(from);
615 return *this;
616 }
617 inline BopParameters& operator=(BopParameters&& from) noexcept {
618 if (this == &from) return *this;
619 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
620 InternalSwap(&from);
621 } else {
622 CopyFrom(from);
623 }
624 return *this;
625 }
626
627 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
628 ABSL_ATTRIBUTE_LIFETIME_BOUND {
629 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
630 }
631 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
632 ABSL_ATTRIBUTE_LIFETIME_BOUND {
633 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
634 }
636 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
637 return GetDescriptor();
638 }
639 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
640 return default_instance().GetMetadata().descriptor;
641 }
642 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
643 return default_instance().GetMetadata().reflection;
644 }
645 static const BopParameters& default_instance() {
646 return *reinterpret_cast<const BopParameters*>(
648 }
649 static constexpr int kIndexInFileMessages = 2;
650 friend void swap(BopParameters& a, BopParameters& b) { a.Swap(&b); }
651 inline void Swap(BopParameters* PROTOBUF_NONNULL other) {
652 if (other == this) return;
653 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
654 InternalSwap(other);
655 } else {
656 ::google::protobuf::internal::GenericSwap(this, other);
657 }
658 }
659 void UnsafeArenaSwap(BopParameters* PROTOBUF_NONNULL other) {
660 if (other == this) return;
661 ABSL_DCHECK(GetArena() == other->GetArena());
662 InternalSwap(other);
664
665 // implements Message ----------------------------------------------
666
667 BopParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
668 return ::google::protobuf::Message::DefaultConstruct<BopParameters>(arena);
669 }
670 using ::google::protobuf::Message::CopyFrom;
671 void CopyFrom(const BopParameters& from);
672 using ::google::protobuf::Message::MergeFrom;
673 void MergeFrom(const BopParameters& from) { BopParameters::MergeImpl(*this, from); }
674
675 private:
676 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
677 const ::google::protobuf::MessageLite& from_msg);
678
679 public:
680 bool IsInitialized() const {
681 return true;
682 }
683 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
684 #if defined(PROTOBUF_CUSTOM_VTABLE)
685 private:
686 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
687 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
688 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
689 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
690
691 public:
692 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
693 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
694 ::uint8_t* PROTOBUF_NONNULL target,
695 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
696 return _InternalSerialize(*this, target, stream);
697 }
698 #else // PROTOBUF_CUSTOM_VTABLE
699 ::size_t ByteSizeLong() const final;
700 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
701 ::uint8_t* PROTOBUF_NONNULL target,
702 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
703 #endif // PROTOBUF_CUSTOM_VTABLE
704 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
705
706 private:
707 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
708 static void SharedDtor(MessageLite& self);
709 void InternalSwap(BopParameters* PROTOBUF_NONNULL other);
710 private:
711 template <typename T>
712 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
713 static ::absl::string_view FullMessageName() { return "operations_research.bop.BopParameters"; }
714
715 explicit BopParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
716 BopParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BopParameters& from);
718 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BopParameters&& from) noexcept
719 : BopParameters(arena) {
720 *this = ::std::move(from);
721 }
722 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
723 static void* PROTOBUF_NONNULL PlacementNew_(
724 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
725 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
726 static constexpr auto InternalNewImpl_();
727
728 public:
729 static constexpr auto InternalGenerateClassData_();
730
731 ::google::protobuf::Metadata GetMetadata() const;
732 // nested types ----------------------------------------------------
733 using ThreadSynchronizationType = BopParameters_ThreadSynchronizationType;
734 static constexpr ThreadSynchronizationType NO_SYNCHRONIZATION = BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION;
735 static constexpr ThreadSynchronizationType SYNCHRONIZE_ALL = BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ALL;
736 static constexpr ThreadSynchronizationType SYNCHRONIZE_ON_RIGHT = BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT;
737 static inline bool ThreadSynchronizationType_IsValid(int value) {
746 template <typename T>
747 static inline const ::std::string& ThreadSynchronizationType_Name(T value) {
749 }
750 static inline bool ThreadSynchronizationType_Parse(
751 ::absl::string_view name, ThreadSynchronizationType* PROTOBUF_NONNULL value) {
753 }
755 // accessors -------------------------------------------------------
756 enum : int {
794 };
795 // repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
797 private:
798 int _internal_solver_optimizer_sets_size() const;
799
800 public:
803 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL mutable_solver_optimizer_sets();
804
805 private:
806 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>& _internal_solver_optimizer_sets() const;
807 ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL _internal_mutable_solver_optimizer_sets();
808 public:
809 const ::operations_research::bop::BopSolverOptimizerSet& solver_optimizer_sets(int index) const;
811 const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>& solver_optimizer_sets() const;
812 // optional bool prune_search_tree = 4 [default = false];
813 bool has_prune_search_tree() const;
815 bool prune_search_tree() const;
816 void set_prune_search_tree(bool value);
817
818 private:
819 bool _internal_prune_search_tree() const;
820 void _internal_set_prune_search_tree(bool value);
821
822 public:
823 // optional bool sort_constraints_by_num_terms = 5 [default = false];
827 void set_sort_constraints_by_num_terms(bool value);
828
829 private:
830 bool _internal_sort_constraints_by_num_terms() const;
831 void _internal_set_sort_constraints_by_num_terms(bool value);
832
833 public:
834 // optional bool log_search_progress = 14 [default = false];
835 bool has_log_search_progress() const;
837 bool log_search_progress() const;
838 void set_log_search_progress(bool value);
839
840 private:
841 bool _internal_log_search_progress() const;
842 void _internal_set_log_search_progress(bool value);
843
844 public:
845 // optional bool use_symmetry = 17 [default = false];
846 bool has_use_symmetry() const;
847 void clear_use_symmetry() ;
848 bool use_symmetry() const;
849 void set_use_symmetry(bool value);
850
851 private:
852 bool _internal_use_symmetry() const;
853 void _internal_set_use_symmetry(bool value);
854
855 public:
856 // optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
857 bool has_synchronization_type() const;
861
862 private:
863 ::operations_research::bop::BopParameters_ThreadSynchronizationType _internal_synchronization_type() const;
864 void _internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value);
865
866 public:
867 // optional bool use_lp_strong_branching = 29 [default = false];
868 bool has_use_lp_strong_branching() const;
870 bool use_lp_strong_branching() const;
871 void set_use_lp_strong_branching(bool value);
872
873 private:
874 bool _internal_use_lp_strong_branching() const;
875 void _internal_set_use_lp_strong_branching(bool value);
876
877 public:
878 // optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
883
884 private:
885 ::int32_t _internal_max_number_of_consecutive_failing_optimizer_calls() const;
886 void _internal_set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value);
887
888 public:
889 // optional double max_time_in_seconds = 1 [default = inf];
890 bool has_max_time_in_seconds() const;
892 double max_time_in_seconds() const;
893 void set_max_time_in_seconds(double value);
894
895 private:
896 double _internal_max_time_in_seconds() const;
897 void _internal_set_max_time_in_seconds(double value);
898
899 public:
900 // optional int32 max_num_decisions_in_ls = 2 [default = 4];
901 bool has_max_num_decisions_in_ls() const;
903 ::int32_t max_num_decisions_in_ls() const;
904 void set_max_num_decisions_in_ls(::int32_t value);
905
906 private:
907 ::int32_t _internal_max_num_decisions_in_ls() const;
908 void _internal_set_max_num_decisions_in_ls(::int32_t value);
909
910 public:
911 // optional int32 random_seed = 7 [default = 8];
912 bool has_random_seed() const;
913 void clear_random_seed() ;
914 ::int32_t random_seed() const;
915 void set_random_seed(::int32_t value);
916
917 private:
918 ::int32_t _internal_random_seed() const;
919 void _internal_set_random_seed(::int32_t value);
920
921 public:
922 // optional int32 num_relaxed_vars = 8 [default = 10];
923 bool has_num_relaxed_vars() const;
925 ::int32_t num_relaxed_vars() const;
926 void set_num_relaxed_vars(::int32_t value);
927
928 private:
929 ::int32_t _internal_num_relaxed_vars() const;
930 void _internal_set_num_relaxed_vars(::int32_t value);
931
932 public:
933 // optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
937 void set_max_number_of_conflicts_in_random_lns(::int32_t value);
938
939 private:
940 ::int32_t _internal_max_number_of_conflicts_in_random_lns() const;
941 void _internal_set_max_number_of_conflicts_in_random_lns(::int32_t value);
942
943 public:
944 // optional bool compute_estimated_impact = 3 [default = true];
945 bool has_compute_estimated_impact() const;
947 bool compute_estimated_impact() const;
948 void set_compute_estimated_impact(bool value);
949
950 private:
951 bool _internal_compute_estimated_impact() const;
952 void _internal_set_compute_estimated_impact(bool value);
953
954 public:
955 // optional bool use_random_lns = 6 [default = true];
956 bool has_use_random_lns() const;
957 void clear_use_random_lns() ;
958 bool use_random_lns() const;
959 void set_use_random_lns(bool value);
960
961 private:
962 bool _internal_use_random_lns() const;
963 void _internal_set_use_random_lns(bool value);
964
965 public:
966 // optional bool use_lp_lns = 12 [default = true];
967 bool has_use_lp_lns() const;
968 void clear_use_lp_lns() ;
969 bool use_lp_lns() const;
970 void set_use_lp_lns(bool value);
971
972 private:
973 bool _internal_use_lp_lns() const;
974 void _internal_set_use_lp_lns(bool value);
975
976 public:
977 // optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
982
983 private:
984 bool _internal_use_sat_to_choose_lns_neighbourhood() const;
985 void _internal_set_use_sat_to_choose_lns_neighbourhood(bool value);
986
987 public:
988 // optional int32 num_random_lns_tries = 10 [default = 1];
989 bool has_num_random_lns_tries() const;
991 ::int32_t num_random_lns_tries() const;
992 void set_num_random_lns_tries(::int32_t value);
993
994 private:
995 ::int32_t _internal_num_random_lns_tries() const;
996 void _internal_set_num_random_lns_tries(::int32_t value);
997
998 public:
999 // optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1002 ::int64_t max_number_of_backtracks_in_ls() const;
1003 void set_max_number_of_backtracks_in_ls(::int64_t value);
1004
1005 private:
1006 ::int64_t _internal_max_number_of_backtracks_in_ls() const;
1007 void _internal_set_max_number_of_backtracks_in_ls(::int64_t value);
1008
1009 public:
1010 // optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1014 void set_max_number_of_conflicts_for_quick_check(::int32_t value);
1015
1016 private:
1017 ::int32_t _internal_max_number_of_conflicts_for_quick_check() const;
1018 void _internal_set_max_number_of_conflicts_for_quick_check(::int32_t value);
1019
1020 public:
1021 // optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
1026
1027 private:
1028 ::int32_t _internal_max_number_of_conflicts_in_random_solution_generation() const;
1029 void _internal_set_max_number_of_conflicts_in_random_solution_generation(::int32_t value);
1030
1031 public:
1032 // optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
1037
1038 private:
1039 ::int64_t _internal_max_number_of_explored_assignments_per_try_in_ls() const;
1040 void _internal_set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value);
1041
1042 public:
1043 // optional bool use_transposition_table_in_ls = 22 [default = true];
1046 bool use_transposition_table_in_ls() const;
1047 void set_use_transposition_table_in_ls(bool value);
1048
1049 private:
1050 bool _internal_use_transposition_table_in_ls() const;
1051 void _internal_set_use_transposition_table_in_ls(bool value);
1052
1053 public:
1054 // optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
1058 void set_use_learned_binary_clauses_in_lp(bool value);
1059
1060 private:
1061 bool _internal_use_learned_binary_clauses_in_lp() const;
1062 void _internal_set_use_learned_binary_clauses_in_lp(bool value);
1063
1064 public:
1065 // optional int32 number_of_solvers = 24 [default = 1];
1066 bool has_number_of_solvers() const;
1068 ::int32_t number_of_solvers() const;
1069 void set_number_of_solvers(::int32_t value);
1070
1071 private:
1072 ::int32_t _internal_number_of_solvers() const;
1073 void _internal_set_number_of_solvers(::int32_t value);
1074
1075 public:
1076 // optional double max_deterministic_time = 27 [default = inf];
1077 bool has_max_deterministic_time() const;
1079 double max_deterministic_time() const;
1080 void set_max_deterministic_time(double value);
1081
1082 private:
1083 double _internal_max_deterministic_time() const;
1084 void _internal_set_max_deterministic_time(double value);
1085
1086 public:
1087 // optional double relative_gap_limit = 28 [default = 0.0001];
1088 bool has_relative_gap_limit() const;
1090 double relative_gap_limit() const;
1091 void set_relative_gap_limit(double value);
1092
1093 private:
1094 double _internal_relative_gap_limit() const;
1095 void _internal_set_relative_gap_limit(double value);
1096
1097 public:
1098 // optional int32 decomposer_num_variables_threshold = 30 [default = 50];
1101 ::int32_t decomposer_num_variables_threshold() const;
1102 void set_decomposer_num_variables_threshold(::int32_t value);
1103
1104 private:
1105 ::int32_t _internal_decomposer_num_variables_threshold() const;
1106 void _internal_set_decomposer_num_variables_threshold(::int32_t value);
1107
1108 public:
1109 // optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
1112 ::int32_t num_bop_solvers_used_by_decomposition() const;
1113 void set_num_bop_solvers_used_by_decomposition(::int32_t value);
1114
1115 private:
1116 ::int32_t _internal_num_bop_solvers_used_by_decomposition() const;
1117 void _internal_set_num_bop_solvers_used_by_decomposition(::int32_t value);
1118
1119 public:
1120 // optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
1121 bool has_guided_sat_conflicts_chunk() const;
1123 ::int32_t guided_sat_conflicts_chunk() const;
1124 void set_guided_sat_conflicts_chunk(::int32_t value);
1125
1126 private:
1127 ::int32_t _internal_guided_sat_conflicts_chunk() const;
1128 void _internal_set_guided_sat_conflicts_chunk(::int32_t value);
1129
1130 public:
1131 // 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 } "];
1134 const ::std::string& default_solver_optimizer_sets() const;
1135 template <typename Arg_ = const ::std::string&, typename... Args_>
1136 void set_default_solver_optimizer_sets(Arg_&& arg, Args_... args);
1137 ::std::string* PROTOBUF_NONNULL mutable_default_solver_optimizer_sets();
1138 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_default_solver_optimizer_sets();
1139 void set_allocated_default_solver_optimizer_sets(::std::string* PROTOBUF_NULLABLE value);
1141 private:
1142 const ::std::string& _internal_default_solver_optimizer_sets() const;
1143 PROTOBUF_ALWAYS_INLINE void _internal_set_default_solver_optimizer_sets(const ::std::string& value);
1144 ::std::string* PROTOBUF_NONNULL _internal_mutable_default_solver_optimizer_sets();
1145
1146 public:
1147 // optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
1152
1153 private:
1154 double _internal_decomposed_problem_min_time_in_seconds() const;
1155 void _internal_set_decomposed_problem_min_time_in_seconds(double value);
1156
1157 public:
1158 // optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
1163
1164 private:
1165 bool _internal_use_potential_one_flip_repairs_in_ls() const;
1166 void _internal_set_use_potential_one_flip_repairs_in_ls(bool value);
1167
1168 public:
1169 // optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
1174
1175 private:
1176 bool _internal_exploit_symmetry_in_sat_first_solution() const;
1177 void _internal_set_exploit_symmetry_in_sat_first_solution(bool value);
1178
1179 public:
1180 // optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
1183 ::int32_t max_lp_solve_for_feasibility_problems() const;
1184 void set_max_lp_solve_for_feasibility_problems(::int32_t value);
1185
1186 private:
1187 ::int32_t _internal_max_lp_solve_for_feasibility_problems() const;
1188 void _internal_set_max_lp_solve_for_feasibility_problems(::int32_t value);
1189
1190 public:
1191 // optional double lp_max_deterministic_time = 37 [default = 1];
1192 bool has_lp_max_deterministic_time() const;
1194 double lp_max_deterministic_time() const;
1195 void set_lp_max_deterministic_time(double value);
1196
1197 private:
1198 double _internal_lp_max_deterministic_time() const;
1199 void _internal_set_lp_max_deterministic_time(double value);
1200
1201 public:
1202 // optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1205 ::int32_t max_num_broken_constraints_in_ls() const;
1206 void set_max_num_broken_constraints_in_ls(::int32_t value);
1207
1208 private:
1209 ::int32_t _internal_max_num_broken_constraints_in_ls() const;
1210 void _internal_set_max_num_broken_constraints_in_ls(::int32_t value);
1211
1212 public:
1213 // @@protoc_insertion_point(class_scope:operations_research.bop.BopParameters)
1214 private:
1215 class _Internal;
1216 friend class ::google::protobuf::internal::TcParser;
1217 static const ::google::protobuf::internal::TcParseTable<5, 37,
1218 2, 0,
1219 7>
1220 _table_;
1221
1222 friend class ::google::protobuf::MessageLite;
1223 friend class ::google::protobuf::Arena;
1224 template <typename T>
1225 friend class ::google::protobuf::Arena::InternalHelper;
1226 using InternalArenaConstructable_ = void;
1227 using DestructorSkippable_ = void;
1228 struct Impl_ {
1229 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1230 inline explicit Impl_(
1231 ::google::protobuf::internal::InternalVisibility visibility,
1232 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1233 inline explicit Impl_(
1234 ::google::protobuf::internal::InternalVisibility visibility,
1235 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1236 const BopParameters& from_msg);
1237 ::google::protobuf::internal::HasBits<2> _has_bits_;
1238 ::google::protobuf::internal::CachedSize _cached_size_;
1239 ::google::protobuf::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1240 bool prune_search_tree_;
1241 bool sort_constraints_by_num_terms_;
1242 bool log_search_progress_;
1243 bool use_symmetry_;
1244 int synchronization_type_;
1245 bool use_lp_strong_branching_;
1246 ::int32_t max_number_of_consecutive_failing_optimizer_calls_;
1247 double max_time_in_seconds_;
1248 ::int32_t max_num_decisions_in_ls_;
1249 ::int32_t random_seed_;
1250 ::int32_t num_relaxed_vars_;
1251 ::int32_t max_number_of_conflicts_in_random_lns_;
1252 bool compute_estimated_impact_;
1253 bool use_random_lns_;
1254 bool use_lp_lns_;
1255 bool use_sat_to_choose_lns_neighbourhood_;
1256 ::int32_t num_random_lns_tries_;
1257 ::int64_t max_number_of_backtracks_in_ls_;
1258 ::int32_t max_number_of_conflicts_for_quick_check_;
1259 ::int32_t max_number_of_conflicts_in_random_solution_generation_;
1260 ::int64_t max_number_of_explored_assignments_per_try_in_ls_;
1261 bool use_transposition_table_in_ls_;
1262 bool use_learned_binary_clauses_in_lp_;
1263 ::int32_t number_of_solvers_;
1264 double max_deterministic_time_;
1265 double relative_gap_limit_;
1266 ::int32_t decomposer_num_variables_threshold_;
1267 ::int32_t num_bop_solvers_used_by_decomposition_;
1268 ::int32_t guided_sat_conflicts_chunk_;
1269 static const ::google::protobuf::internal::LazyString _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_;
1270 ::google::protobuf::internal::ArenaStringPtr default_solver_optimizer_sets_;
1271 double decomposed_problem_min_time_in_seconds_;
1272 bool use_potential_one_flip_repairs_in_ls_;
1273 bool exploit_symmetry_in_sat_first_solution_;
1274 ::int32_t max_lp_solve_for_feasibility_problems_;
1275 double lp_max_deterministic_time_;
1276 ::int32_t max_num_broken_constraints_in_ls_;
1277 PROTOBUF_TSAN_DECLARE_MEMBER
1278 };
1279 union { Impl_ _impl_; };
1280 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1281};
1282
1283OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull BopParameters_class_data_;
1285// ===================================================================
1286
1287
1288
1289
1290// ===================================================================
1291
1292
1293#ifdef __GNUC__
1294#pragma GCC diagnostic push
1295#pragma GCC diagnostic ignored "-Wstrict-aliasing"
1296#endif // __GNUC__
1297// -------------------------------------------------------------------
1298
1299// BopOptimizerMethod
1300
1301// optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
1302inline bool BopOptimizerMethod::has_type() const {
1303 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
1304 return value;
1305}
1306inline void BopOptimizerMethod::clear_type() {
1307 ::google::protobuf::internal::TSanWrite(&_impl_);
1308 _impl_.type_ = 0;
1309 ClearHasBit(_impl_._has_bits_[0],
1310 0x00000001U);
1311}
1312inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::type() const {
1313 // @@protoc_insertion_point(field_get:operations_research.bop.BopOptimizerMethod.type)
1314 return _internal_type();
1315}
1317 _internal_set_type(value);
1318 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
1319 // @@protoc_insertion_point(field_set:operations_research.bop.BopOptimizerMethod.type)
1320}
1321inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::_internal_type() const {
1322 ::google::protobuf::internal::TSanRead(&_impl_);
1324}
1325inline void BopOptimizerMethod::_internal_set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value) {
1326 ::google::protobuf::internal::TSanWrite(&_impl_);
1327
1328 assert(::google::protobuf::internal::ValidateEnum(
1330 _impl_.type_ = value;
1331}
1332
1333// -------------------------------------------------------------------
1334
1335// BopSolverOptimizerSet
1336
1337// repeated .operations_research.bop.BopOptimizerMethod methods = 1;
1338inline int BopSolverOptimizerSet::_internal_methods_size() const {
1339 return _internal_methods().size();
1340}
1341inline int BopSolverOptimizerSet::methods_size() const {
1342 return _internal_methods_size();
1343}
1345 ::google::protobuf::internal::TSanWrite(&_impl_);
1346 _impl_.methods_.Clear();
1347 ClearHasBitForRepeated(_impl_._has_bits_[0],
1348 0x00000001U);
1350inline ::operations_research::bop::BopOptimizerMethod* PROTOBUF_NONNULL BopSolverOptimizerSet::mutable_methods(int index)
1351 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1352 // @@protoc_insertion_point(field_mutable:operations_research.bop.BopSolverOptimizerSet.methods)
1353 return _internal_mutable_methods()->Mutable(index);
1354}
1355inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL BopSolverOptimizerSet::mutable_methods()
1356 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1357 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
1358 // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopSolverOptimizerSet.methods)
1359 ::google::protobuf::internal::TSanWrite(&_impl_);
1360 return _internal_mutable_methods();
1361}
1362inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::methods(int index) const
1363 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1364 // @@protoc_insertion_point(field_get:operations_research.bop.BopSolverOptimizerSet.methods)
1365 return _internal_methods().Get(index);
1366}
1367inline ::operations_research::bop::BopOptimizerMethod* PROTOBUF_NONNULL BopSolverOptimizerSet::add_methods()
1368 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1369 ::google::protobuf::internal::TSanWrite(&_impl_);
1371 _internal_mutable_methods()->InternalAddWithArena(
1372 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
1373 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
1374 // @@protoc_insertion_point(field_add:operations_research.bop.BopSolverOptimizerSet.methods)
1375 return _add;
1376}
1377inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>& BopSolverOptimizerSet::methods() const
1378 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1379 // @@protoc_insertion_point(field_list:operations_research.bop.BopSolverOptimizerSet.methods)
1380 return _internal_methods();
1381}
1382inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>&
1383BopSolverOptimizerSet::_internal_methods() const {
1384 ::google::protobuf::internal::TSanRead(&_impl_);
1385 return _impl_.methods_;
1386}
1387inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopOptimizerMethod>* PROTOBUF_NONNULL
1388BopSolverOptimizerSet::_internal_mutable_methods() {
1389 ::google::protobuf::internal::TSanRead(&_impl_);
1390 return &_impl_.methods_;
1391}
1392
1393// -------------------------------------------------------------------
1394
1395// BopParameters
1396
1397// optional double max_time_in_seconds = 1 [default = inf];
1398inline bool BopParameters::has_max_time_in_seconds() const {
1399 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U);
1400 return value;
1401}
1403 ::google::protobuf::internal::TSanWrite(&_impl_);
1404 _impl_.max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1405 ClearHasBit(_impl_._has_bits_[0],
1406 0x00000100U);
1408inline double BopParameters::max_time_in_seconds() const {
1409 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_time_in_seconds)
1410 return _internal_max_time_in_seconds();
1412inline void BopParameters::set_max_time_in_seconds(double value) {
1413 _internal_set_max_time_in_seconds(value);
1414 SetHasBit(_impl_._has_bits_[0], 0x00000100U);
1415 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_time_in_seconds)
1416}
1417inline double BopParameters::_internal_max_time_in_seconds() const {
1418 ::google::protobuf::internal::TSanRead(&_impl_);
1419 return _impl_.max_time_in_seconds_;
1420}
1421inline void BopParameters::_internal_set_max_time_in_seconds(double value) {
1422 ::google::protobuf::internal::TSanWrite(&_impl_);
1423 _impl_.max_time_in_seconds_ = value;
1424}
1425
1426// optional double max_deterministic_time = 27 [default = inf];
1428 bool value = CheckHasBit(_impl_._has_bits_[0], 0x02000000U);
1429 return value;
1430}
1432 ::google::protobuf::internal::TSanWrite(&_impl_);
1433 _impl_.max_deterministic_time_ = std::numeric_limits<double>::infinity();
1434 ClearHasBit(_impl_._has_bits_[0],
1435 0x02000000U);
1437inline double BopParameters::max_deterministic_time() const {
1438 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_deterministic_time)
1439 return _internal_max_deterministic_time();
1441inline void BopParameters::set_max_deterministic_time(double value) {
1442 _internal_set_max_deterministic_time(value);
1443 SetHasBit(_impl_._has_bits_[0], 0x02000000U);
1444 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_deterministic_time)
1445}
1446inline double BopParameters::_internal_max_deterministic_time() const {
1447 ::google::protobuf::internal::TSanRead(&_impl_);
1448 return _impl_.max_deterministic_time_;
1449}
1450inline void BopParameters::_internal_set_max_deterministic_time(double value) {
1451 ::google::protobuf::internal::TSanWrite(&_impl_);
1452 _impl_.max_deterministic_time_ = value;
1453}
1454
1455// optional double lp_max_deterministic_time = 37 [default = 1];
1457 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000008U);
1458 return value;
1459}
1461 ::google::protobuf::internal::TSanWrite(&_impl_);
1462 _impl_.lp_max_deterministic_time_ = 1;
1463 ClearHasBit(_impl_._has_bits_[1],
1464 0x00000008U);
1466inline double BopParameters::lp_max_deterministic_time() const {
1467 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.lp_max_deterministic_time)
1468 return _internal_lp_max_deterministic_time();
1470inline void BopParameters::set_lp_max_deterministic_time(double value) {
1471 _internal_set_lp_max_deterministic_time(value);
1472 SetHasBit(_impl_._has_bits_[1], 0x00000008U);
1473 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.lp_max_deterministic_time)
1474}
1475inline double BopParameters::_internal_lp_max_deterministic_time() const {
1476 ::google::protobuf::internal::TSanRead(&_impl_);
1477 return _impl_.lp_max_deterministic_time_;
1478}
1479inline void BopParameters::_internal_set_lp_max_deterministic_time(double value) {
1480 ::google::protobuf::internal::TSanWrite(&_impl_);
1481 _impl_.lp_max_deterministic_time_ = value;
1482}
1483
1484// optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
1486 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
1487 return value;
1488}
1490 ::google::protobuf::internal::TSanWrite(&_impl_);
1491 _impl_.max_number_of_consecutive_failing_optimizer_calls_ = 0;
1492 ClearHasBit(_impl_._has_bits_[0],
1493 0x00000080U);
1496 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1497 return _internal_max_number_of_consecutive_failing_optimizer_calls();
1500 _internal_set_max_number_of_consecutive_failing_optimizer_calls(value);
1501 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
1502 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1503}
1504inline ::int32_t BopParameters::_internal_max_number_of_consecutive_failing_optimizer_calls() const {
1505 ::google::protobuf::internal::TSanRead(&_impl_);
1506 return _impl_.max_number_of_consecutive_failing_optimizer_calls_;
1507}
1508inline void BopParameters::_internal_set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value) {
1509 ::google::protobuf::internal::TSanWrite(&_impl_);
1510 _impl_.max_number_of_consecutive_failing_optimizer_calls_ = value;
1511}
1512
1513// optional double relative_gap_limit = 28 [default = 0.0001];
1514inline bool BopParameters::has_relative_gap_limit() const {
1515 bool value = CheckHasBit(_impl_._has_bits_[0], 0x04000000U);
1516 return value;
1517}
1519 ::google::protobuf::internal::TSanWrite(&_impl_);
1520 _impl_.relative_gap_limit_ = 0.0001;
1521 ClearHasBit(_impl_._has_bits_[0],
1522 0x04000000U);
1524inline double BopParameters::relative_gap_limit() const {
1525 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.relative_gap_limit)
1526 return _internal_relative_gap_limit();
1528inline void BopParameters::set_relative_gap_limit(double value) {
1529 _internal_set_relative_gap_limit(value);
1530 SetHasBit(_impl_._has_bits_[0], 0x04000000U);
1531 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.relative_gap_limit)
1532}
1533inline double BopParameters::_internal_relative_gap_limit() const {
1534 ::google::protobuf::internal::TSanRead(&_impl_);
1535 return _impl_.relative_gap_limit_;
1536}
1537inline void BopParameters::_internal_set_relative_gap_limit(double value) {
1538 ::google::protobuf::internal::TSanWrite(&_impl_);
1539 _impl_.relative_gap_limit_ = value;
1540}
1541
1542// optional int32 max_num_decisions_in_ls = 2 [default = 4];
1544 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000200U);
1545 return value;
1546}
1548 ::google::protobuf::internal::TSanWrite(&_impl_);
1549 _impl_.max_num_decisions_in_ls_ = 4;
1550 ClearHasBit(_impl_._has_bits_[0],
1551 0x00000200U);
1553inline ::int32_t BopParameters::max_num_decisions_in_ls() const {
1554 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1555 return _internal_max_num_decisions_in_ls();
1557inline void BopParameters::set_max_num_decisions_in_ls(::int32_t value) {
1558 _internal_set_max_num_decisions_in_ls(value);
1559 SetHasBit(_impl_._has_bits_[0], 0x00000200U);
1560 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1561}
1562inline ::int32_t BopParameters::_internal_max_num_decisions_in_ls() const {
1563 ::google::protobuf::internal::TSanRead(&_impl_);
1564 return _impl_.max_num_decisions_in_ls_;
1565}
1566inline void BopParameters::_internal_set_max_num_decisions_in_ls(::int32_t value) {
1567 ::google::protobuf::internal::TSanWrite(&_impl_);
1568 _impl_.max_num_decisions_in_ls_ = value;
1569}
1570
1571// optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1573 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000010U);
1574 return value;
1575}
1577 ::google::protobuf::internal::TSanWrite(&_impl_);
1578 _impl_.max_num_broken_constraints_in_ls_ = 2147483647;
1579 ClearHasBit(_impl_._has_bits_[1],
1580 0x00000010U);
1582inline ::int32_t BopParameters::max_num_broken_constraints_in_ls() const {
1583 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1584 return _internal_max_num_broken_constraints_in_ls();
1586inline void BopParameters::set_max_num_broken_constraints_in_ls(::int32_t value) {
1587 _internal_set_max_num_broken_constraints_in_ls(value);
1588 SetHasBit(_impl_._has_bits_[1], 0x00000010U);
1589 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1590}
1591inline ::int32_t BopParameters::_internal_max_num_broken_constraints_in_ls() const {
1592 ::google::protobuf::internal::TSanRead(&_impl_);
1593 return _impl_.max_num_broken_constraints_in_ls_;
1594}
1595inline void BopParameters::_internal_set_max_num_broken_constraints_in_ls(::int32_t value) {
1596 ::google::protobuf::internal::TSanWrite(&_impl_);
1597 _impl_.max_num_broken_constraints_in_ls_ = value;
1598}
1599
1600// optional bool log_search_progress = 14 [default = false];
1601inline bool BopParameters::has_log_search_progress() const {
1602 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
1603 return value;
1604}
1606 ::google::protobuf::internal::TSanWrite(&_impl_);
1607 _impl_.log_search_progress_ = false;
1608 ClearHasBit(_impl_._has_bits_[0],
1609 0x00000008U);
1611inline bool BopParameters::log_search_progress() const {
1612 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.log_search_progress)
1613 return _internal_log_search_progress();
1615inline void BopParameters::set_log_search_progress(bool value) {
1616 _internal_set_log_search_progress(value);
1617 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
1618 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.log_search_progress)
1619}
1620inline bool BopParameters::_internal_log_search_progress() const {
1621 ::google::protobuf::internal::TSanRead(&_impl_);
1622 return _impl_.log_search_progress_;
1623}
1624inline void BopParameters::_internal_set_log_search_progress(bool value) {
1625 ::google::protobuf::internal::TSanWrite(&_impl_);
1626 _impl_.log_search_progress_ = value;
1627}
1628
1629// optional bool compute_estimated_impact = 3 [default = true];
1631 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00002000U);
1632 return value;
1633}
1635 ::google::protobuf::internal::TSanWrite(&_impl_);
1636 _impl_.compute_estimated_impact_ = true;
1637 ClearHasBit(_impl_._has_bits_[0],
1638 0x00002000U);
1640inline bool BopParameters::compute_estimated_impact() const {
1641 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.compute_estimated_impact)
1642 return _internal_compute_estimated_impact();
1644inline void BopParameters::set_compute_estimated_impact(bool value) {
1645 _internal_set_compute_estimated_impact(value);
1646 SetHasBit(_impl_._has_bits_[0], 0x00002000U);
1647 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.compute_estimated_impact)
1648}
1649inline bool BopParameters::_internal_compute_estimated_impact() const {
1650 ::google::protobuf::internal::TSanRead(&_impl_);
1651 return _impl_.compute_estimated_impact_;
1652}
1653inline void BopParameters::_internal_set_compute_estimated_impact(bool value) {
1654 ::google::protobuf::internal::TSanWrite(&_impl_);
1655 _impl_.compute_estimated_impact_ = value;
1656}
1657
1658// optional bool prune_search_tree = 4 [default = false];
1659inline bool BopParameters::has_prune_search_tree() const {
1660 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
1661 return value;
1662}
1664 ::google::protobuf::internal::TSanWrite(&_impl_);
1665 _impl_.prune_search_tree_ = false;
1666 ClearHasBit(_impl_._has_bits_[0],
1667 0x00000002U);
1669inline bool BopParameters::prune_search_tree() const {
1670 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.prune_search_tree)
1671 return _internal_prune_search_tree();
1673inline void BopParameters::set_prune_search_tree(bool value) {
1674 _internal_set_prune_search_tree(value);
1675 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
1676 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.prune_search_tree)
1677}
1678inline bool BopParameters::_internal_prune_search_tree() const {
1679 ::google::protobuf::internal::TSanRead(&_impl_);
1680 return _impl_.prune_search_tree_;
1681}
1682inline void BopParameters::_internal_set_prune_search_tree(bool value) {
1683 ::google::protobuf::internal::TSanWrite(&_impl_);
1684 _impl_.prune_search_tree_ = value;
1685}
1686
1687// optional bool sort_constraints_by_num_terms = 5 [default = false];
1689 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
1690 return value;
1691}
1693 ::google::protobuf::internal::TSanWrite(&_impl_);
1694 _impl_.sort_constraints_by_num_terms_ = false;
1695 ClearHasBit(_impl_._has_bits_[0],
1696 0x00000004U);
1699 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1700 return _internal_sort_constraints_by_num_terms();
1703 _internal_set_sort_constraints_by_num_terms(value);
1704 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
1705 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1706}
1707inline bool BopParameters::_internal_sort_constraints_by_num_terms() const {
1708 ::google::protobuf::internal::TSanRead(&_impl_);
1709 return _impl_.sort_constraints_by_num_terms_;
1710}
1711inline void BopParameters::_internal_set_sort_constraints_by_num_terms(bool value) {
1712 ::google::protobuf::internal::TSanWrite(&_impl_);
1713 _impl_.sort_constraints_by_num_terms_ = value;
1714}
1715
1716// optional bool use_random_lns = 6 [default = true];
1717inline bool BopParameters::has_use_random_lns() const {
1718 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00004000U);
1719 return value;
1720}
1722 ::google::protobuf::internal::TSanWrite(&_impl_);
1723 _impl_.use_random_lns_ = true;
1724 ClearHasBit(_impl_._has_bits_[0],
1725 0x00004000U);
1727inline bool BopParameters::use_random_lns() const {
1728 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_random_lns)
1729 return _internal_use_random_lns();
1731inline void BopParameters::set_use_random_lns(bool value) {
1732 _internal_set_use_random_lns(value);
1733 SetHasBit(_impl_._has_bits_[0], 0x00004000U);
1734 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_random_lns)
1735}
1736inline bool BopParameters::_internal_use_random_lns() const {
1737 ::google::protobuf::internal::TSanRead(&_impl_);
1738 return _impl_.use_random_lns_;
1739}
1740inline void BopParameters::_internal_set_use_random_lns(bool value) {
1741 ::google::protobuf::internal::TSanWrite(&_impl_);
1742 _impl_.use_random_lns_ = value;
1743}
1744
1745// optional int32 random_seed = 7 [default = 8];
1746inline bool BopParameters::has_random_seed() const {
1747 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000400U);
1748 return value;
1749}
1751 ::google::protobuf::internal::TSanWrite(&_impl_);
1752 _impl_.random_seed_ = 8;
1753 ClearHasBit(_impl_._has_bits_[0],
1754 0x00000400U);
1756inline ::int32_t BopParameters::random_seed() const {
1757 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.random_seed)
1758 return _internal_random_seed();
1760inline void BopParameters::set_random_seed(::int32_t value) {
1761 _internal_set_random_seed(value);
1762 SetHasBit(_impl_._has_bits_[0], 0x00000400U);
1763 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.random_seed)
1764}
1765inline ::int32_t BopParameters::_internal_random_seed() const {
1766 ::google::protobuf::internal::TSanRead(&_impl_);
1767 return _impl_.random_seed_;
1768}
1769inline void BopParameters::_internal_set_random_seed(::int32_t value) {
1770 ::google::protobuf::internal::TSanWrite(&_impl_);
1771 _impl_.random_seed_ = value;
1772}
1773
1774// optional int32 num_relaxed_vars = 8 [default = 10];
1775inline bool BopParameters::has_num_relaxed_vars() const {
1776 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000800U);
1777 return value;
1778}
1780 ::google::protobuf::internal::TSanWrite(&_impl_);
1781 _impl_.num_relaxed_vars_ = 10;
1782 ClearHasBit(_impl_._has_bits_[0],
1783 0x00000800U);
1785inline ::int32_t BopParameters::num_relaxed_vars() const {
1786 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_relaxed_vars)
1787 return _internal_num_relaxed_vars();
1789inline void BopParameters::set_num_relaxed_vars(::int32_t value) {
1790 _internal_set_num_relaxed_vars(value);
1791 SetHasBit(_impl_._has_bits_[0], 0x00000800U);
1792 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_relaxed_vars)
1793}
1794inline ::int32_t BopParameters::_internal_num_relaxed_vars() const {
1795 ::google::protobuf::internal::TSanRead(&_impl_);
1796 return _impl_.num_relaxed_vars_;
1797}
1798inline void BopParameters::_internal_set_num_relaxed_vars(::int32_t value) {
1799 ::google::protobuf::internal::TSanWrite(&_impl_);
1800 _impl_.num_relaxed_vars_ = value;
1801}
1802
1803// optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
1805 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00001000U);
1806 return value;
1807}
1809 ::google::protobuf::internal::TSanWrite(&_impl_);
1810 _impl_.max_number_of_conflicts_in_random_lns_ = 2500;
1811 ClearHasBit(_impl_._has_bits_[0],
1812 0x00001000U);
1815 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1816 return _internal_max_number_of_conflicts_in_random_lns();
1819 _internal_set_max_number_of_conflicts_in_random_lns(value);
1820 SetHasBit(_impl_._has_bits_[0], 0x00001000U);
1821 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1822}
1823inline ::int32_t BopParameters::_internal_max_number_of_conflicts_in_random_lns() const {
1824 ::google::protobuf::internal::TSanRead(&_impl_);
1825 return _impl_.max_number_of_conflicts_in_random_lns_;
1826}
1827inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_lns(::int32_t value) {
1828 ::google::protobuf::internal::TSanWrite(&_impl_);
1829 _impl_.max_number_of_conflicts_in_random_lns_ = value;
1830}
1831
1832// optional int32 num_random_lns_tries = 10 [default = 1];
1833inline bool BopParameters::has_num_random_lns_tries() const {
1834 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00020000U);
1835 return value;
1836}
1838 ::google::protobuf::internal::TSanWrite(&_impl_);
1839 _impl_.num_random_lns_tries_ = 1;
1840 ClearHasBit(_impl_._has_bits_[0],
1841 0x00020000U);
1843inline ::int32_t BopParameters::num_random_lns_tries() const {
1844 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_random_lns_tries)
1845 return _internal_num_random_lns_tries();
1847inline void BopParameters::set_num_random_lns_tries(::int32_t value) {
1848 _internal_set_num_random_lns_tries(value);
1849 SetHasBit(_impl_._has_bits_[0], 0x00020000U);
1850 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_random_lns_tries)
1851}
1852inline ::int32_t BopParameters::_internal_num_random_lns_tries() const {
1853 ::google::protobuf::internal::TSanRead(&_impl_);
1854 return _impl_.num_random_lns_tries_;
1855}
1856inline void BopParameters::_internal_set_num_random_lns_tries(::int32_t value) {
1857 ::google::protobuf::internal::TSanWrite(&_impl_);
1858 _impl_.num_random_lns_tries_ = value;
1859}
1860
1861// optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1863 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00040000U);
1864 return value;
1865}
1867 ::google::protobuf::internal::TSanWrite(&_impl_);
1868 _impl_.max_number_of_backtracks_in_ls_ = ::int64_t{100000000};
1869 ClearHasBit(_impl_._has_bits_[0],
1870 0x00040000U);
1872inline ::int64_t BopParameters::max_number_of_backtracks_in_ls() const {
1873 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1874 return _internal_max_number_of_backtracks_in_ls();
1876inline void BopParameters::set_max_number_of_backtracks_in_ls(::int64_t value) {
1877 _internal_set_max_number_of_backtracks_in_ls(value);
1878 SetHasBit(_impl_._has_bits_[0], 0x00040000U);
1879 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1880}
1881inline ::int64_t BopParameters::_internal_max_number_of_backtracks_in_ls() const {
1882 ::google::protobuf::internal::TSanRead(&_impl_);
1883 return _impl_.max_number_of_backtracks_in_ls_;
1884}
1885inline void BopParameters::_internal_set_max_number_of_backtracks_in_ls(::int64_t value) {
1886 ::google::protobuf::internal::TSanWrite(&_impl_);
1887 _impl_.max_number_of_backtracks_in_ls_ = value;
1888}
1889
1890// optional bool use_lp_lns = 12 [default = true];
1891inline bool BopParameters::has_use_lp_lns() const {
1892 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00008000U);
1893 return value;
1894}
1895inline void BopParameters::clear_use_lp_lns() {
1896 ::google::protobuf::internal::TSanWrite(&_impl_);
1897 _impl_.use_lp_lns_ = true;
1898 ClearHasBit(_impl_._has_bits_[0],
1899 0x00008000U);
1901inline bool BopParameters::use_lp_lns() const {
1902 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_lns)
1903 return _internal_use_lp_lns();
1905inline void BopParameters::set_use_lp_lns(bool value) {
1906 _internal_set_use_lp_lns(value);
1907 SetHasBit(_impl_._has_bits_[0], 0x00008000U);
1908 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_lns)
1909}
1910inline bool BopParameters::_internal_use_lp_lns() const {
1911 ::google::protobuf::internal::TSanRead(&_impl_);
1912 return _impl_.use_lp_lns_;
1913}
1914inline void BopParameters::_internal_set_use_lp_lns(bool value) {
1915 ::google::protobuf::internal::TSanWrite(&_impl_);
1916 _impl_.use_lp_lns_ = value;
1917}
1918
1919// optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
1921 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00010000U);
1922 return value;
1923}
1925 ::google::protobuf::internal::TSanWrite(&_impl_);
1926 _impl_.use_sat_to_choose_lns_neighbourhood_ = true;
1927 ClearHasBit(_impl_._has_bits_[0],
1928 0x00010000U);
1931 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1932 return _internal_use_sat_to_choose_lns_neighbourhood();
1935 _internal_set_use_sat_to_choose_lns_neighbourhood(value);
1936 SetHasBit(_impl_._has_bits_[0], 0x00010000U);
1937 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1938}
1939inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood() const {
1940 ::google::protobuf::internal::TSanRead(&_impl_);
1941 return _impl_.use_sat_to_choose_lns_neighbourhood_;
1942}
1943inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(bool value) {
1944 ::google::protobuf::internal::TSanWrite(&_impl_);
1945 _impl_.use_sat_to_choose_lns_neighbourhood_ = value;
1946}
1947
1948// optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1950 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00080000U);
1951 return value;
1952}
1954 ::google::protobuf::internal::TSanWrite(&_impl_);
1955 _impl_.max_number_of_conflicts_for_quick_check_ = 10;
1956 ClearHasBit(_impl_._has_bits_[0],
1957 0x00080000U);
1960 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1961 return _internal_max_number_of_conflicts_for_quick_check();
1964 _internal_set_max_number_of_conflicts_for_quick_check(value);
1965 SetHasBit(_impl_._has_bits_[0], 0x00080000U);
1966 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1967}
1968inline ::int32_t BopParameters::_internal_max_number_of_conflicts_for_quick_check() const {
1969 ::google::protobuf::internal::TSanRead(&_impl_);
1970 return _impl_.max_number_of_conflicts_for_quick_check_;
1971}
1972inline void BopParameters::_internal_set_max_number_of_conflicts_for_quick_check(::int32_t value) {
1973 ::google::protobuf::internal::TSanWrite(&_impl_);
1974 _impl_.max_number_of_conflicts_for_quick_check_ = value;
1975}
1976
1977// optional bool use_symmetry = 17 [default = false];
1978inline bool BopParameters::has_use_symmetry() const {
1979 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
1980 return value;
1981}
1983 ::google::protobuf::internal::TSanWrite(&_impl_);
1984 _impl_.use_symmetry_ = false;
1985 ClearHasBit(_impl_._has_bits_[0],
1986 0x00000010U);
1988inline bool BopParameters::use_symmetry() const {
1989 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_symmetry)
1990 return _internal_use_symmetry();
1992inline void BopParameters::set_use_symmetry(bool value) {
1993 _internal_set_use_symmetry(value);
1994 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
1995 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_symmetry)
1996}
1997inline bool BopParameters::_internal_use_symmetry() const {
1998 ::google::protobuf::internal::TSanRead(&_impl_);
1999 return _impl_.use_symmetry_;
2000}
2001inline void BopParameters::_internal_set_use_symmetry(bool value) {
2002 ::google::protobuf::internal::TSanWrite(&_impl_);
2003 _impl_.use_symmetry_ = value;
2004}
2005
2006// optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
2008 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000002U);
2009 return value;
2010}
2012 ::google::protobuf::internal::TSanWrite(&_impl_);
2013 _impl_.exploit_symmetry_in_sat_first_solution_ = false;
2014 ClearHasBit(_impl_._has_bits_[1],
2015 0x00000002U);
2018 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
2019 return _internal_exploit_symmetry_in_sat_first_solution();
2022 _internal_set_exploit_symmetry_in_sat_first_solution(value);
2023 SetHasBit(_impl_._has_bits_[1], 0x00000002U);
2024 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
2025}
2026inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution() const {
2027 ::google::protobuf::internal::TSanRead(&_impl_);
2028 return _impl_.exploit_symmetry_in_sat_first_solution_;
2029}
2030inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(bool value) {
2031 ::google::protobuf::internal::TSanWrite(&_impl_);
2032 _impl_.exploit_symmetry_in_sat_first_solution_ = value;
2033}
2034
2035// optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
2037 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00100000U);
2038 return value;
2039}
2041 ::google::protobuf::internal::TSanWrite(&_impl_);
2042 _impl_.max_number_of_conflicts_in_random_solution_generation_ = 500;
2043 ClearHasBit(_impl_._has_bits_[0],
2044 0x00100000U);
2047 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
2048 return _internal_max_number_of_conflicts_in_random_solution_generation();
2051 _internal_set_max_number_of_conflicts_in_random_solution_generation(value);
2052 SetHasBit(_impl_._has_bits_[0], 0x00100000U);
2053 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
2054}
2055inline ::int32_t BopParameters::_internal_max_number_of_conflicts_in_random_solution_generation() const {
2056 ::google::protobuf::internal::TSanRead(&_impl_);
2057 return _impl_.max_number_of_conflicts_in_random_solution_generation_;
2058}
2059inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_solution_generation(::int32_t value) {
2060 ::google::protobuf::internal::TSanWrite(&_impl_);
2061 _impl_.max_number_of_conflicts_in_random_solution_generation_ = value;
2062}
2063
2064// optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
2066 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00200000U);
2067 return value;
2068}
2070 ::google::protobuf::internal::TSanWrite(&_impl_);
2071 _impl_.max_number_of_explored_assignments_per_try_in_ls_ = ::int64_t{10000};
2072 ClearHasBit(_impl_._has_bits_[0],
2073 0x00200000U);
2076 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
2077 return _internal_max_number_of_explored_assignments_per_try_in_ls();
2080 _internal_set_max_number_of_explored_assignments_per_try_in_ls(value);
2081 SetHasBit(_impl_._has_bits_[0], 0x00200000U);
2082 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
2083}
2084inline ::int64_t BopParameters::_internal_max_number_of_explored_assignments_per_try_in_ls() const {
2085 ::google::protobuf::internal::TSanRead(&_impl_);
2086 return _impl_.max_number_of_explored_assignments_per_try_in_ls_;
2087}
2088inline void BopParameters::_internal_set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value) {
2089 ::google::protobuf::internal::TSanWrite(&_impl_);
2090 _impl_.max_number_of_explored_assignments_per_try_in_ls_ = value;
2091}
2092
2093// optional bool use_transposition_table_in_ls = 22 [default = true];
2095 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00400000U);
2096 return value;
2097}
2099 ::google::protobuf::internal::TSanWrite(&_impl_);
2100 _impl_.use_transposition_table_in_ls_ = true;
2101 ClearHasBit(_impl_._has_bits_[0],
2102 0x00400000U);
2105 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2106 return _internal_use_transposition_table_in_ls();
2109 _internal_set_use_transposition_table_in_ls(value);
2110 SetHasBit(_impl_._has_bits_[0], 0x00400000U);
2111 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2112}
2113inline bool BopParameters::_internal_use_transposition_table_in_ls() const {
2114 ::google::protobuf::internal::TSanRead(&_impl_);
2115 return _impl_.use_transposition_table_in_ls_;
2116}
2117inline void BopParameters::_internal_set_use_transposition_table_in_ls(bool value) {
2118 ::google::protobuf::internal::TSanWrite(&_impl_);
2119 _impl_.use_transposition_table_in_ls_ = value;
2120}
2121
2122// optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
2124 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000001U);
2125 return value;
2126}
2128 ::google::protobuf::internal::TSanWrite(&_impl_);
2129 _impl_.use_potential_one_flip_repairs_in_ls_ = false;
2130 ClearHasBit(_impl_._has_bits_[1],
2131 0x00000001U);
2134 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2135 return _internal_use_potential_one_flip_repairs_in_ls();
2138 _internal_set_use_potential_one_flip_repairs_in_ls(value);
2139 SetHasBit(_impl_._has_bits_[1], 0x00000001U);
2140 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2141}
2142inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls() const {
2143 ::google::protobuf::internal::TSanRead(&_impl_);
2144 return _impl_.use_potential_one_flip_repairs_in_ls_;
2145}
2146inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(bool value) {
2147 ::google::protobuf::internal::TSanWrite(&_impl_);
2148 _impl_.use_potential_one_flip_repairs_in_ls_ = value;
2149}
2150
2151// optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
2153 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00800000U);
2154 return value;
2155}
2157 ::google::protobuf::internal::TSanWrite(&_impl_);
2158 _impl_.use_learned_binary_clauses_in_lp_ = true;
2159 ClearHasBit(_impl_._has_bits_[0],
2160 0x00800000U);
2163 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2164 return _internal_use_learned_binary_clauses_in_lp();
2167 _internal_set_use_learned_binary_clauses_in_lp(value);
2168 SetHasBit(_impl_._has_bits_[0], 0x00800000U);
2169 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2170}
2171inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp() const {
2172 ::google::protobuf::internal::TSanRead(&_impl_);
2173 return _impl_.use_learned_binary_clauses_in_lp_;
2174}
2175inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(bool value) {
2176 ::google::protobuf::internal::TSanWrite(&_impl_);
2177 _impl_.use_learned_binary_clauses_in_lp_ = value;
2178}
2179
2180// optional int32 number_of_solvers = 24 [default = 1];
2181inline bool BopParameters::has_number_of_solvers() const {
2182 bool value = CheckHasBit(_impl_._has_bits_[0], 0x01000000U);
2183 return value;
2184}
2186 ::google::protobuf::internal::TSanWrite(&_impl_);
2187 _impl_.number_of_solvers_ = 1;
2188 ClearHasBit(_impl_._has_bits_[0],
2189 0x01000000U);
2191inline ::int32_t BopParameters::number_of_solvers() const {
2192 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.number_of_solvers)
2193 return _internal_number_of_solvers();
2195inline void BopParameters::set_number_of_solvers(::int32_t value) {
2196 _internal_set_number_of_solvers(value);
2197 SetHasBit(_impl_._has_bits_[0], 0x01000000U);
2198 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.number_of_solvers)
2199}
2200inline ::int32_t BopParameters::_internal_number_of_solvers() const {
2201 ::google::protobuf::internal::TSanRead(&_impl_);
2202 return _impl_.number_of_solvers_;
2203}
2204inline void BopParameters::_internal_set_number_of_solvers(::int32_t value) {
2205 ::google::protobuf::internal::TSanWrite(&_impl_);
2206 _impl_.number_of_solvers_ = value;
2207}
2208
2209// optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
2210inline bool BopParameters::has_synchronization_type() const {
2211 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
2212 return value;
2213}
2215 ::google::protobuf::internal::TSanWrite(&_impl_);
2216 _impl_.synchronization_type_ = 0;
2217 ClearHasBit(_impl_._has_bits_[0],
2218 0x00000020U);
2220inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::synchronization_type() const {
2221 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.synchronization_type)
2222 return _internal_synchronization_type();
2225 _internal_set_synchronization_type(value);
2226 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
2227 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.synchronization_type)
2228}
2229inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::_internal_synchronization_type() const {
2230 ::google::protobuf::internal::TSanRead(&_impl_);
2231 return static_cast<::operations_research::bop::BopParameters_ThreadSynchronizationType>(_impl_.synchronization_type_);
2232}
2233inline void BopParameters::_internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value) {
2234 ::google::protobuf::internal::TSanWrite(&_impl_);
2235
2236 assert(::google::protobuf::internal::ValidateEnum(
2238 _impl_.synchronization_type_ = value;
2239}
2240
2241// repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
2242inline int BopParameters::_internal_solver_optimizer_sets_size() const {
2243 return _internal_solver_optimizer_sets().size();
2244}
2246 return _internal_solver_optimizer_sets_size();
2247}
2249 ::google::protobuf::internal::TSanWrite(&_impl_);
2250 _impl_.solver_optimizer_sets_.Clear();
2251 ClearHasBitForRepeated(_impl_._has_bits_[0],
2252 0x00000001U);
2253}
2254inline ::operations_research::bop::BopSolverOptimizerSet* PROTOBUF_NONNULL BopParameters::mutable_solver_optimizer_sets(int index)
2255 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2256 // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.solver_optimizer_sets)
2257 return _internal_mutable_solver_optimizer_sets()->Mutable(index);
2258}
2259inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL BopParameters::mutable_solver_optimizer_sets()
2260 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2261 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2262 // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2263 ::google::protobuf::internal::TSanWrite(&_impl_);
2264 return _internal_mutable_solver_optimizer_sets();
2265}
2266inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::solver_optimizer_sets(int index) const
2267 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2268 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.solver_optimizer_sets)
2269 return _internal_solver_optimizer_sets().Get(index);
2270}
2271inline ::operations_research::bop::BopSolverOptimizerSet* PROTOBUF_NONNULL BopParameters::add_solver_optimizer_sets()
2272 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2273 ::google::protobuf::internal::TSanWrite(&_impl_);
2275 _internal_mutable_solver_optimizer_sets()->InternalAddWithArena(
2276 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
2277 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
2278 // @@protoc_insertion_point(field_add:operations_research.bop.BopParameters.solver_optimizer_sets)
2279 return _add;
2281inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>& BopParameters::solver_optimizer_sets() const
2282 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2283 // @@protoc_insertion_point(field_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2284 return _internal_solver_optimizer_sets();
2285}
2286inline const ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>&
2287BopParameters::_internal_solver_optimizer_sets() const {
2288 ::google::protobuf::internal::TSanRead(&_impl_);
2289 return _impl_.solver_optimizer_sets_;
2291inline ::google::protobuf::RepeatedPtrField<::operations_research::bop::BopSolverOptimizerSet>* PROTOBUF_NONNULL
2292BopParameters::_internal_mutable_solver_optimizer_sets() {
2293 ::google::protobuf::internal::TSanRead(&_impl_);
2294 return &_impl_.solver_optimizer_sets_;
2295}
2296
2297// 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 } "];
2299 bool value = CheckHasBit(_impl_._has_bits_[0], 0x40000000U);
2300 return value;
2301}
2303 ::google::protobuf::internal::TSanWrite(&_impl_);
2304 _impl_.default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
2305 ClearHasBit(_impl_._has_bits_[0],
2306 0x40000000U);
2308inline const ::std::string& BopParameters::default_solver_optimizer_sets() const
2309 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2310 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2311 if (_impl_.default_solver_optimizer_sets_.IsDefault()) {
2312 return Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get();
2313 }
2314 return _internal_default_solver_optimizer_sets();
2315}
2316template <typename Arg_, typename... Args_>
2317PROTOBUF_ALWAYS_INLINE void BopParameters::set_default_solver_optimizer_sets(Arg_&& arg, Args_... args) {
2318 ::google::protobuf::internal::TSanWrite(&_impl_);
2319 SetHasBit(_impl_._has_bits_[0], 0x40000000U);
2320 _impl_.default_solver_optimizer_sets_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
2321 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2322}
2323inline ::std::string* PROTOBUF_NONNULL BopParameters::mutable_default_solver_optimizer_sets()
2324 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2325 SetHasBit(_impl_._has_bits_[0], 0x40000000U);
2326 ::std::string* _s = _internal_mutable_default_solver_optimizer_sets();
2327 // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2328 return _s;
2329}
2330inline const ::std::string& BopParameters::_internal_default_solver_optimizer_sets() const {
2331 ::google::protobuf::internal::TSanRead(&_impl_);
2332 return _impl_.default_solver_optimizer_sets_.Get();
2333}
2334inline void BopParameters::_internal_set_default_solver_optimizer_sets(const ::std::string& value) {
2335 ::google::protobuf::internal::TSanWrite(&_impl_);
2336 _impl_.default_solver_optimizer_sets_.Set(value, GetArena());
2337}
2338inline ::std::string* PROTOBUF_NONNULL BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2339 ::google::protobuf::internal::TSanWrite(&_impl_);
2340 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());
2341}
2342inline ::std::string* PROTOBUF_NULLABLE BopParameters::release_default_solver_optimizer_sets() {
2343 ::google::protobuf::internal::TSanWrite(&_impl_);
2344 // @@protoc_insertion_point(field_release:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2345 if (!CheckHasBit(_impl_._has_bits_[0], 0x40000000U)) {
2346 return nullptr;
2347 }
2348 ClearHasBit(_impl_._has_bits_[0], 0x40000000U);
2349 return _impl_.default_solver_optimizer_sets_.Release();
2350}
2351inline void BopParameters::set_allocated_default_solver_optimizer_sets(::std::string* PROTOBUF_NULLABLE value) {
2352 ::google::protobuf::internal::TSanWrite(&_impl_);
2353 if (value != nullptr) {
2354 SetHasBit(_impl_._has_bits_[0], 0x40000000U);
2355 } else {
2356 ClearHasBit(_impl_._has_bits_[0], 0x40000000U);
2357 }
2358 _impl_.default_solver_optimizer_sets_.SetAllocated(value, GetArena());
2359 // @@protoc_insertion_point(field_set_allocated:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2361
2362// optional bool use_lp_strong_branching = 29 [default = false];
2364 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
2365 return value;
2366}
2368 ::google::protobuf::internal::TSanWrite(&_impl_);
2369 _impl_.use_lp_strong_branching_ = false;
2370 ClearHasBit(_impl_._has_bits_[0],
2371 0x00000040U);
2373inline bool BopParameters::use_lp_strong_branching() const {
2374 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_strong_branching)
2375 return _internal_use_lp_strong_branching();
2377inline void BopParameters::set_use_lp_strong_branching(bool value) {
2378 _internal_set_use_lp_strong_branching(value);
2379 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
2380 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_strong_branching)
2381}
2382inline bool BopParameters::_internal_use_lp_strong_branching() const {
2383 ::google::protobuf::internal::TSanRead(&_impl_);
2384 return _impl_.use_lp_strong_branching_;
2385}
2386inline void BopParameters::_internal_set_use_lp_strong_branching(bool value) {
2387 ::google::protobuf::internal::TSanWrite(&_impl_);
2388 _impl_.use_lp_strong_branching_ = value;
2389}
2390
2391// optional int32 decomposer_num_variables_threshold = 30 [default = 50];
2393 bool value = CheckHasBit(_impl_._has_bits_[0], 0x08000000U);
2394 return value;
2395}
2397 ::google::protobuf::internal::TSanWrite(&_impl_);
2398 _impl_.decomposer_num_variables_threshold_ = 50;
2399 ClearHasBit(_impl_._has_bits_[0],
2400 0x08000000U);
2403 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2404 return _internal_decomposer_num_variables_threshold();
2406inline void BopParameters::set_decomposer_num_variables_threshold(::int32_t value) {
2407 _internal_set_decomposer_num_variables_threshold(value);
2408 SetHasBit(_impl_._has_bits_[0], 0x08000000U);
2409 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2410}
2411inline ::int32_t BopParameters::_internal_decomposer_num_variables_threshold() const {
2412 ::google::protobuf::internal::TSanRead(&_impl_);
2413 return _impl_.decomposer_num_variables_threshold_;
2414}
2415inline void BopParameters::_internal_set_decomposer_num_variables_threshold(::int32_t value) {
2416 ::google::protobuf::internal::TSanWrite(&_impl_);
2417 _impl_.decomposer_num_variables_threshold_ = value;
2418}
2419
2420// optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
2422 bool value = CheckHasBit(_impl_._has_bits_[0], 0x10000000U);
2423 return value;
2424}
2426 ::google::protobuf::internal::TSanWrite(&_impl_);
2427 _impl_.num_bop_solvers_used_by_decomposition_ = 1;
2428 ClearHasBit(_impl_._has_bits_[0],
2429 0x10000000U);
2432 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2433 return _internal_num_bop_solvers_used_by_decomposition();
2436 _internal_set_num_bop_solvers_used_by_decomposition(value);
2437 SetHasBit(_impl_._has_bits_[0], 0x10000000U);
2438 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2439}
2440inline ::int32_t BopParameters::_internal_num_bop_solvers_used_by_decomposition() const {
2441 ::google::protobuf::internal::TSanRead(&_impl_);
2442 return _impl_.num_bop_solvers_used_by_decomposition_;
2443}
2444inline void BopParameters::_internal_set_num_bop_solvers_used_by_decomposition(::int32_t value) {
2445 ::google::protobuf::internal::TSanWrite(&_impl_);
2446 _impl_.num_bop_solvers_used_by_decomposition_ = value;
2447}
2448
2449// optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
2451 bool value = CheckHasBit(_impl_._has_bits_[0], 0x80000000U);
2452 return value;
2453}
2455 ::google::protobuf::internal::TSanWrite(&_impl_);
2456 _impl_.decomposed_problem_min_time_in_seconds_ = 0;
2457 ClearHasBit(_impl_._has_bits_[0],
2458 0x80000000U);
2461 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2462 return _internal_decomposed_problem_min_time_in_seconds();
2465 _internal_set_decomposed_problem_min_time_in_seconds(value);
2466 SetHasBit(_impl_._has_bits_[0], 0x80000000U);
2467 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2468}
2469inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds() const {
2470 ::google::protobuf::internal::TSanRead(&_impl_);
2471 return _impl_.decomposed_problem_min_time_in_seconds_;
2472}
2473inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(double value) {
2474 ::google::protobuf::internal::TSanWrite(&_impl_);
2475 _impl_.decomposed_problem_min_time_in_seconds_ = value;
2476}
2477
2478// optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
2480 bool value = CheckHasBit(_impl_._has_bits_[0], 0x20000000U);
2481 return value;
2482}
2484 ::google::protobuf::internal::TSanWrite(&_impl_);
2485 _impl_.guided_sat_conflicts_chunk_ = 1000;
2486 ClearHasBit(_impl_._has_bits_[0],
2487 0x20000000U);
2489inline ::int32_t BopParameters::guided_sat_conflicts_chunk() const {
2490 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2491 return _internal_guided_sat_conflicts_chunk();
2493inline void BopParameters::set_guided_sat_conflicts_chunk(::int32_t value) {
2494 _internal_set_guided_sat_conflicts_chunk(value);
2495 SetHasBit(_impl_._has_bits_[0], 0x20000000U);
2496 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2497}
2498inline ::int32_t BopParameters::_internal_guided_sat_conflicts_chunk() const {
2499 ::google::protobuf::internal::TSanRead(&_impl_);
2500 return _impl_.guided_sat_conflicts_chunk_;
2501}
2502inline void BopParameters::_internal_set_guided_sat_conflicts_chunk(::int32_t value) {
2503 ::google::protobuf::internal::TSanWrite(&_impl_);
2504 _impl_.guided_sat_conflicts_chunk_ = value;
2505}
2506
2507// optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
2509 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000004U);
2510 return value;
2511}
2513 ::google::protobuf::internal::TSanWrite(&_impl_);
2514 _impl_.max_lp_solve_for_feasibility_problems_ = 0;
2515 ClearHasBit(_impl_._has_bits_[1],
2516 0x00000004U);
2519 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2520 return _internal_max_lp_solve_for_feasibility_problems();
2523 _internal_set_max_lp_solve_for_feasibility_problems(value);
2524 SetHasBit(_impl_._has_bits_[1], 0x00000004U);
2525 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2526}
2527inline ::int32_t BopParameters::_internal_max_lp_solve_for_feasibility_problems() const {
2528 ::google::protobuf::internal::TSanRead(&_impl_);
2529 return _impl_.max_lp_solve_for_feasibility_problems_;
2530}
2531inline void BopParameters::_internal_set_max_lp_solve_for_feasibility_problems(::int32_t value) {
2532 ::google::protobuf::internal::TSanWrite(&_impl_);
2533 _impl_.max_lp_solve_for_feasibility_problems_ = value;
2534}
2535
2536#ifdef __GNUC__
2537#pragma GCC diagnostic pop
2538#endif // __GNUC__
2539
2540// @@protoc_insertion_point(namespace_scope)
2541} // namespace bop
2542} // namespace operations_research
2543
2544
2545namespace google {
2546namespace protobuf {
2547
2548template <>
2549struct is_proto_enum<::operations_research::bop::BopOptimizerMethod_OptimizerType> : std::true_type {};
2550template <>
2551inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::bop::BopOptimizerMethod_OptimizerType>() {
2552 return ::operations_research::bop::BopOptimizerMethod_OptimizerType_descriptor();
2553}
2554template <>
2555struct is_proto_enum<::operations_research::bop::BopParameters_ThreadSynchronizationType> : std::true_type {};
2556template <>
2558 return ::operations_research::bop::BopParameters_ThreadSynchronizationType_descriptor();
2559}
2561} // namespace protobuf
2562} // namespace google
2563
2564// @@protoc_insertion_point(global_scope)
2565
2566#include "google/protobuf/port_undef.inc"
2567
2568#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
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
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)
static constexpr OptimizerType RANDOM_FIRST_SOLUTION
static constexpr OptimizerType LOCAL_SEARCH
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
friend class ::google::protobuf::MessageLite
::operations_research::bop::BopSolverOptimizerSet *PROTOBUF_NONNULL add_solver_optimizer_sets()
void set_max_lp_solve_for_feasibility_problems(::int32_t value)
void set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value)
void set_max_num_broken_constraints_in_ls(::int32_t value)
::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
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
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void set_max_number_of_conflicts_in_random_lns(::int32_t value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_max_number_of_explored_assignments_per_try_in_ls(::int64_t value)
static bool ThreadSynchronizationType_IsValid(int value)
void set_num_bop_solvers_used_by_decomposition(::int32_t value)
void CopyFrom(const BopParameters &from)
void set_decomposer_num_variables_threshold(::int32_t value)
void set_max_number_of_consecutive_failing_optimizer_calls(::int32_t value)
void set_max_number_of_backtracks_in_ls(::int64_t value)
::int32_t max_number_of_consecutive_failing_optimizer_calls() const
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)
void set_default_solver_optimizer_sets(Arg_ &&arg, Args_... args)
::operations_research::bop::BopSolverOptimizerSet *PROTOBUF_NONNULL mutable_solver_optimizer_sets(int index)
BopParameters_ThreadSynchronizationType ThreadSynchronizationType
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)
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)
friend void swap(BopParameters &a, BopParameters &b)
static constexpr int ThreadSynchronizationType_ARRAYSIZE
void set_decomposed_problem_min_time_in_seconds(double value)
::std::string *PROTOBUF_NONNULL mutable_default_solver_optimizer_sets()
::int64_t max_number_of_explored_assignments_per_try_in_ls() const
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()
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
OR-Tools root namespace.