8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
16 #include <google/protobuf/port_def.inc>
23 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<BopOptimizerMethod>
_instance;
27 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<BopSolverOptimizerSet>
_instance;
31 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<BopParameters>
_instance;
36 GOOGLE_PROTOBUF_VERIFY_VERSION;
40 new (ptr) ::operations_research::bop::BopOptimizerMethod();
41 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
49 GOOGLE_PROTOBUF_VERIFY_VERSION;
53 new (ptr) ::operations_research::bop::BopParameters();
54 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
63 GOOGLE_PROTOBUF_VERIFY_VERSION;
67 new (ptr) ::operations_research::bop::BopSolverOptimizerSet();
68 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
81 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopOptimizerMethod, _has_bits_),
82 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopOptimizerMethod, _internal_metadata_),
86 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopOptimizerMethod, type_),
89 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopSolverOptimizerSet, _internal_metadata_),
93 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopSolverOptimizerSet, methods_),
94 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, _has_bits_),
95 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, _internal_metadata_),
99 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_time_in_seconds_),
100 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_deterministic_time_),
101 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, lp_max_deterministic_time_),
102 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_number_of_consecutive_failing_optimizer_calls_),
103 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, relative_gap_limit_),
104 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_num_decisions_in_ls_),
105 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_num_broken_constraints_in_ls_),
106 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, log_search_progress_),
107 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, compute_estimated_impact_),
108 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, prune_search_tree_),
109 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, sort_constraints_by_num_terms_),
110 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, use_random_lns_),
111 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, random_seed_),
112 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, num_relaxed_vars_),
113 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_number_of_conflicts_in_random_lns_),
114 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, num_random_lns_tries_),
115 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_number_of_backtracks_in_ls_),
116 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, use_lp_lns_),
117 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, use_sat_to_choose_lns_neighbourhood_),
118 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_number_of_conflicts_for_quick_check_),
119 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, use_symmetry_),
120 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, exploit_symmetry_in_sat_first_solution_),
121 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_number_of_conflicts_in_random_solution_generation_),
122 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_number_of_explored_assignments_per_try_in_ls_),
123 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, use_transposition_table_in_ls_),
124 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, use_potential_one_flip_repairs_in_ls_),
125 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, use_learned_binary_clauses_in_lp_),
126 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, number_of_solvers_),
127 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, synchronization_type_),
128 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, solver_optimizer_sets_),
129 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, default_solver_optimizer_sets_),
130 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, use_lp_strong_branching_),
131 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, decomposer_num_variables_threshold_),
132 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, num_bop_solvers_used_by_decomposition_),
133 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, decomposed_problem_min_time_in_seconds_),
134 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, guided_sat_conflicts_chunk_),
135 PROTOBUF_FIELD_OFFSET(::operations_research::bop::BopParameters, max_lp_solve_for_feasibility_problems_),
175 { 0, 6,
sizeof(::operations_research::bop::BopOptimizerMethod)},
176 { 7, -1,
sizeof(::operations_research::bop::BopSolverOptimizerSet)},
177 { 13, 55,
sizeof(::operations_research::bop::BopParameters)},
186 const char descriptor_table_protodef_ortools_2fbop_2fbop_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
187 "\n ortools/bop/bop_parameters.proto\022\027oper"
188 "ations_research.bop\"\204\004\n\022BopOptimizerMeth"
189 "od\022G\n\004type\030\001 \001(\01629.operations_research.b"
190 "op.BopOptimizerMethod.OptimizerType\"\244\003\n\r"
191 "OptimizerType\022\022\n\016SAT_CORE_BASED\020\000\022\025\n\021SAT"
192 "_LINEAR_SEARCH\020\017\022\025\n\021LINEAR_RELAXATION\020\001\022"
193 "\020\n\014LOCAL_SEARCH\020\002\022\031\n\025RANDOM_FIRST_SOLUTI"
194 "ON\020\003\022\031\n\025RANDOM_CONSTRAINT_LNS\020\004\022\027\n\023RANDO"
195 "M_VARIABLE_LNS\020\005\022\020\n\014COMPLETE_LNS\020\007\022\025\n\021LP"
196 "_FIRST_SOLUTION\020\010\022\034\n\030OBJECTIVE_FIRST_SOL"
197 "UTION\020\t\022\036\n\032USER_GUIDED_FIRST_SOLUTION\020\016\022"
198 "&\n\"RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP\020\013\022"
199 "$\n RANDOM_VARIABLE_LNS_GUIDED_BY_LP\020\014\022\026\n"
200 "\022RELATION_GRAPH_LNS\020\020\022#\n\037RELATION_GRAPH_"
201 "LNS_GUIDED_BY_LP\020\021\"U\n\025BopSolverOptimizer"
202 "Set\022<\n\007methods\030\001 \003(\0132+.operations_resear"
203 "ch.bop.BopOptimizerMethod\"\356\023\n\rBopParamet"
204 "ers\022 \n\023max_time_in_seconds\030\001 \001(\001:\003inf\022#\n"
205 "\026max_deterministic_time\030\033 \001(\001:\003inf\022$\n\031lp"
206 "_max_deterministic_time\030% \001(\001:\0011\0229\n1max_"
207 "number_of_consecutive_failing_optimizer_"
208 "calls\030# \001(\005\022\"\n\022relative_gap_limit\030\034 \001(\001:"
209 "\0060.0001\022\"\n\027max_num_decisions_in_ls\030\002 \001(\005"
210 ":\0014\0224\n max_num_broken_constraints_in_ls\030"
211 "& \001(\005:\n2147483647\022\"\n\023log_search_progress"
212 "\030\016 \001(\010:\005false\022&\n\030compute_estimated_impac"
213 "t\030\003 \001(\010:\004true\022 \n\021prune_search_tree\030\004 \001(\010"
214 ":\005false\022,\n\035sort_constraints_by_num_terms"
215 "\030\005 \001(\010:\005false\022\034\n\016use_random_lns\030\006 \001(\010:\004t"
216 "rue\022\026\n\013random_seed\030\007 \001(\005:\0018\022\034\n\020num_relax"
217 "ed_vars\030\010 \001(\005:\00210\0223\n%max_number_of_confl"
218 "icts_in_random_lns\030\t \001(\005:\0042500\022\037\n\024num_ra"
219 "ndom_lns_tries\030\n \001(\005:\0011\0221\n\036max_number_of"
220 "_backtracks_in_ls\030\013 \001(\003:\t100000000\022\030\n\nus"
221 "e_lp_lns\030\014 \001(\010:\004true\0221\n#use_sat_to_choos"
222 "e_lns_neighbourhood\030\017 \001(\010:\004true\0223\n\'max_n"
223 "umber_of_conflicts_for_quick_check\030\020 \001(\005"
224 ":\00210\022\033\n\014use_symmetry\030\021 \001(\010:\005false\0225\n&exp"
225 "loit_symmetry_in_sat_first_solution\030( \001("
226 "\010:\005false\022B\n5max_number_of_conflicts_in_r"
227 "andom_solution_generation\030\024 \001(\005:\003500\022\?\n0"
228 "max_number_of_explored_assignments_per_t"
229 "ry_in_ls\030\025 \001(\003:\00510000\022+\n\035use_transpositi"
230 "on_table_in_ls\030\026 \001(\010:\004true\0223\n$use_potent"
231 "ial_one_flip_repairs_in_ls\030\' \001(\010:\005false\022"
232 ".\n use_learned_binary_clauses_in_lp\030\027 \001("
233 "\010:\004true\022\034\n\021number_of_solvers\030\030 \001(\005:\0011\022r\n"
234 "\024synchronization_type\030\031 \001(\0162@.operations"
235 "_research.bop.BopParameters.ThreadSynchr"
236 "onizationType:\022NO_SYNCHRONIZATION\022M\n\025sol"
237 "ver_optimizer_sets\030\032 \003(\0132..operations_re"
238 "search.bop.BopSolverOptimizerSet\022\362\005\n\035def"
239 "ault_solver_optimizer_sets\030! \001(\t:\312\005metho"
240 "ds:{type:LOCAL_SEARCH } "
241 " methods:{type:RANDOM_FIRST_SOLUTIO"
242 "N } methods:{type:LINEAR_RE"
243 "LAXATION } methods:{typ"
244 "e:LP_FIRST_SOLUTION } m"
245 "ethods:{type:OBJECTIVE_FIRST_SOLUTION } "
246 " methods:{type:USER_GUIDED_FIRS"
247 "T_SOLUTION } methods:{type:RANDO"
248 "M_CONSTRAINT_LNS_GUIDED_BY_LP } methods:"
249 "{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP }"
250 " methods:{type:RELATION_GRAPH_LNS } "
251 " methods:{type:RELATION_GRA"
252 "PH_LNS_GUIDED_BY_LP } methods:{type:R"
253 "ANDOM_CONSTRAINT_LNS } meth"
254 "ods:{type:RANDOM_VARIABLE_LNS } "
255 " methods:{type:SAT_CORE_BASED } "
256 " methods:{type:COMPLETE"
257 "_LNS } \022&\n\027use_lp_"
258 "strong_branching\030\035 \001(\010:\005false\022.\n\"decompo"
259 "ser_num_variables_threshold\030\036 \001(\005:\00250\0220\n"
260 "%num_bop_solvers_used_by_decomposition\030\037"
261 " \001(\005:\0011\0221\n&decomposed_problem_min_time_i"
262 "n_seconds\030$ \001(\001:\0010\022(\n\032guided_sat_conflic"
263 "ts_chunk\030\" \001(\005:\0041000\0220\n%max_lp_solve_for"
264 "_feasibility_problems\030) \001(\005:\0010\"b\n\031Thread"
265 "SynchronizationType\022\026\n\022NO_SYNCHRONIZATIO"
266 "N\020\000\022\023\n\017SYNCHRONIZE_ALL\020\001\022\030\n\024SYNCHRONIZE_"
278 false,
false, descriptor_table_protodef_ortools_2fbop_2fbop_5fparameters_2eproto,
"ortools/bop/bop_parameters.proto", 3210,
315 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
333 constexpr
int BopOptimizerMethod::OptimizerType_ARRAYSIZE;
350 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
356 constexpr
int BopParameters::ThreadSynchronizationType_ARRAYSIZE;
363 using HasBits = decltype(std::declval<BopOptimizerMethod>()._has_bits_);
365 (*has_bits)[0] |= 1u;
369 BopOptimizerMethod::BopOptimizerMethod(::PROTOBUF_NAMESPACE_ID::Arena* arena)
370 : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
372 RegisterArenaDtor(arena);
375 BopOptimizerMethod::BopOptimizerMethod(
const BopOptimizerMethod& from)
376 : ::PROTOBUF_NAMESPACE_ID::Message(),
377 _has_bits_(from._has_bits_) {
378 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
383 void BopOptimizerMethod::SharedCtor() {
387 BopOptimizerMethod::~BopOptimizerMethod() {
390 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
393 void BopOptimizerMethod::SharedDtor() {
394 GOOGLE_DCHECK(GetArena() ==
nullptr);
397 void BopOptimizerMethod::ArenaDtor(
void*
object) {
398 BopOptimizerMethod* _this =
reinterpret_cast< BopOptimizerMethod*
>(object);
401 void BopOptimizerMethod::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
403 void BopOptimizerMethod::SetCachedSize(
int size)
const {
404 _cached_size_.Set(size);
406 const BopOptimizerMethod& BopOptimizerMethod::default_instance() {
408 return *internal_default_instance();
412 void BopOptimizerMethod::Clear() {
416 (void) cached_has_bits;
420 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
423 const char* BopOptimizerMethod::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
424 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
426 while (!ctx->Done(&ptr)) {
428 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
439 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
441 }
else goto handle_unusual;
445 if ((tag & 7) == 4 || tag == 0) {
446 ctx->SetLastTag(tag);
449 ptr = UnknownFieldParse(tag,
450 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
452 CHK_(ptr !=
nullptr);
458 _has_bits_.Or(has_bits);
470 (void) cached_has_bits;
472 cached_has_bits = _has_bits_[0];
474 if (cached_has_bits & 0x00000001u) {
475 target = stream->EnsureSpace(target);
476 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
477 1, this->_internal_type(), target);
480 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
481 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
482 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
488 size_t BopOptimizerMethod::ByteSizeLong()
const {
490 size_t total_size = 0;
494 (void) cached_has_bits;
497 cached_has_bits = _has_bits_[0];
498 if (cached_has_bits & 0x00000001u) {
500 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_type());
503 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
504 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
505 _internal_metadata_, total_size, &_cached_size_);
507 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
508 SetCachedSize(cached_size);
512 void BopOptimizerMethod::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
514 GOOGLE_DCHECK_NE(&from,
this);
515 const BopOptimizerMethod* source =
516 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<BopOptimizerMethod>(
518 if (source ==
nullptr) {
520 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
527 void BopOptimizerMethod::MergeFrom(
const BopOptimizerMethod& from) {
529 GOOGLE_DCHECK_NE(&from,
this);
530 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
532 (void) cached_has_bits;
534 if (from._internal_has_type()) {
535 _internal_set_type(from._internal_type());
539 void BopOptimizerMethod::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
541 if (&from ==
this)
return;
546 void BopOptimizerMethod::CopyFrom(
const BopOptimizerMethod& from) {
548 if (&from ==
this)
return;
553 bool BopOptimizerMethod::IsInitialized()
const {
557 void BopOptimizerMethod::InternalSwap(BopOptimizerMethod* other) {
559 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
560 swap(_has_bits_[0], other->_has_bits_[0]);
561 swap(type_, other->type_);
564 ::PROTOBUF_NAMESPACE_ID::Metadata BopOptimizerMethod::GetMetadata()
const {
565 return GetMetadataStatic();
575 BopSolverOptimizerSet::BopSolverOptimizerSet(::PROTOBUF_NAMESPACE_ID::Arena* arena)
576 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
579 RegisterArenaDtor(arena);
582 BopSolverOptimizerSet::BopSolverOptimizerSet(
const BopSolverOptimizerSet& from)
583 : ::PROTOBUF_NAMESPACE_ID::Message(),
584 methods_(from.methods_) {
585 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
589 void BopSolverOptimizerSet::SharedCtor() {
593 BopSolverOptimizerSet::~BopSolverOptimizerSet() {
596 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
599 void BopSolverOptimizerSet::SharedDtor() {
600 GOOGLE_DCHECK(GetArena() ==
nullptr);
603 void BopSolverOptimizerSet::ArenaDtor(
void*
object) {
604 BopSolverOptimizerSet* _this =
reinterpret_cast< BopSolverOptimizerSet*
>(object);
607 void BopSolverOptimizerSet::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
609 void BopSolverOptimizerSet::SetCachedSize(
int size)
const {
610 _cached_size_.Set(size);
612 const BopSolverOptimizerSet& BopSolverOptimizerSet::default_instance() {
614 return *internal_default_instance();
618 void BopSolverOptimizerSet::Clear() {
622 (void) cached_has_bits;
625 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
628 const char* BopSolverOptimizerSet::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
629 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
630 while (!ctx->Done(&ptr)) {
632 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
641 ptr = ctx->ParseMessage(_internal_add_methods(), ptr);
643 if (!ctx->DataAvailable(ptr))
break;
644 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
645 }
else goto handle_unusual;
649 if ((tag & 7) == 4 || tag == 0) {
650 ctx->SetLastTag(tag);
653 ptr = UnknownFieldParse(tag,
654 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
656 CHK_(ptr !=
nullptr);
673 (void) cached_has_bits;
676 for (
unsigned int i = 0,
677 n =
static_cast<unsigned int>(this->_internal_methods_size()); i < n; i++) {
678 target = stream->EnsureSpace(target);
679 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
680 InternalWriteMessage(1, this->_internal_methods(i), target, stream);
683 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
684 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
685 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
691 size_t BopSolverOptimizerSet::ByteSizeLong()
const {
693 size_t total_size = 0;
697 (void) cached_has_bits;
700 total_size += 1UL * this->_internal_methods_size();
701 for (
const auto& msg : this->methods_) {
703 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
706 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
707 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
708 _internal_metadata_, total_size, &_cached_size_);
710 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
711 SetCachedSize(cached_size);
715 void BopSolverOptimizerSet::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
717 GOOGLE_DCHECK_NE(&from,
this);
718 const BopSolverOptimizerSet* source =
719 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<BopSolverOptimizerSet>(
721 if (source ==
nullptr) {
723 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
730 void BopSolverOptimizerSet::MergeFrom(
const BopSolverOptimizerSet& from) {
732 GOOGLE_DCHECK_NE(&from,
this);
733 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
735 (void) cached_has_bits;
737 methods_.MergeFrom(from.methods_);
740 void BopSolverOptimizerSet::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
742 if (&from ==
this)
return;
747 void BopSolverOptimizerSet::CopyFrom(
const BopSolverOptimizerSet& from) {
749 if (&from ==
this)
return;
754 bool BopSolverOptimizerSet::IsInitialized()
const {
758 void BopSolverOptimizerSet::InternalSwap(BopSolverOptimizerSet* other) {
760 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
761 methods_.InternalSwap(&other->methods_);
764 ::PROTOBUF_NAMESPACE_ID::Metadata BopSolverOptimizerSet::GetMetadata()
const {
765 return GetMetadataStatic();
773 using HasBits = decltype(std::declval<BopParameters>()._has_bits_);
775 (*has_bits)[0] |= 4096u;
778 (*has_bits)[0] |= 536870912u;
781 (*has_bits)[1] |= 8u;
784 (*has_bits)[0] |= 64u;
787 (*has_bits)[0] |= 1073741824u;
790 (*has_bits)[0] |= 8192u;
793 (*has_bits)[1] |= 4u;
796 (*has_bits)[0] |= 2u;
799 (*has_bits)[0] |= 131072u;
802 (*has_bits)[0] |= 4u;
805 (*has_bits)[0] |= 8u;
808 (*has_bits)[0] |= 262144u;
811 (*has_bits)[0] |= 16384u;
814 (*has_bits)[0] |= 32768u;
817 (*has_bits)[0] |= 65536u;
820 (*has_bits)[0] |= 2097152u;
823 (*has_bits)[0] |= 4194304u;
826 (*has_bits)[0] |= 524288u;
829 (*has_bits)[0] |= 1048576u;
832 (*has_bits)[0] |= 8388608u;
835 (*has_bits)[0] |= 16u;
838 (*has_bits)[0] |= 128u;
841 (*has_bits)[0] |= 16777216u;
844 (*has_bits)[0] |= 33554432u;
847 (*has_bits)[0] |= 67108864u;
850 (*has_bits)[0] |= 256u;
853 (*has_bits)[0] |= 134217728u;
856 (*has_bits)[0] |= 268435456u;
859 (*has_bits)[0] |= 32u;
862 (*has_bits)[0] |= 1u;
865 (*has_bits)[0] |= 512u;
868 (*has_bits)[0] |= 2147483648u;
871 (*has_bits)[1] |= 1u;
874 (*has_bits)[0] |= 1024u;
877 (*has_bits)[1] |= 2u;
880 (*has_bits)[0] |= 2048u;
884 const ::PROTOBUF_NAMESPACE_ID::internal::LazyString BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_{{{
"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}}, {
nullptr}};
885 BopParameters::BopParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
886 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
887 solver_optimizer_sets_(arena) {
889 RegisterArenaDtor(arena);
892 BopParameters::BopParameters(
const BopParameters& from)
893 : ::PROTOBUF_NAMESPACE_ID::Message(),
894 _has_bits_(from._has_bits_),
895 solver_optimizer_sets_(from.solver_optimizer_sets_) {
896 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
897 default_solver_optimizer_sets_.UnsafeSetDefault(
nullptr);
898 if (from._internal_has_default_solver_optimizer_sets()) {
899 default_solver_optimizer_sets_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, from._internal_default_solver_optimizer_sets(),
902 ::memcpy(&log_search_progress_, &from.log_search_progress_,
903 static_cast<size_t>(
reinterpret_cast<char*
>(&lp_max_deterministic_time_) -
904 reinterpret_cast<char*
>(&log_search_progress_)) +
sizeof(lp_max_deterministic_time_));
908 void BopParameters::SharedCtor() {
910 default_solver_optimizer_sets_.UnsafeSetDefault(
nullptr);
911 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
912 reinterpret_cast<char*
>(&log_search_progress_) -
reinterpret_cast<char*
>(
this)),
913 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&max_lp_solve_for_feasibility_problems_) -
914 reinterpret_cast<char*
>(&log_search_progress_)) +
sizeof(max_lp_solve_for_feasibility_problems_));
915 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
916 max_num_decisions_in_ls_ = 4;
918 num_relaxed_vars_ = 10;
919 max_number_of_conflicts_in_random_lns_ = 2500;
920 compute_estimated_impact_ =
true;
921 use_random_lns_ =
true;
923 use_sat_to_choose_lns_neighbourhood_ =
true;
924 num_random_lns_tries_ = 1;
925 max_number_of_backtracks_in_ls_ = PROTOBUF_LONGLONG(100000000);
926 max_number_of_conflicts_for_quick_check_ = 10;
927 max_number_of_conflicts_in_random_solution_generation_ = 500;
928 max_number_of_explored_assignments_per_try_in_ls_ = PROTOBUF_LONGLONG(10000);
929 use_transposition_table_in_ls_ =
true;
930 use_learned_binary_clauses_in_lp_ =
true;
931 number_of_solvers_ = 1;
932 max_deterministic_time_ = std::numeric_limits<double>::infinity();
933 relative_gap_limit_ = 0.0001;
934 decomposer_num_variables_threshold_ = 50;
935 num_bop_solvers_used_by_decomposition_ = 1;
936 guided_sat_conflicts_chunk_ = 1000;
937 max_num_broken_constraints_in_ls_ = 2147483647;
938 lp_max_deterministic_time_ = 1;
941 BopParameters::~BopParameters() {
944 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
947 void BopParameters::SharedDtor() {
948 GOOGLE_DCHECK(GetArena() ==
nullptr);
949 default_solver_optimizer_sets_.DestroyNoArena(
nullptr);
952 void BopParameters::ArenaDtor(
void*
object) {
953 BopParameters* _this =
reinterpret_cast< BopParameters*
>(object);
956 void BopParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
958 void BopParameters::SetCachedSize(
int size)
const {
959 _cached_size_.Set(size);
961 const BopParameters& BopParameters::default_instance() {
963 return *internal_default_instance();
967 void BopParameters::Clear() {
971 (void) cached_has_bits;
973 solver_optimizer_sets_.Clear();
974 cached_has_bits = _has_bits_[0];
975 if (cached_has_bits & 0x00000001u) {
976 default_solver_optimizer_sets_.ClearToDefault(::operations_research::bop::BopParameters::_i_give_permission_to_break_this_code_default_default_solver_optimizer_sets_, GetArena());
978 if (cached_has_bits & 0x000000feu) {
979 ::memset(&log_search_progress_, 0,
static_cast<size_t>(
980 reinterpret_cast<char*
>(&exploit_symmetry_in_sat_first_solution_) -
981 reinterpret_cast<char*
>(&log_search_progress_)) +
sizeof(exploit_symmetry_in_sat_first_solution_));
983 if (cached_has_bits & 0x0000ff00u) {
984 ::memset(&use_potential_one_flip_repairs_in_ls_, 0,
static_cast<size_t>(
985 reinterpret_cast<char*
>(&max_lp_solve_for_feasibility_problems_) -
986 reinterpret_cast<char*
>(&use_potential_one_flip_repairs_in_ls_)) +
sizeof(max_lp_solve_for_feasibility_problems_));
987 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
988 max_num_decisions_in_ls_ = 4;
990 num_relaxed_vars_ = 10;
992 if (cached_has_bits & 0x00ff0000u) {
993 max_number_of_conflicts_in_random_lns_ = 2500;
994 compute_estimated_impact_ =
true;
995 use_random_lns_ =
true;
997 use_sat_to_choose_lns_neighbourhood_ =
true;
998 num_random_lns_tries_ = 1;
999 max_number_of_backtracks_in_ls_ = PROTOBUF_LONGLONG(100000000);
1000 max_number_of_conflicts_for_quick_check_ = 10;
1002 if (cached_has_bits & 0xff000000u) {
1003 max_number_of_conflicts_in_random_solution_generation_ = 500;
1004 max_number_of_explored_assignments_per_try_in_ls_ = PROTOBUF_LONGLONG(10000);
1005 use_transposition_table_in_ls_ =
true;
1006 use_learned_binary_clauses_in_lp_ =
true;
1007 number_of_solvers_ = 1;
1008 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1009 relative_gap_limit_ = 0.0001;
1010 decomposer_num_variables_threshold_ = 50;
1012 cached_has_bits = _has_bits_[1];
1013 if (cached_has_bits & 0x0000000fu) {
1014 num_bop_solvers_used_by_decomposition_ = 1;
1015 guided_sat_conflicts_chunk_ = 1000;
1016 max_num_broken_constraints_in_ls_ = 2147483647;
1017 lp_max_deterministic_time_ = 1;
1020 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1023 const char* BopParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1024 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1025 while (!ctx->Done(&ptr)) {
1027 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1034 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1035 ptr +=
sizeof(double);
1036 }
else goto handle_unusual;
1042 max_num_decisions_in_ls_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1044 }
else goto handle_unusual;
1050 compute_estimated_impact_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1052 }
else goto handle_unusual;
1058 prune_search_tree_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1060 }
else goto handle_unusual;
1066 sort_constraints_by_num_terms_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1068 }
else goto handle_unusual;
1074 use_random_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1076 }
else goto handle_unusual;
1082 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1084 }
else goto handle_unusual;
1090 num_relaxed_vars_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1092 }
else goto handle_unusual;
1098 max_number_of_conflicts_in_random_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1100 }
else goto handle_unusual;
1106 num_random_lns_tries_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1108 }
else goto handle_unusual;
1114 max_number_of_backtracks_in_ls_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1116 }
else goto handle_unusual;
1122 use_lp_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1124 }
else goto handle_unusual;
1130 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1132 }
else goto handle_unusual;
1138 use_sat_to_choose_lns_neighbourhood_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1140 }
else goto handle_unusual;
1146 max_number_of_conflicts_for_quick_check_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1148 }
else goto handle_unusual;
1154 use_symmetry_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1156 }
else goto handle_unusual;
1162 max_number_of_conflicts_in_random_solution_generation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1164 }
else goto handle_unusual;
1170 max_number_of_explored_assignments_per_try_in_ls_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1172 }
else goto handle_unusual;
1178 use_transposition_table_in_ls_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1180 }
else goto handle_unusual;
1186 use_learned_binary_clauses_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1188 }
else goto handle_unusual;
1194 number_of_solvers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1196 }
else goto handle_unusual;
1206 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(25, val, mutable_unknown_fields());
1208 }
else goto handle_unusual;
1216 ptr = ctx->ParseMessage(_internal_add_solver_optimizer_sets(), ptr);
1218 if (!ctx->DataAvailable(ptr))
break;
1219 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<210>(ptr));
1220 }
else goto handle_unusual;
1226 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1227 ptr +=
sizeof(double);
1228 }
else goto handle_unusual;
1234 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1235 ptr +=
sizeof(double);
1236 }
else goto handle_unusual;
1242 use_lp_strong_branching_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1244 }
else goto handle_unusual;
1250 decomposer_num_variables_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1252 }
else goto handle_unusual;
1258 num_bop_solvers_used_by_decomposition_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1260 }
else goto handle_unusual;
1265 auto str = _internal_mutable_default_solver_optimizer_sets();
1266 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1268 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.bop.BopParameters.default_solver_optimizer_sets");
1271 }
else goto handle_unusual;
1277 guided_sat_conflicts_chunk_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1279 }
else goto handle_unusual;
1285 max_number_of_consecutive_failing_optimizer_calls_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1287 }
else goto handle_unusual;
1293 decomposed_problem_min_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1294 ptr +=
sizeof(double);
1295 }
else goto handle_unusual;
1301 lp_max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1302 ptr +=
sizeof(double);
1303 }
else goto handle_unusual;
1309 max_num_broken_constraints_in_ls_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1311 }
else goto handle_unusual;
1317 use_potential_one_flip_repairs_in_ls_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1319 }
else goto handle_unusual;
1325 exploit_symmetry_in_sat_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1327 }
else goto handle_unusual;
1333 max_lp_solve_for_feasibility_problems_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1335 }
else goto handle_unusual;
1339 if ((tag & 7) == 4 || tag == 0) {
1340 ctx->SetLastTag(tag);
1343 ptr = UnknownFieldParse(tag,
1344 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1346 CHK_(ptr !=
nullptr);
1363 (void) cached_has_bits;
1365 cached_has_bits = _has_bits_[0];
1367 if (cached_has_bits & 0x00001000u) {
1368 target = stream->EnsureSpace(target);
1369 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(1, this->_internal_max_time_in_seconds(), target);
1373 if (cached_has_bits & 0x00002000u) {
1374 target = stream->EnsureSpace(target);
1375 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_max_num_decisions_in_ls(), target);
1379 if (cached_has_bits & 0x00020000u) {
1380 target = stream->EnsureSpace(target);
1381 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_compute_estimated_impact(), target);
1385 if (cached_has_bits & 0x00000004u) {
1386 target = stream->EnsureSpace(target);
1387 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_prune_search_tree(), target);
1391 if (cached_has_bits & 0x00000008u) {
1392 target = stream->EnsureSpace(target);
1393 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_sort_constraints_by_num_terms(), target);
1397 if (cached_has_bits & 0x00040000u) {
1398 target = stream->EnsureSpace(target);
1399 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_use_random_lns(), target);
1403 if (cached_has_bits & 0x00004000u) {
1404 target = stream->EnsureSpace(target);
1405 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_random_seed(), target);
1409 if (cached_has_bits & 0x00008000u) {
1410 target = stream->EnsureSpace(target);
1411 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_num_relaxed_vars(), target);
1415 if (cached_has_bits & 0x00010000u) {
1416 target = stream->EnsureSpace(target);
1417 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_max_number_of_conflicts_in_random_lns(), target);
1421 if (cached_has_bits & 0x00200000u) {
1422 target = stream->EnsureSpace(target);
1423 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_num_random_lns_tries(), target);
1427 if (cached_has_bits & 0x00400000u) {
1428 target = stream->EnsureSpace(target);
1429 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(11, this->_internal_max_number_of_backtracks_in_ls(), target);
1433 if (cached_has_bits & 0x00080000u) {
1434 target = stream->EnsureSpace(target);
1435 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(12, this->_internal_use_lp_lns(), target);
1439 if (cached_has_bits & 0x00000002u) {
1440 target = stream->EnsureSpace(target);
1441 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(14, this->_internal_log_search_progress(), target);
1445 if (cached_has_bits & 0x00100000u) {
1446 target = stream->EnsureSpace(target);
1447 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(15, this->_internal_use_sat_to_choose_lns_neighbourhood(), target);
1451 if (cached_has_bits & 0x00800000u) {
1452 target = stream->EnsureSpace(target);
1453 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(16, this->_internal_max_number_of_conflicts_for_quick_check(), target);
1457 if (cached_has_bits & 0x00000010u) {
1458 target = stream->EnsureSpace(target);
1459 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(17, this->_internal_use_symmetry(), target);
1463 if (cached_has_bits & 0x01000000u) {
1464 target = stream->EnsureSpace(target);
1465 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(20, this->_internal_max_number_of_conflicts_in_random_solution_generation(), target);
1469 if (cached_has_bits & 0x02000000u) {
1470 target = stream->EnsureSpace(target);
1471 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(21, this->_internal_max_number_of_explored_assignments_per_try_in_ls(), target);
1475 if (cached_has_bits & 0x04000000u) {
1476 target = stream->EnsureSpace(target);
1477 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(22, this->_internal_use_transposition_table_in_ls(), target);
1481 if (cached_has_bits & 0x08000000u) {
1482 target = stream->EnsureSpace(target);
1483 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(23, this->_internal_use_learned_binary_clauses_in_lp(), target);
1487 if (cached_has_bits & 0x10000000u) {
1488 target = stream->EnsureSpace(target);
1489 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_number_of_solvers(), target);
1493 if (cached_has_bits & 0x00000020u) {
1494 target = stream->EnsureSpace(target);
1495 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1496 25, this->_internal_synchronization_type(), target);
1500 for (
unsigned int i = 0,
1501 n =
static_cast<unsigned int>(this->_internal_solver_optimizer_sets_size()); i < n; i++) {
1502 target = stream->EnsureSpace(target);
1503 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1504 InternalWriteMessage(26, this->_internal_solver_optimizer_sets(i), target, stream);
1508 if (cached_has_bits & 0x20000000u) {
1509 target = stream->EnsureSpace(target);
1510 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(27, this->_internal_max_deterministic_time(), target);
1514 if (cached_has_bits & 0x40000000u) {
1515 target = stream->EnsureSpace(target);
1516 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(28, this->_internal_relative_gap_limit(), target);
1520 if (cached_has_bits & 0x00000200u) {
1521 target = stream->EnsureSpace(target);
1522 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(29, this->_internal_use_lp_strong_branching(), target);
1526 if (cached_has_bits & 0x80000000u) {
1527 target = stream->EnsureSpace(target);
1528 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_decomposer_num_variables_threshold(), target);
1531 cached_has_bits = _has_bits_[1];
1533 if (cached_has_bits & 0x00000001u) {
1534 target = stream->EnsureSpace(target);
1535 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_num_bop_solvers_used_by_decomposition(), target);
1538 cached_has_bits = _has_bits_[0];
1540 if (cached_has_bits & 0x00000001u) {
1541 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1542 this->_internal_default_solver_optimizer_sets().data(),
static_cast<int>(this->_internal_default_solver_optimizer_sets().length()),
1543 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1544 "operations_research.bop.BopParameters.default_solver_optimizer_sets");
1545 target = stream->WriteStringMaybeAliased(
1546 33, this->_internal_default_solver_optimizer_sets(), target);
1549 cached_has_bits = _has_bits_[1];
1551 if (cached_has_bits & 0x00000002u) {
1552 target = stream->EnsureSpace(target);
1553 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(34, this->_internal_guided_sat_conflicts_chunk(), target);
1556 cached_has_bits = _has_bits_[0];
1558 if (cached_has_bits & 0x00000040u) {
1559 target = stream->EnsureSpace(target);
1560 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(35, this->_internal_max_number_of_consecutive_failing_optimizer_calls(), target);
1564 if (cached_has_bits & 0x00000400u) {
1565 target = stream->EnsureSpace(target);
1566 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_decomposed_problem_min_time_in_seconds(), target);
1569 cached_has_bits = _has_bits_[1];
1571 if (cached_has_bits & 0x00000008u) {
1572 target = stream->EnsureSpace(target);
1573 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(37, this->_internal_lp_max_deterministic_time(), target);
1577 if (cached_has_bits & 0x00000004u) {
1578 target = stream->EnsureSpace(target);
1579 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(38, this->_internal_max_num_broken_constraints_in_ls(), target);
1582 cached_has_bits = _has_bits_[0];
1584 if (cached_has_bits & 0x00000100u) {
1585 target = stream->EnsureSpace(target);
1586 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(39, this->_internal_use_potential_one_flip_repairs_in_ls(), target);
1590 if (cached_has_bits & 0x00000080u) {
1591 target = stream->EnsureSpace(target);
1592 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(40, this->_internal_exploit_symmetry_in_sat_first_solution(), target);
1596 if (cached_has_bits & 0x00000800u) {
1597 target = stream->EnsureSpace(target);
1598 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(41, this->_internal_max_lp_solve_for_feasibility_problems(), target);
1601 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1602 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1603 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1609 size_t BopParameters::ByteSizeLong()
const {
1611 size_t total_size = 0;
1615 (void) cached_has_bits;
1618 total_size += 2UL * this->_internal_solver_optimizer_sets_size();
1619 for (
const auto& msg : this->solver_optimizer_sets_) {
1621 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1624 cached_has_bits = _has_bits_[0];
1625 if (cached_has_bits & 0x000000ffu) {
1627 if (cached_has_bits & 0x00000001u) {
1629 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1630 this->_internal_default_solver_optimizer_sets());
1634 if (cached_has_bits & 0x00000002u) {
1635 total_size += 1 + 1;
1639 if (cached_has_bits & 0x00000004u) {
1640 total_size += 1 + 1;
1644 if (cached_has_bits & 0x00000008u) {
1645 total_size += 1 + 1;
1649 if (cached_has_bits & 0x00000010u) {
1650 total_size += 2 + 1;
1654 if (cached_has_bits & 0x00000020u) {
1656 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_synchronization_type());
1660 if (cached_has_bits & 0x00000040u) {
1662 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1663 this->_internal_max_number_of_consecutive_failing_optimizer_calls());
1667 if (cached_has_bits & 0x00000080u) {
1668 total_size += 2 + 1;
1672 if (cached_has_bits & 0x0000ff00u) {
1674 if (cached_has_bits & 0x00000100u) {
1675 total_size += 2 + 1;
1679 if (cached_has_bits & 0x00000200u) {
1680 total_size += 2 + 1;
1684 if (cached_has_bits & 0x00000400u) {
1685 total_size += 2 + 8;
1689 if (cached_has_bits & 0x00000800u) {
1691 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1692 this->_internal_max_lp_solve_for_feasibility_problems());
1696 if (cached_has_bits & 0x00001000u) {
1697 total_size += 1 + 8;
1701 if (cached_has_bits & 0x00002000u) {
1703 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1704 this->_internal_max_num_decisions_in_ls());
1708 if (cached_has_bits & 0x00004000u) {
1710 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1711 this->_internal_random_seed());
1715 if (cached_has_bits & 0x00008000u) {
1717 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1718 this->_internal_num_relaxed_vars());
1722 if (cached_has_bits & 0x00ff0000u) {
1724 if (cached_has_bits & 0x00010000u) {
1726 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1727 this->_internal_max_number_of_conflicts_in_random_lns());
1731 if (cached_has_bits & 0x00020000u) {
1732 total_size += 1 + 1;
1736 if (cached_has_bits & 0x00040000u) {
1737 total_size += 1 + 1;
1741 if (cached_has_bits & 0x00080000u) {
1742 total_size += 1 + 1;
1746 if (cached_has_bits & 0x00100000u) {
1747 total_size += 1 + 1;
1751 if (cached_has_bits & 0x00200000u) {
1753 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1754 this->_internal_num_random_lns_tries());
1758 if (cached_has_bits & 0x00400000u) {
1760 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1761 this->_internal_max_number_of_backtracks_in_ls());
1765 if (cached_has_bits & 0x00800000u) {
1767 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1768 this->_internal_max_number_of_conflicts_for_quick_check());
1772 if (cached_has_bits & 0xff000000u) {
1774 if (cached_has_bits & 0x01000000u) {
1776 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1777 this->_internal_max_number_of_conflicts_in_random_solution_generation());
1781 if (cached_has_bits & 0x02000000u) {
1783 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1784 this->_internal_max_number_of_explored_assignments_per_try_in_ls());
1788 if (cached_has_bits & 0x04000000u) {
1789 total_size += 2 + 1;
1793 if (cached_has_bits & 0x08000000u) {
1794 total_size += 2 + 1;
1798 if (cached_has_bits & 0x10000000u) {
1800 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1801 this->_internal_number_of_solvers());
1805 if (cached_has_bits & 0x20000000u) {
1806 total_size += 2 + 8;
1810 if (cached_has_bits & 0x40000000u) {
1811 total_size += 2 + 8;
1815 if (cached_has_bits & 0x80000000u) {
1817 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1818 this->_internal_decomposer_num_variables_threshold());
1822 cached_has_bits = _has_bits_[1];
1823 if (cached_has_bits & 0x0000000fu) {
1825 if (cached_has_bits & 0x00000001u) {
1827 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1828 this->_internal_num_bop_solvers_used_by_decomposition());
1832 if (cached_has_bits & 0x00000002u) {
1834 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1835 this->_internal_guided_sat_conflicts_chunk());
1839 if (cached_has_bits & 0x00000004u) {
1841 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1842 this->_internal_max_num_broken_constraints_in_ls());
1846 if (cached_has_bits & 0x00000008u) {
1847 total_size += 2 + 8;
1851 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1852 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1853 _internal_metadata_, total_size, &_cached_size_);
1855 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1856 SetCachedSize(cached_size);
1860 void BopParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1862 GOOGLE_DCHECK_NE(&from,
this);
1863 const BopParameters* source =
1864 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<BopParameters>(
1866 if (source ==
nullptr) {
1868 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
1875 void BopParameters::MergeFrom(
const BopParameters& from) {
1877 GOOGLE_DCHECK_NE(&from,
this);
1878 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1880 (void) cached_has_bits;
1882 solver_optimizer_sets_.MergeFrom(from.solver_optimizer_sets_);
1883 cached_has_bits = from._has_bits_[0];
1884 if (cached_has_bits & 0x000000ffu) {
1885 if (cached_has_bits & 0x00000001u) {
1886 _internal_set_default_solver_optimizer_sets(from._internal_default_solver_optimizer_sets());
1888 if (cached_has_bits & 0x00000002u) {
1889 log_search_progress_ = from.log_search_progress_;
1891 if (cached_has_bits & 0x00000004u) {
1892 prune_search_tree_ = from.prune_search_tree_;
1894 if (cached_has_bits & 0x00000008u) {
1895 sort_constraints_by_num_terms_ = from.sort_constraints_by_num_terms_;
1897 if (cached_has_bits & 0x00000010u) {
1898 use_symmetry_ = from.use_symmetry_;
1900 if (cached_has_bits & 0x00000020u) {
1901 synchronization_type_ = from.synchronization_type_;
1903 if (cached_has_bits & 0x00000040u) {
1904 max_number_of_consecutive_failing_optimizer_calls_ = from.max_number_of_consecutive_failing_optimizer_calls_;
1906 if (cached_has_bits & 0x00000080u) {
1907 exploit_symmetry_in_sat_first_solution_ = from.exploit_symmetry_in_sat_first_solution_;
1909 _has_bits_[0] |= cached_has_bits;
1911 if (cached_has_bits & 0x0000ff00u) {
1912 if (cached_has_bits & 0x00000100u) {
1913 use_potential_one_flip_repairs_in_ls_ = from.use_potential_one_flip_repairs_in_ls_;
1915 if (cached_has_bits & 0x00000200u) {
1916 use_lp_strong_branching_ = from.use_lp_strong_branching_;
1918 if (cached_has_bits & 0x00000400u) {
1919 decomposed_problem_min_time_in_seconds_ = from.decomposed_problem_min_time_in_seconds_;
1921 if (cached_has_bits & 0x00000800u) {
1922 max_lp_solve_for_feasibility_problems_ = from.max_lp_solve_for_feasibility_problems_;
1924 if (cached_has_bits & 0x00001000u) {
1925 max_time_in_seconds_ = from.max_time_in_seconds_;
1927 if (cached_has_bits & 0x00002000u) {
1928 max_num_decisions_in_ls_ = from.max_num_decisions_in_ls_;
1930 if (cached_has_bits & 0x00004000u) {
1931 random_seed_ = from.random_seed_;
1933 if (cached_has_bits & 0x00008000u) {
1934 num_relaxed_vars_ = from.num_relaxed_vars_;
1936 _has_bits_[0] |= cached_has_bits;
1938 if (cached_has_bits & 0x00ff0000u) {
1939 if (cached_has_bits & 0x00010000u) {
1940 max_number_of_conflicts_in_random_lns_ = from.max_number_of_conflicts_in_random_lns_;
1942 if (cached_has_bits & 0x00020000u) {
1943 compute_estimated_impact_ = from.compute_estimated_impact_;
1945 if (cached_has_bits & 0x00040000u) {
1946 use_random_lns_ = from.use_random_lns_;
1948 if (cached_has_bits & 0x00080000u) {
1949 use_lp_lns_ = from.use_lp_lns_;
1951 if (cached_has_bits & 0x00100000u) {
1952 use_sat_to_choose_lns_neighbourhood_ = from.use_sat_to_choose_lns_neighbourhood_;
1954 if (cached_has_bits & 0x00200000u) {
1955 num_random_lns_tries_ = from.num_random_lns_tries_;
1957 if (cached_has_bits & 0x00400000u) {
1958 max_number_of_backtracks_in_ls_ = from.max_number_of_backtracks_in_ls_;
1960 if (cached_has_bits & 0x00800000u) {
1961 max_number_of_conflicts_for_quick_check_ = from.max_number_of_conflicts_for_quick_check_;
1963 _has_bits_[0] |= cached_has_bits;
1965 if (cached_has_bits & 0xff000000u) {
1966 if (cached_has_bits & 0x01000000u) {
1967 max_number_of_conflicts_in_random_solution_generation_ = from.max_number_of_conflicts_in_random_solution_generation_;
1969 if (cached_has_bits & 0x02000000u) {
1970 max_number_of_explored_assignments_per_try_in_ls_ = from.max_number_of_explored_assignments_per_try_in_ls_;
1972 if (cached_has_bits & 0x04000000u) {
1973 use_transposition_table_in_ls_ = from.use_transposition_table_in_ls_;
1975 if (cached_has_bits & 0x08000000u) {
1976 use_learned_binary_clauses_in_lp_ = from.use_learned_binary_clauses_in_lp_;
1978 if (cached_has_bits & 0x10000000u) {
1979 number_of_solvers_ = from.number_of_solvers_;
1981 if (cached_has_bits & 0x20000000u) {
1982 max_deterministic_time_ = from.max_deterministic_time_;
1984 if (cached_has_bits & 0x40000000u) {
1985 relative_gap_limit_ = from.relative_gap_limit_;
1987 if (cached_has_bits & 0x80000000u) {
1988 decomposer_num_variables_threshold_ = from.decomposer_num_variables_threshold_;
1990 _has_bits_[0] |= cached_has_bits;
1992 cached_has_bits = from._has_bits_[1];
1993 if (cached_has_bits & 0x0000000fu) {
1994 if (cached_has_bits & 0x00000001u) {
1995 num_bop_solvers_used_by_decomposition_ = from.num_bop_solvers_used_by_decomposition_;
1997 if (cached_has_bits & 0x00000002u) {
1998 guided_sat_conflicts_chunk_ = from.guided_sat_conflicts_chunk_;
2000 if (cached_has_bits & 0x00000004u) {
2001 max_num_broken_constraints_in_ls_ = from.max_num_broken_constraints_in_ls_;
2003 if (cached_has_bits & 0x00000008u) {
2004 lp_max_deterministic_time_ = from.lp_max_deterministic_time_;
2006 _has_bits_[1] |= cached_has_bits;
2010 void BopParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2012 if (&from ==
this)
return;
2017 void BopParameters::CopyFrom(
const BopParameters& from) {
2019 if (&from ==
this)
return;
2024 bool BopParameters::IsInitialized()
const {
2028 void BopParameters::InternalSwap(BopParameters* other) {
2030 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2031 swap(_has_bits_[0], other->_has_bits_[0]);
2032 swap(_has_bits_[1], other->_has_bits_[1]);
2033 solver_optimizer_sets_.InternalSwap(&other->solver_optimizer_sets_);
2034 default_solver_optimizer_sets_.Swap(&other->default_solver_optimizer_sets_,
nullptr, GetArena());
2035 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2036 PROTOBUF_FIELD_OFFSET(BopParameters, max_lp_solve_for_feasibility_problems_)
2037 +
sizeof(BopParameters::max_lp_solve_for_feasibility_problems_)
2038 - PROTOBUF_FIELD_OFFSET(BopParameters, log_search_progress_)>(
2039 reinterpret_cast<char*
>(&log_search_progress_),
2040 reinterpret_cast<char*
>(&other->log_search_progress_));
2041 swap(max_time_in_seconds_, other->max_time_in_seconds_);
2042 swap(max_num_decisions_in_ls_, other->max_num_decisions_in_ls_);
2043 swap(random_seed_, other->random_seed_);
2044 swap(num_relaxed_vars_, other->num_relaxed_vars_);
2045 swap(max_number_of_conflicts_in_random_lns_, other->max_number_of_conflicts_in_random_lns_);
2046 swap(compute_estimated_impact_, other->compute_estimated_impact_);
2047 swap(use_random_lns_, other->use_random_lns_);
2048 swap(use_lp_lns_, other->use_lp_lns_);
2049 swap(use_sat_to_choose_lns_neighbourhood_, other->use_sat_to_choose_lns_neighbourhood_);
2050 swap(num_random_lns_tries_, other->num_random_lns_tries_);
2051 swap(max_number_of_backtracks_in_ls_, other->max_number_of_backtracks_in_ls_);
2052 swap(max_number_of_conflicts_for_quick_check_, other->max_number_of_conflicts_for_quick_check_);
2053 swap(max_number_of_conflicts_in_random_solution_generation_, other->max_number_of_conflicts_in_random_solution_generation_);
2054 swap(max_number_of_explored_assignments_per_try_in_ls_, other->max_number_of_explored_assignments_per_try_in_ls_);
2055 swap(use_transposition_table_in_ls_, other->use_transposition_table_in_ls_);
2056 swap(use_learned_binary_clauses_in_lp_, other->use_learned_binary_clauses_in_lp_);
2057 swap(number_of_solvers_, other->number_of_solvers_);
2058 swap(max_deterministic_time_, other->max_deterministic_time_);
2059 swap(relative_gap_limit_, other->relative_gap_limit_);
2060 swap(decomposer_num_variables_threshold_, other->decomposer_num_variables_threshold_);
2061 swap(num_bop_solvers_used_by_decomposition_, other->num_bop_solvers_used_by_decomposition_);
2062 swap(guided_sat_conflicts_chunk_, other->guided_sat_conflicts_chunk_);
2063 swap(max_num_broken_constraints_in_ls_, other->max_num_broken_constraints_in_ls_);
2064 swap(lp_max_deterministic_time_, other->lp_max_deterministic_time_);
2067 ::PROTOBUF_NAMESPACE_ID::Metadata BopParameters::GetMetadata()
const {
2068 return GetMetadataStatic();
2075 PROTOBUF_NAMESPACE_OPEN
2077 return Arena::CreateMessageInternal< ::operations_research::bop::BopOptimizerMethod >(arena);
2080 return Arena::CreateMessageInternal< ::operations_research::bop::BopSolverOptimizerSet >(arena);
2083 return Arena::CreateMessageInternal< ::operations_research::bop::BopParameters >(arena);
2085 PROTOBUF_NAMESPACE_CLOSE
2088 #include <google/protobuf/port_undef.inc>
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 1 > scc_info_BopParameters_ortools_2fbop_2fbop_5fparameters_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fbop_2fbop_5fparameters_2eproto
static void InitDefaultsscc_info_BopParameters_ortools_2fbop_2fbop_5fparameters_2eproto()
static void InitDefaultsscc_info_BopOptimizerMethod_ortools_2fbop_2fbop_5fparameters_2eproto()
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fbop_2fbop_5fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
PROTOBUF_NOINLINE ::operations_research::bop::BopSolverOptimizerSet * Arena::CreateMaybeMessage< ::operations_research::bop::BopSolverOptimizerSet >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto_once
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::bop::BopOptimizerMethod * Arena::CreateMaybeMessage< ::operations_research::bop::BopOptimizerMethod >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase *const descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto_sccs[3]
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable *const descriptor_table_ortools_2fbop_2fbop_5fparameters_2eproto_deps[1]
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fbop_2fbop_5fparameters_2eproto[3]
PROTOBUF_INTERNAL_EXPORT_ortools_2fbop_2fbop_5fparameters_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_BopOptimizerMethod_ortools_2fbop_2fbop_5fparameters_2eproto
static bool dynamic_init_dummy_ortools_2fbop_2fbop_5fparameters_2eproto
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fbop_2fbop_5fparameters_2eproto[2]
PROTOBUF_INTERNAL_EXPORT_ortools_2fbop_2fbop_5fparameters_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 1 > scc_info_BopSolverOptimizerSet_ortools_2fbop_2fbop_5fparameters_2eproto
static void InitDefaultsscc_info_BopSolverOptimizerSet_ortools_2fbop_2fbop_5fparameters_2eproto()
PROTOBUF_NOINLINE ::operations_research::bop::BopParameters * Arena::CreateMaybeMessage< ::operations_research::bop::BopParameters >(Arena *arena)
static void set_has_type(HasBits *has_bits)
decltype(std::declval< BopOptimizerMethod >()._has_bits_) HasBits
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< BopOptimizerMethod > _instance
static void set_has_log_search_progress(HasBits *has_bits)
static void set_has_sort_constraints_by_num_terms(HasBits *has_bits)
static void set_has_use_lp_lns(HasBits *has_bits)
decltype(std::declval< BopParameters >()._has_bits_) HasBits
static void set_has_default_solver_optimizer_sets(HasBits *has_bits)
static void set_has_num_bop_solvers_used_by_decomposition(HasBits *has_bits)
static void set_has_use_random_lns(HasBits *has_bits)
static void set_has_use_potential_one_flip_repairs_in_ls(HasBits *has_bits)
static void set_has_max_time_in_seconds(HasBits *has_bits)
static void set_has_max_number_of_conflicts_for_quick_check(HasBits *has_bits)
static void set_has_prune_search_tree(HasBits *has_bits)
static void set_has_max_number_of_consecutive_failing_optimizer_calls(HasBits *has_bits)
static void set_has_max_deterministic_time(HasBits *has_bits)
static void set_has_max_number_of_conflicts_in_random_solution_generation(HasBits *has_bits)
static void set_has_max_num_decisions_in_ls(HasBits *has_bits)
static void set_has_max_number_of_conflicts_in_random_lns(HasBits *has_bits)
static void set_has_max_number_of_backtracks_in_ls(HasBits *has_bits)
static void set_has_decomposer_num_variables_threshold(HasBits *has_bits)
static void set_has_number_of_solvers(HasBits *has_bits)
static void set_has_synchronization_type(HasBits *has_bits)
static void set_has_max_num_broken_constraints_in_ls(HasBits *has_bits)
static void set_has_relative_gap_limit(HasBits *has_bits)
static void set_has_compute_estimated_impact(HasBits *has_bits)
static void set_has_num_random_lns_tries(HasBits *has_bits)
static void set_has_max_number_of_explored_assignments_per_try_in_ls(HasBits *has_bits)
static void set_has_use_learned_binary_clauses_in_lp(HasBits *has_bits)
static void set_has_max_lp_solve_for_feasibility_problems(HasBits *has_bits)
static void set_has_num_relaxed_vars(HasBits *has_bits)
static void set_has_use_transposition_table_in_ls(HasBits *has_bits)
static void set_has_decomposed_problem_min_time_in_seconds(HasBits *has_bits)
static void set_has_guided_sat_conflicts_chunk(HasBits *has_bits)
static void set_has_exploit_symmetry_in_sat_first_solution(HasBits *has_bits)
static void set_has_use_lp_strong_branching(HasBits *has_bits)
static void set_has_lp_max_deterministic_time(HasBits *has_bits)
static void set_has_use_sat_to_choose_lns_neighbourhood(HasBits *has_bits)
static void set_has_use_symmetry(HasBits *has_bits)
static void set_has_random_seed(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< BopParameters > _instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< BopSolverOptimizerSet > _instance
class operations_research::bop::BopParametersDefaultTypeInternal _BopParameters_default_instance_
class operations_research::bop::BopOptimizerMethodDefaultTypeInternal _BopOptimizerMethod_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopParameters_ThreadSynchronizationType_descriptor()
bool BopOptimizerMethod_OptimizerType_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BopOptimizerMethod_OptimizerType_descriptor()
class operations_research::bop::BopSolverOptimizerSetDefaultTypeInternal _BopSolverOptimizerSet_default_instance_
BopOptimizerMethod_OptimizerType
BopParameters_ThreadSynchronizationType
bool BopParameters_ThreadSynchronizationType_IsValid(int value)
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas