10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
26namespace _fl = ::google::protobuf::internal::field_layout;
30inline constexpr BopOptimizerMethod::Impl_::Impl_(
31 ::_pbi::ConstantInitialized) noexcept
37#if defined(PROTOBUF_CUSTOM_VTABLE)
40 : ::google::protobuf::Message(),
42 _impl_(::_pbi::ConstantInitialized()) {
52PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
55inline constexpr BopSolverOptimizerSet::Impl_::Impl_(
56 ::_pbi::ConstantInitialized) noexcept
62#if defined(PROTOBUF_CUSTOM_VTABLE)
65 : ::google::protobuf::Message(),
67 _impl_(::_pbi::ConstantInitialized()) {
77PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
80inline constexpr BopParameters::Impl_::Impl_(
81 ::_pbi::ConstantInitialized) noexcept
83 solver_optimizer_sets_{},
84 default_solver_optimizer_sets_(
85 &::google::protobuf::internal::fixed_address_empty_string,
86 ::_pbi::ConstantInitialized()),
87 prune_search_tree_{
false},
88 sort_constraints_by_num_terms_{
false},
89 log_search_progress_{
false},
92 max_number_of_consecutive_failing_optimizer_calls_{0},
93 use_lp_strong_branching_{
false},
94 use_potential_one_flip_repairs_in_ls_{
false},
95 exploit_symmetry_in_sat_first_solution_{
false},
96 decomposed_problem_min_time_in_seconds_{0},
97 max_lp_solve_for_feasibility_problems_{0},
98 max_time_in_seconds_{std::numeric_limits<double>::infinity()},
99 max_num_decisions_in_ls_{4},
101 num_relaxed_vars_{10},
102 max_number_of_conflicts_in_random_lns_{2500},
103 compute_estimated_impact_{
true},
104 use_random_lns_{
true},
106 use_sat_to_choose_lns_neighbourhood_{
true},
107 num_random_lns_tries_{1},
108 max_number_of_backtracks_in_ls_{::int64_t{100000000}},
109 max_number_of_conflicts_for_quick_check_{10},
110 max_number_of_conflicts_in_random_solution_generation_{500},
111 max_number_of_explored_assignments_per_try_in_ls_{::int64_t{10000}},
112 use_transposition_table_in_ls_{
true},
113 use_learned_binary_clauses_in_lp_{
true},
114 number_of_solvers_{1},
115 max_deterministic_time_{std::numeric_limits<double>::infinity()},
116 relative_gap_limit_{0.0001},
117 decomposer_num_variables_threshold_{50},
118 num_bop_solvers_used_by_decomposition_{1},
119 guided_sat_conflicts_chunk_{1000},
120 max_num_broken_constraints_in_ls_{2147483647},
121 lp_max_deterministic_time_{1} {}
125#if defined(PROTOBUF_CUSTOM_VTABLE)
128 : ::google::protobuf::Message(),
130 _impl_(::_pbi::ConstantInitialized()) {
140PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
144static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
146static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
237static const ::_pbi::MigrationSchema
250 "\n ortools/bop/bop_parameters.proto\022\027oper"
251 "ations_research.bop\"\204\004\n\022BopOptimizerMeth"
252 "od\022G\n\004type\030\001 \001(\01629.operations_research.b"
253 "op.BopOptimizerMethod.OptimizerType\"\244\003\n\r"
254 "OptimizerType\022\022\n\016SAT_CORE_BASED\020\000\022\025\n\021SAT"
255 "_LINEAR_SEARCH\020\017\022\025\n\021LINEAR_RELAXATION\020\001\022"
256 "\020\n\014LOCAL_SEARCH\020\002\022\031\n\025RANDOM_FIRST_SOLUTI"
257 "ON\020\003\022\031\n\025RANDOM_CONSTRAINT_LNS\020\004\022\027\n\023RANDO"
258 "M_VARIABLE_LNS\020\005\022\020\n\014COMPLETE_LNS\020\007\022\025\n\021LP"
259 "_FIRST_SOLUTION\020\010\022\034\n\030OBJECTIVE_FIRST_SOL"
260 "UTION\020\t\022\036\n\032USER_GUIDED_FIRST_SOLUTION\020\016\022"
261 "&\n\"RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP\020\013\022"
262 "$\n RANDOM_VARIABLE_LNS_GUIDED_BY_LP\020\014\022\026\n"
263 "\022RELATION_GRAPH_LNS\020\020\022#\n\037RELATION_GRAPH_"
264 "LNS_GUIDED_BY_LP\020\021\"U\n\025BopSolverOptimizer"
265 "Set\022<\n\007methods\030\001 \003(\0132+.operations_resear"
266 "ch.bop.BopOptimizerMethod\"\356\023\n\rBopParamet"
267 "ers\022 \n\023max_time_in_seconds\030\001 \001(\001:\003inf\022#\n"
268 "\026max_deterministic_time\030\033 \001(\001:\003inf\022$\n\031lp"
269 "_max_deterministic_time\030% \001(\001:\0011\0229\n1max_"
270 "number_of_consecutive_failing_optimizer_"
271 "calls\030# \001(\005\022\"\n\022relative_gap_limit\030\034 \001(\001:"
272 "\0060.0001\022\"\n\027max_num_decisions_in_ls\030\002 \001(\005"
273 ":\0014\0224\n max_num_broken_constraints_in_ls\030"
274 "& \001(\005:\n2147483647\022\"\n\023log_search_progress"
275 "\030\016 \001(\010:\005false\022&\n\030compute_estimated_impac"
276 "t\030\003 \001(\010:\004true\022 \n\021prune_search_tree\030\004 \001(\010"
277 ":\005false\022,\n\035sort_constraints_by_num_terms"
278 "\030\005 \001(\010:\005false\022\034\n\016use_random_lns\030\006 \001(\010:\004t"
279 "rue\022\026\n\013random_seed\030\007 \001(\005:\0018\022\034\n\020num_relax"
280 "ed_vars\030\010 \001(\005:\00210\0223\n%max_number_of_confl"
281 "icts_in_random_lns\030\t \001(\005:\0042500\022\037\n\024num_ra"
282 "ndom_lns_tries\030\n \001(\005:\0011\0221\n\036max_number_of"
283 "_backtracks_in_ls\030\013 \001(\003:\t100000000\022\030\n\nus"
284 "e_lp_lns\030\014 \001(\010:\004true\0221\n#use_sat_to_choos"
285 "e_lns_neighbourhood\030\017 \001(\010:\004true\0223\n\'max_n"
286 "umber_of_conflicts_for_quick_check\030\020 \001(\005"
287 ":\00210\022\033\n\014use_symmetry\030\021 \001(\010:\005false\0225\n&exp"
288 "loit_symmetry_in_sat_first_solution\030( \001("
289 "\010:\005false\022B\n5max_number_of_conflicts_in_r"
290 "andom_solution_generation\030\024 \001(\005:\003500\022\?\n0"
291 "max_number_of_explored_assignments_per_t"
292 "ry_in_ls\030\025 \001(\003:\00510000\022+\n\035use_transpositi"
293 "on_table_in_ls\030\026 \001(\010:\004true\0223\n$use_potent"
294 "ial_one_flip_repairs_in_ls\030\' \001(\010:\005false\022"
295 ".\n use_learned_binary_clauses_in_lp\030\027 \001("
296 "\010:\004true\022\034\n\021number_of_solvers\030\030 \001(\005:\0011\022r\n"
297 "\024synchronization_type\030\031 \001(\0162@.operations"
298 "_research.bop.BopParameters.ThreadSynchr"
299 "onizationType:\022NO_SYNCHRONIZATION\022M\n\025sol"
300 "ver_optimizer_sets\030\032 \003(\0132..operations_re"
301 "search.bop.BopSolverOptimizerSet\022\362\005\n\035def"
302 "ault_solver_optimizer_sets\030! \001(\t:\312\005metho"
303 "ds:{type:LOCAL_SEARCH } "
304 " methods:{type:RANDOM_FIRST_SOLUTIO"
305 "N } methods:{type:LINEAR_RE"
306 "LAXATION } methods:{typ"
307 "e:LP_FIRST_SOLUTION } m"
308 "ethods:{type:OBJECTIVE_FIRST_SOLUTION } "
309 " methods:{type:USER_GUIDED_FIRS"
310 "T_SOLUTION } methods:{type:RANDO"
311 "M_CONSTRAINT_LNS_GUIDED_BY_LP } methods:"
312 "{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP }"
313 " methods:{type:RELATION_GRAPH_LNS } "
314 " methods:{type:RELATION_GRA"
315 "PH_LNS_GUIDED_BY_LP } methods:{type:R"
316 "ANDOM_CONSTRAINT_LNS } meth"
317 "ods:{type:RANDOM_VARIABLE_LNS } "
318 " methods:{type:SAT_CORE_BASED } "
319 " methods:{type:COMPLETE"
320 "_LNS } \022&\n\027use_lp_"
321 "strong_branching\030\035 \001(\010:\005false\022.\n\"decompo"
322 "ser_num_variables_threshold\030\036 \001(\005:\00250\0220\n"
323 "%num_bop_solvers_used_by_decomposition\030\037"
324 " \001(\005:\0011\0221\n&decomposed_problem_min_time_i"
325 "n_seconds\030$ \001(\001:\0010\022(\n\032guided_sat_conflic"
326 "ts_chunk\030\" \001(\005:\0041000\0220\n%max_lp_solve_for"
327 "_feasibility_problems\030) \001(\005:\0010\"b\n\031Thread"
328 "SynchronizationType\022\026\n\022NO_SYNCHRONIZATIO"
329 "N\020\000\022\023\n\017SYNCHRONIZE_ALL\020\001\022\030\n\024SYNCHRONIZE_"
330 "ON_RIGHT\020\002B/\n\026com.google.ortools.bopP\001\252\002"
331 "\022Google.OrTools.Bop"
338 descriptor_table_protodef_ortools_2fbop_2fbop_5fparameters_2eproto,
339 "ortools/bop/bop_parameters.proto",
357 393216u, 32u, 3950u, };
366class BopOptimizerMethod::_Internal {
369 decltype(::std::declval<BopOptimizerMethod>()._impl_._has_bits_);
375#if defined(PROTOBUF_CUSTOM_VTABLE)
378 : ::google::protobuf::Message(arena) {
385#if defined(PROTOBUF_CUSTOM_VTABLE)
388 : ::google::protobuf::Message(arena),
391 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
392 from._internal_metadata_);
394PROTOBUF_NDEBUG_INLINE BopOptimizerMethod::Impl_::Impl_(
395 ::google::protobuf::internal::InternalVisibility visibility,
396 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
397 : _cached_size_{0} {}
399inline void BopOptimizerMethod::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
400 new (&
_impl_) Impl_(internal_visibility(), arena);
407inline void BopOptimizerMethod::SharedDtor(MessageLite& self) {
409 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
410 ABSL_DCHECK(this_.GetArena() ==
nullptr);
415 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
416 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
424 return ::google::protobuf::internal::ClassDataFull{
425 ::google::protobuf::internal::ClassData{
430 &BopOptimizerMethod::MergeImpl,
431 ::google::protobuf::Message::GetNewImpl<BopOptimizerMethod>(),
432#if defined(PROTOBUF_CUSTOM_VTABLE)
433 &BopOptimizerMethod::SharedDtor,
440 &BopOptimizerMethod::kDescriptorMethods,
446PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
450PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
456PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
457const ::_pbi::TcParseTable<0, 1, 1, 0, 2>
458BopOptimizerMethod::_table_ = {
463 offsetof(
decltype(_table_), field_lookup_table),
465 offsetof(
decltype(_table_), field_entries),
468 offsetof(
decltype(_table_), aux_entries),
471 ::_pbi::TcParser::GenericFallback,
472 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
473 ::_pbi::TcParser::GetTable<::operations_research::bop::BopOptimizerMethod>(),
477 {::_pbi::TcParser::FastEvS1,
478 {8, 0, 0, PROTOBUF_FIELD_OFFSET(BopOptimizerMethod, _impl_.type_)}},
483 {PROTOBUF_FIELD_OFFSET(
BopOptimizerMethod, _impl_.type_), _Internal::kHasBitsOffset + 0, 0,
484 (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
494 ::google::protobuf::internal::TSanWrite(&
_impl_);
495 ::uint32_t cached_has_bits = 0;
497 (void) cached_has_bits;
500 _impl_._has_bits_.Clear();
501 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
504#if defined(PROTOBUF_CUSTOM_VTABLE)
506 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
507 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
511 ::uint8_t* PROTOBUF_NONNULL target,
512 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
516 ::uint32_t cached_has_bits = 0;
517 (void)cached_has_bits;
519 cached_has_bits = this_.
_impl_._has_bits_[0];
521 if ((cached_has_bits & 0x00000001u) != 0) {
522 target = stream->EnsureSpace(target);
523 target = ::_pbi::WireFormatLite::WriteEnumToArray(
524 1, this_._internal_type(), target);
527 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
529 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
530 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
536#if defined(PROTOBUF_CUSTOM_VTABLE)
544 ::size_t total_size = 0;
546 ::uint32_t cached_has_bits = 0;
548 (void)cached_has_bits;
552 cached_has_bits = this_.
_impl_._has_bits_[0];
553 if ((cached_has_bits & 0x00000001u) != 0) {
555 ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
558 return this_.MaybeComputeUnknownFieldsSize(total_size,
559 &this_.
_impl_._cached_size_);
562void BopOptimizerMethod::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
566 ABSL_DCHECK_NE(&from, _this);
567 ::uint32_t cached_has_bits = 0;
568 (void) cached_has_bits;
570 cached_has_bits = from.
_impl_._has_bits_[0];
571 if ((cached_has_bits & 0x00000001u) != 0) {
572 _this->_impl_.type_ = from.
_impl_.type_;
574 _this->_impl_._has_bits_[0] |= cached_has_bits;
575 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
580 if (&from ==
this)
return;
586void BopOptimizerMethod::InternalSwap(
BopOptimizerMethod* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
588 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
589 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
594 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
603#if defined(PROTOBUF_CUSTOM_VTABLE)
606 : ::google::protobuf::Message(arena) {
611PROTOBUF_NDEBUG_INLINE BopSolverOptimizerSet::Impl_::Impl_(
612 ::google::protobuf::internal::InternalVisibility visibility,
613 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
614 const ::operations_research::bop::BopSolverOptimizerSet& from_msg)
615 : methods_{visibility, arena, from.methods_},
619 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
621#if defined(PROTOBUF_CUSTOM_VTABLE)
624 : ::google::protobuf::Message(arena) {
628 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
629 from._internal_metadata_);
630 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
634PROTOBUF_NDEBUG_INLINE BopSolverOptimizerSet::Impl_::Impl_(
635 ::google::protobuf::internal::InternalVisibility visibility,
636 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
637 : methods_{visibility, arena},
640inline void BopSolverOptimizerSet::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
641 new (&
_impl_) Impl_(internal_visibility(), arena);
647inline void BopSolverOptimizerSet::SharedDtor(
MessageLite& self) {
649 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
650 ABSL_DCHECK(this_.GetArena() ==
nullptr);
655 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
656 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
660 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
663 InternalGetArenaOffset(
666 if (arena_bits.has_value()) {
667 return ::google::protobuf::internal::MessageCreator::ZeroInit(
668 sizeof(BopSolverOptimizerSet), alignof(BopSolverOptimizerSet), *arena_bits);
670 return ::google::protobuf::internal::MessageCreator(&BopSolverOptimizerSet::PlacementNew_,
671 sizeof(BopSolverOptimizerSet),
672 alignof(BopSolverOptimizerSet));
676 return ::google::protobuf::internal::ClassDataFull{
677 ::google::protobuf::internal::ClassData{
682 &BopSolverOptimizerSet::MergeImpl,
683 ::google::protobuf::Message::GetNewImpl<BopSolverOptimizerSet>(),
684#if defined(PROTOBUF_CUSTOM_VTABLE)
685 &BopSolverOptimizerSet::SharedDtor,
692 &BopSolverOptimizerSet::kDescriptorMethods,
698PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
702PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
708PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
709const ::_pbi::TcParseTable<0, 1, 1, 0, 2>
710BopSolverOptimizerSet::_table_ = {
715 offsetof(
decltype(_table_), field_lookup_table),
717 offsetof(
decltype(_table_), field_entries),
720 offsetof(
decltype(_table_), aux_entries),
723 ::_pbi::TcParser::GenericFallback,
724 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
725 ::_pbi::TcParser::GetTable<::operations_research::bop::BopSolverOptimizerSet>(),
729 {::_pbi::TcParser::FastMtR1,
730 {10, 63, 0, PROTOBUF_FIELD_OFFSET(BopSolverOptimizerSet,
_impl_.methods_)}},
735 {PROTOBUF_FIELD_OFFSET(BopSolverOptimizerSet,
_impl_.methods_), 0, 0,
736 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
739 {::_pbi::TcParser::GetTable<::operations_research::bop::BopOptimizerMethod>()},
746 ::google::protobuf::internal::TSanWrite(&
_impl_);
747 ::uint32_t cached_has_bits = 0;
749 (void) cached_has_bits;
752 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
755#if defined(PROTOBUF_CUSTOM_VTABLE)
757 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
758 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
762 ::uint8_t* PROTOBUF_NONNULL target,
763 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
767 ::uint32_t cached_has_bits = 0;
768 (void)cached_has_bits;
771 for (
unsigned i = 0, n =
static_cast<unsigned>(
772 this_._internal_methods_size());
774 const auto& repfield = this_._internal_methods().Get(i);
776 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
777 1, repfield, repfield.GetCachedSize(),
781 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
783 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
784 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
790#if defined(PROTOBUF_CUSTOM_VTABLE)
798 ::size_t total_size = 0;
800 ::uint32_t cached_has_bits = 0;
802 (void)cached_has_bits;
804 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
808 total_size += 1UL * this_._internal_methods_size();
809 for (
const auto& msg : this_._internal_methods()) {
810 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
814 return this_.MaybeComputeUnknownFieldsSize(total_size,
815 &this_.
_impl_._cached_size_);
818void BopSolverOptimizerSet::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
819 auto*
const _this =
static_cast<BopSolverOptimizerSet*
>(&to_msg);
820 auto& from =
static_cast<const BopSolverOptimizerSet&
>(from_msg);
822 ABSL_DCHECK_NE(&from, _this);
823 ::uint32_t cached_has_bits = 0;
824 (void) cached_has_bits;
826 _this->_internal_mutable_methods()->MergeFrom(
827 from._internal_methods());
828 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
833 if (&from ==
this)
return;
839void BopSolverOptimizerSet::InternalSwap(
BopSolverOptimizerSet* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
841 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
842 _impl_.methods_.InternalSwap(&other->_impl_.methods_);
846 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
853 decltype(::std::declval<BopParameters>()._impl_._has_bits_);
858 const ::_pbi::LazyString BopParameters::Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_{
859 {{
"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 } ", 714}},
863#if defined(PROTOBUF_CUSTOM_VTABLE)
866 : ::google::protobuf::Message(arena) {
871PROTOBUF_NDEBUG_INLINE BopParameters::Impl_::Impl_(
872 ::google::protobuf::internal::InternalVisibility visibility,
873 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
874 const ::operations_research::bop::BopParameters& from_msg)
875 : _has_bits_{from._has_bits_},
877 solver_optimizer_sets_{visibility, arena, from.solver_optimizer_sets_},
878 default_solver_optimizer_sets_(arena, from.default_solver_optimizer_sets_, _i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_) {}
881 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
882 const BopParameters& from)
883#if defined(PROTOBUF_CUSTOM_VTABLE)
886 : ::google::protobuf::Message(arena) {
890 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
891 from._internal_metadata_);
892 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
893 ::memcpy(
reinterpret_cast<char *
>(&
_impl_) +
894 offsetof(Impl_, prune_search_tree_),
895 reinterpret_cast<const char *
>(&from._impl_) +
896 offsetof(Impl_, prune_search_tree_),
897 offsetof(Impl_, lp_max_deterministic_time_) -
898 offsetof(Impl_, prune_search_tree_) +
899 sizeof(Impl_::lp_max_deterministic_time_));
903PROTOBUF_NDEBUG_INLINE BopParameters::Impl_::Impl_(
904 ::google::protobuf::internal::InternalVisibility visibility,
905 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
907 solver_optimizer_sets_{visibility, arena},
908 default_solver_optimizer_sets_(arena, Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_),
909 max_time_in_seconds_{std::numeric_limits<double>::infinity()},
910 max_num_decisions_in_ls_{4},
912 num_relaxed_vars_{10},
913 max_number_of_conflicts_in_random_lns_{2500},
914 compute_estimated_impact_{
true},
915 use_random_lns_{
true},
917 use_sat_to_choose_lns_neighbourhood_{
true},
918 num_random_lns_tries_{1},
919 max_number_of_backtracks_in_ls_{::int64_t{100000000}},
920 max_number_of_conflicts_for_quick_check_{10},
921 max_number_of_conflicts_in_random_solution_generation_{500},
922 max_number_of_explored_assignments_per_try_in_ls_{::int64_t{10000}},
923 use_transposition_table_in_ls_{
true},
924 use_learned_binary_clauses_in_lp_{
true},
925 number_of_solvers_{1},
926 max_deterministic_time_{std::numeric_limits<double>::infinity()},
927 relative_gap_limit_{0.0001},
928 decomposer_num_variables_threshold_{50},
929 num_bop_solvers_used_by_decomposition_{1},
930 guided_sat_conflicts_chunk_{1000},
931 max_num_broken_constraints_in_ls_{2147483647},
932 lp_max_deterministic_time_{1} {}
934inline void BopParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
935 new (&
_impl_) Impl_(internal_visibility(), arena);
936 ::memset(
reinterpret_cast<char *
>(&
_impl_) +
937 offsetof(Impl_, prune_search_tree_),
939 offsetof(Impl_, max_lp_solve_for_feasibility_problems_) -
940 offsetof(Impl_, prune_search_tree_) +
941 sizeof(Impl_::max_lp_solve_for_feasibility_problems_));
947inline void BopParameters::SharedDtor(MessageLite& self) {
949 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
950 ABSL_DCHECK(this_.GetArena() ==
nullptr);
951 this_.
_impl_.default_solver_optimizer_sets_.Destroy();
956 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
957 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
961 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
964 InternalGetArenaOffset(
967 if (arena_bits.has_value()) {
968 return ::google::protobuf::internal::MessageCreator::CopyInit(
969 sizeof(BopParameters), alignof(BopParameters), *arena_bits);
971 return ::google::protobuf::internal::MessageCreator(&BopParameters::PlacementNew_,
972 sizeof(BopParameters),
973 alignof(BopParameters));
977 return ::google::protobuf::internal::ClassDataFull{
978 ::google::protobuf::internal::ClassData{
983 &BopParameters::MergeImpl,
984 ::google::protobuf::Message::GetNewImpl<BopParameters>(),
985#if defined(PROTOBUF_CUSTOM_VTABLE)
986 &BopParameters::SharedDtor,
993 &BopParameters::kDescriptorMethods,
999PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1003PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1009PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1010const ::_pbi::TcParseTable<5, 37, 2, 107, 7>
1011BopParameters::_table_ = {
1016 offsetof(
decltype(_table_), field_lookup_table),
1018 offsetof(
decltype(_table_), field_entries),
1021 offsetof(
decltype(_table_), aux_entries),
1024 ::_pbi::TcParser::GenericFallback,
1025 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1026 ::_pbi::TcParser::GetTable<::operations_research::bop::BopParameters>(),
1029 {::_pbi::TcParser::MiniParse, {}},
1031 {::_pbi::TcParser::FastF64S1,
1034 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(
BopParameters,
_impl_.max_num_decisions_in_ls_), 13>(),
1037 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(
BopParameters,
_impl_.compute_estimated_impact_), 17>(),
1040 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(
BopParameters,
_impl_.prune_search_tree_), 1>(),
1043 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(
BopParameters,
_impl_.sort_constraints_by_num_terms_), 2>(),
1046 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(
BopParameters,
_impl_.use_random_lns_), 18>(),
1049 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(
BopParameters,
_impl_.random_seed_), 14>(),
1052 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(
BopParameters,
_impl_.num_relaxed_vars_), 15>(),
1055 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(
BopParameters,
_impl_.max_number_of_conflicts_in_random_lns_), 16>(),
1056 {72, 16, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.max_number_of_conflicts_in_random_lns_)}},
1058 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(
BopParameters,
_impl_.num_random_lns_tries_), 21>(),
1061 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(
BopParameters,
_impl_.max_number_of_backtracks_in_ls_), 22>(),
1062 {88, 22, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.max_number_of_backtracks_in_ls_)}},
1064 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(
BopParameters,
_impl_.use_lp_lns_), 19>(),
1066 {::_pbi::TcParser::MiniParse, {}},
1068 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(
BopParameters,
_impl_.log_search_progress_), 3>(),
1071 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(
BopParameters,
_impl_.use_sat_to_choose_lns_neighbourhood_), 20>(),
1072 {120, 20, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.use_sat_to_choose_lns_neighbourhood_)}},
1074 {::_pbi::TcParser::FastV32S2,
1075 {384, 23, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.max_number_of_conflicts_for_quick_check_)}},
1077 {::_pbi::TcParser::FastV8S2,
1079 {::_pbi::TcParser::MiniParse, {}},
1081 {::_pbi::TcParser::FastV32S2,
1082 {664, 6, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.max_number_of_consecutive_failing_optimizer_calls_)}},
1084 {::_pbi::TcParser::FastV32S2,
1085 {416, 24, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.max_number_of_conflicts_in_random_solution_generation_)}},
1087 {::_pbi::TcParser::FastV64S2,
1088 {424, 25, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.max_number_of_explored_assignments_per_try_in_ls_)}},
1090 {::_pbi::TcParser::FastV8S2,
1091 {432, 26, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.use_transposition_table_in_ls_)}},
1093 {::_pbi::TcParser::FastV8S2,
1094 {440, 27, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.use_learned_binary_clauses_in_lp_)}},
1096 {::_pbi::TcParser::FastV32S2,
1099 {::_pbi::TcParser::FastEr0S2,
1102 {::_pbi::TcParser::FastMtR2,
1105 {::_pbi::TcParser::FastF64S2,
1108 {::_pbi::TcParser::FastF64S2,
1111 {::_pbi::TcParser::FastV8S2,
1114 {::_pbi::TcParser::FastV32S2,
1115 {496, 31, 0, PROTOBUF_FIELD_OFFSET(
BopParameters,
_impl_.decomposer_num_variables_threshold_)}},
1116 {::_pbi::TcParser::MiniParse, {}},
1124 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1127 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1130 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1133 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1136 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1139 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1142 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1145 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1148 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1151 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1154 (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
1157 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1160 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1163 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1166 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1169 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1172 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1175 (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
1178 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1181 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1184 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1187 (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
1190 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1193 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1196 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1199 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1202 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1205 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1208 (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)},
1211 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1214 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1217 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1220 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1223 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1226 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1229 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1232 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1235 {::_pbi::TcParser::GetTable<::operations_research::bop::BopSolverOptimizerSet>()},
1239 "\45\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\35\0\0\0\0\0\0\0\0\0\0"
1240 "operations_research.bop.BopParameters"
1241 "default_solver_optimizer_sets"
1246 ::google::protobuf::internal::TSanWrite(&
_impl_);
1247 ::uint32_t cached_has_bits = 0;
1249 (void) cached_has_bits;
1251 _impl_.solver_optimizer_sets_.Clear();
1252 cached_has_bits =
_impl_._has_bits_[0];
1253 if ((cached_has_bits & 0x00000001u) != 0) {
1254 _impl_.default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::Impl_::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
1256 if ((cached_has_bits & 0x000000feu) != 0) {
1257 ::memset(&
_impl_.prune_search_tree_, 0,
static_cast<::
size_t>(
1258 reinterpret_cast<char*
>(&
_impl_.use_lp_strong_branching_) -
1259 reinterpret_cast<char*
>(&
_impl_.prune_search_tree_)) +
sizeof(
_impl_.use_lp_strong_branching_));
1261 if ((cached_has_bits & 0x0000ff00u) != 0) {
1262 ::memset(&
_impl_.use_potential_one_flip_repairs_in_ls_, 0,
static_cast<::
size_t>(
1263 reinterpret_cast<char*
>(&
_impl_.max_lp_solve_for_feasibility_problems_) -
1264 reinterpret_cast<char*
>(&
_impl_.use_potential_one_flip_repairs_in_ls_)) +
sizeof(
_impl_.max_lp_solve_for_feasibility_problems_));
1265 _impl_.max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1266 _impl_.max_num_decisions_in_ls_ = 4;
1268 _impl_.num_relaxed_vars_ = 10;
1270 if ((cached_has_bits & 0x00ff0000u) != 0) {
1271 _impl_.max_number_of_conflicts_in_random_lns_ = 2500;
1272 _impl_.compute_estimated_impact_ =
true;
1273 _impl_.use_random_lns_ =
true;
1274 _impl_.use_lp_lns_ =
true;
1275 _impl_.use_sat_to_choose_lns_neighbourhood_ =
true;
1276 _impl_.num_random_lns_tries_ = 1;
1277 _impl_.max_number_of_backtracks_in_ls_ = ::int64_t{100000000};
1278 _impl_.max_number_of_conflicts_for_quick_check_ = 10;
1280 if ((cached_has_bits & 0xff000000u) != 0) {
1281 _impl_.max_number_of_conflicts_in_random_solution_generation_ = 500;
1282 _impl_.max_number_of_explored_assignments_per_try_in_ls_ = ::int64_t{10000};
1283 _impl_.use_transposition_table_in_ls_ =
true;
1284 _impl_.use_learned_binary_clauses_in_lp_ =
true;
1285 _impl_.number_of_solvers_ = 1;
1286 _impl_.max_deterministic_time_ = std::numeric_limits<double>::infinity();
1287 _impl_.relative_gap_limit_ = 0.0001;
1288 _impl_.decomposer_num_variables_threshold_ = 50;
1290 cached_has_bits =
_impl_._has_bits_[1];
1291 if ((cached_has_bits & 0x0000000fu) != 0) {
1292 _impl_.num_bop_solvers_used_by_decomposition_ = 1;
1293 _impl_.guided_sat_conflicts_chunk_ = 1000;
1294 _impl_.max_num_broken_constraints_in_ls_ = 2147483647;
1295 _impl_.lp_max_deterministic_time_ = 1;
1297 _impl_._has_bits_.Clear();
1298 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1301#if defined(PROTOBUF_CUSTOM_VTABLE)
1303 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1304 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1308 ::uint8_t* PROTOBUF_NONNULL target,
1309 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1313 ::uint32_t cached_has_bits = 0;
1314 (void)cached_has_bits;
1316 cached_has_bits = this_.
_impl_._has_bits_[0];
1318 if ((cached_has_bits & 0x00001000u) != 0) {
1319 target = stream->EnsureSpace(target);
1320 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1321 1, this_._internal_max_time_in_seconds(), target);
1325 if ((cached_has_bits & 0x00002000u) != 0) {
1327 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
1328 stream, this_._internal_max_num_decisions_in_ls(), target);
1332 if ((cached_has_bits & 0x00020000u) != 0) {
1333 target = stream->EnsureSpace(target);
1334 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1335 3, this_._internal_compute_estimated_impact(), target);
1339 if ((cached_has_bits & 0x00000002u) != 0) {
1340 target = stream->EnsureSpace(target);
1341 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1342 4, this_._internal_prune_search_tree(), target);
1346 if ((cached_has_bits & 0x00000004u) != 0) {
1347 target = stream->EnsureSpace(target);
1348 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1349 5, this_._internal_sort_constraints_by_num_terms(), target);
1353 if ((cached_has_bits & 0x00040000u) != 0) {
1354 target = stream->EnsureSpace(target);
1355 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1356 6, this_._internal_use_random_lns(), target);
1360 if ((cached_has_bits & 0x00004000u) != 0) {
1362 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
1363 stream, this_._internal_random_seed(), target);
1367 if ((cached_has_bits & 0x00008000u) != 0) {
1369 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<8>(
1370 stream, this_._internal_num_relaxed_vars(), target);
1374 if ((cached_has_bits & 0x00010000u) != 0) {
1376 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<9>(
1377 stream, this_._internal_max_number_of_conflicts_in_random_lns(), target);
1381 if ((cached_has_bits & 0x00200000u) != 0) {
1383 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<10>(
1384 stream, this_._internal_num_random_lns_tries(), target);
1388 if ((cached_has_bits & 0x00400000u) != 0) {
1390 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<11>(
1391 stream, this_._internal_max_number_of_backtracks_in_ls(), target);
1395 if ((cached_has_bits & 0x00080000u) != 0) {
1396 target = stream->EnsureSpace(target);
1397 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1398 12, this_._internal_use_lp_lns(), target);
1402 if ((cached_has_bits & 0x00000008u) != 0) {
1403 target = stream->EnsureSpace(target);
1404 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1405 14, this_._internal_log_search_progress(), target);
1409 if ((cached_has_bits & 0x00100000u) != 0) {
1410 target = stream->EnsureSpace(target);
1411 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1412 15, this_._internal_use_sat_to_choose_lns_neighbourhood(), target);
1416 if ((cached_has_bits & 0x00800000u) != 0) {
1417 target = stream->EnsureSpace(target);
1418 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1419 16, this_._internal_max_number_of_conflicts_for_quick_check(), target);
1423 if ((cached_has_bits & 0x00000010u) != 0) {
1424 target = stream->EnsureSpace(target);
1425 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1426 17, this_._internal_use_symmetry(), target);
1430 if ((cached_has_bits & 0x01000000u) != 0) {
1431 target = stream->EnsureSpace(target);
1432 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1433 20, this_._internal_max_number_of_conflicts_in_random_solution_generation(), target);
1437 if ((cached_has_bits & 0x02000000u) != 0) {
1438 target = stream->EnsureSpace(target);
1439 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
1440 21, this_._internal_max_number_of_explored_assignments_per_try_in_ls(), target);
1444 if ((cached_has_bits & 0x04000000u) != 0) {
1445 target = stream->EnsureSpace(target);
1446 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1447 22, this_._internal_use_transposition_table_in_ls(), target);
1451 if ((cached_has_bits & 0x08000000u) != 0) {
1452 target = stream->EnsureSpace(target);
1453 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1454 23, this_._internal_use_learned_binary_clauses_in_lp(), target);
1458 if ((cached_has_bits & 0x10000000u) != 0) {
1459 target = stream->EnsureSpace(target);
1460 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1461 24, this_._internal_number_of_solvers(), target);
1465 if ((cached_has_bits & 0x00000020u) != 0) {
1466 target = stream->EnsureSpace(target);
1467 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1468 25, this_._internal_synchronization_type(), target);
1472 for (
unsigned i = 0, n =
static_cast<unsigned>(
1473 this_._internal_solver_optimizer_sets_size());
1475 const auto& repfield = this_._internal_solver_optimizer_sets().Get(i);
1477 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1478 26, repfield, repfield.GetCachedSize(),
1483 if ((cached_has_bits & 0x20000000u) != 0) {
1484 target = stream->EnsureSpace(target);
1485 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1486 27, this_._internal_max_deterministic_time(), target);
1490 if ((cached_has_bits & 0x40000000u) != 0) {
1491 target = stream->EnsureSpace(target);
1492 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1493 28, this_._internal_relative_gap_limit(), target);
1497 if ((cached_has_bits & 0x00000080u) != 0) {
1498 target = stream->EnsureSpace(target);
1499 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1500 29, this_._internal_use_lp_strong_branching(), target);
1504 if ((cached_has_bits & 0x80000000u) != 0) {
1505 target = stream->EnsureSpace(target);
1506 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1507 30, this_._internal_decomposer_num_variables_threshold(), target);
1510 cached_has_bits = this_.
_impl_._has_bits_[1];
1512 if ((cached_has_bits & 0x00000001u) != 0) {
1513 target = stream->EnsureSpace(target);
1514 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1515 31, this_._internal_num_bop_solvers_used_by_decomposition(), target);
1518 cached_has_bits = this_.
_impl_._has_bits_[0];
1520 if ((cached_has_bits & 0x00000001u) != 0) {
1521 const ::std::string& _s = this_._internal_default_solver_optimizer_sets();
1522 ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(),
static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE,
1523 "operations_research.bop.BopParameters.default_solver_optimizer_sets");
1524 target = stream->WriteStringMaybeAliased(33, _s, target);
1527 cached_has_bits = this_.
_impl_._has_bits_[1];
1529 if ((cached_has_bits & 0x00000002u) != 0) {
1530 target = stream->EnsureSpace(target);
1531 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1532 34, this_._internal_guided_sat_conflicts_chunk(), target);
1535 cached_has_bits = this_.
_impl_._has_bits_[0];
1537 if ((cached_has_bits & 0x00000040u) != 0) {
1538 target = stream->EnsureSpace(target);
1539 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1540 35, this_._internal_max_number_of_consecutive_failing_optimizer_calls(), target);
1544 if ((cached_has_bits & 0x00000400u) != 0) {
1545 target = stream->EnsureSpace(target);
1546 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1547 36, this_._internal_decomposed_problem_min_time_in_seconds(), target);
1550 cached_has_bits = this_.
_impl_._has_bits_[1];
1552 if ((cached_has_bits & 0x00000008u) != 0) {
1553 target = stream->EnsureSpace(target);
1554 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1555 37, this_._internal_lp_max_deterministic_time(), target);
1559 if ((cached_has_bits & 0x00000004u) != 0) {
1560 target = stream->EnsureSpace(target);
1561 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1562 38, this_._internal_max_num_broken_constraints_in_ls(), target);
1565 cached_has_bits = this_.
_impl_._has_bits_[0];
1567 if ((cached_has_bits & 0x00000100u) != 0) {
1568 target = stream->EnsureSpace(target);
1569 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1570 39, this_._internal_use_potential_one_flip_repairs_in_ls(), target);
1574 if ((cached_has_bits & 0x00000200u) != 0) {
1575 target = stream->EnsureSpace(target);
1576 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1577 40, this_._internal_exploit_symmetry_in_sat_first_solution(), target);
1581 if ((cached_has_bits & 0x00000800u) != 0) {
1582 target = stream->EnsureSpace(target);
1583 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
1584 41, this_._internal_max_lp_solve_for_feasibility_problems(), target);
1587 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1589 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1590 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1596#if defined(PROTOBUF_CUSTOM_VTABLE)
1604 ::size_t total_size = 0;
1606 ::uint32_t cached_has_bits = 0;
1608 (void)cached_has_bits;
1610 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1614 total_size += 2UL * this_._internal_solver_optimizer_sets_size();
1615 for (
const auto& msg : this_._internal_solver_optimizer_sets()) {
1616 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1620 cached_has_bits = this_._impl_._has_bits_[0];
1621 total_size += ::absl::popcount(0x60000400u & cached_has_bits) * 10;
1622 total_size +=
static_cast<bool>(0x00001000u & cached_has_bits) * 9;
1623 total_size += ::absl::popcount(0x0c000390u & cached_has_bits) * 3;
1624 total_size += ::absl::popcount(0x001e000eu & cached_has_bits) * 2;
1625 if ((cached_has_bits & 0x00000061u) != 0) {
1627 if ((cached_has_bits & 0x00000001u) != 0) {
1628 total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
1629 this_._internal_default_solver_optimizer_sets());
1632 if ((cached_has_bits & 0x00000020u) != 0) {
1634 ::_pbi::WireFormatLite::EnumSize(this_._internal_synchronization_type());
1637 if ((cached_has_bits & 0x00000040u) != 0) {
1638 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1639 this_._internal_max_number_of_consecutive_failing_optimizer_calls());
1642 if ((cached_has_bits & 0x0000e800u) != 0) {
1644 if ((cached_has_bits & 0x00000800u) != 0) {
1645 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1646 this_._internal_max_lp_solve_for_feasibility_problems());
1649 if ((cached_has_bits & 0x00002000u) != 0) {
1650 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1651 this_._internal_max_num_decisions_in_ls());
1654 if ((cached_has_bits & 0x00004000u) != 0) {
1655 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1656 this_._internal_random_seed());
1659 if ((cached_has_bits & 0x00008000u) != 0) {
1660 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1661 this_._internal_num_relaxed_vars());
1664 if ((cached_has_bits & 0x00e10000u) != 0) {
1666 if ((cached_has_bits & 0x00010000u) != 0) {
1667 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1668 this_._internal_max_number_of_conflicts_in_random_lns());
1671 if ((cached_has_bits & 0x00200000u) != 0) {
1672 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1673 this_._internal_num_random_lns_tries());
1676 if ((cached_has_bits & 0x00400000u) != 0) {
1677 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
1678 this_._internal_max_number_of_backtracks_in_ls());
1681 if ((cached_has_bits & 0x00800000u) != 0) {
1682 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1683 this_._internal_max_number_of_conflicts_for_quick_check());
1686 if ((cached_has_bits & 0x93000000u) != 0) {
1688 if ((cached_has_bits & 0x01000000u) != 0) {
1689 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1690 this_._internal_max_number_of_conflicts_in_random_solution_generation());
1693 if ((cached_has_bits & 0x02000000u) != 0) {
1694 total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
1695 this_._internal_max_number_of_explored_assignments_per_try_in_ls());
1698 if ((cached_has_bits & 0x10000000u) != 0) {
1699 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1700 this_._internal_number_of_solvers());
1703 if ((cached_has_bits & 0x80000000u) != 0) {
1704 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1705 this_._internal_decomposer_num_variables_threshold());
1708 cached_has_bits = this_._impl_._has_bits_[1];
1709 total_size +=
static_cast<bool>(0x00000008u & cached_has_bits) * 10;
1710 if ((cached_has_bits & 0x00000007u) != 0) {
1712 if ((cached_has_bits & 0x00000001u) != 0) {
1713 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1714 this_._internal_num_bop_solvers_used_by_decomposition());
1717 if ((cached_has_bits & 0x00000002u) != 0) {
1718 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1719 this_._internal_guided_sat_conflicts_chunk());
1722 if ((cached_has_bits & 0x00000004u) != 0) {
1723 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
1724 this_._internal_max_num_broken_constraints_in_ls());
1727 return this_.MaybeComputeUnknownFieldsSize(total_size,
1728 &this_._impl_._cached_size_);
1731void BopParameters::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1735 ABSL_DCHECK_NE(&from, _this);
1736 ::uint32_t cached_has_bits = 0;
1737 (void) cached_has_bits;
1739 _this->_internal_mutable_solver_optimizer_sets()->MergeFrom(
1740 from._internal_solver_optimizer_sets());
1741 cached_has_bits = from._impl_._has_bits_[0];
1742 if ((cached_has_bits & 0x000000ffu) != 0) {
1743 if ((cached_has_bits & 0x00000001u) != 0) {
1744 _this->_internal_set_default_solver_optimizer_sets(from._internal_default_solver_optimizer_sets());
1746 if ((cached_has_bits & 0x00000002u) != 0) {
1747 _this->_impl_.prune_search_tree_ = from._impl_.prune_search_tree_;
1749 if ((cached_has_bits & 0x00000004u) != 0) {
1750 _this->_impl_.sort_constraints_by_num_terms_ = from._impl_.sort_constraints_by_num_terms_;
1752 if ((cached_has_bits & 0x00000008u) != 0) {
1753 _this->_impl_.log_search_progress_ = from._impl_.log_search_progress_;
1755 if ((cached_has_bits & 0x00000010u) != 0) {
1756 _this->_impl_.use_symmetry_ = from._impl_.use_symmetry_;
1758 if ((cached_has_bits & 0x00000020u) != 0) {
1759 _this->_impl_.synchronization_type_ = from._impl_.synchronization_type_;
1761 if ((cached_has_bits & 0x00000040u) != 0) {
1762 _this->_impl_.max_number_of_consecutive_failing_optimizer_calls_ = from._impl_.max_number_of_consecutive_failing_optimizer_calls_;
1764 if ((cached_has_bits & 0x00000080u) != 0) {
1765 _this->_impl_.use_lp_strong_branching_ = from._impl_.use_lp_strong_branching_;
1768 if ((cached_has_bits & 0x0000ff00u) != 0) {
1769 if ((cached_has_bits & 0x00000100u) != 0) {
1770 _this->_impl_.use_potential_one_flip_repairs_in_ls_ = from._impl_.use_potential_one_flip_repairs_in_ls_;
1772 if ((cached_has_bits & 0x00000200u) != 0) {
1773 _this->_impl_.exploit_symmetry_in_sat_first_solution_ = from._impl_.exploit_symmetry_in_sat_first_solution_;
1775 if ((cached_has_bits & 0x00000400u) != 0) {
1776 _this->_impl_.decomposed_problem_min_time_in_seconds_ = from._impl_.decomposed_problem_min_time_in_seconds_;
1778 if ((cached_has_bits & 0x00000800u) != 0) {
1779 _this->_impl_.max_lp_solve_for_feasibility_problems_ = from._impl_.max_lp_solve_for_feasibility_problems_;
1781 if ((cached_has_bits & 0x00001000u) != 0) {
1782 _this->_impl_.max_time_in_seconds_ = from._impl_.max_time_in_seconds_;
1784 if ((cached_has_bits & 0x00002000u) != 0) {
1785 _this->_impl_.max_num_decisions_in_ls_ = from._impl_.max_num_decisions_in_ls_;
1787 if ((cached_has_bits & 0x00004000u) != 0) {
1788 _this->_impl_.random_seed_ = from._impl_.random_seed_;
1790 if ((cached_has_bits & 0x00008000u) != 0) {
1791 _this->_impl_.num_relaxed_vars_ = from._impl_.num_relaxed_vars_;
1794 if ((cached_has_bits & 0x00ff0000u) != 0) {
1795 if ((cached_has_bits & 0x00010000u) != 0) {
1796 _this->_impl_.max_number_of_conflicts_in_random_lns_ = from._impl_.max_number_of_conflicts_in_random_lns_;
1798 if ((cached_has_bits & 0x00020000u) != 0) {
1799 _this->_impl_.compute_estimated_impact_ = from._impl_.compute_estimated_impact_;
1801 if ((cached_has_bits & 0x00040000u) != 0) {
1802 _this->_impl_.use_random_lns_ = from._impl_.use_random_lns_;
1804 if ((cached_has_bits & 0x00080000u) != 0) {
1805 _this->_impl_.use_lp_lns_ = from._impl_.use_lp_lns_;
1807 if ((cached_has_bits & 0x00100000u) != 0) {
1808 _this->_impl_.use_sat_to_choose_lns_neighbourhood_ = from._impl_.use_sat_to_choose_lns_neighbourhood_;
1810 if ((cached_has_bits & 0x00200000u) != 0) {
1811 _this->_impl_.num_random_lns_tries_ = from._impl_.num_random_lns_tries_;
1813 if ((cached_has_bits & 0x00400000u) != 0) {
1814 _this->_impl_.max_number_of_backtracks_in_ls_ = from._impl_.max_number_of_backtracks_in_ls_;
1816 if ((cached_has_bits & 0x00800000u) != 0) {
1817 _this->_impl_.max_number_of_conflicts_for_quick_check_ = from._impl_.max_number_of_conflicts_for_quick_check_;
1820 if ((cached_has_bits & 0xff000000u) != 0) {
1821 if ((cached_has_bits & 0x01000000u) != 0) {
1822 _this->_impl_.max_number_of_conflicts_in_random_solution_generation_ = from._impl_.max_number_of_conflicts_in_random_solution_generation_;
1824 if ((cached_has_bits & 0x02000000u) != 0) {
1825 _this->_impl_.max_number_of_explored_assignments_per_try_in_ls_ = from._impl_.max_number_of_explored_assignments_per_try_in_ls_;
1827 if ((cached_has_bits & 0x04000000u) != 0) {
1828 _this->_impl_.use_transposition_table_in_ls_ = from._impl_.use_transposition_table_in_ls_;
1830 if ((cached_has_bits & 0x08000000u) != 0) {
1831 _this->_impl_.use_learned_binary_clauses_in_lp_ = from._impl_.use_learned_binary_clauses_in_lp_;
1833 if ((cached_has_bits & 0x10000000u) != 0) {
1834 _this->_impl_.number_of_solvers_ = from._impl_.number_of_solvers_;
1836 if ((cached_has_bits & 0x20000000u) != 0) {
1837 _this->_impl_.max_deterministic_time_ = from._impl_.max_deterministic_time_;
1839 if ((cached_has_bits & 0x40000000u) != 0) {
1840 _this->_impl_.relative_gap_limit_ = from._impl_.relative_gap_limit_;
1842 if ((cached_has_bits & 0x80000000u) != 0) {
1843 _this->_impl_.decomposer_num_variables_threshold_ = from._impl_.decomposer_num_variables_threshold_;
1846 cached_has_bits = from._impl_._has_bits_[1];
1847 if ((cached_has_bits & 0x0000000fu) != 0) {
1848 if ((cached_has_bits & 0x00000001u) != 0) {
1849 _this->_impl_.num_bop_solvers_used_by_decomposition_ = from._impl_.num_bop_solvers_used_by_decomposition_;
1851 if ((cached_has_bits & 0x00000002u) != 0) {
1852 _this->_impl_.guided_sat_conflicts_chunk_ = from._impl_.guided_sat_conflicts_chunk_;
1854 if ((cached_has_bits & 0x00000004u) != 0) {
1855 _this->_impl_.max_num_broken_constraints_in_ls_ = from._impl_.max_num_broken_constraints_in_ls_;
1857 if ((cached_has_bits & 0x00000008u) != 0) {
1858 _this->_impl_.lp_max_deterministic_time_ = from._impl_.lp_max_deterministic_time_;
1861 _this->_impl_._has_bits_.Or(from._impl_._has_bits_);
1862 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1867 if (&from ==
this)
return;
1873void BopParameters::InternalSwap(
BopParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1875 auto* arena = GetArena();
1876 ABSL_DCHECK_EQ(arena, other->GetArena());
1877 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1878 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1879 swap(
_impl_._has_bits_[1], other->_impl_._has_bits_[1]);
1880 _impl_.solver_optimizer_sets_.InternalSwap(&other->_impl_.solver_optimizer_sets_);
1881 ::_pbi::ArenaStringPtr::InternalSwap(&
_impl_.default_solver_optimizer_sets_, &other->_impl_.default_solver_optimizer_sets_, arena);
1882 ::google::protobuf::internal::memswap<
1886 reinterpret_cast<char*
>(&
_impl_.prune_search_tree_),
1887 reinterpret_cast<char*
>(&other->_impl_.prune_search_tree_));
1891 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
1901PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
1904 ::std::false_type{});
1905#include "google/protobuf/port_undef.inc"
const ::uint32_t TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fbop_2fbop_5fparameters_2eproto
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
@protoc_insertion_point(global_scope)
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fbop_2fbop_5fparameters_2eproto[2]
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto
::absl::once_flag descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto_once
decltype(::std::declval< BopOptimizerMethod >()._impl_._has_bits_) HasBits
static constexpr ::int32_t kHasBitsOffset
static constexpr auto InternalNewImpl_()
friend class ::google::protobuf::MessageLite
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
void MergeFrom(const BopOptimizerMethod &from)
static constexpr auto InternalGenerateClassData_()
void CopyFrom(const BopOptimizerMethod &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
~BopOptimizerMethod() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(BopOptimizerMethod &a, BopOptimizerMethod &b)
::size_t ByteSizeLong() const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
static constexpr ::int32_t kHasBitsOffset
friend class ::google::protobuf::MessageLite
void MergeFrom(const BopParameters &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const BopParameters &from)
static constexpr auto InternalNewImpl_()
static constexpr auto InternalGenerateClassData_()
::size_t ByteSizeLong() const final
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend void swap(BopParameters &a, BopParameters &b)
::google::protobuf::Metadata GetMetadata() const
~BopParameters() PROTOBUF_FINAL
static constexpr auto InternalGenerateClassData_()
::size_t ByteSizeLong() const final
void MergeFrom(const BopSolverOptimizerSet &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static constexpr auto InternalNewImpl_()
~BopSolverOptimizerSet() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
void CopyFrom(const BopSolverOptimizerSet &from)
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
PROTOBUF_CONSTINIT const uint32_t BopOptimizerMethod_OptimizerType_internal_data_[]
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL BopOptimizerMethod_OptimizerType_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BopParametersDefaultTypeInternal _BopParameters_default_instance_
PROTOBUF_CONSTINIT const uint32_t BopParameters_ThreadSynchronizationType_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BopSolverOptimizerSet_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL BopParameters_ThreadSynchronizationType_descriptor()
BopOptimizerMethod_OptimizerType
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BopParameters_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BopOptimizerMethod_class_data_
BopParameters_ThreadSynchronizationType
In SWIG mode, we don't want anything besides these top-level includes.
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
PROTOBUF_CONSTEXPR BopOptimizerMethodDefaultTypeInternal()
~BopOptimizerMethodDefaultTypeInternal()
BopOptimizerMethod _instance
PROTOBUF_CONSTEXPR BopParametersDefaultTypeInternal()
~BopParametersDefaultTypeInternal()
PROTOBUF_CONSTEXPR BopSolverOptimizerSetDefaultTypeInternal()
BopSolverOptimizerSet _instance
~BopSolverOptimizerSetDefaultTypeInternal()