// Generated by the protocol buffer compiler. DO NOT EDIT! // source: ortools/bop/bop_parameters.proto #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto #include #include #include #if PROTOBUF_VERSION < 3012000 #error This file was generated by a newer version of protoc which is #error incompatible with your Protocol Buffer headers. Please update #error your headers. #endif #if 3012002 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. #endif #include #include #include #include #include #include #include #include #include #include #include // IWYU pragma: export #include // IWYU pragma: export #include #include // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_ortools_2fbop_2fbop_5fparameters_2eproto PROTOBUF_NAMESPACE_OPEN namespace internal { class AnyMetadata; } // namespace internal PROTOBUF_NAMESPACE_CLOSE // Internal implementation detail -- do not use these members. struct TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto { static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; }; extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto; namespace operations_research { namespace bop { class BopOptimizerMethod; class BopOptimizerMethodDefaultTypeInternal; extern BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_; class BopParameters; class BopParametersDefaultTypeInternal; extern BopParametersDefaultTypeInternal _BopParameters_default_instance_; class BopSolverOptimizerSet; class BopSolverOptimizerSetDefaultTypeInternal; extern BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_; } // namespace bop } // namespace operations_research PROTOBUF_NAMESPACE_OPEN template<> ::operations_research::bop::BopOptimizerMethod* Arena::CreateMaybeMessage<::operations_research::bop::BopOptimizerMethod>(Arena*); template<> ::operations_research::bop::BopParameters* Arena::CreateMaybeMessage<::operations_research::bop::BopParameters>(Arena*); template<> ::operations_research::bop::BopSolverOptimizerSet* Arena::CreateMaybeMessage<::operations_research::bop::BopSolverOptimizerSet>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace operations_research { namespace bop { enum BopOptimizerMethod_OptimizerType : int { BopOptimizerMethod_OptimizerType_SAT_CORE_BASED = 0, BopOptimizerMethod_OptimizerType_SAT_LINEAR_SEARCH = 15, BopOptimizerMethod_OptimizerType_LINEAR_RELAXATION = 1, BopOptimizerMethod_OptimizerType_LOCAL_SEARCH = 2, BopOptimizerMethod_OptimizerType_RANDOM_FIRST_SOLUTION = 3, BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS = 4, BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS = 5, BopOptimizerMethod_OptimizerType_COMPLETE_LNS = 7, BopOptimizerMethod_OptimizerType_LP_FIRST_SOLUTION = 8, BopOptimizerMethod_OptimizerType_OBJECTIVE_FIRST_SOLUTION = 9, BopOptimizerMethod_OptimizerType_USER_GUIDED_FIRST_SOLUTION = 14, BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP = 11, BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS_GUIDED_BY_LP = 12, BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS = 16, BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS_GUIDED_BY_LP = 17 }; bool BopOptimizerMethod_OptimizerType_IsValid(int value); constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MIN = BopOptimizerMethod_OptimizerType_SAT_CORE_BASED; constexpr BopOptimizerMethod_OptimizerType BopOptimizerMethod_OptimizerType_OptimizerType_MAX = BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS_GUIDED_BY_LP; constexpr int BopOptimizerMethod_OptimizerType_OptimizerType_ARRAYSIZE = BopOptimizerMethod_OptimizerType_OptimizerType_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BopOptimizerMethod_OptimizerType_descriptor(); template inline const std::string& BopOptimizerMethod_OptimizerType_Name(T enum_t_value) { static_assert(::std::is_same::value || ::std::is_integral::value, "Incorrect type passed to function BopOptimizerMethod_OptimizerType_Name."); return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( BopOptimizerMethod_OptimizerType_descriptor(), enum_t_value); } inline bool BopOptimizerMethod_OptimizerType_Parse( const std::string& name, BopOptimizerMethod_OptimizerType* value) { return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( BopOptimizerMethod_OptimizerType_descriptor(), name, value); } enum BopParameters_ThreadSynchronizationType : int { BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION = 0, BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ALL = 1, BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT = 2 }; bool BopParameters_ThreadSynchronizationType_IsValid(int value); constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MIN = BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION; constexpr BopParameters_ThreadSynchronizationType BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MAX = BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT; constexpr int BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_ARRAYSIZE = BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BopParameters_ThreadSynchronizationType_descriptor(); template inline const std::string& BopParameters_ThreadSynchronizationType_Name(T enum_t_value) { static_assert(::std::is_same::value || ::std::is_integral::value, "Incorrect type passed to function BopParameters_ThreadSynchronizationType_Name."); return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( BopParameters_ThreadSynchronizationType_descriptor(), enum_t_value); } inline bool BopParameters_ThreadSynchronizationType_Parse( const std::string& name, BopParameters_ThreadSynchronizationType* value) { return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( BopParameters_ThreadSynchronizationType_descriptor(), name, value); } // =================================================================== class BopOptimizerMethod PROTOBUF_FINAL : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopOptimizerMethod) */ { public: inline BopOptimizerMethod() : BopOptimizerMethod(nullptr) {}; virtual ~BopOptimizerMethod(); BopOptimizerMethod(const BopOptimizerMethod& from); BopOptimizerMethod(BopOptimizerMethod&& from) noexcept : BopOptimizerMethod() { *this = ::std::move(from); } inline BopOptimizerMethod& operator=(const BopOptimizerMethod& from) { CopyFrom(from); return *this; } inline BopOptimizerMethod& operator=(BopOptimizerMethod&& from) noexcept { if (GetArena() == from.GetArena()) { if (this != &from) InternalSwap(&from); } else { CopyFrom(from); } return *this; } inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); } inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { return GetDescriptor(); } static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { return GetMetadataStatic().descriptor; } static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return GetMetadataStatic().reflection; } static const BopOptimizerMethod& default_instance(); static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY static inline const BopOptimizerMethod* internal_default_instance() { return reinterpret_cast( &_BopOptimizerMethod_default_instance_); } static constexpr int kIndexInFileMessages = 0; friend void swap(BopOptimizerMethod& a, BopOptimizerMethod& b) { a.Swap(&b); } inline void Swap(BopOptimizerMethod* other) { if (other == this) return; if (GetArena() == other->GetArena()) { InternalSwap(other); } else { ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } void UnsafeArenaSwap(BopOptimizerMethod* other) { if (other == this) return; GOOGLE_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- inline BopOptimizerMethod* New() const final { return CreateMaybeMessage(nullptr); } BopOptimizerMethod* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void CopyFrom(const BopOptimizerMethod& from); void MergeFrom(const BopOptimizerMethod& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; size_t ByteSizeLong() const final; const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; int GetCachedSize() const final { return _cached_size_.Get(); } private: inline void SharedCtor(); inline void SharedDtor(); void SetCachedSize(int size) const final; void InternalSwap(BopOptimizerMethod* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { return "operations_research.bop.BopOptimizerMethod"; } protected: explicit BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::Arena* arena); private: static void ArenaDtor(void* object); inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); public: ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; private: static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto); return ::descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto.file_level_metadata[kIndexInFileMessages]; } public: // nested types ---------------------------------------------------- typedef BopOptimizerMethod_OptimizerType OptimizerType; static constexpr OptimizerType SAT_CORE_BASED = BopOptimizerMethod_OptimizerType_SAT_CORE_BASED; static constexpr OptimizerType SAT_LINEAR_SEARCH = BopOptimizerMethod_OptimizerType_SAT_LINEAR_SEARCH; static constexpr OptimizerType LINEAR_RELAXATION = BopOptimizerMethod_OptimizerType_LINEAR_RELAXATION; static constexpr OptimizerType LOCAL_SEARCH = BopOptimizerMethod_OptimizerType_LOCAL_SEARCH; static constexpr OptimizerType RANDOM_FIRST_SOLUTION = BopOptimizerMethod_OptimizerType_RANDOM_FIRST_SOLUTION; static constexpr OptimizerType RANDOM_CONSTRAINT_LNS = BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS; static constexpr OptimizerType RANDOM_VARIABLE_LNS = BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS; static constexpr OptimizerType COMPLETE_LNS = BopOptimizerMethod_OptimizerType_COMPLETE_LNS; static constexpr OptimizerType LP_FIRST_SOLUTION = BopOptimizerMethod_OptimizerType_LP_FIRST_SOLUTION; static constexpr OptimizerType OBJECTIVE_FIRST_SOLUTION = BopOptimizerMethod_OptimizerType_OBJECTIVE_FIRST_SOLUTION; static constexpr OptimizerType USER_GUIDED_FIRST_SOLUTION = BopOptimizerMethod_OptimizerType_USER_GUIDED_FIRST_SOLUTION; static constexpr OptimizerType RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP = BopOptimizerMethod_OptimizerType_RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP; static constexpr OptimizerType RANDOM_VARIABLE_LNS_GUIDED_BY_LP = BopOptimizerMethod_OptimizerType_RANDOM_VARIABLE_LNS_GUIDED_BY_LP; static constexpr OptimizerType RELATION_GRAPH_LNS = BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS; static constexpr OptimizerType RELATION_GRAPH_LNS_GUIDED_BY_LP = BopOptimizerMethod_OptimizerType_RELATION_GRAPH_LNS_GUIDED_BY_LP; static inline bool OptimizerType_IsValid(int value) { return BopOptimizerMethod_OptimizerType_IsValid(value); } static constexpr OptimizerType OptimizerType_MIN = BopOptimizerMethod_OptimizerType_OptimizerType_MIN; static constexpr OptimizerType OptimizerType_MAX = BopOptimizerMethod_OptimizerType_OptimizerType_MAX; static constexpr int OptimizerType_ARRAYSIZE = BopOptimizerMethod_OptimizerType_OptimizerType_ARRAYSIZE; static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OptimizerType_descriptor() { return BopOptimizerMethod_OptimizerType_descriptor(); } template static inline const std::string& OptimizerType_Name(T enum_t_value) { static_assert(::std::is_same::value || ::std::is_integral::value, "Incorrect type passed to function OptimizerType_Name."); return BopOptimizerMethod_OptimizerType_Name(enum_t_value); } static inline bool OptimizerType_Parse(const std::string& name, OptimizerType* value) { return BopOptimizerMethod_OptimizerType_Parse(name, value); } // accessors ------------------------------------------------------- enum : int { kTypeFieldNumber = 1, }; // optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1; bool has_type() const; private: bool _internal_has_type() const; public: void clear_type(); ::operations_research::bop::BopOptimizerMethod_OptimizerType type() const; void set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value); private: ::operations_research::bop::BopOptimizerMethod_OptimizerType _internal_type() const; void _internal_set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value); public: // @@protoc_insertion_point(class_scope:operations_research.bop.BopOptimizerMethod) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; int type_; friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto; }; // ------------------------------------------------------------------- class BopSolverOptimizerSet PROTOBUF_FINAL : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopSolverOptimizerSet) */ { public: inline BopSolverOptimizerSet() : BopSolverOptimizerSet(nullptr) {}; virtual ~BopSolverOptimizerSet(); BopSolverOptimizerSet(const BopSolverOptimizerSet& from); BopSolverOptimizerSet(BopSolverOptimizerSet&& from) noexcept : BopSolverOptimizerSet() { *this = ::std::move(from); } inline BopSolverOptimizerSet& operator=(const BopSolverOptimizerSet& from) { CopyFrom(from); return *this; } inline BopSolverOptimizerSet& operator=(BopSolverOptimizerSet&& from) noexcept { if (GetArena() == from.GetArena()) { if (this != &from) InternalSwap(&from); } else { CopyFrom(from); } return *this; } inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); } inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { return GetDescriptor(); } static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { return GetMetadataStatic().descriptor; } static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return GetMetadataStatic().reflection; } static const BopSolverOptimizerSet& default_instance(); static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY static inline const BopSolverOptimizerSet* internal_default_instance() { return reinterpret_cast( &_BopSolverOptimizerSet_default_instance_); } static constexpr int kIndexInFileMessages = 1; friend void swap(BopSolverOptimizerSet& a, BopSolverOptimizerSet& b) { a.Swap(&b); } inline void Swap(BopSolverOptimizerSet* other) { if (other == this) return; if (GetArena() == other->GetArena()) { InternalSwap(other); } else { ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } void UnsafeArenaSwap(BopSolverOptimizerSet* other) { if (other == this) return; GOOGLE_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- inline BopSolverOptimizerSet* New() const final { return CreateMaybeMessage(nullptr); } BopSolverOptimizerSet* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void CopyFrom(const BopSolverOptimizerSet& from); void MergeFrom(const BopSolverOptimizerSet& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; size_t ByteSizeLong() const final; const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; int GetCachedSize() const final { return _cached_size_.Get(); } private: inline void SharedCtor(); inline void SharedDtor(); void SetCachedSize(int size) const final; void InternalSwap(BopSolverOptimizerSet* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { return "operations_research.bop.BopSolverOptimizerSet"; } protected: explicit BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::Arena* arena); private: static void ArenaDtor(void* object); inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); public: ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; private: static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto); return ::descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto.file_level_metadata[kIndexInFileMessages]; } public: // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { kMethodsFieldNumber = 1, }; // repeated .operations_research.bop.BopOptimizerMethod methods = 1; int methods_size() const; private: int _internal_methods_size() const; public: void clear_methods(); ::operations_research::bop::BopOptimizerMethod* mutable_methods(int index); ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >* mutable_methods(); private: const ::operations_research::bop::BopOptimizerMethod& _internal_methods(int index) const; ::operations_research::bop::BopOptimizerMethod* _internal_add_methods(); public: const ::operations_research::bop::BopOptimizerMethod& methods(int index) const; ::operations_research::bop::BopOptimizerMethod* add_methods(); const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >& methods() const; // @@protoc_insertion_point(class_scope:operations_research.bop.BopSolverOptimizerSet) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod > methods_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto; }; // ------------------------------------------------------------------- class BopParameters PROTOBUF_FINAL : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.bop.BopParameters) */ { public: inline BopParameters() : BopParameters(nullptr) {}; virtual ~BopParameters(); BopParameters(const BopParameters& from); BopParameters(BopParameters&& from) noexcept : BopParameters() { *this = ::std::move(from); } inline BopParameters& operator=(const BopParameters& from) { CopyFrom(from); return *this; } inline BopParameters& operator=(BopParameters&& from) noexcept { if (GetArena() == from.GetArena()) { if (this != &from) InternalSwap(&from); } else { CopyFrom(from); } return *this; } inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); } inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { return GetDescriptor(); } static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { return GetMetadataStatic().descriptor; } static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return GetMetadataStatic().reflection; } static const BopParameters& default_instance(); static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY static inline const BopParameters* internal_default_instance() { return reinterpret_cast( &_BopParameters_default_instance_); } static constexpr int kIndexInFileMessages = 2; friend void swap(BopParameters& a, BopParameters& b) { a.Swap(&b); } inline void Swap(BopParameters* other) { if (other == this) return; if (GetArena() == other->GetArena()) { InternalSwap(other); } else { ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } void UnsafeArenaSwap(BopParameters* other) { if (other == this) return; GOOGLE_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- inline BopParameters* New() const final { return CreateMaybeMessage(nullptr); } BopParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void CopyFrom(const BopParameters& from); void MergeFrom(const BopParameters& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; size_t ByteSizeLong() const final; const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; int GetCachedSize() const final { return _cached_size_.Get(); } private: inline void SharedCtor(); inline void SharedDtor(); void SetCachedSize(int size) const final; void InternalSwap(BopParameters* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { return "operations_research.bop.BopParameters"; } protected: explicit BopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena); private: static void ArenaDtor(void* object); inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); public: ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; private: static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto); return ::descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto.file_level_metadata[kIndexInFileMessages]; } public: // nested types ---------------------------------------------------- typedef BopParameters_ThreadSynchronizationType ThreadSynchronizationType; static constexpr ThreadSynchronizationType NO_SYNCHRONIZATION = BopParameters_ThreadSynchronizationType_NO_SYNCHRONIZATION; static constexpr ThreadSynchronizationType SYNCHRONIZE_ALL = BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ALL; static constexpr ThreadSynchronizationType SYNCHRONIZE_ON_RIGHT = BopParameters_ThreadSynchronizationType_SYNCHRONIZE_ON_RIGHT; static inline bool ThreadSynchronizationType_IsValid(int value) { return BopParameters_ThreadSynchronizationType_IsValid(value); } static constexpr ThreadSynchronizationType ThreadSynchronizationType_MIN = BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MIN; static constexpr ThreadSynchronizationType ThreadSynchronizationType_MAX = BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_MAX; static constexpr int ThreadSynchronizationType_ARRAYSIZE = BopParameters_ThreadSynchronizationType_ThreadSynchronizationType_ARRAYSIZE; static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ThreadSynchronizationType_descriptor() { return BopParameters_ThreadSynchronizationType_descriptor(); } template static inline const std::string& ThreadSynchronizationType_Name(T enum_t_value) { static_assert(::std::is_same::value || ::std::is_integral::value, "Incorrect type passed to function ThreadSynchronizationType_Name."); return BopParameters_ThreadSynchronizationType_Name(enum_t_value); } static inline bool ThreadSynchronizationType_Parse(const std::string& name, ThreadSynchronizationType* value) { return BopParameters_ThreadSynchronizationType_Parse(name, value); } // accessors ------------------------------------------------------- enum : int { kSolverOptimizerSetsFieldNumber = 26, kDefaultSolverOptimizerSetsFieldNumber = 33, kLogSearchProgressFieldNumber = 14, kPruneSearchTreeFieldNumber = 4, kSortConstraintsByNumTermsFieldNumber = 5, kUseSymmetryFieldNumber = 17, kSynchronizationTypeFieldNumber = 25, kMaxNumberOfConsecutiveFailingOptimizerCallsFieldNumber = 35, kExploitSymmetryInSatFirstSolutionFieldNumber = 40, kUsePotentialOneFlipRepairsInLsFieldNumber = 39, kUseLpStrongBranchingFieldNumber = 29, kDecomposedProblemMinTimeInSecondsFieldNumber = 36, kMaxLpSolveForFeasibilityProblemsFieldNumber = 41, kMaxTimeInSecondsFieldNumber = 1, kMaxNumDecisionsInLsFieldNumber = 2, kRandomSeedFieldNumber = 7, kNumRelaxedVarsFieldNumber = 8, kMaxNumberOfConflictsInRandomLnsFieldNumber = 9, kComputeEstimatedImpactFieldNumber = 3, kUseRandomLnsFieldNumber = 6, kUseLpLnsFieldNumber = 12, kUseSatToChooseLnsNeighbourhoodFieldNumber = 15, kNumRandomLnsTriesFieldNumber = 10, kMaxNumberOfBacktracksInLsFieldNumber = 11, kMaxNumberOfConflictsForQuickCheckFieldNumber = 16, kMaxNumberOfConflictsInRandomSolutionGenerationFieldNumber = 20, kMaxNumberOfExploredAssignmentsPerTryInLsFieldNumber = 21, kUseTranspositionTableInLsFieldNumber = 22, kUseLearnedBinaryClausesInLpFieldNumber = 23, kNumberOfSolversFieldNumber = 24, kMaxDeterministicTimeFieldNumber = 27, kRelativeGapLimitFieldNumber = 28, kDecomposerNumVariablesThresholdFieldNumber = 30, kNumBopSolversUsedByDecompositionFieldNumber = 31, kGuidedSatConflictsChunkFieldNumber = 34, kMaxNumBrokenConstraintsInLsFieldNumber = 38, kLpMaxDeterministicTimeFieldNumber = 37, }; // repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26; int solver_optimizer_sets_size() const; private: int _internal_solver_optimizer_sets_size() const; public: void clear_solver_optimizer_sets(); ::operations_research::bop::BopSolverOptimizerSet* mutable_solver_optimizer_sets(int index); ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >* mutable_solver_optimizer_sets(); private: const ::operations_research::bop::BopSolverOptimizerSet& _internal_solver_optimizer_sets(int index) const; ::operations_research::bop::BopSolverOptimizerSet* _internal_add_solver_optimizer_sets(); public: const ::operations_research::bop::BopSolverOptimizerSet& solver_optimizer_sets(int index) const; ::operations_research::bop::BopSolverOptimizerSet* add_solver_optimizer_sets(); const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >& solver_optimizer_sets() const; // 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 } "]; bool has_default_solver_optimizer_sets() const; private: bool _internal_has_default_solver_optimizer_sets() const; public: void clear_default_solver_optimizer_sets(); const std::string& default_solver_optimizer_sets() const; void set_default_solver_optimizer_sets(const std::string& value); void set_default_solver_optimizer_sets(std::string&& value); void set_default_solver_optimizer_sets(const char* value); void set_default_solver_optimizer_sets(const char* value, size_t size); std::string* mutable_default_solver_optimizer_sets(); std::string* release_default_solver_optimizer_sets(); void set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets); GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for" " string fields are deprecated and will be removed in a" " future release.") std::string* unsafe_arena_release_default_solver_optimizer_sets(); GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for" " string fields are deprecated and will be removed in a" " future release.") void unsafe_arena_set_allocated_default_solver_optimizer_sets( std::string* default_solver_optimizer_sets); private: const std::string& _internal_default_solver_optimizer_sets() const; void _internal_set_default_solver_optimizer_sets(const std::string& value); std::string* _internal_mutable_default_solver_optimizer_sets(); public: // optional bool log_search_progress = 14 [default = false]; bool has_log_search_progress() const; private: bool _internal_has_log_search_progress() const; public: void clear_log_search_progress(); bool log_search_progress() const; void set_log_search_progress(bool value); private: bool _internal_log_search_progress() const; void _internal_set_log_search_progress(bool value); public: // optional bool prune_search_tree = 4 [default = false]; bool has_prune_search_tree() const; private: bool _internal_has_prune_search_tree() const; public: void clear_prune_search_tree(); bool prune_search_tree() const; void set_prune_search_tree(bool value); private: bool _internal_prune_search_tree() const; void _internal_set_prune_search_tree(bool value); public: // optional bool sort_constraints_by_num_terms = 5 [default = false]; bool has_sort_constraints_by_num_terms() const; private: bool _internal_has_sort_constraints_by_num_terms() const; public: void clear_sort_constraints_by_num_terms(); bool sort_constraints_by_num_terms() const; void set_sort_constraints_by_num_terms(bool value); private: bool _internal_sort_constraints_by_num_terms() const; void _internal_set_sort_constraints_by_num_terms(bool value); public: // optional bool use_symmetry = 17 [default = false]; bool has_use_symmetry() const; private: bool _internal_has_use_symmetry() const; public: void clear_use_symmetry(); bool use_symmetry() const; void set_use_symmetry(bool value); private: bool _internal_use_symmetry() const; void _internal_set_use_symmetry(bool value); public: // optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION]; bool has_synchronization_type() const; private: bool _internal_has_synchronization_type() const; public: void clear_synchronization_type(); ::operations_research::bop::BopParameters_ThreadSynchronizationType synchronization_type() const; void set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value); private: ::operations_research::bop::BopParameters_ThreadSynchronizationType _internal_synchronization_type() const; void _internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value); public: // optional int32 max_number_of_consecutive_failing_optimizer_calls = 35; bool has_max_number_of_consecutive_failing_optimizer_calls() const; private: bool _internal_has_max_number_of_consecutive_failing_optimizer_calls() const; public: void clear_max_number_of_consecutive_failing_optimizer_calls(); ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_consecutive_failing_optimizer_calls() const; void set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_consecutive_failing_optimizer_calls() const; void _internal_set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false]; bool has_exploit_symmetry_in_sat_first_solution() const; private: bool _internal_has_exploit_symmetry_in_sat_first_solution() const; public: void clear_exploit_symmetry_in_sat_first_solution(); bool exploit_symmetry_in_sat_first_solution() const; void set_exploit_symmetry_in_sat_first_solution(bool value); private: bool _internal_exploit_symmetry_in_sat_first_solution() const; void _internal_set_exploit_symmetry_in_sat_first_solution(bool value); public: // optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false]; bool has_use_potential_one_flip_repairs_in_ls() const; private: bool _internal_has_use_potential_one_flip_repairs_in_ls() const; public: void clear_use_potential_one_flip_repairs_in_ls(); bool use_potential_one_flip_repairs_in_ls() const; void set_use_potential_one_flip_repairs_in_ls(bool value); private: bool _internal_use_potential_one_flip_repairs_in_ls() const; void _internal_set_use_potential_one_flip_repairs_in_ls(bool value); public: // optional bool use_lp_strong_branching = 29 [default = false]; bool has_use_lp_strong_branching() const; private: bool _internal_has_use_lp_strong_branching() const; public: void clear_use_lp_strong_branching(); bool use_lp_strong_branching() const; void set_use_lp_strong_branching(bool value); private: bool _internal_use_lp_strong_branching() const; void _internal_set_use_lp_strong_branching(bool value); public: // optional double decomposed_problem_min_time_in_seconds = 36 [default = 0]; bool has_decomposed_problem_min_time_in_seconds() const; private: bool _internal_has_decomposed_problem_min_time_in_seconds() const; public: void clear_decomposed_problem_min_time_in_seconds(); double decomposed_problem_min_time_in_seconds() const; void set_decomposed_problem_min_time_in_seconds(double value); private: double _internal_decomposed_problem_min_time_in_seconds() const; void _internal_set_decomposed_problem_min_time_in_seconds(double value); public: // optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0]; bool has_max_lp_solve_for_feasibility_problems() const; private: bool _internal_has_max_lp_solve_for_feasibility_problems() const; public: void clear_max_lp_solve_for_feasibility_problems(); ::PROTOBUF_NAMESPACE_ID::int32 max_lp_solve_for_feasibility_problems() const; void set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_lp_solve_for_feasibility_problems() const; void _internal_set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional double max_time_in_seconds = 1 [default = inf]; bool has_max_time_in_seconds() const; private: bool _internal_has_max_time_in_seconds() const; public: void clear_max_time_in_seconds(); double max_time_in_seconds() const; void set_max_time_in_seconds(double value); private: double _internal_max_time_in_seconds() const; void _internal_set_max_time_in_seconds(double value); public: // optional int32 max_num_decisions_in_ls = 2 [default = 4]; bool has_max_num_decisions_in_ls() const; private: bool _internal_has_max_num_decisions_in_ls() const; public: void clear_max_num_decisions_in_ls(); ::PROTOBUF_NAMESPACE_ID::int32 max_num_decisions_in_ls() const; void set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_num_decisions_in_ls() const; void _internal_set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional int32 random_seed = 7 [default = 8]; bool has_random_seed() const; private: bool _internal_has_random_seed() const; public: void clear_random_seed(); ::PROTOBUF_NAMESPACE_ID::int32 random_seed() const; void set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_random_seed() const; void _internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional int32 num_relaxed_vars = 8 [default = 10]; bool has_num_relaxed_vars() const; private: bool _internal_has_num_relaxed_vars() const; public: void clear_num_relaxed_vars(); ::PROTOBUF_NAMESPACE_ID::int32 num_relaxed_vars() const; void set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_relaxed_vars() const; void _internal_set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500]; bool has_max_number_of_conflicts_in_random_lns() const; private: bool _internal_has_max_number_of_conflicts_in_random_lns() const; public: void clear_max_number_of_conflicts_in_random_lns(); ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_lns() const; void set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_conflicts_in_random_lns() const; void _internal_set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional bool compute_estimated_impact = 3 [default = true]; bool has_compute_estimated_impact() const; private: bool _internal_has_compute_estimated_impact() const; public: void clear_compute_estimated_impact(); bool compute_estimated_impact() const; void set_compute_estimated_impact(bool value); private: bool _internal_compute_estimated_impact() const; void _internal_set_compute_estimated_impact(bool value); public: // optional bool use_random_lns = 6 [default = true]; bool has_use_random_lns() const; private: bool _internal_has_use_random_lns() const; public: void clear_use_random_lns(); bool use_random_lns() const; void set_use_random_lns(bool value); private: bool _internal_use_random_lns() const; void _internal_set_use_random_lns(bool value); public: // optional bool use_lp_lns = 12 [default = true]; bool has_use_lp_lns() const; private: bool _internal_has_use_lp_lns() const; public: void clear_use_lp_lns(); bool use_lp_lns() const; void set_use_lp_lns(bool value); private: bool _internal_use_lp_lns() const; void _internal_set_use_lp_lns(bool value); public: // optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true]; bool has_use_sat_to_choose_lns_neighbourhood() const; private: bool _internal_has_use_sat_to_choose_lns_neighbourhood() const; public: void clear_use_sat_to_choose_lns_neighbourhood(); bool use_sat_to_choose_lns_neighbourhood() const; void set_use_sat_to_choose_lns_neighbourhood(bool value); private: bool _internal_use_sat_to_choose_lns_neighbourhood() const; void _internal_set_use_sat_to_choose_lns_neighbourhood(bool value); public: // optional int32 num_random_lns_tries = 10 [default = 1]; bool has_num_random_lns_tries() const; private: bool _internal_has_num_random_lns_tries() const; public: void clear_num_random_lns_tries(); ::PROTOBUF_NAMESPACE_ID::int32 num_random_lns_tries() const; void set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_random_lns_tries() const; void _internal_set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000]; bool has_max_number_of_backtracks_in_ls() const; private: bool _internal_has_max_number_of_backtracks_in_ls() const; public: void clear_max_number_of_backtracks_in_ls(); ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_backtracks_in_ls() const; void set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value); private: ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_number_of_backtracks_in_ls() const; void _internal_set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value); public: // optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10]; bool has_max_number_of_conflicts_for_quick_check() const; private: bool _internal_has_max_number_of_conflicts_for_quick_check() const; public: void clear_max_number_of_conflicts_for_quick_check(); ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_for_quick_check() const; void set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_conflicts_for_quick_check() const; void _internal_set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500]; bool has_max_number_of_conflicts_in_random_solution_generation() const; private: bool _internal_has_max_number_of_conflicts_in_random_solution_generation() const; public: void clear_max_number_of_conflicts_in_random_solution_generation(); ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_solution_generation() const; void set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_number_of_conflicts_in_random_solution_generation() const; void _internal_set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000]; bool has_max_number_of_explored_assignments_per_try_in_ls() const; private: bool _internal_has_max_number_of_explored_assignments_per_try_in_ls() const; public: void clear_max_number_of_explored_assignments_per_try_in_ls(); ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_explored_assignments_per_try_in_ls() const; void set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value); private: ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_number_of_explored_assignments_per_try_in_ls() const; void _internal_set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value); public: // optional bool use_transposition_table_in_ls = 22 [default = true]; bool has_use_transposition_table_in_ls() const; private: bool _internal_has_use_transposition_table_in_ls() const; public: void clear_use_transposition_table_in_ls(); bool use_transposition_table_in_ls() const; void set_use_transposition_table_in_ls(bool value); private: bool _internal_use_transposition_table_in_ls() const; void _internal_set_use_transposition_table_in_ls(bool value); public: // optional bool use_learned_binary_clauses_in_lp = 23 [default = true]; bool has_use_learned_binary_clauses_in_lp() const; private: bool _internal_has_use_learned_binary_clauses_in_lp() const; public: void clear_use_learned_binary_clauses_in_lp(); bool use_learned_binary_clauses_in_lp() const; void set_use_learned_binary_clauses_in_lp(bool value); private: bool _internal_use_learned_binary_clauses_in_lp() const; void _internal_set_use_learned_binary_clauses_in_lp(bool value); public: // optional int32 number_of_solvers = 24 [default = 1]; bool has_number_of_solvers() const; private: bool _internal_has_number_of_solvers() const; public: void clear_number_of_solvers(); ::PROTOBUF_NAMESPACE_ID::int32 number_of_solvers() const; void set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_number_of_solvers() const; void _internal_set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional double max_deterministic_time = 27 [default = inf]; bool has_max_deterministic_time() const; private: bool _internal_has_max_deterministic_time() const; public: void clear_max_deterministic_time(); double max_deterministic_time() const; void set_max_deterministic_time(double value); private: double _internal_max_deterministic_time() const; void _internal_set_max_deterministic_time(double value); public: // optional double relative_gap_limit = 28 [default = 0.0001]; bool has_relative_gap_limit() const; private: bool _internal_has_relative_gap_limit() const; public: void clear_relative_gap_limit(); double relative_gap_limit() const; void set_relative_gap_limit(double value); private: double _internal_relative_gap_limit() const; void _internal_set_relative_gap_limit(double value); public: // optional int32 decomposer_num_variables_threshold = 30 [default = 50]; bool has_decomposer_num_variables_threshold() const; private: bool _internal_has_decomposer_num_variables_threshold() const; public: void clear_decomposer_num_variables_threshold(); ::PROTOBUF_NAMESPACE_ID::int32 decomposer_num_variables_threshold() const; void set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_decomposer_num_variables_threshold() const; void _internal_set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1]; bool has_num_bop_solvers_used_by_decomposition() const; private: bool _internal_has_num_bop_solvers_used_by_decomposition() const; public: void clear_num_bop_solvers_used_by_decomposition(); ::PROTOBUF_NAMESPACE_ID::int32 num_bop_solvers_used_by_decomposition() const; void set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_bop_solvers_used_by_decomposition() const; void _internal_set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional int32 guided_sat_conflicts_chunk = 34 [default = 1000]; bool has_guided_sat_conflicts_chunk() const; private: bool _internal_has_guided_sat_conflicts_chunk() const; public: void clear_guided_sat_conflicts_chunk(); ::PROTOBUF_NAMESPACE_ID::int32 guided_sat_conflicts_chunk() const; void set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_guided_sat_conflicts_chunk() const; void _internal_set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647]; bool has_max_num_broken_constraints_in_ls() const; private: bool _internal_has_max_num_broken_constraints_in_ls() const; public: void clear_max_num_broken_constraints_in_ls(); ::PROTOBUF_NAMESPACE_ID::int32 max_num_broken_constraints_in_ls() const; void set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value); private: ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_num_broken_constraints_in_ls() const; void _internal_set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value); public: // optional double lp_max_deterministic_time = 37 [default = 1]; bool has_lp_max_deterministic_time() const; private: bool _internal_has_lp_max_deterministic_time() const; public: void clear_lp_max_deterministic_time(); double lp_max_deterministic_time() const; void set_lp_max_deterministic_time(double value); private: double _internal_lp_max_deterministic_time() const; void _internal_set_lp_max_deterministic_time(double value); public: // @@protoc_insertion_point(class_scope:operations_research.bop.BopParameters) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet > solver_optimizer_sets_; public: static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_; private: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_solver_optimizer_sets_; bool log_search_progress_; bool prune_search_tree_; bool sort_constraints_by_num_terms_; bool use_symmetry_; int synchronization_type_; ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_consecutive_failing_optimizer_calls_; bool exploit_symmetry_in_sat_first_solution_; bool use_potential_one_flip_repairs_in_ls_; bool use_lp_strong_branching_; double decomposed_problem_min_time_in_seconds_; ::PROTOBUF_NAMESPACE_ID::int32 max_lp_solve_for_feasibility_problems_; double max_time_in_seconds_; ::PROTOBUF_NAMESPACE_ID::int32 max_num_decisions_in_ls_; ::PROTOBUF_NAMESPACE_ID::int32 random_seed_; ::PROTOBUF_NAMESPACE_ID::int32 num_relaxed_vars_; ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_lns_; bool compute_estimated_impact_; bool use_random_lns_; bool use_lp_lns_; bool use_sat_to_choose_lns_neighbourhood_; ::PROTOBUF_NAMESPACE_ID::int32 num_random_lns_tries_; ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_backtracks_in_ls_; ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_for_quick_check_; ::PROTOBUF_NAMESPACE_ID::int32 max_number_of_conflicts_in_random_solution_generation_; ::PROTOBUF_NAMESPACE_ID::int64 max_number_of_explored_assignments_per_try_in_ls_; bool use_transposition_table_in_ls_; bool use_learned_binary_clauses_in_lp_; ::PROTOBUF_NAMESPACE_ID::int32 number_of_solvers_; double max_deterministic_time_; double relative_gap_limit_; ::PROTOBUF_NAMESPACE_ID::int32 decomposer_num_variables_threshold_; ::PROTOBUF_NAMESPACE_ID::int32 num_bop_solvers_used_by_decomposition_; ::PROTOBUF_NAMESPACE_ID::int32 guided_sat_conflicts_chunk_; ::PROTOBUF_NAMESPACE_ID::int32 max_num_broken_constraints_in_ls_; double lp_max_deterministic_time_; friend struct ::TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto; }; // =================================================================== // =================================================================== #ifdef __GNUC__ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif // __GNUC__ // BopOptimizerMethod // optional .operations_research.bop.BopOptimizerMethod.OptimizerType type = 1; inline bool BopOptimizerMethod::_internal_has_type() const { bool value = (_has_bits_[0] & 0x00000001u) != 0; return value; } inline bool BopOptimizerMethod::has_type() const { return _internal_has_type(); } inline void BopOptimizerMethod::clear_type() { type_ = 0; _has_bits_[0] &= ~0x00000001u; } inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::_internal_type() const { return static_cast< ::operations_research::bop::BopOptimizerMethod_OptimizerType >(type_); } inline ::operations_research::bop::BopOptimizerMethod_OptimizerType BopOptimizerMethod::type() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopOptimizerMethod.type) return _internal_type(); } inline void BopOptimizerMethod::_internal_set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value) { assert(::operations_research::bop::BopOptimizerMethod_OptimizerType_IsValid(value)); _has_bits_[0] |= 0x00000001u; type_ = value; } inline void BopOptimizerMethod::set_type(::operations_research::bop::BopOptimizerMethod_OptimizerType value) { _internal_set_type(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopOptimizerMethod.type) } // ------------------------------------------------------------------- // BopSolverOptimizerSet // repeated .operations_research.bop.BopOptimizerMethod methods = 1; inline int BopSolverOptimizerSet::_internal_methods_size() const { return methods_.size(); } inline int BopSolverOptimizerSet::methods_size() const { return _internal_methods_size(); } inline void BopSolverOptimizerSet::clear_methods() { methods_.Clear(); } inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::mutable_methods(int index) { // @@protoc_insertion_point(field_mutable:operations_research.bop.BopSolverOptimizerSet.methods) return methods_.Mutable(index); } inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >* BopSolverOptimizerSet::mutable_methods() { // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopSolverOptimizerSet.methods) return &methods_; } inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::_internal_methods(int index) const { return methods_.Get(index); } inline const ::operations_research::bop::BopOptimizerMethod& BopSolverOptimizerSet::methods(int index) const { // @@protoc_insertion_point(field_get:operations_research.bop.BopSolverOptimizerSet.methods) return _internal_methods(index); } inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::_internal_add_methods() { return methods_.Add(); } inline ::operations_research::bop::BopOptimizerMethod* BopSolverOptimizerSet::add_methods() { // @@protoc_insertion_point(field_add:operations_research.bop.BopSolverOptimizerSet.methods) return _internal_add_methods(); } inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopOptimizerMethod >& BopSolverOptimizerSet::methods() const { // @@protoc_insertion_point(field_list:operations_research.bop.BopSolverOptimizerSet.methods) return methods_; } // ------------------------------------------------------------------- // BopParameters // optional double max_time_in_seconds = 1 [default = inf]; inline bool BopParameters::_internal_has_max_time_in_seconds() const { bool value = (_has_bits_[0] & 0x00001000u) != 0; return value; } inline bool BopParameters::has_max_time_in_seconds() const { return _internal_has_max_time_in_seconds(); } inline void BopParameters::clear_max_time_in_seconds() { max_time_in_seconds_ = std::numeric_limits::infinity(); _has_bits_[0] &= ~0x00001000u; } inline double BopParameters::_internal_max_time_in_seconds() const { return max_time_in_seconds_; } inline double BopParameters::max_time_in_seconds() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_time_in_seconds) return _internal_max_time_in_seconds(); } inline void BopParameters::_internal_set_max_time_in_seconds(double value) { _has_bits_[0] |= 0x00001000u; max_time_in_seconds_ = value; } inline void BopParameters::set_max_time_in_seconds(double value) { _internal_set_max_time_in_seconds(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_time_in_seconds) } // optional double max_deterministic_time = 27 [default = inf]; inline bool BopParameters::_internal_has_max_deterministic_time() const { bool value = (_has_bits_[0] & 0x20000000u) != 0; return value; } inline bool BopParameters::has_max_deterministic_time() const { return _internal_has_max_deterministic_time(); } inline void BopParameters::clear_max_deterministic_time() { max_deterministic_time_ = std::numeric_limits::infinity(); _has_bits_[0] &= ~0x20000000u; } inline double BopParameters::_internal_max_deterministic_time() const { return max_deterministic_time_; } inline double BopParameters::max_deterministic_time() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_deterministic_time) return _internal_max_deterministic_time(); } inline void BopParameters::_internal_set_max_deterministic_time(double value) { _has_bits_[0] |= 0x20000000u; max_deterministic_time_ = value; } inline void BopParameters::set_max_deterministic_time(double value) { _internal_set_max_deterministic_time(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_deterministic_time) } // optional double lp_max_deterministic_time = 37 [default = 1]; inline bool BopParameters::_internal_has_lp_max_deterministic_time() const { bool value = (_has_bits_[1] & 0x00000008u) != 0; return value; } inline bool BopParameters::has_lp_max_deterministic_time() const { return _internal_has_lp_max_deterministic_time(); } inline void BopParameters::clear_lp_max_deterministic_time() { lp_max_deterministic_time_ = 1; _has_bits_[1] &= ~0x00000008u; } inline double BopParameters::_internal_lp_max_deterministic_time() const { return lp_max_deterministic_time_; } inline double BopParameters::lp_max_deterministic_time() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.lp_max_deterministic_time) return _internal_lp_max_deterministic_time(); } inline void BopParameters::_internal_set_lp_max_deterministic_time(double value) { _has_bits_[1] |= 0x00000008u; lp_max_deterministic_time_ = value; } inline void BopParameters::set_lp_max_deterministic_time(double value) { _internal_set_lp_max_deterministic_time(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.lp_max_deterministic_time) } // optional int32 max_number_of_consecutive_failing_optimizer_calls = 35; inline bool BopParameters::_internal_has_max_number_of_consecutive_failing_optimizer_calls() const { bool value = (_has_bits_[0] & 0x00000040u) != 0; return value; } inline bool BopParameters::has_max_number_of_consecutive_failing_optimizer_calls() const { return _internal_has_max_number_of_consecutive_failing_optimizer_calls(); } inline void BopParameters::clear_max_number_of_consecutive_failing_optimizer_calls() { max_number_of_consecutive_failing_optimizer_calls_ = 0; _has_bits_[0] &= ~0x00000040u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_consecutive_failing_optimizer_calls() const { return max_number_of_consecutive_failing_optimizer_calls_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_consecutive_failing_optimizer_calls() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls) return _internal_max_number_of_consecutive_failing_optimizer_calls(); } inline void BopParameters::_internal_set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x00000040u; max_number_of_consecutive_failing_optimizer_calls_ = value; } inline void BopParameters::set_max_number_of_consecutive_failing_optimizer_calls(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_max_number_of_consecutive_failing_optimizer_calls(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_consecutive_failing_optimizer_calls) } // optional double relative_gap_limit = 28 [default = 0.0001]; inline bool BopParameters::_internal_has_relative_gap_limit() const { bool value = (_has_bits_[0] & 0x40000000u) != 0; return value; } inline bool BopParameters::has_relative_gap_limit() const { return _internal_has_relative_gap_limit(); } inline void BopParameters::clear_relative_gap_limit() { relative_gap_limit_ = 0.0001; _has_bits_[0] &= ~0x40000000u; } inline double BopParameters::_internal_relative_gap_limit() const { return relative_gap_limit_; } inline double BopParameters::relative_gap_limit() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.relative_gap_limit) return _internal_relative_gap_limit(); } inline void BopParameters::_internal_set_relative_gap_limit(double value) { _has_bits_[0] |= 0x40000000u; relative_gap_limit_ = value; } inline void BopParameters::set_relative_gap_limit(double value) { _internal_set_relative_gap_limit(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.relative_gap_limit) } // optional int32 max_num_decisions_in_ls = 2 [default = 4]; inline bool BopParameters::_internal_has_max_num_decisions_in_ls() const { bool value = (_has_bits_[0] & 0x00002000u) != 0; return value; } inline bool BopParameters::has_max_num_decisions_in_ls() const { return _internal_has_max_num_decisions_in_ls(); } inline void BopParameters::clear_max_num_decisions_in_ls() { max_num_decisions_in_ls_ = 4; _has_bits_[0] &= ~0x00002000u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_num_decisions_in_ls() const { return max_num_decisions_in_ls_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_num_decisions_in_ls() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_decisions_in_ls) return _internal_max_num_decisions_in_ls(); } inline void BopParameters::_internal_set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x00002000u; max_num_decisions_in_ls_ = value; } inline void BopParameters::set_max_num_decisions_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_max_num_decisions_in_ls(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_decisions_in_ls) } // optional int32 max_num_broken_constraints_in_ls = 38 [default = 2147483647]; inline bool BopParameters::_internal_has_max_num_broken_constraints_in_ls() const { bool value = (_has_bits_[1] & 0x00000004u) != 0; return value; } inline bool BopParameters::has_max_num_broken_constraints_in_ls() const { return _internal_has_max_num_broken_constraints_in_ls(); } inline void BopParameters::clear_max_num_broken_constraints_in_ls() { max_num_broken_constraints_in_ls_ = 2147483647; _has_bits_[1] &= ~0x00000004u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_num_broken_constraints_in_ls() const { return max_num_broken_constraints_in_ls_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_num_broken_constraints_in_ls() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls) return _internal_max_num_broken_constraints_in_ls(); } inline void BopParameters::_internal_set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[1] |= 0x00000004u; max_num_broken_constraints_in_ls_ = value; } inline void BopParameters::set_max_num_broken_constraints_in_ls(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_max_num_broken_constraints_in_ls(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_num_broken_constraints_in_ls) } // optional bool log_search_progress = 14 [default = false]; inline bool BopParameters::_internal_has_log_search_progress() const { bool value = (_has_bits_[0] & 0x00000002u) != 0; return value; } inline bool BopParameters::has_log_search_progress() const { return _internal_has_log_search_progress(); } inline void BopParameters::clear_log_search_progress() { log_search_progress_ = false; _has_bits_[0] &= ~0x00000002u; } inline bool BopParameters::_internal_log_search_progress() const { return log_search_progress_; } inline bool BopParameters::log_search_progress() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.log_search_progress) return _internal_log_search_progress(); } inline void BopParameters::_internal_set_log_search_progress(bool value) { _has_bits_[0] |= 0x00000002u; log_search_progress_ = value; } inline void BopParameters::set_log_search_progress(bool value) { _internal_set_log_search_progress(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.log_search_progress) } // optional bool compute_estimated_impact = 3 [default = true]; inline bool BopParameters::_internal_has_compute_estimated_impact() const { bool value = (_has_bits_[0] & 0x00020000u) != 0; return value; } inline bool BopParameters::has_compute_estimated_impact() const { return _internal_has_compute_estimated_impact(); } inline void BopParameters::clear_compute_estimated_impact() { compute_estimated_impact_ = true; _has_bits_[0] &= ~0x00020000u; } inline bool BopParameters::_internal_compute_estimated_impact() const { return compute_estimated_impact_; } inline bool BopParameters::compute_estimated_impact() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.compute_estimated_impact) return _internal_compute_estimated_impact(); } inline void BopParameters::_internal_set_compute_estimated_impact(bool value) { _has_bits_[0] |= 0x00020000u; compute_estimated_impact_ = value; } inline void BopParameters::set_compute_estimated_impact(bool value) { _internal_set_compute_estimated_impact(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.compute_estimated_impact) } // optional bool prune_search_tree = 4 [default = false]; inline bool BopParameters::_internal_has_prune_search_tree() const { bool value = (_has_bits_[0] & 0x00000004u) != 0; return value; } inline bool BopParameters::has_prune_search_tree() const { return _internal_has_prune_search_tree(); } inline void BopParameters::clear_prune_search_tree() { prune_search_tree_ = false; _has_bits_[0] &= ~0x00000004u; } inline bool BopParameters::_internal_prune_search_tree() const { return prune_search_tree_; } inline bool BopParameters::prune_search_tree() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.prune_search_tree) return _internal_prune_search_tree(); } inline void BopParameters::_internal_set_prune_search_tree(bool value) { _has_bits_[0] |= 0x00000004u; prune_search_tree_ = value; } inline void BopParameters::set_prune_search_tree(bool value) { _internal_set_prune_search_tree(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.prune_search_tree) } // optional bool sort_constraints_by_num_terms = 5 [default = false]; inline bool BopParameters::_internal_has_sort_constraints_by_num_terms() const { bool value = (_has_bits_[0] & 0x00000008u) != 0; return value; } inline bool BopParameters::has_sort_constraints_by_num_terms() const { return _internal_has_sort_constraints_by_num_terms(); } inline void BopParameters::clear_sort_constraints_by_num_terms() { sort_constraints_by_num_terms_ = false; _has_bits_[0] &= ~0x00000008u; } inline bool BopParameters::_internal_sort_constraints_by_num_terms() const { return sort_constraints_by_num_terms_; } inline bool BopParameters::sort_constraints_by_num_terms() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.sort_constraints_by_num_terms) return _internal_sort_constraints_by_num_terms(); } inline void BopParameters::_internal_set_sort_constraints_by_num_terms(bool value) { _has_bits_[0] |= 0x00000008u; sort_constraints_by_num_terms_ = value; } inline void BopParameters::set_sort_constraints_by_num_terms(bool value) { _internal_set_sort_constraints_by_num_terms(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.sort_constraints_by_num_terms) } // optional bool use_random_lns = 6 [default = true]; inline bool BopParameters::_internal_has_use_random_lns() const { bool value = (_has_bits_[0] & 0x00040000u) != 0; return value; } inline bool BopParameters::has_use_random_lns() const { return _internal_has_use_random_lns(); } inline void BopParameters::clear_use_random_lns() { use_random_lns_ = true; _has_bits_[0] &= ~0x00040000u; } inline bool BopParameters::_internal_use_random_lns() const { return use_random_lns_; } inline bool BopParameters::use_random_lns() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_random_lns) return _internal_use_random_lns(); } inline void BopParameters::_internal_set_use_random_lns(bool value) { _has_bits_[0] |= 0x00040000u; use_random_lns_ = value; } inline void BopParameters::set_use_random_lns(bool value) { _internal_set_use_random_lns(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_random_lns) } // optional int32 random_seed = 7 [default = 8]; inline bool BopParameters::_internal_has_random_seed() const { bool value = (_has_bits_[0] & 0x00004000u) != 0; return value; } inline bool BopParameters::has_random_seed() const { return _internal_has_random_seed(); } inline void BopParameters::clear_random_seed() { random_seed_ = 8; _has_bits_[0] &= ~0x00004000u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_random_seed() const { return random_seed_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::random_seed() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.random_seed) return _internal_random_seed(); } inline void BopParameters::_internal_set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x00004000u; random_seed_ = value; } inline void BopParameters::set_random_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_random_seed(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.random_seed) } // optional int32 num_relaxed_vars = 8 [default = 10]; inline bool BopParameters::_internal_has_num_relaxed_vars() const { bool value = (_has_bits_[0] & 0x00008000u) != 0; return value; } inline bool BopParameters::has_num_relaxed_vars() const { return _internal_has_num_relaxed_vars(); } inline void BopParameters::clear_num_relaxed_vars() { num_relaxed_vars_ = 10; _has_bits_[0] &= ~0x00008000u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_num_relaxed_vars() const { return num_relaxed_vars_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::num_relaxed_vars() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_relaxed_vars) return _internal_num_relaxed_vars(); } inline void BopParameters::_internal_set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x00008000u; num_relaxed_vars_ = value; } inline void BopParameters::set_num_relaxed_vars(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_num_relaxed_vars(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_relaxed_vars) } // optional int32 max_number_of_conflicts_in_random_lns = 9 [default = 2500]; inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_lns() const { bool value = (_has_bits_[0] & 0x00010000u) != 0; return value; } inline bool BopParameters::has_max_number_of_conflicts_in_random_lns() const { return _internal_has_max_number_of_conflicts_in_random_lns(); } inline void BopParameters::clear_max_number_of_conflicts_in_random_lns() { max_number_of_conflicts_in_random_lns_ = 2500; _has_bits_[0] &= ~0x00010000u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_conflicts_in_random_lns() const { return max_number_of_conflicts_in_random_lns_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_conflicts_in_random_lns() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns) return _internal_max_number_of_conflicts_in_random_lns(); } inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x00010000u; max_number_of_conflicts_in_random_lns_ = value; } inline void BopParameters::set_max_number_of_conflicts_in_random_lns(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_max_number_of_conflicts_in_random_lns(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_lns) } // optional int32 num_random_lns_tries = 10 [default = 1]; inline bool BopParameters::_internal_has_num_random_lns_tries() const { bool value = (_has_bits_[0] & 0x00200000u) != 0; return value; } inline bool BopParameters::has_num_random_lns_tries() const { return _internal_has_num_random_lns_tries(); } inline void BopParameters::clear_num_random_lns_tries() { num_random_lns_tries_ = 1; _has_bits_[0] &= ~0x00200000u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_num_random_lns_tries() const { return num_random_lns_tries_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::num_random_lns_tries() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_random_lns_tries) return _internal_num_random_lns_tries(); } inline void BopParameters::_internal_set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x00200000u; num_random_lns_tries_ = value; } inline void BopParameters::set_num_random_lns_tries(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_num_random_lns_tries(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_random_lns_tries) } // optional int64 max_number_of_backtracks_in_ls = 11 [default = 100000000]; inline bool BopParameters::_internal_has_max_number_of_backtracks_in_ls() const { bool value = (_has_bits_[0] & 0x00400000u) != 0; return value; } inline bool BopParameters::has_max_number_of_backtracks_in_ls() const { return _internal_has_max_number_of_backtracks_in_ls(); } inline void BopParameters::clear_max_number_of_backtracks_in_ls() { max_number_of_backtracks_in_ls_ = PROTOBUF_LONGLONG(100000000); _has_bits_[0] &= ~0x00400000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::_internal_max_number_of_backtracks_in_ls() const { return max_number_of_backtracks_in_ls_; } inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::max_number_of_backtracks_in_ls() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls) return _internal_max_number_of_backtracks_in_ls(); } inline void BopParameters::_internal_set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) { _has_bits_[0] |= 0x00400000u; max_number_of_backtracks_in_ls_ = value; } inline void BopParameters::set_max_number_of_backtracks_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) { _internal_set_max_number_of_backtracks_in_ls(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_backtracks_in_ls) } // optional bool use_lp_lns = 12 [default = true]; inline bool BopParameters::_internal_has_use_lp_lns() const { bool value = (_has_bits_[0] & 0x00080000u) != 0; return value; } inline bool BopParameters::has_use_lp_lns() const { return _internal_has_use_lp_lns(); } inline void BopParameters::clear_use_lp_lns() { use_lp_lns_ = true; _has_bits_[0] &= ~0x00080000u; } inline bool BopParameters::_internal_use_lp_lns() const { return use_lp_lns_; } inline bool BopParameters::use_lp_lns() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_lns) return _internal_use_lp_lns(); } inline void BopParameters::_internal_set_use_lp_lns(bool value) { _has_bits_[0] |= 0x00080000u; use_lp_lns_ = value; } inline void BopParameters::set_use_lp_lns(bool value) { _internal_set_use_lp_lns(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_lns) } // optional bool use_sat_to_choose_lns_neighbourhood = 15 [default = true]; inline bool BopParameters::_internal_has_use_sat_to_choose_lns_neighbourhood() const { bool value = (_has_bits_[0] & 0x00100000u) != 0; return value; } inline bool BopParameters::has_use_sat_to_choose_lns_neighbourhood() const { return _internal_has_use_sat_to_choose_lns_neighbourhood(); } inline void BopParameters::clear_use_sat_to_choose_lns_neighbourhood() { use_sat_to_choose_lns_neighbourhood_ = true; _has_bits_[0] &= ~0x00100000u; } inline bool BopParameters::_internal_use_sat_to_choose_lns_neighbourhood() const { return use_sat_to_choose_lns_neighbourhood_; } inline bool BopParameters::use_sat_to_choose_lns_neighbourhood() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood) return _internal_use_sat_to_choose_lns_neighbourhood(); } inline void BopParameters::_internal_set_use_sat_to_choose_lns_neighbourhood(bool value) { _has_bits_[0] |= 0x00100000u; use_sat_to_choose_lns_neighbourhood_ = value; } inline void BopParameters::set_use_sat_to_choose_lns_neighbourhood(bool value) { _internal_set_use_sat_to_choose_lns_neighbourhood(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_sat_to_choose_lns_neighbourhood) } // optional int32 max_number_of_conflicts_for_quick_check = 16 [default = 10]; inline bool BopParameters::_internal_has_max_number_of_conflicts_for_quick_check() const { bool value = (_has_bits_[0] & 0x00800000u) != 0; return value; } inline bool BopParameters::has_max_number_of_conflicts_for_quick_check() const { return _internal_has_max_number_of_conflicts_for_quick_check(); } inline void BopParameters::clear_max_number_of_conflicts_for_quick_check() { max_number_of_conflicts_for_quick_check_ = 10; _has_bits_[0] &= ~0x00800000u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_conflicts_for_quick_check() const { return max_number_of_conflicts_for_quick_check_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_conflicts_for_quick_check() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check) return _internal_max_number_of_conflicts_for_quick_check(); } inline void BopParameters::_internal_set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x00800000u; max_number_of_conflicts_for_quick_check_ = value; } inline void BopParameters::set_max_number_of_conflicts_for_quick_check(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_max_number_of_conflicts_for_quick_check(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_for_quick_check) } // optional bool use_symmetry = 17 [default = false]; inline bool BopParameters::_internal_has_use_symmetry() const { bool value = (_has_bits_[0] & 0x00000010u) != 0; return value; } inline bool BopParameters::has_use_symmetry() const { return _internal_has_use_symmetry(); } inline void BopParameters::clear_use_symmetry() { use_symmetry_ = false; _has_bits_[0] &= ~0x00000010u; } inline bool BopParameters::_internal_use_symmetry() const { return use_symmetry_; } inline bool BopParameters::use_symmetry() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_symmetry) return _internal_use_symmetry(); } inline void BopParameters::_internal_set_use_symmetry(bool value) { _has_bits_[0] |= 0x00000010u; use_symmetry_ = value; } inline void BopParameters::set_use_symmetry(bool value) { _internal_set_use_symmetry(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_symmetry) } // optional bool exploit_symmetry_in_sat_first_solution = 40 [default = false]; inline bool BopParameters::_internal_has_exploit_symmetry_in_sat_first_solution() const { bool value = (_has_bits_[0] & 0x00000080u) != 0; return value; } inline bool BopParameters::has_exploit_symmetry_in_sat_first_solution() const { return _internal_has_exploit_symmetry_in_sat_first_solution(); } inline void BopParameters::clear_exploit_symmetry_in_sat_first_solution() { exploit_symmetry_in_sat_first_solution_ = false; _has_bits_[0] &= ~0x00000080u; } inline bool BopParameters::_internal_exploit_symmetry_in_sat_first_solution() const { return exploit_symmetry_in_sat_first_solution_; } inline bool BopParameters::exploit_symmetry_in_sat_first_solution() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution) return _internal_exploit_symmetry_in_sat_first_solution(); } inline void BopParameters::_internal_set_exploit_symmetry_in_sat_first_solution(bool value) { _has_bits_[0] |= 0x00000080u; exploit_symmetry_in_sat_first_solution_ = value; } inline void BopParameters::set_exploit_symmetry_in_sat_first_solution(bool value) { _internal_set_exploit_symmetry_in_sat_first_solution(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.exploit_symmetry_in_sat_first_solution) } // optional int32 max_number_of_conflicts_in_random_solution_generation = 20 [default = 500]; inline bool BopParameters::_internal_has_max_number_of_conflicts_in_random_solution_generation() const { bool value = (_has_bits_[0] & 0x01000000u) != 0; return value; } inline bool BopParameters::has_max_number_of_conflicts_in_random_solution_generation() const { return _internal_has_max_number_of_conflicts_in_random_solution_generation(); } inline void BopParameters::clear_max_number_of_conflicts_in_random_solution_generation() { max_number_of_conflicts_in_random_solution_generation_ = 500; _has_bits_[0] &= ~0x01000000u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_number_of_conflicts_in_random_solution_generation() const { return max_number_of_conflicts_in_random_solution_generation_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_number_of_conflicts_in_random_solution_generation() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation) return _internal_max_number_of_conflicts_in_random_solution_generation(); } inline void BopParameters::_internal_set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x01000000u; max_number_of_conflicts_in_random_solution_generation_ = value; } inline void BopParameters::set_max_number_of_conflicts_in_random_solution_generation(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_max_number_of_conflicts_in_random_solution_generation(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_conflicts_in_random_solution_generation) } // optional int64 max_number_of_explored_assignments_per_try_in_ls = 21 [default = 10000]; inline bool BopParameters::_internal_has_max_number_of_explored_assignments_per_try_in_ls() const { bool value = (_has_bits_[0] & 0x02000000u) != 0; return value; } inline bool BopParameters::has_max_number_of_explored_assignments_per_try_in_ls() const { return _internal_has_max_number_of_explored_assignments_per_try_in_ls(); } inline void BopParameters::clear_max_number_of_explored_assignments_per_try_in_ls() { max_number_of_explored_assignments_per_try_in_ls_ = PROTOBUF_LONGLONG(10000); _has_bits_[0] &= ~0x02000000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::_internal_max_number_of_explored_assignments_per_try_in_ls() const { return max_number_of_explored_assignments_per_try_in_ls_; } inline ::PROTOBUF_NAMESPACE_ID::int64 BopParameters::max_number_of_explored_assignments_per_try_in_ls() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls) return _internal_max_number_of_explored_assignments_per_try_in_ls(); } inline void BopParameters::_internal_set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) { _has_bits_[0] |= 0x02000000u; max_number_of_explored_assignments_per_try_in_ls_ = value; } inline void BopParameters::set_max_number_of_explored_assignments_per_try_in_ls(::PROTOBUF_NAMESPACE_ID::int64 value) { _internal_set_max_number_of_explored_assignments_per_try_in_ls(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_number_of_explored_assignments_per_try_in_ls) } // optional bool use_transposition_table_in_ls = 22 [default = true]; inline bool BopParameters::_internal_has_use_transposition_table_in_ls() const { bool value = (_has_bits_[0] & 0x04000000u) != 0; return value; } inline bool BopParameters::has_use_transposition_table_in_ls() const { return _internal_has_use_transposition_table_in_ls(); } inline void BopParameters::clear_use_transposition_table_in_ls() { use_transposition_table_in_ls_ = true; _has_bits_[0] &= ~0x04000000u; } inline bool BopParameters::_internal_use_transposition_table_in_ls() const { return use_transposition_table_in_ls_; } inline bool BopParameters::use_transposition_table_in_ls() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_transposition_table_in_ls) return _internal_use_transposition_table_in_ls(); } inline void BopParameters::_internal_set_use_transposition_table_in_ls(bool value) { _has_bits_[0] |= 0x04000000u; use_transposition_table_in_ls_ = value; } inline void BopParameters::set_use_transposition_table_in_ls(bool value) { _internal_set_use_transposition_table_in_ls(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_transposition_table_in_ls) } // optional bool use_potential_one_flip_repairs_in_ls = 39 [default = false]; inline bool BopParameters::_internal_has_use_potential_one_flip_repairs_in_ls() const { bool value = (_has_bits_[0] & 0x00000100u) != 0; return value; } inline bool BopParameters::has_use_potential_one_flip_repairs_in_ls() const { return _internal_has_use_potential_one_flip_repairs_in_ls(); } inline void BopParameters::clear_use_potential_one_flip_repairs_in_ls() { use_potential_one_flip_repairs_in_ls_ = false; _has_bits_[0] &= ~0x00000100u; } inline bool BopParameters::_internal_use_potential_one_flip_repairs_in_ls() const { return use_potential_one_flip_repairs_in_ls_; } inline bool BopParameters::use_potential_one_flip_repairs_in_ls() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls) return _internal_use_potential_one_flip_repairs_in_ls(); } inline void BopParameters::_internal_set_use_potential_one_flip_repairs_in_ls(bool value) { _has_bits_[0] |= 0x00000100u; use_potential_one_flip_repairs_in_ls_ = value; } inline void BopParameters::set_use_potential_one_flip_repairs_in_ls(bool value) { _internal_set_use_potential_one_flip_repairs_in_ls(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_potential_one_flip_repairs_in_ls) } // optional bool use_learned_binary_clauses_in_lp = 23 [default = true]; inline bool BopParameters::_internal_has_use_learned_binary_clauses_in_lp() const { bool value = (_has_bits_[0] & 0x08000000u) != 0; return value; } inline bool BopParameters::has_use_learned_binary_clauses_in_lp() const { return _internal_has_use_learned_binary_clauses_in_lp(); } inline void BopParameters::clear_use_learned_binary_clauses_in_lp() { use_learned_binary_clauses_in_lp_ = true; _has_bits_[0] &= ~0x08000000u; } inline bool BopParameters::_internal_use_learned_binary_clauses_in_lp() const { return use_learned_binary_clauses_in_lp_; } inline bool BopParameters::use_learned_binary_clauses_in_lp() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp) return _internal_use_learned_binary_clauses_in_lp(); } inline void BopParameters::_internal_set_use_learned_binary_clauses_in_lp(bool value) { _has_bits_[0] |= 0x08000000u; use_learned_binary_clauses_in_lp_ = value; } inline void BopParameters::set_use_learned_binary_clauses_in_lp(bool value) { _internal_set_use_learned_binary_clauses_in_lp(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_learned_binary_clauses_in_lp) } // optional int32 number_of_solvers = 24 [default = 1]; inline bool BopParameters::_internal_has_number_of_solvers() const { bool value = (_has_bits_[0] & 0x10000000u) != 0; return value; } inline bool BopParameters::has_number_of_solvers() const { return _internal_has_number_of_solvers(); } inline void BopParameters::clear_number_of_solvers() { number_of_solvers_ = 1; _has_bits_[0] &= ~0x10000000u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_number_of_solvers() const { return number_of_solvers_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::number_of_solvers() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.number_of_solvers) return _internal_number_of_solvers(); } inline void BopParameters::_internal_set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x10000000u; number_of_solvers_ = value; } inline void BopParameters::set_number_of_solvers(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_number_of_solvers(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.number_of_solvers) } // optional .operations_research.bop.BopParameters.ThreadSynchronizationType synchronization_type = 25 [default = NO_SYNCHRONIZATION]; inline bool BopParameters::_internal_has_synchronization_type() const { bool value = (_has_bits_[0] & 0x00000020u) != 0; return value; } inline bool BopParameters::has_synchronization_type() const { return _internal_has_synchronization_type(); } inline void BopParameters::clear_synchronization_type() { synchronization_type_ = 0; _has_bits_[0] &= ~0x00000020u; } inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::_internal_synchronization_type() const { return static_cast< ::operations_research::bop::BopParameters_ThreadSynchronizationType >(synchronization_type_); } inline ::operations_research::bop::BopParameters_ThreadSynchronizationType BopParameters::synchronization_type() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.synchronization_type) return _internal_synchronization_type(); } inline void BopParameters::_internal_set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value) { assert(::operations_research::bop::BopParameters_ThreadSynchronizationType_IsValid(value)); _has_bits_[0] |= 0x00000020u; synchronization_type_ = value; } inline void BopParameters::set_synchronization_type(::operations_research::bop::BopParameters_ThreadSynchronizationType value) { _internal_set_synchronization_type(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.synchronization_type) } // repeated .operations_research.bop.BopSolverOptimizerSet solver_optimizer_sets = 26; inline int BopParameters::_internal_solver_optimizer_sets_size() const { return solver_optimizer_sets_.size(); } inline int BopParameters::solver_optimizer_sets_size() const { return _internal_solver_optimizer_sets_size(); } inline void BopParameters::clear_solver_optimizer_sets() { solver_optimizer_sets_.Clear(); } inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::mutable_solver_optimizer_sets(int index) { // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.solver_optimizer_sets) return solver_optimizer_sets_.Mutable(index); } inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >* BopParameters::mutable_solver_optimizer_sets() { // @@protoc_insertion_point(field_mutable_list:operations_research.bop.BopParameters.solver_optimizer_sets) return &solver_optimizer_sets_; } inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::_internal_solver_optimizer_sets(int index) const { return solver_optimizer_sets_.Get(index); } inline const ::operations_research::bop::BopSolverOptimizerSet& BopParameters::solver_optimizer_sets(int index) const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.solver_optimizer_sets) return _internal_solver_optimizer_sets(index); } inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::_internal_add_solver_optimizer_sets() { return solver_optimizer_sets_.Add(); } inline ::operations_research::bop::BopSolverOptimizerSet* BopParameters::add_solver_optimizer_sets() { // @@protoc_insertion_point(field_add:operations_research.bop.BopParameters.solver_optimizer_sets) return _internal_add_solver_optimizer_sets(); } inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::bop::BopSolverOptimizerSet >& BopParameters::solver_optimizer_sets() const { // @@protoc_insertion_point(field_list:operations_research.bop.BopParameters.solver_optimizer_sets) return solver_optimizer_sets_; } // 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 } "]; inline bool BopParameters::_internal_has_default_solver_optimizer_sets() const { bool value = (_has_bits_[0] & 0x00000001u) != 0; return value; } inline bool BopParameters::has_default_solver_optimizer_sets() const { return _internal_has_default_solver_optimizer_sets(); } inline void BopParameters::clear_default_solver_optimizer_sets() { default_solver_optimizer_sets_.ClearToDefault(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), GetArena()); _has_bits_[0] &= ~0x00000001u; } inline const std::string& BopParameters::default_solver_optimizer_sets() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.default_solver_optimizer_sets) return _internal_default_solver_optimizer_sets(); } inline void BopParameters::set_default_solver_optimizer_sets(const std::string& value) { _internal_set_default_solver_optimizer_sets(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.default_solver_optimizer_sets) } inline std::string* BopParameters::mutable_default_solver_optimizer_sets() { // @@protoc_insertion_point(field_mutable:operations_research.bop.BopParameters.default_solver_optimizer_sets) return _internal_mutable_default_solver_optimizer_sets(); } inline const std::string& BopParameters::_internal_default_solver_optimizer_sets() const { return default_solver_optimizer_sets_.Get(); } inline void BopParameters::_internal_set_default_solver_optimizer_sets(const std::string& value) { _has_bits_[0] |= 0x00000001u; default_solver_optimizer_sets_.Set(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), value, GetArena()); } inline void BopParameters::set_default_solver_optimizer_sets(std::string&& value) { _has_bits_[0] |= 0x00000001u; default_solver_optimizer_sets_.Set( &::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), ::std::move(value), GetArena()); // @@protoc_insertion_point(field_set_rvalue:operations_research.bop.BopParameters.default_solver_optimizer_sets) } inline void BopParameters::set_default_solver_optimizer_sets(const char* value) { GOOGLE_DCHECK(value != nullptr); _has_bits_[0] |= 0x00000001u; default_solver_optimizer_sets_.Set(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), ::std::string(value), GetArena()); // @@protoc_insertion_point(field_set_char:operations_research.bop.BopParameters.default_solver_optimizer_sets) } inline void BopParameters::set_default_solver_optimizer_sets(const char* value, size_t size) { _has_bits_[0] |= 0x00000001u; default_solver_optimizer_sets_.Set(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), ::std::string( reinterpret_cast(value), size), GetArena()); // @@protoc_insertion_point(field_set_pointer:operations_research.bop.BopParameters.default_solver_optimizer_sets) } inline std::string* BopParameters::_internal_mutable_default_solver_optimizer_sets() { _has_bits_[0] |= 0x00000001u; return default_solver_optimizer_sets_.Mutable(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), GetArena()); } inline std::string* BopParameters::release_default_solver_optimizer_sets() { // @@protoc_insertion_point(field_release:operations_research.bop.BopParameters.default_solver_optimizer_sets) if (!_internal_has_default_solver_optimizer_sets()) { return nullptr; } _has_bits_[0] &= ~0x00000001u; return default_solver_optimizer_sets_.ReleaseNonDefault(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), GetArena()); } inline void BopParameters::set_allocated_default_solver_optimizer_sets(std::string* default_solver_optimizer_sets) { if (default_solver_optimizer_sets != nullptr) { _has_bits_[0] |= 0x00000001u; } else { _has_bits_[0] &= ~0x00000001u; } default_solver_optimizer_sets_.SetAllocated(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), default_solver_optimizer_sets, GetArena()); // @@protoc_insertion_point(field_set_allocated:operations_research.bop.BopParameters.default_solver_optimizer_sets) } inline std::string* BopParameters::unsafe_arena_release_default_solver_optimizer_sets() { // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.bop.BopParameters.default_solver_optimizer_sets) GOOGLE_DCHECK(GetArena() != nullptr); _has_bits_[0] &= ~0x00000001u; return default_solver_optimizer_sets_.UnsafeArenaRelease(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), GetArena()); } inline void BopParameters::unsafe_arena_set_allocated_default_solver_optimizer_sets( std::string* default_solver_optimizer_sets) { GOOGLE_DCHECK(GetArena() != nullptr); if (default_solver_optimizer_sets != nullptr) { _has_bits_[0] |= 0x00000001u; } else { _has_bits_[0] &= ~0x00000001u; } default_solver_optimizer_sets_.UnsafeArenaSetAllocated(&::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_.get(), default_solver_optimizer_sets, GetArena()); // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.bop.BopParameters.default_solver_optimizer_sets) } // optional bool use_lp_strong_branching = 29 [default = false]; inline bool BopParameters::_internal_has_use_lp_strong_branching() const { bool value = (_has_bits_[0] & 0x00000200u) != 0; return value; } inline bool BopParameters::has_use_lp_strong_branching() const { return _internal_has_use_lp_strong_branching(); } inline void BopParameters::clear_use_lp_strong_branching() { use_lp_strong_branching_ = false; _has_bits_[0] &= ~0x00000200u; } inline bool BopParameters::_internal_use_lp_strong_branching() const { return use_lp_strong_branching_; } inline bool BopParameters::use_lp_strong_branching() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.use_lp_strong_branching) return _internal_use_lp_strong_branching(); } inline void BopParameters::_internal_set_use_lp_strong_branching(bool value) { _has_bits_[0] |= 0x00000200u; use_lp_strong_branching_ = value; } inline void BopParameters::set_use_lp_strong_branching(bool value) { _internal_set_use_lp_strong_branching(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.use_lp_strong_branching) } // optional int32 decomposer_num_variables_threshold = 30 [default = 50]; inline bool BopParameters::_internal_has_decomposer_num_variables_threshold() const { bool value = (_has_bits_[0] & 0x80000000u) != 0; return value; } inline bool BopParameters::has_decomposer_num_variables_threshold() const { return _internal_has_decomposer_num_variables_threshold(); } inline void BopParameters::clear_decomposer_num_variables_threshold() { decomposer_num_variables_threshold_ = 50; _has_bits_[0] &= ~0x80000000u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_decomposer_num_variables_threshold() const { return decomposer_num_variables_threshold_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::decomposer_num_variables_threshold() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposer_num_variables_threshold) return _internal_decomposer_num_variables_threshold(); } inline void BopParameters::_internal_set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x80000000u; decomposer_num_variables_threshold_ = value; } inline void BopParameters::set_decomposer_num_variables_threshold(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_decomposer_num_variables_threshold(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposer_num_variables_threshold) } // optional int32 num_bop_solvers_used_by_decomposition = 31 [default = 1]; inline bool BopParameters::_internal_has_num_bop_solvers_used_by_decomposition() const { bool value = (_has_bits_[1] & 0x00000001u) != 0; return value; } inline bool BopParameters::has_num_bop_solvers_used_by_decomposition() const { return _internal_has_num_bop_solvers_used_by_decomposition(); } inline void BopParameters::clear_num_bop_solvers_used_by_decomposition() { num_bop_solvers_used_by_decomposition_ = 1; _has_bits_[1] &= ~0x00000001u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_num_bop_solvers_used_by_decomposition() const { return num_bop_solvers_used_by_decomposition_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::num_bop_solvers_used_by_decomposition() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition) return _internal_num_bop_solvers_used_by_decomposition(); } inline void BopParameters::_internal_set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[1] |= 0x00000001u; num_bop_solvers_used_by_decomposition_ = value; } inline void BopParameters::set_num_bop_solvers_used_by_decomposition(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_num_bop_solvers_used_by_decomposition(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.num_bop_solvers_used_by_decomposition) } // optional double decomposed_problem_min_time_in_seconds = 36 [default = 0]; inline bool BopParameters::_internal_has_decomposed_problem_min_time_in_seconds() const { bool value = (_has_bits_[0] & 0x00000400u) != 0; return value; } inline bool BopParameters::has_decomposed_problem_min_time_in_seconds() const { return _internal_has_decomposed_problem_min_time_in_seconds(); } inline void BopParameters::clear_decomposed_problem_min_time_in_seconds() { decomposed_problem_min_time_in_seconds_ = 0; _has_bits_[0] &= ~0x00000400u; } inline double BopParameters::_internal_decomposed_problem_min_time_in_seconds() const { return decomposed_problem_min_time_in_seconds_; } inline double BopParameters::decomposed_problem_min_time_in_seconds() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds) return _internal_decomposed_problem_min_time_in_seconds(); } inline void BopParameters::_internal_set_decomposed_problem_min_time_in_seconds(double value) { _has_bits_[0] |= 0x00000400u; decomposed_problem_min_time_in_seconds_ = value; } inline void BopParameters::set_decomposed_problem_min_time_in_seconds(double value) { _internal_set_decomposed_problem_min_time_in_seconds(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.decomposed_problem_min_time_in_seconds) } // optional int32 guided_sat_conflicts_chunk = 34 [default = 1000]; inline bool BopParameters::_internal_has_guided_sat_conflicts_chunk() const { bool value = (_has_bits_[1] & 0x00000002u) != 0; return value; } inline bool BopParameters::has_guided_sat_conflicts_chunk() const { return _internal_has_guided_sat_conflicts_chunk(); } inline void BopParameters::clear_guided_sat_conflicts_chunk() { guided_sat_conflicts_chunk_ = 1000; _has_bits_[1] &= ~0x00000002u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_guided_sat_conflicts_chunk() const { return guided_sat_conflicts_chunk_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::guided_sat_conflicts_chunk() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.guided_sat_conflicts_chunk) return _internal_guided_sat_conflicts_chunk(); } inline void BopParameters::_internal_set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[1] |= 0x00000002u; guided_sat_conflicts_chunk_ = value; } inline void BopParameters::set_guided_sat_conflicts_chunk(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_guided_sat_conflicts_chunk(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.guided_sat_conflicts_chunk) } // optional int32 max_lp_solve_for_feasibility_problems = 41 [default = 0]; inline bool BopParameters::_internal_has_max_lp_solve_for_feasibility_problems() const { bool value = (_has_bits_[0] & 0x00000800u) != 0; return value; } inline bool BopParameters::has_max_lp_solve_for_feasibility_problems() const { return _internal_has_max_lp_solve_for_feasibility_problems(); } inline void BopParameters::clear_max_lp_solve_for_feasibility_problems() { max_lp_solve_for_feasibility_problems_ = 0; _has_bits_[0] &= ~0x00000800u; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::_internal_max_lp_solve_for_feasibility_problems() const { return max_lp_solve_for_feasibility_problems_; } inline ::PROTOBUF_NAMESPACE_ID::int32 BopParameters::max_lp_solve_for_feasibility_problems() const { // @@protoc_insertion_point(field_get:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems) return _internal_max_lp_solve_for_feasibility_problems(); } inline void BopParameters::_internal_set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value) { _has_bits_[0] |= 0x00000800u; max_lp_solve_for_feasibility_problems_ = value; } inline void BopParameters::set_max_lp_solve_for_feasibility_problems(::PROTOBUF_NAMESPACE_ID::int32 value) { _internal_set_max_lp_solve_for_feasibility_problems(value); // @@protoc_insertion_point(field_set:operations_research.bop.BopParameters.max_lp_solve_for_feasibility_problems) } #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ // ------------------------------------------------------------------- // ------------------------------------------------------------------- // @@protoc_insertion_point(namespace_scope) } // namespace bop } // namespace operations_research PROTOBUF_NAMESPACE_OPEN template <> struct is_proto_enum< ::operations_research::bop::BopOptimizerMethod_OptimizerType> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopOptimizerMethod_OptimizerType>() { return ::operations_research::bop::BopOptimizerMethod_OptimizerType_descriptor(); } template <> struct is_proto_enum< ::operations_research::bop::BopParameters_ThreadSynchronizationType> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::bop::BopParameters_ThreadSynchronizationType>() { return ::operations_research::bop::BopParameters_ThreadSynchronizationType_descriptor(); } PROTOBUF_NAMESPACE_CLOSE // @@protoc_insertion_point(global_scope) #include #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fbop_2fbop_5fparameters_2eproto