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> 18 PROTOBUF_PRAGMA_INIT_SEG
22 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
23 : restart_algorithms_()
24 , default_restart_algorithms_(nullptr)
25 , name_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
26 , log_prefix_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
27 , preferred_variable_order_(0)
29 , clause_cleanup_target_(0)
30 , random_branches_ratio_(0)
31 , random_polarity_ratio_(0)
32 , max_sat_assumption_order_(0)
34 , clause_cleanup_protection_(0)
36 , clause_cleanup_ordering_(0)
38 , num_conflicts_before_strategy_changes_(0)
39 , strategy_change_increase_ratio_(0)
40 , initial_variables_activity_(0)
41 , search_branching_(0)
43 , use_overload_checker_in_cumulative_constraint_(false)
44 , use_timetable_edge_finding_in_cumulative_constraint_(false)
45 , only_add_cuts_at_level_zero_(false)
46 , add_knapsack_cuts_(false)
47 , use_erwa_heuristic_(false)
48 , also_bump_variables_in_conflict_reasons_(false)
49 , use_blocking_restart_(false)
50 , permute_variable_randomly_(false)
51 , num_search_workers_(0)
52 , search_randomization_tolerance_(int64_t{0})
53 , use_pb_resolution_(
false)
54 , minimize_reduction_during_pb_resolution_(
false)
55 , cp_model_postsolve_with_full_solver_(
false)
56 , use_sat_inprocessing_(
false)
57 , enumerate_all_solutions_(
false)
58 , keep_all_feasible_solutions_in_presolve_(
false)
59 , fill_tightened_domains_in_response_(
false)
60 , stop_after_first_solution_(
false)
61 , lns_focus_on_decision_variables_(
false)
62 , use_relaxation_lns_(
false)
63 , diversify_lns_params_(
false)
64 , randomize_search_(
false)
65 , stop_after_presolve_(
false)
66 , interleave_search_(
false)
67 , reduce_memory_usage_in_interleave_mode_(
false)
68 , use_lns_only_(
false)
69 , use_probing_search_(
false)
70 , optimize_with_core_(
false)
71 , optimize_with_lb_tree_search_(
false)
72 , optimize_with_max_hs_(
false)
73 , expand_alldiff_constraints_(
false)
74 , disable_constraint_expansion_(
false)
75 , presolve_extract_integer_enforcement_(
false)
76 , max_sat_reverse_assumption_order_(
false)
77 , probing_period_at_root_(int64_t{0})
78 , permute_presolve_constraint_order_(
false)
79 , use_absl_random_(
false)
80 , log_search_progress_(
false)
81 , log_to_response_(
false)
82 , use_branching_in_lp_(
false)
83 , use_combined_no_overlap_(
false)
84 , polish_lp_solution_(
false)
85 , absolute_gap_limit_(0)
86 , relative_gap_limit_(0)
87 , cp_model_max_num_presolve_operations_(0)
89 , fix_variables_to_their_hinted_value_(
false)
90 , exploit_best_solution_(
false)
91 , exploit_relaxation_solution_(
false)
92 , solution_pool_size_(3)
93 , initial_polarity_(1)
95 , minimization_algorithm_(2)
97 , variable_activity_decay_(0.8)
98 , max_variable_activity_value_(1e+100)
99 , clause_activity_decay_(0.999)
100 , clause_cleanup_period_(10000)
101 , glucose_decay_increment_period_(5000)
102 , max_clause_activity_value_(1e+20)
103 , glucose_max_decay_(0.95)
104 , glucose_decay_increment_(0.01)
105 , restart_period_(50)
107 , max_time_in_seconds_(std::numeric_limits<double>::infinity())
108 , max_number_of_conflicts_(int64_t{9223372036854775807})
109 , max_memory_in_mb_(int64_t{10000})
110 , binary_minimization_algorithm_(1)
112 , pb_cleanup_increment_(200)
113 , pb_cleanup_ratio_(0.5)
114 , max_sat_stratification_(1)
116 , presolve_bve_threshold_(500)
117 , presolve_probing_deterministic_time_limit_(30)
118 , presolve_bve_clause_weight_(3)
119 , clause_cleanup_lbd_bound_(5)
120 , restart_dl_average_ratio_(1)
121 , restart_running_window_size_(50)
122 , blocking_restart_window_size_(5000)
123 , blocking_restart_multiplier_(1.4)
124 , max_deterministic_time_(std::numeric_limits<double>::infinity())
125 , restart_lbd_average_ratio_(1)
126 , presolve_bva_threshold_(1)
127 , use_phase_saving_(
true)
128 , subsumption_during_conflict_analysis_(
true)
129 , treat_binary_clauses_separately_(
true)
130 , log_subsolver_statistics_(
true)
131 , find_multiple_cores_(
true)
132 , cover_optimization_(
true)
133 , use_precedences_in_disjunctive_constraint_(
true)
134 , use_disjunctive_constraint_in_cumulative_constraint_(
true)
135 , linearization_level_(1)
136 , max_num_cuts_(10000)
137 , minimize_with_propagation_restart_period_(10)
138 , minimize_with_propagation_num_decisions_(1000)
139 , log_to_stdout_(
true)
140 , count_assumption_levels_in_lbd_(
true)
141 , presolve_blocked_clause_(
true)
142 , presolve_use_bva_(
true)
143 , binary_search_num_conflicts_(-1)
144 , expand_table_constraints_(
true)
145 , expand_reservoir_constraints_(
true)
146 , use_optimization_hints_(
true)
147 , minimize_core_(
true)
148 , boolean_encoding_level_(1)
149 , cp_model_probing_level_(2)
150 , exploit_objective_(
true)
151 , instantiate_all_variables_(
true)
152 , auto_detect_greater_than_at_least_one_of_(
true)
153 , share_objective_bounds_(
true)
154 , cp_model_presolve_(
true)
155 , cp_model_use_sat_presolve_(
true)
156 , expand_element_constraints_(
true)
157 , expand_automaton_constraints_(
true)
158 , min_orthogonality_for_lp_constraints_(0.05)
159 , add_lin_max_cuts_(
true)
160 , add_lp_constraints_lazily_(
true)
161 , exploit_integer_lp_solution_(
true)
162 , exploit_all_lp_solution_(
true)
163 , max_integer_rounding_scaling_(600)
164 , max_consecutive_inactive_count_(100)
165 , new_constraints_batch_size_(50)
166 , pseudo_cost_reliability_threshold_(int64_t{100})
167 , mip_max_bound_(10000000)
168 , use_optional_variables_(
true)
169 , use_exact_lp_reason_(
true)
170 , catch_sigint_signal_(
true)
171 , use_implied_bounds_(
true)
172 , mip_max_activity_exponent_(53)
173 , mip_var_scaling_(1)
174 , mip_wanted_precision_(1e-06)
175 , mip_check_precision_(0.0001)
176 , interleave_batch_size_(1)
177 , max_presolve_iterations_(3)
178 , merge_no_overlap_work_limit_(1000000000000)
180 , add_mir_cuts_(
true)
181 , add_zero_half_cuts_(
true)
182 , add_clique_cuts_(
true)
183 , presolve_substitution_level_(1)
184 , merge_at_most_one_work_limit_(100000000)
185 , share_level_zero_bounds_(
true)
186 , lns_expand_intervals_in_constraint_graph_(
true)
187 , use_rins_lns_(
true)
188 , use_feasibility_pump_(
true)
189 , max_all_diff_cut_size_(7)
190 , hint_conflict_limit_(10)
191 , max_cut_rounds_at_level_zero_(1)
192 , cut_max_active_count_value_(10000000000)
193 , cut_active_count_decay_(0.8)
194 , cut_cleanup_target_(1000)
197 , polarity_rephase_increment_(1000)
198 , convert_intervals_(
true)
199 , mip_automatically_scale_variables_(
true)
201 , max_domain_size_when_encoding_eq_neq_constraints_(16)
202 , clause_cleanup_ratio_(0.5){}
573 const char descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
574 "\n ortools/sat/sat_parameters.proto\022\027oper" 575 "ations_research.sat\"\200F\n\rSatParameters\022\017\n" 576 "\004name\030\253\001 \001(\t:\000\022`\n\030preferred_variable_ord" 577 "er\030\001 \001(\01624.operations_research.sat.SatPa" 578 "rameters.VariableOrder:\010IN_ORDER\022Y\n\020init" 579 "ial_polarity\030\002 \001(\0162/.operations_research" 580 ".sat.SatParameters.Polarity:\016POLARITY_FA" 581 "LSE\022\036\n\020use_phase_saving\030, \001(\010:\004true\022)\n\032p" 582 "olarity_rephase_increment\030\250\001 \001(\005:\0041000\022 " 583 "\n\025random_polarity_ratio\030- \001(\001:\0010\022 \n\025rand" 584 "om_branches_ratio\030 \001(\001:\0010\022!\n\022use_erwa_h" 585 "euristic\030K \001(\010:\005false\022%\n\032initial_variabl" 586 "es_activity\030L \001(\001:\0010\0226\n\'also_bump_variab" 587 "les_in_conflict_reasons\030M \001(\010:\005false\022o\n\026" 588 "minimization_algorithm\030\004 \001(\0162D.operation" 589 "s_research.sat.SatParameters.ConflictMin" 590 "imizationAlgorithm:\tRECURSIVE\022\202\001\n\035binary" 591 "_minimization_algorithm\030\" \001(\0162@.operatio" 592 "ns_research.sat.SatParameters.BinaryMini" 593 "zationAlgorithm:\031BINARY_MINIMIZATION_FIR" 594 "ST\0222\n$subsumption_during_conflict_analys" 595 "is\0308 \001(\010:\004true\022$\n\025clause_cleanup_period\030" 596 "\013 \001(\005:\00510000\022 \n\025clause_cleanup_target\030\r " 597 "\001(\005:\0010\022\"\n\024clause_cleanup_ratio\030\276\001 \001(\001:\0030" 598 ".5\022k\n\031clause_cleanup_protection\030: \001(\01627." 599 "operations_research.sat.SatParameters.Cl" 600 "auseProtection:\017PROTECTION_NONE\022#\n\030claus" 601 "e_cleanup_lbd_bound\030; \001(\005:\0015\022g\n\027clause_c" 602 "leanup_ordering\030< \001(\01625.operations_resea" 603 "rch.sat.SatParameters.ClauseOrdering:\017CL" 604 "AUSE_ACTIVITY\022!\n\024pb_cleanup_increment\030. " 605 "\001(\005:\003200\022\035\n\020pb_cleanup_ratio\030/ \001(\001:\0030.5\022" 606 "4\n(minimize_with_propagation_restart_per" 607 "iod\030` \001(\005:\00210\0225\n\'minimize_with_propagati" 608 "on_num_decisions\030a \001(\005:\0041000\022$\n\027variable" 609 "_activity_decay\030\017 \001(\001:\0030.8\022+\n\033max_variab" 610 "le_activity_value\030\020 \001(\001:\0061e+100\022\037\n\021gluco" 611 "se_max_decay\030\026 \001(\001:\0040.95\022%\n\027glucose_deca" 612 "y_increment\030\027 \001(\001:\0040.01\022,\n\036glucose_decay" 613 "_increment_period\030\030 \001(\005:\0045000\022$\n\025clause_" 614 "activity_decay\030\021 \001(\001:\0050.999\022(\n\031max_claus" 615 "e_activity_value\030\022 \001(\001:\0051e+20\022S\n\022restart" 616 "_algorithms\030= \003(\01627.operations_research." 617 "sat.SatParameters.RestartAlgorithm\022e\n\032de" 618 "fault_restart_algorithms\030F \001(\t:ALUBY_RES" 619 "TART,LBD_MOVING_AVERAGE_RESTART,DL_MOVIN" 620 "G_AVERAGE_RESTART\022\032\n\016restart_period\030\036 \001(" 621 "\005:\00250\022\'\n\033restart_running_window_size\030> \001" 622 "(\005:\00250\022#\n\030restart_dl_average_ratio\030\? \001(\001" 623 ":\0011\022$\n\031restart_lbd_average_ratio\030G \001(\001:\001" 624 "1\022#\n\024use_blocking_restart\030@ \001(\010:\005false\022*" 625 "\n\034blocking_restart_window_size\030A \001(\005:\00450" 626 "00\022(\n\033blocking_restart_multiplier\030B \001(\001:" 627 "\0031.4\0220\n%num_conflicts_before_strategy_ch" 628 "anges\030D \001(\005:\0010\022)\n\036strategy_change_increa" 629 "se_ratio\030E \001(\001:\0010\022 \n\023max_time_in_seconds" 630 "\030$ \001(\001:\003inf\022#\n\026max_deterministic_time\030C " 631 "\001(\001:\003inf\0224\n\027max_number_of_conflicts\030% \001(" 632 "\003:\0239223372036854775807\022\037\n\020max_memory_in_" 633 "mb\030( \001(\003:\00510000\022\036\n\022absolute_gap_limit\030\237\001" 634 " \001(\001:\0010\022\036\n\022relative_gap_limit\030\240\001 \001(\001:\0010\022" 635 "-\n\037treat_binary_clauses_separately\030! \001(\010" 636 ":\004true\022\026\n\013random_seed\030\037 \001(\005:\0011\022)\n\031permut" 637 "e_variable_randomly\030\262\001 \001(\010:\005false\0221\n!per" 638 "mute_presolve_constraint_order\030\263\001 \001(\010:\005f" 639 "alse\022\037\n\017use_absl_random\030\264\001 \001(\010:\005false\022\"\n" 640 "\023log_search_progress\030) \001(\010:\005false\022\'\n\030log" 641 "_subsolver_statistics\030\275\001 \001(\010:\004true\022\025\n\nlo" 642 "g_prefix\030\271\001 \001(\t:\000\022\034\n\rlog_to_stdout\030\272\001 \001(" 643 "\010:\004true\022\037\n\017log_to_response\030\273\001 \001(\010:\005false" 644 "\022 \n\021use_pb_resolution\030+ \001(\010:\005false\0226\n\'mi" 645 "nimize_reduction_during_pb_resolution\0300 " 646 "\001(\010:\005false\022,\n\036count_assumption_levels_in" 647 "_lbd\0301 \001(\010:\004true\022#\n\026presolve_bve_thresho" 648 "ld\0306 \001(\005:\003500\022%\n\032presolve_bve_clause_wei" 649 "ght\0307 \001(\005:\0013\0225\n)presolve_probing_determi" 650 "nistic_time_limit\0309 \001(\001:\00230\022%\n\027presolve_" 651 "blocked_clause\030X \001(\010:\004true\022\036\n\020presolve_u" 652 "se_bva\030H \001(\010:\004true\022!\n\026presolve_bva_thres" 653 "hold\030I \001(\005:\0011\022#\n\027max_presolve_iterations" 654 "\030\212\001 \001(\005:\0013\022\037\n\021cp_model_presolve\030V \001(\010:\004t" 655 "rue\0223\n#cp_model_postsolve_with_full_solv" 656 "er\030\242\001 \001(\010:\005false\0220\n$cp_model_max_num_pre" 657 "solve_operations\030\227\001 \001(\005:\0010\022!\n\026cp_model_p" 658 "robing_level\030n \001(\005:\0012\022\'\n\031cp_model_use_sa" 659 "t_presolve\030] \001(\010:\004true\022$\n\024use_sat_inproc" 660 "essing\030\243\001 \001(\010:\005false\022)\n\032expand_element_c" 661 "onstraints\030\214\001 \001(\010:\004true\022+\n\034expand_automa" 662 "ton_constraints\030\217\001 \001(\010:\004true\022\'\n\030expand_t" 663 "able_constraints\030\236\001 \001(\010:\004true\022*\n\032expand_" 664 "alldiff_constraints\030\252\001 \001(\010:\005false\022+\n\034exp" 665 "and_reservoir_constraints\030\266\001 \001(\010:\004true\022," 666 "\n\034disable_constraint_expansion\030\265\001 \001(\010:\005f" 667 "alse\0223\n\033merge_no_overlap_work_limit\030\221\001 \001" 668 "(\001:\r1000000000000\0220\n\034merge_at_most_one_w" 669 "ork_limit\030\222\001 \001(\001:\t100000000\022\'\n\033presolve_" 670 "substitution_level\030\223\001 \001(\005:\0011\0224\n$presolve" 671 "_extract_integer_enforcement\030\256\001 \001(\010:\005fal" 672 "se\022$\n\026use_optimization_hints\030# \001(\010:\004true" 673 "\022\033\n\rminimize_core\0302 \001(\010:\004true\022!\n\023find_mu" 674 "ltiple_cores\030T \001(\010:\004true\022 \n\022cover_optimi" 675 "zation\030Y \001(\010:\004true\022x\n\030max_sat_assumption" 676 "_order\0303 \001(\0162<.operations_research.sat.S" 677 "atParameters.MaxSatAssumptionOrder:\030DEFA" 678 "ULT_ASSUMPTION_ORDER\022/\n max_sat_reverse_" 679 "assumption_order\0304 \001(\010:\005false\022|\n\026max_sat" 680 "_stratification\0305 \001(\0162D.operations_resea" 681 "rch.sat.SatParameters.MaxSatStratificati" 682 "onAlgorithm:\026STRATIFICATION_DESCENT\0227\n)u" 683 "se_precedences_in_disjunctive_constraint" 684 "\030J \001(\010:\004true\022<\n-use_overload_checker_in_" 685 "cumulative_constraint\030N \001(\010:\005false\022B\n3us" 686 "e_timetable_edge_finding_in_cumulative_c" 687 "onstraint\030O \001(\010:\005false\022A\n3use_disjunctiv" 688 "e_constraint_in_cumulative_constraint\030P " 689 "\001(\010:\004true\022\036\n\023linearization_level\030Z \001(\005:\001" 690 "1\022!\n\026boolean_encoding_level\030k \001(\005:\0011\022=\n0" 691 "max_domain_size_when_encoding_eq_neq_con" 692 "straints\030\277\001 \001(\005:\00216\022\033\n\014max_num_cuts\030[ \001(" 693 "\005:\00510000\022*\n\033only_add_cuts_at_level_zero\030" 694 "\\ \001(\010:\005false\022 \n\021add_knapsack_cuts\030o \001(\010:" 695 "\005false\022\031\n\013add_cg_cuts\030u \001(\010:\004true\022\032\n\014add" 696 "_mir_cuts\030x \001(\010:\004true\022!\n\022add_zero_half_c" 697 "uts\030\251\001 \001(\010:\004true\022\036\n\017add_clique_cuts\030\254\001 \001" 698 "(\010:\004true\022!\n\025max_all_diff_cut_size\030\224\001 \001(\005" 699 ":\0017\022\037\n\020add_lin_max_cuts\030\230\001 \001(\010:\004true\022)\n\034" 700 "max_integer_rounding_scaling\030w \001(\005:\003600\022" 701 "\'\n\031add_lp_constraints_lazily\030p \001(\010:\004true" 702 "\0222\n$min_orthogonality_for_lp_constraints" 703 "\030s \001(\001:\0040.05\022(\n\034max_cut_rounds_at_level_" 704 "zero\030\232\001 \001(\005:\0011\022+\n\036max_consecutive_inacti" 705 "ve_count\030y \001(\005:\003100\0220\n\032cut_max_active_co" 706 "unt_value\030\233\001 \001(\001:\01310000000000\022$\n\026cut_act" 707 "ive_count_decay\030\234\001 \001(\001:\0030.8\022!\n\022cut_clean" 708 "up_target\030\235\001 \001(\005:\0041000\022&\n\032new_constraint" 709 "s_batch_size\030z \001(\005:\00250\022b\n\020search_branchi" 710 "ng\030R \001(\01626.operations_research.sat.SatPa" 711 "rameters.SearchBranching:\020AUTOMATIC_SEAR" 712 "CH\022 \n\023hint_conflict_limit\030\231\001 \001(\005:\00210\022\033\n\013" 713 "repair_hint\030\247\001 \001(\010:\005false\0223\n#fix_variabl" 714 "es_to_their_hinted_value\030\300\001 \001(\010:\005false\022)" 715 "\n\033exploit_integer_lp_solution\030^ \001(\010:\004tru" 716 "e\022%\n\027exploit_all_lp_solution\030t \001(\010:\004true" 717 "\022%\n\025exploit_best_solution\030\202\001 \001(\010:\005false\022" 718 "+\n\033exploit_relaxation_solution\030\241\001 \001(\010:\005f" 719 "alse\022 \n\021exploit_objective\030\203\001 \001(\010:\004true\022\"" 720 "\n\026probing_period_at_root\030\216\001 \001(\003:\0010\022\"\n\022us" 721 "e_probing_search\030\260\001 \001(\010:\005false\022.\n!pseudo" 722 "_cost_reliability_threshold\030{ \001(\003:\003100\022!" 723 "\n\022optimize_with_core\030S \001(\010:\005false\022,\n\034opt" 724 "imize_with_lb_tree_search\030\274\001 \001(\010:\005false\022" 725 "\'\n\033binary_search_num_conflicts\030c \001(\005:\002-1" 726 "\022#\n\024optimize_with_max_hs\030U \001(\010:\005false\022&\n" 727 "\027enumerate_all_solutions\030W \001(\010:\005false\0227\n" 728 "\'keep_all_feasible_solutions_in_presolve" 729 "\030\255\001 \001(\010:\005false\0222\n\"fill_tightened_domains" 730 "_in_response\030\204\001 \001(\010:\005false\022\'\n\031instantiat" 731 "e_all_variables\030j \001(\010:\004true\0226\n(auto_dete" 732 "ct_greater_than_at_least_one_of\030_ \001(\010:\004t" 733 "rue\022(\n\031stop_after_first_solution\030b \001(\010:\005" 734 "false\022#\n\023stop_after_presolve\030\225\001 \001(\010:\005fal" 735 "se\022\035\n\022num_search_workers\030d \001(\005:\0010\022!\n\021int" 736 "erleave_search\030\210\001 \001(\010:\005false\022!\n\025interlea" 737 "ve_batch_size\030\206\001 \001(\005:\0011\0226\n&reduce_memory" 738 "_usage_in_interleave_mode\030\215\001 \001(\010:\005false\022" 739 "$\n\026share_objective_bounds\030q \001(\010:\004true\022%\n" 740 "\027share_level_zero_bounds\030r \001(\010:\004true\022\033\n\014" 741 "use_lns_only\030e \001(\010:\005false\022.\n\037lns_focus_o" 742 "n_decision_variables\030i \001(\010:\005false\0227\n(lns" 743 "_expand_intervals_in_constraint_graph\030\270\001" 744 " \001(\010:\004true\022\036\n\022solution_pool_size\030\301\001 \001(\005:" 745 "\0013\022\033\n\014use_rins_lns\030\201\001 \001(\010:\004true\022#\n\024use_f" 746 "easibility_pump\030\244\001 \001(\010:\004true\022c\n\013fp_round" 747 "ing\030\245\001 \001(\01627.operations_research.sat.Sat" 748 "Parameters.FPRoundingMethod:\024PROPAGATION" 749 "_ASSISTED\022\"\n\022use_relaxation_lns\030\226\001 \001(\010:\005" 750 "false\022$\n\024diversify_lns_params\030\211\001 \001(\010:\005fa" 751 "lse\022\037\n\020randomize_search\030g \001(\010:\005false\022)\n\036" 752 "search_randomization_tolerance\030h \001(\003:\0010\022" 753 "$\n\026use_optional_variables\030l \001(\010:\004true\022!\n" 754 "\023use_exact_lp_reason\030m \001(\010:\004true\022#\n\023use_" 755 "branching_in_lp\030\213\001 \001(\010:\005false\022\'\n\027use_com" 756 "bined_no_overlap\030\205\001 \001(\010:\005false\022\"\n\023catch_" 757 "sigint_signal\030\207\001 \001(\010:\004true\022!\n\022use_implie" 758 "d_bounds\030\220\001 \001(\010:\004true\022\"\n\022polish_lp_solut" 759 "ion\030\257\001 \001(\010:\005false\022 \n\021convert_intervals\030\261" 760 "\001 \001(\010:\004true\022\032\n\016symmetry_level\030\267\001 \001(\005:\0012\022" 761 "\037\n\rmip_max_bound\030| \001(\001:\01010000000\022\032\n\017mip_" 762 "var_scaling\030} \001(\001:\0011\0220\n!mip_automaticall" 763 "y_scale_variables\030\246\001 \001(\010:\004true\022#\n\024mip_wa" 764 "nted_precision\030~ \001(\001:\0051e-06\022%\n\031mip_max_a" 765 "ctivity_exponent\030\177 \001(\005:\00253\022$\n\023mip_check_" 766 "precision\030\200\001 \001(\001:\0060.0001\"H\n\rVariableOrde" 767 "r\022\014\n\010IN_ORDER\020\000\022\024\n\020IN_REVERSE_ORDER\020\001\022\023\n" 768 "\017IN_RANDOM_ORDER\020\002\"\206\001\n\010Polarity\022\021\n\rPOLAR" 769 "ITY_TRUE\020\000\022\022\n\016POLARITY_FALSE\020\001\022\023\n\017POLARI" 770 "TY_RANDOM\020\002\022\032\n\026POLARITY_WEIGHTED_SIGN\020\003\022" 771 "\"\n\036POLARITY_REVERSE_WEIGHTED_SIGN\020\004\"V\n\035C" 772 "onflictMinimizationAlgorithm\022\010\n\004NONE\020\000\022\n" 773 "\n\006SIMPLE\020\001\022\r\n\tRECURSIVE\020\002\022\020\n\014EXPERIMENTA" 774 "L\020\003\"\340\001\n\031BinaryMinizationAlgorithm\022\032\n\026NO_" 775 "BINARY_MINIMIZATION\020\000\022\035\n\031BINARY_MINIMIZA" 776 "TION_FIRST\020\001\0227\n3BINARY_MINIMIZATION_FIRS" 777 "T_WITH_TRANSITIVE_REDUCTION\020\004\022)\n%BINARY_" 778 "MINIMIZATION_WITH_REACHABILITY\020\002\022$\n EXPE" 779 "RIMENTAL_BINARY_MINIMIZATION\020\003\"R\n\020Clause" 780 "Protection\022\023\n\017PROTECTION_NONE\020\000\022\025\n\021PROTE" 781 "CTION_ALWAYS\020\001\022\022\n\016PROTECTION_LBD\020\002\"5\n\016Cl" 782 "auseOrdering\022\023\n\017CLAUSE_ACTIVITY\020\000\022\016\n\nCLA" 783 "USE_LBD\020\001\"\206\001\n\020RestartAlgorithm\022\016\n\nNO_RES" 784 "TART\020\000\022\020\n\014LUBY_RESTART\020\001\022\035\n\031DL_MOVING_AV" 785 "ERAGE_RESTART\020\002\022\036\n\032LBD_MOVING_AVERAGE_RE" 786 "START\020\003\022\021\n\rFIXED_RESTART\020\004\"t\n\025MaxSatAssu" 787 "mptionOrder\022\034\n\030DEFAULT_ASSUMPTION_ORDER\020" 788 "\000\022\035\n\031ORDER_ASSUMPTION_BY_DEPTH\020\001\022\036\n\032ORDE" 789 "R_ASSUMPTION_BY_WEIGHT\020\002\"o\n\035MaxSatStrati" 790 "ficationAlgorithm\022\027\n\023STRATIFICATION_NONE" 791 "\020\000\022\032\n\026STRATIFICATION_DESCENT\020\001\022\031\n\025STRATI" 792 "FICATION_ASCENT\020\002\"\260\001\n\017SearchBranching\022\024\n" 793 "\020AUTOMATIC_SEARCH\020\000\022\020\n\014FIXED_SEARCH\020\001\022\024\n" 794 "\020PORTFOLIO_SEARCH\020\002\022\r\n\tLP_SEARCH\020\003\022\026\n\022PS" 795 "EUDO_COST_SEARCH\020\004\022\'\n#PORTFOLIO_WITH_QUI" 796 "CK_RESTART_SEARCH\020\005\022\017\n\013HINT_SEARCH\020\006\"h\n\020" 797 "FPRoundingMethod\022\023\n\017NEAREST_INTEGER\020\000\022\016\n" 798 "\nLOCK_BASED\020\001\022\025\n\021ACTIVE_LOCK_BASED\020\003\022\030\n\024" 799 "PROPAGATION_ASSISTED\020\002B/\n\026com.google.ort" 800 "ools.satP\001\252\002\022Google.OrTools.Sat" 804 false,
false, 9071, descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto,
"ortools/sat/sat_parameters.proto",
832 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 839 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 857 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 866 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 883 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 891 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 909 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 918 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 934 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 941 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 956 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 962 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 980 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 989 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 1005 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 1012 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 1028 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 1035 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 1055 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 1066 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 1083 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 1091 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900) 1097 using HasBits = decltype(std::declval<SatParameters>()._has_bits_);
1099 (*has_bits)[0] |= 2u;
1102 (*has_bits)[0] |= 8u;
1105 (*has_bits)[2] |= 1u;
1108 (*has_bits)[2] |= 1073741824u;
1111 (*has_bits)[5] |= 8u;
1114 (*has_bits)[0] |= 64u;
1117 (*has_bits)[0] |= 32u;
1120 (*has_bits)[0] |= 262144u;
1123 (*has_bits)[0] |= 4096u;
1126 (*has_bits)[0] |= 524288u;
1129 (*has_bits)[2] |= 2u;
1132 (*has_bits)[2] |= 32768u;
1135 (*has_bits)[2] |= 2147483648u;
1138 (*has_bits)[2] |= 32u;
1141 (*has_bits)[0] |= 16u;
1144 (*has_bits)[5] |= 256u;
1147 (*has_bits)[0] |= 256u;
1150 (*has_bits)[2] |= 4194304u;
1153 (*has_bits)[0] |= 512u;
1156 (*has_bits)[2] |= 65536u;
1159 (*has_bits)[2] |= 131072u;
1162 (*has_bits)[3] |= 256u;
1165 (*has_bits)[3] |= 512u;
1168 (*has_bits)[2] |= 4u;
1171 (*has_bits)[2] |= 8u;
1174 (*has_bits)[2] |= 256u;
1177 (*has_bits)[2] |= 512u;
1180 (*has_bits)[2] |= 64u;
1183 (*has_bits)[2] |= 16u;
1186 (*has_bits)[2] |= 128u;
1189 (*has_bits)[0] |= 1u;
1192 (*has_bits)[2] |= 1024u;
1195 (*has_bits)[2] |= 16777216u;
1198 (*has_bits)[2] |= 8388608u;
1201 (*has_bits)[2] |= 268435456u;
1204 (*has_bits)[0] |= 1048576u;
1207 (*has_bits)[2] |= 33554432u;
1210 (*has_bits)[2] |= 67108864u;
1213 (*has_bits)[0] |= 1024u;
1216 (*has_bits)[0] |= 2048u;
1219 (*has_bits)[2] |= 4096u;
1222 (*has_bits)[2] |= 134217728u;
1225 (*has_bits)[2] |= 8192u;
1228 (*has_bits)[2] |= 16384u;
1231 (*has_bits)[1] |= 16777216u;
1234 (*has_bits)[1] |= 33554432u;
1237 (*has_bits)[3] |= 1u;
1240 (*has_bits)[2] |= 2048u;
1243 (*has_bits)[0] |= 2097152u;
1246 (*has_bits)[1] |= 131072u;
1249 (*has_bits)[1] |= 262144u;
1252 (*has_bits)[1] |= 524288u;
1255 (*has_bits)[3] |= 2u;
1258 (*has_bits)[0] |= 4u;
1261 (*has_bits)[3] |= 1024u;
1264 (*has_bits)[1] |= 1048576u;
1267 (*has_bits)[0] |= 16777216u;
1270 (*has_bits)[0] |= 33554432u;
1273 (*has_bits)[3] |= 2048u;
1276 (*has_bits)[2] |= 524288u;
1279 (*has_bits)[2] |= 2097152u;
1282 (*has_bits)[2] |= 1048576u;
1285 (*has_bits)[3] |= 4096u;
1288 (*has_bits)[3] |= 8192u;
1291 (*has_bits)[2] |= 536870912u;
1294 (*has_bits)[4] |= 65536u;
1297 (*has_bits)[3] |= 33554432u;
1300 (*has_bits)[0] |= 67108864u;
1303 (*has_bits)[1] |= 67108864u;
1306 (*has_bits)[3] |= 1048576u;
1309 (*has_bits)[3] |= 67108864u;
1312 (*has_bits)[0] |= 134217728u;
1315 (*has_bits)[3] |= 134217728u;
1318 (*has_bits)[3] |= 268435456u;
1321 (*has_bits)[3] |= 32768u;
1324 (*has_bits)[1] |= 4096u;
1327 (*has_bits)[3] |= 65536u;
1330 (*has_bits)[1] |= 8192u;
1333 (*has_bits)[4] |= 131072u;
1336 (*has_bits)[4] |= 8388608u;
1339 (*has_bits)[4] |= 4194304u;
1342 (*has_bits)[1] |= 16384u;
1345 (*has_bits)[3] |= 131072u;
1348 (*has_bits)[3] |= 262144u;
1351 (*has_bits)[3] |= 4u;
1354 (*has_bits)[3] |= 8u;
1357 (*has_bits)[0] |= 128u;
1360 (*has_bits)[1] |= 32768u;
1363 (*has_bits)[2] |= 262144u;
1366 (*has_bits)[3] |= 16u;
1369 (*has_bits)[0] |= 16384u;
1372 (*has_bits)[0] |= 32768u;
1375 (*has_bits)[3] |= 32u;
1378 (*has_bits)[3] |= 64u;
1381 (*has_bits)[3] |= 524288u;
1384 (*has_bits)[5] |= 128u;
1387 (*has_bits)[3] |= 128u;
1390 (*has_bits)[0] |= 65536u;
1393 (*has_bits)[0] |= 131072u;
1396 (*has_bits)[4] |= 262144u;
1399 (*has_bits)[4] |= 524288u;
1402 (*has_bits)[4] |= 1048576u;
1405 (*has_bits)[4] |= 2097152u;
1408 (*has_bits)[4] |= 268435456u;
1411 (*has_bits)[3] |= 1073741824u;
1414 (*has_bits)[4] |= 4u;
1417 (*has_bits)[3] |= 2147483648u;
1420 (*has_bits)[3] |= 536870912u;
1423 (*has_bits)[4] |= 1073741824u;
1426 (*has_bits)[4] |= 8u;
1429 (*has_bits)[4] |= 2147483648u;
1432 (*has_bits)[5] |= 1u;
1435 (*has_bits)[5] |= 2u;
1438 (*has_bits)[4] |= 16u;
1441 (*has_bits)[0] |= 8192u;
1444 (*has_bits)[4] |= 536870912u;
1447 (*has_bits)[1] |= 134217728u;
1450 (*has_bits)[1] |= 268435456u;
1453 (*has_bits)[4] |= 1u;
1456 (*has_bits)[4] |= 2u;
1459 (*has_bits)[1] |= 536870912u;
1462 (*has_bits)[1] |= 1073741824u;
1465 (*has_bits)[3] |= 2097152u;
1468 (*has_bits)[1] |= 65536u;
1471 (*has_bits)[1] |= 256u;
1474 (*has_bits)[4] |= 32u;
1477 (*has_bits)[1] |= 512u;
1480 (*has_bits)[1] |= 1024u;
1483 (*has_bits)[3] |= 16384u;
1486 (*has_bits)[1] |= 2048u;
1489 (*has_bits)[0] |= 268435456u;
1492 (*has_bits)[0] |= 536870912u;
1495 (*has_bits)[0] |= 1073741824u;
1498 (*has_bits)[3] |= 4194304u;
1501 (*has_bits)[3] |= 8388608u;
1504 (*has_bits)[0] |= 2147483648u;
1507 (*has_bits)[1] |= 16u;
1510 (*has_bits)[0] |= 4194304u;
1513 (*has_bits)[1] |= 32u;
1516 (*has_bits)[4] |= 32768u;
1519 (*has_bits)[1] |= 64u;
1522 (*has_bits)[3] |= 16777216u;
1525 (*has_bits)[4] |= 16777216u;
1528 (*has_bits)[1] |= 128u;
1531 (*has_bits)[1] |= 1u;
1534 (*has_bits)[4] |= 33554432u;
1537 (*has_bits)[1] |= 2147483648u;
1540 (*has_bits)[4] |= 67108864u;
1543 (*has_bits)[4] |= 134217728u;
1546 (*has_bits)[5] |= 4u;
1549 (*has_bits)[1] |= 2u;
1552 (*has_bits)[1] |= 4u;
1555 (*has_bits)[1] |= 8u;
1558 (*has_bits)[0] |= 8388608u;
1561 (*has_bits)[4] |= 128u;
1564 (*has_bits)[4] |= 256u;
1567 (*has_bits)[1] |= 2097152u;
1570 (*has_bits)[1] |= 4194304u;
1573 (*has_bits)[4] |= 512u;
1576 (*has_bits)[4] |= 1024u;
1579 (*has_bits)[1] |= 8388608u;
1582 (*has_bits)[5] |= 16u;
1585 (*has_bits)[5] |= 64u;
1588 (*has_bits)[4] |= 64u;
1591 (*has_bits)[4] |= 4096u;
1594 (*has_bits)[5] |= 32u;
1597 (*has_bits)[4] |= 8192u;
1600 (*has_bits)[4] |= 2048u;
1603 (*has_bits)[4] |= 16384u;
1607 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}};
1609 bool is_message_owned)
1610 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1611 restart_algorithms_(arena) {
1613 if (!is_message_owned) {
1614 RegisterArenaDtor(arena);
1619 : ::PROTOBUF_NAMESPACE_ID::Message(),
1620 _has_bits_(from._has_bits_),
1621 restart_algorithms_(from.restart_algorithms_) {
1622 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1623 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1624 if (from._internal_has_default_restart_algorithms()) {
1625 default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, from._internal_default_restart_algorithms(),
1626 GetArenaForAllocation());
1628 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1629 if (from._internal_has_name()) {
1630 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1631 GetArenaForAllocation());
1633 log_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1634 if (from._internal_has_log_prefix()) {
1635 log_prefix_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_log_prefix(),
1636 GetArenaForAllocation());
1638 ::memcpy(&preferred_variable_order_, &from.preferred_variable_order_,
1639 static_cast<size_t>(reinterpret_cast<char*>(&clause_cleanup_ratio_) -
1640 reinterpret_cast<char*>(&preferred_variable_order_)) +
sizeof(clause_cleanup_ratio_));
1644 inline void SatParameters::SharedCtor() {
1645 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1646 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1647 log_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1648 ::memset(reinterpret_cast<char*>(
this) + static_cast<size_t>(
1649 reinterpret_cast<char*>(&preferred_variable_order_) - reinterpret_cast<char*>(
this)),
1650 0, static_cast<size_t>(reinterpret_cast<char*>(&exploit_relaxation_solution_) -
1651 reinterpret_cast<char*>(&preferred_variable_order_)) +
sizeof(exploit_relaxation_solution_));
1652 solution_pool_size_ = 3;
1653 initial_polarity_ = 1;
1654 minimization_algorithm_ = 2;
1655 variable_activity_decay_ = 0.8;
1656 max_variable_activity_value_ = 1e+100;
1657 clause_activity_decay_ = 0.999;
1658 clause_cleanup_period_ = 10000;
1659 glucose_decay_increment_period_ = 5000;
1660 max_clause_activity_value_ = 1e+20;
1661 glucose_max_decay_ = 0.95;
1662 glucose_decay_increment_ = 0.01;
1663 restart_period_ = 50;
1665 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1666 max_number_of_conflicts_ = int64_t{9223372036854775807};
1667 max_memory_in_mb_ = int64_t{10000};
1668 binary_minimization_algorithm_ = 1;
1669 pb_cleanup_increment_ = 200;
1670 pb_cleanup_ratio_ = 0.5;
1671 max_sat_stratification_ = 1;
1672 presolve_bve_threshold_ = 500;
1673 presolve_probing_deterministic_time_limit_ = 30;
1674 presolve_bve_clause_weight_ = 3;
1675 clause_cleanup_lbd_bound_ = 5;
1676 restart_dl_average_ratio_ = 1;
1677 restart_running_window_size_ = 50;
1678 blocking_restart_window_size_ = 5000;
1679 blocking_restart_multiplier_ = 1.4;
1680 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1681 restart_lbd_average_ratio_ = 1;
1682 presolve_bva_threshold_ = 1;
1683 use_phase_saving_ =
true;
1684 subsumption_during_conflict_analysis_ =
true;
1685 treat_binary_clauses_separately_ =
true;
1686 log_subsolver_statistics_ =
true;
1687 find_multiple_cores_ =
true;
1688 cover_optimization_ =
true;
1689 use_precedences_in_disjunctive_constraint_ =
true;
1690 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1691 linearization_level_ = 1;
1692 max_num_cuts_ = 10000;
1693 minimize_with_propagation_restart_period_ = 10;
1694 minimize_with_propagation_num_decisions_ = 1000;
1695 log_to_stdout_ =
true;
1696 count_assumption_levels_in_lbd_ =
true;
1697 presolve_blocked_clause_ =
true;
1698 presolve_use_bva_ =
true;
1699 binary_search_num_conflicts_ = -1;
1700 expand_table_constraints_ =
true;
1701 expand_reservoir_constraints_ =
true;
1702 use_optimization_hints_ =
true;
1703 minimize_core_ =
true;
1704 boolean_encoding_level_ = 1;
1705 cp_model_probing_level_ = 2;
1706 exploit_objective_ =
true;
1707 instantiate_all_variables_ =
true;
1708 auto_detect_greater_than_at_least_one_of_ =
true;
1709 share_objective_bounds_ =
true;
1710 cp_model_presolve_ =
true;
1711 cp_model_use_sat_presolve_ =
true;
1712 expand_element_constraints_ =
true;
1713 expand_automaton_constraints_ =
true;
1714 min_orthogonality_for_lp_constraints_ = 0.05;
1715 add_lin_max_cuts_ =
true;
1716 add_lp_constraints_lazily_ =
true;
1717 exploit_integer_lp_solution_ =
true;
1718 exploit_all_lp_solution_ =
true;
1719 max_integer_rounding_scaling_ = 600;
1720 max_consecutive_inactive_count_ = 100;
1721 new_constraints_batch_size_ = 50;
1722 pseudo_cost_reliability_threshold_ = int64_t{100};
1723 mip_max_bound_ = 10000000;
1724 use_optional_variables_ =
true;
1725 use_exact_lp_reason_ =
true;
1726 catch_sigint_signal_ =
true;
1727 use_implied_bounds_ =
true;
1728 mip_max_activity_exponent_ = 53;
1729 mip_var_scaling_ = 1;
1730 mip_wanted_precision_ = 1e-06;
1731 mip_check_precision_ = 0.0001;
1732 interleave_batch_size_ = 1;
1733 max_presolve_iterations_ = 3;
1734 merge_no_overlap_work_limit_ = 1000000000000;
1735 add_cg_cuts_ =
true;
1736 add_mir_cuts_ =
true;
1737 add_zero_half_cuts_ =
true;
1738 add_clique_cuts_ =
true;
1739 presolve_substitution_level_ = 1;
1740 merge_at_most_one_work_limit_ = 100000000;
1741 share_level_zero_bounds_ =
true;
1742 lns_expand_intervals_in_constraint_graph_ =
true;
1743 use_rins_lns_ =
true;
1744 use_feasibility_pump_ =
true;
1745 max_all_diff_cut_size_ = 7;
1746 hint_conflict_limit_ = 10;
1747 max_cut_rounds_at_level_zero_ = 1;
1748 cut_max_active_count_value_ = 10000000000;
1749 cut_active_count_decay_ = 0.8;
1750 cut_cleanup_target_ = 1000;
1752 polarity_rephase_increment_ = 1000;
1753 convert_intervals_ =
true;
1754 mip_automatically_scale_variables_ =
true;
1755 symmetry_level_ = 2;
1756 max_domain_size_when_encoding_eq_neq_constraints_ = 16;
1757 clause_cleanup_ratio_ = 0.5;
1762 if (GetArenaForAllocation() !=
nullptr)
return;
1764 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1767 inline void SatParameters::SharedDtor() {
1768 GOOGLE_DCHECK(GetArenaForAllocation() ==
nullptr);
1769 default_restart_algorithms_.DestroyNoArena(
nullptr);
1770 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1771 log_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1774 void SatParameters::ArenaDtor(
void*
object) {
1775 SatParameters* _this = reinterpret_cast< SatParameters* >(
object);
1778 void SatParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1780 void SatParameters::SetCachedSize(
int size)
const {
1781 _cached_size_.Set(size);
1786 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1788 (void) cached_has_bits;
1790 restart_algorithms_.Clear();
1791 cached_has_bits = _has_bits_[0];
1792 if (cached_has_bits & 0x00000007u) {
1793 if (cached_has_bits & 0x00000001u) {
1794 default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArenaForAllocation());
1796 if (cached_has_bits & 0x00000002u) {
1797 name_.ClearNonDefaultToEmpty();
1799 if (cached_has_bits & 0x00000004u) {
1800 log_prefix_.ClearNonDefaultToEmpty();
1803 if (cached_has_bits & 0x000000f8u) {
1804 ::memset(&preferred_variable_order_, 0, static_cast<size_t>(
1805 reinterpret_cast<char*>(&max_sat_assumption_order_) -
1806 reinterpret_cast<char*>(&preferred_variable_order_)) +
sizeof(max_sat_assumption_order_));
1808 if (cached_has_bits & 0x0000ff00u) {
1809 ::memset(&clause_cleanup_protection_, 0, static_cast<size_t>(
1810 reinterpret_cast<char*>(&use_timetable_edge_finding_in_cumulative_constraint_) -
1811 reinterpret_cast<char*>(&clause_cleanup_protection_)) +
sizeof(use_timetable_edge_finding_in_cumulative_constraint_));
1813 if (cached_has_bits & 0x00ff0000u) {
1814 ::memset(&only_add_cuts_at_level_zero_, 0, static_cast<size_t>(
1815 reinterpret_cast<char*>(&search_randomization_tolerance_) -
1816 reinterpret_cast<char*>(&only_add_cuts_at_level_zero_)) +
sizeof(search_randomization_tolerance_));
1818 if (cached_has_bits & 0xff000000u) {
1819 ::memset(&use_pb_resolution_, 0, static_cast<size_t>(
1820 reinterpret_cast<char*>(&stop_after_first_solution_) -
1821 reinterpret_cast<char*>(&use_pb_resolution_)) +
sizeof(stop_after_first_solution_));
1823 cached_has_bits = _has_bits_[1];
1824 if (cached_has_bits & 0x000000ffu) {
1825 ::memset(&lns_focus_on_decision_variables_, 0, static_cast<size_t>(
1826 reinterpret_cast<char*>(&use_lns_only_) -
1827 reinterpret_cast<char*>(&lns_focus_on_decision_variables_)) +
sizeof(use_lns_only_));
1829 if (cached_has_bits & 0x0000ff00u) {
1830 ::memset(&use_probing_search_, 0, static_cast<size_t>(
1831 reinterpret_cast<char*>(&max_sat_reverse_assumption_order_) -
1832 reinterpret_cast<char*>(&use_probing_search_)) +
sizeof(max_sat_reverse_assumption_order_));
1834 if (cached_has_bits & 0x00ff0000u) {
1835 ::memset(&probing_period_at_root_, 0, static_cast<size_t>(
1836 reinterpret_cast<char*>(&polish_lp_solution_) -
1837 reinterpret_cast<char*>(&probing_period_at_root_)) +
sizeof(polish_lp_solution_));
1839 if (cached_has_bits & 0xff000000u) {
1840 ::memset(&absolute_gap_limit_, 0, static_cast<size_t>(
1841 reinterpret_cast<char*>(&exploit_relaxation_solution_) -
1842 reinterpret_cast<char*>(&absolute_gap_limit_)) +
sizeof(exploit_relaxation_solution_));
1843 solution_pool_size_ = 3;
1845 cached_has_bits = _has_bits_[2];
1846 if (cached_has_bits & 0x000000ffu) {
1847 initial_polarity_ = 1;
1848 minimization_algorithm_ = 2;
1849 variable_activity_decay_ = 0.8;
1850 max_variable_activity_value_ = 1e+100;
1851 clause_activity_decay_ = 0.999;
1852 clause_cleanup_period_ = 10000;
1853 glucose_decay_increment_period_ = 5000;
1854 max_clause_activity_value_ = 1e+20;
1856 if (cached_has_bits & 0x0000ff00u) {
1857 glucose_max_decay_ = 0.95;
1858 glucose_decay_increment_ = 0.01;
1859 restart_period_ = 50;
1861 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1862 max_number_of_conflicts_ = int64_t{9223372036854775807};
1863 max_memory_in_mb_ = int64_t{10000};
1864 binary_minimization_algorithm_ = 1;
1866 if (cached_has_bits & 0x00ff0000u) {
1867 pb_cleanup_increment_ = 200;
1868 pb_cleanup_ratio_ = 0.5;
1869 max_sat_stratification_ = 1;
1870 presolve_bve_threshold_ = 500;
1871 presolve_probing_deterministic_time_limit_ = 30;
1872 presolve_bve_clause_weight_ = 3;
1873 clause_cleanup_lbd_bound_ = 5;
1874 restart_dl_average_ratio_ = 1;
1876 if (cached_has_bits & 0xff000000u) {
1877 restart_running_window_size_ = 50;
1878 blocking_restart_window_size_ = 5000;
1879 blocking_restart_multiplier_ = 1.4;
1880 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1881 restart_lbd_average_ratio_ = 1;
1882 presolve_bva_threshold_ = 1;
1883 use_phase_saving_ =
true;
1884 subsumption_during_conflict_analysis_ =
true;
1886 cached_has_bits = _has_bits_[3];
1887 if (cached_has_bits & 0x000000ffu) {
1888 treat_binary_clauses_separately_ =
true;
1889 log_subsolver_statistics_ =
true;
1890 find_multiple_cores_ =
true;
1891 cover_optimization_ =
true;
1892 use_precedences_in_disjunctive_constraint_ =
true;
1893 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1894 linearization_level_ = 1;
1895 max_num_cuts_ = 10000;
1897 if (cached_has_bits & 0x0000ff00u) {
1898 minimize_with_propagation_restart_period_ = 10;
1899 minimize_with_propagation_num_decisions_ = 1000;
1900 log_to_stdout_ =
true;
1901 count_assumption_levels_in_lbd_ =
true;
1902 presolve_blocked_clause_ =
true;
1903 presolve_use_bva_ =
true;
1904 binary_search_num_conflicts_ = -1;
1905 expand_table_constraints_ =
true;
1907 if (cached_has_bits & 0x00ff0000u) {
1908 expand_reservoir_constraints_ =
true;
1909 use_optimization_hints_ =
true;
1910 minimize_core_ =
true;
1911 boolean_encoding_level_ = 1;
1912 cp_model_probing_level_ = 2;
1913 exploit_objective_ =
true;
1914 instantiate_all_variables_ =
true;
1915 auto_detect_greater_than_at_least_one_of_ =
true;
1917 if (cached_has_bits & 0xff000000u) {
1918 share_objective_bounds_ =
true;
1919 cp_model_presolve_ =
true;
1920 cp_model_use_sat_presolve_ =
true;
1921 expand_element_constraints_ =
true;
1922 expand_automaton_constraints_ =
true;
1923 min_orthogonality_for_lp_constraints_ = 0.05;
1924 add_lin_max_cuts_ =
true;
1925 add_lp_constraints_lazily_ =
true;
1927 cached_has_bits = _has_bits_[4];
1928 if (cached_has_bits & 0x000000ffu) {
1929 exploit_integer_lp_solution_ =
true;
1930 exploit_all_lp_solution_ =
true;
1931 max_integer_rounding_scaling_ = 600;
1932 max_consecutive_inactive_count_ = 100;
1933 new_constraints_batch_size_ = 50;
1934 pseudo_cost_reliability_threshold_ = int64_t{100};
1935 mip_max_bound_ = 10000000;
1936 use_optional_variables_ =
true;
1938 if (cached_has_bits & 0x0000ff00u) {
1939 use_exact_lp_reason_ =
true;
1940 catch_sigint_signal_ =
true;
1941 use_implied_bounds_ =
true;
1942 mip_max_activity_exponent_ = 53;
1943 mip_var_scaling_ = 1;
1944 mip_wanted_precision_ = 1e-06;
1945 mip_check_precision_ = 0.0001;
1946 interleave_batch_size_ = 1;
1948 if (cached_has_bits & 0x00ff0000u) {
1949 max_presolve_iterations_ = 3;
1950 merge_no_overlap_work_limit_ = 1000000000000;
1951 add_cg_cuts_ =
true;
1952 add_mir_cuts_ =
true;
1953 add_zero_half_cuts_ =
true;
1954 add_clique_cuts_ =
true;
1955 presolve_substitution_level_ = 1;
1956 merge_at_most_one_work_limit_ = 100000000;
1958 if (cached_has_bits & 0xff000000u) {
1959 share_level_zero_bounds_ =
true;
1960 lns_expand_intervals_in_constraint_graph_ =
true;
1961 use_rins_lns_ =
true;
1962 use_feasibility_pump_ =
true;
1963 max_all_diff_cut_size_ = 7;
1964 hint_conflict_limit_ = 10;
1965 max_cut_rounds_at_level_zero_ = 1;
1966 cut_max_active_count_value_ = 10000000000;
1968 cached_has_bits = _has_bits_[5];
1969 if (cached_has_bits & 0x000000ffu) {
1970 cut_active_count_decay_ = 0.8;
1971 cut_cleanup_target_ = 1000;
1973 polarity_rephase_increment_ = 1000;
1974 convert_intervals_ =
true;
1975 mip_automatically_scale_variables_ =
true;
1976 symmetry_level_ = 2;
1977 max_domain_size_when_encoding_eq_neq_constraints_ = 16;
1979 clause_cleanup_ratio_ = 0.5;
1981 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1985 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure 1986 while (!ctx->Done(&ptr)) {
1987 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1988 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1992 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
1993 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1996 _internal_set_preferred_variable_order(static_cast<::operations_research::sat::SatParameters_VariableOrder>(val));
2000 }
else goto handle_unusual;
2004 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
2005 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2008 _internal_set_initial_polarity(static_cast<::operations_research::sat::SatParameters_Polarity>(val));
2012 }
else goto handle_unusual;
2016 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
2017 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2020 _internal_set_minimization_algorithm(static_cast<::operations_research::sat::SatParameters_ConflictMinimizationAlgorithm>(val));
2024 }
else goto handle_unusual;
2028 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
2030 clause_cleanup_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2032 }
else goto handle_unusual;
2036 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
2038 clause_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2040 }
else goto handle_unusual;
2044 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 121)) {
2046 variable_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2047 ptr +=
sizeof(double);
2048 }
else goto handle_unusual;
2052 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 129)) {
2054 max_variable_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2055 ptr +=
sizeof(double);
2056 }
else goto handle_unusual;
2060 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 137)) {
2062 clause_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2063 ptr +=
sizeof(double);
2064 }
else goto handle_unusual;
2068 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 145)) {
2070 max_clause_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2071 ptr +=
sizeof(double);
2072 }
else goto handle_unusual;
2076 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 177)) {
2078 glucose_max_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2079 ptr +=
sizeof(double);
2080 }
else goto handle_unusual;
2084 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 185)) {
2086 glucose_decay_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2087 ptr +=
sizeof(double);
2088 }
else goto handle_unusual;
2092 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
2094 glucose_decay_increment_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2096 }
else goto handle_unusual;
2100 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
2102 restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2104 }
else goto handle_unusual;
2108 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
2110 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2112 }
else goto handle_unusual;
2116 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 1)) {
2118 random_branches_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2119 ptr +=
sizeof(double);
2120 }
else goto handle_unusual;
2124 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
2126 treat_binary_clauses_separately_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2128 }
else goto handle_unusual;
2132 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
2133 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2136 _internal_set_binary_minimization_algorithm(static_cast<::operations_research::sat::SatParameters_BinaryMinizationAlgorithm>(val));
2140 }
else goto handle_unusual;
2144 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
2146 use_optimization_hints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2148 }
else goto handle_unusual;
2152 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 33)) {
2154 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2155 ptr +=
sizeof(double);
2156 }
else goto handle_unusual;
2160 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
2162 max_number_of_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2164 }
else goto handle_unusual;
2168 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
2170 max_memory_in_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2172 }
else goto handle_unusual;
2176 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
2178 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2180 }
else goto handle_unusual;
2184 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
2186 use_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2188 }
else goto handle_unusual;
2192 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
2194 use_phase_saving_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2196 }
else goto handle_unusual;
2200 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 105)) {
2202 random_polarity_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2203 ptr +=
sizeof(double);
2204 }
else goto handle_unusual;
2208 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
2210 pb_cleanup_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2212 }
else goto handle_unusual;
2216 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 121)) {
2218 pb_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2219 ptr +=
sizeof(double);
2220 }
else goto handle_unusual;
2224 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
2226 minimize_reduction_during_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2228 }
else goto handle_unusual;
2232 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
2234 count_assumption_levels_in_lbd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2236 }
else goto handle_unusual;
2240 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
2242 minimize_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2244 }
else goto handle_unusual;
2248 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
2249 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2252 _internal_set_max_sat_assumption_order(static_cast<::operations_research::sat::SatParameters_MaxSatAssumptionOrder>(val));
2256 }
else goto handle_unusual;
2260 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
2262 max_sat_reverse_assumption_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2264 }
else goto handle_unusual;
2268 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
2269 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2272 _internal_set_max_sat_stratification(static_cast<::operations_research::sat::SatParameters_MaxSatStratificationAlgorithm>(val));
2276 }
else goto handle_unusual;
2280 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
2282 presolve_bve_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2284 }
else goto handle_unusual;
2288 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
2290 presolve_bve_clause_weight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2292 }
else goto handle_unusual;
2296 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
2298 subsumption_during_conflict_analysis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2300 }
else goto handle_unusual;
2304 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 201)) {
2306 presolve_probing_deterministic_time_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2307 ptr +=
sizeof(double);
2308 }
else goto handle_unusual;
2312 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
2313 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2316 _internal_set_clause_cleanup_protection(static_cast<::operations_research::sat::SatParameters_ClauseProtection>(val));
2320 }
else goto handle_unusual;
2324 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
2326 clause_cleanup_lbd_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2328 }
else goto handle_unusual;
2332 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
2333 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2336 _internal_set_clause_cleanup_ordering(static_cast<::operations_research::sat::SatParameters_ClauseOrdering>(val));
2340 }
else goto handle_unusual;
2344 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 232)) {
2348 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2351 _internal_add_restart_algorithms(static_cast<::operations_research::sat::SatParameters_RestartAlgorithm>(val));
2355 if (!ctx->DataAvailable(ptr))
break;
2356 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<488>(ptr));
2357 }
else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234) {
2360 }
else goto handle_unusual;
2364 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
2366 restart_running_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2368 }
else goto handle_unusual;
2372 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 249)) {
2374 restart_dl_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2375 ptr +=
sizeof(double);
2376 }
else goto handle_unusual;
2380 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 0)) {
2382 use_blocking_restart_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2384 }
else goto handle_unusual;
2388 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
2390 blocking_restart_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2392 }
else goto handle_unusual;
2396 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
2398 blocking_restart_multiplier_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2399 ptr +=
sizeof(double);
2400 }
else goto handle_unusual;
2404 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
2406 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2407 ptr +=
sizeof(double);
2408 }
else goto handle_unusual;
2412 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
2414 num_conflicts_before_strategy_changes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2416 }
else goto handle_unusual;
2420 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 41)) {
2422 strategy_change_increase_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2423 ptr +=
sizeof(double);
2424 }
else goto handle_unusual;
2428 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
2429 auto str = _internal_mutable_default_restart_algorithms();
2430 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2432 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.default_restart_algorithms");
2435 }
else goto handle_unusual;
2439 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 57)) {
2441 restart_lbd_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2442 ptr +=
sizeof(double);
2443 }
else goto handle_unusual;
2447 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
2449 presolve_use_bva_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2451 }
else goto handle_unusual;
2455 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
2457 presolve_bva_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2459 }
else goto handle_unusual;
2463 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
2465 use_precedences_in_disjunctive_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2467 }
else goto handle_unusual;
2471 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
2473 use_erwa_heuristic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2475 }
else goto handle_unusual;
2479 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 97)) {
2481 initial_variables_activity_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2482 ptr +=
sizeof(double);
2483 }
else goto handle_unusual;
2487 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
2489 also_bump_variables_in_conflict_reasons_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2491 }
else goto handle_unusual;
2495 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
2497 use_overload_checker_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2499 }
else goto handle_unusual;
2503 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
2505 use_timetable_edge_finding_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2507 }
else goto handle_unusual;
2511 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
2513 use_disjunctive_constraint_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2515 }
else goto handle_unusual;
2519 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
2520 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2523 _internal_set_search_branching(static_cast<::operations_research::sat::SatParameters_SearchBranching>(val));
2527 }
else goto handle_unusual;
2531 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
2533 optimize_with_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2535 }
else goto handle_unusual;
2539 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
2541 find_multiple_cores_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2543 }
else goto handle_unusual;
2547 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
2549 optimize_with_max_hs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2551 }
else goto handle_unusual;
2555 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
2557 cp_model_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2559 }
else goto handle_unusual;
2563 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
2565 enumerate_all_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2567 }
else goto handle_unusual;
2571 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
2573 presolve_blocked_clause_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2575 }
else goto handle_unusual;
2579 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
2581 cover_optimization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2583 }
else goto handle_unusual;
2587 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
2589 linearization_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2591 }
else goto handle_unusual;
2595 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
2597 max_num_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2599 }
else goto handle_unusual;
2603 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
2605 only_add_cuts_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2607 }
else goto handle_unusual;
2611 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 232)) {
2613 cp_model_use_sat_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2615 }
else goto handle_unusual;
2619 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
2621 exploit_integer_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2623 }
else goto handle_unusual;
2627 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
2629 auto_detect_greater_than_at_least_one_of_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2631 }
else goto handle_unusual;
2635 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 0)) {
2637 minimize_with_propagation_restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2639 }
else goto handle_unusual;
2643 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
2645 minimize_with_propagation_num_decisions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2647 }
else goto handle_unusual;
2651 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
2653 stop_after_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2655 }
else goto handle_unusual;
2659 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
2661 binary_search_num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2663 }
else goto handle_unusual;
2667 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
2669 num_search_workers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2671 }
else goto handle_unusual;
2675 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
2677 use_lns_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2679 }
else goto handle_unusual;
2683 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
2685 randomize_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2687 }
else goto handle_unusual;
2691 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
2693 search_randomization_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2695 }
else goto handle_unusual;
2699 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
2701 lns_focus_on_decision_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2703 }
else goto handle_unusual;
2707 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
2709 instantiate_all_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2711 }
else goto handle_unusual;
2715 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
2717 boolean_encoding_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2719 }
else goto handle_unusual;
2723 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
2725 use_optional_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2727 }
else goto handle_unusual;
2731 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
2733 use_exact_lp_reason_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2735 }
else goto handle_unusual;
2739 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
2741 cp_model_probing_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2743 }
else goto handle_unusual;
2747 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
2749 add_knapsack_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2751 }
else goto handle_unusual;
2755 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
2757 add_lp_constraints_lazily_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2759 }
else goto handle_unusual;
2763 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
2765 share_objective_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2767 }
else goto handle_unusual;
2771 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
2773 share_level_zero_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2775 }
else goto handle_unusual;
2779 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 153)) {
2781 min_orthogonality_for_lp_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2782 ptr +=
sizeof(double);
2783 }
else goto handle_unusual;
2787 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
2789 exploit_all_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2791 }
else goto handle_unusual;
2795 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
2797 add_cg_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2799 }
else goto handle_unusual;
2803 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
2805 max_integer_rounding_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2807 }
else goto handle_unusual;
2811 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
2813 add_mir_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2815 }
else goto handle_unusual;
2819 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
2821 max_consecutive_inactive_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2823 }
else goto handle_unusual;
2827 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
2829 new_constraints_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2831 }
else goto handle_unusual;
2835 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
2837 pseudo_cost_reliability_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2839 }
else goto handle_unusual;
2843 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 225)) {
2845 mip_max_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2846 ptr +=
sizeof(double);
2847 }
else goto handle_unusual;
2851 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 233)) {
2853 mip_var_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2854 ptr +=
sizeof(double);
2855 }
else goto handle_unusual;
2859 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 241)) {
2861 mip_wanted_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2862 ptr +=
sizeof(double);
2863 }
else goto handle_unusual;
2867 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
2869 mip_max_activity_exponent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2871 }
else goto handle_unusual;
2875 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 1)) {
2877 mip_check_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2878 ptr +=
sizeof(double);
2879 }
else goto handle_unusual;
2883 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
2885 use_rins_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2887 }
else goto handle_unusual;
2891 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
2893 exploit_best_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2895 }
else goto handle_unusual;
2899 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
2901 exploit_objective_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2903 }
else goto handle_unusual;
2907 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
2909 fill_tightened_domains_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2911 }
else goto handle_unusual;
2915 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
2917 use_combined_no_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2919 }
else goto handle_unusual;
2923 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
2925 interleave_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2927 }
else goto handle_unusual;
2931 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
2933 catch_sigint_signal_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2935 }
else goto handle_unusual;
2939 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
2941 interleave_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2943 }
else goto handle_unusual;
2947 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
2949 diversify_lns_params_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2951 }
else goto handle_unusual;
2955 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
2957 max_presolve_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2959 }
else goto handle_unusual;
2963 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
2965 use_branching_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2967 }
else goto handle_unusual;
2971 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
2973 expand_element_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2975 }
else goto handle_unusual;
2979 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
2981 reduce_memory_usage_in_interleave_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2983 }
else goto handle_unusual;
2987 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
2989 probing_period_at_root_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2991 }
else goto handle_unusual;
2995 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
2997 expand_automaton_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2999 }
else goto handle_unusual;
3003 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
3005 use_implied_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3007 }
else goto handle_unusual;
3011 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 137)) {
3013 merge_no_overlap_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3014 ptr +=
sizeof(double);
3015 }
else goto handle_unusual;
3019 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 145)) {
3021 merge_at_most_one_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3022 ptr +=
sizeof(double);
3023 }
else goto handle_unusual;
3027 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
3029 presolve_substitution_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3031 }
else goto handle_unusual;
3035 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
3037 max_all_diff_cut_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3039 }
else goto handle_unusual;
3043 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
3045 stop_after_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3047 }
else goto handle_unusual;
3051 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
3053 use_relaxation_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3055 }
else goto handle_unusual;
3059 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
3061 cp_model_max_num_presolve_operations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3063 }
else goto handle_unusual;
3067 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
3069 add_lin_max_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3071 }
else goto handle_unusual;
3075 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
3077 hint_conflict_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3079 }
else goto handle_unusual;
3083 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
3085 max_cut_rounds_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3087 }
else goto handle_unusual;
3091 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 217)) {
3093 cut_max_active_count_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3094 ptr +=
sizeof(double);
3095 }
else goto handle_unusual;
3099 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 225)) {
3101 cut_active_count_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3102 ptr +=
sizeof(double);
3103 }
else goto handle_unusual;
3107 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 232)) {
3109 cut_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3111 }
else goto handle_unusual;
3115 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
3117 expand_table_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3119 }
else goto handle_unusual;
3123 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 249)) {
3125 absolute_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3126 ptr +=
sizeof(double);
3127 }
else goto handle_unusual;
3131 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 1)) {
3133 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3134 ptr +=
sizeof(double);
3135 }
else goto handle_unusual;
3139 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
3141 exploit_relaxation_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3143 }
else goto handle_unusual;
3147 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
3149 cp_model_postsolve_with_full_solver_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3151 }
else goto handle_unusual;
3155 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
3157 use_sat_inprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3159 }
else goto handle_unusual;
3163 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
3165 use_feasibility_pump_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3167 }
else goto handle_unusual;
3171 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
3172 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3175 _internal_set_fp_rounding(static_cast<::operations_research::sat::SatParameters_FPRoundingMethod>(val));
3179 }
else goto handle_unusual;
3183 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
3185 mip_automatically_scale_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3187 }
else goto handle_unusual;
3191 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
3193 repair_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3195 }
else goto handle_unusual;
3199 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
3201 polarity_rephase_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3203 }
else goto handle_unusual;
3207 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
3209 add_zero_half_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3211 }
else goto handle_unusual;
3215 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
3217 expand_alldiff_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3219 }
else goto handle_unusual;
3223 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
3224 auto str = _internal_mutable_name();
3225 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
3227 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.name");
3230 }
else goto handle_unusual;
3234 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
3236 add_clique_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3238 }
else goto handle_unusual;
3242 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
3244 keep_all_feasible_solutions_in_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3246 }
else goto handle_unusual;
3250 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
3252 presolve_extract_integer_enforcement_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3254 }
else goto handle_unusual;
3258 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
3260 polish_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3262 }
else goto handle_unusual;
3266 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
3268 use_probing_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3270 }
else goto handle_unusual;
3274 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
3276 convert_intervals_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3278 }
else goto handle_unusual;
3282 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
3284 permute_variable_randomly_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3286 }
else goto handle_unusual;
3290 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
3292 permute_presolve_constraint_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3294 }
else goto handle_unusual;
3298 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
3300 use_absl_random_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3302 }
else goto handle_unusual;
3306 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
3308 disable_constraint_expansion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3310 }
else goto handle_unusual;
3314 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
3316 expand_reservoir_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3318 }
else goto handle_unusual;
3322 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
3324 symmetry_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3326 }
else goto handle_unusual;
3330 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
3332 lns_expand_intervals_in_constraint_graph_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3334 }
else goto handle_unusual;
3338 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
3339 auto str = _internal_mutable_log_prefix();
3340 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
3342 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.log_prefix");
3345 }
else goto handle_unusual;
3349 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
3351 log_to_stdout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3353 }
else goto handle_unusual;
3357 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
3359 log_to_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3361 }
else goto handle_unusual;
3365 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
3367 optimize_with_lb_tree_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3369 }
else goto handle_unusual;
3373 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 232)) {
3375 log_subsolver_statistics_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3377 }
else goto handle_unusual;
3381 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 241)) {
3383 clause_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3384 ptr +=
sizeof(double);
3385 }
else goto handle_unusual;
3389 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
3391 max_domain_size_when_encoding_eq_neq_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3393 }
else goto handle_unusual;
3397 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 0)) {
3399 fix_variables_to_their_hinted_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3401 }
else goto handle_unusual;
3405 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
3407 solution_pool_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3409 }
else goto handle_unusual;
3413 if ((tag == 0) || ((tag & 7) == 4)) {
3415 ctx->SetLastTag(tag);
3418 ptr = UnknownFieldParse(tag,
3419 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3421 CHK_(ptr !=
nullptr);
3435 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
3437 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3438 (void) cached_has_bits;
3440 cached_has_bits = _has_bits_[0];
3442 if (cached_has_bits & 0x00000008u) {
3443 target = stream->EnsureSpace(target);
3444 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3445 1, this->_internal_preferred_variable_order(), target);
3448 cached_has_bits = _has_bits_[2];
3450 if (cached_has_bits & 0x00000001u) {
3451 target = stream->EnsureSpace(target);
3452 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3453 2, this->_internal_initial_polarity(), target);
3457 if (cached_has_bits & 0x00000002u) {
3458 target = stream->EnsureSpace(target);
3459 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3460 4, this->_internal_minimization_algorithm(), target);
3464 if (cached_has_bits & 0x00000020u) {
3465 target = stream->EnsureSpace(target);
3466 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_clause_cleanup_period(), target);
3469 cached_has_bits = _has_bits_[0];
3471 if (cached_has_bits & 0x00000010u) {
3472 target = stream->EnsureSpace(target);
3473 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_clause_cleanup_target(), target);
3476 cached_has_bits = _has_bits_[2];
3478 if (cached_has_bits & 0x00000004u) {
3479 target = stream->EnsureSpace(target);
3480 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_variable_activity_decay(), target);
3484 if (cached_has_bits & 0x00000008u) {
3485 target = stream->EnsureSpace(target);
3486 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_max_variable_activity_value(), target);
3490 if (cached_has_bits & 0x00000010u) {
3491 target = stream->EnsureSpace(target);
3492 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_clause_activity_decay(), target);
3496 if (cached_has_bits & 0x00000080u) {
3497 target = stream->EnsureSpace(target);
3498 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_max_clause_activity_value(), target);
3502 if (cached_has_bits & 0x00000100u) {
3503 target = stream->EnsureSpace(target);
3504 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_glucose_max_decay(), target);
3508 if (cached_has_bits & 0x00000200u) {
3509 target = stream->EnsureSpace(target);
3510 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_glucose_decay_increment(), target);
3514 if (cached_has_bits & 0x00000040u) {
3515 target = stream->EnsureSpace(target);
3516 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_glucose_decay_increment_period(), target);
3520 if (cached_has_bits & 0x00000400u) {
3521 target = stream->EnsureSpace(target);
3522 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_restart_period(), target);
3526 if (cached_has_bits & 0x00000800u) {
3527 target = stream->EnsureSpace(target);
3528 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_random_seed(), target);
3531 cached_has_bits = _has_bits_[0];
3533 if (cached_has_bits & 0x00000020u) {
3534 target = stream->EnsureSpace(target);
3535 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(32, this->_internal_random_branches_ratio(), target);
3538 cached_has_bits = _has_bits_[3];
3540 if (cached_has_bits & 0x00000001u) {
3541 target = stream->EnsureSpace(target);
3542 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_treat_binary_clauses_separately(), target);
3545 cached_has_bits = _has_bits_[2];
3547 if (cached_has_bits & 0x00008000u) {
3548 target = stream->EnsureSpace(target);
3549 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3550 34, this->_internal_binary_minimization_algorithm(), target);
3553 cached_has_bits = _has_bits_[3];
3555 if (cached_has_bits & 0x00020000u) {
3556 target = stream->EnsureSpace(target);
3557 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_optimization_hints(), target);
3560 cached_has_bits = _has_bits_[2];
3562 if (cached_has_bits & 0x00001000u) {
3563 target = stream->EnsureSpace(target);
3564 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_max_time_in_seconds(), target);
3568 if (cached_has_bits & 0x00002000u) {
3569 target = stream->EnsureSpace(target);
3570 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(37, this->_internal_max_number_of_conflicts(), target);
3574 if (cached_has_bits & 0x00004000u) {
3575 target = stream->EnsureSpace(target);
3576 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(40, this->_internal_max_memory_in_mb(), target);
3579 cached_has_bits = _has_bits_[1];
3581 if (cached_has_bits & 0x00080000u) {
3582 target = stream->EnsureSpace(target);
3583 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_log_search_progress(), target);
3586 cached_has_bits = _has_bits_[0];
3588 if (cached_has_bits & 0x01000000u) {
3589 target = stream->EnsureSpace(target);
3590 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(43, this->_internal_use_pb_resolution(), target);
3593 cached_has_bits = _has_bits_[2];
3595 if (cached_has_bits & 0x40000000u) {
3596 target = stream->EnsureSpace(target);
3597 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(44, this->_internal_use_phase_saving(), target);
3600 cached_has_bits = _has_bits_[0];
3602 if (cached_has_bits & 0x00000040u) {
3603 target = stream->EnsureSpace(target);
3604 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_random_polarity_ratio(), target);
3607 cached_has_bits = _has_bits_[2];
3609 if (cached_has_bits & 0x00010000u) {
3610 target = stream->EnsureSpace(target);
3611 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_pb_cleanup_increment(), target);
3615 if (cached_has_bits & 0x00020000u) {
3616 target = stream->EnsureSpace(target);
3617 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(47, this->_internal_pb_cleanup_ratio(), target);
3620 cached_has_bits = _has_bits_[0];
3622 if (cached_has_bits & 0x02000000u) {
3623 target = stream->EnsureSpace(target);
3624 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_minimize_reduction_during_pb_resolution(), target);
3627 cached_has_bits = _has_bits_[3];
3629 if (cached_has_bits & 0x00000800u) {
3630 target = stream->EnsureSpace(target);
3631 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(49, this->_internal_count_assumption_levels_in_lbd(), target);
3635 if (cached_has_bits & 0x00040000u) {
3636 target = stream->EnsureSpace(target);
3637 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(50, this->_internal_minimize_core(), target);
3640 cached_has_bits = _has_bits_[0];
3642 if (cached_has_bits & 0x00000080u) {
3643 target = stream->EnsureSpace(target);
3644 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3645 51, this->_internal_max_sat_assumption_order(), target);
3648 cached_has_bits = _has_bits_[1];
3650 if (cached_has_bits & 0x00008000u) {
3651 target = stream->EnsureSpace(target);
3652 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(52, this->_internal_max_sat_reverse_assumption_order(), target);
3655 cached_has_bits = _has_bits_[2];
3657 if (cached_has_bits & 0x00040000u) {
3658 target = stream->EnsureSpace(target);
3659 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3660 53, this->_internal_max_sat_stratification(), target);
3664 if (cached_has_bits & 0x00080000u) {
3665 target = stream->EnsureSpace(target);
3666 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(54, this->_internal_presolve_bve_threshold(), target);
3670 if (cached_has_bits & 0x00200000u) {
3671 target = stream->EnsureSpace(target);
3672 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_presolve_bve_clause_weight(), target);
3676 if (cached_has_bits & 0x80000000u) {
3677 target = stream->EnsureSpace(target);
3678 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(56, this->_internal_subsumption_during_conflict_analysis(), target);
3682 if (cached_has_bits & 0x00100000u) {
3683 target = stream->EnsureSpace(target);
3684 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(57, this->_internal_presolve_probing_deterministic_time_limit(), target);
3687 cached_has_bits = _has_bits_[0];
3689 if (cached_has_bits & 0x00000100u) {
3690 target = stream->EnsureSpace(target);
3691 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3692 58, this->_internal_clause_cleanup_protection(), target);
3695 cached_has_bits = _has_bits_[2];
3697 if (cached_has_bits & 0x00400000u) {
3698 target = stream->EnsureSpace(target);
3699 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(59, this->_internal_clause_cleanup_lbd_bound(), target);
3702 cached_has_bits = _has_bits_[0];
3704 if (cached_has_bits & 0x00000200u) {
3705 target = stream->EnsureSpace(target);
3706 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3707 60, this->_internal_clause_cleanup_ordering(), target);
3711 for (
int i = 0, n = this->_internal_restart_algorithms_size(); i < n; i++) {
3712 target = stream->EnsureSpace(target);
3713 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3714 61, this->_internal_restart_algorithms(i), target);
3717 cached_has_bits = _has_bits_[2];
3719 if (cached_has_bits & 0x01000000u) {
3720 target = stream->EnsureSpace(target);
3721 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(62, this->_internal_restart_running_window_size(), target);
3725 if (cached_has_bits & 0x00800000u) {
3726 target = stream->EnsureSpace(target);
3727 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(63, this->_internal_restart_dl_average_ratio(), target);
3730 cached_has_bits = _has_bits_[0];
3732 if (cached_has_bits & 0x00100000u) {
3733 target = stream->EnsureSpace(target);
3734 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(64, this->_internal_use_blocking_restart(), target);
3737 cached_has_bits = _has_bits_[2];
3739 if (cached_has_bits & 0x02000000u) {
3740 target = stream->EnsureSpace(target);
3741 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(65, this->_internal_blocking_restart_window_size(), target);
3745 if (cached_has_bits & 0x04000000u) {
3746 target = stream->EnsureSpace(target);
3747 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(66, this->_internal_blocking_restart_multiplier(), target);
3751 if (cached_has_bits & 0x08000000u) {
3752 target = stream->EnsureSpace(target);
3753 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(67, this->_internal_max_deterministic_time(), target);
3756 cached_has_bits = _has_bits_[0];
3758 if (cached_has_bits & 0x00000400u) {
3759 target = stream->EnsureSpace(target);
3760 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(68, this->_internal_num_conflicts_before_strategy_changes(), target);
3764 if (cached_has_bits & 0x00000800u) {
3765 target = stream->EnsureSpace(target);
3766 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(69, this->_internal_strategy_change_increase_ratio(), target);
3770 if (cached_has_bits & 0x00000001u) {
3771 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3772 this->_internal_default_restart_algorithms().data(), static_cast<int>(this->_internal_default_restart_algorithms().length()),
3773 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3774 "operations_research.sat.SatParameters.default_restart_algorithms");
3775 target = stream->WriteStringMaybeAliased(
3776 70, this->_internal_default_restart_algorithms(), target);
3779 cached_has_bits = _has_bits_[2];
3781 if (cached_has_bits & 0x10000000u) {
3782 target = stream->EnsureSpace(target);
3783 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(71, this->_internal_restart_lbd_average_ratio(), target);
3786 cached_has_bits = _has_bits_[3];
3788 if (cached_has_bits & 0x00002000u) {
3789 target = stream->EnsureSpace(target);
3790 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(72, this->_internal_presolve_use_bva(), target);
3793 cached_has_bits = _has_bits_[2];
3795 if (cached_has_bits & 0x20000000u) {
3796 target = stream->EnsureSpace(target);
3797 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(73, this->_internal_presolve_bva_threshold(), target);
3800 cached_has_bits = _has_bits_[3];
3802 if (cached_has_bits & 0x00000010u) {
3803 target = stream->EnsureSpace(target);
3804 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(74, this->_internal_use_precedences_in_disjunctive_constraint(), target);
3807 cached_has_bits = _has_bits_[0];
3809 if (cached_has_bits & 0x00040000u) {
3810 target = stream->EnsureSpace(target);
3811 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(75, this->_internal_use_erwa_heuristic(), target);
3815 if (cached_has_bits & 0x00001000u) {
3816 target = stream->EnsureSpace(target);
3817 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_initial_variables_activity(), target);
3821 if (cached_has_bits & 0x00080000u) {
3822 target = stream->EnsureSpace(target);
3823 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_also_bump_variables_in_conflict_reasons(), target);
3827 if (cached_has_bits & 0x00004000u) {
3828 target = stream->EnsureSpace(target);
3829 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(78, this->_internal_use_overload_checker_in_cumulative_constraint(), target);
3833 if (cached_has_bits & 0x00008000u) {
3834 target = stream->EnsureSpace(target);
3835 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(79, this->_internal_use_timetable_edge_finding_in_cumulative_constraint(), target);
3838 cached_has_bits = _has_bits_[3];
3840 if (cached_has_bits & 0x00000020u) {
3841 target = stream->EnsureSpace(target);
3842 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(80, this->_internal_use_disjunctive_constraint_in_cumulative_constraint(), target);
3845 cached_has_bits = _has_bits_[0];
3847 if (cached_has_bits & 0x00002000u) {
3848 target = stream->EnsureSpace(target);
3849 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3850 82, this->_internal_search_branching(), target);
3853 cached_has_bits = _has_bits_[1];
3855 if (cached_has_bits & 0x00000200u) {
3856 target = stream->EnsureSpace(target);
3857 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_optimize_with_core(), target);
3860 cached_has_bits = _has_bits_[3];
3862 if (cached_has_bits & 0x00000004u) {
3863 target = stream->EnsureSpace(target);
3864 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(84, this->_internal_find_multiple_cores(), target);
3867 cached_has_bits = _has_bits_[1];
3869 if (cached_has_bits & 0x00000800u) {
3870 target = stream->EnsureSpace(target);
3871 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_optimize_with_max_hs(), target);
3874 cached_has_bits = _has_bits_[3];
3876 if (cached_has_bits & 0x02000000u) {
3877 target = stream->EnsureSpace(target);
3878 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_cp_model_presolve(), target);
3881 cached_has_bits = _has_bits_[0];
3883 if (cached_has_bits & 0x10000000u) {
3884 target = stream->EnsureSpace(target);
3885 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_enumerate_all_solutions(), target);
3888 cached_has_bits = _has_bits_[3];
3890 if (cached_has_bits & 0x00001000u) {
3891 target = stream->EnsureSpace(target);
3892 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(88, this->_internal_presolve_blocked_clause(), target);
3896 if (cached_has_bits & 0x00000008u) {
3897 target = stream->EnsureSpace(target);
3898 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(89, this->_internal_cover_optimization(), target);
3902 if (cached_has_bits & 0x00000040u) {
3903 target = stream->EnsureSpace(target);
3904 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(90, this->_internal_linearization_level(), target);
3908 if (cached_has_bits & 0x00000080u) {
3909 target = stream->EnsureSpace(target);
3910 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(91, this->_internal_max_num_cuts(), target);
3913 cached_has_bits = _has_bits_[0];
3915 if (cached_has_bits & 0x00010000u) {
3916 target = stream->EnsureSpace(target);
3917 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(92, this->_internal_only_add_cuts_at_level_zero(), target);
3920 cached_has_bits = _has_bits_[3];
3922 if (cached_has_bits & 0x04000000u) {
3923 target = stream->EnsureSpace(target);
3924 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(93, this->_internal_cp_model_use_sat_presolve(), target);
3927 cached_has_bits = _has_bits_[4];
3929 if (cached_has_bits & 0x00000001u) {
3930 target = stream->EnsureSpace(target);
3931 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(94, this->_internal_exploit_integer_lp_solution(), target);
3934 cached_has_bits = _has_bits_[3];
3936 if (cached_has_bits & 0x00800000u) {
3937 target = stream->EnsureSpace(target);
3938 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(95, this->_internal_auto_detect_greater_than_at_least_one_of(), target);
3942 if (cached_has_bits & 0x00000100u) {
3943 target = stream->EnsureSpace(target);
3944 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(96, this->_internal_minimize_with_propagation_restart_period(), target);
3948 if (cached_has_bits & 0x00000200u) {
3949 target = stream->EnsureSpace(target);
3950 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(97, this->_internal_minimize_with_propagation_num_decisions(), target);
3953 cached_has_bits = _has_bits_[0];
3955 if (cached_has_bits & 0x80000000u) {
3956 target = stream->EnsureSpace(target);
3957 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(98, this->_internal_stop_after_first_solution(), target);
3960 cached_has_bits = _has_bits_[3];
3962 if (cached_has_bits & 0x00004000u) {
3963 target = stream->EnsureSpace(target);
3964 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(99, this->_internal_binary_search_num_conflicts(), target);
3967 cached_has_bits = _has_bits_[0];
3969 if (cached_has_bits & 0x00400000u) {
3970 target = stream->EnsureSpace(target);
3971 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(100, this->_internal_num_search_workers(), target);
3974 cached_has_bits = _has_bits_[1];
3976 if (cached_has_bits & 0x00000080u) {
3977 target = stream->EnsureSpace(target);
3978 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_use_lns_only(), target);
3982 if (cached_has_bits & 0x00000008u) {
3983 target = stream->EnsureSpace(target);
3984 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(103, this->_internal_randomize_search(), target);
3987 cached_has_bits = _has_bits_[0];
3989 if (cached_has_bits & 0x00800000u) {
3990 target = stream->EnsureSpace(target);
3991 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(104, this->_internal_search_randomization_tolerance(), target);
3994 cached_has_bits = _has_bits_[1];
3996 if (cached_has_bits & 0x00000001u) {
3997 target = stream->EnsureSpace(target);
3998 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(105, this->_internal_lns_focus_on_decision_variables(), target);
4001 cached_has_bits = _has_bits_[3];
4003 if (cached_has_bits & 0x00400000u) {
4004 target = stream->EnsureSpace(target);
4005 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(106, this->_internal_instantiate_all_variables(), target);
4009 if (cached_has_bits & 0x00080000u) {
4010 target = stream->EnsureSpace(target);
4011 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(107, this->_internal_boolean_encoding_level(), target);
4014 cached_has_bits = _has_bits_[4];
4016 if (cached_has_bits & 0x00000080u) {
4017 target = stream->EnsureSpace(target);
4018 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(108, this->_internal_use_optional_variables(), target);
4022 if (cached_has_bits & 0x00000100u) {
4023 target = stream->EnsureSpace(target);
4024 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(109, this->_internal_use_exact_lp_reason(), target);
4027 cached_has_bits = _has_bits_[3];
4029 if (cached_has_bits & 0x00100000u) {
4030 target = stream->EnsureSpace(target);
4031 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(110, this->_internal_cp_model_probing_level(), target);
4034 cached_has_bits = _has_bits_[0];
4036 if (cached_has_bits & 0x00020000u) {
4037 target = stream->EnsureSpace(target);
4038 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(111, this->_internal_add_knapsack_cuts(), target);
4041 cached_has_bits = _has_bits_[3];
4043 if (cached_has_bits & 0x80000000u) {
4044 target = stream->EnsureSpace(target);
4045 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_add_lp_constraints_lazily(), target);
4049 if (cached_has_bits & 0x01000000u) {
4050 target = stream->EnsureSpace(target);
4051 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_share_objective_bounds(), target);
4054 cached_has_bits = _has_bits_[4];
4056 if (cached_has_bits & 0x01000000u) {
4057 target = stream->EnsureSpace(target);
4058 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(114, this->_internal_share_level_zero_bounds(), target);
4061 cached_has_bits = _has_bits_[3];
4063 if (cached_has_bits & 0x20000000u) {
4064 target = stream->EnsureSpace(target);
4065 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(115, this->_internal_min_orthogonality_for_lp_constraints(), target);
4068 cached_has_bits = _has_bits_[4];
4070 if (cached_has_bits & 0x00000002u) {
4071 target = stream->EnsureSpace(target);
4072 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(116, this->_internal_exploit_all_lp_solution(), target);
4076 if (cached_has_bits & 0x00040000u) {
4077 target = stream->EnsureSpace(target);
4078 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_add_cg_cuts(), target);
4082 if (cached_has_bits & 0x00000004u) {
4083 target = stream->EnsureSpace(target);
4084 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(119, this->_internal_max_integer_rounding_scaling(), target);
4088 if (cached_has_bits & 0x00080000u) {
4089 target = stream->EnsureSpace(target);
4090 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_add_mir_cuts(), target);
4094 if (cached_has_bits & 0x00000008u) {
4095 target = stream->EnsureSpace(target);
4096 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(121, this->_internal_max_consecutive_inactive_count(), target);
4100 if (cached_has_bits & 0x00000010u) {
4101 target = stream->EnsureSpace(target);
4102 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_new_constraints_batch_size(), target);
4106 if (cached_has_bits & 0x00000020u) {
4107 target = stream->EnsureSpace(target);
4108 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(123, this->_internal_pseudo_cost_reliability_threshold(), target);
4112 if (cached_has_bits & 0x00000040u) {
4113 target = stream->EnsureSpace(target);
4114 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(124, this->_internal_mip_max_bound(), target);
4118 if (cached_has_bits & 0x00001000u) {
4119 target = stream->EnsureSpace(target);
4120 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(125, this->_internal_mip_var_scaling(), target);
4124 if (cached_has_bits & 0x00002000u) {
4125 target = stream->EnsureSpace(target);
4126 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(126, this->_internal_mip_wanted_precision(), target);
4130 if (cached_has_bits & 0x00000800u) {
4131 target = stream->EnsureSpace(target);
4132 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mip_max_activity_exponent(), target);
4136 if (cached_has_bits & 0x00004000u) {
4137 target = stream->EnsureSpace(target);
4138 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(128, this->_internal_mip_check_precision(), target);
4142 if (cached_has_bits & 0x04000000u) {
4143 target = stream->EnsureSpace(target);
4144 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(129, this->_internal_use_rins_lns(), target);
4147 cached_has_bits = _has_bits_[1];
4149 if (cached_has_bits & 0x20000000u) {
4150 target = stream->EnsureSpace(target);
4151 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(130, this->_internal_exploit_best_solution(), target);
4154 cached_has_bits = _has_bits_[3];
4156 if (cached_has_bits & 0x00200000u) {
4157 target = stream->EnsureSpace(target);
4158 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(131, this->_internal_exploit_objective(), target);
4161 cached_has_bits = _has_bits_[0];
4163 if (cached_has_bits & 0x40000000u) {
4164 target = stream->EnsureSpace(target);
4165 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(132, this->_internal_fill_tightened_domains_in_response(), target);
4168 cached_has_bits = _has_bits_[1];
4170 if (cached_has_bits & 0x00400000u) {
4171 target = stream->EnsureSpace(target);
4172 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_use_combined_no_overlap(), target);
4175 cached_has_bits = _has_bits_[4];
4177 if (cached_has_bits & 0x00008000u) {
4178 target = stream->EnsureSpace(target);
4179 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(134, this->_internal_interleave_batch_size(), target);
4183 if (cached_has_bits & 0x00000200u) {
4184 target = stream->EnsureSpace(target);
4185 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_catch_sigint_signal(), target);
4188 cached_has_bits = _has_bits_[1];
4190 if (cached_has_bits & 0x00000020u) {
4191 target = stream->EnsureSpace(target);
4192 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(136, this->_internal_interleave_search(), target);
4196 if (cached_has_bits & 0x00000004u) {
4197 target = stream->EnsureSpace(target);
4198 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(137, this->_internal_diversify_lns_params(), target);
4201 cached_has_bits = _has_bits_[4];
4203 if (cached_has_bits & 0x00010000u) {
4204 target = stream->EnsureSpace(target);
4205 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(138, this->_internal_max_presolve_iterations(), target);
4208 cached_has_bits = _has_bits_[1];
4210 if (cached_has_bits & 0x00200000u) {
4211 target = stream->EnsureSpace(target);
4212 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(139, this->_internal_use_branching_in_lp(), target);
4215 cached_has_bits = _has_bits_[3];
4217 if (cached_has_bits & 0x08000000u) {
4218 target = stream->EnsureSpace(target);
4219 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(140, this->_internal_expand_element_constraints(), target);
4222 cached_has_bits = _has_bits_[1];
4224 if (cached_has_bits & 0x00000040u) {
4225 target = stream->EnsureSpace(target);
4226 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(141, this->_internal_reduce_memory_usage_in_interleave_mode(), target);
4230 if (cached_has_bits & 0x00010000u) {
4231 target = stream->EnsureSpace(target);
4232 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(142, this->_internal_probing_period_at_root(), target);
4235 cached_has_bits = _has_bits_[3];
4237 if (cached_has_bits & 0x10000000u) {
4238 target = stream->EnsureSpace(target);
4239 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(143, this->_internal_expand_automaton_constraints(), target);
4242 cached_has_bits = _has_bits_[4];
4244 if (cached_has_bits & 0x00000400u) {
4245 target = stream->EnsureSpace(target);
4246 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(144, this->_internal_use_implied_bounds(), target);
4250 if (cached_has_bits & 0x00020000u) {
4251 target = stream->EnsureSpace(target);
4252 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(145, this->_internal_merge_no_overlap_work_limit(), target);
4256 if (cached_has_bits & 0x00800000u) {
4257 target = stream->EnsureSpace(target);
4258 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(146, this->_internal_merge_at_most_one_work_limit(), target);
4262 if (cached_has_bits & 0x00400000u) {
4263 target = stream->EnsureSpace(target);
4264 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(147, this->_internal_presolve_substitution_level(), target);
4268 if (cached_has_bits & 0x10000000u) {
4269 target = stream->EnsureSpace(target);
4270 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(148, this->_internal_max_all_diff_cut_size(), target);
4273 cached_has_bits = _has_bits_[1];
4275 if (cached_has_bits & 0x00000010u) {
4276 target = stream->EnsureSpace(target);
4277 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(149, this->_internal_stop_after_presolve(), target);
4281 if (cached_has_bits & 0x00000002u) {
4282 target = stream->EnsureSpace(target);
4283 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(150, this->_internal_use_relaxation_lns(), target);
4287 if (cached_has_bits & 0x04000000u) {
4288 target = stream->EnsureSpace(target);
4289 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(151, this->_internal_cp_model_max_num_presolve_operations(), target);
4292 cached_has_bits = _has_bits_[3];
4294 if (cached_has_bits & 0x40000000u) {
4295 target = stream->EnsureSpace(target);
4296 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(152, this->_internal_add_lin_max_cuts(), target);
4299 cached_has_bits = _has_bits_[4];
4301 if (cached_has_bits & 0x20000000u) {
4302 target = stream->EnsureSpace(target);
4303 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(153, this->_internal_hint_conflict_limit(), target);
4307 if (cached_has_bits & 0x40000000u) {
4308 target = stream->EnsureSpace(target);
4309 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(154, this->_internal_max_cut_rounds_at_level_zero(), target);
4313 if (cached_has_bits & 0x80000000u) {
4314 target = stream->EnsureSpace(target);
4315 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(155, this->_internal_cut_max_active_count_value(), target);
4318 cached_has_bits = _has_bits_[5];
4320 if (cached_has_bits & 0x00000001u) {
4321 target = stream->EnsureSpace(target);
4322 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(156, this->_internal_cut_active_count_decay(), target);
4326 if (cached_has_bits & 0x00000002u) {
4327 target = stream->EnsureSpace(target);
4328 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(157, this->_internal_cut_cleanup_target(), target);
4331 cached_has_bits = _has_bits_[3];
4333 if (cached_has_bits & 0x00008000u) {
4334 target = stream->EnsureSpace(target);
4335 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(158, this->_internal_expand_table_constraints(), target);
4338 cached_has_bits = _has_bits_[1];
4340 if (cached_has_bits & 0x01000000u) {
4341 target = stream->EnsureSpace(target);
4342 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(159, this->_internal_absolute_gap_limit(), target);
4346 if (cached_has_bits & 0x02000000u) {
4347 target = stream->EnsureSpace(target);
4348 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(160, this->_internal_relative_gap_limit(), target);
4352 if (cached_has_bits & 0x40000000u) {
4353 target = stream->EnsureSpace(target);
4354 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(161, this->_internal_exploit_relaxation_solution(), target);
4357 cached_has_bits = _has_bits_[0];
4359 if (cached_has_bits & 0x04000000u) {
4360 target = stream->EnsureSpace(target);
4361 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(162, this->_internal_cp_model_postsolve_with_full_solver(), target);
4365 if (cached_has_bits & 0x08000000u) {
4366 target = stream->EnsureSpace(target);
4367 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(163, this->_internal_use_sat_inprocessing(), target);
4370 cached_has_bits = _has_bits_[4];
4372 if (cached_has_bits & 0x08000000u) {
4373 target = stream->EnsureSpace(target);
4374 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(164, this->_internal_use_feasibility_pump(), target);
4377 cached_has_bits = _has_bits_[5];
4379 if (cached_has_bits & 0x00000004u) {
4380 target = stream->EnsureSpace(target);
4381 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4382 165, this->_internal_fp_rounding(), target);
4386 if (cached_has_bits & 0x00000020u) {
4387 target = stream->EnsureSpace(target);
4388 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(166, this->_internal_mip_automatically_scale_variables(), target);
4391 cached_has_bits = _has_bits_[1];
4393 if (cached_has_bits & 0x08000000u) {
4394 target = stream->EnsureSpace(target);
4395 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(167, this->_internal_repair_hint(), target);
4398 cached_has_bits = _has_bits_[5];
4400 if (cached_has_bits & 0x00000008u) {
4401 target = stream->EnsureSpace(target);
4402 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(168, this->_internal_polarity_rephase_increment(), target);
4405 cached_has_bits = _has_bits_[4];
4407 if (cached_has_bits & 0x00100000u) {
4408 target = stream->EnsureSpace(target);
4409 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(169, this->_internal_add_zero_half_cuts(), target);
4412 cached_has_bits = _has_bits_[1];
4414 if (cached_has_bits & 0x00001000u) {
4415 target = stream->EnsureSpace(target);
4416 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(170, this->_internal_expand_alldiff_constraints(), target);
4419 cached_has_bits = _has_bits_[0];
4421 if (cached_has_bits & 0x00000002u) {
4422 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4423 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
4424 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4425 "operations_research.sat.SatParameters.name");
4426 target = stream->WriteStringMaybeAliased(
4427 171, this->_internal_name(), target);
4430 cached_has_bits = _has_bits_[4];
4432 if (cached_has_bits & 0x00200000u) {
4433 target = stream->EnsureSpace(target);
4434 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(172, this->_internal_add_clique_cuts(), target);
4437 cached_has_bits = _has_bits_[0];
4439 if (cached_has_bits & 0x20000000u) {
4440 target = stream->EnsureSpace(target);
4441 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(173, this->_internal_keep_all_feasible_solutions_in_presolve(), target);
4444 cached_has_bits = _has_bits_[1];
4446 if (cached_has_bits & 0x00004000u) {
4447 target = stream->EnsureSpace(target);
4448 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(174, this->_internal_presolve_extract_integer_enforcement(), target);
4452 if (cached_has_bits & 0x00800000u) {
4453 target = stream->EnsureSpace(target);
4454 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(175, this->_internal_polish_lp_solution(), target);
4458 if (cached_has_bits & 0x00000100u) {
4459 target = stream->EnsureSpace(target);
4460 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(176, this->_internal_use_probing_search(), target);
4463 cached_has_bits = _has_bits_[5];
4465 if (cached_has_bits & 0x00000010u) {
4466 target = stream->EnsureSpace(target);
4467 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(177, this->_internal_convert_intervals(), target);
4470 cached_has_bits = _has_bits_[0];
4472 if (cached_has_bits & 0x00200000u) {
4473 target = stream->EnsureSpace(target);
4474 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(178, this->_internal_permute_variable_randomly(), target);
4477 cached_has_bits = _has_bits_[1];
4479 if (cached_has_bits & 0x00020000u) {
4480 target = stream->EnsureSpace(target);
4481 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(179, this->_internal_permute_presolve_constraint_order(), target);
4485 if (cached_has_bits & 0x00040000u) {
4486 target = stream->EnsureSpace(target);
4487 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(180, this->_internal_use_absl_random(), target);
4491 if (cached_has_bits & 0x00002000u) {
4492 target = stream->EnsureSpace(target);
4493 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(181, this->_internal_disable_constraint_expansion(), target);
4496 cached_has_bits = _has_bits_[3];
4498 if (cached_has_bits & 0x00010000u) {
4499 target = stream->EnsureSpace(target);
4500 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(182, this->_internal_expand_reservoir_constraints(), target);
4503 cached_has_bits = _has_bits_[5];
4505 if (cached_has_bits & 0x00000040u) {
4506 target = stream->EnsureSpace(target);
4507 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(183, this->_internal_symmetry_level(), target);
4510 cached_has_bits = _has_bits_[4];
4512 if (cached_has_bits & 0x02000000u) {
4513 target = stream->EnsureSpace(target);
4514 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(184, this->_internal_lns_expand_intervals_in_constraint_graph(), target);
4517 cached_has_bits = _has_bits_[0];
4519 if (cached_has_bits & 0x00000004u) {
4520 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4521 this->_internal_log_prefix().data(), static_cast<int>(this->_internal_log_prefix().length()),
4522 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4523 "operations_research.sat.SatParameters.log_prefix");
4524 target = stream->WriteStringMaybeAliased(
4525 185, this->_internal_log_prefix(), target);
4528 cached_has_bits = _has_bits_[3];
4530 if (cached_has_bits & 0x00000400u) {
4531 target = stream->EnsureSpace(target);
4532 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(186, this->_internal_log_to_stdout(), target);
4535 cached_has_bits = _has_bits_[1];
4537 if (cached_has_bits & 0x00100000u) {
4538 target = stream->EnsureSpace(target);
4539 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(187, this->_internal_log_to_response(), target);
4543 if (cached_has_bits & 0x00000400u) {
4544 target = stream->EnsureSpace(target);
4545 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(188, this->_internal_optimize_with_lb_tree_search(), target);
4548 cached_has_bits = _has_bits_[3];
4550 if (cached_has_bits & 0x00000002u) {
4551 target = stream->EnsureSpace(target);
4552 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(189, this->_internal_log_subsolver_statistics(), target);
4555 cached_has_bits = _has_bits_[5];
4557 if (cached_has_bits & 0x00000100u) {
4558 target = stream->EnsureSpace(target);
4559 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(190, this->_internal_clause_cleanup_ratio(), target);
4563 if (cached_has_bits & 0x00000080u) {
4564 target = stream->EnsureSpace(target);
4565 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(191, this->_internal_max_domain_size_when_encoding_eq_neq_constraints(), target);
4568 cached_has_bits = _has_bits_[1];
4570 if (cached_has_bits & 0x10000000u) {
4571 target = stream->EnsureSpace(target);
4572 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(192, this->_internal_fix_variables_to_their_hinted_value(), target);
4576 if (cached_has_bits & 0x80000000u) {
4577 target = stream->EnsureSpace(target);
4578 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(193, this->_internal_solution_pool_size(), target);
4581 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4582 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4583 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4591 size_t total_size = 0;
4593 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4595 (void) cached_has_bits;
4599 size_t data_size = 0;
4600 unsigned int count = static_cast<unsigned int>(this->_internal_restart_algorithms_size());
for (
unsigned int i = 0; i < count; i++) {
4601 data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
4602 this->_internal_restart_algorithms(static_cast<int>(i)));
4604 total_size += (2UL * count) + data_size;
4607 cached_has_bits = _has_bits_[0];
4608 if (cached_has_bits & 0x000000ffu) {
4610 if (cached_has_bits & 0x00000001u) {
4612 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4613 this->_internal_default_restart_algorithms());
4617 if (cached_has_bits & 0x00000002u) {
4619 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4620 this->_internal_name());
4624 if (cached_has_bits & 0x00000004u) {
4626 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4627 this->_internal_log_prefix());
4631 if (cached_has_bits & 0x00000008u) {
4633 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_preferred_variable_order());
4637 if (cached_has_bits & 0x00000010u) {
4639 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4640 this->_internal_clause_cleanup_target());
4644 if (cached_has_bits & 0x00000020u) {
4645 total_size += 2 + 8;
4649 if (cached_has_bits & 0x00000040u) {
4650 total_size += 2 + 8;
4654 if (cached_has_bits & 0x00000080u) {
4656 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_assumption_order());
4660 if (cached_has_bits & 0x0000ff00u) {
4662 if (cached_has_bits & 0x00000100u) {
4664 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_protection());
4668 if (cached_has_bits & 0x00000200u) {
4670 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_ordering());
4674 if (cached_has_bits & 0x00000400u) {
4676 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4677 this->_internal_num_conflicts_before_strategy_changes());
4681 if (cached_has_bits & 0x00000800u) {
4682 total_size += 2 + 8;
4686 if (cached_has_bits & 0x00001000u) {
4687 total_size += 2 + 8;
4691 if (cached_has_bits & 0x00002000u) {
4693 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_search_branching());
4697 if (cached_has_bits & 0x00004000u) {
4698 total_size += 2 + 1;
4702 if (cached_has_bits & 0x00008000u) {
4703 total_size += 2 + 1;
4707 if (cached_has_bits & 0x00ff0000u) {
4709 if (cached_has_bits & 0x00010000u) {
4710 total_size += 2 + 1;
4714 if (cached_has_bits & 0x00020000u) {
4715 total_size += 2 + 1;
4719 if (cached_has_bits & 0x00040000u) {
4720 total_size += 2 + 1;
4724 if (cached_has_bits & 0x00080000u) {
4725 total_size += 2 + 1;
4729 if (cached_has_bits & 0x00100000u) {
4730 total_size += 2 + 1;
4734 if (cached_has_bits & 0x00200000u) {
4735 total_size += 2 + 1;
4739 if (cached_has_bits & 0x00400000u) {
4741 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4742 this->_internal_num_search_workers());
4746 if (cached_has_bits & 0x00800000u) {
4748 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4749 this->_internal_search_randomization_tolerance());
4753 if (cached_has_bits & 0xff000000u) {
4755 if (cached_has_bits & 0x01000000u) {
4756 total_size += 2 + 1;
4760 if (cached_has_bits & 0x02000000u) {
4761 total_size += 2 + 1;
4765 if (cached_has_bits & 0x04000000u) {
4766 total_size += 2 + 1;
4770 if (cached_has_bits & 0x08000000u) {
4771 total_size += 2 + 1;
4775 if (cached_has_bits & 0x10000000u) {
4776 total_size += 2 + 1;
4780 if (cached_has_bits & 0x20000000u) {
4781 total_size += 2 + 1;
4785 if (cached_has_bits & 0x40000000u) {
4786 total_size += 2 + 1;
4790 if (cached_has_bits & 0x80000000u) {
4791 total_size += 2 + 1;
4795 cached_has_bits = _has_bits_[1];
4796 if (cached_has_bits & 0x000000ffu) {
4798 if (cached_has_bits & 0x00000001u) {
4799 total_size += 2 + 1;
4803 if (cached_has_bits & 0x00000002u) {
4804 total_size += 2 + 1;
4808 if (cached_has_bits & 0x00000004u) {
4809 total_size += 2 + 1;
4813 if (cached_has_bits & 0x00000008u) {
4814 total_size += 2 + 1;
4818 if (cached_has_bits & 0x00000010u) {
4819 total_size += 2 + 1;
4823 if (cached_has_bits & 0x00000020u) {
4824 total_size += 2 + 1;
4828 if (cached_has_bits & 0x00000040u) {
4829 total_size += 2 + 1;
4833 if (cached_has_bits & 0x00000080u) {
4834 total_size += 2 + 1;
4838 if (cached_has_bits & 0x0000ff00u) {
4840 if (cached_has_bits & 0x00000100u) {
4841 total_size += 2 + 1;
4845 if (cached_has_bits & 0x00000200u) {
4846 total_size += 2 + 1;
4850 if (cached_has_bits & 0x00000400u) {
4851 total_size += 2 + 1;
4855 if (cached_has_bits & 0x00000800u) {
4856 total_size += 2 + 1;
4860 if (cached_has_bits & 0x00001000u) {
4861 total_size += 2 + 1;
4865 if (cached_has_bits & 0x00002000u) {
4866 total_size += 2 + 1;
4870 if (cached_has_bits & 0x00004000u) {
4871 total_size += 2 + 1;
4875 if (cached_has_bits & 0x00008000u) {
4876 total_size += 2 + 1;
4880 if (cached_has_bits & 0x00ff0000u) {
4882 if (cached_has_bits & 0x00010000u) {
4884 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4885 this->_internal_probing_period_at_root());
4889 if (cached_has_bits & 0x00020000u) {
4890 total_size += 2 + 1;
4894 if (cached_has_bits & 0x00040000u) {
4895 total_size += 2 + 1;
4899 if (cached_has_bits & 0x00080000u) {
4900 total_size += 2 + 1;
4904 if (cached_has_bits & 0x00100000u) {
4905 total_size += 2 + 1;
4909 if (cached_has_bits & 0x00200000u) {
4910 total_size += 2 + 1;
4914 if (cached_has_bits & 0x00400000u) {
4915 total_size += 2 + 1;
4919 if (cached_has_bits & 0x00800000u) {
4920 total_size += 2 + 1;
4924 if (cached_has_bits & 0xff000000u) {
4926 if (cached_has_bits & 0x01000000u) {
4927 total_size += 2 + 8;
4931 if (cached_has_bits & 0x02000000u) {
4932 total_size += 2 + 8;
4936 if (cached_has_bits & 0x04000000u) {
4938 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4939 this->_internal_cp_model_max_num_presolve_operations());
4943 if (cached_has_bits & 0x08000000u) {
4944 total_size += 2 + 1;
4948 if (cached_has_bits & 0x10000000u) {
4949 total_size += 2 + 1;
4953 if (cached_has_bits & 0x20000000u) {
4954 total_size += 2 + 1;
4958 if (cached_has_bits & 0x40000000u) {
4959 total_size += 2 + 1;
4963 if (cached_has_bits & 0x80000000u) {
4965 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4966 this->_internal_solution_pool_size());
4970 cached_has_bits = _has_bits_[2];
4971 if (cached_has_bits & 0x000000ffu) {
4973 if (cached_has_bits & 0x00000001u) {
4975 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_polarity());
4979 if (cached_has_bits & 0x00000002u) {
4981 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_minimization_algorithm());
4985 if (cached_has_bits & 0x00000004u) {
4986 total_size += 1 + 8;
4990 if (cached_has_bits & 0x00000008u) {
4991 total_size += 2 + 8;
4995 if (cached_has_bits & 0x00000010u) {
4996 total_size += 2 + 8;
5000 if (cached_has_bits & 0x00000020u) {
5002 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5003 this->_internal_clause_cleanup_period());
5007 if (cached_has_bits & 0x00000040u) {
5009 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5010 this->_internal_glucose_decay_increment_period());
5014 if (cached_has_bits & 0x00000080u) {
5015 total_size += 2 + 8;
5019 if (cached_has_bits & 0x0000ff00u) {
5021 if (cached_has_bits & 0x00000100u) {
5022 total_size += 2 + 8;
5026 if (cached_has_bits & 0x00000200u) {
5027 total_size += 2 + 8;
5031 if (cached_has_bits & 0x00000400u) {
5033 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5034 this->_internal_restart_period());
5038 if (cached_has_bits & 0x00000800u) {
5040 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5041 this->_internal_random_seed());
5045 if (cached_has_bits & 0x00001000u) {
5046 total_size += 2 + 8;
5050 if (cached_has_bits & 0x00002000u) {
5052 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5053 this->_internal_max_number_of_conflicts());
5057 if (cached_has_bits & 0x00004000u) {
5059 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5060 this->_internal_max_memory_in_mb());
5064 if (cached_has_bits & 0x00008000u) {
5066 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_binary_minimization_algorithm());
5070 if (cached_has_bits & 0x00ff0000u) {
5072 if (cached_has_bits & 0x00010000u) {
5074 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5075 this->_internal_pb_cleanup_increment());
5079 if (cached_has_bits & 0x00020000u) {
5080 total_size += 2 + 8;
5084 if (cached_has_bits & 0x00040000u) {
5086 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_stratification());
5090 if (cached_has_bits & 0x00080000u) {
5092 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5093 this->_internal_presolve_bve_threshold());
5097 if (cached_has_bits & 0x00100000u) {
5098 total_size += 2 + 8;
5102 if (cached_has_bits & 0x00200000u) {
5104 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5105 this->_internal_presolve_bve_clause_weight());
5109 if (cached_has_bits & 0x00400000u) {
5111 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5112 this->_internal_clause_cleanup_lbd_bound());
5116 if (cached_has_bits & 0x00800000u) {
5117 total_size += 2 + 8;
5121 if (cached_has_bits & 0xff000000u) {
5123 if (cached_has_bits & 0x01000000u) {
5125 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5126 this->_internal_restart_running_window_size());
5130 if (cached_has_bits & 0x02000000u) {
5132 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5133 this->_internal_blocking_restart_window_size());
5137 if (cached_has_bits & 0x04000000u) {
5138 total_size += 2 + 8;
5142 if (cached_has_bits & 0x08000000u) {
5143 total_size += 2 + 8;
5147 if (cached_has_bits & 0x10000000u) {
5148 total_size += 2 + 8;
5152 if (cached_has_bits & 0x20000000u) {
5154 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5155 this->_internal_presolve_bva_threshold());
5159 if (cached_has_bits & 0x40000000u) {
5160 total_size += 2 + 1;
5164 if (cached_has_bits & 0x80000000u) {
5165 total_size += 2 + 1;
5169 cached_has_bits = _has_bits_[3];
5170 if (cached_has_bits & 0x000000ffu) {
5172 if (cached_has_bits & 0x00000001u) {
5173 total_size += 2 + 1;
5177 if (cached_has_bits & 0x00000002u) {
5178 total_size += 2 + 1;
5182 if (cached_has_bits & 0x00000004u) {
5183 total_size += 2 + 1;
5187 if (cached_has_bits & 0x00000008u) {
5188 total_size += 2 + 1;
5192 if (cached_has_bits & 0x00000010u) {
5193 total_size += 2 + 1;
5197 if (cached_has_bits & 0x00000020u) {
5198 total_size += 2 + 1;
5202 if (cached_has_bits & 0x00000040u) {
5204 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5205 this->_internal_linearization_level());
5209 if (cached_has_bits & 0x00000080u) {
5211 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5212 this->_internal_max_num_cuts());
5216 if (cached_has_bits & 0x0000ff00u) {
5218 if (cached_has_bits & 0x00000100u) {
5220 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5221 this->_internal_minimize_with_propagation_restart_period());
5225 if (cached_has_bits & 0x00000200u) {
5227 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5228 this->_internal_minimize_with_propagation_num_decisions());
5232 if (cached_has_bits & 0x00000400u) {
5233 total_size += 2 + 1;
5237 if (cached_has_bits & 0x00000800u) {
5238 total_size += 2 + 1;
5242 if (cached_has_bits & 0x00001000u) {
5243 total_size += 2 + 1;
5247 if (cached_has_bits & 0x00002000u) {
5248 total_size += 2 + 1;
5252 if (cached_has_bits & 0x00004000u) {
5254 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5255 this->_internal_binary_search_num_conflicts());
5259 if (cached_has_bits & 0x00008000u) {
5260 total_size += 2 + 1;
5264 if (cached_has_bits & 0x00ff0000u) {
5266 if (cached_has_bits & 0x00010000u) {
5267 total_size += 2 + 1;
5271 if (cached_has_bits & 0x00020000u) {
5272 total_size += 2 + 1;
5276 if (cached_has_bits & 0x00040000u) {
5277 total_size += 2 + 1;
5281 if (cached_has_bits & 0x00080000u) {
5283 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5284 this->_internal_boolean_encoding_level());
5288 if (cached_has_bits & 0x00100000u) {
5290 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5291 this->_internal_cp_model_probing_level());
5295 if (cached_has_bits & 0x00200000u) {
5296 total_size += 2 + 1;
5300 if (cached_has_bits & 0x00400000u) {
5301 total_size += 2 + 1;
5305 if (cached_has_bits & 0x00800000u) {
5306 total_size += 2 + 1;
5310 if (cached_has_bits & 0xff000000u) {
5312 if (cached_has_bits & 0x01000000u) {
5313 total_size += 2 + 1;
5317 if (cached_has_bits & 0x02000000u) {
5318 total_size += 2 + 1;
5322 if (cached_has_bits & 0x04000000u) {
5323 total_size += 2 + 1;
5327 if (cached_has_bits & 0x08000000u) {
5328 total_size += 2 + 1;
5332 if (cached_has_bits & 0x10000000u) {
5333 total_size += 2 + 1;
5337 if (cached_has_bits & 0x20000000u) {
5338 total_size += 2 + 8;
5342 if (cached_has_bits & 0x40000000u) {
5343 total_size += 2 + 1;
5347 if (cached_has_bits & 0x80000000u) {
5348 total_size += 2 + 1;
5352 cached_has_bits = _has_bits_[4];
5353 if (cached_has_bits & 0x000000ffu) {
5355 if (cached_has_bits & 0x00000001u) {
5356 total_size += 2 + 1;
5360 if (cached_has_bits & 0x00000002u) {
5361 total_size += 2 + 1;
5365 if (cached_has_bits & 0x00000004u) {
5367 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5368 this->_internal_max_integer_rounding_scaling());
5372 if (cached_has_bits & 0x00000008u) {
5374 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5375 this->_internal_max_consecutive_inactive_count());
5379 if (cached_has_bits & 0x00000010u) {
5381 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5382 this->_internal_new_constraints_batch_size());
5386 if (cached_has_bits & 0x00000020u) {
5388 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5389 this->_internal_pseudo_cost_reliability_threshold());
5393 if (cached_has_bits & 0x00000040u) {
5394 total_size += 2 + 8;
5398 if (cached_has_bits & 0x00000080u) {
5399 total_size += 2 + 1;
5403 if (cached_has_bits & 0x0000ff00u) {
5405 if (cached_has_bits & 0x00000100u) {
5406 total_size += 2 + 1;
5410 if (cached_has_bits & 0x00000200u) {
5411 total_size += 2 + 1;
5415 if (cached_has_bits & 0x00000400u) {
5416 total_size += 2 + 1;
5420 if (cached_has_bits & 0x00000800u) {
5422 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5423 this->_internal_mip_max_activity_exponent());
5427 if (cached_has_bits & 0x00001000u) {
5428 total_size += 2 + 8;
5432 if (cached_has_bits & 0x00002000u) {
5433 total_size += 2 + 8;
5437 if (cached_has_bits & 0x00004000u) {
5438 total_size += 2 + 8;
5442 if (cached_has_bits & 0x00008000u) {
5444 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5445 this->_internal_interleave_batch_size());
5449 if (cached_has_bits & 0x00ff0000u) {
5451 if (cached_has_bits & 0x00010000u) {
5453 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5454 this->_internal_max_presolve_iterations());
5458 if (cached_has_bits & 0x00020000u) {
5459 total_size += 2 + 8;
5463 if (cached_has_bits & 0x00040000u) {
5464 total_size += 2 + 1;
5468 if (cached_has_bits & 0x00080000u) {
5469 total_size += 2 + 1;
5473 if (cached_has_bits & 0x00100000u) {
5474 total_size += 2 + 1;
5478 if (cached_has_bits & 0x00200000u) {
5479 total_size += 2 + 1;
5483 if (cached_has_bits & 0x00400000u) {
5485 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5486 this->_internal_presolve_substitution_level());
5490 if (cached_has_bits & 0x00800000u) {
5491 total_size += 2 + 8;
5495 if (cached_has_bits & 0xff000000u) {
5497 if (cached_has_bits & 0x01000000u) {
5498 total_size += 2 + 1;
5502 if (cached_has_bits & 0x02000000u) {
5503 total_size += 2 + 1;
5507 if (cached_has_bits & 0x04000000u) {
5508 total_size += 2 + 1;
5512 if (cached_has_bits & 0x08000000u) {
5513 total_size += 2 + 1;
5517 if (cached_has_bits & 0x10000000u) {
5519 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5520 this->_internal_max_all_diff_cut_size());
5524 if (cached_has_bits & 0x20000000u) {
5526 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5527 this->_internal_hint_conflict_limit());
5531 if (cached_has_bits & 0x40000000u) {
5533 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5534 this->_internal_max_cut_rounds_at_level_zero());
5538 if (cached_has_bits & 0x80000000u) {
5539 total_size += 2 + 8;
5543 cached_has_bits = _has_bits_[5];
5544 if (cached_has_bits & 0x000000ffu) {
5546 if (cached_has_bits & 0x00000001u) {
5547 total_size += 2 + 8;
5551 if (cached_has_bits & 0x00000002u) {
5553 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5554 this->_internal_cut_cleanup_target());
5558 if (cached_has_bits & 0x00000004u) {
5560 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fp_rounding());
5564 if (cached_has_bits & 0x00000008u) {
5566 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5567 this->_internal_polarity_rephase_increment());
5571 if (cached_has_bits & 0x00000010u) {
5572 total_size += 2 + 1;
5576 if (cached_has_bits & 0x00000020u) {
5577 total_size += 2 + 1;
5581 if (cached_has_bits & 0x00000040u) {
5583 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5584 this->_internal_symmetry_level());
5588 if (cached_has_bits & 0x00000080u) {
5590 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5591 this->_internal_max_domain_size_when_encoding_eq_neq_constraints());
5596 if (cached_has_bits & 0x00000100u) {
5597 total_size += 2 + 8;
5600 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5601 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5602 _internal_metadata_, total_size, &_cached_size_);
5604 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5605 SetCachedSize(cached_size);
5610 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
5611 SatParameters::MergeImpl
5615 void SatParameters::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
5616 const ::PROTOBUF_NAMESPACE_ID::Message&from) {
5617 static_cast<SatParameters *>(to)->MergeFrom(
5618 static_cast<const SatParameters &>(from));
5624 GOOGLE_DCHECK_NE(&from,
this);
5625 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5626 (void) cached_has_bits;
5628 restart_algorithms_.MergeFrom(from.restart_algorithms_);
5629 cached_has_bits = from._has_bits_[0];
5630 if (cached_has_bits & 0x000000ffu) {
5631 if (cached_has_bits & 0x00000001u) {
5632 _internal_set_default_restart_algorithms(from._internal_default_restart_algorithms());
5634 if (cached_has_bits & 0x00000002u) {
5635 _internal_set_name(from._internal_name());
5637 if (cached_has_bits & 0x00000004u) {
5638 _internal_set_log_prefix(from._internal_log_prefix());
5640 if (cached_has_bits & 0x00000008u) {
5641 preferred_variable_order_ = from.preferred_variable_order_;
5643 if (cached_has_bits & 0x00000010u) {
5644 clause_cleanup_target_ = from.clause_cleanup_target_;
5646 if (cached_has_bits & 0x00000020u) {
5647 random_branches_ratio_ = from.random_branches_ratio_;
5649 if (cached_has_bits & 0x00000040u) {
5650 random_polarity_ratio_ = from.random_polarity_ratio_;
5652 if (cached_has_bits & 0x00000080u) {
5653 max_sat_assumption_order_ = from.max_sat_assumption_order_;
5655 _has_bits_[0] |= cached_has_bits;
5657 if (cached_has_bits & 0x0000ff00u) {
5658 if (cached_has_bits & 0x00000100u) {
5659 clause_cleanup_protection_ = from.clause_cleanup_protection_;
5661 if (cached_has_bits & 0x00000200u) {
5662 clause_cleanup_ordering_ = from.clause_cleanup_ordering_;
5664 if (cached_has_bits & 0x00000400u) {
5665 num_conflicts_before_strategy_changes_ = from.num_conflicts_before_strategy_changes_;
5667 if (cached_has_bits & 0x00000800u) {
5668 strategy_change_increase_ratio_ = from.strategy_change_increase_ratio_;
5670 if (cached_has_bits & 0x00001000u) {
5671 initial_variables_activity_ = from.initial_variables_activity_;
5673 if (cached_has_bits & 0x00002000u) {
5674 search_branching_ = from.search_branching_;
5676 if (cached_has_bits & 0x00004000u) {
5677 use_overload_checker_in_cumulative_constraint_ = from.use_overload_checker_in_cumulative_constraint_;
5679 if (cached_has_bits & 0x00008000u) {
5680 use_timetable_edge_finding_in_cumulative_constraint_ = from.use_timetable_edge_finding_in_cumulative_constraint_;
5682 _has_bits_[0] |= cached_has_bits;
5684 if (cached_has_bits & 0x00ff0000u) {
5685 if (cached_has_bits & 0x00010000u) {
5686 only_add_cuts_at_level_zero_ = from.only_add_cuts_at_level_zero_;
5688 if (cached_has_bits & 0x00020000u) {
5689 add_knapsack_cuts_ = from.add_knapsack_cuts_;
5691 if (cached_has_bits & 0x00040000u) {
5692 use_erwa_heuristic_ = from.use_erwa_heuristic_;
5694 if (cached_has_bits & 0x00080000u) {
5695 also_bump_variables_in_conflict_reasons_ = from.also_bump_variables_in_conflict_reasons_;
5697 if (cached_has_bits & 0x00100000u) {
5698 use_blocking_restart_ = from.use_blocking_restart_;
5700 if (cached_has_bits & 0x00200000u) {
5701 permute_variable_randomly_ = from.permute_variable_randomly_;
5703 if (cached_has_bits & 0x00400000u) {
5704 num_search_workers_ = from.num_search_workers_;
5706 if (cached_has_bits & 0x00800000u) {
5707 search_randomization_tolerance_ = from.search_randomization_tolerance_;
5709 _has_bits_[0] |= cached_has_bits;
5711 if (cached_has_bits & 0xff000000u) {
5712 if (cached_has_bits & 0x01000000u) {
5713 use_pb_resolution_ = from.use_pb_resolution_;
5715 if (cached_has_bits & 0x02000000u) {
5716 minimize_reduction_during_pb_resolution_ = from.minimize_reduction_during_pb_resolution_;
5718 if (cached_has_bits & 0x04000000u) {
5719 cp_model_postsolve_with_full_solver_ = from.cp_model_postsolve_with_full_solver_;
5721 if (cached_has_bits & 0x08000000u) {
5722 use_sat_inprocessing_ = from.use_sat_inprocessing_;
5724 if (cached_has_bits & 0x10000000u) {
5725 enumerate_all_solutions_ = from.enumerate_all_solutions_;
5727 if (cached_has_bits & 0x20000000u) {
5728 keep_all_feasible_solutions_in_presolve_ = from.keep_all_feasible_solutions_in_presolve_;
5730 if (cached_has_bits & 0x40000000u) {
5731 fill_tightened_domains_in_response_ = from.fill_tightened_domains_in_response_;
5733 if (cached_has_bits & 0x80000000u) {
5734 stop_after_first_solution_ = from.stop_after_first_solution_;
5736 _has_bits_[0] |= cached_has_bits;
5738 cached_has_bits = from._has_bits_[1];
5739 if (cached_has_bits & 0x000000ffu) {
5740 if (cached_has_bits & 0x00000001u) {
5741 lns_focus_on_decision_variables_ = from.lns_focus_on_decision_variables_;
5743 if (cached_has_bits & 0x00000002u) {
5744 use_relaxation_lns_ = from.use_relaxation_lns_;
5746 if (cached_has_bits & 0x00000004u) {
5747 diversify_lns_params_ = from.diversify_lns_params_;
5749 if (cached_has_bits & 0x00000008u) {
5750 randomize_search_ = from.randomize_search_;
5752 if (cached_has_bits & 0x00000010u) {
5753 stop_after_presolve_ = from.stop_after_presolve_;
5755 if (cached_has_bits & 0x00000020u) {
5756 interleave_search_ = from.interleave_search_;
5758 if (cached_has_bits & 0x00000040u) {
5759 reduce_memory_usage_in_interleave_mode_ = from.reduce_memory_usage_in_interleave_mode_;
5761 if (cached_has_bits & 0x00000080u) {
5762 use_lns_only_ = from.use_lns_only_;
5764 _has_bits_[1] |= cached_has_bits;
5766 if (cached_has_bits & 0x0000ff00u) {
5767 if (cached_has_bits & 0x00000100u) {
5768 use_probing_search_ = from.use_probing_search_;
5770 if (cached_has_bits & 0x00000200u) {
5771 optimize_with_core_ = from.optimize_with_core_;
5773 if (cached_has_bits & 0x00000400u) {
5774 optimize_with_lb_tree_search_ = from.optimize_with_lb_tree_search_;
5776 if (cached_has_bits & 0x00000800u) {
5777 optimize_with_max_hs_ = from.optimize_with_max_hs_;
5779 if (cached_has_bits & 0x00001000u) {
5780 expand_alldiff_constraints_ = from.expand_alldiff_constraints_;
5782 if (cached_has_bits & 0x00002000u) {
5783 disable_constraint_expansion_ = from.disable_constraint_expansion_;
5785 if (cached_has_bits & 0x00004000u) {
5786 presolve_extract_integer_enforcement_ = from.presolve_extract_integer_enforcement_;
5788 if (cached_has_bits & 0x00008000u) {
5789 max_sat_reverse_assumption_order_ = from.max_sat_reverse_assumption_order_;
5791 _has_bits_[1] |= cached_has_bits;
5793 if (cached_has_bits & 0x00ff0000u) {
5794 if (cached_has_bits & 0x00010000u) {
5795 probing_period_at_root_ = from.probing_period_at_root_;
5797 if (cached_has_bits & 0x00020000u) {
5798 permute_presolve_constraint_order_ = from.permute_presolve_constraint_order_;
5800 if (cached_has_bits & 0x00040000u) {
5801 use_absl_random_ = from.use_absl_random_;
5803 if (cached_has_bits & 0x00080000u) {
5804 log_search_progress_ = from.log_search_progress_;
5806 if (cached_has_bits & 0x00100000u) {
5807 log_to_response_ = from.log_to_response_;
5809 if (cached_has_bits & 0x00200000u) {
5810 use_branching_in_lp_ = from.use_branching_in_lp_;
5812 if (cached_has_bits & 0x00400000u) {
5813 use_combined_no_overlap_ = from.use_combined_no_overlap_;
5815 if (cached_has_bits & 0x00800000u) {
5816 polish_lp_solution_ = from.polish_lp_solution_;
5818 _has_bits_[1] |= cached_has_bits;
5820 if (cached_has_bits & 0xff000000u) {
5821 if (cached_has_bits & 0x01000000u) {
5822 absolute_gap_limit_ = from.absolute_gap_limit_;
5824 if (cached_has_bits & 0x02000000u) {
5825 relative_gap_limit_ = from.relative_gap_limit_;
5827 if (cached_has_bits & 0x04000000u) {
5828 cp_model_max_num_presolve_operations_ = from.cp_model_max_num_presolve_operations_;
5830 if (cached_has_bits & 0x08000000u) {
5831 repair_hint_ = from.repair_hint_;
5833 if (cached_has_bits & 0x10000000u) {
5834 fix_variables_to_their_hinted_value_ = from.fix_variables_to_their_hinted_value_;
5836 if (cached_has_bits & 0x20000000u) {
5837 exploit_best_solution_ = from.exploit_best_solution_;
5839 if (cached_has_bits & 0x40000000u) {
5840 exploit_relaxation_solution_ = from.exploit_relaxation_solution_;
5842 if (cached_has_bits & 0x80000000u) {
5843 solution_pool_size_ = from.solution_pool_size_;
5845 _has_bits_[1] |= cached_has_bits;
5847 cached_has_bits = from._has_bits_[2];
5848 if (cached_has_bits & 0x000000ffu) {
5849 if (cached_has_bits & 0x00000001u) {
5850 initial_polarity_ = from.initial_polarity_;
5852 if (cached_has_bits & 0x00000002u) {
5853 minimization_algorithm_ = from.minimization_algorithm_;
5855 if (cached_has_bits & 0x00000004u) {
5856 variable_activity_decay_ = from.variable_activity_decay_;
5858 if (cached_has_bits & 0x00000008u) {
5859 max_variable_activity_value_ = from.max_variable_activity_value_;
5861 if (cached_has_bits & 0x00000010u) {
5862 clause_activity_decay_ = from.clause_activity_decay_;
5864 if (cached_has_bits & 0x00000020u) {
5865 clause_cleanup_period_ = from.clause_cleanup_period_;
5867 if (cached_has_bits & 0x00000040u) {
5868 glucose_decay_increment_period_ = from.glucose_decay_increment_period_;
5870 if (cached_has_bits & 0x00000080u) {
5871 max_clause_activity_value_ = from.max_clause_activity_value_;
5873 _has_bits_[2] |= cached_has_bits;
5875 if (cached_has_bits & 0x0000ff00u) {
5876 if (cached_has_bits & 0x00000100u) {
5877 glucose_max_decay_ = from.glucose_max_decay_;
5879 if (cached_has_bits & 0x00000200u) {
5880 glucose_decay_increment_ = from.glucose_decay_increment_;
5882 if (cached_has_bits & 0x00000400u) {
5883 restart_period_ = from.restart_period_;
5885 if (cached_has_bits & 0x00000800u) {
5886 random_seed_ = from.random_seed_;
5888 if (cached_has_bits & 0x00001000u) {
5889 max_time_in_seconds_ = from.max_time_in_seconds_;
5891 if (cached_has_bits & 0x00002000u) {
5892 max_number_of_conflicts_ = from.max_number_of_conflicts_;
5894 if (cached_has_bits & 0x00004000u) {
5895 max_memory_in_mb_ = from.max_memory_in_mb_;
5897 if (cached_has_bits & 0x00008000u) {
5898 binary_minimization_algorithm_ = from.binary_minimization_algorithm_;
5900 _has_bits_[2] |= cached_has_bits;
5902 if (cached_has_bits & 0x00ff0000u) {
5903 if (cached_has_bits & 0x00010000u) {
5904 pb_cleanup_increment_ = from.pb_cleanup_increment_;
5906 if (cached_has_bits & 0x00020000u) {
5907 pb_cleanup_ratio_ = from.pb_cleanup_ratio_;
5909 if (cached_has_bits & 0x00040000u) {
5910 max_sat_stratification_ = from.max_sat_stratification_;
5912 if (cached_has_bits & 0x00080000u) {
5913 presolve_bve_threshold_ = from.presolve_bve_threshold_;
5915 if (cached_has_bits & 0x00100000u) {
5916 presolve_probing_deterministic_time_limit_ = from.presolve_probing_deterministic_time_limit_;
5918 if (cached_has_bits & 0x00200000u) {
5919 presolve_bve_clause_weight_ = from.presolve_bve_clause_weight_;
5921 if (cached_has_bits & 0x00400000u) {
5922 clause_cleanup_lbd_bound_ = from.clause_cleanup_lbd_bound_;
5924 if (cached_has_bits & 0x00800000u) {
5925 restart_dl_average_ratio_ = from.restart_dl_average_ratio_;
5927 _has_bits_[2] |= cached_has_bits;
5929 if (cached_has_bits & 0xff000000u) {
5930 if (cached_has_bits & 0x01000000u) {
5931 restart_running_window_size_ = from.restart_running_window_size_;
5933 if (cached_has_bits & 0x02000000u) {
5934 blocking_restart_window_size_ = from.blocking_restart_window_size_;
5936 if (cached_has_bits & 0x04000000u) {
5937 blocking_restart_multiplier_ = from.blocking_restart_multiplier_;
5939 if (cached_has_bits & 0x08000000u) {
5940 max_deterministic_time_ = from.max_deterministic_time_;
5942 if (cached_has_bits & 0x10000000u) {
5943 restart_lbd_average_ratio_ = from.restart_lbd_average_ratio_;
5945 if (cached_has_bits & 0x20000000u) {
5946 presolve_bva_threshold_ = from.presolve_bva_threshold_;
5948 if (cached_has_bits & 0x40000000u) {
5949 use_phase_saving_ = from.use_phase_saving_;
5951 if (cached_has_bits & 0x80000000u) {
5952 subsumption_during_conflict_analysis_ = from.subsumption_during_conflict_analysis_;
5954 _has_bits_[2] |= cached_has_bits;
5956 cached_has_bits = from._has_bits_[3];
5957 if (cached_has_bits & 0x000000ffu) {
5958 if (cached_has_bits & 0x00000001u) {
5959 treat_binary_clauses_separately_ = from.treat_binary_clauses_separately_;
5961 if (cached_has_bits & 0x00000002u) {
5962 log_subsolver_statistics_ = from.log_subsolver_statistics_;
5964 if (cached_has_bits & 0x00000004u) {
5965 find_multiple_cores_ = from.find_multiple_cores_;
5967 if (cached_has_bits & 0x00000008u) {
5968 cover_optimization_ = from.cover_optimization_;
5970 if (cached_has_bits & 0x00000010u) {
5971 use_precedences_in_disjunctive_constraint_ = from.use_precedences_in_disjunctive_constraint_;
5973 if (cached_has_bits & 0x00000020u) {
5974 use_disjunctive_constraint_in_cumulative_constraint_ = from.use_disjunctive_constraint_in_cumulative_constraint_;
5976 if (cached_has_bits & 0x00000040u) {
5977 linearization_level_ = from.linearization_level_;
5979 if (cached_has_bits & 0x00000080u) {
5980 max_num_cuts_ = from.max_num_cuts_;
5982 _has_bits_[3] |= cached_has_bits;
5984 if (cached_has_bits & 0x0000ff00u) {
5985 if (cached_has_bits & 0x00000100u) {
5986 minimize_with_propagation_restart_period_ = from.minimize_with_propagation_restart_period_;
5988 if (cached_has_bits & 0x00000200u) {
5989 minimize_with_propagation_num_decisions_ = from.minimize_with_propagation_num_decisions_;
5991 if (cached_has_bits & 0x00000400u) {
5992 log_to_stdout_ = from.log_to_stdout_;
5994 if (cached_has_bits & 0x00000800u) {
5995 count_assumption_levels_in_lbd_ = from.count_assumption_levels_in_lbd_;
5997 if (cached_has_bits & 0x00001000u) {
5998 presolve_blocked_clause_ = from.presolve_blocked_clause_;
6000 if (cached_has_bits & 0x00002000u) {
6001 presolve_use_bva_ = from.presolve_use_bva_;
6003 if (cached_has_bits & 0x00004000u) {
6004 binary_search_num_conflicts_ = from.binary_search_num_conflicts_;
6006 if (cached_has_bits & 0x00008000u) {
6007 expand_table_constraints_ = from.expand_table_constraints_;
6009 _has_bits_[3] |= cached_has_bits;
6011 if (cached_has_bits & 0x00ff0000u) {
6012 if (cached_has_bits & 0x00010000u) {
6013 expand_reservoir_constraints_ = from.expand_reservoir_constraints_;
6015 if (cached_has_bits & 0x00020000u) {
6016 use_optimization_hints_ = from.use_optimization_hints_;
6018 if (cached_has_bits & 0x00040000u) {
6019 minimize_core_ = from.minimize_core_;
6021 if (cached_has_bits & 0x00080000u) {
6022 boolean_encoding_level_ = from.boolean_encoding_level_;
6024 if (cached_has_bits & 0x00100000u) {
6025 cp_model_probing_level_ = from.cp_model_probing_level_;
6027 if (cached_has_bits & 0x00200000u) {
6028 exploit_objective_ = from.exploit_objective_;
6030 if (cached_has_bits & 0x00400000u) {
6031 instantiate_all_variables_ = from.instantiate_all_variables_;
6033 if (cached_has_bits & 0x00800000u) {
6034 auto_detect_greater_than_at_least_one_of_ = from.auto_detect_greater_than_at_least_one_of_;
6036 _has_bits_[3] |= cached_has_bits;
6038 if (cached_has_bits & 0xff000000u) {
6039 if (cached_has_bits & 0x01000000u) {
6040 share_objective_bounds_ = from.share_objective_bounds_;
6042 if (cached_has_bits & 0x02000000u) {
6043 cp_model_presolve_ = from.cp_model_presolve_;
6045 if (cached_has_bits & 0x04000000u) {
6046 cp_model_use_sat_presolve_ = from.cp_model_use_sat_presolve_;
6048 if (cached_has_bits & 0x08000000u) {
6049 expand_element_constraints_ = from.expand_element_constraints_;
6051 if (cached_has_bits & 0x10000000u) {
6052 expand_automaton_constraints_ = from.expand_automaton_constraints_;
6054 if (cached_has_bits & 0x20000000u) {
6055 min_orthogonality_for_lp_constraints_ = from.min_orthogonality_for_lp_constraints_;
6057 if (cached_has_bits & 0x40000000u) {
6058 add_lin_max_cuts_ = from.add_lin_max_cuts_;
6060 if (cached_has_bits & 0x80000000u) {
6061 add_lp_constraints_lazily_ = from.add_lp_constraints_lazily_;
6063 _has_bits_[3] |= cached_has_bits;
6065 cached_has_bits = from._has_bits_[4];
6066 if (cached_has_bits & 0x000000ffu) {
6067 if (cached_has_bits & 0x00000001u) {
6068 exploit_integer_lp_solution_ = from.exploit_integer_lp_solution_;
6070 if (cached_has_bits & 0x00000002u) {
6071 exploit_all_lp_solution_ = from.exploit_all_lp_solution_;
6073 if (cached_has_bits & 0x00000004u) {
6074 max_integer_rounding_scaling_ = from.max_integer_rounding_scaling_;
6076 if (cached_has_bits & 0x00000008u) {
6077 max_consecutive_inactive_count_ = from.max_consecutive_inactive_count_;
6079 if (cached_has_bits & 0x00000010u) {
6080 new_constraints_batch_size_ = from.new_constraints_batch_size_;
6082 if (cached_has_bits & 0x00000020u) {
6083 pseudo_cost_reliability_threshold_ = from.pseudo_cost_reliability_threshold_;
6085 if (cached_has_bits & 0x00000040u) {
6086 mip_max_bound_ = from.mip_max_bound_;
6088 if (cached_has_bits & 0x00000080u) {
6089 use_optional_variables_ = from.use_optional_variables_;
6091 _has_bits_[4] |= cached_has_bits;
6093 if (cached_has_bits & 0x0000ff00u) {
6094 if (cached_has_bits & 0x00000100u) {
6095 use_exact_lp_reason_ = from.use_exact_lp_reason_;
6097 if (cached_has_bits & 0x00000200u) {
6098 catch_sigint_signal_ = from.catch_sigint_signal_;
6100 if (cached_has_bits & 0x00000400u) {
6101 use_implied_bounds_ = from.use_implied_bounds_;
6103 if (cached_has_bits & 0x00000800u) {
6104 mip_max_activity_exponent_ = from.mip_max_activity_exponent_;
6106 if (cached_has_bits & 0x00001000u) {
6107 mip_var_scaling_ = from.mip_var_scaling_;
6109 if (cached_has_bits & 0x00002000u) {
6110 mip_wanted_precision_ = from.mip_wanted_precision_;
6112 if (cached_has_bits & 0x00004000u) {
6113 mip_check_precision_ = from.mip_check_precision_;
6115 if (cached_has_bits & 0x00008000u) {
6116 interleave_batch_size_ = from.interleave_batch_size_;
6118 _has_bits_[4] |= cached_has_bits;
6120 if (cached_has_bits & 0x00ff0000u) {
6121 if (cached_has_bits & 0x00010000u) {
6122 max_presolve_iterations_ = from.max_presolve_iterations_;
6124 if (cached_has_bits & 0x00020000u) {
6125 merge_no_overlap_work_limit_ = from.merge_no_overlap_work_limit_;
6127 if (cached_has_bits & 0x00040000u) {
6128 add_cg_cuts_ = from.add_cg_cuts_;
6130 if (cached_has_bits & 0x00080000u) {
6131 add_mir_cuts_ = from.add_mir_cuts_;
6133 if (cached_has_bits & 0x00100000u) {
6134 add_zero_half_cuts_ = from.add_zero_half_cuts_;
6136 if (cached_has_bits & 0x00200000u) {
6137 add_clique_cuts_ = from.add_clique_cuts_;
6139 if (cached_has_bits & 0x00400000u) {
6140 presolve_substitution_level_ = from.presolve_substitution_level_;
6142 if (cached_has_bits & 0x00800000u) {
6143 merge_at_most_one_work_limit_ = from.merge_at_most_one_work_limit_;
6145 _has_bits_[4] |= cached_has_bits;
6147 if (cached_has_bits & 0xff000000u) {
6148 if (cached_has_bits & 0x01000000u) {
6149 share_level_zero_bounds_ = from.share_level_zero_bounds_;
6151 if (cached_has_bits & 0x02000000u) {
6152 lns_expand_intervals_in_constraint_graph_ = from.lns_expand_intervals_in_constraint_graph_;
6154 if (cached_has_bits & 0x04000000u) {
6155 use_rins_lns_ = from.use_rins_lns_;
6157 if (cached_has_bits & 0x08000000u) {
6158 use_feasibility_pump_ = from.use_feasibility_pump_;
6160 if (cached_has_bits & 0x10000000u) {
6161 max_all_diff_cut_size_ = from.max_all_diff_cut_size_;
6163 if (cached_has_bits & 0x20000000u) {
6164 hint_conflict_limit_ = from.hint_conflict_limit_;
6166 if (cached_has_bits & 0x40000000u) {
6167 max_cut_rounds_at_level_zero_ = from.max_cut_rounds_at_level_zero_;
6169 if (cached_has_bits & 0x80000000u) {
6170 cut_max_active_count_value_ = from.cut_max_active_count_value_;
6172 _has_bits_[4] |= cached_has_bits;
6174 cached_has_bits = from._has_bits_[5];
6175 if (cached_has_bits & 0x000000ffu) {
6176 if (cached_has_bits & 0x00000001u) {
6177 cut_active_count_decay_ = from.cut_active_count_decay_;
6179 if (cached_has_bits & 0x00000002u) {
6180 cut_cleanup_target_ = from.cut_cleanup_target_;
6182 if (cached_has_bits & 0x00000004u) {
6183 fp_rounding_ = from.fp_rounding_;
6185 if (cached_has_bits & 0x00000008u) {
6186 polarity_rephase_increment_ = from.polarity_rephase_increment_;
6188 if (cached_has_bits & 0x00000010u) {
6189 convert_intervals_ = from.convert_intervals_;
6191 if (cached_has_bits & 0x00000020u) {
6192 mip_automatically_scale_variables_ = from.mip_automatically_scale_variables_;
6194 if (cached_has_bits & 0x00000040u) {
6195 symmetry_level_ = from.symmetry_level_;
6197 if (cached_has_bits & 0x00000080u) {
6198 max_domain_size_when_encoding_eq_neq_constraints_ = from.max_domain_size_when_encoding_eq_neq_constraints_;
6200 _has_bits_[5] |= cached_has_bits;
6202 if (cached_has_bits & 0x00000100u) {
6203 _internal_set_clause_cleanup_ratio(from._internal_clause_cleanup_ratio());
6205 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6210 if (&from ==
this)
return;
6221 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
6222 swap(_has_bits_[0], other->_has_bits_[0]);
6223 swap(_has_bits_[1], other->_has_bits_[1]);
6224 swap(_has_bits_[2], other->_has_bits_[2]);
6225 swap(_has_bits_[3], other->_has_bits_[3]);
6226 swap(_has_bits_[4], other->_has_bits_[4]);
6227 swap(_has_bits_[5], other->_has_bits_[5]);
6228 restart_algorithms_.InternalSwap(&other->restart_algorithms_);
6229 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
6231 &default_restart_algorithms_, GetArenaForAllocation(),
6232 &other->default_restart_algorithms_, other->GetArenaForAllocation()
6234 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
6235 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6236 &name_, GetArenaForAllocation(),
6237 &other->name_, other->GetArenaForAllocation()
6239 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
6240 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6241 &log_prefix_, GetArenaForAllocation(),
6242 &other->log_prefix_, other->GetArenaForAllocation()
6244 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
6245 PROTOBUF_FIELD_OFFSET(
SatParameters, exploit_relaxation_solution_)
6246 +
sizeof(SatParameters::exploit_relaxation_solution_)
6247 - PROTOBUF_FIELD_OFFSET(
SatParameters, preferred_variable_order_)>(
6248 reinterpret_cast<char*>(&preferred_variable_order_),
6249 reinterpret_cast<char*>(&other->preferred_variable_order_));
6250 swap(solution_pool_size_, other->solution_pool_size_);
6251 swap(initial_polarity_, other->initial_polarity_);
6252 swap(minimization_algorithm_, other->minimization_algorithm_);
6253 swap(variable_activity_decay_, other->variable_activity_decay_);
6254 swap(max_variable_activity_value_, other->max_variable_activity_value_);
6255 swap(clause_activity_decay_, other->clause_activity_decay_);
6256 swap(clause_cleanup_period_, other->clause_cleanup_period_);
6257 swap(glucose_decay_increment_period_, other->glucose_decay_increment_period_);
6258 swap(max_clause_activity_value_, other->max_clause_activity_value_);
6259 swap(glucose_max_decay_, other->glucose_max_decay_);
6260 swap(glucose_decay_increment_, other->glucose_decay_increment_);
6261 swap(restart_period_, other->restart_period_);
6262 swap(random_seed_, other->random_seed_);
6263 swap(max_time_in_seconds_, other->max_time_in_seconds_);
6264 swap(max_number_of_conflicts_, other->max_number_of_conflicts_);
6265 swap(max_memory_in_mb_, other->max_memory_in_mb_);
6266 swap(binary_minimization_algorithm_, other->binary_minimization_algorithm_);
6267 swap(pb_cleanup_increment_, other->pb_cleanup_increment_);
6268 swap(pb_cleanup_ratio_, other->pb_cleanup_ratio_);
6269 swap(max_sat_stratification_, other->max_sat_stratification_);
6270 swap(presolve_bve_threshold_, other->presolve_bve_threshold_);
6271 swap(presolve_probing_deterministic_time_limit_, other->presolve_probing_deterministic_time_limit_);
6272 swap(presolve_bve_clause_weight_, other->presolve_bve_clause_weight_);
6273 swap(clause_cleanup_lbd_bound_, other->clause_cleanup_lbd_bound_);
6274 swap(restart_dl_average_ratio_, other->restart_dl_average_ratio_);
6275 swap(restart_running_window_size_, other->restart_running_window_size_);
6276 swap(blocking_restart_window_size_, other->blocking_restart_window_size_);
6277 swap(blocking_restart_multiplier_, other->blocking_restart_multiplier_);
6278 swap(max_deterministic_time_, other->max_deterministic_time_);
6279 swap(restart_lbd_average_ratio_, other->restart_lbd_average_ratio_);
6280 swap(presolve_bva_threshold_, other->presolve_bva_threshold_);
6281 swap(use_phase_saving_, other->use_phase_saving_);
6282 swap(subsumption_during_conflict_analysis_, other->subsumption_during_conflict_analysis_);
6283 swap(treat_binary_clauses_separately_, other->treat_binary_clauses_separately_);
6284 swap(log_subsolver_statistics_, other->log_subsolver_statistics_);
6285 swap(find_multiple_cores_, other->find_multiple_cores_);
6286 swap(cover_optimization_, other->cover_optimization_);
6287 swap(use_precedences_in_disjunctive_constraint_, other->use_precedences_in_disjunctive_constraint_);
6288 swap(use_disjunctive_constraint_in_cumulative_constraint_, other->use_disjunctive_constraint_in_cumulative_constraint_);
6289 swap(linearization_level_, other->linearization_level_);
6290 swap(max_num_cuts_, other->max_num_cuts_);
6291 swap(minimize_with_propagation_restart_period_, other->minimize_with_propagation_restart_period_);
6292 swap(minimize_with_propagation_num_decisions_, other->minimize_with_propagation_num_decisions_);
6293 swap(log_to_stdout_, other->log_to_stdout_);
6294 swap(count_assumption_levels_in_lbd_, other->count_assumption_levels_in_lbd_);
6295 swap(presolve_blocked_clause_, other->presolve_blocked_clause_);
6296 swap(presolve_use_bva_, other->presolve_use_bva_);
6297 swap(binary_search_num_conflicts_, other->binary_search_num_conflicts_);
6298 swap(expand_table_constraints_, other->expand_table_constraints_);
6299 swap(expand_reservoir_constraints_, other->expand_reservoir_constraints_);
6300 swap(use_optimization_hints_, other->use_optimization_hints_);
6301 swap(minimize_core_, other->minimize_core_);
6302 swap(boolean_encoding_level_, other->boolean_encoding_level_);
6303 swap(cp_model_probing_level_, other->cp_model_probing_level_);
6304 swap(exploit_objective_, other->exploit_objective_);
6305 swap(instantiate_all_variables_, other->instantiate_all_variables_);
6306 swap(auto_detect_greater_than_at_least_one_of_, other->auto_detect_greater_than_at_least_one_of_);
6307 swap(share_objective_bounds_, other->share_objective_bounds_);
6308 swap(cp_model_presolve_, other->cp_model_presolve_);
6309 swap(cp_model_use_sat_presolve_, other->cp_model_use_sat_presolve_);
6310 swap(expand_element_constraints_, other->expand_element_constraints_);
6311 swap(expand_automaton_constraints_, other->expand_automaton_constraints_);
6312 swap(min_orthogonality_for_lp_constraints_, other->min_orthogonality_for_lp_constraints_);
6313 swap(add_lin_max_cuts_, other->add_lin_max_cuts_);
6314 swap(add_lp_constraints_lazily_, other->add_lp_constraints_lazily_);
6315 swap(exploit_integer_lp_solution_, other->exploit_integer_lp_solution_);
6316 swap(exploit_all_lp_solution_, other->exploit_all_lp_solution_);
6317 swap(max_integer_rounding_scaling_, other->max_integer_rounding_scaling_);
6318 swap(max_consecutive_inactive_count_, other->max_consecutive_inactive_count_);
6319 swap(new_constraints_batch_size_, other->new_constraints_batch_size_);
6320 swap(pseudo_cost_reliability_threshold_, other->pseudo_cost_reliability_threshold_);
6321 swap(mip_max_bound_, other->mip_max_bound_);
6322 swap(use_optional_variables_, other->use_optional_variables_);
6323 swap(use_exact_lp_reason_, other->use_exact_lp_reason_);
6324 swap(catch_sigint_signal_, other->catch_sigint_signal_);
6325 swap(use_implied_bounds_, other->use_implied_bounds_);
6326 swap(mip_max_activity_exponent_, other->mip_max_activity_exponent_);
6327 swap(mip_var_scaling_, other->mip_var_scaling_);
6328 swap(mip_wanted_precision_, other->mip_wanted_precision_);
6329 swap(mip_check_precision_, other->mip_check_precision_);
6330 swap(interleave_batch_size_, other->interleave_batch_size_);
6331 swap(max_presolve_iterations_, other->max_presolve_iterations_);
6332 swap(merge_no_overlap_work_limit_, other->merge_no_overlap_work_limit_);
6333 swap(add_cg_cuts_, other->add_cg_cuts_);
6334 swap(add_mir_cuts_, other->add_mir_cuts_);
6335 swap(add_zero_half_cuts_, other->add_zero_half_cuts_);
6336 swap(add_clique_cuts_, other->add_clique_cuts_);
6337 swap(presolve_substitution_level_, other->presolve_substitution_level_);
6338 swap(merge_at_most_one_work_limit_, other->merge_at_most_one_work_limit_);
6339 swap(share_level_zero_bounds_, other->share_level_zero_bounds_);
6340 swap(lns_expand_intervals_in_constraint_graph_, other->lns_expand_intervals_in_constraint_graph_);
6341 swap(use_rins_lns_, other->use_rins_lns_);
6342 swap(use_feasibility_pump_, other->use_feasibility_pump_);
6343 swap(max_all_diff_cut_size_, other->max_all_diff_cut_size_);
6344 swap(hint_conflict_limit_, other->hint_conflict_limit_);
6345 swap(max_cut_rounds_at_level_zero_, other->max_cut_rounds_at_level_zero_);
6346 swap(cut_max_active_count_value_, other->cut_max_active_count_value_);
6347 swap(cut_active_count_decay_, other->cut_active_count_decay_);
6348 swap(cut_cleanup_target_, other->cut_cleanup_target_);
6349 swap(fp_rounding_, other->fp_rounding_);
6350 swap(polarity_rephase_increment_, other->polarity_rephase_increment_);
6351 swap(convert_intervals_, other->convert_intervals_);
6352 swap(mip_automatically_scale_variables_, other->mip_automatically_scale_variables_);
6353 swap(symmetry_level_, other->symmetry_level_);
6354 swap(max_domain_size_when_encoding_eq_neq_constraints_, other->max_domain_size_when_encoding_eq_neq_constraints_);
6355 swap(clause_cleanup_ratio_, other->clause_cleanup_ratio_);
6359 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
6367 PROTOBUF_NAMESPACE_OPEN
6369 return Arena::CreateMessageInternal< ::operations_research::sat::SatParameters >(arena);
6371 PROTOBUF_NAMESPACE_CLOSE
6374 #include <google/protobuf/port_undef.inc> ~SatParameters() override
static void set_has_max_cut_rounds_at_level_zero(HasBits *has_bits)
static void set_has_add_zero_half_cuts(HasBits *has_bits)
static constexpr Polarity POLARITY_FALSE
static constexpr BinaryMinizationAlgorithm EXPERIMENTAL_BINARY_MINIMIZATION
bool SatParameters_VariableOrder_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatStratificationAlgorithm_descriptor()
void MergeFrom(const SatParameters &from)
static void set_has_polarity_rephase_increment(HasBits *has_bits)
static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MAX
static void set_has_binary_minimization_algorithm(HasBits *has_bits)
static void set_has_expand_reservoir_constraints(HasBits *has_bits)
static void set_has_max_sat_stratification(HasBits *has_bits)
static constexpr RestartAlgorithm FIXED_RESTART
static constexpr RestartAlgorithm RestartAlgorithm_MAX
static const ClassData _class_data_
static constexpr Polarity POLARITY_TRUE
bool SatParameters_Polarity_IsValid(int value)
static constexpr RestartAlgorithm LBD_MOVING_AVERAGE_RESTART
SatParameters_SearchBranching
static constexpr int SearchBranching_ARRAYSIZE
static void set_has_max_clause_activity_value(HasBits *has_bits)
static void set_has_pb_cleanup_increment(HasBits *has_bits)
static constexpr SearchBranching LP_SEARCH
static void set_has_permute_variable_randomly(HasBits *has_bits)
static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MIN
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatAssumptionOrder_descriptor()
static void set_has_merge_no_overlap_work_limit(HasBits *has_bits)
static void set_has_glucose_decay_increment(HasBits *has_bits)
static void set_has_use_lns_only(HasBits *has_bits)
static void set_has_optimize_with_core(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fsat_5fparameters_2eproto[1]
size_t ByteSizeLong() const final
SatParameters_ClauseOrdering
static void set_has_min_orthogonality_for_lp_constraints(HasBits *has_bits)
static void set_has_use_erwa_heuristic(HasBits *has_bits)
static void set_has_minimize_core(HasBits *has_bits)
static void set_has_minimize_with_propagation_num_decisions(HasBits *has_bits)
static constexpr ConflictMinimizationAlgorithm NONE
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ConflictMinimizationAlgorithm_descriptor()
SatParameters_RestartAlgorithm
static void set_has_use_relaxation_lns(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
static void set_has_use_sat_inprocessing(HasBits *has_bits)
SatParameters_ClauseProtection
static void set_has_use_optimization_hints(HasBits *has_bits)
static void set_has_use_absl_random(HasBits *has_bits)
static void set_has_polish_lp_solution(HasBits *has_bits)
static void set_has_use_optional_variables(HasBits *has_bits)
static void set_has_use_timetable_edge_finding_in_cumulative_constraint(HasBits *has_bits)
static constexpr ClauseProtection ClauseProtection_MIN
static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MAX
static void set_has_cut_cleanup_target(HasBits *has_bits)
static void set_has_restart_lbd_average_ratio(HasBits *has_bits)
static void set_has_blocking_restart_multiplier(HasBits *has_bits)
static void set_has_fp_rounding(HasBits *has_bits)
static void set_has_max_sat_assumption_order(HasBits *has_bits)
static void set_has_cp_model_probing_level(HasBits *has_bits)
static void set_has_mip_check_precision(HasBits *has_bits)
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST
static constexpr int ClauseOrdering_ARRAYSIZE
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
static void set_has_add_cg_cuts(HasBits *has_bits)
static void set_has_strategy_change_increase_ratio(HasBits *has_bits)
static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MAX
static void set_has_optimize_with_lb_tree_search(HasBits *has_bits)
static void set_has_log_subsolver_statistics(HasBits *has_bits)
static void set_has_glucose_decay_increment_period(HasBits *has_bits)
static void set_has_hint_conflict_limit(HasBits *has_bits)
static void set_has_boolean_encoding_level(HasBits *has_bits)
static void set_has_max_all_diff_cut_size(HasBits *has_bits)
bool SatParameters_ClauseOrdering_IsValid(int value)
bool SatParameters_ClauseProtection_IsValid(int value)
static void set_has_presolve_use_bva(HasBits *has_bits)
static constexpr int ConflictMinimizationAlgorithm_ARRAYSIZE
static constexpr RestartAlgorithm RestartAlgorithm_MIN
static void set_has_optimize_with_max_hs(HasBits *has_bits)
static constexpr ClauseProtection PROTECTION_NONE
static void set_has_probing_period_at_root(HasBits *has_bits)
static void set_has_clause_cleanup_ratio(HasBits *has_bits)
constexpr SatParametersDefaultTypeInternal()
static void set_has_expand_table_constraints(HasBits *has_bits)
static void set_has_restart_period(HasBits *has_bits)
static void set_has_exploit_objective(HasBits *has_bits)
static constexpr ClauseProtection PROTECTION_ALWAYS
static void set_has_initial_variables_activity(HasBits *has_bits)
static void set_has_count_assumption_levels_in_lbd(HasBits *has_bits)
static void set_has_max_variable_activity_value(HasBits *has_bits)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fsat_2fsat_5fparameters_2eproto[11]
static void set_has_presolve_extract_integer_enforcement(HasBits *has_bits)
static void set_has_max_consecutive_inactive_count(HasBits *has_bits)
static void set_has_clause_cleanup_target(HasBits *has_bits)
static void set_has_disable_constraint_expansion(HasBits *has_bits)
static constexpr VariableOrder IN_REVERSE_ORDER
static void set_has_clause_activity_decay(HasBits *has_bits)
static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_DEPTH
static void set_has_clause_cleanup_lbd_bound(HasBits *has_bits)
static void set_has_mip_wanted_precision(HasBits *has_bits)
static constexpr SearchBranching PORTFOLIO_SEARCH
static void set_has_stop_after_presolve(HasBits *has_bits)
static void set_has_log_to_stdout(HasBits *has_bits)
static void set_has_clause_cleanup_ordering(HasBits *has_bits)
static void set_has_use_exact_lp_reason(HasBits *has_bits)
static constexpr Polarity POLARITY_RANDOM
static constexpr ClauseOrdering CLAUSE_LBD
void CopyFrom(const SatParameters &from)
bool SatParameters_RestartAlgorithm_IsValid(int value)
static void set_has_presolve_bve_threshold(HasBits *has_bits)
static void set_has_merge_at_most_one_work_limit(HasBits *has_bits)
static void set_has_use_precedences_in_disjunctive_constraint(HasBits *has_bits)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_FPRoundingMethod_descriptor()
static void set_has_exploit_all_lp_solution(HasBits *has_bits)
static void set_has_subsumption_during_conflict_analysis(HasBits *has_bits)
static constexpr SearchBranching PSEUDO_COST_SEARCH
static void set_has_add_mir_cuts(HasBits *has_bits)
static constexpr SearchBranching PORTFOLIO_WITH_QUICK_RESTART_SEARCH
static void set_has_restart_running_window_size(HasBits *has_bits)
static void set_has_cp_model_max_num_presolve_operations(HasBits *has_bits)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_SearchBranching_descriptor()
static void set_has_add_knapsack_cuts(HasBits *has_bits)
static void set_has_mip_max_activity_exponent(HasBits *has_bits)
static void set_has_reduce_memory_usage_in_interleave_mode(HasBits *has_bits)
static void set_has_max_number_of_conflicts(HasBits *has_bits)
static constexpr FPRoundingMethod LOCK_BASED
SatParameters_MaxSatStratificationAlgorithm
static void set_has_cp_model_presolve(HasBits *has_bits)
static void set_has_clause_cleanup_protection(HasBits *has_bits)
static void set_has_minimization_algorithm(HasBits *has_bits)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static void set_has_interleave_batch_size(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static void set_has_minimize_reduction_during_pb_resolution(HasBits *has_bits)
static void set_has_random_seed(HasBits *has_bits)
static void set_has_fill_tightened_domains_in_response(HasBits *has_bits)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static void set_has_search_randomization_tolerance(HasBits *has_bits)
~SatParametersDefaultTypeInternal()
static void set_has_also_bump_variables_in_conflict_reasons(HasBits *has_bits)
static void set_has_relative_gap_limit(HasBits *has_bits)
static void set_has_use_overload_checker_in_cumulative_constraint(HasBits *has_bits)
static constexpr RestartAlgorithm DL_MOVING_AVERAGE_RESTART
static constexpr ClauseOrdering CLAUSE_ACTIVITY
static void set_has_max_domain_size_when_encoding_eq_neq_constraints(HasBits *has_bits)
static void set_has_name(HasBits *has_bits)
static void set_has_max_integer_rounding_scaling(HasBits *has_bits)
SatParameters_ConflictMinimizationAlgorithm
static constexpr int VariableOrder_ARRAYSIZE
static void set_has_glucose_max_decay(HasBits *has_bits)
static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_WEIGHT
static void set_has_catch_sigint_signal(HasBits *has_bits)
static void set_has_add_clique_cuts(HasBits *has_bits)
static constexpr int ClauseProtection_ARRAYSIZE
static constexpr MaxSatAssumptionOrder DEFAULT_ASSUMPTION_ORDER
static constexpr ClauseOrdering ClauseOrdering_MAX
static void set_has_pseudo_cost_reliability_threshold(HasBits *has_bits)
static constexpr int RestartAlgorithm_ARRAYSIZE
static constexpr RestartAlgorithm LUBY_RESTART
static constexpr FPRoundingMethod NEAREST_INTEGER
bool SatParameters_MaxSatStratificationAlgorithm_IsValid(int value)
static void set_has_cp_model_postsolve_with_full_solver(HasBits *has_bits)
static void set_has_use_branching_in_lp(HasBits *has_bits)
static void set_has_cut_max_active_count_value(HasBits *has_bits)
static void set_has_use_feasibility_pump(HasBits *has_bits)
static constexpr FPRoundingMethod FPRoundingMethod_MAX
static constexpr Polarity Polarity_MAX
static void set_has_default_restart_algorithms(HasBits *has_bits)
static void set_has_new_constraints_batch_size(HasBits *has_bits)
static void set_has_mip_automatically_scale_variables(HasBits *has_bits)
static void set_has_log_to_response(HasBits *has_bits)
static void set_has_log_search_progress(HasBits *has_bits)
static void set_has_cover_optimization(HasBits *has_bits)
bool SatParameters_MaxSatAssumptionOrder_IsValid(int value)
static constexpr VariableOrder IN_ORDER
static void set_has_add_lin_max_cuts(HasBits *has_bits)
static void set_has_expand_alldiff_constraints(HasBits *has_bits)
static void set_has_max_time_in_seconds(HasBits *has_bits)
static void set_has_presolve_bva_threshold(HasBits *has_bits)
static void set_has_keep_all_feasible_solutions_in_presolve(HasBits *has_bits)
static void set_has_expand_automaton_constraints(HasBits *has_bits)
bool IsInitialized() const final
static constexpr ConflictMinimizationAlgorithm SIMPLE
static constexpr VariableOrder VariableOrder_MIN
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_WITH_REACHABILITY
static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MIN
static constexpr ClauseProtection PROTECTION_LBD
static constexpr VariableOrder VariableOrder_MAX
bool SatParameters_BinaryMinizationAlgorithm_IsValid(int value)
static void set_has_diversify_lns_params(HasBits *has_bits)
static constexpr int Polarity_ARRAYSIZE
static constexpr SearchBranching SearchBranching_MIN
static void set_has_randomize_search(HasBits *has_bits)
static void set_has_log_prefix(HasBits *has_bits)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::sat::SatParameters * Arena::CreateMaybeMessage< ::operations_research::sat::SatParameters >(Arena *arena)
static constexpr int BinaryMinizationAlgorithm_ARRAYSIZE
static void set_has_presolve_probing_deterministic_time_limit(HasBits *has_bits)
static void set_has_initial_polarity(HasBits *has_bits)
static void set_has_num_conflicts_before_strategy_changes(HasBits *has_bits)
static void set_has_convert_intervals(HasBits *has_bits)
static constexpr SearchBranching AUTOMATIC_SEARCH
static void set_has_use_probing_search(HasBits *has_bits)
static void set_has_presolve_substitution_level(HasBits *has_bits)
static void set_has_presolve_bve_clause_weight(HasBits *has_bits)
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
static constexpr SearchBranching SearchBranching_MAX
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseProtection_descriptor()
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_NONE
static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MIN
static void set_has_cut_active_count_decay(HasBits *has_bits)
static void set_has_use_disjunctive_constraint_in_cumulative_constraint(HasBits *has_bits)
static void set_has_blocking_restart_window_size(HasBits *has_bits)
static void set_has_exploit_relaxation_solution(HasBits *has_bits)
static void set_has_add_lp_constraints_lazily(HasBits *has_bits)
static void set_has_expand_element_constraints(HasBits *has_bits)
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fsat_5fparameters_2eproto
static void set_has_stop_after_first_solution(HasBits *has_bits)
static void set_has_max_presolve_iterations(HasBits *has_bits)
static constexpr Polarity Polarity_MIN
static void set_has_presolve_blocked_clause(HasBits *has_bits)
static void set_has_solution_pool_size(HasBits *has_bits)
SatParameters_BinaryMinizationAlgorithm
static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MAX
static constexpr FPRoundingMethod PROPAGATION_ASSISTED
static void set_has_use_blocking_restart(HasBits *has_bits)
static constexpr SearchBranching HINT_SEARCH
static constexpr int MaxSatAssumptionOrder_ARRAYSIZE
static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MIN
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_once
static void set_has_use_combined_no_overlap(HasBits *has_bits)
static constexpr RestartAlgorithm NO_RESTART
static void set_has_max_memory_in_mb(HasBits *has_bits)
static void set_has_preferred_variable_order(HasBits *has_bits)
static void set_has_variable_activity_decay(HasBits *has_bits)
static void set_has_mip_max_bound(HasBits *has_bits)
static void set_has_mip_var_scaling(HasBits *has_bits)
static constexpr FPRoundingMethod FPRoundingMethod_MIN
static void set_has_find_multiple_cores(HasBits *has_bits)
bool SatParameters_FPRoundingMethod_IsValid(int value)
static constexpr FPRoundingMethod ACTIVE_LOCK_BASED
static void set_has_exploit_best_solution(HasBits *has_bits)
static void set_has_linearization_level(HasBits *has_bits)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_VariableOrder_descriptor()
bool SatParameters_SearchBranching_IsValid(int value)
static constexpr BinaryMinizationAlgorithm NO_BINARY_MINIMIZATION
static void set_has_use_pb_resolution(HasBits *has_bits)
SatParameters_MaxSatAssumptionOrder
static void set_has_random_branches_ratio(HasBits *has_bits)
static void set_has_lns_focus_on_decision_variables(HasBits *has_bits)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_RestartAlgorithm_descriptor()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_BinaryMinizationAlgorithm_descriptor()
static void set_has_num_search_workers(HasBits *has_bits)
static void set_has_fix_variables_to_their_hinted_value(HasBits *has_bits)
static constexpr SearchBranching FIXED_SEARCH
static void set_has_repair_hint(HasBits *has_bits)
Collection of objects used to extend the Constraint Solver library.
decltype(std::declval< SatParameters >()._has_bits_) HasBits
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_Polarity_descriptor()
static void set_has_max_sat_reverse_assumption_order(HasBits *has_bits)
static constexpr Polarity POLARITY_REVERSE_WEIGHTED_SIGN
static void set_has_use_rins_lns(HasBits *has_bits)
static void set_has_share_objective_bounds(HasBits *has_bits)
static void set_has_minimize_with_propagation_restart_period(HasBits *has_bits)
static constexpr VariableOrder IN_RANDOM_ORDER
static void set_has_lns_expand_intervals_in_constraint_graph(HasBits *has_bits)
friend void swap(SatParameters &a, SatParameters &b)
bool SatParameters_ConflictMinimizationAlgorithm_IsValid(int value)
static void set_has_share_level_zero_bounds(HasBits *has_bits)
static constexpr ClauseOrdering ClauseOrdering_MIN
static void set_has_clause_cleanup_period(HasBits *has_bits)
static constexpr Polarity POLARITY_WEIGHTED_SIGN
static constexpr ClauseProtection ClauseProtection_MAX
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SatParametersDefaultTypeInternal _SatParameters_default_instance_
static void set_has_permute_presolve_constraint_order(HasBits *has_bits)
static void set_has_symmetry_level(HasBits *has_bits)
static void set_has_exploit_integer_lp_solution(HasBits *has_bits)
static void set_has_only_add_cuts_at_level_zero(HasBits *has_bits)
static void set_has_max_num_cuts(HasBits *has_bits)
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
static void set_has_binary_search_num_conflicts(HasBits *has_bits)
static void set_has_restart_dl_average_ratio(HasBits *has_bits)
static void set_has_treat_binary_clauses_separately(HasBits *has_bits)
static void set_has_use_implied_bounds(HasBits *has_bits)
static void set_has_auto_detect_greater_than_at_least_one_of(HasBits *has_bits)
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_DESCENT
static void set_has_max_deterministic_time(HasBits *has_bits)
static void set_has_absolute_gap_limit(HasBits *has_bits)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseOrdering_descriptor()
static void set_has_pb_cleanup_ratio(HasBits *has_bits)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fsat_5fparameters_2eproto::offsets [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static constexpr int FPRoundingMethod_ARRAYSIZE
static constexpr ConflictMinimizationAlgorithm EXPERIMENTAL
static void set_has_interleave_search(HasBits *has_bits)
SatParameters_FPRoundingMethod
static void set_has_use_phase_saving(HasBits *has_bits)
static constexpr int MaxSatStratificationAlgorithm_ARRAYSIZE
static void set_has_random_polarity_ratio(HasBits *has_bits)
static void set_has_instantiate_all_variables(HasBits *has_bits)
SatParameters_VariableOrder
static constexpr ConflictMinimizationAlgorithm RECURSIVE
static void set_has_cp_model_use_sat_presolve(HasBits *has_bits)
PROTOBUF_ATTRIBUTE_WEAKconst ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable * descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_getter()
static void set_has_enumerate_all_solutions(HasBits *has_bits)
static void set_has_search_branching(HasBits *has_bits)
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_ASCENT