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;
31 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
356 { 0, 158,
sizeof(::operations_research::sat::SatParameters)},
363 const char descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
364 "\n ortools/sat/sat_parameters.proto\022\027oper"
365 "ations_research.sat\"\316@\n\rSatParameters\022\017\n"
366 "\004name\030\253\001 \001(\t:\000\022`\n\030preferred_variable_ord"
367 "er\030\001 \001(\01624.operations_research.sat.SatPa"
368 "rameters.VariableOrder:\010IN_ORDER\022Y\n\020init"
369 "ial_polarity\030\002 \001(\0162/.operations_research"
370 ".sat.SatParameters.Polarity:\016POLARITY_FA"
371 "LSE\022\036\n\020use_phase_saving\030, \001(\010:\004true\022)\n\032p"
372 "olarity_rephase_increment\030\250\001 \001(\005:\0041000\022 "
373 "\n\025random_polarity_ratio\030- \001(\001:\0010\022 \n\025rand"
374 "om_branches_ratio\030 \001(\001:\0010\022!\n\022use_erwa_h"
375 "euristic\030K \001(\010:\005false\022%\n\032initial_variabl"
376 "es_activity\030L \001(\001:\0010\0226\n\'also_bump_variab"
377 "les_in_conflict_reasons\030M \001(\010:\005false\022o\n\026"
378 "minimization_algorithm\030\004 \001(\0162D.operation"
379 "s_research.sat.SatParameters.ConflictMin"
380 "imizationAlgorithm:\tRECURSIVE\022\202\001\n\035binary"
381 "_minimization_algorithm\030\" \001(\0162@.operatio"
382 "ns_research.sat.SatParameters.BinaryMini"
383 "zationAlgorithm:\031BINARY_MINIMIZATION_FIR"
384 "ST\0222\n$subsumption_during_conflict_analys"
385 "is\0308 \001(\010:\004true\022$\n\025clause_cleanup_period\030"
386 "\013 \001(\005:\00510000\022$\n\025clause_cleanup_target\030\r "
387 "\001(\005:\00510000\022k\n\031clause_cleanup_protection\030"
388 ": \001(\01627.operations_research.sat.SatParam"
389 "eters.ClauseProtection:\017PROTECTION_NONE\022"
390 "#\n\030clause_cleanup_lbd_bound\030; \001(\005:\0015\022g\n\027"
391 "clause_cleanup_ordering\030< \001(\01625.operatio"
392 "ns_research.sat.SatParameters.ClauseOrde"
393 "ring:\017CLAUSE_ACTIVITY\022!\n\024pb_cleanup_incr"
394 "ement\030. \001(\005:\003200\022\035\n\020pb_cleanup_ratio\030/ \001"
395 "(\001:\0030.5\0224\n(minimize_with_propagation_res"
396 "tart_period\030` \001(\005:\00210\0225\n\'minimize_with_p"
397 "ropagation_num_decisions\030a \001(\005:\0041000\022$\n\027"
398 "variable_activity_decay\030\017 \001(\001:\0030.8\022+\n\033ma"
399 "x_variable_activity_value\030\020 \001(\001:\0061e+100\022"
400 "\037\n\021glucose_max_decay\030\026 \001(\001:\0040.95\022%\n\027gluc"
401 "ose_decay_increment\030\027 \001(\001:\0040.01\022,\n\036gluco"
402 "se_decay_increment_period\030\030 \001(\005:\0045000\022$\n"
403 "\025clause_activity_decay\030\021 \001(\001:\0050.999\022(\n\031m"
404 "ax_clause_activity_value\030\022 \001(\001:\0051e+20\022S\n"
405 "\022restart_algorithms\030= \003(\01627.operations_r"
406 "esearch.sat.SatParameters.RestartAlgorit"
407 "hm\022e\n\032default_restart_algorithms\030F \001(\t:A"
408 "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,"
409 "DL_MOVING_AVERAGE_RESTART\022\032\n\016restart_per"
410 "iod\030\036 \001(\005:\00250\022\'\n\033restart_running_window_"
411 "size\030> \001(\005:\00250\022#\n\030restart_dl_average_rat"
412 "io\030\? \001(\001:\0011\022$\n\031restart_lbd_average_ratio"
413 "\030G \001(\001:\0011\022#\n\024use_blocking_restart\030@ \001(\010:"
414 "\005false\022*\n\034blocking_restart_window_size\030A"
415 " \001(\005:\0045000\022(\n\033blocking_restart_multiplie"
416 "r\030B \001(\001:\0031.4\0220\n%num_conflicts_before_str"
417 "ategy_changes\030D \001(\005:\0010\022)\n\036strategy_chang"
418 "e_increase_ratio\030E \001(\001:\0010\022 \n\023max_time_in"
419 "_seconds\030$ \001(\001:\003inf\022#\n\026max_deterministic"
420 "_time\030C \001(\001:\003inf\0224\n\027max_number_of_confli"
421 "cts\030% \001(\003:\0239223372036854775807\022\037\n\020max_me"
422 "mory_in_mb\030( \001(\003:\00510000\022\036\n\022absolute_gap_"
423 "limit\030\237\001 \001(\001:\0010\022\036\n\022relative_gap_limit\030\240\001"
424 " \001(\001:\0010\022-\n\037treat_binary_clauses_separate"
425 "ly\030! \001(\010:\004true\022\026\n\013random_seed\030\037 \001(\005:\0011\022\""
426 "\n\023log_search_progress\030) \001(\010:\005false\022 \n\021us"
427 "e_pb_resolution\030+ \001(\010:\005false\0226\n\'minimize"
428 "_reduction_during_pb_resolution\0300 \001(\010:\005f"
429 "alse\022,\n\036count_assumption_levels_in_lbd\0301"
430 " \001(\010:\004true\022#\n\026presolve_bve_threshold\0306 \001"
431 "(\005:\003500\022%\n\032presolve_bve_clause_weight\0307 "
432 "\001(\005:\0013\0225\n)presolve_probing_deterministic"
433 "_time_limit\0309 \001(\001:\00230\022%\n\027presolve_blocke"
434 "d_clause\030X \001(\010:\004true\022\036\n\020presolve_use_bva"
435 "\030H \001(\010:\004true\022!\n\026presolve_bva_threshold\030I"
436 " \001(\005:\0011\022#\n\027max_presolve_iterations\030\212\001 \001("
437 "\005:\0013\022\037\n\021cp_model_presolve\030V \001(\010:\004true\0223\n"
438 "#cp_model_postsolve_with_full_solver\030\242\001 "
439 "\001(\010:\005false\0220\n$cp_model_max_num_presolve_"
440 "operations\030\227\001 \001(\005:\0010\022!\n\026cp_model_probing"
441 "_level\030n \001(\005:\0012\022\'\n\031cp_model_use_sat_pres"
442 "olve\030] \001(\010:\004true\022$\n\024use_sat_inprocessing"
443 "\030\243\001 \001(\010:\005false\022)\n\032expand_element_constra"
444 "ints\030\214\001 \001(\010:\004true\022+\n\034expand_automaton_co"
445 "nstraints\030\217\001 \001(\010:\004true\022\'\n\030expand_table_c"
446 "onstraints\030\236\001 \001(\010:\004true\022*\n\032expand_alldif"
447 "f_constraints\030\252\001 \001(\010:\005false\0223\n\033merge_no_"
448 "overlap_work_limit\030\221\001 \001(\001:\r1000000000000"
449 "\0220\n\034merge_at_most_one_work_limit\030\222\001 \001(\001:"
450 "\t100000000\022\'\n\033presolve_substitution_leve"
451 "l\030\223\001 \001(\005:\0011\0224\n$presolve_extract_integer_"
452 "enforcement\030\256\001 \001(\010:\005false\022$\n\026use_optimiz"
453 "ation_hints\030# \001(\010:\004true\022\033\n\rminimize_core"
454 "\0302 \001(\010:\004true\022!\n\023find_multiple_cores\030T \001("
455 "\010:\004true\022 \n\022cover_optimization\030Y \001(\010:\004tru"
456 "e\022x\n\030max_sat_assumption_order\0303 \001(\0162<.op"
457 "erations_research.sat.SatParameters.MaxS"
458 "atAssumptionOrder:\030DEFAULT_ASSUMPTION_OR"
459 "DER\022/\n max_sat_reverse_assumption_order\030"
460 "4 \001(\010:\005false\022|\n\026max_sat_stratification\0305"
461 " \001(\0162D.operations_research.sat.SatParame"
462 "ters.MaxSatStratificationAlgorithm:\026STRA"
463 "TIFICATION_DESCENT\0227\n)use_precedences_in"
464 "_disjunctive_constraint\030J \001(\010:\004true\022<\n-u"
465 "se_overload_checker_in_cumulative_constr"
466 "aint\030N \001(\010:\005false\022B\n3use_timetable_edge_"
467 "finding_in_cumulative_constraint\030O \001(\010:\005"
468 "false\022A\n3use_disjunctive_constraint_in_c"
469 "umulative_constraint\030P \001(\010:\004true\022\036\n\023line"
470 "arization_level\030Z \001(\005:\0011\022!\n\026boolean_enco"
471 "ding_level\030k \001(\005:\0011\022\033\n\014max_num_cuts\030[ \001("
472 "\005:\00510000\022*\n\033only_add_cuts_at_level_zero\030"
473 "\\ \001(\010:\005false\022 \n\021add_knapsack_cuts\030o \001(\010:"
474 "\005false\022\031\n\013add_cg_cuts\030u \001(\010:\004true\022\032\n\014add"
475 "_mir_cuts\030x \001(\010:\004true\022!\n\022add_zero_half_c"
476 "uts\030\251\001 \001(\010:\004true\022\036\n\017add_clique_cuts\030\254\001 \001"
477 "(\010:\004true\022!\n\025max_all_diff_cut_size\030\224\001 \001(\005"
478 ":\0017\022\037\n\020add_lin_max_cuts\030\230\001 \001(\010:\004true\022)\n\034"
479 "max_integer_rounding_scaling\030w \001(\005:\003600\022"
480 "\'\n\031add_lp_constraints_lazily\030p \001(\010:\004true"
481 "\0222\n$min_orthogonality_for_lp_constraints"
482 "\030s \001(\001:\0040.05\022(\n\034max_cut_rounds_at_level_"
483 "zero\030\232\001 \001(\005:\0011\022+\n\036max_consecutive_inacti"
484 "ve_count\030y \001(\005:\003100\0220\n\032cut_max_active_co"
485 "unt_value\030\233\001 \001(\001:\01310000000000\022$\n\026cut_act"
486 "ive_count_decay\030\234\001 \001(\001:\0030.8\022!\n\022cut_clean"
487 "up_target\030\235\001 \001(\005:\0041000\022&\n\032new_constraint"
488 "s_batch_size\030z \001(\005:\00250\022b\n\020search_branchi"
489 "ng\030R \001(\01626.operations_research.sat.SatPa"
490 "rameters.SearchBranching:\020AUTOMATIC_SEAR"
491 "CH\022 \n\023hint_conflict_limit\030\231\001 \001(\005:\00210\022\033\n\013"
492 "repair_hint\030\247\001 \001(\010:\005false\022)\n\033exploit_int"
493 "eger_lp_solution\030^ \001(\010:\004true\022%\n\027exploit_"
494 "all_lp_solution\030t \001(\010:\004true\022%\n\025exploit_b"
495 "est_solution\030\202\001 \001(\010:\005false\022+\n\033exploit_re"
496 "laxation_solution\030\241\001 \001(\010:\005false\022 \n\021explo"
497 "it_objective\030\203\001 \001(\010:\004true\022\"\n\026probing_per"
498 "iod_at_root\030\216\001 \001(\003:\0010\022\"\n\022use_probing_sea"
499 "rch\030\260\001 \001(\010:\005false\022.\n!pseudo_cost_reliabi"
500 "lity_threshold\030{ \001(\003:\003100\022!\n\022optimize_wi"
501 "th_core\030S \001(\010:\005false\022\'\n\033binary_search_nu"
502 "m_conflicts\030c \001(\005:\002-1\022#\n\024optimize_with_m"
503 "ax_hs\030U \001(\010:\005false\022&\n\027enumerate_all_solu"
504 "tions\030W \001(\010:\005false\0227\n\'keep_all_feasible_"
505 "solutions_in_presolve\030\255\001 \001(\010:\005false\0222\n\"f"
506 "ill_tightened_domains_in_response\030\204\001 \001(\010"
507 ":\005false\022\'\n\031instantiate_all_variables\030j \001"
508 "(\010:\004true\0226\n(auto_detect_greater_than_at_"
509 "least_one_of\030_ \001(\010:\004true\022(\n\031stop_after_f"
510 "irst_solution\030b \001(\010:\005false\022#\n\023stop_after"
511 "_presolve\030\225\001 \001(\010:\005false\022\035\n\022num_search_wo"
512 "rkers\030d \001(\005:\0011\022!\n\021interleave_search\030\210\001 \001"
513 "(\010:\005false\022!\n\025interleave_batch_size\030\206\001 \001("
514 "\005:\0011\0226\n&reduce_memory_usage_in_interleav"
515 "e_mode\030\215\001 \001(\010:\005false\022$\n\026share_objective_"
516 "bounds\030q \001(\010:\004true\022%\n\027share_level_zero_b"
517 "ounds\030r \001(\010:\004true\022\033\n\014use_lns_only\030e \001(\010:"
518 "\005false\022.\n\037lns_focus_on_decision_variable"
519 "s\030i \001(\010:\005false\022\033\n\014use_rins_lns\030\201\001 \001(\010:\004t"
520 "rue\022#\n\024use_feasibility_pump\030\244\001 \001(\010:\004true"
521 "\022c\n\013fp_rounding\030\245\001 \001(\01627.operations_rese"
522 "arch.sat.SatParameters.FPRoundingMethod:"
523 "\024PROPAGATION_ASSISTED\022\"\n\022use_relaxation_"
524 "lns\030\226\001 \001(\010:\005false\022$\n\024diversify_lns_param"
525 "s\030\211\001 \001(\010:\005false\022\037\n\020randomize_search\030g \001("
526 "\010:\005false\022)\n\036search_randomization_toleran"
527 "ce\030h \001(\003:\0010\022$\n\026use_optional_variables\030l "
528 "\001(\010:\004true\022!\n\023use_exact_lp_reason\030m \001(\010:\004"
529 "true\022#\n\023use_branching_in_lp\030\213\001 \001(\010:\005fals"
530 "e\022\'\n\027use_combined_no_overlap\030\205\001 \001(\010:\005fal"
531 "se\022\"\n\023catch_sigint_signal\030\207\001 \001(\010:\004true\022!"
532 "\n\022use_implied_bounds\030\220\001 \001(\010:\004true\022\"\n\022pol"
533 "ish_lp_solution\030\257\001 \001(\010:\005false\022\037\n\rmip_max"
534 "_bound\030| \001(\001:\01010000000\022\032\n\017mip_var_scalin"
535 "g\030} \001(\001:\0011\0220\n!mip_automatically_scale_va"
536 "riables\030\246\001 \001(\010:\004true\022#\n\024mip_wanted_preci"
537 "sion\030~ \001(\001:\0051e-06\022%\n\031mip_max_activity_ex"
538 "ponent\030\177 \001(\005:\00253\022$\n\023mip_check_precision\030"
539 "\200\001 \001(\001:\0060.0001\"H\n\rVariableOrder\022\014\n\010IN_OR"
540 "DER\020\000\022\024\n\020IN_REVERSE_ORDER\020\001\022\023\n\017IN_RANDOM"
541 "_ORDER\020\002\"\206\001\n\010Polarity\022\021\n\rPOLARITY_TRUE\020\000"
542 "\022\022\n\016POLARITY_FALSE\020\001\022\023\n\017POLARITY_RANDOM\020"
543 "\002\022\032\n\026POLARITY_WEIGHTED_SIGN\020\003\022\"\n\036POLARIT"
544 "Y_REVERSE_WEIGHTED_SIGN\020\004\"V\n\035ConflictMin"
545 "imizationAlgorithm\022\010\n\004NONE\020\000\022\n\n\006SIMPLE\020\001"
546 "\022\r\n\tRECURSIVE\020\002\022\020\n\014EXPERIMENTAL\020\003\"\340\001\n\031Bi"
547 "naryMinizationAlgorithm\022\032\n\026NO_BINARY_MIN"
548 "IMIZATION\020\000\022\035\n\031BINARY_MINIMIZATION_FIRST"
549 "\020\001\0227\n3BINARY_MINIMIZATION_FIRST_WITH_TRA"
550 "NSITIVE_REDUCTION\020\004\022)\n%BINARY_MINIMIZATI"
551 "ON_WITH_REACHABILITY\020\002\022$\n EXPERIMENTAL_B"
552 "INARY_MINIMIZATION\020\003\"R\n\020ClauseProtection"
553 "\022\023\n\017PROTECTION_NONE\020\000\022\025\n\021PROTECTION_ALWA"
554 "YS\020\001\022\022\n\016PROTECTION_LBD\020\002\"5\n\016ClauseOrderi"
555 "ng\022\023\n\017CLAUSE_ACTIVITY\020\000\022\016\n\nCLAUSE_LBD\020\001\""
556 "\206\001\n\020RestartAlgorithm\022\016\n\nNO_RESTART\020\000\022\020\n\014"
557 "LUBY_RESTART\020\001\022\035\n\031DL_MOVING_AVERAGE_REST"
558 "ART\020\002\022\036\n\032LBD_MOVING_AVERAGE_RESTART\020\003\022\021\n"
559 "\rFIXED_RESTART\020\004\"t\n\025MaxSatAssumptionOrde"
560 "r\022\034\n\030DEFAULT_ASSUMPTION_ORDER\020\000\022\035\n\031ORDER"
561 "_ASSUMPTION_BY_DEPTH\020\001\022\036\n\032ORDER_ASSUMPTI"
562 "ON_BY_WEIGHT\020\002\"o\n\035MaxSatStratificationAl"
563 "gorithm\022\027\n\023STRATIFICATION_NONE\020\000\022\032\n\026STRA"
564 "TIFICATION_DESCENT\020\001\022\031\n\025STRATIFICATION_A"
565 "SCENT\020\002\"\260\001\n\017SearchBranching\022\024\n\020AUTOMATIC"
566 "_SEARCH\020\000\022\020\n\014FIXED_SEARCH\020\001\022\024\n\020PORTFOLIO"
567 "_SEARCH\020\002\022\r\n\tLP_SEARCH\020\003\022\026\n\022PSEUDO_COST_"
568 "SEARCH\020\004\022\'\n#PORTFOLIO_WITH_QUICK_RESTART"
569 "_SEARCH\020\005\022\017\n\013HINT_SEARCH\020\006\"h\n\020FPRounding"
570 "Method\022\023\n\017NEAREST_INTEGER\020\000\022\016\n\nLOCK_BASE"
571 "D\020\001\022\025\n\021ACTIVE_LOCK_BASED\020\003\022\030\n\024PROPAGATIO"
572 "N_ASSISTED\020\002B\032\n\026com.google.ortools.satP\001"
581 false,
false, descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto,
"ortools/sat/sat_parameters.proto", 8360,
606 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
612 constexpr
int SatParameters::VariableOrder_ARRAYSIZE;
613 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
631 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
639 constexpr
int SatParameters::Polarity_ARRAYSIZE;
640 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
657 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
664 constexpr
int SatParameters::ConflictMinimizationAlgorithm_ARRAYSIZE;
665 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
683 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
691 constexpr
int SatParameters::BinaryMinizationAlgorithm_ARRAYSIZE;
692 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
708 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
714 constexpr
int SatParameters::ClauseProtection_ARRAYSIZE;
715 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
730 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
735 constexpr
int SatParameters::ClauseOrdering_ARRAYSIZE;
736 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
754 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
762 constexpr
int SatParameters::RestartAlgorithm_ARRAYSIZE;
763 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
779 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
785 constexpr
int SatParameters::MaxSatAssumptionOrder_ARRAYSIZE;
786 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
802 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
808 constexpr
int SatParameters::MaxSatStratificationAlgorithm_ARRAYSIZE;
809 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
829 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
839 constexpr
int SatParameters::SearchBranching_ARRAYSIZE;
840 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
857 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
864 constexpr
int SatParameters::FPRoundingMethod_ARRAYSIZE;
865 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
871 using HasBits = decltype(std::declval<SatParameters>()._has_bits_);
873 (*has_bits)[0] |= 2u;
876 (*has_bits)[0] |= 4u;
879 (*has_bits)[1] |= 4194304u;
882 (*has_bits)[2] |= 128u;
885 (*has_bits)[1] |= 2097152u;
888 (*has_bits)[0] |= 32u;
891 (*has_bits)[0] |= 16u;
894 (*has_bits)[0] |= 256u;
897 (*has_bits)[0] |= 16384u;
900 (*has_bits)[0] |= 512u;
903 (*has_bits)[1] |= 8388608u;
906 (*has_bits)[2] |= 8u;
909 (*has_bits)[2] |= 256u;
912 (*has_bits)[1] |= 16777216u;
915 (*has_bits)[1] |= 33554432u;
918 (*has_bits)[0] |= 64u;
921 (*has_bits)[2] |= 131072u;
924 (*has_bits)[0] |= 128u;
927 (*has_bits)[2] |= 2048u;
930 (*has_bits)[2] |= 4096u;
933 (*has_bits)[3] |= 8u;
936 (*has_bits)[3] |= 16u;
939 (*has_bits)[1] |= 67108864u;
942 (*has_bits)[1] |= 134217728u;
945 (*has_bits)[1] |= 1073741824u;
948 (*has_bits)[1] |= 2147483648u;
951 (*has_bits)[2] |= 1u;
954 (*has_bits)[1] |= 268435456u;
957 (*has_bits)[1] |= 536870912u;
960 (*has_bits)[0] |= 1u;
963 (*has_bits)[2] |= 2u;
966 (*has_bits)[2] |= 524288u;
969 (*has_bits)[2] |= 262144u;
972 (*has_bits)[2] |= 8388608u;
975 (*has_bits)[0] |= 1024u;
978 (*has_bits)[2] |= 1048576u;
981 (*has_bits)[2] |= 2097152u;
984 (*has_bits)[0] |= 4096u;
987 (*has_bits)[0] |= 8192u;
990 (*has_bits)[2] |= 16u;
993 (*has_bits)[2] |= 4194304u;
996 (*has_bits)[2] |= 32u;
999 (*has_bits)[2] |= 64u;
1002 (*has_bits)[1] |= 524288u;
1005 (*has_bits)[1] |= 1048576u;
1008 (*has_bits)[2] |= 512u;
1011 (*has_bits)[2] |= 4u;
1014 (*has_bits)[0] |= 2048u;
1017 (*has_bits)[0] |= 65536u;
1020 (*has_bits)[0] |= 131072u;
1023 (*has_bits)[2] |= 1024u;
1026 (*has_bits)[2] |= 16384u;
1029 (*has_bits)[2] |= 65536u;
1032 (*has_bits)[2] |= 32768u;
1035 (*has_bits)[2] |= 536870912u;
1038 (*has_bits)[2] |= 1073741824u;
1041 (*has_bits)[2] |= 16777216u;
1044 (*has_bits)[4] |= 4096u;
1047 (*has_bits)[2] |= 2147483648u;
1050 (*has_bits)[0] |= 262144u;
1053 (*has_bits)[1] |= 131072u;
1056 (*has_bits)[3] |= 256u;
1059 (*has_bits)[3] |= 1u;
1062 (*has_bits)[0] |= 524288u;
1065 (*has_bits)[3] |= 32768u;
1068 (*has_bits)[3] |= 65536u;
1071 (*has_bits)[3] |= 131072u;
1074 (*has_bits)[0] |= 33554432u;
1077 (*has_bits)[4] |= 16384u;
1080 (*has_bits)[4] |= 32768u;
1083 (*has_bits)[4] |= 8192u;
1086 (*has_bits)[0] |= 67108864u;
1089 (*has_bits)[3] |= 262144u;
1092 (*has_bits)[2] |= 33554432u;
1095 (*has_bits)[2] |= 67108864u;
1098 (*has_bits)[2] |= 134217728u;
1101 (*has_bits)[0] |= 8u;
1104 (*has_bits)[0] |= 134217728u;
1107 (*has_bits)[2] |= 8192u;
1110 (*has_bits)[2] |= 268435456u;
1113 (*has_bits)[0] |= 268435456u;
1116 (*has_bits)[0] |= 2097152u;
1119 (*has_bits)[3] |= 1048576u;
1122 (*has_bits)[3] |= 2u;
1125 (*has_bits)[3] |= 128u;
1128 (*has_bits)[3] |= 4u;
1131 (*has_bits)[0] |= 4194304u;
1134 (*has_bits)[0] |= 8388608u;
1137 (*has_bits)[3] |= 2097152u;
1140 (*has_bits)[3] |= 4194304u;
1143 (*has_bits)[3] |= 8388608u;
1146 (*has_bits)[4] |= 128u;
1149 (*has_bits)[4] |= 65536u;
1152 (*has_bits)[4] |= 256u;
1155 (*has_bits)[3] |= 16384u;
1158 (*has_bits)[4] |= 512u;
1161 (*has_bits)[3] |= 8192u;
1164 (*has_bits)[4] |= 524288u;
1167 (*has_bits)[3] |= 524288u;
1170 (*has_bits)[4] |= 262144u;
1173 (*has_bits)[4] |= 2097152u;
1176 (*has_bits)[4] |= 1048576u;
1179 (*has_bits)[3] |= 33554432u;
1182 (*has_bits)[0] |= 32768u;
1185 (*has_bits)[4] |= 131072u;
1188 (*has_bits)[0] |= 16777216u;
1191 (*has_bits)[4] |= 1024u;
1194 (*has_bits)[3] |= 512u;
1197 (*has_bits)[1] |= 512u;
1200 (*has_bits)[1] |= 1024u;
1203 (*has_bits)[3] |= 1024u;
1206 (*has_bits)[1] |= 262144u;
1209 (*has_bits)[1] |= 2048u;
1212 (*has_bits)[3] |= 16777216u;
1215 (*has_bits)[1] |= 4096u;
1218 (*has_bits)[3] |= 32u;
1221 (*has_bits)[0] |= 536870912u;
1224 (*has_bits)[0] |= 1073741824u;
1227 (*has_bits)[0] |= 2147483648u;
1230 (*has_bits)[1] |= 1u;
1233 (*has_bits)[3] |= 2048u;
1236 (*has_bits)[3] |= 4096u;
1239 (*has_bits)[1] |= 32u;
1242 (*has_bits)[1] |= 64u;
1245 (*has_bits)[3] |= 64u;
1248 (*has_bits)[1] |= 128u;
1251 (*has_bits)[4] |= 2048u;
1254 (*has_bits)[1] |= 256u;
1257 (*has_bits)[4] |= 8u;
1260 (*has_bits)[4] |= 16u;
1263 (*has_bits)[1] |= 2u;
1266 (*has_bits)[1] |= 4u;
1269 (*has_bits)[4] |= 32u;
1272 (*has_bits)[4] |= 64u;
1275 (*has_bits)[4] |= 4194304u;
1278 (*has_bits)[1] |= 8u;
1281 (*has_bits)[1] |= 16u;
1284 (*has_bits)[1] |= 8192u;
1287 (*has_bits)[0] |= 1048576u;
1290 (*has_bits)[3] |= 67108864u;
1293 (*has_bits)[3] |= 134217728u;
1296 (*has_bits)[1] |= 16384u;
1299 (*has_bits)[1] |= 32768u;
1302 (*has_bits)[3] |= 268435456u;
1305 (*has_bits)[3] |= 536870912u;
1308 (*has_bits)[1] |= 65536u;
1311 (*has_bits)[3] |= 1073741824u;
1314 (*has_bits)[3] |= 2147483648u;
1317 (*has_bits)[4] |= 8388608u;
1320 (*has_bits)[4] |= 1u;
1323 (*has_bits)[4] |= 4u;
1326 (*has_bits)[4] |= 2u;
1330 const ::PROTOBUF_NAMESPACE_ID::internal::LazyString SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_{{{
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART", 65}}, {
nullptr}};
1331 SatParameters::SatParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1332 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1333 restart_algorithms_(arena) {
1335 RegisterArenaDtor(arena);
1338 SatParameters::SatParameters(
const SatParameters& from)
1339 : ::PROTOBUF_NAMESPACE_ID::Message(),
1340 _has_bits_(from._has_bits_),
1341 restart_algorithms_(from.restart_algorithms_) {
1342 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1343 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1344 if (from._internal_has_default_restart_algorithms()) {
1345 default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, from._internal_default_restart_algorithms(),
1348 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1349 if (from._internal_has_name()) {
1350 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1353 ::memcpy(&preferred_variable_order_, &from.preferred_variable_order_,
1354 static_cast<size_t>(
reinterpret_cast<char*
>(&mip_automatically_scale_variables_) -
1355 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(mip_automatically_scale_variables_));
1359 void SatParameters::SharedCtor() {
1361 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1362 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1363 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1364 reinterpret_cast<char*
>(&preferred_variable_order_) -
reinterpret_cast<char*
>(
this)),
1365 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&relative_gap_limit_) -
1366 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(relative_gap_limit_));
1367 polarity_rephase_increment_ = 1000;
1368 initial_polarity_ = 1;
1369 minimization_algorithm_ = 2;
1370 clause_cleanup_period_ = 10000;
1371 clause_cleanup_target_ = 10000;
1372 variable_activity_decay_ = 0.8;
1373 max_variable_activity_value_ = 1e+100;
1374 clause_activity_decay_ = 0.999;
1375 max_clause_activity_value_ = 1e+20;
1376 glucose_max_decay_ = 0.95;
1377 glucose_decay_increment_ = 0.01;
1378 glucose_decay_increment_period_ = 5000;
1379 restart_period_ = 50;
1381 binary_minimization_algorithm_ = 1;
1382 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1383 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1384 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1385 use_phase_saving_ =
true;
1386 subsumption_during_conflict_analysis_ =
true;
1387 treat_binary_clauses_separately_ =
true;
1388 count_assumption_levels_in_lbd_ =
true;
1389 pb_cleanup_increment_ = 200;
1390 pb_cleanup_ratio_ = 0.5;
1391 max_sat_stratification_ = 1;
1392 presolve_bve_threshold_ = 500;
1393 presolve_probing_deterministic_time_limit_ = 30;
1394 presolve_bve_clause_weight_ = 3;
1395 clause_cleanup_lbd_bound_ = 5;
1396 restart_dl_average_ratio_ = 1;
1397 restart_running_window_size_ = 50;
1398 blocking_restart_window_size_ = 5000;
1399 blocking_restart_multiplier_ = 1.4;
1400 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1401 restart_lbd_average_ratio_ = 1;
1402 presolve_bva_threshold_ = 1;
1403 minimize_core_ =
true;
1404 find_multiple_cores_ =
true;
1405 cover_optimization_ =
true;
1406 use_precedences_in_disjunctive_constraint_ =
true;
1407 presolve_blocked_clause_ =
true;
1408 presolve_use_bva_ =
true;
1409 cp_model_presolve_ =
true;
1410 cp_model_use_sat_presolve_ =
true;
1411 linearization_level_ = 1;
1412 max_num_cuts_ = 10000;
1413 minimize_with_propagation_restart_period_ = 10;
1414 minimize_with_propagation_num_decisions_ = 1000;
1415 binary_search_num_conflicts_ = -1;
1416 num_search_workers_ = 1;
1417 boolean_encoding_level_ = 1;
1418 cp_model_probing_level_ = 2;
1419 exploit_all_lp_solution_ =
true;
1420 exploit_objective_ =
true;
1421 instantiate_all_variables_ =
true;
1422 auto_detect_greater_than_at_least_one_of_ =
true;
1423 min_orthogonality_for_lp_constraints_ = 0.05;
1424 max_integer_rounding_scaling_ = 600;
1425 expand_element_constraints_ =
true;
1426 expand_automaton_constraints_ =
true;
1427 expand_table_constraints_ =
true;
1428 use_optimization_hints_ =
true;
1429 max_consecutive_inactive_count_ = 100;
1430 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1431 add_cg_cuts_ =
true;
1432 add_mir_cuts_ =
true;
1433 add_zero_half_cuts_ =
true;
1434 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1435 new_constraints_batch_size_ = 50;
1436 use_optional_variables_ =
true;
1437 use_exact_lp_reason_ =
true;
1438 catch_sigint_signal_ =
true;
1439 use_implied_bounds_ =
true;
1440 mip_max_bound_ = 10000000;
1441 mip_var_scaling_ = 1;
1442 mip_wanted_precision_ = 1e-06;
1443 mip_check_precision_ = 0.0001;
1444 mip_max_activity_exponent_ = 53;
1445 share_objective_bounds_ =
true;
1446 share_level_zero_bounds_ =
true;
1447 use_rins_lns_ =
true;
1448 use_feasibility_pump_ =
true;
1449 add_clique_cuts_ =
true;
1450 add_lin_max_cuts_ =
true;
1451 add_lp_constraints_lazily_ =
true;
1452 exploit_integer_lp_solution_ =
true;
1453 interleave_batch_size_ = 1;
1454 max_presolve_iterations_ = 3;
1455 presolve_substitution_level_ = 1;
1456 merge_no_overlap_work_limit_ = 1000000000000;
1457 merge_at_most_one_work_limit_ = 100000000;
1458 max_all_diff_cut_size_ = 7;
1459 hint_conflict_limit_ = 10;
1460 cut_max_active_count_value_ = 10000000000;
1461 max_cut_rounds_at_level_zero_ = 1;
1462 cut_cleanup_target_ = 1000;
1463 cut_active_count_decay_ = 0.8;
1465 mip_automatically_scale_variables_ =
true;
1468 SatParameters::~SatParameters() {
1471 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1474 void SatParameters::SharedDtor() {
1475 GOOGLE_DCHECK(GetArena() ==
nullptr);
1476 default_restart_algorithms_.DestroyNoArena(
nullptr);
1477 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1480 void SatParameters::ArenaDtor(
void*
object) {
1481 SatParameters* _this =
reinterpret_cast< SatParameters*
>(object);
1484 void SatParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1486 void SatParameters::SetCachedSize(
int size)
const {
1487 _cached_size_.Set(size);
1489 const SatParameters& SatParameters::default_instance() {
1491 return *internal_default_instance();
1495 void SatParameters::Clear() {
1499 (void) cached_has_bits;
1501 restart_algorithms_.Clear();
1502 cached_has_bits = _has_bits_[0];
1503 if (cached_has_bits & 0x00000003u) {
1504 if (cached_has_bits & 0x00000001u) {
1505 default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArena());
1507 if (cached_has_bits & 0x00000002u) {
1508 name_.ClearNonDefaultToEmpty();
1511 if (cached_has_bits & 0x000000fcu) {
1512 ::memset(&preferred_variable_order_, 0,
static_cast<size_t>(
1513 reinterpret_cast<char*
>(&clause_cleanup_ordering_) -
1514 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(clause_cleanup_ordering_));
1516 if (cached_has_bits & 0x0000ff00u) {
1517 ::memset(&use_erwa_heuristic_, 0,
static_cast<size_t>(
1518 reinterpret_cast<char*
>(&search_branching_) -
1519 reinterpret_cast<char*
>(&use_erwa_heuristic_)) +
sizeof(search_branching_));
1521 if (cached_has_bits & 0x00ff0000u) {
1522 ::memset(&use_pb_resolution_, 0,
static_cast<size_t>(
1523 reinterpret_cast<char*
>(&add_knapsack_cuts_) -
1524 reinterpret_cast<char*
>(&use_pb_resolution_)) +
sizeof(add_knapsack_cuts_));
1526 if (cached_has_bits & 0xff000000u) {
1527 ::memset(&repair_hint_, 0,
static_cast<size_t>(
1528 reinterpret_cast<char*
>(&keep_all_feasible_solutions_in_presolve_) -
1529 reinterpret_cast<char*
>(&repair_hint_)) +
sizeof(keep_all_feasible_solutions_in_presolve_));
1531 cached_has_bits = _has_bits_[1];
1532 if (cached_has_bits & 0x000000ffu) {
1533 ::memset(&fill_tightened_domains_in_response_, 0,
static_cast<size_t>(
1534 reinterpret_cast<char*
>(&interleave_search_) -
1535 reinterpret_cast<char*
>(&fill_tightened_domains_in_response_)) +
sizeof(interleave_search_));
1537 if (cached_has_bits & 0x0000ff00u) {
1538 ::memset(&reduce_memory_usage_in_interleave_mode_, 0,
static_cast<size_t>(
1539 reinterpret_cast<char*
>(&use_combined_no_overlap_) -
1540 reinterpret_cast<char*
>(&reduce_memory_usage_in_interleave_mode_)) +
sizeof(use_combined_no_overlap_));
1542 if (cached_has_bits & 0x00ff0000u) {
1543 ::memset(&polish_lp_solution_, 0,
static_cast<size_t>(
1544 reinterpret_cast<char*
>(&relative_gap_limit_) -
1545 reinterpret_cast<char*
>(&polish_lp_solution_)) +
sizeof(relative_gap_limit_));
1546 polarity_rephase_increment_ = 1000;
1547 initial_polarity_ = 1;
1548 minimization_algorithm_ = 2;
1550 if (cached_has_bits & 0xff000000u) {
1551 clause_cleanup_period_ = 10000;
1552 clause_cleanup_target_ = 10000;
1553 variable_activity_decay_ = 0.8;
1554 max_variable_activity_value_ = 1e+100;
1555 clause_activity_decay_ = 0.999;
1556 max_clause_activity_value_ = 1e+20;
1557 glucose_max_decay_ = 0.95;
1558 glucose_decay_increment_ = 0.01;
1560 cached_has_bits = _has_bits_[2];
1561 if (cached_has_bits & 0x000000ffu) {
1562 glucose_decay_increment_period_ = 5000;
1563 restart_period_ = 50;
1565 binary_minimization_algorithm_ = 1;
1566 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1567 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1568 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1569 use_phase_saving_ =
true;
1571 if (cached_has_bits & 0x0000ff00u) {
1572 subsumption_during_conflict_analysis_ =
true;
1573 treat_binary_clauses_separately_ =
true;
1574 count_assumption_levels_in_lbd_ =
true;
1575 pb_cleanup_increment_ = 200;
1576 pb_cleanup_ratio_ = 0.5;
1577 max_sat_stratification_ = 1;
1578 presolve_bve_threshold_ = 500;
1579 presolve_probing_deterministic_time_limit_ = 30;
1581 if (cached_has_bits & 0x00ff0000u) {
1582 presolve_bve_clause_weight_ = 3;
1583 clause_cleanup_lbd_bound_ = 5;
1584 restart_dl_average_ratio_ = 1;
1585 restart_running_window_size_ = 50;
1586 blocking_restart_window_size_ = 5000;
1587 blocking_restart_multiplier_ = 1.4;
1588 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1589 restart_lbd_average_ratio_ = 1;
1591 if (cached_has_bits & 0xff000000u) {
1592 presolve_bva_threshold_ = 1;
1593 minimize_core_ =
true;
1594 find_multiple_cores_ =
true;
1595 cover_optimization_ =
true;
1596 use_precedences_in_disjunctive_constraint_ =
true;
1597 presolve_blocked_clause_ =
true;
1598 presolve_use_bva_ =
true;
1599 cp_model_presolve_ =
true;
1601 cached_has_bits = _has_bits_[3];
1602 if (cached_has_bits & 0x000000ffu) {
1603 cp_model_use_sat_presolve_ =
true;
1604 linearization_level_ = 1;
1605 max_num_cuts_ = 10000;
1606 minimize_with_propagation_restart_period_ = 10;
1607 minimize_with_propagation_num_decisions_ = 1000;
1608 binary_search_num_conflicts_ = -1;
1609 num_search_workers_ = 1;
1610 boolean_encoding_level_ = 1;
1612 if (cached_has_bits & 0x0000ff00u) {
1613 cp_model_probing_level_ = 2;
1614 exploit_all_lp_solution_ =
true;
1615 exploit_objective_ =
true;
1616 instantiate_all_variables_ =
true;
1617 auto_detect_greater_than_at_least_one_of_ =
true;
1618 min_orthogonality_for_lp_constraints_ = 0.05;
1619 max_integer_rounding_scaling_ = 600;
1620 expand_element_constraints_ =
true;
1622 if (cached_has_bits & 0x00ff0000u) {
1623 expand_automaton_constraints_ =
true;
1624 expand_table_constraints_ =
true;
1625 use_optimization_hints_ =
true;
1626 max_consecutive_inactive_count_ = 100;
1627 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1628 add_cg_cuts_ =
true;
1629 add_mir_cuts_ =
true;
1630 add_zero_half_cuts_ =
true;
1632 if (cached_has_bits & 0xff000000u) {
1633 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1634 new_constraints_batch_size_ = 50;
1635 use_optional_variables_ =
true;
1636 use_exact_lp_reason_ =
true;
1637 catch_sigint_signal_ =
true;
1638 use_implied_bounds_ =
true;
1639 mip_max_bound_ = 10000000;
1640 mip_var_scaling_ = 1;
1642 cached_has_bits = _has_bits_[4];
1643 if (cached_has_bits & 0x000000ffu) {
1644 mip_wanted_precision_ = 1e-06;
1645 mip_check_precision_ = 0.0001;
1646 mip_max_activity_exponent_ = 53;
1647 share_objective_bounds_ =
true;
1648 share_level_zero_bounds_ =
true;
1649 use_rins_lns_ =
true;
1650 use_feasibility_pump_ =
true;
1651 add_clique_cuts_ =
true;
1653 if (cached_has_bits & 0x0000ff00u) {
1654 add_lin_max_cuts_ =
true;
1655 add_lp_constraints_lazily_ =
true;
1656 exploit_integer_lp_solution_ =
true;
1657 interleave_batch_size_ = 1;
1658 max_presolve_iterations_ = 3;
1659 presolve_substitution_level_ = 1;
1660 merge_no_overlap_work_limit_ = 1000000000000;
1661 merge_at_most_one_work_limit_ = 100000000;
1663 if (cached_has_bits & 0x00ff0000u) {
1664 max_all_diff_cut_size_ = 7;
1665 hint_conflict_limit_ = 10;
1666 cut_max_active_count_value_ = 10000000000;
1667 max_cut_rounds_at_level_zero_ = 1;
1668 cut_cleanup_target_ = 1000;
1669 cut_active_count_decay_ = 0.8;
1671 mip_automatically_scale_variables_ =
true;
1674 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1677 const char* SatParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1678 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1679 while (!ctx->Done(&ptr)) {
1681 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1692 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
1694 }
else goto handle_unusual;
1704 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
1706 }
else goto handle_unusual;
1716 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
1718 }
else goto handle_unusual;
1724 clause_cleanup_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1726 }
else goto handle_unusual;
1732 clause_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1734 }
else goto handle_unusual;
1740 variable_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1741 ptr +=
sizeof(double);
1742 }
else goto handle_unusual;
1748 max_variable_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1749 ptr +=
sizeof(double);
1750 }
else goto handle_unusual;
1756 clause_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1757 ptr +=
sizeof(double);
1758 }
else goto handle_unusual;
1764 max_clause_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1765 ptr +=
sizeof(double);
1766 }
else goto handle_unusual;
1772 glucose_max_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1773 ptr +=
sizeof(double);
1774 }
else goto handle_unusual;
1780 glucose_decay_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1781 ptr +=
sizeof(double);
1782 }
else goto handle_unusual;
1788 glucose_decay_increment_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1790 }
else goto handle_unusual;
1796 restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1798 }
else goto handle_unusual;
1804 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1806 }
else goto handle_unusual;
1812 random_branches_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1813 ptr +=
sizeof(double);
1814 }
else goto handle_unusual;
1820 treat_binary_clauses_separately_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1822 }
else goto handle_unusual;
1832 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(34, val, mutable_unknown_fields());
1834 }
else goto handle_unusual;
1840 use_optimization_hints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1842 }
else goto handle_unusual;
1848 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1849 ptr +=
sizeof(double);
1850 }
else goto handle_unusual;
1856 max_number_of_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1858 }
else goto handle_unusual;
1864 max_memory_in_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1866 }
else goto handle_unusual;
1872 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1874 }
else goto handle_unusual;
1880 use_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1882 }
else goto handle_unusual;
1888 use_phase_saving_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1890 }
else goto handle_unusual;
1896 random_polarity_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1897 ptr +=
sizeof(double);
1898 }
else goto handle_unusual;
1904 pb_cleanup_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1906 }
else goto handle_unusual;
1912 pb_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1913 ptr +=
sizeof(double);
1914 }
else goto handle_unusual;
1920 minimize_reduction_during_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1922 }
else goto handle_unusual;
1928 count_assumption_levels_in_lbd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1930 }
else goto handle_unusual;
1936 minimize_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1938 }
else goto handle_unusual;
1948 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(51, val, mutable_unknown_fields());
1950 }
else goto handle_unusual;
1956 max_sat_reverse_assumption_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1958 }
else goto handle_unusual;
1968 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(53, val, mutable_unknown_fields());
1970 }
else goto handle_unusual;
1976 presolve_bve_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1978 }
else goto handle_unusual;
1984 presolve_bve_clause_weight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1986 }
else goto handle_unusual;
1992 subsumption_during_conflict_analysis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1994 }
else goto handle_unusual;
2000 presolve_probing_deterministic_time_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2001 ptr +=
sizeof(double);
2002 }
else goto handle_unusual;
2012 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(58, val, mutable_unknown_fields());
2014 }
else goto handle_unusual;
2020 clause_cleanup_lbd_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2022 }
else goto handle_unusual;
2032 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(60, val, mutable_unknown_fields());
2034 }
else goto handle_unusual;
2047 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(61, val, mutable_unknown_fields());
2049 if (!ctx->DataAvailable(ptr))
break;
2050 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<488>(ptr));
2054 }
else goto handle_unusual;
2060 restart_running_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2062 }
else goto handle_unusual;
2068 restart_dl_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2069 ptr +=
sizeof(double);
2070 }
else goto handle_unusual;
2076 use_blocking_restart_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2078 }
else goto handle_unusual;
2084 blocking_restart_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2086 }
else goto handle_unusual;
2092 blocking_restart_multiplier_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2093 ptr +=
sizeof(double);
2094 }
else goto handle_unusual;
2100 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2101 ptr +=
sizeof(double);
2102 }
else goto handle_unusual;
2108 num_conflicts_before_strategy_changes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2110 }
else goto handle_unusual;
2116 strategy_change_increase_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2117 ptr +=
sizeof(double);
2118 }
else goto handle_unusual;
2123 auto str = _internal_mutable_default_restart_algorithms();
2124 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2126 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.default_restart_algorithms");
2129 }
else goto handle_unusual;
2135 restart_lbd_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2136 ptr +=
sizeof(double);
2137 }
else goto handle_unusual;
2143 presolve_use_bva_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2145 }
else goto handle_unusual;
2151 presolve_bva_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2153 }
else goto handle_unusual;
2159 use_precedences_in_disjunctive_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2161 }
else goto handle_unusual;
2167 use_erwa_heuristic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2169 }
else goto handle_unusual;
2175 initial_variables_activity_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2176 ptr +=
sizeof(double);
2177 }
else goto handle_unusual;
2183 also_bump_variables_in_conflict_reasons_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2185 }
else goto handle_unusual;
2191 use_overload_checker_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2193 }
else goto handle_unusual;
2199 use_timetable_edge_finding_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2201 }
else goto handle_unusual;
2207 use_disjunctive_constraint_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2209 }
else goto handle_unusual;
2219 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(82, val, mutable_unknown_fields());
2221 }
else goto handle_unusual;
2227 optimize_with_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2229 }
else goto handle_unusual;
2235 find_multiple_cores_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2237 }
else goto handle_unusual;
2243 optimize_with_max_hs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2245 }
else goto handle_unusual;
2251 cp_model_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2253 }
else goto handle_unusual;
2259 enumerate_all_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2261 }
else goto handle_unusual;
2267 presolve_blocked_clause_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2269 }
else goto handle_unusual;
2275 cover_optimization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2277 }
else goto handle_unusual;
2283 linearization_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2285 }
else goto handle_unusual;
2291 max_num_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2293 }
else goto handle_unusual;
2299 only_add_cuts_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2301 }
else goto handle_unusual;
2307 cp_model_use_sat_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2309 }
else goto handle_unusual;
2315 exploit_integer_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2317 }
else goto handle_unusual;
2323 auto_detect_greater_than_at_least_one_of_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2325 }
else goto handle_unusual;
2331 minimize_with_propagation_restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2333 }
else goto handle_unusual;
2339 minimize_with_propagation_num_decisions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2341 }
else goto handle_unusual;
2347 stop_after_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2349 }
else goto handle_unusual;
2355 binary_search_num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2357 }
else goto handle_unusual;
2363 num_search_workers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2365 }
else goto handle_unusual;
2371 use_lns_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2373 }
else goto handle_unusual;
2379 randomize_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2381 }
else goto handle_unusual;
2387 search_randomization_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2389 }
else goto handle_unusual;
2395 lns_focus_on_decision_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2397 }
else goto handle_unusual;
2403 instantiate_all_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2405 }
else goto handle_unusual;
2411 boolean_encoding_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2413 }
else goto handle_unusual;
2419 use_optional_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2421 }
else goto handle_unusual;
2427 use_exact_lp_reason_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2429 }
else goto handle_unusual;
2435 cp_model_probing_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2437 }
else goto handle_unusual;
2443 add_knapsack_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2445 }
else goto handle_unusual;
2451 add_lp_constraints_lazily_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2453 }
else goto handle_unusual;
2459 share_objective_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2461 }
else goto handle_unusual;
2467 share_level_zero_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2469 }
else goto handle_unusual;
2475 min_orthogonality_for_lp_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2476 ptr +=
sizeof(double);
2477 }
else goto handle_unusual;
2483 exploit_all_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2485 }
else goto handle_unusual;
2491 add_cg_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2493 }
else goto handle_unusual;
2499 max_integer_rounding_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2501 }
else goto handle_unusual;
2507 add_mir_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2509 }
else goto handle_unusual;
2515 max_consecutive_inactive_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2517 }
else goto handle_unusual;
2523 new_constraints_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2525 }
else goto handle_unusual;
2531 pseudo_cost_reliability_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2533 }
else goto handle_unusual;
2539 mip_max_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2540 ptr +=
sizeof(double);
2541 }
else goto handle_unusual;
2547 mip_var_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2548 ptr +=
sizeof(double);
2549 }
else goto handle_unusual;
2555 mip_wanted_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2556 ptr +=
sizeof(double);
2557 }
else goto handle_unusual;
2563 mip_max_activity_exponent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2565 }
else goto handle_unusual;
2571 mip_check_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2572 ptr +=
sizeof(double);
2573 }
else goto handle_unusual;
2579 use_rins_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2581 }
else goto handle_unusual;
2587 exploit_best_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2589 }
else goto handle_unusual;
2595 exploit_objective_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2597 }
else goto handle_unusual;
2603 fill_tightened_domains_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2605 }
else goto handle_unusual;
2611 use_combined_no_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2613 }
else goto handle_unusual;
2619 interleave_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2621 }
else goto handle_unusual;
2627 catch_sigint_signal_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2629 }
else goto handle_unusual;
2635 interleave_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2637 }
else goto handle_unusual;
2643 diversify_lns_params_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2645 }
else goto handle_unusual;
2651 max_presolve_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2653 }
else goto handle_unusual;
2659 use_branching_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2661 }
else goto handle_unusual;
2667 expand_element_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2669 }
else goto handle_unusual;
2675 reduce_memory_usage_in_interleave_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2677 }
else goto handle_unusual;
2683 probing_period_at_root_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2685 }
else goto handle_unusual;
2691 expand_automaton_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2693 }
else goto handle_unusual;
2699 use_implied_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2701 }
else goto handle_unusual;
2707 merge_no_overlap_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2708 ptr +=
sizeof(double);
2709 }
else goto handle_unusual;
2715 merge_at_most_one_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2716 ptr +=
sizeof(double);
2717 }
else goto handle_unusual;
2723 presolve_substitution_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2725 }
else goto handle_unusual;
2731 max_all_diff_cut_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2733 }
else goto handle_unusual;
2739 stop_after_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2741 }
else goto handle_unusual;
2747 use_relaxation_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2749 }
else goto handle_unusual;
2755 cp_model_max_num_presolve_operations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2757 }
else goto handle_unusual;
2763 add_lin_max_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2765 }
else goto handle_unusual;
2771 hint_conflict_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2773 }
else goto handle_unusual;
2779 max_cut_rounds_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2781 }
else goto handle_unusual;
2787 cut_max_active_count_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2788 ptr +=
sizeof(double);
2789 }
else goto handle_unusual;
2795 cut_active_count_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2796 ptr +=
sizeof(double);
2797 }
else goto handle_unusual;
2803 cut_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2805 }
else goto handle_unusual;
2811 expand_table_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2813 }
else goto handle_unusual;
2819 absolute_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2820 ptr +=
sizeof(double);
2821 }
else goto handle_unusual;
2827 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2828 ptr +=
sizeof(double);
2829 }
else goto handle_unusual;
2835 exploit_relaxation_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2837 }
else goto handle_unusual;
2843 cp_model_postsolve_with_full_solver_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2845 }
else goto handle_unusual;
2851 use_sat_inprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2853 }
else goto handle_unusual;
2859 use_feasibility_pump_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2861 }
else goto handle_unusual;
2871 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(165, val, mutable_unknown_fields());
2873 }
else goto handle_unusual;
2879 mip_automatically_scale_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2881 }
else goto handle_unusual;
2887 repair_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2889 }
else goto handle_unusual;
2895 polarity_rephase_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2897 }
else goto handle_unusual;
2903 add_zero_half_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2905 }
else goto handle_unusual;
2911 expand_alldiff_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2913 }
else goto handle_unusual;
2918 auto str = _internal_mutable_name();
2919 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2921 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.name");
2924 }
else goto handle_unusual;
2930 add_clique_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2932 }
else goto handle_unusual;
2938 keep_all_feasible_solutions_in_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2940 }
else goto handle_unusual;
2946 presolve_extract_integer_enforcement_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2948 }
else goto handle_unusual;
2954 polish_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2956 }
else goto handle_unusual;
2962 use_probing_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2964 }
else goto handle_unusual;
2968 if ((tag & 7) == 4 || tag == 0) {
2969 ctx->SetLastTag(tag);
2972 ptr = UnknownFieldParse(tag,
2973 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2975 CHK_(ptr !=
nullptr);
2992 (void) cached_has_bits;
2994 cached_has_bits = _has_bits_[0];
2996 if (cached_has_bits & 0x00000004u) {
2997 target = stream->EnsureSpace(target);
2998 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2999 1, this->_internal_preferred_variable_order(), target);
3002 cached_has_bits = _has_bits_[1];
3004 if (cached_has_bits & 0x00400000u) {
3005 target = stream->EnsureSpace(target);
3006 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3007 2, this->_internal_initial_polarity(), target);
3011 if (cached_has_bits & 0x00800000u) {
3012 target = stream->EnsureSpace(target);
3013 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3014 4, this->_internal_minimization_algorithm(), target);
3018 if (cached_has_bits & 0x01000000u) {
3019 target = stream->EnsureSpace(target);
3020 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_clause_cleanup_period(), target);
3024 if (cached_has_bits & 0x02000000u) {
3025 target = stream->EnsureSpace(target);
3026 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_clause_cleanup_target(), target);
3030 if (cached_has_bits & 0x04000000u) {
3031 target = stream->EnsureSpace(target);
3032 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_variable_activity_decay(), target);
3036 if (cached_has_bits & 0x08000000u) {
3037 target = stream->EnsureSpace(target);
3038 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_max_variable_activity_value(), target);
3042 if (cached_has_bits & 0x10000000u) {
3043 target = stream->EnsureSpace(target);
3044 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_clause_activity_decay(), target);
3048 if (cached_has_bits & 0x20000000u) {
3049 target = stream->EnsureSpace(target);
3050 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_max_clause_activity_value(), target);
3054 if (cached_has_bits & 0x40000000u) {
3055 target = stream->EnsureSpace(target);
3056 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_glucose_max_decay(), target);
3060 if (cached_has_bits & 0x80000000u) {
3061 target = stream->EnsureSpace(target);
3062 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_glucose_decay_increment(), target);
3065 cached_has_bits = _has_bits_[2];
3067 if (cached_has_bits & 0x00000001u) {
3068 target = stream->EnsureSpace(target);
3069 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_glucose_decay_increment_period(), target);
3073 if (cached_has_bits & 0x00000002u) {
3074 target = stream->EnsureSpace(target);
3075 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_restart_period(), target);
3079 if (cached_has_bits & 0x00000004u) {
3080 target = stream->EnsureSpace(target);
3081 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_random_seed(), target);
3084 cached_has_bits = _has_bits_[0];
3086 if (cached_has_bits & 0x00000010u) {
3087 target = stream->EnsureSpace(target);
3088 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(32, this->_internal_random_branches_ratio(), target);
3091 cached_has_bits = _has_bits_[2];
3093 if (cached_has_bits & 0x00000200u) {
3094 target = stream->EnsureSpace(target);
3095 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_treat_binary_clauses_separately(), target);
3099 if (cached_has_bits & 0x00000008u) {
3100 target = stream->EnsureSpace(target);
3101 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3102 34, this->_internal_binary_minimization_algorithm(), target);
3105 cached_has_bits = _has_bits_[3];
3107 if (cached_has_bits & 0x00040000u) {
3108 target = stream->EnsureSpace(target);
3109 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_optimization_hints(), target);
3112 cached_has_bits = _has_bits_[2];
3114 if (cached_has_bits & 0x00000010u) {
3115 target = stream->EnsureSpace(target);
3116 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_max_time_in_seconds(), target);
3120 if (cached_has_bits & 0x00000020u) {
3121 target = stream->EnsureSpace(target);
3122 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(37, this->_internal_max_number_of_conflicts(), target);
3126 if (cached_has_bits & 0x00000040u) {
3127 target = stream->EnsureSpace(target);
3128 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(40, this->_internal_max_memory_in_mb(), target);
3131 cached_has_bits = _has_bits_[0];
3133 if (cached_has_bits & 0x00000800u) {
3134 target = stream->EnsureSpace(target);
3135 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_log_search_progress(), target);
3139 if (cached_has_bits & 0x00010000u) {
3140 target = stream->EnsureSpace(target);
3141 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(43, this->_internal_use_pb_resolution(), target);
3144 cached_has_bits = _has_bits_[2];
3146 if (cached_has_bits & 0x00000080u) {
3147 target = stream->EnsureSpace(target);
3148 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(44, this->_internal_use_phase_saving(), target);
3151 cached_has_bits = _has_bits_[0];
3153 if (cached_has_bits & 0x00000020u) {
3154 target = stream->EnsureSpace(target);
3155 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_random_polarity_ratio(), target);
3158 cached_has_bits = _has_bits_[2];
3160 if (cached_has_bits & 0x00000800u) {
3161 target = stream->EnsureSpace(target);
3162 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_pb_cleanup_increment(), target);
3166 if (cached_has_bits & 0x00001000u) {
3167 target = stream->EnsureSpace(target);
3168 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(47, this->_internal_pb_cleanup_ratio(), target);
3171 cached_has_bits = _has_bits_[0];
3173 if (cached_has_bits & 0x00020000u) {
3174 target = stream->EnsureSpace(target);
3175 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_minimize_reduction_during_pb_resolution(), target);
3178 cached_has_bits = _has_bits_[2];
3180 if (cached_has_bits & 0x00000400u) {
3181 target = stream->EnsureSpace(target);
3182 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(49, this->_internal_count_assumption_levels_in_lbd(), target);
3186 if (cached_has_bits & 0x02000000u) {
3187 target = stream->EnsureSpace(target);
3188 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(50, this->_internal_minimize_core(), target);
3191 cached_has_bits = _has_bits_[0];
3193 if (cached_has_bits & 0x00000008u) {
3194 target = stream->EnsureSpace(target);
3195 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3196 51, this->_internal_max_sat_assumption_order(), target);
3200 if (cached_has_bits & 0x08000000u) {
3201 target = stream->EnsureSpace(target);
3202 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(52, this->_internal_max_sat_reverse_assumption_order(), target);
3205 cached_has_bits = _has_bits_[2];
3207 if (cached_has_bits & 0x00002000u) {
3208 target = stream->EnsureSpace(target);
3209 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3210 53, this->_internal_max_sat_stratification(), target);
3214 if (cached_has_bits & 0x00004000u) {
3215 target = stream->EnsureSpace(target);
3216 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(54, this->_internal_presolve_bve_threshold(), target);
3220 if (cached_has_bits & 0x00010000u) {
3221 target = stream->EnsureSpace(target);
3222 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_presolve_bve_clause_weight(), target);
3226 if (cached_has_bits & 0x00000100u) {
3227 target = stream->EnsureSpace(target);
3228 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(56, this->_internal_subsumption_during_conflict_analysis(), target);
3232 if (cached_has_bits & 0x00008000u) {
3233 target = stream->EnsureSpace(target);
3234 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(57, this->_internal_presolve_probing_deterministic_time_limit(), target);
3237 cached_has_bits = _has_bits_[0];
3239 if (cached_has_bits & 0x00000040u) {
3240 target = stream->EnsureSpace(target);
3241 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3242 58, this->_internal_clause_cleanup_protection(), target);
3245 cached_has_bits = _has_bits_[2];
3247 if (cached_has_bits & 0x00020000u) {
3248 target = stream->EnsureSpace(target);
3249 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(59, this->_internal_clause_cleanup_lbd_bound(), target);
3252 cached_has_bits = _has_bits_[0];
3254 if (cached_has_bits & 0x00000080u) {
3255 target = stream->EnsureSpace(target);
3256 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3257 60, this->_internal_clause_cleanup_ordering(), target);
3261 for (
int i = 0, n = this->_internal_restart_algorithms_size(); i < n; i++) {
3262 target = stream->EnsureSpace(target);
3263 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3264 61, this->_internal_restart_algorithms(i), target);
3267 cached_has_bits = _has_bits_[2];
3269 if (cached_has_bits & 0x00080000u) {
3270 target = stream->EnsureSpace(target);
3271 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(62, this->_internal_restart_running_window_size(), target);
3275 if (cached_has_bits & 0x00040000u) {
3276 target = stream->EnsureSpace(target);
3277 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(63, this->_internal_restart_dl_average_ratio(), target);
3280 cached_has_bits = _has_bits_[0];
3282 if (cached_has_bits & 0x00000400u) {
3283 target = stream->EnsureSpace(target);
3284 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(64, this->_internal_use_blocking_restart(), target);
3287 cached_has_bits = _has_bits_[2];
3289 if (cached_has_bits & 0x00100000u) {
3290 target = stream->EnsureSpace(target);
3291 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(65, this->_internal_blocking_restart_window_size(), target);
3295 if (cached_has_bits & 0x00200000u) {
3296 target = stream->EnsureSpace(target);
3297 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(66, this->_internal_blocking_restart_multiplier(), target);
3301 if (cached_has_bits & 0x00400000u) {
3302 target = stream->EnsureSpace(target);
3303 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(67, this->_internal_max_deterministic_time(), target);
3306 cached_has_bits = _has_bits_[0];
3308 if (cached_has_bits & 0x00001000u) {
3309 target = stream->EnsureSpace(target);
3310 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(68, this->_internal_num_conflicts_before_strategy_changes(), target);
3314 if (cached_has_bits & 0x00002000u) {
3315 target = stream->EnsureSpace(target);
3316 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(69, this->_internal_strategy_change_increase_ratio(), target);
3320 if (cached_has_bits & 0x00000001u) {
3321 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3322 this->_internal_default_restart_algorithms().data(),
static_cast<int>(this->_internal_default_restart_algorithms().length()),
3323 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3324 "operations_research.sat.SatParameters.default_restart_algorithms");
3325 target = stream->WriteStringMaybeAliased(
3326 70, this->_internal_default_restart_algorithms(), target);
3329 cached_has_bits = _has_bits_[2];
3331 if (cached_has_bits & 0x00800000u) {
3332 target = stream->EnsureSpace(target);
3333 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(71, this->_internal_restart_lbd_average_ratio(), target);
3337 if (cached_has_bits & 0x40000000u) {
3338 target = stream->EnsureSpace(target);
3339 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(72, this->_internal_presolve_use_bva(), target);
3343 if (cached_has_bits & 0x01000000u) {
3344 target = stream->EnsureSpace(target);
3345 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(73, this->_internal_presolve_bva_threshold(), target);
3349 if (cached_has_bits & 0x10000000u) {
3350 target = stream->EnsureSpace(target);
3351 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(74, this->_internal_use_precedences_in_disjunctive_constraint(), target);
3354 cached_has_bits = _has_bits_[0];
3356 if (cached_has_bits & 0x00000100u) {
3357 target = stream->EnsureSpace(target);
3358 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(75, this->_internal_use_erwa_heuristic(), target);
3362 if (cached_has_bits & 0x00004000u) {
3363 target = stream->EnsureSpace(target);
3364 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_initial_variables_activity(), target);
3368 if (cached_has_bits & 0x00000200u) {
3369 target = stream->EnsureSpace(target);
3370 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_also_bump_variables_in_conflict_reasons(), target);
3374 if (cached_has_bits & 0x10000000u) {
3375 target = stream->EnsureSpace(target);
3376 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(78, this->_internal_use_overload_checker_in_cumulative_constraint(), target);
3380 if (cached_has_bits & 0x00200000u) {
3381 target = stream->EnsureSpace(target);
3382 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(79, this->_internal_use_timetable_edge_finding_in_cumulative_constraint(), target);
3385 cached_has_bits = _has_bits_[3];
3387 if (cached_has_bits & 0x00100000u) {
3388 target = stream->EnsureSpace(target);
3389 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(80, this->_internal_use_disjunctive_constraint_in_cumulative_constraint(), target);
3392 cached_has_bits = _has_bits_[0];
3394 if (cached_has_bits & 0x00008000u) {
3395 target = stream->EnsureSpace(target);
3396 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3397 82, this->_internal_search_branching(), target);
3400 cached_has_bits = _has_bits_[1];
3402 if (cached_has_bits & 0x00001000u) {
3403 target = stream->EnsureSpace(target);
3404 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_optimize_with_core(), target);
3407 cached_has_bits = _has_bits_[2];
3409 if (cached_has_bits & 0x04000000u) {
3410 target = stream->EnsureSpace(target);
3411 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(84, this->_internal_find_multiple_cores(), target);
3414 cached_has_bits = _has_bits_[0];
3416 if (cached_has_bits & 0x20000000u) {
3417 target = stream->EnsureSpace(target);
3418 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_optimize_with_max_hs(), target);
3421 cached_has_bits = _has_bits_[2];
3423 if (cached_has_bits & 0x80000000u) {
3424 target = stream->EnsureSpace(target);
3425 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_cp_model_presolve(), target);
3428 cached_has_bits = _has_bits_[0];
3430 if (cached_has_bits & 0x40000000u) {
3431 target = stream->EnsureSpace(target);
3432 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_enumerate_all_solutions(), target);
3435 cached_has_bits = _has_bits_[2];
3437 if (cached_has_bits & 0x20000000u) {
3438 target = stream->EnsureSpace(target);
3439 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(88, this->_internal_presolve_blocked_clause(), target);
3443 if (cached_has_bits & 0x08000000u) {
3444 target = stream->EnsureSpace(target);
3445 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(89, this->_internal_cover_optimization(), target);
3448 cached_has_bits = _has_bits_[3];
3450 if (cached_has_bits & 0x00000002u) {
3451 target = stream->EnsureSpace(target);
3452 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(90, this->_internal_linearization_level(), target);
3456 if (cached_has_bits & 0x00000004u) {
3457 target = stream->EnsureSpace(target);
3458 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(91, this->_internal_max_num_cuts(), target);
3461 cached_has_bits = _has_bits_[0];
3463 if (cached_has_bits & 0x00400000u) {
3464 target = stream->EnsureSpace(target);
3465 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(92, this->_internal_only_add_cuts_at_level_zero(), target);
3468 cached_has_bits = _has_bits_[3];
3470 if (cached_has_bits & 0x00000001u) {
3471 target = stream->EnsureSpace(target);
3472 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(93, this->_internal_cp_model_use_sat_presolve(), target);
3475 cached_has_bits = _has_bits_[4];
3477 if (cached_has_bits & 0x00000400u) {
3478 target = stream->EnsureSpace(target);
3479 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(94, this->_internal_exploit_integer_lp_solution(), target);
3482 cached_has_bits = _has_bits_[3];
3484 if (cached_has_bits & 0x00001000u) {
3485 target = stream->EnsureSpace(target);
3486 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(95, this->_internal_auto_detect_greater_than_at_least_one_of(), target);
3490 if (cached_has_bits & 0x00000008u) {
3491 target = stream->EnsureSpace(target);
3492 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(96, this->_internal_minimize_with_propagation_restart_period(), target);
3496 if (cached_has_bits & 0x00000010u) {
3497 target = stream->EnsureSpace(target);
3498 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(97, this->_internal_minimize_with_propagation_num_decisions(), target);
3501 cached_has_bits = _has_bits_[1];
3503 if (cached_has_bits & 0x00000020u) {
3504 target = stream->EnsureSpace(target);
3505 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(98, this->_internal_stop_after_first_solution(), target);
3508 cached_has_bits = _has_bits_[3];
3510 if (cached_has_bits & 0x00000020u) {
3511 target = stream->EnsureSpace(target);
3512 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(99, this->_internal_binary_search_num_conflicts(), target);
3516 if (cached_has_bits & 0x00000040u) {
3517 target = stream->EnsureSpace(target);
3518 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(100, this->_internal_num_search_workers(), target);
3521 cached_has_bits = _has_bits_[1];
3523 if (cached_has_bits & 0x00000002u) {
3524 target = stream->EnsureSpace(target);
3525 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_use_lns_only(), target);
3529 if (cached_has_bits & 0x00002000u) {
3530 target = stream->EnsureSpace(target);
3531 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(103, this->_internal_randomize_search(), target);
3534 cached_has_bits = _has_bits_[0];
3536 if (cached_has_bits & 0x00100000u) {
3537 target = stream->EnsureSpace(target);
3538 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(104, this->_internal_search_randomization_tolerance(), target);
3541 cached_has_bits = _has_bits_[1];
3543 if (cached_has_bits & 0x00000004u) {
3544 target = stream->EnsureSpace(target);
3545 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(105, this->_internal_lns_focus_on_decision_variables(), target);
3548 cached_has_bits = _has_bits_[3];
3550 if (cached_has_bits & 0x00000800u) {
3551 target = stream->EnsureSpace(target);
3552 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(106, this->_internal_instantiate_all_variables(), target);
3556 if (cached_has_bits & 0x00000080u) {
3557 target = stream->EnsureSpace(target);
3558 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(107, this->_internal_boolean_encoding_level(), target);
3562 if (cached_has_bits & 0x04000000u) {
3563 target = stream->EnsureSpace(target);
3564 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(108, this->_internal_use_optional_variables(), target);
3568 if (cached_has_bits & 0x08000000u) {
3569 target = stream->EnsureSpace(target);
3570 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(109, this->_internal_use_exact_lp_reason(), target);
3574 if (cached_has_bits & 0x00000100u) {
3575 target = stream->EnsureSpace(target);
3576 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(110, this->_internal_cp_model_probing_level(), target);
3579 cached_has_bits = _has_bits_[0];
3581 if (cached_has_bits & 0x00800000u) {
3582 target = stream->EnsureSpace(target);
3583 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(111, this->_internal_add_knapsack_cuts(), target);
3586 cached_has_bits = _has_bits_[4];
3588 if (cached_has_bits & 0x00000200u) {
3589 target = stream->EnsureSpace(target);
3590 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_add_lp_constraints_lazily(), target);
3594 if (cached_has_bits & 0x00000008u) {
3595 target = stream->EnsureSpace(target);
3596 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_share_objective_bounds(), target);
3600 if (cached_has_bits & 0x00000010u) {
3601 target = stream->EnsureSpace(target);
3602 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(114, this->_internal_share_level_zero_bounds(), target);
3605 cached_has_bits = _has_bits_[3];
3607 if (cached_has_bits & 0x00002000u) {
3608 target = stream->EnsureSpace(target);
3609 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(115, this->_internal_min_orthogonality_for_lp_constraints(), target);
3613 if (cached_has_bits & 0x00000200u) {
3614 target = stream->EnsureSpace(target);
3615 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(116, this->_internal_exploit_all_lp_solution(), target);
3619 if (cached_has_bits & 0x00200000u) {
3620 target = stream->EnsureSpace(target);
3621 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_add_cg_cuts(), target);
3625 if (cached_has_bits & 0x00004000u) {
3626 target = stream->EnsureSpace(target);
3627 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(119, this->_internal_max_integer_rounding_scaling(), target);
3631 if (cached_has_bits & 0x00400000u) {
3632 target = stream->EnsureSpace(target);
3633 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_add_mir_cuts(), target);
3637 if (cached_has_bits & 0x00080000u) {
3638 target = stream->EnsureSpace(target);
3639 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(121, this->_internal_max_consecutive_inactive_count(), target);
3643 if (cached_has_bits & 0x02000000u) {
3644 target = stream->EnsureSpace(target);
3645 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_new_constraints_batch_size(), target);
3649 if (cached_has_bits & 0x01000000u) {
3650 target = stream->EnsureSpace(target);
3651 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(123, this->_internal_pseudo_cost_reliability_threshold(), target);
3655 if (cached_has_bits & 0x40000000u) {
3656 target = stream->EnsureSpace(target);
3657 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(124, this->_internal_mip_max_bound(), target);
3661 if (cached_has_bits & 0x80000000u) {
3662 target = stream->EnsureSpace(target);
3663 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(125, this->_internal_mip_var_scaling(), target);
3666 cached_has_bits = _has_bits_[4];
3668 if (cached_has_bits & 0x00000001u) {
3669 target = stream->EnsureSpace(target);
3670 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(126, this->_internal_mip_wanted_precision(), target);
3674 if (cached_has_bits & 0x00000004u) {
3675 target = stream->EnsureSpace(target);
3676 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mip_max_activity_exponent(), target);
3680 if (cached_has_bits & 0x00000002u) {
3681 target = stream->EnsureSpace(target);
3682 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(128, this->_internal_mip_check_precision(), target);
3686 if (cached_has_bits & 0x00000020u) {
3687 target = stream->EnsureSpace(target);
3688 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(129, this->_internal_use_rins_lns(), target);
3691 cached_has_bits = _has_bits_[1];
3693 if (cached_has_bits & 0x00000200u) {
3694 target = stream->EnsureSpace(target);
3695 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(130, this->_internal_exploit_best_solution(), target);
3698 cached_has_bits = _has_bits_[3];
3700 if (cached_has_bits & 0x00000400u) {
3701 target = stream->EnsureSpace(target);
3702 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(131, this->_internal_exploit_objective(), target);
3705 cached_has_bits = _has_bits_[1];
3707 if (cached_has_bits & 0x00000001u) {
3708 target = stream->EnsureSpace(target);
3709 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(132, this->_internal_fill_tightened_domains_in_response(), target);
3713 if (cached_has_bits & 0x00008000u) {
3714 target = stream->EnsureSpace(target);
3715 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_use_combined_no_overlap(), target);
3718 cached_has_bits = _has_bits_[4];
3720 if (cached_has_bits & 0x00000800u) {
3721 target = stream->EnsureSpace(target);
3722 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(134, this->_internal_interleave_batch_size(), target);
3725 cached_has_bits = _has_bits_[3];
3727 if (cached_has_bits & 0x10000000u) {
3728 target = stream->EnsureSpace(target);
3729 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_catch_sigint_signal(), target);
3732 cached_has_bits = _has_bits_[1];
3734 if (cached_has_bits & 0x00000080u) {
3735 target = stream->EnsureSpace(target);
3736 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(136, this->_internal_interleave_search(), target);
3740 if (cached_has_bits & 0x00000010u) {
3741 target = stream->EnsureSpace(target);
3742 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(137, this->_internal_diversify_lns_params(), target);
3745 cached_has_bits = _has_bits_[4];
3747 if (cached_has_bits & 0x00001000u) {
3748 target = stream->EnsureSpace(target);
3749 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(138, this->_internal_max_presolve_iterations(), target);
3752 cached_has_bits = _has_bits_[1];
3754 if (cached_has_bits & 0x00004000u) {
3755 target = stream->EnsureSpace(target);
3756 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(139, this->_internal_use_branching_in_lp(), target);
3759 cached_has_bits = _has_bits_[3];
3761 if (cached_has_bits & 0x00008000u) {
3762 target = stream->EnsureSpace(target);
3763 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(140, this->_internal_expand_element_constraints(), target);
3766 cached_has_bits = _has_bits_[1];
3768 if (cached_has_bits & 0x00000100u) {
3769 target = stream->EnsureSpace(target);
3770 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(141, this->_internal_reduce_memory_usage_in_interleave_mode(), target);
3774 if (cached_has_bits & 0x00040000u) {
3775 target = stream->EnsureSpace(target);
3776 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(142, this->_internal_probing_period_at_root(), target);
3779 cached_has_bits = _has_bits_[3];
3781 if (cached_has_bits & 0x00010000u) {
3782 target = stream->EnsureSpace(target);
3783 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(143, this->_internal_expand_automaton_constraints(), target);
3787 if (cached_has_bits & 0x20000000u) {
3788 target = stream->EnsureSpace(target);
3789 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(144, this->_internal_use_implied_bounds(), target);
3792 cached_has_bits = _has_bits_[4];
3794 if (cached_has_bits & 0x00004000u) {
3795 target = stream->EnsureSpace(target);
3796 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(145, this->_internal_merge_no_overlap_work_limit(), target);
3800 if (cached_has_bits & 0x00008000u) {
3801 target = stream->EnsureSpace(target);
3802 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(146, this->_internal_merge_at_most_one_work_limit(), target);
3806 if (cached_has_bits & 0x00002000u) {
3807 target = stream->EnsureSpace(target);
3808 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(147, this->_internal_presolve_substitution_level(), target);
3812 if (cached_has_bits & 0x00010000u) {
3813 target = stream->EnsureSpace(target);
3814 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(148, this->_internal_max_all_diff_cut_size(), target);
3817 cached_has_bits = _has_bits_[1];
3819 if (cached_has_bits & 0x00000040u) {
3820 target = stream->EnsureSpace(target);
3821 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(149, this->_internal_stop_after_presolve(), target);
3825 if (cached_has_bits & 0x00000008u) {
3826 target = stream->EnsureSpace(target);
3827 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(150, this->_internal_use_relaxation_lns(), target);
3831 if (cached_has_bits & 0x00020000u) {
3832 target = stream->EnsureSpace(target);
3833 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(151, this->_internal_cp_model_max_num_presolve_operations(), target);
3836 cached_has_bits = _has_bits_[4];
3838 if (cached_has_bits & 0x00000100u) {
3839 target = stream->EnsureSpace(target);
3840 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(152, this->_internal_add_lin_max_cuts(), target);
3844 if (cached_has_bits & 0x00020000u) {
3845 target = stream->EnsureSpace(target);
3846 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(153, this->_internal_hint_conflict_limit(), target);
3850 if (cached_has_bits & 0x00080000u) {
3851 target = stream->EnsureSpace(target);
3852 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(154, this->_internal_max_cut_rounds_at_level_zero(), target);
3856 if (cached_has_bits & 0x00040000u) {
3857 target = stream->EnsureSpace(target);
3858 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(155, this->_internal_cut_max_active_count_value(), target);
3862 if (cached_has_bits & 0x00200000u) {
3863 target = stream->EnsureSpace(target);
3864 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(156, this->_internal_cut_active_count_decay(), target);
3868 if (cached_has_bits & 0x00100000u) {
3869 target = stream->EnsureSpace(target);
3870 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(157, this->_internal_cut_cleanup_target(), target);
3873 cached_has_bits = _has_bits_[3];
3875 if (cached_has_bits & 0x00020000u) {
3876 target = stream->EnsureSpace(target);
3877 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(158, this->_internal_expand_table_constraints(), target);
3880 cached_has_bits = _has_bits_[1];
3882 if (cached_has_bits & 0x00080000u) {
3883 target = stream->EnsureSpace(target);
3884 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(159, this->_internal_absolute_gap_limit(), target);
3888 if (cached_has_bits & 0x00100000u) {
3889 target = stream->EnsureSpace(target);
3890 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(160, this->_internal_relative_gap_limit(), target);
3894 if (cached_has_bits & 0x00000400u) {
3895 target = stream->EnsureSpace(target);
3896 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(161, this->_internal_exploit_relaxation_solution(), target);
3899 cached_has_bits = _has_bits_[0];
3901 if (cached_has_bits & 0x00040000u) {
3902 target = stream->EnsureSpace(target);
3903 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(162, this->_internal_cp_model_postsolve_with_full_solver(), target);
3907 if (cached_has_bits & 0x00080000u) {
3908 target = stream->EnsureSpace(target);
3909 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(163, this->_internal_use_sat_inprocessing(), target);
3912 cached_has_bits = _has_bits_[4];
3914 if (cached_has_bits & 0x00000040u) {
3915 target = stream->EnsureSpace(target);
3916 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(164, this->_internal_use_feasibility_pump(), target);
3920 if (cached_has_bits & 0x00400000u) {
3921 target = stream->EnsureSpace(target);
3922 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3923 165, this->_internal_fp_rounding(), target);
3927 if (cached_has_bits & 0x00800000u) {
3928 target = stream->EnsureSpace(target);
3929 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(166, this->_internal_mip_automatically_scale_variables(), target);
3932 cached_has_bits = _has_bits_[0];
3934 if (cached_has_bits & 0x01000000u) {
3935 target = stream->EnsureSpace(target);
3936 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(167, this->_internal_repair_hint(), target);
3939 cached_has_bits = _has_bits_[1];
3941 if (cached_has_bits & 0x00200000u) {
3942 target = stream->EnsureSpace(target);
3943 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(168, this->_internal_polarity_rephase_increment(), target);
3946 cached_has_bits = _has_bits_[3];
3948 if (cached_has_bits & 0x00800000u) {
3949 target = stream->EnsureSpace(target);
3950 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(169, this->_internal_add_zero_half_cuts(), target);
3953 cached_has_bits = _has_bits_[0];
3955 if (cached_has_bits & 0x02000000u) {
3956 target = stream->EnsureSpace(target);
3957 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(170, this->_internal_expand_alldiff_constraints(), target);
3961 if (cached_has_bits & 0x00000002u) {
3962 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3963 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
3964 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3965 "operations_research.sat.SatParameters.name");
3966 target = stream->WriteStringMaybeAliased(
3967 171, this->_internal_name(), target);
3970 cached_has_bits = _has_bits_[4];
3972 if (cached_has_bits & 0x00000080u) {
3973 target = stream->EnsureSpace(target);
3974 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(172, this->_internal_add_clique_cuts(), target);
3977 cached_has_bits = _has_bits_[0];
3979 if (cached_has_bits & 0x80000000u) {
3980 target = stream->EnsureSpace(target);
3981 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(173, this->_internal_keep_all_feasible_solutions_in_presolve(), target);
3985 if (cached_has_bits & 0x04000000u) {
3986 target = stream->EnsureSpace(target);
3987 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(174, this->_internal_presolve_extract_integer_enforcement(), target);
3990 cached_has_bits = _has_bits_[1];
3992 if (cached_has_bits & 0x00010000u) {
3993 target = stream->EnsureSpace(target);
3994 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(175, this->_internal_polish_lp_solution(), target);
3998 if (cached_has_bits & 0x00000800u) {
3999 target = stream->EnsureSpace(target);
4000 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(176, this->_internal_use_probing_search(), target);
4003 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4004 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4005 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4011 size_t SatParameters::ByteSizeLong()
const {
4013 size_t total_size = 0;
4017 (void) cached_has_bits;
4021 size_t data_size = 0;
4022 unsigned int count =
static_cast<unsigned int>(this->_internal_restart_algorithms_size());
for (
unsigned int i = 0; i < count; i++) {
4023 data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
4024 this->_internal_restart_algorithms(
static_cast<int>(i)));
4026 total_size += (2UL * count) + data_size;
4029 cached_has_bits = _has_bits_[0];
4030 if (cached_has_bits & 0x000000ffu) {
4032 if (cached_has_bits & 0x00000001u) {
4034 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4035 this->_internal_default_restart_algorithms());
4039 if (cached_has_bits & 0x00000002u) {
4041 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4042 this->_internal_name());
4046 if (cached_has_bits & 0x00000004u) {
4048 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_preferred_variable_order());
4052 if (cached_has_bits & 0x00000008u) {
4054 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_assumption_order());
4058 if (cached_has_bits & 0x00000010u) {
4059 total_size += 2 + 8;
4063 if (cached_has_bits & 0x00000020u) {
4064 total_size += 2 + 8;
4068 if (cached_has_bits & 0x00000040u) {
4070 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_protection());
4074 if (cached_has_bits & 0x00000080u) {
4076 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_ordering());
4080 if (cached_has_bits & 0x0000ff00u) {
4082 if (cached_has_bits & 0x00000100u) {
4083 total_size += 2 + 1;
4087 if (cached_has_bits & 0x00000200u) {
4088 total_size += 2 + 1;
4092 if (cached_has_bits & 0x00000400u) {
4093 total_size += 2 + 1;
4097 if (cached_has_bits & 0x00000800u) {
4098 total_size += 2 + 1;
4102 if (cached_has_bits & 0x00001000u) {
4104 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4105 this->_internal_num_conflicts_before_strategy_changes());
4109 if (cached_has_bits & 0x00002000u) {
4110 total_size += 2 + 8;
4114 if (cached_has_bits & 0x00004000u) {
4115 total_size += 2 + 8;
4119 if (cached_has_bits & 0x00008000u) {
4121 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_search_branching());
4125 if (cached_has_bits & 0x00ff0000u) {
4127 if (cached_has_bits & 0x00010000u) {
4128 total_size += 2 + 1;
4132 if (cached_has_bits & 0x00020000u) {
4133 total_size += 2 + 1;
4137 if (cached_has_bits & 0x00040000u) {
4138 total_size += 2 + 1;
4142 if (cached_has_bits & 0x00080000u) {
4143 total_size += 2 + 1;
4147 if (cached_has_bits & 0x00100000u) {
4149 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4150 this->_internal_search_randomization_tolerance());
4154 if (cached_has_bits & 0x00200000u) {
4155 total_size += 2 + 1;
4159 if (cached_has_bits & 0x00400000u) {
4160 total_size += 2 + 1;
4164 if (cached_has_bits & 0x00800000u) {
4165 total_size += 2 + 1;
4169 if (cached_has_bits & 0xff000000u) {
4171 if (cached_has_bits & 0x01000000u) {
4172 total_size += 2 + 1;
4176 if (cached_has_bits & 0x02000000u) {
4177 total_size += 2 + 1;
4181 if (cached_has_bits & 0x04000000u) {
4182 total_size += 2 + 1;
4186 if (cached_has_bits & 0x08000000u) {
4187 total_size += 2 + 1;
4191 if (cached_has_bits & 0x10000000u) {
4192 total_size += 2 + 1;
4196 if (cached_has_bits & 0x20000000u) {
4197 total_size += 2 + 1;
4201 if (cached_has_bits & 0x40000000u) {
4202 total_size += 2 + 1;
4206 if (cached_has_bits & 0x80000000u) {
4207 total_size += 2 + 1;
4211 cached_has_bits = _has_bits_[1];
4212 if (cached_has_bits & 0x000000ffu) {
4214 if (cached_has_bits & 0x00000001u) {
4215 total_size += 2 + 1;
4219 if (cached_has_bits & 0x00000002u) {
4220 total_size += 2 + 1;
4224 if (cached_has_bits & 0x00000004u) {
4225 total_size += 2 + 1;
4229 if (cached_has_bits & 0x00000008u) {
4230 total_size += 2 + 1;
4234 if (cached_has_bits & 0x00000010u) {
4235 total_size += 2 + 1;
4239 if (cached_has_bits & 0x00000020u) {
4240 total_size += 2 + 1;
4244 if (cached_has_bits & 0x00000040u) {
4245 total_size += 2 + 1;
4249 if (cached_has_bits & 0x00000080u) {
4250 total_size += 2 + 1;
4254 if (cached_has_bits & 0x0000ff00u) {
4256 if (cached_has_bits & 0x00000100u) {
4257 total_size += 2 + 1;
4261 if (cached_has_bits & 0x00000200u) {
4262 total_size += 2 + 1;
4266 if (cached_has_bits & 0x00000400u) {
4267 total_size += 2 + 1;
4271 if (cached_has_bits & 0x00000800u) {
4272 total_size += 2 + 1;
4276 if (cached_has_bits & 0x00001000u) {
4277 total_size += 2 + 1;
4281 if (cached_has_bits & 0x00002000u) {
4282 total_size += 2 + 1;
4286 if (cached_has_bits & 0x00004000u) {
4287 total_size += 2 + 1;
4291 if (cached_has_bits & 0x00008000u) {
4292 total_size += 2 + 1;
4296 if (cached_has_bits & 0x00ff0000u) {
4298 if (cached_has_bits & 0x00010000u) {
4299 total_size += 2 + 1;
4303 if (cached_has_bits & 0x00020000u) {
4305 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4306 this->_internal_cp_model_max_num_presolve_operations());
4310 if (cached_has_bits & 0x00040000u) {
4312 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4313 this->_internal_probing_period_at_root());
4317 if (cached_has_bits & 0x00080000u) {
4318 total_size += 2 + 8;
4322 if (cached_has_bits & 0x00100000u) {
4323 total_size += 2 + 8;
4327 if (cached_has_bits & 0x00200000u) {
4329 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4330 this->_internal_polarity_rephase_increment());
4334 if (cached_has_bits & 0x00400000u) {
4336 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_polarity());
4340 if (cached_has_bits & 0x00800000u) {
4342 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_minimization_algorithm());
4346 if (cached_has_bits & 0xff000000u) {
4348 if (cached_has_bits & 0x01000000u) {
4350 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4351 this->_internal_clause_cleanup_period());
4355 if (cached_has_bits & 0x02000000u) {
4357 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4358 this->_internal_clause_cleanup_target());
4362 if (cached_has_bits & 0x04000000u) {
4363 total_size += 1 + 8;
4367 if (cached_has_bits & 0x08000000u) {
4368 total_size += 2 + 8;
4372 if (cached_has_bits & 0x10000000u) {
4373 total_size += 2 + 8;
4377 if (cached_has_bits & 0x20000000u) {
4378 total_size += 2 + 8;
4382 if (cached_has_bits & 0x40000000u) {
4383 total_size += 2 + 8;
4387 if (cached_has_bits & 0x80000000u) {
4388 total_size += 2 + 8;
4392 cached_has_bits = _has_bits_[2];
4393 if (cached_has_bits & 0x000000ffu) {
4395 if (cached_has_bits & 0x00000001u) {
4397 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4398 this->_internal_glucose_decay_increment_period());
4402 if (cached_has_bits & 0x00000002u) {
4404 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4405 this->_internal_restart_period());
4409 if (cached_has_bits & 0x00000004u) {
4411 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4412 this->_internal_random_seed());
4416 if (cached_has_bits & 0x00000008u) {
4418 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_binary_minimization_algorithm());
4422 if (cached_has_bits & 0x00000010u) {
4423 total_size += 2 + 8;
4427 if (cached_has_bits & 0x00000020u) {
4429 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4430 this->_internal_max_number_of_conflicts());
4434 if (cached_has_bits & 0x00000040u) {
4436 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4437 this->_internal_max_memory_in_mb());
4441 if (cached_has_bits & 0x00000080u) {
4442 total_size += 2 + 1;
4446 if (cached_has_bits & 0x0000ff00u) {
4448 if (cached_has_bits & 0x00000100u) {
4449 total_size += 2 + 1;
4453 if (cached_has_bits & 0x00000200u) {
4454 total_size += 2 + 1;
4458 if (cached_has_bits & 0x00000400u) {
4459 total_size += 2 + 1;
4463 if (cached_has_bits & 0x00000800u) {
4465 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4466 this->_internal_pb_cleanup_increment());
4470 if (cached_has_bits & 0x00001000u) {
4471 total_size += 2 + 8;
4475 if (cached_has_bits & 0x00002000u) {
4477 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_stratification());
4481 if (cached_has_bits & 0x00004000u) {
4483 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4484 this->_internal_presolve_bve_threshold());
4488 if (cached_has_bits & 0x00008000u) {
4489 total_size += 2 + 8;
4493 if (cached_has_bits & 0x00ff0000u) {
4495 if (cached_has_bits & 0x00010000u) {
4497 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4498 this->_internal_presolve_bve_clause_weight());
4502 if (cached_has_bits & 0x00020000u) {
4504 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4505 this->_internal_clause_cleanup_lbd_bound());
4509 if (cached_has_bits & 0x00040000u) {
4510 total_size += 2 + 8;
4514 if (cached_has_bits & 0x00080000u) {
4516 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4517 this->_internal_restart_running_window_size());
4521 if (cached_has_bits & 0x00100000u) {
4523 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4524 this->_internal_blocking_restart_window_size());
4528 if (cached_has_bits & 0x00200000u) {
4529 total_size += 2 + 8;
4533 if (cached_has_bits & 0x00400000u) {
4534 total_size += 2 + 8;
4538 if (cached_has_bits & 0x00800000u) {
4539 total_size += 2 + 8;
4543 if (cached_has_bits & 0xff000000u) {
4545 if (cached_has_bits & 0x01000000u) {
4547 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4548 this->_internal_presolve_bva_threshold());
4552 if (cached_has_bits & 0x02000000u) {
4553 total_size += 2 + 1;
4557 if (cached_has_bits & 0x04000000u) {
4558 total_size += 2 + 1;
4562 if (cached_has_bits & 0x08000000u) {
4563 total_size += 2 + 1;
4567 if (cached_has_bits & 0x10000000u) {
4568 total_size += 2 + 1;
4572 if (cached_has_bits & 0x20000000u) {
4573 total_size += 2 + 1;
4577 if (cached_has_bits & 0x40000000u) {
4578 total_size += 2 + 1;
4582 if (cached_has_bits & 0x80000000u) {
4583 total_size += 2 + 1;
4587 cached_has_bits = _has_bits_[3];
4588 if (cached_has_bits & 0x000000ffu) {
4590 if (cached_has_bits & 0x00000001u) {
4591 total_size += 2 + 1;
4595 if (cached_has_bits & 0x00000002u) {
4597 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4598 this->_internal_linearization_level());
4602 if (cached_has_bits & 0x00000004u) {
4604 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4605 this->_internal_max_num_cuts());
4609 if (cached_has_bits & 0x00000008u) {
4611 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4612 this->_internal_minimize_with_propagation_restart_period());
4616 if (cached_has_bits & 0x00000010u) {
4618 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4619 this->_internal_minimize_with_propagation_num_decisions());
4623 if (cached_has_bits & 0x00000020u) {
4625 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4626 this->_internal_binary_search_num_conflicts());
4630 if (cached_has_bits & 0x00000040u) {
4632 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4633 this->_internal_num_search_workers());
4637 if (cached_has_bits & 0x00000080u) {
4639 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4640 this->_internal_boolean_encoding_level());
4644 if (cached_has_bits & 0x0000ff00u) {
4646 if (cached_has_bits & 0x00000100u) {
4648 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4649 this->_internal_cp_model_probing_level());
4653 if (cached_has_bits & 0x00000200u) {
4654 total_size += 2 + 1;
4658 if (cached_has_bits & 0x00000400u) {
4659 total_size += 2 + 1;
4663 if (cached_has_bits & 0x00000800u) {
4664 total_size += 2 + 1;
4668 if (cached_has_bits & 0x00001000u) {
4669 total_size += 2 + 1;
4673 if (cached_has_bits & 0x00002000u) {
4674 total_size += 2 + 8;
4678 if (cached_has_bits & 0x00004000u) {
4680 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4681 this->_internal_max_integer_rounding_scaling());
4685 if (cached_has_bits & 0x00008000u) {
4686 total_size += 2 + 1;
4690 if (cached_has_bits & 0x00ff0000u) {
4692 if (cached_has_bits & 0x00010000u) {
4693 total_size += 2 + 1;
4697 if (cached_has_bits & 0x00020000u) {
4698 total_size += 2 + 1;
4702 if (cached_has_bits & 0x00040000u) {
4703 total_size += 2 + 1;
4707 if (cached_has_bits & 0x00080000u) {
4709 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4710 this->_internal_max_consecutive_inactive_count());
4714 if (cached_has_bits & 0x00100000u) {
4715 total_size += 2 + 1;
4719 if (cached_has_bits & 0x00200000u) {
4720 total_size += 2 + 1;
4724 if (cached_has_bits & 0x00400000u) {
4725 total_size += 2 + 1;
4729 if (cached_has_bits & 0x00800000u) {
4730 total_size += 2 + 1;
4734 if (cached_has_bits & 0xff000000u) {
4736 if (cached_has_bits & 0x01000000u) {
4738 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4739 this->_internal_pseudo_cost_reliability_threshold());
4743 if (cached_has_bits & 0x02000000u) {
4745 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4746 this->_internal_new_constraints_batch_size());
4750 if (cached_has_bits & 0x04000000u) {
4751 total_size += 2 + 1;
4755 if (cached_has_bits & 0x08000000u) {
4756 total_size += 2 + 1;
4760 if (cached_has_bits & 0x10000000u) {
4761 total_size += 2 + 1;
4765 if (cached_has_bits & 0x20000000u) {
4766 total_size += 2 + 1;
4770 if (cached_has_bits & 0x40000000u) {
4771 total_size += 2 + 8;
4775 if (cached_has_bits & 0x80000000u) {
4776 total_size += 2 + 8;
4780 cached_has_bits = _has_bits_[4];
4781 if (cached_has_bits & 0x000000ffu) {
4783 if (cached_has_bits & 0x00000001u) {
4784 total_size += 2 + 8;
4788 if (cached_has_bits & 0x00000002u) {
4789 total_size += 2 + 8;
4793 if (cached_has_bits & 0x00000004u) {
4795 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4796 this->_internal_mip_max_activity_exponent());
4800 if (cached_has_bits & 0x00000008u) {
4801 total_size += 2 + 1;
4805 if (cached_has_bits & 0x00000010u) {
4806 total_size += 2 + 1;
4810 if (cached_has_bits & 0x00000020u) {
4811 total_size += 2 + 1;
4815 if (cached_has_bits & 0x00000040u) {
4816 total_size += 2 + 1;
4820 if (cached_has_bits & 0x00000080u) {
4821 total_size += 2 + 1;
4825 if (cached_has_bits & 0x0000ff00u) {
4827 if (cached_has_bits & 0x00000100u) {
4828 total_size += 2 + 1;
4832 if (cached_has_bits & 0x00000200u) {
4833 total_size += 2 + 1;
4837 if (cached_has_bits & 0x00000400u) {
4838 total_size += 2 + 1;
4842 if (cached_has_bits & 0x00000800u) {
4844 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4845 this->_internal_interleave_batch_size());
4849 if (cached_has_bits & 0x00001000u) {
4851 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4852 this->_internal_max_presolve_iterations());
4856 if (cached_has_bits & 0x00002000u) {
4858 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4859 this->_internal_presolve_substitution_level());
4863 if (cached_has_bits & 0x00004000u) {
4864 total_size += 2 + 8;
4868 if (cached_has_bits & 0x00008000u) {
4869 total_size += 2 + 8;
4873 if (cached_has_bits & 0x00ff0000u) {
4875 if (cached_has_bits & 0x00010000u) {
4877 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4878 this->_internal_max_all_diff_cut_size());
4882 if (cached_has_bits & 0x00020000u) {
4884 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4885 this->_internal_hint_conflict_limit());
4889 if (cached_has_bits & 0x00040000u) {
4890 total_size += 2 + 8;
4894 if (cached_has_bits & 0x00080000u) {
4896 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4897 this->_internal_max_cut_rounds_at_level_zero());
4901 if (cached_has_bits & 0x00100000u) {
4903 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4904 this->_internal_cut_cleanup_target());
4908 if (cached_has_bits & 0x00200000u) {
4909 total_size += 2 + 8;
4913 if (cached_has_bits & 0x00400000u) {
4915 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fp_rounding());
4919 if (cached_has_bits & 0x00800000u) {
4920 total_size += 2 + 1;
4924 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4925 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
4926 _internal_metadata_, total_size, &_cached_size_);
4928 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
4929 SetCachedSize(cached_size);
4933 void SatParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4935 GOOGLE_DCHECK_NE(&from,
this);
4936 const SatParameters* source =
4937 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SatParameters>(
4939 if (source ==
nullptr) {
4941 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
4948 void SatParameters::MergeFrom(
const SatParameters& from) {
4950 GOOGLE_DCHECK_NE(&from,
this);
4951 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4953 (void) cached_has_bits;
4955 restart_algorithms_.MergeFrom(from.restart_algorithms_);
4956 cached_has_bits = from._has_bits_[0];
4957 if (cached_has_bits & 0x000000ffu) {
4958 if (cached_has_bits & 0x00000001u) {
4959 _internal_set_default_restart_algorithms(from._internal_default_restart_algorithms());
4961 if (cached_has_bits & 0x00000002u) {
4962 _internal_set_name(from._internal_name());
4964 if (cached_has_bits & 0x00000004u) {
4965 preferred_variable_order_ = from.preferred_variable_order_;
4967 if (cached_has_bits & 0x00000008u) {
4968 max_sat_assumption_order_ = from.max_sat_assumption_order_;
4970 if (cached_has_bits & 0x00000010u) {
4971 random_branches_ratio_ = from.random_branches_ratio_;
4973 if (cached_has_bits & 0x00000020u) {
4974 random_polarity_ratio_ = from.random_polarity_ratio_;
4976 if (cached_has_bits & 0x00000040u) {
4977 clause_cleanup_protection_ = from.clause_cleanup_protection_;
4979 if (cached_has_bits & 0x00000080u) {
4980 clause_cleanup_ordering_ = from.clause_cleanup_ordering_;
4982 _has_bits_[0] |= cached_has_bits;
4984 if (cached_has_bits & 0x0000ff00u) {
4985 if (cached_has_bits & 0x00000100u) {
4986 use_erwa_heuristic_ = from.use_erwa_heuristic_;
4988 if (cached_has_bits & 0x00000200u) {
4989 also_bump_variables_in_conflict_reasons_ = from.also_bump_variables_in_conflict_reasons_;
4991 if (cached_has_bits & 0x00000400u) {
4992 use_blocking_restart_ = from.use_blocking_restart_;
4994 if (cached_has_bits & 0x00000800u) {
4995 log_search_progress_ = from.log_search_progress_;
4997 if (cached_has_bits & 0x00001000u) {
4998 num_conflicts_before_strategy_changes_ = from.num_conflicts_before_strategy_changes_;
5000 if (cached_has_bits & 0x00002000u) {
5001 strategy_change_increase_ratio_ = from.strategy_change_increase_ratio_;
5003 if (cached_has_bits & 0x00004000u) {
5004 initial_variables_activity_ = from.initial_variables_activity_;
5006 if (cached_has_bits & 0x00008000u) {
5007 search_branching_ = from.search_branching_;
5009 _has_bits_[0] |= cached_has_bits;
5011 if (cached_has_bits & 0x00ff0000u) {
5012 if (cached_has_bits & 0x00010000u) {
5013 use_pb_resolution_ = from.use_pb_resolution_;
5015 if (cached_has_bits & 0x00020000u) {
5016 minimize_reduction_during_pb_resolution_ = from.minimize_reduction_during_pb_resolution_;
5018 if (cached_has_bits & 0x00040000u) {
5019 cp_model_postsolve_with_full_solver_ = from.cp_model_postsolve_with_full_solver_;
5021 if (cached_has_bits & 0x00080000u) {
5022 use_sat_inprocessing_ = from.use_sat_inprocessing_;
5024 if (cached_has_bits & 0x00100000u) {
5025 search_randomization_tolerance_ = from.search_randomization_tolerance_;
5027 if (cached_has_bits & 0x00200000u) {
5028 use_timetable_edge_finding_in_cumulative_constraint_ = from.use_timetable_edge_finding_in_cumulative_constraint_;
5030 if (cached_has_bits & 0x00400000u) {
5031 only_add_cuts_at_level_zero_ = from.only_add_cuts_at_level_zero_;
5033 if (cached_has_bits & 0x00800000u) {
5034 add_knapsack_cuts_ = from.add_knapsack_cuts_;
5036 _has_bits_[0] |= cached_has_bits;
5038 if (cached_has_bits & 0xff000000u) {
5039 if (cached_has_bits & 0x01000000u) {
5040 repair_hint_ = from.repair_hint_;
5042 if (cached_has_bits & 0x02000000u) {
5043 expand_alldiff_constraints_ = from.expand_alldiff_constraints_;
5045 if (cached_has_bits & 0x04000000u) {
5046 presolve_extract_integer_enforcement_ = from.presolve_extract_integer_enforcement_;
5048 if (cached_has_bits & 0x08000000u) {
5049 max_sat_reverse_assumption_order_ = from.max_sat_reverse_assumption_order_;
5051 if (cached_has_bits & 0x10000000u) {
5052 use_overload_checker_in_cumulative_constraint_ = from.use_overload_checker_in_cumulative_constraint_;
5054 if (cached_has_bits & 0x20000000u) {
5055 optimize_with_max_hs_ = from.optimize_with_max_hs_;
5057 if (cached_has_bits & 0x40000000u) {
5058 enumerate_all_solutions_ = from.enumerate_all_solutions_;
5060 if (cached_has_bits & 0x80000000u) {
5061 keep_all_feasible_solutions_in_presolve_ = from.keep_all_feasible_solutions_in_presolve_;
5063 _has_bits_[0] |= cached_has_bits;
5065 cached_has_bits = from._has_bits_[1];
5066 if (cached_has_bits & 0x000000ffu) {
5067 if (cached_has_bits & 0x00000001u) {
5068 fill_tightened_domains_in_response_ = from.fill_tightened_domains_in_response_;
5070 if (cached_has_bits & 0x00000002u) {
5071 use_lns_only_ = from.use_lns_only_;
5073 if (cached_has_bits & 0x00000004u) {
5074 lns_focus_on_decision_variables_ = from.lns_focus_on_decision_variables_;
5076 if (cached_has_bits & 0x00000008u) {
5077 use_relaxation_lns_ = from.use_relaxation_lns_;
5079 if (cached_has_bits & 0x00000010u) {
5080 diversify_lns_params_ = from.diversify_lns_params_;
5082 if (cached_has_bits & 0x00000020u) {
5083 stop_after_first_solution_ = from.stop_after_first_solution_;
5085 if (cached_has_bits & 0x00000040u) {
5086 stop_after_presolve_ = from.stop_after_presolve_;
5088 if (cached_has_bits & 0x00000080u) {
5089 interleave_search_ = from.interleave_search_;
5091 _has_bits_[1] |= cached_has_bits;
5093 if (cached_has_bits & 0x0000ff00u) {
5094 if (cached_has_bits & 0x00000100u) {
5095 reduce_memory_usage_in_interleave_mode_ = from.reduce_memory_usage_in_interleave_mode_;
5097 if (cached_has_bits & 0x00000200u) {
5098 exploit_best_solution_ = from.exploit_best_solution_;
5100 if (cached_has_bits & 0x00000400u) {
5101 exploit_relaxation_solution_ = from.exploit_relaxation_solution_;
5103 if (cached_has_bits & 0x00000800u) {
5104 use_probing_search_ = from.use_probing_search_;
5106 if (cached_has_bits & 0x00001000u) {
5107 optimize_with_core_ = from.optimize_with_core_;
5109 if (cached_has_bits & 0x00002000u) {
5110 randomize_search_ = from.randomize_search_;
5112 if (cached_has_bits & 0x00004000u) {
5113 use_branching_in_lp_ = from.use_branching_in_lp_;
5115 if (cached_has_bits & 0x00008000u) {
5116 use_combined_no_overlap_ = from.use_combined_no_overlap_;
5118 _has_bits_[1] |= cached_has_bits;
5120 if (cached_has_bits & 0x00ff0000u) {
5121 if (cached_has_bits & 0x00010000u) {
5122 polish_lp_solution_ = from.polish_lp_solution_;
5124 if (cached_has_bits & 0x00020000u) {
5125 cp_model_max_num_presolve_operations_ = from.cp_model_max_num_presolve_operations_;
5127 if (cached_has_bits & 0x00040000u) {
5128 probing_period_at_root_ = from.probing_period_at_root_;
5130 if (cached_has_bits & 0x00080000u) {
5131 absolute_gap_limit_ = from.absolute_gap_limit_;
5133 if (cached_has_bits & 0x00100000u) {
5134 relative_gap_limit_ = from.relative_gap_limit_;
5136 if (cached_has_bits & 0x00200000u) {
5137 polarity_rephase_increment_ = from.polarity_rephase_increment_;
5139 if (cached_has_bits & 0x00400000u) {
5140 initial_polarity_ = from.initial_polarity_;
5142 if (cached_has_bits & 0x00800000u) {
5143 minimization_algorithm_ = from.minimization_algorithm_;
5145 _has_bits_[1] |= cached_has_bits;
5147 if (cached_has_bits & 0xff000000u) {
5148 if (cached_has_bits & 0x01000000u) {
5149 clause_cleanup_period_ = from.clause_cleanup_period_;
5151 if (cached_has_bits & 0x02000000u) {
5152 clause_cleanup_target_ = from.clause_cleanup_target_;
5154 if (cached_has_bits & 0x04000000u) {
5155 variable_activity_decay_ = from.variable_activity_decay_;
5157 if (cached_has_bits & 0x08000000u) {
5158 max_variable_activity_value_ = from.max_variable_activity_value_;
5160 if (cached_has_bits & 0x10000000u) {
5161 clause_activity_decay_ = from.clause_activity_decay_;
5163 if (cached_has_bits & 0x20000000u) {
5164 max_clause_activity_value_ = from.max_clause_activity_value_;
5166 if (cached_has_bits & 0x40000000u) {
5167 glucose_max_decay_ = from.glucose_max_decay_;
5169 if (cached_has_bits & 0x80000000u) {
5170 glucose_decay_increment_ = from.glucose_decay_increment_;
5172 _has_bits_[1] |= cached_has_bits;
5174 cached_has_bits = from._has_bits_[2];
5175 if (cached_has_bits & 0x000000ffu) {
5176 if (cached_has_bits & 0x00000001u) {
5177 glucose_decay_increment_period_ = from.glucose_decay_increment_period_;
5179 if (cached_has_bits & 0x00000002u) {
5180 restart_period_ = from.restart_period_;
5182 if (cached_has_bits & 0x00000004u) {
5183 random_seed_ = from.random_seed_;
5185 if (cached_has_bits & 0x00000008u) {
5186 binary_minimization_algorithm_ = from.binary_minimization_algorithm_;
5188 if (cached_has_bits & 0x00000010u) {
5189 max_time_in_seconds_ = from.max_time_in_seconds_;
5191 if (cached_has_bits & 0x00000020u) {
5192 max_number_of_conflicts_ = from.max_number_of_conflicts_;
5194 if (cached_has_bits & 0x00000040u) {
5195 max_memory_in_mb_ = from.max_memory_in_mb_;
5197 if (cached_has_bits & 0x00000080u) {
5198 use_phase_saving_ = from.use_phase_saving_;
5200 _has_bits_[2] |= cached_has_bits;
5202 if (cached_has_bits & 0x0000ff00u) {
5203 if (cached_has_bits & 0x00000100u) {
5204 subsumption_during_conflict_analysis_ = from.subsumption_during_conflict_analysis_;
5206 if (cached_has_bits & 0x00000200u) {
5207 treat_binary_clauses_separately_ = from.treat_binary_clauses_separately_;
5209 if (cached_has_bits & 0x00000400u) {
5210 count_assumption_levels_in_lbd_ = from.count_assumption_levels_in_lbd_;
5212 if (cached_has_bits & 0x00000800u) {
5213 pb_cleanup_increment_ = from.pb_cleanup_increment_;
5215 if (cached_has_bits & 0x00001000u) {
5216 pb_cleanup_ratio_ = from.pb_cleanup_ratio_;
5218 if (cached_has_bits & 0x00002000u) {
5219 max_sat_stratification_ = from.max_sat_stratification_;
5221 if (cached_has_bits & 0x00004000u) {
5222 presolve_bve_threshold_ = from.presolve_bve_threshold_;
5224 if (cached_has_bits & 0x00008000u) {
5225 presolve_probing_deterministic_time_limit_ = from.presolve_probing_deterministic_time_limit_;
5227 _has_bits_[2] |= cached_has_bits;
5229 if (cached_has_bits & 0x00ff0000u) {
5230 if (cached_has_bits & 0x00010000u) {
5231 presolve_bve_clause_weight_ = from.presolve_bve_clause_weight_;
5233 if (cached_has_bits & 0x00020000u) {
5234 clause_cleanup_lbd_bound_ = from.clause_cleanup_lbd_bound_;
5236 if (cached_has_bits & 0x00040000u) {
5237 restart_dl_average_ratio_ = from.restart_dl_average_ratio_;
5239 if (cached_has_bits & 0x00080000u) {
5240 restart_running_window_size_ = from.restart_running_window_size_;
5242 if (cached_has_bits & 0x00100000u) {
5243 blocking_restart_window_size_ = from.blocking_restart_window_size_;
5245 if (cached_has_bits & 0x00200000u) {
5246 blocking_restart_multiplier_ = from.blocking_restart_multiplier_;
5248 if (cached_has_bits & 0x00400000u) {
5249 max_deterministic_time_ = from.max_deterministic_time_;
5251 if (cached_has_bits & 0x00800000u) {
5252 restart_lbd_average_ratio_ = from.restart_lbd_average_ratio_;
5254 _has_bits_[2] |= cached_has_bits;
5256 if (cached_has_bits & 0xff000000u) {
5257 if (cached_has_bits & 0x01000000u) {
5258 presolve_bva_threshold_ = from.presolve_bva_threshold_;
5260 if (cached_has_bits & 0x02000000u) {
5261 minimize_core_ = from.minimize_core_;
5263 if (cached_has_bits & 0x04000000u) {
5264 find_multiple_cores_ = from.find_multiple_cores_;
5266 if (cached_has_bits & 0x08000000u) {
5267 cover_optimization_ = from.cover_optimization_;
5269 if (cached_has_bits & 0x10000000u) {
5270 use_precedences_in_disjunctive_constraint_ = from.use_precedences_in_disjunctive_constraint_;
5272 if (cached_has_bits & 0x20000000u) {
5273 presolve_blocked_clause_ = from.presolve_blocked_clause_;
5275 if (cached_has_bits & 0x40000000u) {
5276 presolve_use_bva_ = from.presolve_use_bva_;
5278 if (cached_has_bits & 0x80000000u) {
5279 cp_model_presolve_ = from.cp_model_presolve_;
5281 _has_bits_[2] |= cached_has_bits;
5283 cached_has_bits = from._has_bits_[3];
5284 if (cached_has_bits & 0x000000ffu) {
5285 if (cached_has_bits & 0x00000001u) {
5286 cp_model_use_sat_presolve_ = from.cp_model_use_sat_presolve_;
5288 if (cached_has_bits & 0x00000002u) {
5289 linearization_level_ = from.linearization_level_;
5291 if (cached_has_bits & 0x00000004u) {
5292 max_num_cuts_ = from.max_num_cuts_;
5294 if (cached_has_bits & 0x00000008u) {
5295 minimize_with_propagation_restart_period_ = from.minimize_with_propagation_restart_period_;
5297 if (cached_has_bits & 0x00000010u) {
5298 minimize_with_propagation_num_decisions_ = from.minimize_with_propagation_num_decisions_;
5300 if (cached_has_bits & 0x00000020u) {
5301 binary_search_num_conflicts_ = from.binary_search_num_conflicts_;
5303 if (cached_has_bits & 0x00000040u) {
5304 num_search_workers_ = from.num_search_workers_;
5306 if (cached_has_bits & 0x00000080u) {
5307 boolean_encoding_level_ = from.boolean_encoding_level_;
5309 _has_bits_[3] |= cached_has_bits;
5311 if (cached_has_bits & 0x0000ff00u) {
5312 if (cached_has_bits & 0x00000100u) {
5313 cp_model_probing_level_ = from.cp_model_probing_level_;
5315 if (cached_has_bits & 0x00000200u) {
5316 exploit_all_lp_solution_ = from.exploit_all_lp_solution_;
5318 if (cached_has_bits & 0x00000400u) {
5319 exploit_objective_ = from.exploit_objective_;
5321 if (cached_has_bits & 0x00000800u) {
5322 instantiate_all_variables_ = from.instantiate_all_variables_;
5324 if (cached_has_bits & 0x00001000u) {
5325 auto_detect_greater_than_at_least_one_of_ = from.auto_detect_greater_than_at_least_one_of_;
5327 if (cached_has_bits & 0x00002000u) {
5328 min_orthogonality_for_lp_constraints_ = from.min_orthogonality_for_lp_constraints_;
5330 if (cached_has_bits & 0x00004000u) {
5331 max_integer_rounding_scaling_ = from.max_integer_rounding_scaling_;
5333 if (cached_has_bits & 0x00008000u) {
5334 expand_element_constraints_ = from.expand_element_constraints_;
5336 _has_bits_[3] |= cached_has_bits;
5338 if (cached_has_bits & 0x00ff0000u) {
5339 if (cached_has_bits & 0x00010000u) {
5340 expand_automaton_constraints_ = from.expand_automaton_constraints_;
5342 if (cached_has_bits & 0x00020000u) {
5343 expand_table_constraints_ = from.expand_table_constraints_;
5345 if (cached_has_bits & 0x00040000u) {
5346 use_optimization_hints_ = from.use_optimization_hints_;
5348 if (cached_has_bits & 0x00080000u) {
5349 max_consecutive_inactive_count_ = from.max_consecutive_inactive_count_;
5351 if (cached_has_bits & 0x00100000u) {
5352 use_disjunctive_constraint_in_cumulative_constraint_ = from.use_disjunctive_constraint_in_cumulative_constraint_;
5354 if (cached_has_bits & 0x00200000u) {
5355 add_cg_cuts_ = from.add_cg_cuts_;
5357 if (cached_has_bits & 0x00400000u) {
5358 add_mir_cuts_ = from.add_mir_cuts_;
5360 if (cached_has_bits & 0x00800000u) {
5361 add_zero_half_cuts_ = from.add_zero_half_cuts_;
5363 _has_bits_[3] |= cached_has_bits;
5365 if (cached_has_bits & 0xff000000u) {
5366 if (cached_has_bits & 0x01000000u) {
5367 pseudo_cost_reliability_threshold_ = from.pseudo_cost_reliability_threshold_;
5369 if (cached_has_bits & 0x02000000u) {
5370 new_constraints_batch_size_ = from.new_constraints_batch_size_;
5372 if (cached_has_bits & 0x04000000u) {
5373 use_optional_variables_ = from.use_optional_variables_;
5375 if (cached_has_bits & 0x08000000u) {
5376 use_exact_lp_reason_ = from.use_exact_lp_reason_;
5378 if (cached_has_bits & 0x10000000u) {
5379 catch_sigint_signal_ = from.catch_sigint_signal_;
5381 if (cached_has_bits & 0x20000000u) {
5382 use_implied_bounds_ = from.use_implied_bounds_;
5384 if (cached_has_bits & 0x40000000u) {
5385 mip_max_bound_ = from.mip_max_bound_;
5387 if (cached_has_bits & 0x80000000u) {
5388 mip_var_scaling_ = from.mip_var_scaling_;
5390 _has_bits_[3] |= cached_has_bits;
5392 cached_has_bits = from._has_bits_[4];
5393 if (cached_has_bits & 0x000000ffu) {
5394 if (cached_has_bits & 0x00000001u) {
5395 mip_wanted_precision_ = from.mip_wanted_precision_;
5397 if (cached_has_bits & 0x00000002u) {
5398 mip_check_precision_ = from.mip_check_precision_;
5400 if (cached_has_bits & 0x00000004u) {
5401 mip_max_activity_exponent_ = from.mip_max_activity_exponent_;
5403 if (cached_has_bits & 0x00000008u) {
5404 share_objective_bounds_ = from.share_objective_bounds_;
5406 if (cached_has_bits & 0x00000010u) {
5407 share_level_zero_bounds_ = from.share_level_zero_bounds_;
5409 if (cached_has_bits & 0x00000020u) {
5410 use_rins_lns_ = from.use_rins_lns_;
5412 if (cached_has_bits & 0x00000040u) {
5413 use_feasibility_pump_ = from.use_feasibility_pump_;
5415 if (cached_has_bits & 0x00000080u) {
5416 add_clique_cuts_ = from.add_clique_cuts_;
5418 _has_bits_[4] |= cached_has_bits;
5420 if (cached_has_bits & 0x0000ff00u) {
5421 if (cached_has_bits & 0x00000100u) {
5422 add_lin_max_cuts_ = from.add_lin_max_cuts_;
5424 if (cached_has_bits & 0x00000200u) {
5425 add_lp_constraints_lazily_ = from.add_lp_constraints_lazily_;
5427 if (cached_has_bits & 0x00000400u) {
5428 exploit_integer_lp_solution_ = from.exploit_integer_lp_solution_;
5430 if (cached_has_bits & 0x00000800u) {
5431 interleave_batch_size_ = from.interleave_batch_size_;
5433 if (cached_has_bits & 0x00001000u) {
5434 max_presolve_iterations_ = from.max_presolve_iterations_;
5436 if (cached_has_bits & 0x00002000u) {
5437 presolve_substitution_level_ = from.presolve_substitution_level_;
5439 if (cached_has_bits & 0x00004000u) {
5440 merge_no_overlap_work_limit_ = from.merge_no_overlap_work_limit_;
5442 if (cached_has_bits & 0x00008000u) {
5443 merge_at_most_one_work_limit_ = from.merge_at_most_one_work_limit_;
5445 _has_bits_[4] |= cached_has_bits;
5447 if (cached_has_bits & 0x00ff0000u) {
5448 if (cached_has_bits & 0x00010000u) {
5449 max_all_diff_cut_size_ = from.max_all_diff_cut_size_;
5451 if (cached_has_bits & 0x00020000u) {
5452 hint_conflict_limit_ = from.hint_conflict_limit_;
5454 if (cached_has_bits & 0x00040000u) {
5455 cut_max_active_count_value_ = from.cut_max_active_count_value_;
5457 if (cached_has_bits & 0x00080000u) {
5458 max_cut_rounds_at_level_zero_ = from.max_cut_rounds_at_level_zero_;
5460 if (cached_has_bits & 0x00100000u) {
5461 cut_cleanup_target_ = from.cut_cleanup_target_;
5463 if (cached_has_bits & 0x00200000u) {
5464 cut_active_count_decay_ = from.cut_active_count_decay_;
5466 if (cached_has_bits & 0x00400000u) {
5467 fp_rounding_ = from.fp_rounding_;
5469 if (cached_has_bits & 0x00800000u) {
5470 mip_automatically_scale_variables_ = from.mip_automatically_scale_variables_;
5472 _has_bits_[4] |= cached_has_bits;
5476 void SatParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5478 if (&from ==
this)
return;
5483 void SatParameters::CopyFrom(
const SatParameters& from) {
5485 if (&from ==
this)
return;
5490 bool SatParameters::IsInitialized()
const {
5494 void SatParameters::InternalSwap(SatParameters* other) {
5496 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5497 swap(_has_bits_[0], other->_has_bits_[0]);
5498 swap(_has_bits_[1], other->_has_bits_[1]);
5499 swap(_has_bits_[2], other->_has_bits_[2]);
5500 swap(_has_bits_[3], other->_has_bits_[3]);
5501 swap(_has_bits_[4], other->_has_bits_[4]);
5502 restart_algorithms_.InternalSwap(&other->restart_algorithms_);
5503 default_restart_algorithms_.Swap(&other->default_restart_algorithms_,
nullptr, GetArena());
5504 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5505 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
5506 PROTOBUF_FIELD_OFFSET(SatParameters, relative_gap_limit_)
5507 +
sizeof(SatParameters::relative_gap_limit_)
5508 - PROTOBUF_FIELD_OFFSET(SatParameters, preferred_variable_order_)>(
5509 reinterpret_cast<char*
>(&preferred_variable_order_),
5510 reinterpret_cast<char*
>(&other->preferred_variable_order_));
5511 swap(polarity_rephase_increment_, other->polarity_rephase_increment_);
5512 swap(initial_polarity_, other->initial_polarity_);
5513 swap(minimization_algorithm_, other->minimization_algorithm_);
5514 swap(clause_cleanup_period_, other->clause_cleanup_period_);
5515 swap(clause_cleanup_target_, other->clause_cleanup_target_);
5516 swap(variable_activity_decay_, other->variable_activity_decay_);
5517 swap(max_variable_activity_value_, other->max_variable_activity_value_);
5518 swap(clause_activity_decay_, other->clause_activity_decay_);
5519 swap(max_clause_activity_value_, other->max_clause_activity_value_);
5520 swap(glucose_max_decay_, other->glucose_max_decay_);
5521 swap(glucose_decay_increment_, other->glucose_decay_increment_);
5522 swap(glucose_decay_increment_period_, other->glucose_decay_increment_period_);
5523 swap(restart_period_, other->restart_period_);
5524 swap(random_seed_, other->random_seed_);
5525 swap(binary_minimization_algorithm_, other->binary_minimization_algorithm_);
5526 swap(max_time_in_seconds_, other->max_time_in_seconds_);
5527 swap(max_number_of_conflicts_, other->max_number_of_conflicts_);
5528 swap(max_memory_in_mb_, other->max_memory_in_mb_);
5529 swap(use_phase_saving_, other->use_phase_saving_);
5530 swap(subsumption_during_conflict_analysis_, other->subsumption_during_conflict_analysis_);
5531 swap(treat_binary_clauses_separately_, other->treat_binary_clauses_separately_);
5532 swap(count_assumption_levels_in_lbd_, other->count_assumption_levels_in_lbd_);
5533 swap(pb_cleanup_increment_, other->pb_cleanup_increment_);
5534 swap(pb_cleanup_ratio_, other->pb_cleanup_ratio_);
5535 swap(max_sat_stratification_, other->max_sat_stratification_);
5536 swap(presolve_bve_threshold_, other->presolve_bve_threshold_);
5537 swap(presolve_probing_deterministic_time_limit_, other->presolve_probing_deterministic_time_limit_);
5538 swap(presolve_bve_clause_weight_, other->presolve_bve_clause_weight_);
5539 swap(clause_cleanup_lbd_bound_, other->clause_cleanup_lbd_bound_);
5540 swap(restart_dl_average_ratio_, other->restart_dl_average_ratio_);
5541 swap(restart_running_window_size_, other->restart_running_window_size_);
5542 swap(blocking_restart_window_size_, other->blocking_restart_window_size_);
5543 swap(blocking_restart_multiplier_, other->blocking_restart_multiplier_);
5544 swap(max_deterministic_time_, other->max_deterministic_time_);
5545 swap(restart_lbd_average_ratio_, other->restart_lbd_average_ratio_);
5546 swap(presolve_bva_threshold_, other->presolve_bva_threshold_);
5547 swap(minimize_core_, other->minimize_core_);
5548 swap(find_multiple_cores_, other->find_multiple_cores_);
5549 swap(cover_optimization_, other->cover_optimization_);
5550 swap(use_precedences_in_disjunctive_constraint_, other->use_precedences_in_disjunctive_constraint_);
5551 swap(presolve_blocked_clause_, other->presolve_blocked_clause_);
5552 swap(presolve_use_bva_, other->presolve_use_bva_);
5553 swap(cp_model_presolve_, other->cp_model_presolve_);
5554 swap(cp_model_use_sat_presolve_, other->cp_model_use_sat_presolve_);
5555 swap(linearization_level_, other->linearization_level_);
5556 swap(max_num_cuts_, other->max_num_cuts_);
5557 swap(minimize_with_propagation_restart_period_, other->minimize_with_propagation_restart_period_);
5558 swap(minimize_with_propagation_num_decisions_, other->minimize_with_propagation_num_decisions_);
5559 swap(binary_search_num_conflicts_, other->binary_search_num_conflicts_);
5560 swap(num_search_workers_, other->num_search_workers_);
5561 swap(boolean_encoding_level_, other->boolean_encoding_level_);
5562 swap(cp_model_probing_level_, other->cp_model_probing_level_);
5563 swap(exploit_all_lp_solution_, other->exploit_all_lp_solution_);
5564 swap(exploit_objective_, other->exploit_objective_);
5565 swap(instantiate_all_variables_, other->instantiate_all_variables_);
5566 swap(auto_detect_greater_than_at_least_one_of_, other->auto_detect_greater_than_at_least_one_of_);
5567 swap(min_orthogonality_for_lp_constraints_, other->min_orthogonality_for_lp_constraints_);
5568 swap(max_integer_rounding_scaling_, other->max_integer_rounding_scaling_);
5569 swap(expand_element_constraints_, other->expand_element_constraints_);
5570 swap(expand_automaton_constraints_, other->expand_automaton_constraints_);
5571 swap(expand_table_constraints_, other->expand_table_constraints_);
5572 swap(use_optimization_hints_, other->use_optimization_hints_);
5573 swap(max_consecutive_inactive_count_, other->max_consecutive_inactive_count_);
5574 swap(use_disjunctive_constraint_in_cumulative_constraint_, other->use_disjunctive_constraint_in_cumulative_constraint_);
5575 swap(add_cg_cuts_, other->add_cg_cuts_);
5576 swap(add_mir_cuts_, other->add_mir_cuts_);
5577 swap(add_zero_half_cuts_, other->add_zero_half_cuts_);
5578 swap(pseudo_cost_reliability_threshold_, other->pseudo_cost_reliability_threshold_);
5579 swap(new_constraints_batch_size_, other->new_constraints_batch_size_);
5580 swap(use_optional_variables_, other->use_optional_variables_);
5581 swap(use_exact_lp_reason_, other->use_exact_lp_reason_);
5582 swap(catch_sigint_signal_, other->catch_sigint_signal_);
5583 swap(use_implied_bounds_, other->use_implied_bounds_);
5584 swap(mip_max_bound_, other->mip_max_bound_);
5585 swap(mip_var_scaling_, other->mip_var_scaling_);
5586 swap(mip_wanted_precision_, other->mip_wanted_precision_);
5587 swap(mip_check_precision_, other->mip_check_precision_);
5588 swap(mip_max_activity_exponent_, other->mip_max_activity_exponent_);
5589 swap(share_objective_bounds_, other->share_objective_bounds_);
5590 swap(share_level_zero_bounds_, other->share_level_zero_bounds_);
5591 swap(use_rins_lns_, other->use_rins_lns_);
5592 swap(use_feasibility_pump_, other->use_feasibility_pump_);
5593 swap(add_clique_cuts_, other->add_clique_cuts_);
5594 swap(add_lin_max_cuts_, other->add_lin_max_cuts_);
5595 swap(add_lp_constraints_lazily_, other->add_lp_constraints_lazily_);
5596 swap(exploit_integer_lp_solution_, other->exploit_integer_lp_solution_);
5597 swap(interleave_batch_size_, other->interleave_batch_size_);
5598 swap(max_presolve_iterations_, other->max_presolve_iterations_);
5599 swap(presolve_substitution_level_, other->presolve_substitution_level_);
5600 swap(merge_no_overlap_work_limit_, other->merge_no_overlap_work_limit_);
5601 swap(merge_at_most_one_work_limit_, other->merge_at_most_one_work_limit_);
5602 swap(max_all_diff_cut_size_, other->max_all_diff_cut_size_);
5603 swap(hint_conflict_limit_, other->hint_conflict_limit_);
5604 swap(cut_max_active_count_value_, other->cut_max_active_count_value_);
5605 swap(max_cut_rounds_at_level_zero_, other->max_cut_rounds_at_level_zero_);
5606 swap(cut_cleanup_target_, other->cut_cleanup_target_);
5607 swap(cut_active_count_decay_, other->cut_active_count_decay_);
5608 swap(fp_rounding_, other->fp_rounding_);
5609 swap(mip_automatically_scale_variables_, other->mip_automatically_scale_variables_);
5612 ::PROTOBUF_NAMESPACE_ID::Metadata SatParameters::GetMetadata()
const {
5613 return GetMetadataStatic();
5620 PROTOBUF_NAMESPACE_OPEN
5622 return Arena::CreateMessageInternal< ::operations_research::sat::SatParameters >(arena);
5624 PROTOBUF_NAMESPACE_CLOSE
5627 #include <google/protobuf/port_undef.inc>