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>
21 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SatParameters>
_instance;
26 GOOGLE_PROTOBUF_VERIFY_VERSION;
28 ::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.DefaultConstruct();
29 *::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get_mutable() = std::string(
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART", 65);
30 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyString(
31 ::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get_mutable());
35 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
37 ::operations_research::sat::SatParameters::InitAsDefaultInstance();
353 { 0, 154,
sizeof(::operations_research::sat::SatParameters)},
360 const char descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
361 "\n ortools/sat/sat_parameters.proto\022\027oper"
362 "ations_research.sat\"\226\?\n\rSatParameters\022\017\n"
363 "\004name\030\253\001 \001(\t:\000\022`\n\030preferred_variable_ord"
364 "er\030\001 \001(\01624.operations_research.sat.SatPa"
365 "rameters.VariableOrder:\010IN_ORDER\022Y\n\020init"
366 "ial_polarity\030\002 \001(\0162/.operations_research"
367 ".sat.SatParameters.Polarity:\016POLARITY_FA"
368 "LSE\022\036\n\020use_phase_saving\030, \001(\010:\004true\022)\n\032p"
369 "olarity_rephase_increment\030\250\001 \001(\005:\0041000\022 "
370 "\n\025random_polarity_ratio\030- \001(\001:\0010\022 \n\025rand"
371 "om_branches_ratio\030 \001(\001:\0010\022!\n\022use_erwa_h"
372 "euristic\030K \001(\010:\005false\022%\n\032initial_variabl"
373 "es_activity\030L \001(\001:\0010\0226\n\'also_bump_variab"
374 "les_in_conflict_reasons\030M \001(\010:\005false\022o\n\026"
375 "minimization_algorithm\030\004 \001(\0162D.operation"
376 "s_research.sat.SatParameters.ConflictMin"
377 "imizationAlgorithm:\tRECURSIVE\022\202\001\n\035binary"
378 "_minimization_algorithm\030\" \001(\0162@.operatio"
379 "ns_research.sat.SatParameters.BinaryMini"
380 "zationAlgorithm:\031BINARY_MINIMIZATION_FIR"
381 "ST\0222\n$subsumption_during_conflict_analys"
382 "is\0308 \001(\010:\004true\022$\n\025clause_cleanup_period\030"
383 "\013 \001(\005:\00510000\022$\n\025clause_cleanup_target\030\r "
384 "\001(\005:\00510000\022k\n\031clause_cleanup_protection\030"
385 ": \001(\01627.operations_research.sat.SatParam"
386 "eters.ClauseProtection:\017PROTECTION_NONE\022"
387 "#\n\030clause_cleanup_lbd_bound\030; \001(\005:\0015\022g\n\027"
388 "clause_cleanup_ordering\030< \001(\01625.operatio"
389 "ns_research.sat.SatParameters.ClauseOrde"
390 "ring:\017CLAUSE_ACTIVITY\022!\n\024pb_cleanup_incr"
391 "ement\030. \001(\005:\003200\022\035\n\020pb_cleanup_ratio\030/ \001"
392 "(\001:\0030.5\0224\n(minimize_with_propagation_res"
393 "tart_period\030` \001(\005:\00210\0225\n\'minimize_with_p"
394 "ropagation_num_decisions\030a \001(\005:\0041000\022$\n\027"
395 "variable_activity_decay\030\017 \001(\001:\0030.8\022+\n\033ma"
396 "x_variable_activity_value\030\020 \001(\001:\0061e+100\022"
397 "\037\n\021glucose_max_decay\030\026 \001(\001:\0040.95\022%\n\027gluc"
398 "ose_decay_increment\030\027 \001(\001:\0040.01\022,\n\036gluco"
399 "se_decay_increment_period\030\030 \001(\005:\0045000\022$\n"
400 "\025clause_activity_decay\030\021 \001(\001:\0050.999\022(\n\031m"
401 "ax_clause_activity_value\030\022 \001(\001:\0051e+20\022S\n"
402 "\022restart_algorithms\030= \003(\01627.operations_r"
403 "esearch.sat.SatParameters.RestartAlgorit"
404 "hm\022e\n\032default_restart_algorithms\030F \001(\t:A"
405 "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,"
406 "DL_MOVING_AVERAGE_RESTART\022\032\n\016restart_per"
407 "iod\030\036 \001(\005:\00250\022\'\n\033restart_running_window_"
408 "size\030> \001(\005:\00250\022#\n\030restart_dl_average_rat"
409 "io\030\? \001(\001:\0011\022$\n\031restart_lbd_average_ratio"
410 "\030G \001(\001:\0011\022#\n\024use_blocking_restart\030@ \001(\010:"
411 "\005false\022*\n\034blocking_restart_window_size\030A"
412 " \001(\005:\0045000\022(\n\033blocking_restart_multiplie"
413 "r\030B \001(\001:\0031.4\0220\n%num_conflicts_before_str"
414 "ategy_changes\030D \001(\005:\0010\022)\n\036strategy_chang"
415 "e_increase_ratio\030E \001(\001:\0010\022 \n\023max_time_in"
416 "_seconds\030$ \001(\001:\003inf\022#\n\026max_deterministic"
417 "_time\030C \001(\001:\003inf\0224\n\027max_number_of_confli"
418 "cts\030% \001(\003:\0239223372036854775807\022\037\n\020max_me"
419 "mory_in_mb\030( \001(\003:\00510000\022\036\n\022absolute_gap_"
420 "limit\030\237\001 \001(\001:\0010\022\036\n\022relative_gap_limit\030\240\001"
421 " \001(\001:\0010\022-\n\037treat_binary_clauses_separate"
422 "ly\030! \001(\010:\004true\022\026\n\013random_seed\030\037 \001(\005:\0011\022\""
423 "\n\023log_search_progress\030) \001(\010:\005false\022 \n\021us"
424 "e_pb_resolution\030+ \001(\010:\005false\0226\n\'minimize"
425 "_reduction_during_pb_resolution\0300 \001(\010:\005f"
426 "alse\022,\n\036count_assumption_levels_in_lbd\0301"
427 " \001(\010:\004true\022#\n\026presolve_bve_threshold\0306 \001"
428 "(\005:\003500\022%\n\032presolve_bve_clause_weight\0307 "
429 "\001(\005:\0013\0225\n)presolve_probing_deterministic"
430 "_time_limit\0309 \001(\001:\00230\022%\n\027presolve_blocke"
431 "d_clause\030X \001(\010:\004true\022\036\n\020presolve_use_bva"
432 "\030H \001(\010:\004true\022!\n\026presolve_bva_threshold\030I"
433 " \001(\005:\0011\022#\n\027max_presolve_iterations\030\212\001 \001("
434 "\005:\0013\022\037\n\021cp_model_presolve\030V \001(\010:\004true\0223\n"
435 "#cp_model_postsolve_with_full_solver\030\242\001 "
436 "\001(\010:\005false\0220\n$cp_model_max_num_presolve_"
437 "operations\030\227\001 \001(\005:\0010\022!\n\026cp_model_probing"
438 "_level\030n \001(\005:\0012\022\'\n\031cp_model_use_sat_pres"
439 "olve\030] \001(\010:\004true\022$\n\024use_sat_inprocessing"
440 "\030\243\001 \001(\010:\005false\022)\n\032expand_element_constra"
441 "ints\030\214\001 \001(\010:\004true\022+\n\034expand_automaton_co"
442 "nstraints\030\217\001 \001(\010:\004true\022\'\n\030expand_table_c"
443 "onstraints\030\236\001 \001(\010:\004true\022*\n\032expand_alldif"
444 "f_constraints\030\252\001 \001(\010:\005false\0223\n\033merge_no_"
445 "overlap_work_limit\030\221\001 \001(\001:\r1000000000000"
446 "\0220\n\034merge_at_most_one_work_limit\030\222\001 \001(\001:"
447 "\t100000000\022\'\n\033presolve_substitution_leve"
448 "l\030\223\001 \001(\005:\0011\022$\n\026use_optimization_hints\030# "
449 "\001(\010:\004true\022\033\n\rminimize_core\0302 \001(\010:\004true\022!"
450 "\n\023find_multiple_cores\030T \001(\010:\004true\022 \n\022cov"
451 "er_optimization\030Y \001(\010:\004true\022x\n\030max_sat_a"
452 "ssumption_order\0303 \001(\0162<.operations_resea"
453 "rch.sat.SatParameters.MaxSatAssumptionOr"
454 "der:\030DEFAULT_ASSUMPTION_ORDER\022/\n max_sat"
455 "_reverse_assumption_order\0304 \001(\010:\005false\022|"
456 "\n\026max_sat_stratification\0305 \001(\0162D.operati"
457 "ons_research.sat.SatParameters.MaxSatStr"
458 "atificationAlgorithm:\026STRATIFICATION_DES"
459 "CENT\0227\n)use_precedences_in_disjunctive_c"
460 "onstraint\030J \001(\010:\004true\022<\n-use_overload_ch"
461 "ecker_in_cumulative_constraint\030N \001(\010:\005fa"
462 "lse\022B\n3use_timetable_edge_finding_in_cum"
463 "ulative_constraint\030O \001(\010:\005false\022A\n3use_d"
464 "isjunctive_constraint_in_cumulative_cons"
465 "traint\030P \001(\010:\004true\022\036\n\023linearization_leve"
466 "l\030Z \001(\005:\0011\022!\n\026boolean_encoding_level\030k \001"
467 "(\005:\0011\022\033\n\014max_num_cuts\030[ \001(\005:\00510000\022*\n\033on"
468 "ly_add_cuts_at_level_zero\030\\ \001(\010:\005false\022 "
469 "\n\021add_knapsack_cuts\030o \001(\010:\005false\022\031\n\013add_"
470 "cg_cuts\030u \001(\010:\004true\022\032\n\014add_mir_cuts\030x \001("
471 "\010:\004true\022!\n\022add_zero_half_cuts\030\251\001 \001(\010:\004tr"
472 "ue\022\036\n\017add_clique_cuts\030\254\001 \001(\010:\004true\022!\n\025ma"
473 "x_all_diff_cut_size\030\224\001 \001(\005:\0017\022\037\n\020add_lin"
474 "_max_cuts\030\230\001 \001(\010:\004true\022)\n\034max_integer_ro"
475 "unding_scaling\030w \001(\005:\003600\022\'\n\031add_lp_cons"
476 "traints_lazily\030p \001(\010:\004true\0222\n$min_orthog"
477 "onality_for_lp_constraints\030s \001(\001:\0040.05\022("
478 "\n\034max_cut_rounds_at_level_zero\030\232\001 \001(\005:\0011"
479 "\022+\n\036max_consecutive_inactive_count\030y \001(\005"
480 ":\003100\0220\n\032cut_max_active_count_value\030\233\001 \001"
481 "(\001:\01310000000000\022$\n\026cut_active_count_deca"
482 "y\030\234\001 \001(\001:\0030.8\022!\n\022cut_cleanup_target\030\235\001 \001"
483 "(\005:\0041000\022&\n\032new_constraints_batch_size\030z"
484 " \001(\005:\00250\022b\n\020search_branching\030R \001(\01626.ope"
485 "rations_research.sat.SatParameters.Searc"
486 "hBranching:\020AUTOMATIC_SEARCH\022 \n\023hint_con"
487 "flict_limit\030\231\001 \001(\005:\00210\022\033\n\013repair_hint\030\247\001"
488 " \001(\010:\005false\022)\n\033exploit_integer_lp_soluti"
489 "on\030^ \001(\010:\004true\022%\n\027exploit_all_lp_solutio"
490 "n\030t \001(\010:\004true\022%\n\025exploit_best_solution\030\202"
491 "\001 \001(\010:\005false\022+\n\033exploit_relaxation_solut"
492 "ion\030\241\001 \001(\010:\005false\022 \n\021exploit_objective\030\203"
493 "\001 \001(\010:\004true\022\"\n\026probing_period_at_root\030\216\001"
494 " \001(\003:\0010\022.\n!pseudo_cost_reliability_thres"
495 "hold\030{ \001(\003:\003100\022!\n\022optimize_with_core\030S "
496 "\001(\010:\005false\022\'\n\033binary_search_num_conflict"
497 "s\030c \001(\005:\002-1\022#\n\024optimize_with_max_hs\030U \001("
498 "\010:\005false\022&\n\027enumerate_all_solutions\030W \001("
499 "\010:\005false\0222\n\"fill_tightened_domains_in_re"
500 "sponse\030\204\001 \001(\010:\005false\022\'\n\031instantiate_all_"
501 "variables\030j \001(\010:\004true\0226\n(auto_detect_gre"
502 "ater_than_at_least_one_of\030_ \001(\010:\004true\022(\n"
503 "\031stop_after_first_solution\030b \001(\010:\005false\022"
504 "#\n\023stop_after_presolve\030\225\001 \001(\010:\005false\022\035\n\022"
505 "num_search_workers\030d \001(\005:\0011\022!\n\021interleav"
506 "e_search\030\210\001 \001(\010:\005false\022!\n\025interleave_bat"
507 "ch_size\030\206\001 \001(\005:\0011\0226\n&reduce_memory_usage"
508 "_in_interleave_mode\030\215\001 \001(\010:\005false\022$\n\026sha"
509 "re_objective_bounds\030q \001(\010:\004true\022%\n\027share"
510 "_level_zero_bounds\030r \001(\010:\004true\022\033\n\014use_ln"
511 "s_only\030e \001(\010:\005false\022.\n\037lns_focus_on_deci"
512 "sion_variables\030i \001(\010:\005false\022\033\n\014use_rins_"
513 "lns\030\201\001 \001(\010:\004true\022#\n\024use_feasibility_pump"
514 "\030\244\001 \001(\010:\004true\022c\n\013fp_rounding\030\245\001 \001(\01627.op"
515 "erations_research.sat.SatParameters.FPRo"
516 "undingMethod:\024PROPAGATION_ASSISTED\022\"\n\022us"
517 "e_relaxation_lns\030\226\001 \001(\010:\005false\022$\n\024divers"
518 "ify_lns_params\030\211\001 \001(\010:\005false\022\037\n\020randomiz"
519 "e_search\030g \001(\010:\005false\022)\n\036search_randomiz"
520 "ation_tolerance\030h \001(\003:\0010\022$\n\026use_optional"
521 "_variables\030l \001(\010:\004true\022!\n\023use_exact_lp_r"
522 "eason\030m \001(\010:\004true\022#\n\023use_branching_in_lp"
523 "\030\213\001 \001(\010:\005false\022\'\n\027use_combined_no_overla"
524 "p\030\205\001 \001(\010:\005false\022\"\n\023catch_sigint_signal\030\207"
525 "\001 \001(\010:\004true\022!\n\022use_implied_bounds\030\220\001 \001(\010"
526 ":\004true\022\037\n\rmip_max_bound\030| \001(\001:\01010000000\022"
527 "\032\n\017mip_var_scaling\030} \001(\001:\0011\0220\n!mip_autom"
528 "atically_scale_variables\030\246\001 \001(\010:\004true\022#\n"
529 "\024mip_wanted_precision\030~ \001(\001:\0051e-06\022%\n\031mi"
530 "p_max_activity_exponent\030\177 \001(\005:\00253\022#\n\023mip"
531 "_check_precision\030\200\001 \001(\001:\0050.001\"H\n\rVariab"
532 "leOrder\022\014\n\010IN_ORDER\020\000\022\024\n\020IN_REVERSE_ORDE"
533 "R\020\001\022\023\n\017IN_RANDOM_ORDER\020\002\"\206\001\n\010Polarity\022\021\n"
534 "\rPOLARITY_TRUE\020\000\022\022\n\016POLARITY_FALSE\020\001\022\023\n\017"
535 "POLARITY_RANDOM\020\002\022\032\n\026POLARITY_WEIGHTED_S"
536 "IGN\020\003\022\"\n\036POLARITY_REVERSE_WEIGHTED_SIGN\020"
537 "\004\"V\n\035ConflictMinimizationAlgorithm\022\010\n\004NO"
538 "NE\020\000\022\n\n\006SIMPLE\020\001\022\r\n\tRECURSIVE\020\002\022\020\n\014EXPER"
539 "IMENTAL\020\003\"\340\001\n\031BinaryMinizationAlgorithm\022"
540 "\032\n\026NO_BINARY_MINIMIZATION\020\000\022\035\n\031BINARY_MI"
541 "NIMIZATION_FIRST\020\001\0227\n3BINARY_MINIMIZATIO"
542 "N_FIRST_WITH_TRANSITIVE_REDUCTION\020\004\022)\n%B"
543 "INARY_MINIMIZATION_WITH_REACHABILITY\020\002\022$"
544 "\n EXPERIMENTAL_BINARY_MINIMIZATION\020\003\"R\n\020"
545 "ClauseProtection\022\023\n\017PROTECTION_NONE\020\000\022\025\n"
546 "\021PROTECTION_ALWAYS\020\001\022\022\n\016PROTECTION_LBD\020\002"
547 "\"5\n\016ClauseOrdering\022\023\n\017CLAUSE_ACTIVITY\020\000\022"
548 "\016\n\nCLAUSE_LBD\020\001\"\206\001\n\020RestartAlgorithm\022\016\n\n"
549 "NO_RESTART\020\000\022\020\n\014LUBY_RESTART\020\001\022\035\n\031DL_MOV"
550 "ING_AVERAGE_RESTART\020\002\022\036\n\032LBD_MOVING_AVER"
551 "AGE_RESTART\020\003\022\021\n\rFIXED_RESTART\020\004\"t\n\025MaxS"
552 "atAssumptionOrder\022\034\n\030DEFAULT_ASSUMPTION_"
553 "ORDER\020\000\022\035\n\031ORDER_ASSUMPTION_BY_DEPTH\020\001\022\036"
554 "\n\032ORDER_ASSUMPTION_BY_WEIGHT\020\002\"o\n\035MaxSat"
555 "StratificationAlgorithm\022\027\n\023STRATIFICATIO"
556 "N_NONE\020\000\022\032\n\026STRATIFICATION_DESCENT\020\001\022\031\n\025"
557 "STRATIFICATION_ASCENT\020\002\"\260\001\n\017SearchBranch"
558 "ing\022\024\n\020AUTOMATIC_SEARCH\020\000\022\020\n\014FIXED_SEARC"
559 "H\020\001\022\024\n\020PORTFOLIO_SEARCH\020\002\022\r\n\tLP_SEARCH\020\003"
560 "\022\026\n\022PSEUDO_COST_SEARCH\020\004\022\'\n#PORTFOLIO_WI"
561 "TH_QUICK_RESTART_SEARCH\020\005\022\017\n\013HINT_SEARCH"
562 "\020\006\"h\n\020FPRoundingMethod\022\023\n\017NEAREST_INTEGE"
563 "R\020\000\022\016\n\nLOCK_BASED\020\001\022\025\n\021ACTIVE_LOCK_BASED"
564 "\020\003\022\030\n\024PROPAGATION_ASSISTED\020\002B\032\n\026com.goog"
565 "le.ortools.satP\001"
574 false,
false, descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto,
"ortools/sat/sat_parameters.proto", 8176,
599 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
605 constexpr
int SatParameters::VariableOrder_ARRAYSIZE;
606 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
624 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
632 constexpr
int SatParameters::Polarity_ARRAYSIZE;
633 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
650 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
657 constexpr
int SatParameters::ConflictMinimizationAlgorithm_ARRAYSIZE;
658 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
676 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
684 constexpr
int SatParameters::BinaryMinizationAlgorithm_ARRAYSIZE;
685 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
701 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
707 constexpr
int SatParameters::ClauseProtection_ARRAYSIZE;
708 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
723 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
728 constexpr
int SatParameters::ClauseOrdering_ARRAYSIZE;
729 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
747 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
755 constexpr
int SatParameters::RestartAlgorithm_ARRAYSIZE;
756 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
772 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
778 constexpr
int SatParameters::MaxSatAssumptionOrder_ARRAYSIZE;
779 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
795 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
801 constexpr
int SatParameters::MaxSatStratificationAlgorithm_ARRAYSIZE;
802 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
822 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
832 constexpr
int SatParameters::SearchBranching_ARRAYSIZE;
833 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
850 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
857 constexpr
int SatParameters::FPRoundingMethod_ARRAYSIZE;
858 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
862 void SatParameters::InitAsDefaultInstance() {
866 using HasBits = decltype(std::declval<SatParameters>()._has_bits_);
868 (*has_bits)[0] |= 2u;
871 (*has_bits)[0] |= 4u;
874 (*has_bits)[1] |= 262144u;
877 (*has_bits)[2] |= 8u;
880 (*has_bits)[1] |= 131072u;
883 (*has_bits)[0] |= 32u;
886 (*has_bits)[0] |= 16u;
889 (*has_bits)[0] |= 256u;
892 (*has_bits)[0] |= 16384u;
895 (*has_bits)[0] |= 512u;
898 (*has_bits)[1] |= 524288u;
901 (*has_bits)[1] |= 2147483648u;
904 (*has_bits)[2] |= 16u;
907 (*has_bits)[1] |= 1048576u;
910 (*has_bits)[1] |= 2097152u;
913 (*has_bits)[0] |= 64u;
916 (*has_bits)[2] |= 8192u;
919 (*has_bits)[0] |= 128u;
922 (*has_bits)[2] |= 128u;
925 (*has_bits)[2] |= 256u;
928 (*has_bits)[2] |= 2147483648u;
931 (*has_bits)[3] |= 1u;
934 (*has_bits)[1] |= 4194304u;
937 (*has_bits)[1] |= 8388608u;
940 (*has_bits)[1] |= 67108864u;
943 (*has_bits)[1] |= 134217728u;
946 (*has_bits)[1] |= 268435456u;
949 (*has_bits)[1] |= 16777216u;
952 (*has_bits)[1] |= 33554432u;
955 (*has_bits)[0] |= 1u;
958 (*has_bits)[1] |= 536870912u;
961 (*has_bits)[2] |= 32768u;
964 (*has_bits)[2] |= 16384u;
967 (*has_bits)[2] |= 524288u;
970 (*has_bits)[0] |= 1024u;
973 (*has_bits)[2] |= 65536u;
976 (*has_bits)[2] |= 131072u;
979 (*has_bits)[0] |= 4096u;
982 (*has_bits)[0] |= 8192u;
985 (*has_bits)[2] |= 1u;
988 (*has_bits)[2] |= 262144u;
991 (*has_bits)[2] |= 2u;
994 (*has_bits)[2] |= 4u;
997 (*has_bits)[1] |= 32768u;
1000 (*has_bits)[1] |= 65536u;
1003 (*has_bits)[2] |= 32u;
1006 (*has_bits)[1] |= 1073741824u;
1009 (*has_bits)[0] |= 2048u;
1012 (*has_bits)[0] |= 2097152u;
1015 (*has_bits)[0] |= 4194304u;
1018 (*has_bits)[2] |= 64u;
1021 (*has_bits)[2] |= 1024u;
1024 (*has_bits)[2] |= 4096u;
1027 (*has_bits)[2] |= 2048u;
1030 (*has_bits)[2] |= 33554432u;
1033 (*has_bits)[2] |= 67108864u;
1036 (*has_bits)[2] |= 1048576u;
1039 (*has_bits)[4] |= 256u;
1042 (*has_bits)[2] |= 134217728u;
1045 (*has_bits)[0] |= 8388608u;
1048 (*has_bits)[1] |= 16384u;
1051 (*has_bits)[3] |= 16u;
1054 (*has_bits)[2] |= 268435456u;
1057 (*has_bits)[0] |= 16777216u;
1060 (*has_bits)[3] |= 2048u;
1063 (*has_bits)[3] |= 4096u;
1066 (*has_bits)[3] |= 8192u;
1069 (*has_bits)[0] |= 65536u;
1072 (*has_bits)[4] |= 1024u;
1075 (*has_bits)[4] |= 2048u;
1078 (*has_bits)[4] |= 512u;
1081 (*has_bits)[3] |= 16384u;
1084 (*has_bits)[2] |= 2097152u;
1087 (*has_bits)[2] |= 4194304u;
1090 (*has_bits)[2] |= 8388608u;
1093 (*has_bits)[0] |= 8u;
1096 (*has_bits)[0] |= 131072u;
1099 (*has_bits)[2] |= 512u;
1102 (*has_bits)[2] |= 16777216u;
1105 (*has_bits)[0] |= 262144u;
1108 (*has_bits)[0] |= 524288u;
1111 (*has_bits)[3] |= 65536u;
1114 (*has_bits)[2] |= 536870912u;
1117 (*has_bits)[3] |= 8u;
1120 (*has_bits)[2] |= 1073741824u;
1123 (*has_bits)[1] |= 2u;
1126 (*has_bits)[1] |= 4u;
1129 (*has_bits)[3] |= 131072u;
1132 (*has_bits)[3] |= 262144u;
1135 (*has_bits)[3] |= 524288u;
1138 (*has_bits)[4] |= 8u;
1141 (*has_bits)[4] |= 4096u;
1144 (*has_bits)[4] |= 16u;
1147 (*has_bits)[3] |= 1024u;
1150 (*has_bits)[4] |= 32u;
1153 (*has_bits)[3] |= 512u;
1156 (*has_bits)[4] |= 32768u;
1159 (*has_bits)[3] |= 32768u;
1162 (*has_bits)[4] |= 16384u;
1165 (*has_bits)[4] |= 131072u;
1168 (*has_bits)[4] |= 65536u;
1171 (*has_bits)[3] |= 2097152u;
1174 (*has_bits)[0] |= 32768u;
1177 (*has_bits)[4] |= 8192u;
1180 (*has_bits)[1] |= 8u;
1183 (*has_bits)[4] |= 64u;
1186 (*has_bits)[3] |= 32u;
1189 (*has_bits)[1] |= 16u;
1192 (*has_bits)[0] |= 33554432u;
1195 (*has_bits)[3] |= 64u;
1198 (*has_bits)[1] |= 8192u;
1201 (*has_bits)[3] |= 1048576u;
1204 (*has_bits)[0] |= 67108864u;
1207 (*has_bits)[3] |= 2u;
1210 (*has_bits)[0] |= 134217728u;
1213 (*has_bits)[0] |= 268435456u;
1216 (*has_bits)[1] |= 512u;
1219 (*has_bits)[3] |= 128u;
1222 (*has_bits)[3] |= 256u;
1225 (*has_bits)[1] |= 1024u;
1228 (*has_bits)[1] |= 2048u;
1231 (*has_bits)[3] |= 4u;
1234 (*has_bits)[1] |= 4096u;
1237 (*has_bits)[4] |= 128u;
1240 (*has_bits)[0] |= 536870912u;
1243 (*has_bits)[3] |= 2147483648u;
1246 (*has_bits)[4] |= 1u;
1249 (*has_bits)[0] |= 1073741824u;
1252 (*has_bits)[0] |= 2147483648u;
1255 (*has_bits)[4] |= 2u;
1258 (*has_bits)[4] |= 4u;
1261 (*has_bits)[4] |= 262144u;
1264 (*has_bits)[1] |= 1u;
1267 (*has_bits)[1] |= 32u;
1270 (*has_bits)[1] |= 64u;
1273 (*has_bits)[0] |= 1048576u;
1276 (*has_bits)[3] |= 4194304u;
1279 (*has_bits)[3] |= 8388608u;
1282 (*has_bits)[1] |= 128u;
1285 (*has_bits)[1] |= 256u;
1288 (*has_bits)[3] |= 16777216u;
1291 (*has_bits)[3] |= 33554432u;
1294 (*has_bits)[3] |= 67108864u;
1297 (*has_bits)[3] |= 134217728u;
1300 (*has_bits)[4] |= 524288u;
1303 (*has_bits)[3] |= 268435456u;
1306 (*has_bits)[3] |= 1073741824u;
1309 (*has_bits)[3] |= 536870912u;
1313 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string> SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_;
1314 SatParameters::SatParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1315 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1316 restart_algorithms_(arena) {
1318 RegisterArenaDtor(arena);
1321 SatParameters::SatParameters(
const SatParameters& from)
1322 : ::PROTOBUF_NAMESPACE_ID::Message(),
1323 _has_bits_(from._has_bits_),
1324 restart_algorithms_(from.restart_algorithms_) {
1325 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1326 default_restart_algorithms_.UnsafeSetDefault(&::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get());
1327 if (from._internal_has_default_restart_algorithms()) {
1328 default_restart_algorithms_.Set(&::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get(), from._internal_default_restart_algorithms(),
1331 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1332 if (from._internal_has_name()) {
1333 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_name(),
1336 ::memcpy(&preferred_variable_order_, &from.preferred_variable_order_,
1337 static_cast<size_t>(
reinterpret_cast<char*
>(&mip_automatically_scale_variables_) -
1338 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(mip_automatically_scale_variables_));
1342 void SatParameters::SharedCtor() {
1344 default_restart_algorithms_.UnsafeSetDefault(&::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get());
1345 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1346 ::memset(&preferred_variable_order_, 0,
static_cast<size_t>(
1347 reinterpret_cast<char*
>(&relative_gap_limit_) -
1348 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(relative_gap_limit_));
1349 polarity_rephase_increment_ = 1000;
1350 initial_polarity_ = 1;
1351 minimization_algorithm_ = 2;
1352 clause_cleanup_period_ = 10000;
1353 clause_cleanup_target_ = 10000;
1354 variable_activity_decay_ = 0.8;
1355 max_variable_activity_value_ = 1e+100;
1356 clause_activity_decay_ = 0.999;
1357 max_clause_activity_value_ = 1e+20;
1358 glucose_max_decay_ = 0.95;
1359 glucose_decay_increment_ = 0.01;
1360 glucose_decay_increment_period_ = 5000;
1361 restart_period_ = 50;
1363 binary_minimization_algorithm_ = 1;
1364 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1365 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1366 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1367 use_phase_saving_ =
true;
1368 subsumption_during_conflict_analysis_ =
true;
1369 treat_binary_clauses_separately_ =
true;
1370 count_assumption_levels_in_lbd_ =
true;
1371 pb_cleanup_increment_ = 200;
1372 pb_cleanup_ratio_ = 0.5;
1373 max_sat_stratification_ = 1;
1374 presolve_bve_threshold_ = 500;
1375 presolve_probing_deterministic_time_limit_ = 30;
1376 presolve_bve_clause_weight_ = 3;
1377 clause_cleanup_lbd_bound_ = 5;
1378 restart_dl_average_ratio_ = 1;
1379 restart_running_window_size_ = 50;
1380 blocking_restart_window_size_ = 5000;
1381 blocking_restart_multiplier_ = 1.4;
1382 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1383 restart_lbd_average_ratio_ = 1;
1384 presolve_bva_threshold_ = 1;
1385 minimize_core_ =
true;
1386 find_multiple_cores_ =
true;
1387 cover_optimization_ =
true;
1388 use_precedences_in_disjunctive_constraint_ =
true;
1389 presolve_blocked_clause_ =
true;
1390 presolve_use_bva_ =
true;
1391 cp_model_presolve_ =
true;
1392 cp_model_use_sat_presolve_ =
true;
1393 linearization_level_ = 1;
1394 max_num_cuts_ = 10000;
1395 minimize_with_propagation_restart_period_ = 10;
1396 minimize_with_propagation_num_decisions_ = 1000;
1397 binary_search_num_conflicts_ = -1;
1398 num_search_workers_ = 1;
1399 boolean_encoding_level_ = 1;
1400 cp_model_probing_level_ = 2;
1401 exploit_all_lp_solution_ =
true;
1402 exploit_objective_ =
true;
1403 instantiate_all_variables_ =
true;
1404 auto_detect_greater_than_at_least_one_of_ =
true;
1405 min_orthogonality_for_lp_constraints_ = 0.05;
1406 max_integer_rounding_scaling_ = 600;
1407 expand_element_constraints_ =
true;
1408 expand_automaton_constraints_ =
true;
1409 expand_table_constraints_ =
true;
1410 use_optimization_hints_ =
true;
1411 max_consecutive_inactive_count_ = 100;
1412 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1413 add_cg_cuts_ =
true;
1414 add_mir_cuts_ =
true;
1415 add_zero_half_cuts_ =
true;
1416 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1417 new_constraints_batch_size_ = 50;
1418 use_optional_variables_ =
true;
1419 use_exact_lp_reason_ =
true;
1420 catch_sigint_signal_ =
true;
1421 use_implied_bounds_ =
true;
1422 mip_max_bound_ = 10000000;
1423 mip_var_scaling_ = 1;
1424 mip_wanted_precision_ = 1e-06;
1425 mip_check_precision_ = 0.001;
1426 mip_max_activity_exponent_ = 53;
1427 share_objective_bounds_ =
true;
1428 share_level_zero_bounds_ =
true;
1429 use_rins_lns_ =
true;
1430 use_feasibility_pump_ =
true;
1431 add_clique_cuts_ =
true;
1432 add_lin_max_cuts_ =
true;
1433 add_lp_constraints_lazily_ =
true;
1434 exploit_integer_lp_solution_ =
true;
1435 interleave_batch_size_ = 1;
1436 max_presolve_iterations_ = 3;
1437 presolve_substitution_level_ = 1;
1438 merge_no_overlap_work_limit_ = 1000000000000;
1439 merge_at_most_one_work_limit_ = 100000000;
1440 max_all_diff_cut_size_ = 7;
1441 hint_conflict_limit_ = 10;
1442 cut_max_active_count_value_ = 10000000000;
1443 max_cut_rounds_at_level_zero_ = 1;
1444 cut_cleanup_target_ = 1000;
1445 cut_active_count_decay_ = 0.8;
1447 mip_automatically_scale_variables_ =
true;
1450 SatParameters::~SatParameters() {
1453 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1456 void SatParameters::SharedDtor() {
1457 GOOGLE_DCHECK(GetArena() ==
nullptr);
1458 default_restart_algorithms_.DestroyNoArena(&::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get());
1459 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1462 void SatParameters::ArenaDtor(
void*
object) {
1463 SatParameters* _this =
reinterpret_cast< SatParameters*
>(object);
1466 void SatParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1468 void SatParameters::SetCachedSize(
int size)
const {
1469 _cached_size_.Set(size);
1471 const SatParameters& SatParameters::default_instance() {
1473 return *internal_default_instance();
1477 void SatParameters::Clear() {
1481 (void) cached_has_bits;
1483 restart_algorithms_.Clear();
1484 cached_has_bits = _has_bits_[0];
1485 if (cached_has_bits & 0x00000003u) {
1486 if (cached_has_bits & 0x00000001u) {
1487 default_restart_algorithms_.ClearToDefault(&::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get(), GetArena());
1489 if (cached_has_bits & 0x00000002u) {
1490 name_.ClearNonDefaultToEmpty();
1493 if (cached_has_bits & 0x000000fcu) {
1494 ::memset(&preferred_variable_order_, 0,
static_cast<size_t>(
1495 reinterpret_cast<char*
>(&clause_cleanup_ordering_) -
1496 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(clause_cleanup_ordering_));
1498 if (cached_has_bits & 0x0000ff00u) {
1499 ::memset(&use_erwa_heuristic_, 0,
static_cast<size_t>(
1500 reinterpret_cast<char*
>(&search_branching_) -
1501 reinterpret_cast<char*
>(&use_erwa_heuristic_)) +
sizeof(search_branching_));
1503 if (cached_has_bits & 0x00ff0000u) {
1504 ::memset(&expand_alldiff_constraints_, 0,
static_cast<size_t>(
1505 reinterpret_cast<char*
>(&cp_model_postsolve_with_full_solver_) -
1506 reinterpret_cast<char*
>(&expand_alldiff_constraints_)) +
sizeof(cp_model_postsolve_with_full_solver_));
1508 if (cached_has_bits & 0xff000000u) {
1509 ::memset(&use_sat_inprocessing_, 0,
static_cast<size_t>(
1510 reinterpret_cast<char*
>(&lns_focus_on_decision_variables_) -
1511 reinterpret_cast<char*
>(&use_sat_inprocessing_)) +
sizeof(lns_focus_on_decision_variables_));
1513 cached_has_bits = _has_bits_[1];
1514 if (cached_has_bits & 0x000000ffu) {
1515 ::memset(&use_relaxation_lns_, 0,
static_cast<size_t>(
1516 reinterpret_cast<char*
>(&use_branching_in_lp_) -
1517 reinterpret_cast<char*
>(&use_relaxation_lns_)) +
sizeof(use_branching_in_lp_));
1519 if (cached_has_bits & 0x0000ff00u) {
1520 ::memset(&use_combined_no_overlap_, 0,
static_cast<size_t>(
1521 reinterpret_cast<char*
>(&absolute_gap_limit_) -
1522 reinterpret_cast<char*
>(&use_combined_no_overlap_)) +
sizeof(absolute_gap_limit_));
1524 if (cached_has_bits & 0x00ff0000u) {
1525 relative_gap_limit_ = 0;
1526 polarity_rephase_increment_ = 1000;
1527 initial_polarity_ = 1;
1528 minimization_algorithm_ = 2;
1529 clause_cleanup_period_ = 10000;
1530 clause_cleanup_target_ = 10000;
1531 variable_activity_decay_ = 0.8;
1532 max_variable_activity_value_ = 1e+100;
1534 if (cached_has_bits & 0xff000000u) {
1535 clause_activity_decay_ = 0.999;
1536 max_clause_activity_value_ = 1e+20;
1537 glucose_max_decay_ = 0.95;
1538 glucose_decay_increment_ = 0.01;
1539 glucose_decay_increment_period_ = 5000;
1540 restart_period_ = 50;
1542 binary_minimization_algorithm_ = 1;
1544 cached_has_bits = _has_bits_[2];
1545 if (cached_has_bits & 0x000000ffu) {
1546 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1547 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1548 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1549 use_phase_saving_ =
true;
1550 subsumption_during_conflict_analysis_ =
true;
1551 treat_binary_clauses_separately_ =
true;
1552 count_assumption_levels_in_lbd_ =
true;
1553 pb_cleanup_increment_ = 200;
1555 if (cached_has_bits & 0x0000ff00u) {
1556 pb_cleanup_ratio_ = 0.5;
1557 max_sat_stratification_ = 1;
1558 presolve_bve_threshold_ = 500;
1559 presolve_probing_deterministic_time_limit_ = 30;
1560 presolve_bve_clause_weight_ = 3;
1561 clause_cleanup_lbd_bound_ = 5;
1562 restart_dl_average_ratio_ = 1;
1563 restart_running_window_size_ = 50;
1565 if (cached_has_bits & 0x00ff0000u) {
1566 blocking_restart_window_size_ = 5000;
1567 blocking_restart_multiplier_ = 1.4;
1568 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1569 restart_lbd_average_ratio_ = 1;
1570 presolve_bva_threshold_ = 1;
1571 minimize_core_ =
true;
1572 find_multiple_cores_ =
true;
1573 cover_optimization_ =
true;
1575 if (cached_has_bits & 0xff000000u) {
1576 use_precedences_in_disjunctive_constraint_ =
true;
1577 presolve_blocked_clause_ =
true;
1578 presolve_use_bva_ =
true;
1579 cp_model_presolve_ =
true;
1580 cp_model_use_sat_presolve_ =
true;
1581 linearization_level_ = 1;
1582 max_num_cuts_ = 10000;
1583 minimize_with_propagation_restart_period_ = 10;
1585 cached_has_bits = _has_bits_[3];
1586 if (cached_has_bits & 0x000000ffu) {
1587 minimize_with_propagation_num_decisions_ = 1000;
1588 binary_search_num_conflicts_ = -1;
1589 num_search_workers_ = 1;
1590 boolean_encoding_level_ = 1;
1591 cp_model_probing_level_ = 2;
1592 exploit_all_lp_solution_ =
true;
1593 exploit_objective_ =
true;
1594 instantiate_all_variables_ =
true;
1596 if (cached_has_bits & 0x0000ff00u) {
1597 auto_detect_greater_than_at_least_one_of_ =
true;
1598 min_orthogonality_for_lp_constraints_ = 0.05;
1599 max_integer_rounding_scaling_ = 600;
1600 expand_element_constraints_ =
true;
1601 expand_automaton_constraints_ =
true;
1602 expand_table_constraints_ =
true;
1603 use_optimization_hints_ =
true;
1604 max_consecutive_inactive_count_ = 100;
1606 if (cached_has_bits & 0x00ff0000u) {
1607 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1608 add_cg_cuts_ =
true;
1609 add_mir_cuts_ =
true;
1610 add_zero_half_cuts_ =
true;
1611 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1612 new_constraints_batch_size_ = 50;
1613 use_optional_variables_ =
true;
1614 use_exact_lp_reason_ =
true;
1616 if (cached_has_bits & 0xff000000u) {
1617 catch_sigint_signal_ =
true;
1618 use_implied_bounds_ =
true;
1619 mip_max_bound_ = 10000000;
1620 mip_var_scaling_ = 1;
1621 mip_wanted_precision_ = 1e-06;
1622 mip_check_precision_ = 0.001;
1623 mip_max_activity_exponent_ = 53;
1624 share_objective_bounds_ =
true;
1626 cached_has_bits = _has_bits_[4];
1627 if (cached_has_bits & 0x000000ffu) {
1628 share_level_zero_bounds_ =
true;
1629 use_rins_lns_ =
true;
1630 use_feasibility_pump_ =
true;
1631 add_clique_cuts_ =
true;
1632 add_lin_max_cuts_ =
true;
1633 add_lp_constraints_lazily_ =
true;
1634 exploit_integer_lp_solution_ =
true;
1635 interleave_batch_size_ = 1;
1637 if (cached_has_bits & 0x0000ff00u) {
1638 max_presolve_iterations_ = 3;
1639 presolve_substitution_level_ = 1;
1640 merge_no_overlap_work_limit_ = 1000000000000;
1641 merge_at_most_one_work_limit_ = 100000000;
1642 max_all_diff_cut_size_ = 7;
1643 hint_conflict_limit_ = 10;
1644 cut_max_active_count_value_ = 10000000000;
1645 max_cut_rounds_at_level_zero_ = 1;
1647 if (cached_has_bits & 0x000f0000u) {
1648 cut_cleanup_target_ = 1000;
1649 cut_active_count_decay_ = 0.8;
1651 mip_automatically_scale_variables_ =
true;
1654 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1657 const char* SatParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1658 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1659 ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
1660 while (!ctx->Done(&ptr)) {
1662 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1673 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
1675 }
else goto handle_unusual;
1685 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
1687 }
else goto handle_unusual;
1697 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
1699 }
else goto handle_unusual;
1705 clause_cleanup_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1707 }
else goto handle_unusual;
1713 clause_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1715 }
else goto handle_unusual;
1721 variable_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1722 ptr +=
sizeof(double);
1723 }
else goto handle_unusual;
1729 max_variable_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1730 ptr +=
sizeof(double);
1731 }
else goto handle_unusual;
1737 clause_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1738 ptr +=
sizeof(double);
1739 }
else goto handle_unusual;
1745 max_clause_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1746 ptr +=
sizeof(double);
1747 }
else goto handle_unusual;
1753 glucose_max_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1754 ptr +=
sizeof(double);
1755 }
else goto handle_unusual;
1761 glucose_decay_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1762 ptr +=
sizeof(double);
1763 }
else goto handle_unusual;
1769 glucose_decay_increment_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1771 }
else goto handle_unusual;
1777 restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1779 }
else goto handle_unusual;
1785 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1787 }
else goto handle_unusual;
1793 random_branches_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1794 ptr +=
sizeof(double);
1795 }
else goto handle_unusual;
1801 treat_binary_clauses_separately_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1803 }
else goto handle_unusual;
1813 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(34, val, mutable_unknown_fields());
1815 }
else goto handle_unusual;
1821 use_optimization_hints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1823 }
else goto handle_unusual;
1829 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1830 ptr +=
sizeof(double);
1831 }
else goto handle_unusual;
1837 max_number_of_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1839 }
else goto handle_unusual;
1845 max_memory_in_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1847 }
else goto handle_unusual;
1853 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1855 }
else goto handle_unusual;
1861 use_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1863 }
else goto handle_unusual;
1869 use_phase_saving_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1871 }
else goto handle_unusual;
1877 random_polarity_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1878 ptr +=
sizeof(double);
1879 }
else goto handle_unusual;
1885 pb_cleanup_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1887 }
else goto handle_unusual;
1893 pb_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1894 ptr +=
sizeof(double);
1895 }
else goto handle_unusual;
1901 minimize_reduction_during_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1903 }
else goto handle_unusual;
1909 count_assumption_levels_in_lbd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1911 }
else goto handle_unusual;
1917 minimize_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1919 }
else goto handle_unusual;
1929 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(51, val, mutable_unknown_fields());
1931 }
else goto handle_unusual;
1937 max_sat_reverse_assumption_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1939 }
else goto handle_unusual;
1949 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(53, val, mutable_unknown_fields());
1951 }
else goto handle_unusual;
1957 presolve_bve_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1959 }
else goto handle_unusual;
1965 presolve_bve_clause_weight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1967 }
else goto handle_unusual;
1973 subsumption_during_conflict_analysis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1975 }
else goto handle_unusual;
1981 presolve_probing_deterministic_time_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1982 ptr +=
sizeof(double);
1983 }
else goto handle_unusual;
1993 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(58, val, mutable_unknown_fields());
1995 }
else goto handle_unusual;
2001 clause_cleanup_lbd_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2003 }
else goto handle_unusual;
2013 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(60, val, mutable_unknown_fields());
2015 }
else goto handle_unusual;
2028 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(61, val, mutable_unknown_fields());
2030 if (!ctx->DataAvailable(ptr))
break;
2031 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<488>(ptr));
2035 }
else goto handle_unusual;
2041 restart_running_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2043 }
else goto handle_unusual;
2049 restart_dl_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2050 ptr +=
sizeof(double);
2051 }
else goto handle_unusual;
2057 use_blocking_restart_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2059 }
else goto handle_unusual;
2065 blocking_restart_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2067 }
else goto handle_unusual;
2073 blocking_restart_multiplier_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2074 ptr +=
sizeof(double);
2075 }
else goto handle_unusual;
2081 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2082 ptr +=
sizeof(double);
2083 }
else goto handle_unusual;
2089 num_conflicts_before_strategy_changes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2091 }
else goto handle_unusual;
2097 strategy_change_increase_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2098 ptr +=
sizeof(double);
2099 }
else goto handle_unusual;
2104 auto str = _internal_mutable_default_restart_algorithms();
2105 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2107 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.default_restart_algorithms");
2110 }
else goto handle_unusual;
2116 restart_lbd_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2117 ptr +=
sizeof(double);
2118 }
else goto handle_unusual;
2124 presolve_use_bva_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2126 }
else goto handle_unusual;
2132 presolve_bva_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2134 }
else goto handle_unusual;
2140 use_precedences_in_disjunctive_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2142 }
else goto handle_unusual;
2148 use_erwa_heuristic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2150 }
else goto handle_unusual;
2156 initial_variables_activity_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2157 ptr +=
sizeof(double);
2158 }
else goto handle_unusual;
2164 also_bump_variables_in_conflict_reasons_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2166 }
else goto handle_unusual;
2172 use_overload_checker_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2174 }
else goto handle_unusual;
2180 use_timetable_edge_finding_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2182 }
else goto handle_unusual;
2188 use_disjunctive_constraint_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2190 }
else goto handle_unusual;
2200 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(82, val, mutable_unknown_fields());
2202 }
else goto handle_unusual;
2208 optimize_with_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2210 }
else goto handle_unusual;
2216 find_multiple_cores_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2218 }
else goto handle_unusual;
2224 optimize_with_max_hs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2226 }
else goto handle_unusual;
2232 cp_model_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2234 }
else goto handle_unusual;
2240 enumerate_all_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2242 }
else goto handle_unusual;
2248 presolve_blocked_clause_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2250 }
else goto handle_unusual;
2256 cover_optimization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2258 }
else goto handle_unusual;
2264 linearization_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2266 }
else goto handle_unusual;
2272 max_num_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2274 }
else goto handle_unusual;
2280 only_add_cuts_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2282 }
else goto handle_unusual;
2288 cp_model_use_sat_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2290 }
else goto handle_unusual;
2296 exploit_integer_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2298 }
else goto handle_unusual;
2304 auto_detect_greater_than_at_least_one_of_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2306 }
else goto handle_unusual;
2312 minimize_with_propagation_restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2314 }
else goto handle_unusual;
2320 minimize_with_propagation_num_decisions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2322 }
else goto handle_unusual;
2328 stop_after_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2330 }
else goto handle_unusual;
2336 binary_search_num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2338 }
else goto handle_unusual;
2344 num_search_workers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2346 }
else goto handle_unusual;
2352 use_lns_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2354 }
else goto handle_unusual;
2360 randomize_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2362 }
else goto handle_unusual;
2368 search_randomization_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2370 }
else goto handle_unusual;
2376 lns_focus_on_decision_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2378 }
else goto handle_unusual;
2384 instantiate_all_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2386 }
else goto handle_unusual;
2392 boolean_encoding_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2394 }
else goto handle_unusual;
2400 use_optional_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2402 }
else goto handle_unusual;
2408 use_exact_lp_reason_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2410 }
else goto handle_unusual;
2416 cp_model_probing_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2418 }
else goto handle_unusual;
2424 add_knapsack_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2426 }
else goto handle_unusual;
2432 add_lp_constraints_lazily_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2434 }
else goto handle_unusual;
2440 share_objective_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2442 }
else goto handle_unusual;
2448 share_level_zero_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2450 }
else goto handle_unusual;
2456 min_orthogonality_for_lp_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2457 ptr +=
sizeof(double);
2458 }
else goto handle_unusual;
2464 exploit_all_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2466 }
else goto handle_unusual;
2472 add_cg_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2474 }
else goto handle_unusual;
2480 max_integer_rounding_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2482 }
else goto handle_unusual;
2488 add_mir_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2490 }
else goto handle_unusual;
2496 max_consecutive_inactive_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2498 }
else goto handle_unusual;
2504 new_constraints_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2506 }
else goto handle_unusual;
2512 pseudo_cost_reliability_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2514 }
else goto handle_unusual;
2520 mip_max_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2521 ptr +=
sizeof(double);
2522 }
else goto handle_unusual;
2528 mip_var_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2529 ptr +=
sizeof(double);
2530 }
else goto handle_unusual;
2536 mip_wanted_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2537 ptr +=
sizeof(double);
2538 }
else goto handle_unusual;
2544 mip_max_activity_exponent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2546 }
else goto handle_unusual;
2552 mip_check_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2553 ptr +=
sizeof(double);
2554 }
else goto handle_unusual;
2560 use_rins_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2562 }
else goto handle_unusual;
2568 exploit_best_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2570 }
else goto handle_unusual;
2576 exploit_objective_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2578 }
else goto handle_unusual;
2584 fill_tightened_domains_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2586 }
else goto handle_unusual;
2592 use_combined_no_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2594 }
else goto handle_unusual;
2600 interleave_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2602 }
else goto handle_unusual;
2608 catch_sigint_signal_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2610 }
else goto handle_unusual;
2616 interleave_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2618 }
else goto handle_unusual;
2624 diversify_lns_params_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2626 }
else goto handle_unusual;
2632 max_presolve_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2634 }
else goto handle_unusual;
2640 use_branching_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2642 }
else goto handle_unusual;
2648 expand_element_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2650 }
else goto handle_unusual;
2656 reduce_memory_usage_in_interleave_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2658 }
else goto handle_unusual;
2664 probing_period_at_root_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2666 }
else goto handle_unusual;
2672 expand_automaton_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2674 }
else goto handle_unusual;
2680 use_implied_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2682 }
else goto handle_unusual;
2688 merge_no_overlap_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2689 ptr +=
sizeof(double);
2690 }
else goto handle_unusual;
2696 merge_at_most_one_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2697 ptr +=
sizeof(double);
2698 }
else goto handle_unusual;
2704 presolve_substitution_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2706 }
else goto handle_unusual;
2712 max_all_diff_cut_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2714 }
else goto handle_unusual;
2720 stop_after_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2722 }
else goto handle_unusual;
2728 use_relaxation_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2730 }
else goto handle_unusual;
2736 cp_model_max_num_presolve_operations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2738 }
else goto handle_unusual;
2744 add_lin_max_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2746 }
else goto handle_unusual;
2752 hint_conflict_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2754 }
else goto handle_unusual;
2760 max_cut_rounds_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2762 }
else goto handle_unusual;
2768 cut_max_active_count_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2769 ptr +=
sizeof(double);
2770 }
else goto handle_unusual;
2776 cut_active_count_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2777 ptr +=
sizeof(double);
2778 }
else goto handle_unusual;
2784 cut_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2786 }
else goto handle_unusual;
2792 expand_table_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2794 }
else goto handle_unusual;
2800 absolute_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2801 ptr +=
sizeof(double);
2802 }
else goto handle_unusual;
2808 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2809 ptr +=
sizeof(double);
2810 }
else goto handle_unusual;
2816 exploit_relaxation_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2818 }
else goto handle_unusual;
2824 cp_model_postsolve_with_full_solver_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2826 }
else goto handle_unusual;
2832 use_sat_inprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2834 }
else goto handle_unusual;
2840 use_feasibility_pump_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2842 }
else goto handle_unusual;
2852 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(165, val, mutable_unknown_fields());
2854 }
else goto handle_unusual;
2860 mip_automatically_scale_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2862 }
else goto handle_unusual;
2868 repair_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2870 }
else goto handle_unusual;
2876 polarity_rephase_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2878 }
else goto handle_unusual;
2884 add_zero_half_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2886 }
else goto handle_unusual;
2892 expand_alldiff_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2894 }
else goto handle_unusual;
2899 auto str = _internal_mutable_name();
2900 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2902 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.name");
2905 }
else goto handle_unusual;
2911 add_clique_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2913 }
else goto handle_unusual;
2917 if ((tag & 7) == 4 || tag == 0) {
2918 ctx->SetLastTag(tag);
2921 ptr = UnknownFieldParse(tag,
2922 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2924 CHK_(ptr !=
nullptr);
2941 (void) cached_has_bits;
2943 cached_has_bits = _has_bits_[0];
2945 if (cached_has_bits & 0x00000004u) {
2946 target = stream->EnsureSpace(target);
2947 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2948 1, this->_internal_preferred_variable_order(), target);
2951 cached_has_bits = _has_bits_[1];
2953 if (cached_has_bits & 0x00040000u) {
2954 target = stream->EnsureSpace(target);
2955 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2956 2, this->_internal_initial_polarity(), target);
2960 if (cached_has_bits & 0x00080000u) {
2961 target = stream->EnsureSpace(target);
2962 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2963 4, this->_internal_minimization_algorithm(), target);
2967 if (cached_has_bits & 0x00100000u) {
2968 target = stream->EnsureSpace(target);
2969 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_clause_cleanup_period(), target);
2973 if (cached_has_bits & 0x00200000u) {
2974 target = stream->EnsureSpace(target);
2975 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_clause_cleanup_target(), target);
2979 if (cached_has_bits & 0x00400000u) {
2980 target = stream->EnsureSpace(target);
2981 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_variable_activity_decay(), target);
2985 if (cached_has_bits & 0x00800000u) {
2986 target = stream->EnsureSpace(target);
2987 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_max_variable_activity_value(), target);
2991 if (cached_has_bits & 0x01000000u) {
2992 target = stream->EnsureSpace(target);
2993 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_clause_activity_decay(), target);
2997 if (cached_has_bits & 0x02000000u) {
2998 target = stream->EnsureSpace(target);
2999 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_max_clause_activity_value(), target);
3003 if (cached_has_bits & 0x04000000u) {
3004 target = stream->EnsureSpace(target);
3005 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_glucose_max_decay(), target);
3009 if (cached_has_bits & 0x08000000u) {
3010 target = stream->EnsureSpace(target);
3011 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_glucose_decay_increment(), target);
3015 if (cached_has_bits & 0x10000000u) {
3016 target = stream->EnsureSpace(target);
3017 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_glucose_decay_increment_period(), target);
3021 if (cached_has_bits & 0x20000000u) {
3022 target = stream->EnsureSpace(target);
3023 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_restart_period(), target);
3027 if (cached_has_bits & 0x40000000u) {
3028 target = stream->EnsureSpace(target);
3029 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_random_seed(), target);
3032 cached_has_bits = _has_bits_[0];
3034 if (cached_has_bits & 0x00000010u) {
3035 target = stream->EnsureSpace(target);
3036 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(32, this->_internal_random_branches_ratio(), target);
3039 cached_has_bits = _has_bits_[2];
3041 if (cached_has_bits & 0x00000020u) {
3042 target = stream->EnsureSpace(target);
3043 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_treat_binary_clauses_separately(), target);
3046 cached_has_bits = _has_bits_[1];
3048 if (cached_has_bits & 0x80000000u) {
3049 target = stream->EnsureSpace(target);
3050 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3051 34, this->_internal_binary_minimization_algorithm(), target);
3054 cached_has_bits = _has_bits_[3];
3056 if (cached_has_bits & 0x00004000u) {
3057 target = stream->EnsureSpace(target);
3058 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_optimization_hints(), target);
3061 cached_has_bits = _has_bits_[2];
3063 if (cached_has_bits & 0x00000001u) {
3064 target = stream->EnsureSpace(target);
3065 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_max_time_in_seconds(), target);
3069 if (cached_has_bits & 0x00000002u) {
3070 target = stream->EnsureSpace(target);
3071 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(37, this->_internal_max_number_of_conflicts(), target);
3075 if (cached_has_bits & 0x00000004u) {
3076 target = stream->EnsureSpace(target);
3077 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(40, this->_internal_max_memory_in_mb(), target);
3080 cached_has_bits = _has_bits_[0];
3082 if (cached_has_bits & 0x00000800u) {
3083 target = stream->EnsureSpace(target);
3084 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_log_search_progress(), target);
3088 if (cached_has_bits & 0x00200000u) {
3089 target = stream->EnsureSpace(target);
3090 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(43, this->_internal_use_pb_resolution(), target);
3093 cached_has_bits = _has_bits_[2];
3095 if (cached_has_bits & 0x00000008u) {
3096 target = stream->EnsureSpace(target);
3097 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(44, this->_internal_use_phase_saving(), target);
3100 cached_has_bits = _has_bits_[0];
3102 if (cached_has_bits & 0x00000020u) {
3103 target = stream->EnsureSpace(target);
3104 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_random_polarity_ratio(), target);
3107 cached_has_bits = _has_bits_[2];
3109 if (cached_has_bits & 0x00000080u) {
3110 target = stream->EnsureSpace(target);
3111 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_pb_cleanup_increment(), target);
3115 if (cached_has_bits & 0x00000100u) {
3116 target = stream->EnsureSpace(target);
3117 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(47, this->_internal_pb_cleanup_ratio(), target);
3120 cached_has_bits = _has_bits_[0];
3122 if (cached_has_bits & 0x00400000u) {
3123 target = stream->EnsureSpace(target);
3124 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_minimize_reduction_during_pb_resolution(), target);
3127 cached_has_bits = _has_bits_[2];
3129 if (cached_has_bits & 0x00000040u) {
3130 target = stream->EnsureSpace(target);
3131 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(49, this->_internal_count_assumption_levels_in_lbd(), target);
3135 if (cached_has_bits & 0x00200000u) {
3136 target = stream->EnsureSpace(target);
3137 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(50, this->_internal_minimize_core(), target);
3140 cached_has_bits = _has_bits_[0];
3142 if (cached_has_bits & 0x00000008u) {
3143 target = stream->EnsureSpace(target);
3144 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3145 51, this->_internal_max_sat_assumption_order(), target);
3149 if (cached_has_bits & 0x00020000u) {
3150 target = stream->EnsureSpace(target);
3151 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(52, this->_internal_max_sat_reverse_assumption_order(), target);
3154 cached_has_bits = _has_bits_[2];
3156 if (cached_has_bits & 0x00000200u) {
3157 target = stream->EnsureSpace(target);
3158 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3159 53, this->_internal_max_sat_stratification(), target);
3163 if (cached_has_bits & 0x00000400u) {
3164 target = stream->EnsureSpace(target);
3165 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(54, this->_internal_presolve_bve_threshold(), target);
3169 if (cached_has_bits & 0x00001000u) {
3170 target = stream->EnsureSpace(target);
3171 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_presolve_bve_clause_weight(), target);
3175 if (cached_has_bits & 0x00000010u) {
3176 target = stream->EnsureSpace(target);
3177 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(56, this->_internal_subsumption_during_conflict_analysis(), target);
3181 if (cached_has_bits & 0x00000800u) {
3182 target = stream->EnsureSpace(target);
3183 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(57, this->_internal_presolve_probing_deterministic_time_limit(), target);
3186 cached_has_bits = _has_bits_[0];
3188 if (cached_has_bits & 0x00000040u) {
3189 target = stream->EnsureSpace(target);
3190 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3191 58, this->_internal_clause_cleanup_protection(), target);
3194 cached_has_bits = _has_bits_[2];
3196 if (cached_has_bits & 0x00002000u) {
3197 target = stream->EnsureSpace(target);
3198 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(59, this->_internal_clause_cleanup_lbd_bound(), target);
3201 cached_has_bits = _has_bits_[0];
3203 if (cached_has_bits & 0x00000080u) {
3204 target = stream->EnsureSpace(target);
3205 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3206 60, this->_internal_clause_cleanup_ordering(), target);
3210 for (
int i = 0, n = this->_internal_restart_algorithms_size(); i < n; i++) {
3211 target = stream->EnsureSpace(target);
3212 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3213 61, this->_internal_restart_algorithms(i), target);
3216 cached_has_bits = _has_bits_[2];
3218 if (cached_has_bits & 0x00008000u) {
3219 target = stream->EnsureSpace(target);
3220 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(62, this->_internal_restart_running_window_size(), target);
3224 if (cached_has_bits & 0x00004000u) {
3225 target = stream->EnsureSpace(target);
3226 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(63, this->_internal_restart_dl_average_ratio(), target);
3229 cached_has_bits = _has_bits_[0];
3231 if (cached_has_bits & 0x00000400u) {
3232 target = stream->EnsureSpace(target);
3233 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(64, this->_internal_use_blocking_restart(), target);
3236 cached_has_bits = _has_bits_[2];
3238 if (cached_has_bits & 0x00010000u) {
3239 target = stream->EnsureSpace(target);
3240 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(65, this->_internal_blocking_restart_window_size(), target);
3244 if (cached_has_bits & 0x00020000u) {
3245 target = stream->EnsureSpace(target);
3246 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(66, this->_internal_blocking_restart_multiplier(), target);
3250 if (cached_has_bits & 0x00040000u) {
3251 target = stream->EnsureSpace(target);
3252 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(67, this->_internal_max_deterministic_time(), target);
3255 cached_has_bits = _has_bits_[0];
3257 if (cached_has_bits & 0x00001000u) {
3258 target = stream->EnsureSpace(target);
3259 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(68, this->_internal_num_conflicts_before_strategy_changes(), target);
3263 if (cached_has_bits & 0x00002000u) {
3264 target = stream->EnsureSpace(target);
3265 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(69, this->_internal_strategy_change_increase_ratio(), target);
3269 if (cached_has_bits & 0x00000001u) {
3270 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3271 this->_internal_default_restart_algorithms().data(),
static_cast<int>(this->_internal_default_restart_algorithms().length()),
3272 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3273 "operations_research.sat.SatParameters.default_restart_algorithms");
3274 target = stream->WriteStringMaybeAliased(
3275 70, this->_internal_default_restart_algorithms(), target);
3278 cached_has_bits = _has_bits_[2];
3280 if (cached_has_bits & 0x00080000u) {
3281 target = stream->EnsureSpace(target);
3282 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(71, this->_internal_restart_lbd_average_ratio(), target);
3286 if (cached_has_bits & 0x04000000u) {
3287 target = stream->EnsureSpace(target);
3288 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(72, this->_internal_presolve_use_bva(), target);
3292 if (cached_has_bits & 0x00100000u) {
3293 target = stream->EnsureSpace(target);
3294 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(73, this->_internal_presolve_bva_threshold(), target);
3298 if (cached_has_bits & 0x01000000u) {
3299 target = stream->EnsureSpace(target);
3300 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(74, this->_internal_use_precedences_in_disjunctive_constraint(), target);
3303 cached_has_bits = _has_bits_[0];
3305 if (cached_has_bits & 0x00000100u) {
3306 target = stream->EnsureSpace(target);
3307 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(75, this->_internal_use_erwa_heuristic(), target);
3311 if (cached_has_bits & 0x00004000u) {
3312 target = stream->EnsureSpace(target);
3313 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_initial_variables_activity(), target);
3317 if (cached_has_bits & 0x00000200u) {
3318 target = stream->EnsureSpace(target);
3319 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_also_bump_variables_in_conflict_reasons(), target);
3323 if (cached_has_bits & 0x00040000u) {
3324 target = stream->EnsureSpace(target);
3325 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(78, this->_internal_use_overload_checker_in_cumulative_constraint(), target);
3329 if (cached_has_bits & 0x00080000u) {
3330 target = stream->EnsureSpace(target);
3331 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(79, this->_internal_use_timetable_edge_finding_in_cumulative_constraint(), target);
3334 cached_has_bits = _has_bits_[3];
3336 if (cached_has_bits & 0x00010000u) {
3337 target = stream->EnsureSpace(target);
3338 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(80, this->_internal_use_disjunctive_constraint_in_cumulative_constraint(), target);
3341 cached_has_bits = _has_bits_[0];
3343 if (cached_has_bits & 0x00008000u) {
3344 target = stream->EnsureSpace(target);
3345 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3346 82, this->_internal_search_branching(), target);
3350 if (cached_has_bits & 0x04000000u) {
3351 target = stream->EnsureSpace(target);
3352 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_optimize_with_core(), target);
3355 cached_has_bits = _has_bits_[2];
3357 if (cached_has_bits & 0x00400000u) {
3358 target = stream->EnsureSpace(target);
3359 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(84, this->_internal_find_multiple_cores(), target);
3362 cached_has_bits = _has_bits_[0];
3364 if (cached_has_bits & 0x08000000u) {
3365 target = stream->EnsureSpace(target);
3366 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_optimize_with_max_hs(), target);
3369 cached_has_bits = _has_bits_[2];
3371 if (cached_has_bits & 0x08000000u) {
3372 target = stream->EnsureSpace(target);
3373 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_cp_model_presolve(), target);
3376 cached_has_bits = _has_bits_[0];
3378 if (cached_has_bits & 0x10000000u) {
3379 target = stream->EnsureSpace(target);
3380 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_enumerate_all_solutions(), target);
3383 cached_has_bits = _has_bits_[2];
3385 if (cached_has_bits & 0x02000000u) {
3386 target = stream->EnsureSpace(target);
3387 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(88, this->_internal_presolve_blocked_clause(), target);
3391 if (cached_has_bits & 0x00800000u) {
3392 target = stream->EnsureSpace(target);
3393 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(89, this->_internal_cover_optimization(), target);
3397 if (cached_has_bits & 0x20000000u) {
3398 target = stream->EnsureSpace(target);
3399 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(90, this->_internal_linearization_level(), target);
3403 if (cached_has_bits & 0x40000000u) {
3404 target = stream->EnsureSpace(target);
3405 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(91, this->_internal_max_num_cuts(), target);
3408 cached_has_bits = _has_bits_[1];
3410 if (cached_has_bits & 0x00000002u) {
3411 target = stream->EnsureSpace(target);
3412 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(92, this->_internal_only_add_cuts_at_level_zero(), target);
3415 cached_has_bits = _has_bits_[2];
3417 if (cached_has_bits & 0x10000000u) {
3418 target = stream->EnsureSpace(target);
3419 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(93, this->_internal_cp_model_use_sat_presolve(), target);
3422 cached_has_bits = _has_bits_[4];
3424 if (cached_has_bits & 0x00000040u) {
3425 target = stream->EnsureSpace(target);
3426 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(94, this->_internal_exploit_integer_lp_solution(), target);
3429 cached_has_bits = _has_bits_[3];
3431 if (cached_has_bits & 0x00000100u) {
3432 target = stream->EnsureSpace(target);
3433 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(95, this->_internal_auto_detect_greater_than_at_least_one_of(), target);
3436 cached_has_bits = _has_bits_[2];
3438 if (cached_has_bits & 0x80000000u) {
3439 target = stream->EnsureSpace(target);
3440 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(96, this->_internal_minimize_with_propagation_restart_period(), target);
3443 cached_has_bits = _has_bits_[3];
3445 if (cached_has_bits & 0x00000001u) {
3446 target = stream->EnsureSpace(target);
3447 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(97, this->_internal_minimize_with_propagation_num_decisions(), target);
3450 cached_has_bits = _has_bits_[1];
3452 if (cached_has_bits & 0x00000400u) {
3453 target = stream->EnsureSpace(target);
3454 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(98, this->_internal_stop_after_first_solution(), target);
3457 cached_has_bits = _has_bits_[3];
3459 if (cached_has_bits & 0x00000002u) {
3460 target = stream->EnsureSpace(target);
3461 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(99, this->_internal_binary_search_num_conflicts(), target);
3465 if (cached_has_bits & 0x00000004u) {
3466 target = stream->EnsureSpace(target);
3467 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(100, this->_internal_num_search_workers(), target);
3470 cached_has_bits = _has_bits_[0];
3472 if (cached_has_bits & 0x40000000u) {
3473 target = stream->EnsureSpace(target);
3474 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_use_lns_only(), target);
3477 cached_has_bits = _has_bits_[1];
3479 if (cached_has_bits & 0x00000040u) {
3480 target = stream->EnsureSpace(target);
3481 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(103, this->_internal_randomize_search(), target);
3484 cached_has_bits = _has_bits_[0];
3486 if (cached_has_bits & 0x00100000u) {
3487 target = stream->EnsureSpace(target);
3488 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(104, this->_internal_search_randomization_tolerance(), target);
3492 if (cached_has_bits & 0x80000000u) {
3493 target = stream->EnsureSpace(target);
3494 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(105, this->_internal_lns_focus_on_decision_variables(), target);
3497 cached_has_bits = _has_bits_[3];
3499 if (cached_has_bits & 0x00000080u) {
3500 target = stream->EnsureSpace(target);
3501 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(106, this->_internal_instantiate_all_variables(), target);
3505 if (cached_has_bits & 0x00000008u) {
3506 target = stream->EnsureSpace(target);
3507 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(107, this->_internal_boolean_encoding_level(), target);
3511 if (cached_has_bits & 0x00400000u) {
3512 target = stream->EnsureSpace(target);
3513 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(108, this->_internal_use_optional_variables(), target);
3517 if (cached_has_bits & 0x00800000u) {
3518 target = stream->EnsureSpace(target);
3519 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(109, this->_internal_use_exact_lp_reason(), target);
3523 if (cached_has_bits & 0x00000010u) {
3524 target = stream->EnsureSpace(target);
3525 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(110, this->_internal_cp_model_probing_level(), target);
3528 cached_has_bits = _has_bits_[1];
3530 if (cached_has_bits & 0x00000004u) {
3531 target = stream->EnsureSpace(target);
3532 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(111, this->_internal_add_knapsack_cuts(), target);
3535 cached_has_bits = _has_bits_[4];
3537 if (cached_has_bits & 0x00000020u) {
3538 target = stream->EnsureSpace(target);
3539 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_add_lp_constraints_lazily(), target);
3542 cached_has_bits = _has_bits_[3];
3544 if (cached_has_bits & 0x80000000u) {
3545 target = stream->EnsureSpace(target);
3546 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_share_objective_bounds(), target);
3549 cached_has_bits = _has_bits_[4];
3551 if (cached_has_bits & 0x00000001u) {
3552 target = stream->EnsureSpace(target);
3553 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(114, this->_internal_share_level_zero_bounds(), target);
3556 cached_has_bits = _has_bits_[3];
3558 if (cached_has_bits & 0x00000200u) {
3559 target = stream->EnsureSpace(target);
3560 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(115, this->_internal_min_orthogonality_for_lp_constraints(), target);
3564 if (cached_has_bits & 0x00000020u) {
3565 target = stream->EnsureSpace(target);
3566 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(116, this->_internal_exploit_all_lp_solution(), target);
3570 if (cached_has_bits & 0x00020000u) {
3571 target = stream->EnsureSpace(target);
3572 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_add_cg_cuts(), target);
3576 if (cached_has_bits & 0x00000400u) {
3577 target = stream->EnsureSpace(target);
3578 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(119, this->_internal_max_integer_rounding_scaling(), target);
3582 if (cached_has_bits & 0x00040000u) {
3583 target = stream->EnsureSpace(target);
3584 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_add_mir_cuts(), target);
3588 if (cached_has_bits & 0x00008000u) {
3589 target = stream->EnsureSpace(target);
3590 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(121, this->_internal_max_consecutive_inactive_count(), target);
3594 if (cached_has_bits & 0x00200000u) {
3595 target = stream->EnsureSpace(target);
3596 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_new_constraints_batch_size(), target);
3600 if (cached_has_bits & 0x00100000u) {
3601 target = stream->EnsureSpace(target);
3602 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(123, this->_internal_pseudo_cost_reliability_threshold(), target);
3606 if (cached_has_bits & 0x04000000u) {
3607 target = stream->EnsureSpace(target);
3608 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(124, this->_internal_mip_max_bound(), target);
3612 if (cached_has_bits & 0x08000000u) {
3613 target = stream->EnsureSpace(target);
3614 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(125, this->_internal_mip_var_scaling(), target);
3618 if (cached_has_bits & 0x10000000u) {
3619 target = stream->EnsureSpace(target);
3620 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(126, this->_internal_mip_wanted_precision(), target);
3624 if (cached_has_bits & 0x40000000u) {
3625 target = stream->EnsureSpace(target);
3626 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mip_max_activity_exponent(), target);
3630 if (cached_has_bits & 0x20000000u) {
3631 target = stream->EnsureSpace(target);
3632 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(128, this->_internal_mip_check_precision(), target);
3635 cached_has_bits = _has_bits_[4];
3637 if (cached_has_bits & 0x00000002u) {
3638 target = stream->EnsureSpace(target);
3639 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(129, this->_internal_use_rins_lns(), target);
3642 cached_has_bits = _has_bits_[1];
3644 if (cached_has_bits & 0x00000010u) {
3645 target = stream->EnsureSpace(target);
3646 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(130, this->_internal_exploit_best_solution(), target);
3649 cached_has_bits = _has_bits_[3];
3651 if (cached_has_bits & 0x00000040u) {
3652 target = stream->EnsureSpace(target);
3653 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(131, this->_internal_exploit_objective(), target);
3656 cached_has_bits = _has_bits_[1];
3658 if (cached_has_bits & 0x00000200u) {
3659 target = stream->EnsureSpace(target);
3660 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(132, this->_internal_fill_tightened_domains_in_response(), target);
3664 if (cached_has_bits & 0x00000100u) {
3665 target = stream->EnsureSpace(target);
3666 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_use_combined_no_overlap(), target);
3669 cached_has_bits = _has_bits_[4];
3671 if (cached_has_bits & 0x00000080u) {
3672 target = stream->EnsureSpace(target);
3673 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(134, this->_internal_interleave_batch_size(), target);
3676 cached_has_bits = _has_bits_[3];
3678 if (cached_has_bits & 0x01000000u) {
3679 target = stream->EnsureSpace(target);
3680 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_catch_sigint_signal(), target);
3683 cached_has_bits = _has_bits_[1];
3685 if (cached_has_bits & 0x00001000u) {
3686 target = stream->EnsureSpace(target);
3687 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(136, this->_internal_interleave_search(), target);
3691 if (cached_has_bits & 0x00000020u) {
3692 target = stream->EnsureSpace(target);
3693 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(137, this->_internal_diversify_lns_params(), target);
3696 cached_has_bits = _has_bits_[4];
3698 if (cached_has_bits & 0x00000100u) {
3699 target = stream->EnsureSpace(target);
3700 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(138, this->_internal_max_presolve_iterations(), target);
3703 cached_has_bits = _has_bits_[1];
3705 if (cached_has_bits & 0x00000080u) {
3706 target = stream->EnsureSpace(target);
3707 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(139, this->_internal_use_branching_in_lp(), target);
3710 cached_has_bits = _has_bits_[3];
3712 if (cached_has_bits & 0x00000800u) {
3713 target = stream->EnsureSpace(target);
3714 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(140, this->_internal_expand_element_constraints(), target);
3717 cached_has_bits = _has_bits_[0];
3719 if (cached_has_bits & 0x20000000u) {
3720 target = stream->EnsureSpace(target);
3721 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(141, this->_internal_reduce_memory_usage_in_interleave_mode(), target);
3724 cached_has_bits = _has_bits_[1];
3726 if (cached_has_bits & 0x00002000u) {
3727 target = stream->EnsureSpace(target);
3728 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(142, this->_internal_probing_period_at_root(), target);
3731 cached_has_bits = _has_bits_[3];
3733 if (cached_has_bits & 0x00001000u) {
3734 target = stream->EnsureSpace(target);
3735 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(143, this->_internal_expand_automaton_constraints(), target);
3739 if (cached_has_bits & 0x02000000u) {
3740 target = stream->EnsureSpace(target);
3741 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(144, this->_internal_use_implied_bounds(), target);
3744 cached_has_bits = _has_bits_[4];
3746 if (cached_has_bits & 0x00000400u) {
3747 target = stream->EnsureSpace(target);
3748 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(145, this->_internal_merge_no_overlap_work_limit(), target);
3752 if (cached_has_bits & 0x00000800u) {
3753 target = stream->EnsureSpace(target);
3754 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(146, this->_internal_merge_at_most_one_work_limit(), target);
3758 if (cached_has_bits & 0x00000200u) {
3759 target = stream->EnsureSpace(target);
3760 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(147, this->_internal_presolve_substitution_level(), target);
3764 if (cached_has_bits & 0x00001000u) {
3765 target = stream->EnsureSpace(target);
3766 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(148, this->_internal_max_all_diff_cut_size(), target);
3769 cached_has_bits = _has_bits_[1];
3771 if (cached_has_bits & 0x00000800u) {
3772 target = stream->EnsureSpace(target);
3773 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(149, this->_internal_stop_after_presolve(), target);
3777 if (cached_has_bits & 0x00000001u) {
3778 target = stream->EnsureSpace(target);
3779 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(150, this->_internal_use_relaxation_lns(), target);
3783 if (cached_has_bits & 0x00004000u) {
3784 target = stream->EnsureSpace(target);
3785 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(151, this->_internal_cp_model_max_num_presolve_operations(), target);
3788 cached_has_bits = _has_bits_[4];
3790 if (cached_has_bits & 0x00000010u) {
3791 target = stream->EnsureSpace(target);
3792 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(152, this->_internal_add_lin_max_cuts(), target);
3796 if (cached_has_bits & 0x00002000u) {
3797 target = stream->EnsureSpace(target);
3798 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(153, this->_internal_hint_conflict_limit(), target);
3802 if (cached_has_bits & 0x00008000u) {
3803 target = stream->EnsureSpace(target);
3804 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(154, this->_internal_max_cut_rounds_at_level_zero(), target);
3808 if (cached_has_bits & 0x00004000u) {
3809 target = stream->EnsureSpace(target);
3810 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(155, this->_internal_cut_max_active_count_value(), target);
3814 if (cached_has_bits & 0x00020000u) {
3815 target = stream->EnsureSpace(target);
3816 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(156, this->_internal_cut_active_count_decay(), target);
3820 if (cached_has_bits & 0x00010000u) {
3821 target = stream->EnsureSpace(target);
3822 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(157, this->_internal_cut_cleanup_target(), target);
3825 cached_has_bits = _has_bits_[3];
3827 if (cached_has_bits & 0x00002000u) {
3828 target = stream->EnsureSpace(target);
3829 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(158, this->_internal_expand_table_constraints(), target);
3832 cached_has_bits = _has_bits_[1];
3834 if (cached_has_bits & 0x00008000u) {
3835 target = stream->EnsureSpace(target);
3836 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(159, this->_internal_absolute_gap_limit(), target);
3840 if (cached_has_bits & 0x00010000u) {
3841 target = stream->EnsureSpace(target);
3842 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(160, this->_internal_relative_gap_limit(), target);
3845 cached_has_bits = _has_bits_[0];
3847 if (cached_has_bits & 0x02000000u) {
3848 target = stream->EnsureSpace(target);
3849 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(161, this->_internal_exploit_relaxation_solution(), target);
3853 if (cached_has_bits & 0x00800000u) {
3854 target = stream->EnsureSpace(target);
3855 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(162, this->_internal_cp_model_postsolve_with_full_solver(), target);
3859 if (cached_has_bits & 0x01000000u) {
3860 target = stream->EnsureSpace(target);
3861 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(163, this->_internal_use_sat_inprocessing(), target);
3864 cached_has_bits = _has_bits_[4];
3866 if (cached_has_bits & 0x00000004u) {
3867 target = stream->EnsureSpace(target);
3868 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(164, this->_internal_use_feasibility_pump(), target);
3872 if (cached_has_bits & 0x00040000u) {
3873 target = stream->EnsureSpace(target);
3874 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3875 165, this->_internal_fp_rounding(), target);
3879 if (cached_has_bits & 0x00080000u) {
3880 target = stream->EnsureSpace(target);
3881 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(166, this->_internal_mip_automatically_scale_variables(), target);
3884 cached_has_bits = _has_bits_[1];
3886 if (cached_has_bits & 0x00000008u) {
3887 target = stream->EnsureSpace(target);
3888 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(167, this->_internal_repair_hint(), target);
3892 if (cached_has_bits & 0x00020000u) {
3893 target = stream->EnsureSpace(target);
3894 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(168, this->_internal_polarity_rephase_increment(), target);
3897 cached_has_bits = _has_bits_[3];
3899 if (cached_has_bits & 0x00080000u) {
3900 target = stream->EnsureSpace(target);
3901 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(169, this->_internal_add_zero_half_cuts(), target);
3904 cached_has_bits = _has_bits_[0];
3906 if (cached_has_bits & 0x00010000u) {
3907 target = stream->EnsureSpace(target);
3908 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(170, this->_internal_expand_alldiff_constraints(), target);
3912 if (cached_has_bits & 0x00000002u) {
3913 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3914 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
3915 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3916 "operations_research.sat.SatParameters.name");
3917 target = stream->WriteStringMaybeAliased(
3918 171, this->_internal_name(), target);
3921 cached_has_bits = _has_bits_[4];
3923 if (cached_has_bits & 0x00000008u) {
3924 target = stream->EnsureSpace(target);
3925 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(172, this->_internal_add_clique_cuts(), target);
3928 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3929 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3930 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3936 size_t SatParameters::ByteSizeLong()
const {
3938 size_t total_size = 0;
3942 (void) cached_has_bits;
3946 size_t data_size = 0;
3947 unsigned int count =
static_cast<unsigned int>(this->_internal_restart_algorithms_size());
for (
unsigned int i = 0; i < count; i++) {
3948 data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
3949 this->_internal_restart_algorithms(
static_cast<int>(i)));
3951 total_size += (2UL * count) + data_size;
3954 cached_has_bits = _has_bits_[0];
3955 if (cached_has_bits & 0x000000ffu) {
3957 if (cached_has_bits & 0x00000001u) {
3959 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
3960 this->_internal_default_restart_algorithms());
3964 if (cached_has_bits & 0x00000002u) {
3966 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
3967 this->_internal_name());
3971 if (cached_has_bits & 0x00000004u) {
3973 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_preferred_variable_order());
3977 if (cached_has_bits & 0x00000008u) {
3979 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_assumption_order());
3983 if (cached_has_bits & 0x00000010u) {
3984 total_size += 2 + 8;
3988 if (cached_has_bits & 0x00000020u) {
3989 total_size += 2 + 8;
3993 if (cached_has_bits & 0x00000040u) {
3995 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_protection());
3999 if (cached_has_bits & 0x00000080u) {
4001 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_ordering());
4005 if (cached_has_bits & 0x0000ff00u) {
4007 if (cached_has_bits & 0x00000100u) {
4008 total_size += 2 + 1;
4012 if (cached_has_bits & 0x00000200u) {
4013 total_size += 2 + 1;
4017 if (cached_has_bits & 0x00000400u) {
4018 total_size += 2 + 1;
4022 if (cached_has_bits & 0x00000800u) {
4023 total_size += 2 + 1;
4027 if (cached_has_bits & 0x00001000u) {
4029 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4030 this->_internal_num_conflicts_before_strategy_changes());
4034 if (cached_has_bits & 0x00002000u) {
4035 total_size += 2 + 8;
4039 if (cached_has_bits & 0x00004000u) {
4040 total_size += 2 + 8;
4044 if (cached_has_bits & 0x00008000u) {
4046 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_search_branching());
4050 if (cached_has_bits & 0x00ff0000u) {
4052 if (cached_has_bits & 0x00010000u) {
4053 total_size += 2 + 1;
4057 if (cached_has_bits & 0x00020000u) {
4058 total_size += 2 + 1;
4062 if (cached_has_bits & 0x00040000u) {
4063 total_size += 2 + 1;
4067 if (cached_has_bits & 0x00080000u) {
4068 total_size += 2 + 1;
4072 if (cached_has_bits & 0x00100000u) {
4074 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4075 this->_internal_search_randomization_tolerance());
4079 if (cached_has_bits & 0x00200000u) {
4080 total_size += 2 + 1;
4084 if (cached_has_bits & 0x00400000u) {
4085 total_size += 2 + 1;
4089 if (cached_has_bits & 0x00800000u) {
4090 total_size += 2 + 1;
4094 if (cached_has_bits & 0xff000000u) {
4096 if (cached_has_bits & 0x01000000u) {
4097 total_size += 2 + 1;
4101 if (cached_has_bits & 0x02000000u) {
4102 total_size += 2 + 1;
4106 if (cached_has_bits & 0x04000000u) {
4107 total_size += 2 + 1;
4111 if (cached_has_bits & 0x08000000u) {
4112 total_size += 2 + 1;
4116 if (cached_has_bits & 0x10000000u) {
4117 total_size += 2 + 1;
4121 if (cached_has_bits & 0x20000000u) {
4122 total_size += 2 + 1;
4126 if (cached_has_bits & 0x40000000u) {
4127 total_size += 2 + 1;
4131 if (cached_has_bits & 0x80000000u) {
4132 total_size += 2 + 1;
4136 cached_has_bits = _has_bits_[1];
4137 if (cached_has_bits & 0x000000ffu) {
4139 if (cached_has_bits & 0x00000001u) {
4140 total_size += 2 + 1;
4144 if (cached_has_bits & 0x00000002u) {
4145 total_size += 2 + 1;
4149 if (cached_has_bits & 0x00000004u) {
4150 total_size += 2 + 1;
4154 if (cached_has_bits & 0x00000008u) {
4155 total_size += 2 + 1;
4159 if (cached_has_bits & 0x00000010u) {
4160 total_size += 2 + 1;
4164 if (cached_has_bits & 0x00000020u) {
4165 total_size += 2 + 1;
4169 if (cached_has_bits & 0x00000040u) {
4170 total_size += 2 + 1;
4174 if (cached_has_bits & 0x00000080u) {
4175 total_size += 2 + 1;
4179 if (cached_has_bits & 0x0000ff00u) {
4181 if (cached_has_bits & 0x00000100u) {
4182 total_size += 2 + 1;
4186 if (cached_has_bits & 0x00000200u) {
4187 total_size += 2 + 1;
4191 if (cached_has_bits & 0x00000400u) {
4192 total_size += 2 + 1;
4196 if (cached_has_bits & 0x00000800u) {
4197 total_size += 2 + 1;
4201 if (cached_has_bits & 0x00001000u) {
4202 total_size += 2 + 1;
4206 if (cached_has_bits & 0x00002000u) {
4208 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4209 this->_internal_probing_period_at_root());
4213 if (cached_has_bits & 0x00004000u) {
4215 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4216 this->_internal_cp_model_max_num_presolve_operations());
4220 if (cached_has_bits & 0x00008000u) {
4221 total_size += 2 + 8;
4225 if (cached_has_bits & 0x00ff0000u) {
4227 if (cached_has_bits & 0x00010000u) {
4228 total_size += 2 + 8;
4232 if (cached_has_bits & 0x00020000u) {
4234 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4235 this->_internal_polarity_rephase_increment());
4239 if (cached_has_bits & 0x00040000u) {
4241 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_polarity());
4245 if (cached_has_bits & 0x00080000u) {
4247 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_minimization_algorithm());
4251 if (cached_has_bits & 0x00100000u) {
4253 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4254 this->_internal_clause_cleanup_period());
4258 if (cached_has_bits & 0x00200000u) {
4260 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4261 this->_internal_clause_cleanup_target());
4265 if (cached_has_bits & 0x00400000u) {
4266 total_size += 1 + 8;
4270 if (cached_has_bits & 0x00800000u) {
4271 total_size += 2 + 8;
4275 if (cached_has_bits & 0xff000000u) {
4277 if (cached_has_bits & 0x01000000u) {
4278 total_size += 2 + 8;
4282 if (cached_has_bits & 0x02000000u) {
4283 total_size += 2 + 8;
4287 if (cached_has_bits & 0x04000000u) {
4288 total_size += 2 + 8;
4292 if (cached_has_bits & 0x08000000u) {
4293 total_size += 2 + 8;
4297 if (cached_has_bits & 0x10000000u) {
4299 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4300 this->_internal_glucose_decay_increment_period());
4304 if (cached_has_bits & 0x20000000u) {
4306 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4307 this->_internal_restart_period());
4311 if (cached_has_bits & 0x40000000u) {
4313 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4314 this->_internal_random_seed());
4318 if (cached_has_bits & 0x80000000u) {
4320 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_binary_minimization_algorithm());
4324 cached_has_bits = _has_bits_[2];
4325 if (cached_has_bits & 0x000000ffu) {
4327 if (cached_has_bits & 0x00000001u) {
4328 total_size += 2 + 8;
4332 if (cached_has_bits & 0x00000002u) {
4334 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4335 this->_internal_max_number_of_conflicts());
4339 if (cached_has_bits & 0x00000004u) {
4341 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4342 this->_internal_max_memory_in_mb());
4346 if (cached_has_bits & 0x00000008u) {
4347 total_size += 2 + 1;
4351 if (cached_has_bits & 0x00000010u) {
4352 total_size += 2 + 1;
4356 if (cached_has_bits & 0x00000020u) {
4357 total_size += 2 + 1;
4361 if (cached_has_bits & 0x00000040u) {
4362 total_size += 2 + 1;
4366 if (cached_has_bits & 0x00000080u) {
4368 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4369 this->_internal_pb_cleanup_increment());
4373 if (cached_has_bits & 0x0000ff00u) {
4375 if (cached_has_bits & 0x00000100u) {
4376 total_size += 2 + 8;
4380 if (cached_has_bits & 0x00000200u) {
4382 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_stratification());
4386 if (cached_has_bits & 0x00000400u) {
4388 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4389 this->_internal_presolve_bve_threshold());
4393 if (cached_has_bits & 0x00000800u) {
4394 total_size += 2 + 8;
4398 if (cached_has_bits & 0x00001000u) {
4400 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4401 this->_internal_presolve_bve_clause_weight());
4405 if (cached_has_bits & 0x00002000u) {
4407 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4408 this->_internal_clause_cleanup_lbd_bound());
4412 if (cached_has_bits & 0x00004000u) {
4413 total_size += 2 + 8;
4417 if (cached_has_bits & 0x00008000u) {
4419 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4420 this->_internal_restart_running_window_size());
4424 if (cached_has_bits & 0x00ff0000u) {
4426 if (cached_has_bits & 0x00010000u) {
4428 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4429 this->_internal_blocking_restart_window_size());
4433 if (cached_has_bits & 0x00020000u) {
4434 total_size += 2 + 8;
4438 if (cached_has_bits & 0x00040000u) {
4439 total_size += 2 + 8;
4443 if (cached_has_bits & 0x00080000u) {
4444 total_size += 2 + 8;
4448 if (cached_has_bits & 0x00100000u) {
4450 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4451 this->_internal_presolve_bva_threshold());
4455 if (cached_has_bits & 0x00200000u) {
4456 total_size += 2 + 1;
4460 if (cached_has_bits & 0x00400000u) {
4461 total_size += 2 + 1;
4465 if (cached_has_bits & 0x00800000u) {
4466 total_size += 2 + 1;
4470 if (cached_has_bits & 0xff000000u) {
4472 if (cached_has_bits & 0x01000000u) {
4473 total_size += 2 + 1;
4477 if (cached_has_bits & 0x02000000u) {
4478 total_size += 2 + 1;
4482 if (cached_has_bits & 0x04000000u) {
4483 total_size += 2 + 1;
4487 if (cached_has_bits & 0x08000000u) {
4488 total_size += 2 + 1;
4492 if (cached_has_bits & 0x10000000u) {
4493 total_size += 2 + 1;
4497 if (cached_has_bits & 0x20000000u) {
4499 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4500 this->_internal_linearization_level());
4504 if (cached_has_bits & 0x40000000u) {
4506 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4507 this->_internal_max_num_cuts());
4511 if (cached_has_bits & 0x80000000u) {
4513 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4514 this->_internal_minimize_with_propagation_restart_period());
4518 cached_has_bits = _has_bits_[3];
4519 if (cached_has_bits & 0x000000ffu) {
4521 if (cached_has_bits & 0x00000001u) {
4523 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4524 this->_internal_minimize_with_propagation_num_decisions());
4528 if (cached_has_bits & 0x00000002u) {
4530 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4531 this->_internal_binary_search_num_conflicts());
4535 if (cached_has_bits & 0x00000004u) {
4537 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4538 this->_internal_num_search_workers());
4542 if (cached_has_bits & 0x00000008u) {
4544 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4545 this->_internal_boolean_encoding_level());
4549 if (cached_has_bits & 0x00000010u) {
4551 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4552 this->_internal_cp_model_probing_level());
4556 if (cached_has_bits & 0x00000020u) {
4557 total_size += 2 + 1;
4561 if (cached_has_bits & 0x00000040u) {
4562 total_size += 2 + 1;
4566 if (cached_has_bits & 0x00000080u) {
4567 total_size += 2 + 1;
4571 if (cached_has_bits & 0x0000ff00u) {
4573 if (cached_has_bits & 0x00000100u) {
4574 total_size += 2 + 1;
4578 if (cached_has_bits & 0x00000200u) {
4579 total_size += 2 + 8;
4583 if (cached_has_bits & 0x00000400u) {
4585 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4586 this->_internal_max_integer_rounding_scaling());
4590 if (cached_has_bits & 0x00000800u) {
4591 total_size += 2 + 1;
4595 if (cached_has_bits & 0x00001000u) {
4596 total_size += 2 + 1;
4600 if (cached_has_bits & 0x00002000u) {
4601 total_size += 2 + 1;
4605 if (cached_has_bits & 0x00004000u) {
4606 total_size += 2 + 1;
4610 if (cached_has_bits & 0x00008000u) {
4612 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4613 this->_internal_max_consecutive_inactive_count());
4617 if (cached_has_bits & 0x00ff0000u) {
4619 if (cached_has_bits & 0x00010000u) {
4620 total_size += 2 + 1;
4624 if (cached_has_bits & 0x00020000u) {
4625 total_size += 2 + 1;
4629 if (cached_has_bits & 0x00040000u) {
4630 total_size += 2 + 1;
4634 if (cached_has_bits & 0x00080000u) {
4635 total_size += 2 + 1;
4639 if (cached_has_bits & 0x00100000u) {
4641 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4642 this->_internal_pseudo_cost_reliability_threshold());
4646 if (cached_has_bits & 0x00200000u) {
4648 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4649 this->_internal_new_constraints_batch_size());
4653 if (cached_has_bits & 0x00400000u) {
4654 total_size += 2 + 1;
4658 if (cached_has_bits & 0x00800000u) {
4659 total_size += 2 + 1;
4663 if (cached_has_bits & 0xff000000u) {
4665 if (cached_has_bits & 0x01000000u) {
4666 total_size += 2 + 1;
4670 if (cached_has_bits & 0x02000000u) {
4671 total_size += 2 + 1;
4675 if (cached_has_bits & 0x04000000u) {
4676 total_size += 2 + 8;
4680 if (cached_has_bits & 0x08000000u) {
4681 total_size += 2 + 8;
4685 if (cached_has_bits & 0x10000000u) {
4686 total_size += 2 + 8;
4690 if (cached_has_bits & 0x20000000u) {
4691 total_size += 2 + 8;
4695 if (cached_has_bits & 0x40000000u) {
4697 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4698 this->_internal_mip_max_activity_exponent());
4702 if (cached_has_bits & 0x80000000u) {
4703 total_size += 2 + 1;
4707 cached_has_bits = _has_bits_[4];
4708 if (cached_has_bits & 0x000000ffu) {
4710 if (cached_has_bits & 0x00000001u) {
4711 total_size += 2 + 1;
4715 if (cached_has_bits & 0x00000002u) {
4716 total_size += 2 + 1;
4720 if (cached_has_bits & 0x00000004u) {
4721 total_size += 2 + 1;
4725 if (cached_has_bits & 0x00000008u) {
4726 total_size += 2 + 1;
4730 if (cached_has_bits & 0x00000010u) {
4731 total_size += 2 + 1;
4735 if (cached_has_bits & 0x00000020u) {
4736 total_size += 2 + 1;
4740 if (cached_has_bits & 0x00000040u) {
4741 total_size += 2 + 1;
4745 if (cached_has_bits & 0x00000080u) {
4747 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4748 this->_internal_interleave_batch_size());
4752 if (cached_has_bits & 0x0000ff00u) {
4754 if (cached_has_bits & 0x00000100u) {
4756 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4757 this->_internal_max_presolve_iterations());
4761 if (cached_has_bits & 0x00000200u) {
4763 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4764 this->_internal_presolve_substitution_level());
4768 if (cached_has_bits & 0x00000400u) {
4769 total_size += 2 + 8;
4773 if (cached_has_bits & 0x00000800u) {
4774 total_size += 2 + 8;
4778 if (cached_has_bits & 0x00001000u) {
4780 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4781 this->_internal_max_all_diff_cut_size());
4785 if (cached_has_bits & 0x00002000u) {
4787 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4788 this->_internal_hint_conflict_limit());
4792 if (cached_has_bits & 0x00004000u) {
4793 total_size += 2 + 8;
4797 if (cached_has_bits & 0x00008000u) {
4799 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4800 this->_internal_max_cut_rounds_at_level_zero());
4804 if (cached_has_bits & 0x000f0000u) {
4806 if (cached_has_bits & 0x00010000u) {
4808 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4809 this->_internal_cut_cleanup_target());
4813 if (cached_has_bits & 0x00020000u) {
4814 total_size += 2 + 8;
4818 if (cached_has_bits & 0x00040000u) {
4820 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fp_rounding());
4824 if (cached_has_bits & 0x00080000u) {
4825 total_size += 2 + 1;
4829 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4830 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
4831 _internal_metadata_, total_size, &_cached_size_);
4833 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
4834 SetCachedSize(cached_size);
4838 void SatParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4840 GOOGLE_DCHECK_NE(&from,
this);
4841 const SatParameters* source =
4842 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SatParameters>(
4844 if (source ==
nullptr) {
4846 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
4853 void SatParameters::MergeFrom(
const SatParameters& from) {
4855 GOOGLE_DCHECK_NE(&from,
this);
4856 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4858 (void) cached_has_bits;
4860 restart_algorithms_.MergeFrom(from.restart_algorithms_);
4861 cached_has_bits = from._has_bits_[0];
4862 if (cached_has_bits & 0x000000ffu) {
4863 if (cached_has_bits & 0x00000001u) {
4864 _internal_set_default_restart_algorithms(from._internal_default_restart_algorithms());
4866 if (cached_has_bits & 0x00000002u) {
4867 _internal_set_name(from._internal_name());
4869 if (cached_has_bits & 0x00000004u) {
4870 preferred_variable_order_ = from.preferred_variable_order_;
4872 if (cached_has_bits & 0x00000008u) {
4873 max_sat_assumption_order_ = from.max_sat_assumption_order_;
4875 if (cached_has_bits & 0x00000010u) {
4876 random_branches_ratio_ = from.random_branches_ratio_;
4878 if (cached_has_bits & 0x00000020u) {
4879 random_polarity_ratio_ = from.random_polarity_ratio_;
4881 if (cached_has_bits & 0x00000040u) {
4882 clause_cleanup_protection_ = from.clause_cleanup_protection_;
4884 if (cached_has_bits & 0x00000080u) {
4885 clause_cleanup_ordering_ = from.clause_cleanup_ordering_;
4887 _has_bits_[0] |= cached_has_bits;
4889 if (cached_has_bits & 0x0000ff00u) {
4890 if (cached_has_bits & 0x00000100u) {
4891 use_erwa_heuristic_ = from.use_erwa_heuristic_;
4893 if (cached_has_bits & 0x00000200u) {
4894 also_bump_variables_in_conflict_reasons_ = from.also_bump_variables_in_conflict_reasons_;
4896 if (cached_has_bits & 0x00000400u) {
4897 use_blocking_restart_ = from.use_blocking_restart_;
4899 if (cached_has_bits & 0x00000800u) {
4900 log_search_progress_ = from.log_search_progress_;
4902 if (cached_has_bits & 0x00001000u) {
4903 num_conflicts_before_strategy_changes_ = from.num_conflicts_before_strategy_changes_;
4905 if (cached_has_bits & 0x00002000u) {
4906 strategy_change_increase_ratio_ = from.strategy_change_increase_ratio_;
4908 if (cached_has_bits & 0x00004000u) {
4909 initial_variables_activity_ = from.initial_variables_activity_;
4911 if (cached_has_bits & 0x00008000u) {
4912 search_branching_ = from.search_branching_;
4914 _has_bits_[0] |= cached_has_bits;
4916 if (cached_has_bits & 0x00ff0000u) {
4917 if (cached_has_bits & 0x00010000u) {
4918 expand_alldiff_constraints_ = from.expand_alldiff_constraints_;
4920 if (cached_has_bits & 0x00020000u) {
4921 max_sat_reverse_assumption_order_ = from.max_sat_reverse_assumption_order_;
4923 if (cached_has_bits & 0x00040000u) {
4924 use_overload_checker_in_cumulative_constraint_ = from.use_overload_checker_in_cumulative_constraint_;
4926 if (cached_has_bits & 0x00080000u) {
4927 use_timetable_edge_finding_in_cumulative_constraint_ = from.use_timetable_edge_finding_in_cumulative_constraint_;
4929 if (cached_has_bits & 0x00100000u) {
4930 search_randomization_tolerance_ = from.search_randomization_tolerance_;
4932 if (cached_has_bits & 0x00200000u) {
4933 use_pb_resolution_ = from.use_pb_resolution_;
4935 if (cached_has_bits & 0x00400000u) {
4936 minimize_reduction_during_pb_resolution_ = from.minimize_reduction_during_pb_resolution_;
4938 if (cached_has_bits & 0x00800000u) {
4939 cp_model_postsolve_with_full_solver_ = from.cp_model_postsolve_with_full_solver_;
4941 _has_bits_[0] |= cached_has_bits;
4943 if (cached_has_bits & 0xff000000u) {
4944 if (cached_has_bits & 0x01000000u) {
4945 use_sat_inprocessing_ = from.use_sat_inprocessing_;
4947 if (cached_has_bits & 0x02000000u) {
4948 exploit_relaxation_solution_ = from.exploit_relaxation_solution_;
4950 if (cached_has_bits & 0x04000000u) {
4951 optimize_with_core_ = from.optimize_with_core_;
4953 if (cached_has_bits & 0x08000000u) {
4954 optimize_with_max_hs_ = from.optimize_with_max_hs_;
4956 if (cached_has_bits & 0x10000000u) {
4957 enumerate_all_solutions_ = from.enumerate_all_solutions_;
4959 if (cached_has_bits & 0x20000000u) {
4960 reduce_memory_usage_in_interleave_mode_ = from.reduce_memory_usage_in_interleave_mode_;
4962 if (cached_has_bits & 0x40000000u) {
4963 use_lns_only_ = from.use_lns_only_;
4965 if (cached_has_bits & 0x80000000u) {
4966 lns_focus_on_decision_variables_ = from.lns_focus_on_decision_variables_;
4968 _has_bits_[0] |= cached_has_bits;
4970 cached_has_bits = from._has_bits_[1];
4971 if (cached_has_bits & 0x000000ffu) {
4972 if (cached_has_bits & 0x00000001u) {
4973 use_relaxation_lns_ = from.use_relaxation_lns_;
4975 if (cached_has_bits & 0x00000002u) {
4976 only_add_cuts_at_level_zero_ = from.only_add_cuts_at_level_zero_;
4978 if (cached_has_bits & 0x00000004u) {
4979 add_knapsack_cuts_ = from.add_knapsack_cuts_;
4981 if (cached_has_bits & 0x00000008u) {
4982 repair_hint_ = from.repair_hint_;
4984 if (cached_has_bits & 0x00000010u) {
4985 exploit_best_solution_ = from.exploit_best_solution_;
4987 if (cached_has_bits & 0x00000020u) {
4988 diversify_lns_params_ = from.diversify_lns_params_;
4990 if (cached_has_bits & 0x00000040u) {
4991 randomize_search_ = from.randomize_search_;
4993 if (cached_has_bits & 0x00000080u) {
4994 use_branching_in_lp_ = from.use_branching_in_lp_;
4996 _has_bits_[1] |= cached_has_bits;
4998 if (cached_has_bits & 0x0000ff00u) {
4999 if (cached_has_bits & 0x00000100u) {
5000 use_combined_no_overlap_ = from.use_combined_no_overlap_;
5002 if (cached_has_bits & 0x00000200u) {
5003 fill_tightened_domains_in_response_ = from.fill_tightened_domains_in_response_;
5005 if (cached_has_bits & 0x00000400u) {
5006 stop_after_first_solution_ = from.stop_after_first_solution_;
5008 if (cached_has_bits & 0x00000800u) {
5009 stop_after_presolve_ = from.stop_after_presolve_;
5011 if (cached_has_bits & 0x00001000u) {
5012 interleave_search_ = from.interleave_search_;
5014 if (cached_has_bits & 0x00002000u) {
5015 probing_period_at_root_ = from.probing_period_at_root_;
5017 if (cached_has_bits & 0x00004000u) {
5018 cp_model_max_num_presolve_operations_ = from.cp_model_max_num_presolve_operations_;
5020 if (cached_has_bits & 0x00008000u) {
5021 absolute_gap_limit_ = from.absolute_gap_limit_;
5023 _has_bits_[1] |= cached_has_bits;
5025 if (cached_has_bits & 0x00ff0000u) {
5026 if (cached_has_bits & 0x00010000u) {
5027 relative_gap_limit_ = from.relative_gap_limit_;
5029 if (cached_has_bits & 0x00020000u) {
5030 polarity_rephase_increment_ = from.polarity_rephase_increment_;
5032 if (cached_has_bits & 0x00040000u) {
5033 initial_polarity_ = from.initial_polarity_;
5035 if (cached_has_bits & 0x00080000u) {
5036 minimization_algorithm_ = from.minimization_algorithm_;
5038 if (cached_has_bits & 0x00100000u) {
5039 clause_cleanup_period_ = from.clause_cleanup_period_;
5041 if (cached_has_bits & 0x00200000u) {
5042 clause_cleanup_target_ = from.clause_cleanup_target_;
5044 if (cached_has_bits & 0x00400000u) {
5045 variable_activity_decay_ = from.variable_activity_decay_;
5047 if (cached_has_bits & 0x00800000u) {
5048 max_variable_activity_value_ = from.max_variable_activity_value_;
5050 _has_bits_[1] |= cached_has_bits;
5052 if (cached_has_bits & 0xff000000u) {
5053 if (cached_has_bits & 0x01000000u) {
5054 clause_activity_decay_ = from.clause_activity_decay_;
5056 if (cached_has_bits & 0x02000000u) {
5057 max_clause_activity_value_ = from.max_clause_activity_value_;
5059 if (cached_has_bits & 0x04000000u) {
5060 glucose_max_decay_ = from.glucose_max_decay_;
5062 if (cached_has_bits & 0x08000000u) {
5063 glucose_decay_increment_ = from.glucose_decay_increment_;
5065 if (cached_has_bits & 0x10000000u) {
5066 glucose_decay_increment_period_ = from.glucose_decay_increment_period_;
5068 if (cached_has_bits & 0x20000000u) {
5069 restart_period_ = from.restart_period_;
5071 if (cached_has_bits & 0x40000000u) {
5072 random_seed_ = from.random_seed_;
5074 if (cached_has_bits & 0x80000000u) {
5075 binary_minimization_algorithm_ = from.binary_minimization_algorithm_;
5077 _has_bits_[1] |= cached_has_bits;
5079 cached_has_bits = from._has_bits_[2];
5080 if (cached_has_bits & 0x000000ffu) {
5081 if (cached_has_bits & 0x00000001u) {
5082 max_time_in_seconds_ = from.max_time_in_seconds_;
5084 if (cached_has_bits & 0x00000002u) {
5085 max_number_of_conflicts_ = from.max_number_of_conflicts_;
5087 if (cached_has_bits & 0x00000004u) {
5088 max_memory_in_mb_ = from.max_memory_in_mb_;
5090 if (cached_has_bits & 0x00000008u) {
5091 use_phase_saving_ = from.use_phase_saving_;
5093 if (cached_has_bits & 0x00000010u) {
5094 subsumption_during_conflict_analysis_ = from.subsumption_during_conflict_analysis_;
5096 if (cached_has_bits & 0x00000020u) {
5097 treat_binary_clauses_separately_ = from.treat_binary_clauses_separately_;
5099 if (cached_has_bits & 0x00000040u) {
5100 count_assumption_levels_in_lbd_ = from.count_assumption_levels_in_lbd_;
5102 if (cached_has_bits & 0x00000080u) {
5103 pb_cleanup_increment_ = from.pb_cleanup_increment_;
5105 _has_bits_[2] |= cached_has_bits;
5107 if (cached_has_bits & 0x0000ff00u) {
5108 if (cached_has_bits & 0x00000100u) {
5109 pb_cleanup_ratio_ = from.pb_cleanup_ratio_;
5111 if (cached_has_bits & 0x00000200u) {
5112 max_sat_stratification_ = from.max_sat_stratification_;
5114 if (cached_has_bits & 0x00000400u) {
5115 presolve_bve_threshold_ = from.presolve_bve_threshold_;
5117 if (cached_has_bits & 0x00000800u) {
5118 presolve_probing_deterministic_time_limit_ = from.presolve_probing_deterministic_time_limit_;
5120 if (cached_has_bits & 0x00001000u) {
5121 presolve_bve_clause_weight_ = from.presolve_bve_clause_weight_;
5123 if (cached_has_bits & 0x00002000u) {
5124 clause_cleanup_lbd_bound_ = from.clause_cleanup_lbd_bound_;
5126 if (cached_has_bits & 0x00004000u) {
5127 restart_dl_average_ratio_ = from.restart_dl_average_ratio_;
5129 if (cached_has_bits & 0x00008000u) {
5130 restart_running_window_size_ = from.restart_running_window_size_;
5132 _has_bits_[2] |= cached_has_bits;
5134 if (cached_has_bits & 0x00ff0000u) {
5135 if (cached_has_bits & 0x00010000u) {
5136 blocking_restart_window_size_ = from.blocking_restart_window_size_;
5138 if (cached_has_bits & 0x00020000u) {
5139 blocking_restart_multiplier_ = from.blocking_restart_multiplier_;
5141 if (cached_has_bits & 0x00040000u) {
5142 max_deterministic_time_ = from.max_deterministic_time_;
5144 if (cached_has_bits & 0x00080000u) {
5145 restart_lbd_average_ratio_ = from.restart_lbd_average_ratio_;
5147 if (cached_has_bits & 0x00100000u) {
5148 presolve_bva_threshold_ = from.presolve_bva_threshold_;
5150 if (cached_has_bits & 0x00200000u) {
5151 minimize_core_ = from.minimize_core_;
5153 if (cached_has_bits & 0x00400000u) {
5154 find_multiple_cores_ = from.find_multiple_cores_;
5156 if (cached_has_bits & 0x00800000u) {
5157 cover_optimization_ = from.cover_optimization_;
5159 _has_bits_[2] |= cached_has_bits;
5161 if (cached_has_bits & 0xff000000u) {
5162 if (cached_has_bits & 0x01000000u) {
5163 use_precedences_in_disjunctive_constraint_ = from.use_precedences_in_disjunctive_constraint_;
5165 if (cached_has_bits & 0x02000000u) {
5166 presolve_blocked_clause_ = from.presolve_blocked_clause_;
5168 if (cached_has_bits & 0x04000000u) {
5169 presolve_use_bva_ = from.presolve_use_bva_;
5171 if (cached_has_bits & 0x08000000u) {
5172 cp_model_presolve_ = from.cp_model_presolve_;
5174 if (cached_has_bits & 0x10000000u) {
5175 cp_model_use_sat_presolve_ = from.cp_model_use_sat_presolve_;
5177 if (cached_has_bits & 0x20000000u) {
5178 linearization_level_ = from.linearization_level_;
5180 if (cached_has_bits & 0x40000000u) {
5181 max_num_cuts_ = from.max_num_cuts_;
5183 if (cached_has_bits & 0x80000000u) {
5184 minimize_with_propagation_restart_period_ = from.minimize_with_propagation_restart_period_;
5186 _has_bits_[2] |= cached_has_bits;
5188 cached_has_bits = from._has_bits_[3];
5189 if (cached_has_bits & 0x000000ffu) {
5190 if (cached_has_bits & 0x00000001u) {
5191 minimize_with_propagation_num_decisions_ = from.minimize_with_propagation_num_decisions_;
5193 if (cached_has_bits & 0x00000002u) {
5194 binary_search_num_conflicts_ = from.binary_search_num_conflicts_;
5196 if (cached_has_bits & 0x00000004u) {
5197 num_search_workers_ = from.num_search_workers_;
5199 if (cached_has_bits & 0x00000008u) {
5200 boolean_encoding_level_ = from.boolean_encoding_level_;
5202 if (cached_has_bits & 0x00000010u) {
5203 cp_model_probing_level_ = from.cp_model_probing_level_;
5205 if (cached_has_bits & 0x00000020u) {
5206 exploit_all_lp_solution_ = from.exploit_all_lp_solution_;
5208 if (cached_has_bits & 0x00000040u) {
5209 exploit_objective_ = from.exploit_objective_;
5211 if (cached_has_bits & 0x00000080u) {
5212 instantiate_all_variables_ = from.instantiate_all_variables_;
5214 _has_bits_[3] |= cached_has_bits;
5216 if (cached_has_bits & 0x0000ff00u) {
5217 if (cached_has_bits & 0x00000100u) {
5218 auto_detect_greater_than_at_least_one_of_ = from.auto_detect_greater_than_at_least_one_of_;
5220 if (cached_has_bits & 0x00000200u) {
5221 min_orthogonality_for_lp_constraints_ = from.min_orthogonality_for_lp_constraints_;
5223 if (cached_has_bits & 0x00000400u) {
5224 max_integer_rounding_scaling_ = from.max_integer_rounding_scaling_;
5226 if (cached_has_bits & 0x00000800u) {
5227 expand_element_constraints_ = from.expand_element_constraints_;
5229 if (cached_has_bits & 0x00001000u) {
5230 expand_automaton_constraints_ = from.expand_automaton_constraints_;
5232 if (cached_has_bits & 0x00002000u) {
5233 expand_table_constraints_ = from.expand_table_constraints_;
5235 if (cached_has_bits & 0x00004000u) {
5236 use_optimization_hints_ = from.use_optimization_hints_;
5238 if (cached_has_bits & 0x00008000u) {
5239 max_consecutive_inactive_count_ = from.max_consecutive_inactive_count_;
5241 _has_bits_[3] |= cached_has_bits;
5243 if (cached_has_bits & 0x00ff0000u) {
5244 if (cached_has_bits & 0x00010000u) {
5245 use_disjunctive_constraint_in_cumulative_constraint_ = from.use_disjunctive_constraint_in_cumulative_constraint_;
5247 if (cached_has_bits & 0x00020000u) {
5248 add_cg_cuts_ = from.add_cg_cuts_;
5250 if (cached_has_bits & 0x00040000u) {
5251 add_mir_cuts_ = from.add_mir_cuts_;
5253 if (cached_has_bits & 0x00080000u) {
5254 add_zero_half_cuts_ = from.add_zero_half_cuts_;
5256 if (cached_has_bits & 0x00100000u) {
5257 pseudo_cost_reliability_threshold_ = from.pseudo_cost_reliability_threshold_;
5259 if (cached_has_bits & 0x00200000u) {
5260 new_constraints_batch_size_ = from.new_constraints_batch_size_;
5262 if (cached_has_bits & 0x00400000u) {
5263 use_optional_variables_ = from.use_optional_variables_;
5265 if (cached_has_bits & 0x00800000u) {
5266 use_exact_lp_reason_ = from.use_exact_lp_reason_;
5268 _has_bits_[3] |= cached_has_bits;
5270 if (cached_has_bits & 0xff000000u) {
5271 if (cached_has_bits & 0x01000000u) {
5272 catch_sigint_signal_ = from.catch_sigint_signal_;
5274 if (cached_has_bits & 0x02000000u) {
5275 use_implied_bounds_ = from.use_implied_bounds_;
5277 if (cached_has_bits & 0x04000000u) {
5278 mip_max_bound_ = from.mip_max_bound_;
5280 if (cached_has_bits & 0x08000000u) {
5281 mip_var_scaling_ = from.mip_var_scaling_;
5283 if (cached_has_bits & 0x10000000u) {
5284 mip_wanted_precision_ = from.mip_wanted_precision_;
5286 if (cached_has_bits & 0x20000000u) {
5287 mip_check_precision_ = from.mip_check_precision_;
5289 if (cached_has_bits & 0x40000000u) {
5290 mip_max_activity_exponent_ = from.mip_max_activity_exponent_;
5292 if (cached_has_bits & 0x80000000u) {
5293 share_objective_bounds_ = from.share_objective_bounds_;
5295 _has_bits_[3] |= cached_has_bits;
5297 cached_has_bits = from._has_bits_[4];
5298 if (cached_has_bits & 0x000000ffu) {
5299 if (cached_has_bits & 0x00000001u) {
5300 share_level_zero_bounds_ = from.share_level_zero_bounds_;
5302 if (cached_has_bits & 0x00000002u) {
5303 use_rins_lns_ = from.use_rins_lns_;
5305 if (cached_has_bits & 0x00000004u) {
5306 use_feasibility_pump_ = from.use_feasibility_pump_;
5308 if (cached_has_bits & 0x00000008u) {
5309 add_clique_cuts_ = from.add_clique_cuts_;
5311 if (cached_has_bits & 0x00000010u) {
5312 add_lin_max_cuts_ = from.add_lin_max_cuts_;
5314 if (cached_has_bits & 0x00000020u) {
5315 add_lp_constraints_lazily_ = from.add_lp_constraints_lazily_;
5317 if (cached_has_bits & 0x00000040u) {
5318 exploit_integer_lp_solution_ = from.exploit_integer_lp_solution_;
5320 if (cached_has_bits & 0x00000080u) {
5321 interleave_batch_size_ = from.interleave_batch_size_;
5323 _has_bits_[4] |= cached_has_bits;
5325 if (cached_has_bits & 0x0000ff00u) {
5326 if (cached_has_bits & 0x00000100u) {
5327 max_presolve_iterations_ = from.max_presolve_iterations_;
5329 if (cached_has_bits & 0x00000200u) {
5330 presolve_substitution_level_ = from.presolve_substitution_level_;
5332 if (cached_has_bits & 0x00000400u) {
5333 merge_no_overlap_work_limit_ = from.merge_no_overlap_work_limit_;
5335 if (cached_has_bits & 0x00000800u) {
5336 merge_at_most_one_work_limit_ = from.merge_at_most_one_work_limit_;
5338 if (cached_has_bits & 0x00001000u) {
5339 max_all_diff_cut_size_ = from.max_all_diff_cut_size_;
5341 if (cached_has_bits & 0x00002000u) {
5342 hint_conflict_limit_ = from.hint_conflict_limit_;
5344 if (cached_has_bits & 0x00004000u) {
5345 cut_max_active_count_value_ = from.cut_max_active_count_value_;
5347 if (cached_has_bits & 0x00008000u) {
5348 max_cut_rounds_at_level_zero_ = from.max_cut_rounds_at_level_zero_;
5350 _has_bits_[4] |= cached_has_bits;
5352 if (cached_has_bits & 0x000f0000u) {
5353 if (cached_has_bits & 0x00010000u) {
5354 cut_cleanup_target_ = from.cut_cleanup_target_;
5356 if (cached_has_bits & 0x00020000u) {
5357 cut_active_count_decay_ = from.cut_active_count_decay_;
5359 if (cached_has_bits & 0x00040000u) {
5360 fp_rounding_ = from.fp_rounding_;
5362 if (cached_has_bits & 0x00080000u) {
5363 mip_automatically_scale_variables_ = from.mip_automatically_scale_variables_;
5365 _has_bits_[4] |= cached_has_bits;
5369 void SatParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5371 if (&from ==
this)
return;
5376 void SatParameters::CopyFrom(
const SatParameters& from) {
5378 if (&from ==
this)
return;
5383 bool SatParameters::IsInitialized()
const {
5387 void SatParameters::InternalSwap(SatParameters* other) {
5389 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5390 swap(_has_bits_[0], other->_has_bits_[0]);
5391 swap(_has_bits_[1], other->_has_bits_[1]);
5392 swap(_has_bits_[2], other->_has_bits_[2]);
5393 swap(_has_bits_[3], other->_has_bits_[3]);
5394 swap(_has_bits_[4], other->_has_bits_[4]);
5395 restart_algorithms_.InternalSwap(&other->restart_algorithms_);
5396 default_restart_algorithms_.Swap(&other->default_restart_algorithms_, &::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_.get(), GetArena());
5397 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5398 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
5399 PROTOBUF_FIELD_OFFSET(SatParameters, relative_gap_limit_)
5400 +
sizeof(SatParameters::relative_gap_limit_)
5401 - PROTOBUF_FIELD_OFFSET(SatParameters, preferred_variable_order_)>(
5402 reinterpret_cast<char*
>(&preferred_variable_order_),
5403 reinterpret_cast<char*
>(&other->preferred_variable_order_));
5404 swap(polarity_rephase_increment_, other->polarity_rephase_increment_);
5405 swap(initial_polarity_, other->initial_polarity_);
5406 swap(minimization_algorithm_, other->minimization_algorithm_);
5407 swap(clause_cleanup_period_, other->clause_cleanup_period_);
5408 swap(clause_cleanup_target_, other->clause_cleanup_target_);
5409 swap(variable_activity_decay_, other->variable_activity_decay_);
5410 swap(max_variable_activity_value_, other->max_variable_activity_value_);
5411 swap(clause_activity_decay_, other->clause_activity_decay_);
5412 swap(max_clause_activity_value_, other->max_clause_activity_value_);
5413 swap(glucose_max_decay_, other->glucose_max_decay_);
5414 swap(glucose_decay_increment_, other->glucose_decay_increment_);
5415 swap(glucose_decay_increment_period_, other->glucose_decay_increment_period_);
5416 swap(restart_period_, other->restart_period_);
5417 swap(random_seed_, other->random_seed_);
5418 swap(binary_minimization_algorithm_, other->binary_minimization_algorithm_);
5419 swap(max_time_in_seconds_, other->max_time_in_seconds_);
5420 swap(max_number_of_conflicts_, other->max_number_of_conflicts_);
5421 swap(max_memory_in_mb_, other->max_memory_in_mb_);
5422 swap(use_phase_saving_, other->use_phase_saving_);
5423 swap(subsumption_during_conflict_analysis_, other->subsumption_during_conflict_analysis_);
5424 swap(treat_binary_clauses_separately_, other->treat_binary_clauses_separately_);
5425 swap(count_assumption_levels_in_lbd_, other->count_assumption_levels_in_lbd_);
5426 swap(pb_cleanup_increment_, other->pb_cleanup_increment_);
5427 swap(pb_cleanup_ratio_, other->pb_cleanup_ratio_);
5428 swap(max_sat_stratification_, other->max_sat_stratification_);
5429 swap(presolve_bve_threshold_, other->presolve_bve_threshold_);
5430 swap(presolve_probing_deterministic_time_limit_, other->presolve_probing_deterministic_time_limit_);
5431 swap(presolve_bve_clause_weight_, other->presolve_bve_clause_weight_);
5432 swap(clause_cleanup_lbd_bound_, other->clause_cleanup_lbd_bound_);
5433 swap(restart_dl_average_ratio_, other->restart_dl_average_ratio_);
5434 swap(restart_running_window_size_, other->restart_running_window_size_);
5435 swap(blocking_restart_window_size_, other->blocking_restart_window_size_);
5436 swap(blocking_restart_multiplier_, other->blocking_restart_multiplier_);
5437 swap(max_deterministic_time_, other->max_deterministic_time_);
5438 swap(restart_lbd_average_ratio_, other->restart_lbd_average_ratio_);
5439 swap(presolve_bva_threshold_, other->presolve_bva_threshold_);
5440 swap(minimize_core_, other->minimize_core_);
5441 swap(find_multiple_cores_, other->find_multiple_cores_);
5442 swap(cover_optimization_, other->cover_optimization_);
5443 swap(use_precedences_in_disjunctive_constraint_, other->use_precedences_in_disjunctive_constraint_);
5444 swap(presolve_blocked_clause_, other->presolve_blocked_clause_);
5445 swap(presolve_use_bva_, other->presolve_use_bva_);
5446 swap(cp_model_presolve_, other->cp_model_presolve_);
5447 swap(cp_model_use_sat_presolve_, other->cp_model_use_sat_presolve_);
5448 swap(linearization_level_, other->linearization_level_);
5449 swap(max_num_cuts_, other->max_num_cuts_);
5450 swap(minimize_with_propagation_restart_period_, other->minimize_with_propagation_restart_period_);
5451 swap(minimize_with_propagation_num_decisions_, other->minimize_with_propagation_num_decisions_);
5452 swap(binary_search_num_conflicts_, other->binary_search_num_conflicts_);
5453 swap(num_search_workers_, other->num_search_workers_);
5454 swap(boolean_encoding_level_, other->boolean_encoding_level_);
5455 swap(cp_model_probing_level_, other->cp_model_probing_level_);
5456 swap(exploit_all_lp_solution_, other->exploit_all_lp_solution_);
5457 swap(exploit_objective_, other->exploit_objective_);
5458 swap(instantiate_all_variables_, other->instantiate_all_variables_);
5459 swap(auto_detect_greater_than_at_least_one_of_, other->auto_detect_greater_than_at_least_one_of_);
5460 swap(min_orthogonality_for_lp_constraints_, other->min_orthogonality_for_lp_constraints_);
5461 swap(max_integer_rounding_scaling_, other->max_integer_rounding_scaling_);
5462 swap(expand_element_constraints_, other->expand_element_constraints_);
5463 swap(expand_automaton_constraints_, other->expand_automaton_constraints_);
5464 swap(expand_table_constraints_, other->expand_table_constraints_);
5465 swap(use_optimization_hints_, other->use_optimization_hints_);
5466 swap(max_consecutive_inactive_count_, other->max_consecutive_inactive_count_);
5467 swap(use_disjunctive_constraint_in_cumulative_constraint_, other->use_disjunctive_constraint_in_cumulative_constraint_);
5468 swap(add_cg_cuts_, other->add_cg_cuts_);
5469 swap(add_mir_cuts_, other->add_mir_cuts_);
5470 swap(add_zero_half_cuts_, other->add_zero_half_cuts_);
5471 swap(pseudo_cost_reliability_threshold_, other->pseudo_cost_reliability_threshold_);
5472 swap(new_constraints_batch_size_, other->new_constraints_batch_size_);
5473 swap(use_optional_variables_, other->use_optional_variables_);
5474 swap(use_exact_lp_reason_, other->use_exact_lp_reason_);
5475 swap(catch_sigint_signal_, other->catch_sigint_signal_);
5476 swap(use_implied_bounds_, other->use_implied_bounds_);
5477 swap(mip_max_bound_, other->mip_max_bound_);
5478 swap(mip_var_scaling_, other->mip_var_scaling_);
5479 swap(mip_wanted_precision_, other->mip_wanted_precision_);
5480 swap(mip_check_precision_, other->mip_check_precision_);
5481 swap(mip_max_activity_exponent_, other->mip_max_activity_exponent_);
5482 swap(share_objective_bounds_, other->share_objective_bounds_);
5483 swap(share_level_zero_bounds_, other->share_level_zero_bounds_);
5484 swap(use_rins_lns_, other->use_rins_lns_);
5485 swap(use_feasibility_pump_, other->use_feasibility_pump_);
5486 swap(add_clique_cuts_, other->add_clique_cuts_);
5487 swap(add_lin_max_cuts_, other->add_lin_max_cuts_);
5488 swap(add_lp_constraints_lazily_, other->add_lp_constraints_lazily_);
5489 swap(exploit_integer_lp_solution_, other->exploit_integer_lp_solution_);
5490 swap(interleave_batch_size_, other->interleave_batch_size_);
5491 swap(max_presolve_iterations_, other->max_presolve_iterations_);
5492 swap(presolve_substitution_level_, other->presolve_substitution_level_);
5493 swap(merge_no_overlap_work_limit_, other->merge_no_overlap_work_limit_);
5494 swap(merge_at_most_one_work_limit_, other->merge_at_most_one_work_limit_);
5495 swap(max_all_diff_cut_size_, other->max_all_diff_cut_size_);
5496 swap(hint_conflict_limit_, other->hint_conflict_limit_);
5497 swap(cut_max_active_count_value_, other->cut_max_active_count_value_);
5498 swap(max_cut_rounds_at_level_zero_, other->max_cut_rounds_at_level_zero_);
5499 swap(cut_cleanup_target_, other->cut_cleanup_target_);
5500 swap(cut_active_count_decay_, other->cut_active_count_decay_);
5501 swap(fp_rounding_, other->fp_rounding_);
5502 swap(mip_automatically_scale_variables_, other->mip_automatically_scale_variables_);
5505 ::PROTOBUF_NAMESPACE_ID::Metadata SatParameters::GetMetadata()
const {
5506 return GetMetadataStatic();
5513 PROTOBUF_NAMESPACE_OPEN
5515 return Arena::CreateMessageInternal< ::operations_research::sat::SatParameters >(arena);
5517 PROTOBUF_NAMESPACE_CLOSE
5520 #include <google/protobuf/port_undef.inc>