OR-Tools  9.2
bop_parameters.pb.h
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: ortools/bop/bop_parameters.proto
3
4#ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto
5#define GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto
6
7#include <limits>
8#include <string>
9
10#include <google/protobuf/port_def.inc>
11#if PROTOBUF_VERSION < 3019000
12#error This file was generated by a newer version of protoc which is
13#error incompatible with your Protocol Buffer headers. Please update
14#error your headers.
15#endif
16#if 3019001 < PROTOBUF_MIN_PROTOC_VERSION
17#error This file was generated by an older version of protoc which is
18#error incompatible with your Protocol Buffer headers. Please
19#error regenerate this file with a newer version of protoc.
20#endif
21
22#include <google/protobuf/port_undef.inc>
23#include <google/protobuf/io/coded_stream.h>
24#include <google/protobuf/arena.h>
25#include <google/protobuf/arenastring.h>
26#include <google/protobuf/generated_message_table_driven.h>
27#include <google/protobuf/generated_message_util.h>
28#include <google/protobuf/metadata_lite.h>
29#include <google/protobuf/generated_message_reflection.h>
30#include <google/protobuf/message.h>
31#include <google/protobuf/repeated_field.h> // IWYU pragma: export
32#include <google/protobuf/extension_set.h> // IWYU pragma: export
33#include <google/protobuf/generated_enum_reflection.h>
34#include <google/protobuf/unknown_field_set.h>
35// @@protoc_insertion_point(includes)
36#include <google/protobuf/port_def.inc>
37#define PROTOBUF_INTERNAL_EXPORT_ortools_2fbop_2fbop_5fparameters_2eproto
38PROTOBUF_NAMESPACE_OPEN
39namespace internal {
40class AnyMetadata;
41} // namespace internal
42PROTOBUF_NAMESPACE_CLOSE
43
44// Internal implementation detail -- do not use these members.
46 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
48 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
50 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
52 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
53 static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
54 static const uint32_t offsets[];
55};
56extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto;
57namespace operations_research {
58namespace bop {
59class BopOptimizerMethod;
60struct BopOptimizerMethodDefaultTypeInternal;
61extern BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_;
62class BopParameters;
63struct BopParametersDefaultTypeInternal;
64extern BopParametersDefaultTypeInternal _BopParameters_default_instance_;
65class BopSolverOptimizerSet;
66struct BopSolverOptimizerSetDefaultTypeInternal;
67extern BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_;
68} // namespace bop
69} // namespace operations_research
70PROTOBUF_NAMESPACE_OPEN
71template<> ::operations_research::bop::BopOptimizerMethod* Arena::CreateMaybeMessage<::operations_research::bop::BopOptimizerMethod>(Arena*);
72template<> ::operations_research::bop::BopParameters* Arena::CreateMaybeMessage<::operations_research::bop::BopParameters>(Arena*);
73template<> ::operations_research::bop::BopSolverOptimizerSet* Arena::CreateMaybeMessage<::operations_research::bop::BopSolverOptimizerSet>(Arena*);
74PROTOBUF_NAMESPACE_CLOSE
75namespace operations_research {
76namespace bop {
77
94};
99
100const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BopOptimizerMethod_OptimizerType_descriptor();
101template<typename T>
102inline const std::string& BopOptimizerMethod_OptimizerType_Name(T enum_t_value) {
105 "Incorrect type passed to function BopOptimizerMethod_OptimizerType_Name.");
106 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
108}
110 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopOptimizerMethod_OptimizerType* value) {
111 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopOptimizerMethod_OptimizerType>(
113}
123
124const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BopParameters_ThreadSynchronizationType_descriptor();
125template<typename T>
126inline const std::string& BopParameters_ThreadSynchronizationType_Name(T enum_t_value) {
129 "Incorrect type passed to function BopParameters_ThreadSynchronizationType_Name.");
130 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
132}
134 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopParameters_ThreadSynchronizationType* value) {
135 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BopParameters_ThreadSynchronizationType>(
137}
138// ===================================================================
139
141 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopOptimizerMethod) */ {
142 public:
144 ~BopOptimizerMethod() override;
145 explicit constexpr BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
146
150 *this = ::std::move(from);
151 }
152
154 CopyFrom(from);
155 return *this;
156 }
158 if (this == &from) return *this;
159 if (GetOwningArena() == from.GetOwningArena()
160 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
161 && GetOwningArena() != nullptr
162 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
163 ) {
164 InternalSwap(&from);
165 } else {
166 CopyFrom(from);
167 }
168 return *this;
169 }
170
171 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
172 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
173 }
174 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
175 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
176 }
177
178 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
179 return GetDescriptor();
180 }
181 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
182 return default_instance().GetMetadata().descriptor;
183 }
184 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
185 return default_instance().GetMetadata().reflection;
186 }
189 }
191 return reinterpret_cast<const BopOptimizerMethod*>(
193 }
194 static constexpr int kIndexInFileMessages =
195 0;
196
198 a.Swap(&b);
199 }
200 inline void Swap(BopOptimizerMethod* other) {
201 if (other == this) return;
202 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
203 if (GetOwningArena() != nullptr &&
204 GetOwningArena() == other->GetOwningArena()) {
205 #else // PROTOBUF_FORCE_COPY_IN_SWAP
206 if (GetOwningArena() == other->GetOwningArena()) {
207 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
208 InternalSwap(other);
209 } else {
210 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
211 }
212 }
214 if (other == this) return;
215 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
216 InternalSwap(other);
217 }
218
219 // implements Message ----------------------------------------------
220
221 BopOptimizerMethod* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
222 return CreateMaybeMessage<BopOptimizerMethod>(arena);
223 }
224 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
225 void CopyFrom(const BopOptimizerMethod& from);
226 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
227 void MergeFrom(const BopOptimizerMethod& from);
228 private:
229 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
230 public:
231 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
232 bool IsInitialized() const final;
233
234 size_t ByteSizeLong() const final;
235 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
236 uint8_t* _InternalSerialize(
237 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
238 int GetCachedSize() const final { return _cached_size_.Get(); }
239
240 private:
241 void SharedCtor();
242 void SharedDtor();
243 void SetCachedSize(int size) const final;
244 void InternalSwap(BopOptimizerMethod* other);
245
246 private:
247 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
248 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
249 return "operations_research.bop.BopOptimizerMethod";
250 }
251 protected:
252 explicit BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::Arena* arena,
253 bool is_message_owned = false);
254 private:
255 static void ArenaDtor(void* object);
256 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
257 public:
258
259 static const ClassData _class_data_;
260 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
261
262 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
263
264 // nested types ----------------------------------------------------
265
267 static constexpr OptimizerType SAT_CORE_BASED =
273 static constexpr OptimizerType LOCAL_SEARCH =
281 static constexpr OptimizerType COMPLETE_LNS =
297 static inline bool OptimizerType_IsValid(int value) {
299 }
304 static constexpr int OptimizerType_ARRAYSIZE =
306 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
309 }
310 template<typename T>
311 static inline const std::string& OptimizerType_Name(T enum_t_value) {
314 "Incorrect type passed to function OptimizerType_Name.");
315 return BopOptimizerMethod_OptimizerType_Name(enum_t_value);
316 }
317 static inline bool OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
320 }
321
322 // accessors -------------------------------------------------------
323
324 enum : int {
326 };
327 // optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
328 bool has_type() const;
329 private:
330 bool _internal_has_type() const;
331 public:
332 void clear_type();
335 private:
338 public:
339
340 // @@protoc_insertion_point(class_scope:operations_research.bop.BopOptimizerMethod)
341 private:
342 class _Internal;
343
344 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
345 typedef void InternalArenaConstructable_;
346 typedef void DestructorSkippable_;
347 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
348 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
349 int type_;
350 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
351};
352// -------------------------------------------------------------------
353
355 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopSolverOptimizerSet) */ {
356 public:
358 ~BopSolverOptimizerSet() override;
359 explicit constexpr BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
360
364 *this = ::std::move(from);
365 }
366
368 CopyFrom(from);
369 return *this;
370 }
372 if (this == &from) return *this;
373 if (GetOwningArena() == from.GetOwningArena()
374 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
375 && GetOwningArena() != nullptr
376 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
377 ) {
378 InternalSwap(&from);
379 } else {
380 CopyFrom(from);
381 }
382 return *this;
383 }
384
385 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
386 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
387 }
388 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
389 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
390 }
391
392 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
393 return GetDescriptor();
394 }
395 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
396 return default_instance().GetMetadata().descriptor;
397 }
398 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
399 return default_instance().GetMetadata().reflection;
400 }
403 }
405 return reinterpret_cast<const BopSolverOptimizerSet*>(
407 }
408 static constexpr int kIndexInFileMessages =
409 1;
410
412 a.Swap(&b);
413 }
414 inline void Swap(BopSolverOptimizerSet* other) {
415 if (other == this) return;
416 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
417 if (GetOwningArena() != nullptr &&
418 GetOwningArena() == other->GetOwningArena()) {
419 #else // PROTOBUF_FORCE_COPY_IN_SWAP
420 if (GetOwningArena() == other->GetOwningArena()) {
421 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
422 InternalSwap(other);
423 } else {
424 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
425 }
426 }
428 if (other == this) return;
429 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
430 InternalSwap(other);
431 }
432
433 // implements Message ----------------------------------------------
434
435 BopSolverOptimizerSet* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
436 return CreateMaybeMessage<BopSolverOptimizerSet>(arena);
437 }
438 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
439 void CopyFrom(const BopSolverOptimizerSet& from);
440 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
441 void MergeFrom(const BopSolverOptimizerSet& from);
442 private:
443 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
444 public:
445 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
446 bool IsInitialized() const final;
447
448 size_t ByteSizeLong() const final;
449 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
450 uint8_t* _InternalSerialize(
451 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
452 int GetCachedSize() const final { return _cached_size_.Get(); }
453
454 private:
455 void SharedCtor();
456 void SharedDtor();
457 void SetCachedSize(int size) const final;
458 void InternalSwap(BopSolverOptimizerSet* other);
459
460 private:
461 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
462 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
463 return "operations_research.bop.BopSolverOptimizerSet";
464 }
465 protected:
466 explicit BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::Arena* arena,
467 bool is_message_owned = false);
468 private:
469 static void ArenaDtor(void* object);
470 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
471 public:
472
473 static const ClassData _class_data_;
474 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
475
476 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
477
478 // nested types ----------------------------------------------------
479
480 // accessors -------------------------------------------------------
481
482 enum : int {
483 kMethodsFieldNumber = 1,
484 };
485 // repeated .operations_research.bop.BopOptimizerMethod methods = 1;
486 int methods_size() const;
487 private:
488 int _internal_methods_size() const;
489 public:
490 void clear_methods();
492 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
493 mutable_methods();
494 private:
495 const ::operations_research::bop::BopOptimizerMethod& _internal_methods(int index) const;
496 ::operations_research::bop::BopOptimizerMethod* _internal_add_methods();
497 public:
498 const ::operations_research::bop::BopOptimizerMethod& methods(int index) const;
500 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
501 methods() const;
502
503 // @@protoc_insertion_point(class_scope:operations_research.bop.BopSolverOptimizerSet)
504 private:
505 class _Internal;
506
507 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
508 typedef void InternalArenaConstructable_;
509 typedef void DestructorSkippable_;
510 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_;
511 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
512 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
513};
514// -------------------------------------------------------------------
515
516class BopParameters final :
517 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopParameters) */ {
518 public:
519 inline BopParameters() : BopParameters(nullptr) {}
520 ~BopParameters() override;
521 explicit constexpr BopParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
522
523 BopParameters(const BopParameters& from);
525 : BopParameters() {
526 *this = ::std::move(from);
527 }
528
529 inline BopParameters& operator=(const BopParameters& from) {
530 CopyFrom(from);
531 return *this;
532 }
533 inline BopParameters& operator=(BopParameters&& from) noexcept {
534 if (this == &from) return *this;
535 if (GetOwningArena() == from.GetOwningArena()
536 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
537 && GetOwningArena() != nullptr
538 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
539 ) {
540 InternalSwap(&from);
541 } else {
542 CopyFrom(from);
543 }
544 return *this;
545 }
546
547 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
548 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
549 }
550 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
551 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
552 }
553
554 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
555 return GetDescriptor();
556 }
557 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
558 return default_instance().GetMetadata().descriptor;
559 }
560 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
561 return default_instance().GetMetadata().reflection;
562 }
565 }
567 return reinterpret_cast<const BopParameters*>(
569 }
570 static constexpr int kIndexInFileMessages =
571 2;
572
574 a.Swap(&b);
575 }
576 inline void Swap(BopParameters* other) {
577 if (other == this) return;
578 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
579 if (GetOwningArena() != nullptr &&
580 GetOwningArena() == other->GetOwningArena()) {
581 #else // PROTOBUF_FORCE_COPY_IN_SWAP
582 if (GetOwningArena() == other->GetOwningArena()) {
583 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
584 InternalSwap(other);
585 } else {
586 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
587 }
588 }
590 if (other == this) return;
591 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
592 InternalSwap(other);
593 }
594
595 // implements Message ----------------------------------------------
596
597 BopParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
598 return CreateMaybeMessage<BopParameters>(arena);
599 }
600 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
601 void CopyFrom(const BopParameters& from);
602 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
603 void MergeFrom(const BopParameters& from);
604 private:
605 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
606 public:
607 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
608 bool IsInitialized() const final;
609
610 size_t ByteSizeLong() const final;
611 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
612 uint8_t* _InternalSerialize(
613 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
614 int GetCachedSize() const final { return _cached_size_.Get(); }
615
616 private:
617 void SharedCtor();
618 void SharedDtor();
619 void SetCachedSize(int size) const final;
620 void InternalSwap(BopParameters* other);
621
622 private:
623 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
624 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
625 return "operations_research.bop.BopParameters";
626 }
627 protected:
628 explicit BopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
629 bool is_message_owned = false);
630 private:
631 static void ArenaDtor(void* object);
632 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
633 public:
634
635 static const ClassData _class_data_;
636 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
637
638 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
639
640 // nested types ----------------------------------------------------
641
643 static constexpr ThreadSynchronizationType NO_SYNCHRONIZATION =
645 static constexpr ThreadSynchronizationType SYNCHRONIZE_ALL =
647 static constexpr ThreadSynchronizationType SYNCHRONIZE_ON_RIGHT =
649 static inline bool ThreadSynchronizationType_IsValid(int value) {
651 }
652 static constexpr ThreadSynchronizationType ThreadSynchronizationType_MIN =
654 static constexpr ThreadSynchronizationType ThreadSynchronizationType_MAX =
656 static constexpr int ThreadSynchronizationType_ARRAYSIZE =
658 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
661 }
662 template<typename T>
663 static inline const std::string& ThreadSynchronizationType_Name(T enum_t_value) {
666 "Incorrect type passed to function ThreadSynchronizationType_Name.");
668 }
669 static inline bool ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
672 }
673
674 // accessors -------------------------------------------------------
675
676 enum : int {
677 kSolverOptimizerSetsFieldNumber = 26,
678 kDefaultSolverOptimizerSetsFieldNumber = 33,
679 kLogSearchProgressFieldNumber = 14,
680 kPruneSearchTreeFieldNumber = 4,
681 kSortConstraintsByNumTermsFieldNumber = 5,
682 kUseSymmetryFieldNumber = 17,
683 kSynchronizationTypeFieldNumber = 25,
684 kMaxNumberOfConsecutiveFailingOptimizerCallsFieldNumber = 35,
685 kExploitSymmetryInSatFirstSolutionFieldNumber = 40,
686 kUsePotentialOneFlipRepairsInLsFieldNumber = 39,
687 kUseLpStrongBranchingFieldNumber = 29,
688 kDecomposedProblemMinTimeInSecondsFieldNumber = 36,
689 kMaxLpSolveForFeasibilityProblemsFieldNumber = 41,
690 kMaxTimeInSecondsFieldNumber = 1,
691 kMaxNumDecisionsInLsFieldNumber = 2,
692 kRandomSeedFieldNumber = 7,
693 kNumRelaxedVarsFieldNumber = 8,
694 kMaxNumberOfConflictsInRandomLnsFieldNumber = 9,
695 kComputeEstimatedImpactFieldNumber = 3,
696 kUseRandomLnsFieldNumber = 6,
697 kUseLpLnsFieldNumber = 12,
698 kUseSatToChooseLnsNeighbourhoodFieldNumber = 15,
699 kNumRandomLnsTriesFieldNumber = 10,
700 kMaxNumberOfBacktracksInLsFieldNumber = 11,
701 kMaxNumberOfConflictsForQuickCheckFieldNumber = 16,
702 kMaxNumberOfConflictsInRandomSolutionGenerationFieldNumber = 20,
703 kMaxNumberOfExploredAssignmentsPerTryInLsFieldNumber = 21,
704 kUseTranspositionTableInLsFieldNumber = 22,
705 kUseLearnedBinaryClausesInLpFieldNumber = 23,
706 kNumberOfSolversFieldNumber = 24,
707 kMaxDeterministicTimeFieldNumber = 27,
708 kRelativeGapLimitFieldNumber = 28,
709 kDecomposerNumVariablesThresholdFieldNumber = 30,
710 kNumBopSolversUsedByDecompositionFieldNumber = 31,
711 kGuidedSatConflictsChunkFieldNumber = 34,
712 kMaxNumBrokenConstraintsInLsFieldNumber = 38,
713 kLpMaxDeterministicTimeFieldNumber = 37,
714 };
715 // repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
716 int solver_optimizer_sets_size() const;
717 private:
718 int _internal_solver_optimizer_sets_size() const;
719 public:
720 void clear_solver_optimizer_sets();
721 ::operations_research::bop::BopSolverOptimizerSet* mutable_solver_optimizer_sets(int index);
722 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
723 mutable_solver_optimizer_sets();
724 private:
725 const ::operations_research::bop::BopSolverOptimizerSet& _internal_solver_optimizer_sets(int index) const;
726 ::operations_research::bop::BopSolverOptimizerSet* _internal_add_solver_optimizer_sets();
727 public:
728 const ::operations_research::bop::BopSolverOptimizerSet& solver_optimizer_sets(int index) const;
729 ::operations_research::bop::BopSolverOptimizerSet* add_solver_optimizer_sets();
730 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
731 solver_optimizer_sets() const;
732
733 // 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 } "];
734 bool has_default_solver_optimizer_sets() const;
735 private:
736 bool _internal_has_default_solver_optimizer_sets() const;
737 public:
738 void clear_default_solver_optimizer_sets();
739 const std::string& default_solver_optimizer_sets() const;
740 template <typename ArgT0 = const std::string&, typename... ArgT>
741 void set_default_solver_optimizer_sets(ArgT0&& arg0, ArgT... args);
742 std::string* mutable_default_solver_optimizer_sets();
743 PROTOBUF_NODISCARD std::string* release_default_solver_optimizer_sets();
744 void set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets);
745 private:
746 const std::string& _internal_default_solver_optimizer_sets() const;
747 inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_solver_optimizer_sets(const std::string& value);
748 std::string* _internal_mutable_default_solver_optimizer_sets();
749 public:
750
751 // optional bool log_search_progress = 14 [default = false];
752 bool has_log_search_progress() const;
753 private:
754 bool _internal_has_log_search_progress() const;
755 public:
756 void clear_log_search_progress();
757 bool log_search_progress() const;
758 void set_log_search_progress(bool value);
759 private:
760 bool _internal_log_search_progress() const;
761 void _internal_set_log_search_progress(bool value);
762 public:
763
764 // optional bool prune_search_tree = 4 [default = false];
765 bool has_prune_search_tree() const;
766 private:
767 bool _internal_has_prune_search_tree() const;
768 public:
769 void clear_prune_search_tree();
770 bool prune_search_tree() const;
771 void set_prune_search_tree(bool value);
772 private:
773 bool _internal_prune_search_tree() const;
774 void _internal_set_prune_search_tree(bool value);
775 public:
776
777 // optional bool sort_constraints_by_num_terms = 5 [default = false];
778 bool has_sort_constraints_by_num_terms() const;
779 private:
780 bool _internal_has_sort_constraints_by_num_terms() const;
781 public:
782 void clear_sort_constraints_by_num_terms();
783 bool sort_constraints_by_num_terms() const;
784 void set_sort_constraints_by_num_terms(bool value);
785 private:
786 bool _internal_sort_constraints_by_num_terms() const;
787 void _internal_set_sort_constraints_by_num_terms(bool value);
788 public:
789
790 // optional bool use_symmetry = 17 [default = false];
791 bool has_use_symmetry() const;
792 private:
793 bool _internal_has_use_symmetry() const;
794 public:
795 void clear_use_symmetry();
796 bool use_symmetry() const;
797 void set_use_symmetry(bool value);
798 private:
799 bool _internal_use_symmetry() const;
800 void _internal_set_use_symmetry(bool value);
801 public:
802
803 // optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
804 bool has_synchronization_type() const;
805 private:
806 bool _internal_has_synchronization_type() const;
807 public:
808 void clear_synchronization_type();
811 private:
812 ::operations_research::bop::BopParameters_ThreadSynchronizationType _internal_synchronization_type() const;
813 void _internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value);
814 public:
815
816 // optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
817 bool has_max_number_of_consecutive_failing_optimizer_calls() const;
818 private:
819 bool _internal_has_max_number_of_consecutive_failing_optimizer_calls() const;
820 public:
821 void clear_max_number_of_consecutive_failing_optimizer_calls();
822 int32_t max_number_of_consecutive_failing_optimizer_calls() const;
823 void set_max_number_of_consecutive_failing_optimizer_calls(int32_t value);
824 private:
825 int32_t _internal_max_number_of_consecutive_failing_optimizer_calls() const;
826 void _internal_set_max_number_of_consecutive_failing_optimizer_calls(int32_t value);
827 public:
828
829 // optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
830 bool has_exploit_symmetry_in_sat_first_solution() const;
831 private:
832 bool _internal_has_exploit_symmetry_in_sat_first_solution() const;
833 public:
834 void clear_exploit_symmetry_in_sat_first_solution();
835 bool exploit_symmetry_in_sat_first_solution() const;
836 void set_exploit_symmetry_in_sat_first_solution(bool value);
837 private:
838 bool _internal_exploit_symmetry_in_sat_first_solution() const;
839 void _internal_set_exploit_symmetry_in_sat_first_solution(bool value);
840 public:
841
842 // optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
843 bool has_use_potential_one_flip_repairs_in_ls() const;
844 private:
845 bool _internal_has_use_potential_one_flip_repairs_in_ls() const;
846 public:
847 void clear_use_potential_one_flip_repairs_in_ls();
848 bool use_potential_one_flip_repairs_in_ls() const;
849 void set_use_potential_one_flip_repairs_in_ls(bool value);
850 private:
851 bool _internal_use_potential_one_flip_repairs_in_ls() const;
852 void _internal_set_use_potential_one_flip_repairs_in_ls(bool value);
853 public:
854
855 // optional bool use_lp_strong_branching = 29 [default = false];
856 bool has_use_lp_strong_branching() const;
857 private:
858 bool _internal_has_use_lp_strong_branching() const;
859 public:
860 void clear_use_lp_strong_branching();
861 bool use_lp_strong_branching() const;
862 void set_use_lp_strong_branching(bool value);
863 private:
864 bool _internal_use_lp_strong_branching() const;
865 void _internal_set_use_lp_strong_branching(bool value);
866 public:
867
868 // optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
869 bool has_decomposed_problem_min_time_in_seconds() const;
870 private:
871 bool _internal_has_decomposed_problem_min_time_in_seconds() const;
872 public:
873 void clear_decomposed_problem_min_time_in_seconds();
874 double decomposed_problem_min_time_in_seconds() const;
875 void set_decomposed_problem_min_time_in_seconds(double value);
876 private:
877 double _internal_decomposed_problem_min_time_in_seconds() const;
878 void _internal_set_decomposed_problem_min_time_in_seconds(double value);
879 public:
880
881 // optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
882 bool has_max_lp_solve_for_feasibility_problems() const;
883 private:
884 bool _internal_has_max_lp_solve_for_feasibility_problems() const;
885 public:
886 void clear_max_lp_solve_for_feasibility_problems();
887 int32_t max_lp_solve_for_feasibility_problems() const;
888 void set_max_lp_solve_for_feasibility_problems(int32_t value);
889 private:
890 int32_t _internal_max_lp_solve_for_feasibility_problems() const;
891 void _internal_set_max_lp_solve_for_feasibility_problems(int32_t value);
892 public:
893
894 // optional double max_time_in_seconds = 1 [default = inf];
895 bool has_max_time_in_seconds() const;
896 private:
897 bool _internal_has_max_time_in_seconds() const;
898 public:
899 void clear_max_time_in_seconds();
900 double max_time_in_seconds() const;
901 void set_max_time_in_seconds(double value);
902 private:
903 double _internal_max_time_in_seconds() const;
904 void _internal_set_max_time_in_seconds(double value);
905 public:
906
907 // optional int32 max_num_decisions_in_ls = 2 [default = 4];
908 bool has_max_num_decisions_in_ls() const;
909 private:
910 bool _internal_has_max_num_decisions_in_ls() const;
911 public:
912 void clear_max_num_decisions_in_ls();
913 int32_t max_num_decisions_in_ls() const;
914 void set_max_num_decisions_in_ls(int32_t value);
915 private:
916 int32_t _internal_max_num_decisions_in_ls() const;
917 void _internal_set_max_num_decisions_in_ls(int32_t value);
918 public:
919
920 // optional int32 random_seed = 7 [default = 8];
921 bool has_random_seed() const;
922 private:
923 bool _internal_has_random_seed() const;
924 public:
925 void clear_random_seed();
926 int32_t random_seed() const;
927 void set_random_seed(int32_t value);
928 private:
929 int32_t _internal_random_seed() const;
930 void _internal_set_random_seed(int32_t value);
931 public:
932
933 // optional int32 num_relaxed_vars = 8 [default = 10];
934 bool has_num_relaxed_vars() const;
935 private:
936 bool _internal_has_num_relaxed_vars() const;
937 public:
938 void clear_num_relaxed_vars();
939 int32_t num_relaxed_vars() const;
940 void set_num_relaxed_vars(int32_t value);
941 private:
942 int32_t _internal_num_relaxed_vars() const;
943 void _internal_set_num_relaxed_vars(int32_t value);
944 public:
945
946 // optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
947 bool has_max_number_of_conflicts_in_random_lns() const;
948 private:
949 bool _internal_has_max_number_of_conflicts_in_random_lns() const;
950 public:
951 void clear_max_number_of_conflicts_in_random_lns();
952 int32_t max_number_of_conflicts_in_random_lns() const;
953 void set_max_number_of_conflicts_in_random_lns(int32_t value);
954 private:
955 int32_t _internal_max_number_of_conflicts_in_random_lns() const;
956 void _internal_set_max_number_of_conflicts_in_random_lns(int32_t value);
957 public:
958
959 // optional bool compute_estimated_impact = 3 [default = true];
960 bool has_compute_estimated_impact() const;
961 private:
962 bool _internal_has_compute_estimated_impact() const;
963 public:
964 void clear_compute_estimated_impact();
965 bool compute_estimated_impact() const;
966 void set_compute_estimated_impact(bool value);
967 private:
968 bool _internal_compute_estimated_impact() const;
969 void _internal_set_compute_estimated_impact(bool value);
970 public:
971
972 // optional bool use_random_lns = 6 [default = true];
973 bool has_use_random_lns() const;
974 private:
975 bool _internal_has_use_random_lns() const;
976 public:
977 void clear_use_random_lns();
978 bool use_random_lns() const;
979 void set_use_random_lns(bool value);
980 private:
981 bool _internal_use_random_lns() const;
982 void _internal_set_use_random_lns(bool value);
983 public:
984
985 // optional bool use_lp_lns = 12 [default = true];
986 bool has_use_lp_lns() const;
987 private:
988 bool _internal_has_use_lp_lns() const;
989 public:
990 void clear_use_lp_lns();
991 bool use_lp_lns() const;
992 void set_use_lp_lns(bool value);
993 private:
994 bool _internal_use_lp_lns() const;
995 void _internal_set_use_lp_lns(bool value);
996 public:
997
998 // optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
999 bool has_use_sat_to_choose_lns_neighbourhood() const;
1000 private:
1001 bool _internal_has_use_sat_to_choose_lns_neighbourhood() const;
1002 public:
1003 void clear_use_sat_to_choose_lns_neighbourhood();
1004 bool use_sat_to_choose_lns_neighbourhood() const;
1005 void set_use_sat_to_choose_lns_neighbourhood(bool value);
1006 private:
1007 bool _internal_use_sat_to_choose_lns_neighbourhood() const;
1008 void _internal_set_use_sat_to_choose_lns_neighbourhood(bool value);
1009 public:
1010
1011 // optional int32 num_random_lns_tries = 10 [default = 1];
1012 bool has_num_random_lns_tries() const;
1013 private:
1014 bool _internal_has_num_random_lns_tries() const;
1015 public:
1016 void clear_num_random_lns_tries();
1017 int32_t num_random_lns_tries() const;
1018 void set_num_random_lns_tries(int32_t value);
1019 private:
1020 int32_t _internal_num_random_lns_tries() const;
1021 void _internal_set_num_random_lns_tries(int32_t value);
1022 public:
1023
1024 // optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1025 bool has_max_number_of_backtracks_in_ls() const;
1026 private:
1027 bool _internal_has_max_number_of_backtracks_in_ls() const;
1028 public:
1029 void clear_max_number_of_backtracks_in_ls();
1030 int64_t max_number_of_backtracks_in_ls() const;
1031 void set_max_number_of_backtracks_in_ls(int64_t value);
1032 private:
1033 int64_t _internal_max_number_of_backtracks_in_ls() const;
1034 void _internal_set_max_number_of_backtracks_in_ls(int64_t value);
1035 public:
1036
1037 // optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1038 bool has_max_number_of_conflicts_for_quick_check() const;
1039 private:
1040 bool _internal_has_max_number_of_conflicts_for_quick_check() const;
1041 public:
1042 void clear_max_number_of_conflicts_for_quick_check();
1043 int32_t max_number_of_conflicts_for_quick_check() const;
1044 void set_max_number_of_conflicts_for_quick_check(int32_t value);
1045 private:
1046 int32_t _internal_max_number_of_conflicts_for_quick_check() const;
1047 void _internal_set_max_number_of_conflicts_for_quick_check(int32_t value);
1048 public:
1049
1050 // optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
1051 bool has_max_number_of_conflicts_in_random_solution_generation() const;
1052 private:
1053 bool _internal_has_max_number_of_conflicts_in_random_solution_generation() const;
1054 public:
1055 void clear_max_number_of_conflicts_in_random_solution_generation();
1056 int32_t max_number_of_conflicts_in_random_solution_generation() const;
1057 void set_max_number_of_conflicts_in_random_solution_generation(int32_t value);
1058 private:
1059 int32_t _internal_max_number_of_conflicts_in_random_solution_generation() const;
1060 void _internal_set_max_number_of_conflicts_in_random_solution_generation(int32_t value);
1061 public:
1062
1063 // optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
1064 bool has_max_number_of_explored_assignments_per_try_in_ls() const;
1065 private:
1066 bool _internal_has_max_number_of_explored_assignments_per_try_in_ls() const;
1067 public:
1068 void clear_max_number_of_explored_assignments_per_try_in_ls();
1069 int64_t max_number_of_explored_assignments_per_try_in_ls() const;
1070 void set_max_number_of_explored_assignments_per_try_in_ls(int64_t value);
1071 private:
1072 int64_t _internal_max_number_of_explored_assignments_per_try_in_ls() const;
1073 void _internal_set_max_number_of_explored_assignments_per_try_in_ls(int64_t value);
1074 public:
1075
1076 // optional bool use_transposition_table_in_ls = 22 [default = true];
1077 bool has_use_transposition_table_in_ls() const;
1078 private:
1079 bool _internal_has_use_transposition_table_in_ls() const;
1080 public:
1081 void clear_use_transposition_table_in_ls();
1082 bool use_transposition_table_in_ls() const;
1083 void set_use_transposition_table_in_ls(bool value);
1084 private:
1085 bool _internal_use_transposition_table_in_ls() const;
1086 void _internal_set_use_transposition_table_in_ls(bool value);
1087 public:
1088
1089 // optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
1090 bool has_use_learned_binary_clauses_in_lp() const;
1091 private:
1092 bool _internal_has_use_learned_binary_clauses_in_lp() const;
1093 public:
1094 void clear_use_learned_binary_clauses_in_lp();
1095 bool use_learned_binary_clauses_in_lp() const;
1096 void set_use_learned_binary_clauses_in_lp(bool value);
1097 private:
1098 bool _internal_use_learned_binary_clauses_in_lp() const;
1099 void _internal_set_use_learned_binary_clauses_in_lp(bool value);
1100 public:
1101
1102 // optional int32 number_of_solvers = 24 [default = 1];
1103 bool has_number_of_solvers() const;
1104 private:
1105 bool _internal_has_number_of_solvers() const;
1106 public:
1107 void clear_number_of_solvers();
1108 int32_t number_of_solvers() const;
1109 void set_number_of_solvers(int32_t value);
1110 private:
1111 int32_t _internal_number_of_solvers() const;
1112 void _internal_set_number_of_solvers(int32_t value);
1113 public:
1114
1115 // optional double max_deterministic_time = 27 [default = inf];
1116 bool has_max_deterministic_time() const;
1117 private:
1118 bool _internal_has_max_deterministic_time() const;
1119 public:
1120 void clear_max_deterministic_time();
1121 double max_deterministic_time() const;
1122 void set_max_deterministic_time(double value);
1123 private:
1124 double _internal_max_deterministic_time() const;
1125 void _internal_set_max_deterministic_time(double value);
1126 public:
1127
1128 // optional double relative_gap_limit = 28 [default = 0.0001];
1129 bool has_relative_gap_limit() const;
1130 private:
1131 bool _internal_has_relative_gap_limit() const;
1132 public:
1133 void clear_relative_gap_limit();
1134 double relative_gap_limit() const;
1135 void set_relative_gap_limit(double value);
1136 private:
1137 double _internal_relative_gap_limit() const;
1138 void _internal_set_relative_gap_limit(double value);
1139 public:
1140
1141 // optional int32 decomposer_num_variables_threshold = 30 [default = 50];
1142 bool has_decomposer_num_variables_threshold() const;
1143 private:
1144 bool _internal_has_decomposer_num_variables_threshold() const;
1145 public:
1146 void clear_decomposer_num_variables_threshold();
1147 int32_t decomposer_num_variables_threshold() const;
1148 void set_decomposer_num_variables_threshold(int32_t value);
1149 private:
1150 int32_t _internal_decomposer_num_variables_threshold() const;
1151 void _internal_set_decomposer_num_variables_threshold(int32_t value);
1152 public:
1153
1154 // optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
1155 bool has_num_bop_solvers_used_by_decomposition() const;
1156 private:
1157 bool _internal_has_num_bop_solvers_used_by_decomposition() const;
1158 public:
1159 void clear_num_bop_solvers_used_by_decomposition();
1160 int32_t num_bop_solvers_used_by_decomposition() const;
1161 void set_num_bop_solvers_used_by_decomposition(int32_t value);
1162 private:
1163 int32_t _internal_num_bop_solvers_used_by_decomposition() const;
1164 void _internal_set_num_bop_solvers_used_by_decomposition(int32_t value);
1165 public:
1166
1167 // optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
1168 bool has_guided_sat_conflicts_chunk() const;
1169 private:
1170 bool _internal_has_guided_sat_conflicts_chunk() const;
1171 public:
1172 void clear_guided_sat_conflicts_chunk();
1173 int32_t guided_sat_conflicts_chunk() const;
1174 void set_guided_sat_conflicts_chunk(int32_t value);
1175 private:
1176 int32_t _internal_guided_sat_conflicts_chunk() const;
1177 void _internal_set_guided_sat_conflicts_chunk(int32_t value);
1178 public:
1179
1180 // optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1181 bool has_max_num_broken_constraints_in_ls() const;
1182 private:
1183 bool _internal_has_max_num_broken_constraints_in_ls() const;
1184 public:
1185 void clear_max_num_broken_constraints_in_ls();
1186 int32_t max_num_broken_constraints_in_ls() const;
1187 void set_max_num_broken_constraints_in_ls(int32_t value);
1188 private:
1189 int32_t _internal_max_num_broken_constraints_in_ls() const;
1190 void _internal_set_max_num_broken_constraints_in_ls(int32_t value);
1191 public:
1192
1193 // optional double lp_max_deterministic_time = 37 [default = 1];
1194 bool has_lp_max_deterministic_time() const;
1195 private:
1196 bool _internal_has_lp_max_deterministic_time() const;
1197 public:
1198 void clear_lp_max_deterministic_time();
1199 double lp_max_deterministic_time() const;
1200 void set_lp_max_deterministic_time(double value);
1201 private:
1202 double _internal_lp_max_deterministic_time() const;
1203 void _internal_set_lp_max_deterministic_time(double value);
1204 public:
1205
1206 // @@protoc_insertion_point(class_scope:operations_research.bop.BopParameters)
1207 private:
1208 class _Internal;
1209
1210 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1211 typedef void InternalArenaConstructable_;
1212 typedef void DestructorSkippable_;
1213 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
1214 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1215 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_;
1216 static const ::PROTOBUF_NAMESPACE_ID::internal::LazyString _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_;
1217 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_solver_optimizer_sets_;
1218 bool log_search_progress_;
1219 bool prune_search_tree_;
1220 bool sort_constraints_by_num_terms_;
1221 bool use_symmetry_;
1222 int synchronization_type_;
1223 int32_t max_number_of_consecutive_failing_optimizer_calls_;
1224 bool exploit_symmetry_in_sat_first_solution_;
1225 bool use_potential_one_flip_repairs_in_ls_;
1226 bool use_lp_strong_branching_;
1227 double decomposed_problem_min_time_in_seconds_;
1228 int32_t max_lp_solve_for_feasibility_problems_;
1229 double max_time_in_seconds_;
1230 int32_t max_num_decisions_in_ls_;
1231 int32_t random_seed_;
1232 int32_t num_relaxed_vars_;
1233 int32_t max_number_of_conflicts_in_random_lns_;
1234 bool compute_estimated_impact_;
1235 bool use_random_lns_;
1236 bool use_lp_lns_;
1237 bool use_sat_to_choose_lns_neighbourhood_;
1238 int32_t num_random_lns_tries_;
1239 int64_t max_number_of_backtracks_in_ls_;
1240 int32_t max_number_of_conflicts_for_quick_check_;
1241 int32_t max_number_of_conflicts_in_random_solution_generation_;
1242 int64_t max_number_of_explored_assignments_per_try_in_ls_;
1243 bool use_transposition_table_in_ls_;
1244 bool use_learned_binary_clauses_in_lp_;
1245 int32_t number_of_solvers_;
1246 double max_deterministic_time_;
1247 double relative_gap_limit_;
1248 int32_t decomposer_num_variables_threshold_;
1249 int32_t num_bop_solvers_used_by_decomposition_;
1250 int32_t guided_sat_conflicts_chunk_;
1251 int32_t max_num_broken_constraints_in_ls_;
1252 double lp_max_deterministic_time_;
1253 friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto;
1254};
1255// ===================================================================
1256
1257
1258// ===================================================================
1259
1260#ifdef __GNUC__
1261 #pragma GCC diagnostic push
1262 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1263#endif // __GNUC__
1264// BopOptimizerMethod
1265
1266// optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1;
1267inline bool BopOptimizerMethod::_internal_has_type() const {
1268 bool value = (_has_bits_[0] & 0x00000001u) != 0;
1269 return value;
1270}
1271inline bool BopOptimizerMethod::has_type() const {
1272 return _internal_has_type();
1273}
1275 type_ = 0;
1276 _has_bits_[0] &= ~0x00000001u;
1277}
1278inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::_internal_type() const {
1280}
1282 // @@protoc_insertion_point(field_get:operations_research.bop.BopOptimizerMethod.type)
1283 return _internal_type();
1284}
1285inline void BopOptimizerMethod::_internal_set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value) {
1287 _has_bits_[0] |= 0x00000001u;
1288 type_ = value;
1289}
1291 _internal_set_type(value);
1292 // @@protoc_insertion_point(field_set:operations_research.bop.BopOptimizerMethod.type)
1293}
1294
1295// -------------------------------------------------------------------
1296
1297// BopSolverOptimizerSet
1298
1299// repeated .operations_research.bop.BopOptimizerMethod methods = 1;
1300inline int BopSolverOptimizerSet::_internal_methods_size() const {
1301 return methods_.size();
1302}
1304 return _internal_methods_size();
1305}
1307 methods_.Clear();
1308}
1309inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::mutable_methods(int index) {
1310 // @@protoc_insertion_point(field_mutable:operations_research.bop.BopSolverOptimizerSet.methods)
1311 return methods_.Mutable(index);
1312}
1313inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >*
1315 // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopSolverOptimizerSet.methods)
1316 return &methods_;
1317}
1318inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::_internal_methods(int index) const {
1319 return methods_.Get(index);
1320}
1321inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::methods(int index) const {
1322 // @@protoc_insertion_point(field_get:operations_research.bop.BopSolverOptimizerSet.methods)
1323 return _internal_methods(index);
1324}
1325inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::_internal_add_methods() {
1326 return methods_.Add();
1327}
1328inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::add_methods() {
1329 ::operations_research::bop::BopOptimizerMethod* _add = _internal_add_methods();
1330 // @@protoc_insertion_point(field_add:operations_research.bop.BopSolverOptimizerSet.methods)
1331 return _add;
1332}
1333inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >&
1335 // @@protoc_insertion_point(field_list:operations_research.bop.BopSolverOptimizerSet.methods)
1336 return methods_;
1337}
1338
1339// -------------------------------------------------------------------
1340
1341// BopParameters
1342
1343// optional double max_time_in_seconds = 1 [default = inf];
1344inline bool BopParameters::_internal_has_max_time_in_seconds() const {
1345 bool value = (_has_bits_[0] & 0x00001000u) != 0;
1346 return value;
1347}
1349 return _internal_has_max_time_in_seconds();
1350}
1352 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1353 _has_bits_[0] &= ~0x00001000u;
1354}
1355inline double BopParameters::_internal_max_time_in_seconds() const {
1356 return max_time_in_seconds_;
1357}
1359 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_time_in_seconds)
1360 return _internal_max_time_in_seconds();
1361}
1362inline void BopParameters::_internal_set_max_time_in_seconds(double value) {
1363 _has_bits_[0] |= 0x00001000u;
1364 max_time_in_seconds_ = value;
1365}
1367 _internal_set_max_time_in_seconds(value);
1368 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_time_in_seconds)
1369}
1370
1371// optional double max_deterministic_time = 27 [default = inf];
1372inline bool BopParameters::_internal_has_max_deterministic_time() const {
1373 bool value = (_has_bits_[0] & 0x20000000u) != 0;
1374 return value;
1375}
1377 return _internal_has_max_deterministic_time();
1378}
1380 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1381 _has_bits_[0] &= ~0x20000000u;
1382}
1383inline double BopParameters::_internal_max_deterministic_time() const {
1384 return max_deterministic_time_;
1385}
1387 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_deterministic_time)
1388 return _internal_max_deterministic_time();
1389}
1390inline void BopParameters::_internal_set_max_deterministic_time(double value) {
1391 _has_bits_[0] |= 0x20000000u;
1392 max_deterministic_time_ = value;
1393}
1395 _internal_set_max_deterministic_time(value);
1396 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_deterministic_time)
1397}
1398
1399// optional double lp_max_deterministic_time = 37 [default = 1];
1400inline bool BopParameters::_internal_has_lp_max_deterministic_time() const {
1401 bool value = (_has_bits_[1] & 0x00000008u) != 0;
1402 return value;
1403}
1405 return _internal_has_lp_max_deterministic_time();
1406}
1408 lp_max_deterministic_time_ = 1;
1409 _has_bits_[1] &= ~0x00000008u;
1410}
1411inline double BopParameters::_internal_lp_max_deterministic_time() const {
1412 return lp_max_deterministic_time_;
1413}
1415 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.lp_max_deterministic_time)
1416 return _internal_lp_max_deterministic_time();
1417}
1418inline void BopParameters::_internal_set_lp_max_deterministic_time(double value) {
1419 _has_bits_[1] |= 0x00000008u;
1420 lp_max_deterministic_time_ = value;
1421}
1423 _internal_set_lp_max_deterministic_time(value);
1424 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.lp_max_deterministic_time)
1425}
1426
1427// optional int32 max_number_of_consecutive_failing_optimizer_calls = 35;
1428inline bool BopParameters::_internal_has_max_number_of_consecutive_failing_optimizer_calls() const {
1429 bool value = (_has_bits_[0] & 0x00000040u) != 0;
1430 return value;
1431}
1433 return _internal_has_max_number_of_consecutive_failing_optimizer_calls();
1434}
1436 max_number_of_consecutive_failing_optimizer_calls_ = 0;
1437 _has_bits_[0] &= ~0x00000040u;
1438}
1439inline int32_t BopParameters::_internal_max_number_of_consecutive_failing_optimizer_calls() const {
1440 return max_number_of_consecutive_failing_optimizer_calls_;
1441}
1443 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1444 return _internal_max_number_of_consecutive_failing_optimizer_calls();
1445}
1446inline void BopParameters::_internal_set_max_number_of_consecutive_failing_optimizer_calls(int32_t value) {
1447 _has_bits_[0] |= 0x00000040u;
1448 max_number_of_consecutive_failing_optimizer_calls_ = value;
1449}
1451 _internal_set_max_number_of_consecutive_failing_optimizer_calls(value);
1452 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls)
1453}
1454
1455// optional double relative_gap_limit = 28 [default = 0.0001];
1456inline bool BopParameters::_internal_has_relative_gap_limit() const {
1457 bool value = (_has_bits_[0] & 0x40000000u) != 0;
1458 return value;
1459}
1461 return _internal_has_relative_gap_limit();
1462}
1464 relative_gap_limit_ = 0.0001;
1465 _has_bits_[0] &= ~0x40000000u;
1466}
1467inline double BopParameters::_internal_relative_gap_limit() const {
1468 return relative_gap_limit_;
1469}
1471 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.relative_gap_limit)
1472 return _internal_relative_gap_limit();
1473}
1474inline void BopParameters::_internal_set_relative_gap_limit(double value) {
1475 _has_bits_[0] |= 0x40000000u;
1476 relative_gap_limit_ = value;
1477}
1479 _internal_set_relative_gap_limit(value);
1480 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.relative_gap_limit)
1481}
1482
1483// optional int32 max_num_decisions_in_ls = 2 [default = 4];
1484inline bool BopParameters::_internal_has_max_num_decisions_in_ls() const {
1485 bool value = (_has_bits_[0] & 0x00002000u) != 0;
1486 return value;
1487}
1489 return _internal_has_max_num_decisions_in_ls();
1490}
1492 max_num_decisions_in_ls_ = 4;
1493 _has_bits_[0] &= ~0x00002000u;
1494}
1495inline int32_t BopParameters::_internal_max_num_decisions_in_ls() const {
1496 return max_num_decisions_in_ls_;
1497}
1499 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1500 return _internal_max_num_decisions_in_ls();
1501}
1502inline void BopParameters::_internal_set_max_num_decisions_in_ls(int32_t value) {
1503 _has_bits_[0] |= 0x00002000u;
1504 max_num_decisions_in_ls_ = value;
1505}
1507 _internal_set_max_num_decisions_in_ls(value);
1508 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_decisions_in_ls)
1509}
1510
1511// optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647];
1512inline bool BopParameters::_internal_has_max_num_broken_constraints_in_ls() const {
1513 bool value = (_has_bits_[1] & 0x00000004u) != 0;
1514 return value;
1515}
1517 return _internal_has_max_num_broken_constraints_in_ls();
1518}
1520 max_num_broken_constraints_in_ls_ = 2147483647;
1521 _has_bits_[1] &= ~0x00000004u;
1522}
1523inline int32_t BopParameters::_internal_max_num_broken_constraints_in_ls() const {
1524 return max_num_broken_constraints_in_ls_;
1525}
1527 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1528 return _internal_max_num_broken_constraints_in_ls();
1529}
1530inline void BopParameters::_internal_set_max_num_broken_constraints_in_ls(int32_t value) {
1531 _has_bits_[1] |= 0x00000004u;
1532 max_num_broken_constraints_in_ls_ = value;
1533}
1535 _internal_set_max_num_broken_constraints_in_ls(value);
1536 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls)
1537}
1538
1539// optional bool log_search_progress = 14 [default = false];
1540inline bool BopParameters::_internal_has_log_search_progress() const {
1541 bool value = (_has_bits_[0] & 0x00000002u) != 0;
1542 return value;
1543}
1545 return _internal_has_log_search_progress();
1546}
1548 log_search_progress_ = false;
1549 _has_bits_[0] &= ~0x00000002u;
1550}
1551inline bool BopParameters::_internal_log_search_progress() const {
1552 return log_search_progress_;
1553}
1555 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.log_search_progress)
1556 return _internal_log_search_progress();
1557}
1558inline void BopParameters::_internal_set_log_search_progress(bool value) {
1559 _has_bits_[0] |= 0x00000002u;
1560 log_search_progress_ = value;
1561}
1563 _internal_set_log_search_progress(value);
1564 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.log_search_progress)
1565}
1566
1567// optional bool compute_estimated_impact = 3 [default = true];
1568inline bool BopParameters::_internal_has_compute_estimated_impact() const {
1569 bool value = (_has_bits_[0] & 0x00020000u) != 0;
1570 return value;
1571}
1573 return _internal_has_compute_estimated_impact();
1574}
1576 compute_estimated_impact_ = true;
1577 _has_bits_[0] &= ~0x00020000u;
1578}
1579inline bool BopParameters::_internal_compute_estimated_impact() const {
1580 return compute_estimated_impact_;
1581}
1583 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.compute_estimated_impact)
1584 return _internal_compute_estimated_impact();
1585}
1586inline void BopParameters::_internal_set_compute_estimated_impact(bool value) {
1587 _has_bits_[0] |= 0x00020000u;
1588 compute_estimated_impact_ = value;
1589}
1591 _internal_set_compute_estimated_impact(value);
1592 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.compute_estimated_impact)
1593}
1594
1595// optional bool prune_search_tree = 4 [default = false];
1596inline bool BopParameters::_internal_has_prune_search_tree() const {
1597 bool value = (_has_bits_[0] & 0x00000004u) != 0;
1598 return value;
1599}
1601 return _internal_has_prune_search_tree();
1602}
1604 prune_search_tree_ = false;
1605 _has_bits_[0] &= ~0x00000004u;
1606}
1607inline bool BopParameters::_internal_prune_search_tree() const {
1608 return prune_search_tree_;
1609}
1611 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.prune_search_tree)
1612 return _internal_prune_search_tree();
1613}
1614inline void BopParameters::_internal_set_prune_search_tree(bool value) {
1615 _has_bits_[0] |= 0x00000004u;
1616 prune_search_tree_ = value;
1617}
1619 _internal_set_prune_search_tree(value);
1620 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.prune_search_tree)
1621}
1622
1623// optional bool sort_constraints_by_num_terms = 5 [default = false];
1624inline bool BopParameters::_internal_has_sort_constraints_by_num_terms() const {
1625 bool value = (_has_bits_[0] & 0x00000008u) != 0;
1626 return value;
1627}
1629 return _internal_has_sort_constraints_by_num_terms();
1630}
1632 sort_constraints_by_num_terms_ = false;
1633 _has_bits_[0] &= ~0x00000008u;
1634}
1635inline bool BopParameters::_internal_sort_constraints_by_num_terms() const {
1636 return sort_constraints_by_num_terms_;
1637}
1639 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1640 return _internal_sort_constraints_by_num_terms();
1641}
1642inline void BopParameters::_internal_set_sort_constraints_by_num_terms(bool value) {
1643 _has_bits_[0] |= 0x00000008u;
1644 sort_constraints_by_num_terms_ = value;
1645}
1647 _internal_set_sort_constraints_by_num_terms(value);
1648 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.sort_constraints_by_num_terms)
1649}
1650
1651// optional bool use_random_lns = 6 [default = true];
1652inline bool BopParameters::_internal_has_use_random_lns() const {
1653 bool value = (_has_bits_[0] & 0x00040000u) != 0;
1654 return value;
1655}
1657 return _internal_has_use_random_lns();
1658}
1660 use_random_lns_ = true;
1661 _has_bits_[0] &= ~0x00040000u;
1662}
1663inline bool BopParameters::_internal_use_random_lns() const {
1664 return use_random_lns_;
1665}
1667 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_random_lns)
1668 return _internal_use_random_lns();
1669}
1670inline void BopParameters::_internal_set_use_random_lns(bool value) {
1671 _has_bits_[0] |= 0x00040000u;
1672 use_random_lns_ = value;
1673}
1675 _internal_set_use_random_lns(value);
1676 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_random_lns)
1677}
1678
1679// optional int32 random_seed = 7 [default = 8];
1680inline bool BopParameters::_internal_has_random_seed() const {
1681 bool value = (_has_bits_[0] & 0x00004000u) != 0;
1682 return value;
1683}
1685 return _internal_has_random_seed();
1686}
1688 random_seed_ = 8;
1689 _has_bits_[0] &= ~0x00004000u;
1690}
1691inline int32_t BopParameters::_internal_random_seed() const {
1692 return random_seed_;
1693}
1694inline int32_t BopParameters::random_seed() const {
1695 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.random_seed)
1696 return _internal_random_seed();
1697}
1698inline void BopParameters::_internal_set_random_seed(int32_t value) {
1699 _has_bits_[0] |= 0x00004000u;
1700 random_seed_ = value;
1701}
1703 _internal_set_random_seed(value);
1704 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.random_seed)
1705}
1706
1707// optional int32 num_relaxed_vars = 8 [default = 10];
1708inline bool BopParameters::_internal_has_num_relaxed_vars() const {
1709 bool value = (_has_bits_[0] & 0x00008000u) != 0;
1710 return value;
1711}
1713 return _internal_has_num_relaxed_vars();
1714}
1716 num_relaxed_vars_ = 10;
1717 _has_bits_[0] &= ~0x00008000u;
1718}
1719inline int32_t BopParameters::_internal_num_relaxed_vars() const {
1720 return num_relaxed_vars_;
1721}
1722inline int32_t BopParameters::num_relaxed_vars() const {
1723 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_relaxed_vars)
1724 return _internal_num_relaxed_vars();
1725}
1726inline void BopParameters::_internal_set_num_relaxed_vars(int32_t value) {
1727 _has_bits_[0] |= 0x00008000u;
1728 num_relaxed_vars_ = value;
1729}
1731 _internal_set_num_relaxed_vars(value);
1732 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_relaxed_vars)
1733}
1734
1735// optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500];
1736inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_lns() const {
1737 bool value = (_has_bits_[0] & 0x00010000u) != 0;
1738 return value;
1739}
1741 return _internal_has_max_number_of_conflicts_in_random_lns();
1742}
1744 max_number_of_conflicts_in_random_lns_ = 2500;
1745 _has_bits_[0] &= ~0x00010000u;
1746}
1747inline int32_t BopParameters::_internal_max_number_of_conflicts_in_random_lns() const {
1748 return max_number_of_conflicts_in_random_lns_;
1749}
1751 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1752 return _internal_max_number_of_conflicts_in_random_lns();
1753}
1754inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_lns(int32_t value) {
1755 _has_bits_[0] |= 0x00010000u;
1756 max_number_of_conflicts_in_random_lns_ = value;
1757}
1759 _internal_set_max_number_of_conflicts_in_random_lns(value);
1760 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns)
1761}
1762
1763// optional int32 num_random_lns_tries = 10 [default = 1];
1764inline bool BopParameters::_internal_has_num_random_lns_tries() const {
1765 bool value = (_has_bits_[0] & 0x00200000u) != 0;
1766 return value;
1767}
1769 return _internal_has_num_random_lns_tries();
1770}
1772 num_random_lns_tries_ = 1;
1773 _has_bits_[0] &= ~0x00200000u;
1774}
1775inline int32_t BopParameters::_internal_num_random_lns_tries() const {
1776 return num_random_lns_tries_;
1777}
1779 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_random_lns_tries)
1780 return _internal_num_random_lns_tries();
1781}
1782inline void BopParameters::_internal_set_num_random_lns_tries(int32_t value) {
1783 _has_bits_[0] |= 0x00200000u;
1784 num_random_lns_tries_ = value;
1785}
1787 _internal_set_num_random_lns_tries(value);
1788 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_random_lns_tries)
1789}
1790
1791// optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000];
1792inline bool BopParameters::_internal_has_max_number_of_backtracks_in_ls() const {
1793 bool value = (_has_bits_[0] & 0x00400000u) != 0;
1794 return value;
1795}
1797 return _internal_has_max_number_of_backtracks_in_ls();
1798}
1800 max_number_of_backtracks_in_ls_ = int64_t{100000000};
1801 _has_bits_[0] &= ~0x00400000u;
1802}
1803inline int64_t BopParameters::_internal_max_number_of_backtracks_in_ls() const {
1804 return max_number_of_backtracks_in_ls_;
1805}
1807 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1808 return _internal_max_number_of_backtracks_in_ls();
1809}
1810inline void BopParameters::_internal_set_max_number_of_backtracks_in_ls(int64_t value) {
1811 _has_bits_[0] |= 0x00400000u;
1812 max_number_of_backtracks_in_ls_ = value;
1813}
1815 _internal_set_max_number_of_backtracks_in_ls(value);
1816 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls)
1817}
1818
1819// optional bool use_lp_lns = 12 [default = true];
1820inline bool BopParameters::_internal_has_use_lp_lns() const {
1821 bool value = (_has_bits_[0] & 0x00080000u) != 0;
1822 return value;
1823}
1825 return _internal_has_use_lp_lns();
1826}
1828 use_lp_lns_ = true;
1829 _has_bits_[0] &= ~0x00080000u;
1830}
1831inline bool BopParameters::_internal_use_lp_lns() const {
1832 return use_lp_lns_;
1833}
1834inline bool BopParameters::use_lp_lns() const {
1835 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_lns)
1836 return _internal_use_lp_lns();
1837}
1838inline void BopParameters::_internal_set_use_lp_lns(bool value) {
1839 _has_bits_[0] |= 0x00080000u;
1840 use_lp_lns_ = value;
1841}
1843 _internal_set_use_lp_lns(value);
1844 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_lns)
1845}
1846
1847// optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true];
1848inline bool BopParameters::_internal_has_use_sat_to_choose_lns_neighbourhood() const {
1849 bool value = (_has_bits_[0] & 0x00100000u) != 0;
1850 return value;
1851}
1853 return _internal_has_use_sat_to_choose_lns_neighbourhood();
1854}
1856 use_sat_to_choose_lns_neighbourhood_ = true;
1857 _has_bits_[0] &= ~0x00100000u;
1858}
1859inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood() const {
1860 return use_sat_to_choose_lns_neighbourhood_;
1861}
1863 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1864 return _internal_use_sat_to_choose_lns_neighbourhood();
1865}
1866inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(bool value) {
1867 _has_bits_[0] |= 0x00100000u;
1868 use_sat_to_choose_lns_neighbourhood_ = value;
1869}
1871 _internal_set_use_sat_to_choose_lns_neighbourhood(value);
1872 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood)
1873}
1874
1875// optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10];
1876inline bool BopParameters::_internal_has_max_number_of_conflicts_for_quick_check() const {
1877 bool value = (_has_bits_[0] & 0x00800000u) != 0;
1878 return value;
1879}
1881 return _internal_has_max_number_of_conflicts_for_quick_check();
1882}
1884 max_number_of_conflicts_for_quick_check_ = 10;
1885 _has_bits_[0] &= ~0x00800000u;
1886}
1887inline int32_t BopParameters::_internal_max_number_of_conflicts_for_quick_check() const {
1888 return max_number_of_conflicts_for_quick_check_;
1889}
1891 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1892 return _internal_max_number_of_conflicts_for_quick_check();
1893}
1894inline void BopParameters::_internal_set_max_number_of_conflicts_for_quick_check(int32_t value) {
1895 _has_bits_[0] |= 0x00800000u;
1896 max_number_of_conflicts_for_quick_check_ = value;
1897}
1899 _internal_set_max_number_of_conflicts_for_quick_check(value);
1900 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check)
1901}
1902
1903// optional bool use_symmetry = 17 [default = false];
1904inline bool BopParameters::_internal_has_use_symmetry() const {
1905 bool value = (_has_bits_[0] & 0x00000010u) != 0;
1906 return value;
1907}
1909 return _internal_has_use_symmetry();
1910}
1912 use_symmetry_ = false;
1913 _has_bits_[0] &= ~0x00000010u;
1914}
1915inline bool BopParameters::_internal_use_symmetry() const {
1916 return use_symmetry_;
1917}
1918inline bool BopParameters::use_symmetry() const {
1919 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_symmetry)
1920 return _internal_use_symmetry();
1921}
1922inline void BopParameters::_internal_set_use_symmetry(bool value) {
1923 _has_bits_[0] |= 0x00000010u;
1924 use_symmetry_ = value;
1925}
1927 _internal_set_use_symmetry(value);
1928 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_symmetry)
1929}
1930
1931// optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false];
1932inline bool BopParameters::_internal_has_exploit_symmetry_in_sat_first_solution() const {
1933 bool value = (_has_bits_[0] & 0x00000080u) != 0;
1934 return value;
1935}
1937 return _internal_has_exploit_symmetry_in_sat_first_solution();
1938}
1940 exploit_symmetry_in_sat_first_solution_ = false;
1941 _has_bits_[0] &= ~0x00000080u;
1942}
1943inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution() const {
1944 return exploit_symmetry_in_sat_first_solution_;
1945}
1947 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
1948 return _internal_exploit_symmetry_in_sat_first_solution();
1949}
1950inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(bool value) {
1951 _has_bits_[0] |= 0x00000080u;
1952 exploit_symmetry_in_sat_first_solution_ = value;
1953}
1955 _internal_set_exploit_symmetry_in_sat_first_solution(value);
1956 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution)
1957}
1958
1959// optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500];
1960inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_solution_generation() const {
1961 bool value = (_has_bits_[0] & 0x01000000u) != 0;
1962 return value;
1963}
1965 return _internal_has_max_number_of_conflicts_in_random_solution_generation();
1966}
1968 max_number_of_conflicts_in_random_solution_generation_ = 500;
1969 _has_bits_[0] &= ~0x01000000u;
1970}
1971inline int32_t BopParameters::_internal_max_number_of_conflicts_in_random_solution_generation() const {
1972 return max_number_of_conflicts_in_random_solution_generation_;
1973}
1975 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
1976 return _internal_max_number_of_conflicts_in_random_solution_generation();
1977}
1978inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_solution_generation(int32_t value) {
1979 _has_bits_[0] |= 0x01000000u;
1980 max_number_of_conflicts_in_random_solution_generation_ = value;
1981}
1983 _internal_set_max_number_of_conflicts_in_random_solution_generation(value);
1984 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation)
1985}
1986
1987// optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000];
1988inline bool BopParameters::_internal_has_max_number_of_explored_assignments_per_try_in_ls() const {
1989 bool value = (_has_bits_[0] & 0x02000000u) != 0;
1990 return value;
1991}
1993 return _internal_has_max_number_of_explored_assignments_per_try_in_ls();
1994}
1996 max_number_of_explored_assignments_per_try_in_ls_ = int64_t{10000};
1997 _has_bits_[0] &= ~0x02000000u;
1998}
1999inline int64_t BopParameters::_internal_max_number_of_explored_assignments_per_try_in_ls() const {
2000 return max_number_of_explored_assignments_per_try_in_ls_;
2001}
2003 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
2004 return _internal_max_number_of_explored_assignments_per_try_in_ls();
2005}
2006inline void BopParameters::_internal_set_max_number_of_explored_assignments_per_try_in_ls(int64_t value) {
2007 _has_bits_[0] |= 0x02000000u;
2008 max_number_of_explored_assignments_per_try_in_ls_ = value;
2009}
2011 _internal_set_max_number_of_explored_assignments_per_try_in_ls(value);
2012 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls)
2013}
2014
2015// optional bool use_transposition_table_in_ls = 22 [default = true];
2016inline bool BopParameters::_internal_has_use_transposition_table_in_ls() const {
2017 bool value = (_has_bits_[0] & 0x04000000u) != 0;
2018 return value;
2019}
2021 return _internal_has_use_transposition_table_in_ls();
2022}
2024 use_transposition_table_in_ls_ = true;
2025 _has_bits_[0] &= ~0x04000000u;
2026}
2027inline bool BopParameters::_internal_use_transposition_table_in_ls() const {
2028 return use_transposition_table_in_ls_;
2029}
2031 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2032 return _internal_use_transposition_table_in_ls();
2033}
2034inline void BopParameters::_internal_set_use_transposition_table_in_ls(bool value) {
2035 _has_bits_[0] |= 0x04000000u;
2036 use_transposition_table_in_ls_ = value;
2037}
2039 _internal_set_use_transposition_table_in_ls(value);
2040 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_transposition_table_in_ls)
2041}
2042
2043// optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false];
2044inline bool BopParameters::_internal_has_use_potential_one_flip_repairs_in_ls() const {
2045 bool value = (_has_bits_[0] & 0x00000100u) != 0;
2046 return value;
2047}
2049 return _internal_has_use_potential_one_flip_repairs_in_ls();
2050}
2052 use_potential_one_flip_repairs_in_ls_ = false;
2053 _has_bits_[0] &= ~0x00000100u;
2054}
2055inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls() const {
2056 return use_potential_one_flip_repairs_in_ls_;
2057}
2059 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2060 return _internal_use_potential_one_flip_repairs_in_ls();
2061}
2062inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(bool value) {
2063 _has_bits_[0] |= 0x00000100u;
2064 use_potential_one_flip_repairs_in_ls_ = value;
2065}
2067 _internal_set_use_potential_one_flip_repairs_in_ls(value);
2068 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls)
2069}
2070
2071// optional bool use_learned_binary_clauses_in_lp = 23 [default = true];
2072inline bool BopParameters::_internal_has_use_learned_binary_clauses_in_lp() const {
2073 bool value = (_has_bits_[0] & 0x08000000u) != 0;
2074 return value;
2075}
2077 return _internal_has_use_learned_binary_clauses_in_lp();
2078}
2080 use_learned_binary_clauses_in_lp_ = true;
2081 _has_bits_[0] &= ~0x08000000u;
2082}
2083inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp() const {
2084 return use_learned_binary_clauses_in_lp_;
2085}
2087 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2088 return _internal_use_learned_binary_clauses_in_lp();
2089}
2090inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(bool value) {
2091 _has_bits_[0] |= 0x08000000u;
2092 use_learned_binary_clauses_in_lp_ = value;
2093}
2095 _internal_set_use_learned_binary_clauses_in_lp(value);
2096 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp)
2097}
2098
2099// optional int32 number_of_solvers = 24 [default = 1];
2100inline bool BopParameters::_internal_has_number_of_solvers() const {
2101 bool value = (_has_bits_[0] & 0x10000000u) != 0;
2102 return value;
2103}
2105 return _internal_has_number_of_solvers();
2106}
2108 number_of_solvers_ = 1;
2109 _has_bits_[0] &= ~0x10000000u;
2110}
2111inline int32_t BopParameters::_internal_number_of_solvers() const {
2112 return number_of_solvers_;
2113}
2114inline int32_t BopParameters::number_of_solvers() const {
2115 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.number_of_solvers)
2116 return _internal_number_of_solvers();
2117}
2118inline void BopParameters::_internal_set_number_of_solvers(int32_t value) {
2119 _has_bits_[0] |= 0x10000000u;
2120 number_of_solvers_ = value;
2121}
2123 _internal_set_number_of_solvers(value);
2124 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.number_of_solvers)
2125}
2126
2127// optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION];
2128inline bool BopParameters::_internal_has_synchronization_type() const {
2129 bool value = (_has_bits_[0] & 0x00000020u) != 0;
2130 return value;
2131}
2133 return _internal_has_synchronization_type();
2134}
2136 synchronization_type_ = 0;
2137 _has_bits_[0] &= ~0x00000020u;
2138}
2139inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::_internal_synchronization_type() const {
2140 return static_cast< ::operations_research::bop::BopParameters_ThreadSynchronizationType >(synchronization_type_);
2141}
2143 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.synchronization_type)
2144 return _internal_synchronization_type();
2145}
2146inline void BopParameters::_internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value) {
2148 _has_bits_[0] |= 0x00000020u;
2149 synchronization_type_ = value;
2150}
2152 _internal_set_synchronization_type(value);
2153 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.synchronization_type)
2154}
2155
2156// repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26;
2157inline int BopParameters::_internal_solver_optimizer_sets_size() const {
2158 return solver_optimizer_sets_.size();
2159}
2161 return _internal_solver_optimizer_sets_size();
2162}
2164 solver_optimizer_sets_.Clear();
2165}
2166inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::mutable_solver_optimizer_sets(int index) {
2167 // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.solver_optimizer_sets)
2168 return solver_optimizer_sets_.Mutable(index);
2169}
2170inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >*
2172 // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2173 return &solver_optimizer_sets_;
2174}
2175inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::_internal_solver_optimizer_sets(int index) const {
2176 return solver_optimizer_sets_.Get(index);
2177}
2178inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::solver_optimizer_sets(int index) const {
2179 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.solver_optimizer_sets)
2180 return _internal_solver_optimizer_sets(index);
2181}
2182inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::_internal_add_solver_optimizer_sets() {
2183 return solver_optimizer_sets_.Add();
2184}
2185inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::add_solver_optimizer_sets() {
2186 ::operations_research::bop::BopSolverOptimizerSet* _add = _internal_add_solver_optimizer_sets();
2187 // @@protoc_insertion_point(field_add:operations_research.bop.BopParameters.solver_optimizer_sets)
2188 return _add;
2189}
2190inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >&
2192 // @@protoc_insertion_point(field_list:operations_research.bop.BopParameters.solver_optimizer_sets)
2193 return solver_optimizer_sets_;
2194}
2195
2196// 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 } "];
2197inline bool BopParameters::_internal_has_default_solver_optimizer_sets() const {
2198 bool value = (_has_bits_[0] & 0x00000001u) != 0;
2199 return value;
2200}
2202 return _internal_has_default_solver_optimizer_sets();
2203}
2205 default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArenaForAllocation());
2206 _has_bits_[0] &= ~0x00000001u;
2207}
2208inline const std::string& BopParameters::default_solver_optimizer_sets() const {
2209 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2210 if (default_solver_optimizer_sets_.IsDefault(nullptr)) return _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get();
2211 return _internal_default_solver_optimizer_sets();
2212}
2213template <typename ArgT0, typename... ArgT>
2214inline PROTOBUF_ALWAYS_INLINE
2216 _has_bits_[0] |= 0x00000001u;
2217 default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
2218 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2219}
2221 std::string* _s = _internal_mutable_default_solver_optimizer_sets();
2222 // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2223 return _s;
2224}
2225inline const std::string& BopParameters::_internal_default_solver_optimizer_sets() const {
2226 return default_solver_optimizer_sets_.Get();
2227}
2228inline void BopParameters::_internal_set_default_solver_optimizer_sets(const std::string& value) {
2229 _has_bits_[0] |= 0x00000001u;
2230 default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, value, GetArenaForAllocation());
2231}
2232inline std::string* BopParameters::_internal_mutable_default_solver_optimizer_sets() {
2233 _has_bits_[0] |= 0x00000001u;
2234 return default_solver_optimizer_sets_.Mutable(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArenaForAllocation());
2235}
2237 // @@protoc_insertion_point(field_release:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2238 if (!_internal_has_default_solver_optimizer_sets()) {
2239 return nullptr;
2240 }
2241 _has_bits_[0] &= ~0x00000001u;
2242 auto* p = default_solver_optimizer_sets_.ReleaseNonDefault(nullptr, GetArenaForAllocation());
2243 return p;
2244}
2245inline void BopParameters::set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets) {
2246 if (default_solver_optimizer_sets != nullptr) {
2247 _has_bits_[0] |= 0x00000001u;
2248 } else {
2249 _has_bits_[0] &= ~0x00000001u;
2250 }
2251 default_solver_optimizer_sets_.SetAllocated(nullptr, default_solver_optimizer_sets,
2252 GetArenaForAllocation());
2253 // @@protoc_insertion_point(field_set_allocated:operations_research.bop.BopParameters.default_solver_optimizer_sets)
2254}
2255
2256// optional bool use_lp_strong_branching = 29 [default = false];
2257inline bool BopParameters::_internal_has_use_lp_strong_branching() const {
2258 bool value = (_has_bits_[0] & 0x00000200u) != 0;
2259 return value;
2260}
2262 return _internal_has_use_lp_strong_branching();
2263}
2265 use_lp_strong_branching_ = false;
2266 _has_bits_[0] &= ~0x00000200u;
2267}
2268inline bool BopParameters::_internal_use_lp_strong_branching() const {
2269 return use_lp_strong_branching_;
2270}
2272 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_strong_branching)
2273 return _internal_use_lp_strong_branching();
2274}
2275inline void BopParameters::_internal_set_use_lp_strong_branching(bool value) {
2276 _has_bits_[0] |= 0x00000200u;
2277 use_lp_strong_branching_ = value;
2278}
2280 _internal_set_use_lp_strong_branching(value);
2281 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_strong_branching)
2282}
2283
2284// optional int32 decomposer_num_variables_threshold = 30 [default = 50];
2285inline bool BopParameters::_internal_has_decomposer_num_variables_threshold() const {
2286 bool value = (_has_bits_[0] & 0x80000000u) != 0;
2287 return value;
2288}
2290 return _internal_has_decomposer_num_variables_threshold();
2291}
2293 decomposer_num_variables_threshold_ = 50;
2294 _has_bits_[0] &= ~0x80000000u;
2295}
2296inline int32_t BopParameters::_internal_decomposer_num_variables_threshold() const {
2297 return decomposer_num_variables_threshold_;
2298}
2300 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2301 return _internal_decomposer_num_variables_threshold();
2302}
2303inline void BopParameters::_internal_set_decomposer_num_variables_threshold(int32_t value) {
2304 _has_bits_[0] |= 0x80000000u;
2305 decomposer_num_variables_threshold_ = value;
2306}
2308 _internal_set_decomposer_num_variables_threshold(value);
2309 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposer_num_variables_threshold)
2310}
2311
2312// optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1];
2313inline bool BopParameters::_internal_has_num_bop_solvers_used_by_decomposition() const {
2314 bool value = (_has_bits_[1] & 0x00000001u) != 0;
2315 return value;
2316}
2318 return _internal_has_num_bop_solvers_used_by_decomposition();
2319}
2321 num_bop_solvers_used_by_decomposition_ = 1;
2322 _has_bits_[1] &= ~0x00000001u;
2323}
2324inline int32_t BopParameters::_internal_num_bop_solvers_used_by_decomposition() const {
2325 return num_bop_solvers_used_by_decomposition_;
2326}
2328 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2329 return _internal_num_bop_solvers_used_by_decomposition();
2330}
2331inline void BopParameters::_internal_set_num_bop_solvers_used_by_decomposition(int32_t value) {
2332 _has_bits_[1] |= 0x00000001u;
2333 num_bop_solvers_used_by_decomposition_ = value;
2334}
2336 _internal_set_num_bop_solvers_used_by_decomposition(value);
2337 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition)
2338}
2339
2340// optional double decomposed_problem_min_time_in_seconds = 36 [default = 0];
2341inline bool BopParameters::_internal_has_decomposed_problem_min_time_in_seconds() const {
2342 bool value = (_has_bits_[0] & 0x00000400u) != 0;
2343 return value;
2344}
2346 return _internal_has_decomposed_problem_min_time_in_seconds();
2347}
2349 decomposed_problem_min_time_in_seconds_ = 0;
2350 _has_bits_[0] &= ~0x00000400u;
2351}
2352inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds() const {
2353 return decomposed_problem_min_time_in_seconds_;
2354}
2356 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2357 return _internal_decomposed_problem_min_time_in_seconds();
2358}
2359inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(double value) {
2360 _has_bits_[0] |= 0x00000400u;
2361 decomposed_problem_min_time_in_seconds_ = value;
2362}
2364 _internal_set_decomposed_problem_min_time_in_seconds(value);
2365 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds)
2366}
2367
2368// optional int32 guided_sat_conflicts_chunk = 34 [default = 1000];
2369inline bool BopParameters::_internal_has_guided_sat_conflicts_chunk() const {
2370 bool value = (_has_bits_[1] & 0x00000002u) != 0;
2371 return value;
2372}
2374 return _internal_has_guided_sat_conflicts_chunk();
2375}
2377 guided_sat_conflicts_chunk_ = 1000;
2378 _has_bits_[1] &= ~0x00000002u;
2379}
2380inline int32_t BopParameters::_internal_guided_sat_conflicts_chunk() const {
2381 return guided_sat_conflicts_chunk_;
2382}
2384 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2385 return _internal_guided_sat_conflicts_chunk();
2386}
2387inline void BopParameters::_internal_set_guided_sat_conflicts_chunk(int32_t value) {
2388 _has_bits_[1] |= 0x00000002u;
2389 guided_sat_conflicts_chunk_ = value;
2390}
2392 _internal_set_guided_sat_conflicts_chunk(value);
2393 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.guided_sat_conflicts_chunk)
2394}
2395
2396// optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0];
2397inline bool BopParameters::_internal_has_max_lp_solve_for_feasibility_problems() const {
2398 bool value = (_has_bits_[0] & 0x00000800u) != 0;
2399 return value;
2400}
2402 return _internal_has_max_lp_solve_for_feasibility_problems();
2403}
2405 max_lp_solve_for_feasibility_problems_ = 0;
2406 _has_bits_[0] &= ~0x00000800u;
2407}
2408inline int32_t BopParameters::_internal_max_lp_solve_for_feasibility_problems() const {
2409 return max_lp_solve_for_feasibility_problems_;
2410}
2412 // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2413 return _internal_max_lp_solve_for_feasibility_problems();
2414}
2415inline void BopParameters::_internal_set_max_lp_solve_for_feasibility_problems(int32_t value) {
2416 _has_bits_[0] |= 0x00000800u;
2417 max_lp_solve_for_feasibility_problems_ = value;
2418}
2420 _internal_set_max_lp_solve_for_feasibility_problems(value);
2421 // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems)
2422}
2423
2424#ifdef __GNUC__
2425 #pragma GCC diagnostic pop
2426#endif // __GNUC__
2427// -------------------------------------------------------------------
2428
2429// -------------------------------------------------------------------
2430
2431
2432// @@protoc_insertion_point(namespace_scope)
2433
2434} // namespace bop
2435} // namespace operations_research
2436
2437PROTOBUF_NAMESPACE_OPEN
2438
2439template <> struct is_proto_enum< ::operations_research::bop::BopOptimizerMethod_OptimizerType> : ::std::true_type {};
2440template <>
2441inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopOptimizerMethod_OptimizerType>() {
2443}
2444template <> struct is_proto_enum< ::operations_research::bop::BopParameters_ThreadSynchronizationType> : ::std::true_type {};
2445template <>
2446inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopParameters_ThreadSynchronizationType>() {
2448}
2449
2450PROTOBUF_NAMESPACE_CLOSE
2451
2452// @@protoc_insertion_point(global_scope)
2453
2454#include <google/protobuf/port_undef.inc>
2455#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto
static constexpr OptimizerType USER_GUIDED_FIRST_SOLUTION
static constexpr OptimizerType LP_FIRST_SOLUTION
BopOptimizerMethod * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const BopOptimizerMethod & default_instance()
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static constexpr OptimizerType OptimizerType_MAX
static constexpr OptimizerType OBJECTIVE_FIRST_SOLUTION
BopOptimizerMethod & operator=(BopOptimizerMethod &&from) noexcept
BopOptimizerMethod(BopOptimizerMethod &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * OptimizerType_descriptor()
static constexpr OptimizerType RELATION_GRAPH_LNS
static constexpr OptimizerType RANDOM_VARIABLE_LNS
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static constexpr OptimizerType RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
static const std::string & OptimizerType_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void UnsafeArenaSwap(BopOptimizerMethod *other)
void MergeFrom(const BopOptimizerMethod &from)
static constexpr OptimizerType SAT_CORE_BASED
static constexpr OptimizerType RANDOM_VARIABLE_LNS_GUIDED_BY_LP
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static constexpr OptimizerType OptimizerType_MIN
static constexpr OptimizerType LINEAR_RELAXATION
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static bool OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, OptimizerType *value)
static constexpr OptimizerType COMPLETE_LNS
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
friend void swap(BopOptimizerMethod &a, BopOptimizerMethod &b)
void CopyFrom(const BopOptimizerMethod &from)
static const BopOptimizerMethod * internal_default_instance()
void set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value)
static constexpr OptimizerType SAT_LINEAR_SEARCH
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr OptimizerType LOCAL_SEARCH
static constexpr OptimizerType RELATION_GRAPH_LNS_GUIDED_BY_LP
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::operations_research::bop::BopOptimizerMethod_OptimizerType type() const
BopOptimizerMethod & operator=(const BopOptimizerMethod &from)
static constexpr OptimizerType RANDOM_FIRST_SOLUTION
BopParameters(BopParameters &&from) noexcept
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > * mutable_solver_optimizer_sets()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > & solver_optimizer_sets() const
void set_max_lp_solve_for_feasibility_problems(int32_t value)
BopParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
bool has_max_number_of_conflicts_in_random_solution_generation() const
void set_default_solver_optimizer_sets(ArgT0 &&arg0, ArgT... args)
void UnsafeArenaSwap(BopParameters *other)
int32_t max_number_of_conflicts_in_random_solution_generation() const
BopParameters & operator=(BopParameters &&from) noexcept
static const BopParameters & default_instance()
static const std::string & ThreadSynchronizationType_Name(T enum_t_value)
void set_decomposed_problem_min_time_in_seconds(double value)
const std::string & default_solver_optimizer_sets() const
void set_num_bop_solvers_used_by_decomposition(int32_t value)
void set_max_number_of_conflicts_in_random_solution_generation(int32_t value)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
void set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value)
void set_max_number_of_consecutive_failing_optimizer_calls(int32_t value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ThreadSynchronizationType_descriptor()
BopParameters & operator=(const BopParameters &from)
int64_t max_number_of_explored_assignments_per_try_in_ls() const
void set_max_number_of_backtracks_in_ls(int64_t value)
void set_decomposer_num_variables_threshold(int32_t value)
void set_max_number_of_conflicts_for_quick_check(int32_t value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
int32_t max_number_of_consecutive_failing_optimizer_calls() const
void set_allocated_default_solver_optimizer_sets(std::string *default_solver_optimizer_sets)
::operations_research::bop::BopSolverOptimizerSet * add_solver_optimizer_sets()
void set_max_number_of_conflicts_in_random_lns(int32_t value)
void set_max_num_broken_constraints_in_ls(int32_t value)
friend void swap(BopParameters &a, BopParameters &b)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
PROTOBUF_NODISCARD std::string * release_default_solver_optimizer_sets()
static bool ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ThreadSynchronizationType *value)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const BopParameters * internal_default_instance()
void set_max_number_of_explored_assignments_per_try_in_ls(int64_t value)
::operations_research::bop::BopParameters_ThreadSynchronizationType synchronization_type() const
BopSolverOptimizerSet & operator=(BopSolverOptimizerSet &&from) noexcept
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > * mutable_methods()
static const BopSolverOptimizerSet * internal_default_instance()
BopSolverOptimizerSet * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const BopSolverOptimizerSet & default_instance()
::operations_research::bop::BopOptimizerMethod * add_methods()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void Swap(BopSolverOptimizerSet *other)
friend void swap(BopSolverOptimizerSet &a, BopSolverOptimizerSet &b)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
BopSolverOptimizerSet & operator=(const BopSolverOptimizerSet &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > & methods() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
BopSolverOptimizerSet(BopSolverOptimizerSet &&from) noexcept
void UnsafeArenaSwap(BopSolverOptimizerSet *other)
int64_t b
int64_t a
const std::string name
int64_t value
const std::string & BopOptimizerMethod_OptimizerType_Name(T enum_t_value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopParametersDefaultTypeInternal _BopParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopParameters_ThreadSynchronizationType_descriptor()
bool BopOptimizerMethod_OptimizerType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopOptimizerMethod_OptimizerType *value)
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MIN
const std::string & BopParameters_ThreadSynchronizationType_Name(T enum_t_value)
bool BopOptimizerMethod_OptimizerType_IsValid(int value)
bool BopParameters_ThreadSynchronizationType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BopParameters_ThreadSynchronizationType *value)
constexpr int BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_ARRAYSIZE
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopOptimizerMethod_OptimizerType_descriptor()
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MAX
constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MIN
constexpr int BopOptimizerMethod_OptimizerType_OptimizerType_ARRAYSIZE
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_
constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MAX
@ BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_RANDOM_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS
@ BopOptimizerMethod_OptimizerType_OBJECTIVE_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_USER_GUIDED_FIRST_SOLUTION
@ BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP
@ BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS_GUIDED_BY_LP
@ BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT
@ BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION
bool BopParameters_ThreadSynchronizationType_IsValid(int value)
Collection of objects used to extend the Constraint Solver library.
int index
Definition: pack.cc:509
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)