8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
16 #include <google/protobuf/port_def.inc>
21 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SatParameters>
_instance;
26 GOOGLE_PROTOBUF_VERIFY_VERSION;
30 new (ptr) ::operations_research::sat::SatParameters();
31 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
43 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, _has_bits_),
44 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, _internal_metadata_),
48 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, name_),
49 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, preferred_variable_order_),
50 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, initial_polarity_),
51 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_phase_saving_),
52 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, polarity_rephase_increment_),
53 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_polarity_ratio_),
54 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_branches_ratio_),
55 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_erwa_heuristic_),
56 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, initial_variables_activity_),
57 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, also_bump_variables_in_conflict_reasons_),
58 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimization_algorithm_),
59 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, binary_minimization_algorithm_),
60 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, subsumption_during_conflict_analysis_),
61 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_period_),
62 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_target_),
63 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_protection_),
64 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_lbd_bound_),
65 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_ordering_),
66 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pb_cleanup_increment_),
67 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pb_cleanup_ratio_),
68 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_with_propagation_restart_period_),
69 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_with_propagation_num_decisions_),
70 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, variable_activity_decay_),
71 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_variable_activity_value_),
72 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_max_decay_),
73 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_decay_increment_),
74 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_decay_increment_period_),
75 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_activity_decay_),
76 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_clause_activity_value_),
77 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_algorithms_),
78 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, default_restart_algorithms_),
79 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_period_),
80 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_running_window_size_),
81 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_dl_average_ratio_),
82 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_lbd_average_ratio_),
83 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_blocking_restart_),
84 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, blocking_restart_window_size_),
85 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, blocking_restart_multiplier_),
86 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, num_conflicts_before_strategy_changes_),
87 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, strategy_change_increase_ratio_),
88 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_time_in_seconds_),
89 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_deterministic_time_),
90 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_number_of_conflicts_),
91 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_memory_in_mb_),
92 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, absolute_gap_limit_),
93 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, relative_gap_limit_),
94 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, treat_binary_clauses_separately_),
95 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_seed_),
96 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, permute_variable_randomly_),
97 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, permute_presolve_constraint_order_),
98 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_absl_random_),
99 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, log_search_progress_),
100 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_pb_resolution_),
101 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_reduction_during_pb_resolution_),
102 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, count_assumption_levels_in_lbd_),
103 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bve_threshold_),
104 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bve_clause_weight_),
105 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_probing_deterministic_time_limit_),
106 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_blocked_clause_),
107 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_use_bva_),
108 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bva_threshold_),
109 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_presolve_iterations_),
110 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_presolve_),
111 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_postsolve_with_full_solver_),
112 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_max_num_presolve_operations_),
113 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_probing_level_),
114 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_use_sat_presolve_),
115 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_sat_inprocessing_),
116 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_element_constraints_),
117 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_automaton_constraints_),
118 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_table_constraints_),
119 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_alldiff_constraints_),
120 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_reservoir_constraints_),
121 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, disable_constraint_expansion_),
122 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, merge_no_overlap_work_limit_),
123 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, merge_at_most_one_work_limit_),
124 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_substitution_level_),
125 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_extract_integer_enforcement_),
126 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_optimization_hints_),
127 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_core_),
128 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, find_multiple_cores_),
129 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cover_optimization_),
130 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_assumption_order_),
131 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_reverse_assumption_order_),
132 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_stratification_),
133 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_precedences_in_disjunctive_constraint_),
134 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_overload_checker_in_cumulative_constraint_),
135 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_timetable_edge_finding_in_cumulative_constraint_),
136 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_disjunctive_constraint_in_cumulative_constraint_),
137 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, linearization_level_),
138 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, boolean_encoding_level_),
139 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_num_cuts_),
140 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, only_add_cuts_at_level_zero_),
141 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_knapsack_cuts_),
142 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_cg_cuts_),
143 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_mir_cuts_),
144 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_zero_half_cuts_),
145 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_clique_cuts_),
146 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_all_diff_cut_size_),
147 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_lin_max_cuts_),
148 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_integer_rounding_scaling_),
149 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_lp_constraints_lazily_),
150 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, min_orthogonality_for_lp_constraints_),
151 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_cut_rounds_at_level_zero_),
152 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_consecutive_inactive_count_),
153 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_max_active_count_value_),
154 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_active_count_decay_),
155 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_cleanup_target_),
156 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, new_constraints_batch_size_),
157 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, search_branching_),
158 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, hint_conflict_limit_),
159 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, repair_hint_),
160 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_integer_lp_solution_),
161 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_all_lp_solution_),
162 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_best_solution_),
163 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_relaxation_solution_),
164 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_objective_),
165 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, probing_period_at_root_),
166 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_probing_search_),
167 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pseudo_cost_reliability_threshold_),
168 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, optimize_with_core_),
169 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, binary_search_num_conflicts_),
170 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, optimize_with_max_hs_),
171 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, enumerate_all_solutions_),
172 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, keep_all_feasible_solutions_in_presolve_),
173 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, fill_tightened_domains_in_response_),
174 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, instantiate_all_variables_),
175 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, auto_detect_greater_than_at_least_one_of_),
176 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, stop_after_first_solution_),
177 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, stop_after_presolve_),
178 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, num_search_workers_),
179 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, interleave_search_),
180 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, interleave_batch_size_),
181 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, reduce_memory_usage_in_interleave_mode_),
182 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, share_objective_bounds_),
183 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, share_level_zero_bounds_),
184 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_lns_only_),
185 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, lns_focus_on_decision_variables_),
186 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_rins_lns_),
187 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_feasibility_pump_),
188 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, fp_rounding_),
189 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_relaxation_lns_),
190 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, diversify_lns_params_),
191 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, randomize_search_),
192 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, search_randomization_tolerance_),
193 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_optional_variables_),
194 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_exact_lp_reason_),
195 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_branching_in_lp_),
196 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_combined_no_overlap_),
197 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, catch_sigint_signal_),
198 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_implied_bounds_),
199 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, polish_lp_solution_),
200 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, convert_intervals_),
201 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, detect_symmetries_),
202 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_max_bound_),
203 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_var_scaling_),
204 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_automatically_scale_variables_),
205 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_wanted_precision_),
206 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_max_activity_exponent_),
207 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_check_precision_),
370 { 0, 165,
sizeof(::operations_research::sat::SatParameters)},
377 const char descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
378 "\n ortools/sat/sat_parameters.proto\022\027oper"
379 "ations_research.sat\"\356B\n\rSatParameters\022\017\n"
380 "\004name\030\253\001 \001(\t:\000\022`\n\030preferred_variable_ord"
381 "er\030\001 \001(\01624.operations_research.sat.SatPa"
382 "rameters.VariableOrder:\010IN_ORDER\022Y\n\020init"
383 "ial_polarity\030\002 \001(\0162/.operations_research"
384 ".sat.SatParameters.Polarity:\016POLARITY_FA"
385 "LSE\022\036\n\020use_phase_saving\030, \001(\010:\004true\022)\n\032p"
386 "olarity_rephase_increment\030\250\001 \001(\005:\0041000\022 "
387 "\n\025random_polarity_ratio\030- \001(\001:\0010\022 \n\025rand"
388 "om_branches_ratio\030 \001(\001:\0010\022!\n\022use_erwa_h"
389 "euristic\030K \001(\010:\005false\022%\n\032initial_variabl"
390 "es_activity\030L \001(\001:\0010\0226\n\'also_bump_variab"
391 "les_in_conflict_reasons\030M \001(\010:\005false\022o\n\026"
392 "minimization_algorithm\030\004 \001(\0162D.operation"
393 "s_research.sat.SatParameters.ConflictMin"
394 "imizationAlgorithm:\tRECURSIVE\022\202\001\n\035binary"
395 "_minimization_algorithm\030\" \001(\0162@.operatio"
396 "ns_research.sat.SatParameters.BinaryMini"
397 "zationAlgorithm:\031BINARY_MINIMIZATION_FIR"
398 "ST\0222\n$subsumption_during_conflict_analys"
399 "is\0308 \001(\010:\004true\022$\n\025clause_cleanup_period\030"
400 "\013 \001(\005:\00510000\022$\n\025clause_cleanup_target\030\r "
401 "\001(\005:\00510000\022k\n\031clause_cleanup_protection\030"
402 ": \001(\01627.operations_research.sat.SatParam"
403 "eters.ClauseProtection:\017PROTECTION_NONE\022"
404 "#\n\030clause_cleanup_lbd_bound\030; \001(\005:\0015\022g\n\027"
405 "clause_cleanup_ordering\030< \001(\01625.operatio"
406 "ns_research.sat.SatParameters.ClauseOrde"
407 "ring:\017CLAUSE_ACTIVITY\022!\n\024pb_cleanup_incr"
408 "ement\030. \001(\005:\003200\022\035\n\020pb_cleanup_ratio\030/ \001"
409 "(\001:\0030.5\0224\n(minimize_with_propagation_res"
410 "tart_period\030` \001(\005:\00210\0225\n\'minimize_with_p"
411 "ropagation_num_decisions\030a \001(\005:\0041000\022$\n\027"
412 "variable_activity_decay\030\017 \001(\001:\0030.8\022+\n\033ma"
413 "x_variable_activity_value\030\020 \001(\001:\0061e+100\022"
414 "\037\n\021glucose_max_decay\030\026 \001(\001:\0040.95\022%\n\027gluc"
415 "ose_decay_increment\030\027 \001(\001:\0040.01\022,\n\036gluco"
416 "se_decay_increment_period\030\030 \001(\005:\0045000\022$\n"
417 "\025clause_activity_decay\030\021 \001(\001:\0050.999\022(\n\031m"
418 "ax_clause_activity_value\030\022 \001(\001:\0051e+20\022S\n"
419 "\022restart_algorithms\030= \003(\01627.operations_r"
420 "esearch.sat.SatParameters.RestartAlgorit"
421 "hm\022e\n\032default_restart_algorithms\030F \001(\t:A"
422 "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,"
423 "DL_MOVING_AVERAGE_RESTART\022\032\n\016restart_per"
424 "iod\030\036 \001(\005:\00250\022\'\n\033restart_running_window_"
425 "size\030> \001(\005:\00250\022#\n\030restart_dl_average_rat"
426 "io\030\? \001(\001:\0011\022$\n\031restart_lbd_average_ratio"
427 "\030G \001(\001:\0011\022#\n\024use_blocking_restart\030@ \001(\010:"
428 "\005false\022*\n\034blocking_restart_window_size\030A"
429 " \001(\005:\0045000\022(\n\033blocking_restart_multiplie"
430 "r\030B \001(\001:\0031.4\0220\n%num_conflicts_before_str"
431 "ategy_changes\030D \001(\005:\0010\022)\n\036strategy_chang"
432 "e_increase_ratio\030E \001(\001:\0010\022 \n\023max_time_in"
433 "_seconds\030$ \001(\001:\003inf\022#\n\026max_deterministic"
434 "_time\030C \001(\001:\003inf\0224\n\027max_number_of_confli"
435 "cts\030% \001(\003:\0239223372036854775807\022\037\n\020max_me"
436 "mory_in_mb\030( \001(\003:\00510000\022\036\n\022absolute_gap_"
437 "limit\030\237\001 \001(\001:\0010\022\036\n\022relative_gap_limit\030\240\001"
438 " \001(\001:\0010\022-\n\037treat_binary_clauses_separate"
439 "ly\030! \001(\010:\004true\022\026\n\013random_seed\030\037 \001(\005:\0011\022)"
440 "\n\031permute_variable_randomly\030\262\001 \001(\010:\005fals"
441 "e\0221\n!permute_presolve_constraint_order\030\263"
442 "\001 \001(\010:\005false\022\037\n\017use_absl_random\030\264\001 \001(\010:\005"
443 "false\022\"\n\023log_search_progress\030) \001(\010:\005fals"
444 "e\022 \n\021use_pb_resolution\030+ \001(\010:\005false\0226\n\'m"
445 "inimize_reduction_during_pb_resolution\0300"
446 " \001(\010:\005false\022,\n\036count_assumption_levels_i"
447 "n_lbd\0301 \001(\010:\004true\022#\n\026presolve_bve_thresh"
448 "old\0306 \001(\005:\003500\022%\n\032presolve_bve_clause_we"
449 "ight\0307 \001(\005:\0013\0225\n)presolve_probing_determ"
450 "inistic_time_limit\0309 \001(\001:\00230\022%\n\027presolve"
451 "_blocked_clause\030X \001(\010:\004true\022\036\n\020presolve_"
452 "use_bva\030H \001(\010:\004true\022!\n\026presolve_bva_thre"
453 "shold\030I \001(\005:\0011\022#\n\027max_presolve_iteration"
454 "s\030\212\001 \001(\005:\0013\022\037\n\021cp_model_presolve\030V \001(\010:\004"
455 "true\0223\n#cp_model_postsolve_with_full_sol"
456 "ver\030\242\001 \001(\010:\005false\0220\n$cp_model_max_num_pr"
457 "esolve_operations\030\227\001 \001(\005:\0010\022!\n\026cp_model_"
458 "probing_level\030n \001(\005:\0012\022\'\n\031cp_model_use_s"
459 "at_presolve\030] \001(\010:\004true\022$\n\024use_sat_inpro"
460 "cessing\030\243\001 \001(\010:\005false\022)\n\032expand_element_"
461 "constraints\030\214\001 \001(\010:\004true\022+\n\034expand_autom"
462 "aton_constraints\030\217\001 \001(\010:\004true\022\'\n\030expand_"
463 "table_constraints\030\236\001 \001(\010:\004true\022*\n\032expand"
464 "_alldiff_constraints\030\252\001 \001(\010:\005false\022+\n\034ex"
465 "pand_reservoir_constraints\030\266\001 \001(\010:\004true\022"
466 ",\n\034disable_constraint_expansion\030\265\001 \001(\010:\005"
467 "false\0223\n\033merge_no_overlap_work_limit\030\221\001 "
468 "\001(\001:\r1000000000000\0220\n\034merge_at_most_one_"
469 "work_limit\030\222\001 \001(\001:\t100000000\022\'\n\033presolve"
470 "_substitution_level\030\223\001 \001(\005:\0011\0224\n$presolv"
471 "e_extract_integer_enforcement\030\256\001 \001(\010:\005fa"
472 "lse\022$\n\026use_optimization_hints\030# \001(\010:\004tru"
473 "e\022\033\n\rminimize_core\0302 \001(\010:\004true\022!\n\023find_m"
474 "ultiple_cores\030T \001(\010:\004true\022 \n\022cover_optim"
475 "ization\030Y \001(\010:\004true\022x\n\030max_sat_assumptio"
476 "n_order\0303 \001(\0162<.operations_research.sat."
477 "SatParameters.MaxSatAssumptionOrder:\030DEF"
478 "AULT_ASSUMPTION_ORDER\022/\n max_sat_reverse"
479 "_assumption_order\0304 \001(\010:\005false\022|\n\026max_sa"
480 "t_stratification\0305 \001(\0162D.operations_rese"
481 "arch.sat.SatParameters.MaxSatStratificat"
482 "ionAlgorithm:\026STRATIFICATION_DESCENT\0227\n)"
483 "use_precedences_in_disjunctive_constrain"
484 "t\030J \001(\010:\004true\022<\n-use_overload_checker_in"
485 "_cumulative_constraint\030N \001(\010:\005false\022B\n3u"
486 "se_timetable_edge_finding_in_cumulative_"
487 "constraint\030O \001(\010:\005false\022A\n3use_disjuncti"
488 "ve_constraint_in_cumulative_constraint\030P"
489 " \001(\010:\004true\022\036\n\023linearization_level\030Z \001(\005:"
490 "\0011\022!\n\026boolean_encoding_level\030k \001(\005:\0011\022\033\n"
491 "\014max_num_cuts\030[ \001(\005:\00510000\022*\n\033only_add_c"
492 "uts_at_level_zero\030\\ \001(\010:\005false\022 \n\021add_kn"
493 "apsack_cuts\030o \001(\010:\005false\022\031\n\013add_cg_cuts\030"
494 "u \001(\010:\004true\022\032\n\014add_mir_cuts\030x \001(\010:\004true\022"
495 "!\n\022add_zero_half_cuts\030\251\001 \001(\010:\004true\022\036\n\017ad"
496 "d_clique_cuts\030\254\001 \001(\010:\004true\022!\n\025max_all_di"
497 "ff_cut_size\030\224\001 \001(\005:\0017\022\037\n\020add_lin_max_cut"
498 "s\030\230\001 \001(\010:\004true\022)\n\034max_integer_rounding_s"
499 "caling\030w \001(\005:\003600\022\'\n\031add_lp_constraints_"
500 "lazily\030p \001(\010:\004true\0222\n$min_orthogonality_"
501 "for_lp_constraints\030s \001(\001:\0040.05\022(\n\034max_cu"
502 "t_rounds_at_level_zero\030\232\001 \001(\005:\0011\022+\n\036max_"
503 "consecutive_inactive_count\030y \001(\005:\003100\0220\n"
504 "\032cut_max_active_count_value\030\233\001 \001(\001:\0131000"
505 "0000000\022$\n\026cut_active_count_decay\030\234\001 \001(\001"
506 ":\0030.8\022!\n\022cut_cleanup_target\030\235\001 \001(\005:\0041000"
507 "\022&\n\032new_constraints_batch_size\030z \001(\005:\00250"
508 "\022b\n\020search_branching\030R \001(\01626.operations_"
509 "research.sat.SatParameters.SearchBranchi"
510 "ng:\020AUTOMATIC_SEARCH\022 \n\023hint_conflict_li"
511 "mit\030\231\001 \001(\005:\00210\022\033\n\013repair_hint\030\247\001 \001(\010:\005fa"
512 "lse\022)\n\033exploit_integer_lp_solution\030^ \001(\010"
513 ":\004true\022%\n\027exploit_all_lp_solution\030t \001(\010:"
514 "\004true\022%\n\025exploit_best_solution\030\202\001 \001(\010:\005f"
515 "alse\022+\n\033exploit_relaxation_solution\030\241\001 \001"
516 "(\010:\005false\022 \n\021exploit_objective\030\203\001 \001(\010:\004t"
517 "rue\022\"\n\026probing_period_at_root\030\216\001 \001(\003:\0010\022"
518 "\"\n\022use_probing_search\030\260\001 \001(\010:\005false\022.\n!p"
519 "seudo_cost_reliability_threshold\030{ \001(\003:\003"
520 "100\022!\n\022optimize_with_core\030S \001(\010:\005false\022\'"
521 "\n\033binary_search_num_conflicts\030c \001(\005:\002-1\022"
522 "#\n\024optimize_with_max_hs\030U \001(\010:\005false\022&\n\027"
523 "enumerate_all_solutions\030W \001(\010:\005false\0227\n\'"
524 "keep_all_feasible_solutions_in_presolve\030"
525 "\255\001 \001(\010:\005false\0222\n\"fill_tightened_domains_"
526 "in_response\030\204\001 \001(\010:\005false\022\'\n\031instantiate"
527 "_all_variables\030j \001(\010:\004true\0226\n(auto_detec"
528 "t_greater_than_at_least_one_of\030_ \001(\010:\004tr"
529 "ue\022(\n\031stop_after_first_solution\030b \001(\010:\005f"
530 "alse\022#\n\023stop_after_presolve\030\225\001 \001(\010:\005fals"
531 "e\022\035\n\022num_search_workers\030d \001(\005:\0011\022!\n\021inte"
532 "rleave_search\030\210\001 \001(\010:\005false\022!\n\025interleav"
533 "e_batch_size\030\206\001 \001(\005:\0011\0226\n&reduce_memory_"
534 "usage_in_interleave_mode\030\215\001 \001(\010:\005false\022$"
535 "\n\026share_objective_bounds\030q \001(\010:\004true\022%\n\027"
536 "share_level_zero_bounds\030r \001(\010:\004true\022\033\n\014u"
537 "se_lns_only\030e \001(\010:\005false\022.\n\037lns_focus_on"
538 "_decision_variables\030i \001(\010:\005false\022\033\n\014use_"
539 "rins_lns\030\201\001 \001(\010:\004true\022#\n\024use_feasibility"
540 "_pump\030\244\001 \001(\010:\004true\022c\n\013fp_rounding\030\245\001 \001(\016"
541 "27.operations_research.sat.SatParameters"
542 ".FPRoundingMethod:\024PROPAGATION_ASSISTED\022"
543 "\"\n\022use_relaxation_lns\030\226\001 \001(\010:\005false\022$\n\024d"
544 "iversify_lns_params\030\211\001 \001(\010:\005false\022\037\n\020ran"
545 "domize_search\030g \001(\010:\005false\022)\n\036search_ran"
546 "domization_tolerance\030h \001(\003:\0010\022$\n\026use_opt"
547 "ional_variables\030l \001(\010:\004true\022!\n\023use_exact"
548 "_lp_reason\030m \001(\010:\004true\022#\n\023use_branching_"
549 "in_lp\030\213\001 \001(\010:\005false\022\'\n\027use_combined_no_o"
550 "verlap\030\205\001 \001(\010:\005false\022\"\n\023catch_sigint_sig"
551 "nal\030\207\001 \001(\010:\004true\022!\n\022use_implied_bounds\030\220"
552 "\001 \001(\010:\004true\022\"\n\022polish_lp_solution\030\257\001 \001(\010"
553 ":\005false\022!\n\021convert_intervals\030\261\001 \001(\010:\005fal"
554 "se\022!\n\021detect_symmetries\030\267\001 \001(\010:\005false\022\037\n"
555 "\rmip_max_bound\030| \001(\001:\01010000000\022\032\n\017mip_va"
556 "r_scaling\030} \001(\001:\0011\0220\n!mip_automatically_"
557 "scale_variables\030\246\001 \001(\010:\004true\022#\n\024mip_want"
558 "ed_precision\030~ \001(\001:\0051e-06\022%\n\031mip_max_act"
559 "ivity_exponent\030\177 \001(\005:\00253\022$\n\023mip_check_pr"
560 "ecision\030\200\001 \001(\001:\0060.0001\"H\n\rVariableOrder\022"
561 "\014\n\010IN_ORDER\020\000\022\024\n\020IN_REVERSE_ORDER\020\001\022\023\n\017I"
562 "N_RANDOM_ORDER\020\002\"\206\001\n\010Polarity\022\021\n\rPOLARIT"
563 "Y_TRUE\020\000\022\022\n\016POLARITY_FALSE\020\001\022\023\n\017POLARITY"
564 "_RANDOM\020\002\022\032\n\026POLARITY_WEIGHTED_SIGN\020\003\022\"\n"
565 "\036POLARITY_REVERSE_WEIGHTED_SIGN\020\004\"V\n\035Con"
566 "flictMinimizationAlgorithm\022\010\n\004NONE\020\000\022\n\n\006"
567 "SIMPLE\020\001\022\r\n\tRECURSIVE\020\002\022\020\n\014EXPERIMENTAL\020"
568 "\003\"\340\001\n\031BinaryMinizationAlgorithm\022\032\n\026NO_BI"
569 "NARY_MINIMIZATION\020\000\022\035\n\031BINARY_MINIMIZATI"
570 "ON_FIRST\020\001\0227\n3BINARY_MINIMIZATION_FIRST_"
571 "WITH_TRANSITIVE_REDUCTION\020\004\022)\n%BINARY_MI"
572 "NIMIZATION_WITH_REACHABILITY\020\002\022$\n EXPERI"
573 "MENTAL_BINARY_MINIMIZATION\020\003\"R\n\020ClausePr"
574 "otection\022\023\n\017PROTECTION_NONE\020\000\022\025\n\021PROTECT"
575 "ION_ALWAYS\020\001\022\022\n\016PROTECTION_LBD\020\002\"5\n\016Clau"
576 "seOrdering\022\023\n\017CLAUSE_ACTIVITY\020\000\022\016\n\nCLAUS"
577 "E_LBD\020\001\"\206\001\n\020RestartAlgorithm\022\016\n\nNO_RESTA"
578 "RT\020\000\022\020\n\014LUBY_RESTART\020\001\022\035\n\031DL_MOVING_AVER"
579 "AGE_RESTART\020\002\022\036\n\032LBD_MOVING_AVERAGE_REST"
580 "ART\020\003\022\021\n\rFIXED_RESTART\020\004\"t\n\025MaxSatAssump"
581 "tionOrder\022\034\n\030DEFAULT_ASSUMPTION_ORDER\020\000\022"
582 "\035\n\031ORDER_ASSUMPTION_BY_DEPTH\020\001\022\036\n\032ORDER_"
583 "ASSUMPTION_BY_WEIGHT\020\002\"o\n\035MaxSatStratifi"
584 "cationAlgorithm\022\027\n\023STRATIFICATION_NONE\020\000"
585 "\022\032\n\026STRATIFICATION_DESCENT\020\001\022\031\n\025STRATIFI"
586 "CATION_ASCENT\020\002\"\260\001\n\017SearchBranching\022\024\n\020A"
587 "UTOMATIC_SEARCH\020\000\022\020\n\014FIXED_SEARCH\020\001\022\024\n\020P"
588 "ORTFOLIO_SEARCH\020\002\022\r\n\tLP_SEARCH\020\003\022\026\n\022PSEU"
589 "DO_COST_SEARCH\020\004\022\'\n#PORTFOLIO_WITH_QUICK"
590 "_RESTART_SEARCH\020\005\022\017\n\013HINT_SEARCH\020\006\"h\n\020FP"
591 "RoundingMethod\022\023\n\017NEAREST_INTEGER\020\000\022\016\n\nL"
592 "OCK_BASED\020\001\022\025\n\021ACTIVE_LOCK_BASED\020\003\022\030\n\024PR"
593 "OPAGATION_ASSISTED\020\002B\032\n\026com.google.ortoo"
603 false,
false, descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto,
"ortools/sat/sat_parameters.proto", 8648,
628 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
634 constexpr
int SatParameters::VariableOrder_ARRAYSIZE;
653 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
661 constexpr
int SatParameters::Polarity_ARRAYSIZE;
679 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
686 constexpr
int SatParameters::ConflictMinimizationAlgorithm_ARRAYSIZE;
705 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
713 constexpr
int SatParameters::BinaryMinizationAlgorithm_ARRAYSIZE;
730 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
736 constexpr
int SatParameters::ClauseProtection_ARRAYSIZE;
752 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
757 constexpr
int SatParameters::ClauseOrdering_ARRAYSIZE;
776 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
784 constexpr
int SatParameters::RestartAlgorithm_ARRAYSIZE;
801 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
807 constexpr
int SatParameters::MaxSatAssumptionOrder_ARRAYSIZE;
824 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
830 constexpr
int SatParameters::MaxSatStratificationAlgorithm_ARRAYSIZE;
851 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
861 constexpr
int SatParameters::SearchBranching_ARRAYSIZE;
879 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
886 constexpr
int SatParameters::FPRoundingMethod_ARRAYSIZE;
893 using HasBits = decltype(std::declval<SatParameters>()._has_bits_);
895 (*has_bits)[0] |= 2u;
898 (*has_bits)[0] |= 4u;
901 (*has_bits)[1] |= 268435456u;
904 (*has_bits)[2] |= 8192u;
907 (*has_bits)[1] |= 134217728u;
910 (*has_bits)[0] |= 32u;
913 (*has_bits)[0] |= 16u;
916 (*has_bits)[0] |= 8192u;
919 (*has_bits)[0] |= 2048u;
922 (*has_bits)[0] |= 16384u;
925 (*has_bits)[1] |= 536870912u;
928 (*has_bits)[2] |= 512u;
931 (*has_bits)[2] |= 16384u;
934 (*has_bits)[1] |= 1073741824u;
937 (*has_bits)[1] |= 2147483648u;
940 (*has_bits)[0] |= 64u;
943 (*has_bits)[2] |= 8388608u;
946 (*has_bits)[0] |= 128u;
949 (*has_bits)[2] |= 131072u;
952 (*has_bits)[2] |= 262144u;
955 (*has_bits)[3] |= 512u;
958 (*has_bits)[3] |= 1024u;
961 (*has_bits)[2] |= 1u;
964 (*has_bits)[2] |= 2u;
967 (*has_bits)[2] |= 16u;
970 (*has_bits)[2] |= 32u;
973 (*has_bits)[2] |= 64u;
976 (*has_bits)[2] |= 4u;
979 (*has_bits)[2] |= 8u;
982 (*has_bits)[0] |= 1u;
985 (*has_bits)[2] |= 128u;
988 (*has_bits)[2] |= 33554432u;
991 (*has_bits)[2] |= 16777216u;
994 (*has_bits)[3] |= 4u;
997 (*has_bits)[0] |= 32768u;
1000 (*has_bits)[3] |= 1u;
1003 (*has_bits)[2] |= 1073741824u;
1006 (*has_bits)[0] |= 512u;
1009 (*has_bits)[0] |= 256u;
1012 (*has_bits)[2] |= 1024u;
1015 (*has_bits)[2] |= 2147483648u;
1018 (*has_bits)[2] |= 2048u;
1021 (*has_bits)[2] |= 4096u;
1024 (*has_bits)[1] |= 4194304u;
1027 (*has_bits)[1] |= 8388608u;
1030 (*has_bits)[2] |= 32768u;
1033 (*has_bits)[2] |= 256u;
1036 (*has_bits)[0] |= 65536u;
1039 (*has_bits)[0] |= 131072u;
1042 (*has_bits)[0] |= 262144u;
1045 (*has_bits)[0] |= 524288u;
1048 (*has_bits)[0] |= 1048576u;
1051 (*has_bits)[1] |= 512u;
1054 (*has_bits)[2] |= 65536u;
1057 (*has_bits)[2] |= 1048576u;
1060 (*has_bits)[2] |= 4194304u;
1063 (*has_bits)[2] |= 2097152u;
1066 (*has_bits)[3] |= 8u;
1069 (*has_bits)[3] |= 16u;
1072 (*has_bits)[3] |= 2u;
1075 (*has_bits)[4] |= 1024u;
1078 (*has_bits)[3] |= 32u;
1081 (*has_bits)[1] |= 1024u;
1084 (*has_bits)[1] |= 16777216u;
1087 (*has_bits)[3] |= 262144u;
1090 (*has_bits)[3] |= 64u;
1093 (*has_bits)[1] |= 2048u;
1096 (*has_bits)[4] |= 16777216u;
1099 (*has_bits)[4] |= 33554432u;
1102 (*has_bits)[4] |= 67108864u;
1105 (*has_bits)[1] |= 4096u;
1108 (*has_bits)[4] |= 134217728u;
1111 (*has_bits)[0] |= 536870912u;
1114 (*has_bits)[4] |= 4096u;
1117 (*has_bits)[4] |= 8192u;
1120 (*has_bits)[4] |= 2048u;
1123 (*has_bits)[0] |= 1073741824u;
1126 (*has_bits)[2] |= 67108864u;
1129 (*has_bits)[2] |= 134217728u;
1132 (*has_bits)[2] |= 268435456u;
1135 (*has_bits)[2] |= 536870912u;
1138 (*has_bits)[0] |= 8u;
1141 (*has_bits)[0] |= 2147483648u;
1144 (*has_bits)[2] |= 524288u;
1147 (*has_bits)[3] |= 2048u;
1150 (*has_bits)[1] |= 1u;
1153 (*has_bits)[0] |= 2097152u;
1156 (*has_bits)[3] |= 4096u;
1159 (*has_bits)[3] |= 128u;
1162 (*has_bits)[3] |= 131072u;
1165 (*has_bits)[3] |= 256u;
1168 (*has_bits)[0] |= 4194304u;
1171 (*has_bits)[0] |= 8388608u;
1174 (*has_bits)[3] |= 8192u;
1177 (*has_bits)[3] |= 16384u;
1180 (*has_bits)[4] |= 32768u;
1183 (*has_bits)[4] |= 65536u;
1186 (*has_bits)[4] |= 16384u;
1189 (*has_bits)[4] |= 131072u;
1192 (*has_bits)[3] |= 268435456u;
1195 (*has_bits)[4] |= 262144u;
1198 (*has_bits)[3] |= 134217728u;
1201 (*has_bits)[4] |= 1048576u;
1204 (*has_bits)[3] |= 536870912u;
1207 (*has_bits)[4] |= 2097152u;
1210 (*has_bits)[4] |= 268435456u;
1213 (*has_bits)[4] |= 536870912u;
1216 (*has_bits)[4] |= 1u;
1219 (*has_bits)[0] |= 1024u;
1222 (*has_bits)[4] |= 524288u;
1225 (*has_bits)[0] |= 16777216u;
1228 (*has_bits)[3] |= 524288u;
1231 (*has_bits)[3] |= 1048576u;
1234 (*has_bits)[1] |= 8192u;
1237 (*has_bits)[1] |= 16384u;
1240 (*has_bits)[3] |= 2097152u;
1243 (*has_bits)[1] |= 2097152u;
1246 (*has_bits)[1] |= 32768u;
1249 (*has_bits)[3] |= 1073741824u;
1252 (*has_bits)[1] |= 65536u;
1255 (*has_bits)[3] |= 32768u;
1258 (*has_bits)[0] |= 33554432u;
1261 (*has_bits)[0] |= 67108864u;
1264 (*has_bits)[0] |= 134217728u;
1267 (*has_bits)[0] |= 268435456u;
1270 (*has_bits)[3] |= 4194304u;
1273 (*has_bits)[3] |= 8388608u;
1276 (*has_bits)[1] |= 32u;
1279 (*has_bits)[1] |= 64u;
1282 (*has_bits)[3] |= 65536u;
1285 (*has_bits)[1] |= 128u;
1288 (*has_bits)[4] |= 512u;
1291 (*has_bits)[1] |= 256u;
1294 (*has_bits)[3] |= 16777216u;
1297 (*has_bits)[3] |= 33554432u;
1300 (*has_bits)[1] |= 2u;
1303 (*has_bits)[1] |= 4u;
1306 (*has_bits)[3] |= 67108864u;
1309 (*has_bits)[4] |= 32u;
1312 (*has_bits)[4] |= 1073741824u;
1315 (*has_bits)[1] |= 8u;
1318 (*has_bits)[1] |= 16u;
1321 (*has_bits)[1] |= 131072u;
1324 (*has_bits)[0] |= 4096u;
1327 (*has_bits)[4] |= 64u;
1330 (*has_bits)[4] |= 128u;
1333 (*has_bits)[1] |= 262144u;
1336 (*has_bits)[1] |= 524288u;
1339 (*has_bits)[4] |= 256u;
1342 (*has_bits)[4] |= 4194304u;
1345 (*has_bits)[1] |= 1048576u;
1348 (*has_bits)[1] |= 33554432u;
1351 (*has_bits)[1] |= 67108864u;
1354 (*has_bits)[3] |= 2147483648u;
1357 (*has_bits)[4] |= 4u;
1360 (*has_bits)[4] |= 8388608u;
1363 (*has_bits)[4] |= 8u;
1366 (*has_bits)[4] |= 2u;
1369 (*has_bits)[4] |= 16u;
1373 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}};
1374 SatParameters::SatParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1375 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1376 restart_algorithms_(arena) {
1378 RegisterArenaDtor(arena);
1381 SatParameters::SatParameters(
const SatParameters& from)
1382 : ::PROTOBUF_NAMESPACE_ID::Message(),
1383 _has_bits_(from._has_bits_),
1384 restart_algorithms_(from.restart_algorithms_) {
1385 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1386 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1387 if (from._internal_has_default_restart_algorithms()) {
1388 default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, from._internal_default_restart_algorithms(),
1391 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1392 if (from._internal_has_name()) {
1393 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1396 ::memcpy(&preferred_variable_order_, &from.preferred_variable_order_,
1397 static_cast<size_t>(
reinterpret_cast<char*
>(&fp_rounding_) -
1398 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(fp_rounding_));
1402 void SatParameters::SharedCtor() {
1404 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1405 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1406 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1407 reinterpret_cast<char*
>(&preferred_variable_order_) -
reinterpret_cast<char*
>(
this)),
1408 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&detect_symmetries_) -
1409 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(detect_symmetries_));
1410 polarity_rephase_increment_ = 1000;
1411 initial_polarity_ = 1;
1412 minimization_algorithm_ = 2;
1413 clause_cleanup_period_ = 10000;
1414 clause_cleanup_target_ = 10000;
1415 variable_activity_decay_ = 0.8;
1416 max_variable_activity_value_ = 1e+100;
1417 clause_activity_decay_ = 0.999;
1418 max_clause_activity_value_ = 1e+20;
1419 glucose_max_decay_ = 0.95;
1420 glucose_decay_increment_ = 0.01;
1421 glucose_decay_increment_period_ = 5000;
1422 restart_period_ = 50;
1424 binary_minimization_algorithm_ = 1;
1425 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1426 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1427 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1428 use_phase_saving_ =
true;
1429 subsumption_during_conflict_analysis_ =
true;
1430 treat_binary_clauses_separately_ =
true;
1431 count_assumption_levels_in_lbd_ =
true;
1432 pb_cleanup_increment_ = 200;
1433 pb_cleanup_ratio_ = 0.5;
1434 max_sat_stratification_ = 1;
1435 presolve_bve_threshold_ = 500;
1436 presolve_probing_deterministic_time_limit_ = 30;
1437 presolve_bve_clause_weight_ = 3;
1438 clause_cleanup_lbd_bound_ = 5;
1439 restart_dl_average_ratio_ = 1;
1440 restart_running_window_size_ = 50;
1441 use_optimization_hints_ =
true;
1442 minimize_core_ =
true;
1443 find_multiple_cores_ =
true;
1444 cover_optimization_ =
true;
1445 blocking_restart_multiplier_ = 1.4;
1446 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1447 blocking_restart_window_size_ = 5000;
1448 presolve_bva_threshold_ = 1;
1449 restart_lbd_average_ratio_ = 1;
1450 presolve_blocked_clause_ =
true;
1451 presolve_use_bva_ =
true;
1452 cp_model_presolve_ =
true;
1453 cp_model_use_sat_presolve_ =
true;
1454 linearization_level_ = 1;
1455 max_num_cuts_ = 10000;
1456 minimize_with_propagation_restart_period_ = 10;
1457 minimize_with_propagation_num_decisions_ = 1000;
1458 use_precedences_in_disjunctive_constraint_ =
true;
1459 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1460 add_cg_cuts_ =
true;
1461 add_mir_cuts_ =
true;
1462 binary_search_num_conflicts_ = -1;
1463 num_search_workers_ = 1;
1464 boolean_encoding_level_ = 1;
1465 cp_model_probing_level_ = 2;
1466 exploit_integer_lp_solution_ =
true;
1467 exploit_all_lp_solution_ =
true;
1468 exploit_objective_ =
true;
1469 instantiate_all_variables_ =
true;
1470 auto_detect_greater_than_at_least_one_of_ =
true;
1471 share_objective_bounds_ =
true;
1472 share_level_zero_bounds_ =
true;
1473 use_rins_lns_ =
true;
1474 min_orthogonality_for_lp_constraints_ = 0.05;
1475 max_integer_rounding_scaling_ = 600;
1476 max_consecutive_inactive_count_ = 100;
1477 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1478 mip_max_bound_ = 10000000;
1479 new_constraints_batch_size_ = 50;
1480 mip_max_activity_exponent_ = 53;
1481 mip_var_scaling_ = 1;
1482 mip_wanted_precision_ = 1e-06;
1483 mip_check_precision_ = 0.0001;
1484 use_feasibility_pump_ =
true;
1485 use_optional_variables_ =
true;
1486 use_exact_lp_reason_ =
true;
1487 catch_sigint_signal_ =
true;
1488 interleave_batch_size_ = 1;
1489 max_presolve_iterations_ = 3;
1490 presolve_substitution_level_ = 1;
1491 merge_no_overlap_work_limit_ = 1000000000000;
1492 merge_at_most_one_work_limit_ = 100000000;
1493 max_all_diff_cut_size_ = 7;
1494 add_zero_half_cuts_ =
true;
1495 add_clique_cuts_ =
true;
1496 add_lin_max_cuts_ =
true;
1497 add_lp_constraints_lazily_ =
true;
1498 hint_conflict_limit_ = 10;
1499 max_cut_rounds_at_level_zero_ = 1;
1500 cut_max_active_count_value_ = 10000000000;
1501 use_implied_bounds_ =
true;
1502 mip_automatically_scale_variables_ =
true;
1503 expand_element_constraints_ =
true;
1504 expand_automaton_constraints_ =
true;
1505 expand_table_constraints_ =
true;
1506 expand_reservoir_constraints_ =
true;
1507 cut_active_count_decay_ = 0.8;
1508 cut_cleanup_target_ = 1000;
1512 SatParameters::~SatParameters() {
1515 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1518 void SatParameters::SharedDtor() {
1519 GOOGLE_DCHECK(GetArena() ==
nullptr);
1520 default_restart_algorithms_.DestroyNoArena(
nullptr);
1521 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1524 void SatParameters::ArenaDtor(
void*
object) {
1525 SatParameters* _this =
reinterpret_cast< SatParameters*
>(object);
1528 void SatParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1530 void SatParameters::SetCachedSize(
int size)
const {
1531 _cached_size_.Set(size);
1533 const SatParameters& SatParameters::default_instance() {
1535 return *internal_default_instance();
1539 void SatParameters::Clear() {
1543 (void) cached_has_bits;
1545 restart_algorithms_.Clear();
1546 cached_has_bits = _has_bits_[0];
1547 if (cached_has_bits & 0x00000003u) {
1548 if (cached_has_bits & 0x00000001u) {
1549 default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArena());
1551 if (cached_has_bits & 0x00000002u) {
1552 name_.ClearNonDefaultToEmpty();
1555 if (cached_has_bits & 0x000000fcu) {
1556 ::memset(&preferred_variable_order_, 0,
static_cast<size_t>(
1557 reinterpret_cast<char*
>(&clause_cleanup_ordering_) -
1558 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(clause_cleanup_ordering_));
1560 if (cached_has_bits & 0x0000ff00u) {
1561 ::memset(&strategy_change_increase_ratio_, 0,
static_cast<size_t>(
1562 reinterpret_cast<char*
>(&use_blocking_restart_) -
1563 reinterpret_cast<char*
>(&strategy_change_increase_ratio_)) +
sizeof(use_blocking_restart_));
1565 if (cached_has_bits & 0x00ff0000u) {
1566 ::memset(&permute_variable_randomly_, 0,
static_cast<size_t>(
1567 reinterpret_cast<char*
>(&add_knapsack_cuts_) -
1568 reinterpret_cast<char*
>(&permute_variable_randomly_)) +
sizeof(add_knapsack_cuts_));
1570 if (cached_has_bits & 0xff000000u) {
1571 ::memset(&repair_hint_, 0,
static_cast<size_t>(
1572 reinterpret_cast<char*
>(&max_sat_reverse_assumption_order_) -
1573 reinterpret_cast<char*
>(&repair_hint_)) +
sizeof(max_sat_reverse_assumption_order_));
1575 cached_has_bits = _has_bits_[1];
1576 if (cached_has_bits & 0x000000ffu) {
1577 ::memset(&use_overload_checker_in_cumulative_constraint_, 0,
static_cast<size_t>(
1578 reinterpret_cast<char*
>(&interleave_search_) -
1579 reinterpret_cast<char*
>(&use_overload_checker_in_cumulative_constraint_)) +
sizeof(interleave_search_));
1581 if (cached_has_bits & 0x0000ff00u) {
1582 ::memset(&reduce_memory_usage_in_interleave_mode_, 0,
static_cast<size_t>(
1583 reinterpret_cast<char*
>(&use_probing_search_) -
1584 reinterpret_cast<char*
>(&reduce_memory_usage_in_interleave_mode_)) +
sizeof(use_probing_search_));
1586 if (cached_has_bits & 0x00ff0000u) {
1587 ::memset(&optimize_with_core_, 0,
static_cast<size_t>(
1588 reinterpret_cast<char*
>(&relative_gap_limit_) -
1589 reinterpret_cast<char*
>(&optimize_with_core_)) +
sizeof(relative_gap_limit_));
1591 if (cached_has_bits & 0xff000000u) {
1592 ::memset(&cp_model_max_num_presolve_operations_, 0,
static_cast<size_t>(
1593 reinterpret_cast<char*
>(&detect_symmetries_) -
1594 reinterpret_cast<char*
>(&cp_model_max_num_presolve_operations_)) +
sizeof(detect_symmetries_));
1595 polarity_rephase_increment_ = 1000;
1596 initial_polarity_ = 1;
1597 minimization_algorithm_ = 2;
1598 clause_cleanup_period_ = 10000;
1599 clause_cleanup_target_ = 10000;
1601 cached_has_bits = _has_bits_[2];
1602 if (cached_has_bits & 0x000000ffu) {
1603 variable_activity_decay_ = 0.8;
1604 max_variable_activity_value_ = 1e+100;
1605 clause_activity_decay_ = 0.999;
1606 max_clause_activity_value_ = 1e+20;
1607 glucose_max_decay_ = 0.95;
1608 glucose_decay_increment_ = 0.01;
1609 glucose_decay_increment_period_ = 5000;
1610 restart_period_ = 50;
1612 if (cached_has_bits & 0x0000ff00u) {
1614 binary_minimization_algorithm_ = 1;
1615 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1616 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1617 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1618 use_phase_saving_ =
true;
1619 subsumption_during_conflict_analysis_ =
true;
1620 treat_binary_clauses_separately_ =
true;
1622 if (cached_has_bits & 0x00ff0000u) {
1623 count_assumption_levels_in_lbd_ =
true;
1624 pb_cleanup_increment_ = 200;
1625 pb_cleanup_ratio_ = 0.5;
1626 max_sat_stratification_ = 1;
1627 presolve_bve_threshold_ = 500;
1628 presolve_probing_deterministic_time_limit_ = 30;
1629 presolve_bve_clause_weight_ = 3;
1630 clause_cleanup_lbd_bound_ = 5;
1632 if (cached_has_bits & 0xff000000u) {
1633 restart_dl_average_ratio_ = 1;
1634 restart_running_window_size_ = 50;
1635 use_optimization_hints_ =
true;
1636 minimize_core_ =
true;
1637 find_multiple_cores_ =
true;
1638 cover_optimization_ =
true;
1639 blocking_restart_multiplier_ = 1.4;
1640 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1642 cached_has_bits = _has_bits_[3];
1643 if (cached_has_bits & 0x000000ffu) {
1644 blocking_restart_window_size_ = 5000;
1645 presolve_bva_threshold_ = 1;
1646 restart_lbd_average_ratio_ = 1;
1647 presolve_blocked_clause_ =
true;
1648 presolve_use_bva_ =
true;
1649 cp_model_presolve_ =
true;
1650 cp_model_use_sat_presolve_ =
true;
1651 linearization_level_ = 1;
1653 if (cached_has_bits & 0x0000ff00u) {
1654 max_num_cuts_ = 10000;
1655 minimize_with_propagation_restart_period_ = 10;
1656 minimize_with_propagation_num_decisions_ = 1000;
1657 use_precedences_in_disjunctive_constraint_ =
true;
1658 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1659 add_cg_cuts_ =
true;
1660 add_mir_cuts_ =
true;
1661 binary_search_num_conflicts_ = -1;
1663 if (cached_has_bits & 0x00ff0000u) {
1664 num_search_workers_ = 1;
1665 boolean_encoding_level_ = 1;
1666 cp_model_probing_level_ = 2;
1667 exploit_integer_lp_solution_ =
true;
1668 exploit_all_lp_solution_ =
true;
1669 exploit_objective_ =
true;
1670 instantiate_all_variables_ =
true;
1671 auto_detect_greater_than_at_least_one_of_ =
true;
1673 if (cached_has_bits & 0xff000000u) {
1674 share_objective_bounds_ =
true;
1675 share_level_zero_bounds_ =
true;
1676 use_rins_lns_ =
true;
1677 min_orthogonality_for_lp_constraints_ = 0.05;
1678 max_integer_rounding_scaling_ = 600;
1679 max_consecutive_inactive_count_ = 100;
1680 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1681 mip_max_bound_ = 10000000;
1683 cached_has_bits = _has_bits_[4];
1684 if (cached_has_bits & 0x000000ffu) {
1685 new_constraints_batch_size_ = 50;
1686 mip_max_activity_exponent_ = 53;
1687 mip_var_scaling_ = 1;
1688 mip_wanted_precision_ = 1e-06;
1689 mip_check_precision_ = 0.0001;
1690 use_feasibility_pump_ =
true;
1691 use_optional_variables_ =
true;
1692 use_exact_lp_reason_ =
true;
1694 if (cached_has_bits & 0x0000ff00u) {
1695 catch_sigint_signal_ =
true;
1696 interleave_batch_size_ = 1;
1697 max_presolve_iterations_ = 3;
1698 presolve_substitution_level_ = 1;
1699 merge_no_overlap_work_limit_ = 1000000000000;
1700 merge_at_most_one_work_limit_ = 100000000;
1701 max_all_diff_cut_size_ = 7;
1702 add_zero_half_cuts_ =
true;
1704 if (cached_has_bits & 0x00ff0000u) {
1705 add_clique_cuts_ =
true;
1706 add_lin_max_cuts_ =
true;
1707 add_lp_constraints_lazily_ =
true;
1708 hint_conflict_limit_ = 10;
1709 max_cut_rounds_at_level_zero_ = 1;
1710 cut_max_active_count_value_ = 10000000000;
1711 use_implied_bounds_ =
true;
1712 mip_automatically_scale_variables_ =
true;
1714 if (cached_has_bits & 0x7f000000u) {
1715 expand_element_constraints_ =
true;
1716 expand_automaton_constraints_ =
true;
1717 expand_table_constraints_ =
true;
1718 expand_reservoir_constraints_ =
true;
1719 cut_active_count_decay_ = 0.8;
1720 cut_cleanup_target_ = 1000;
1724 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1727 const char* SatParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1728 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1729 while (!ctx->Done(&ptr)) {
1731 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1742 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
1744 }
else goto handle_unusual;
1754 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
1756 }
else goto handle_unusual;
1766 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
1768 }
else goto handle_unusual;
1774 clause_cleanup_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1776 }
else goto handle_unusual;
1782 clause_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1784 }
else goto handle_unusual;
1790 variable_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1791 ptr +=
sizeof(double);
1792 }
else goto handle_unusual;
1798 max_variable_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1799 ptr +=
sizeof(double);
1800 }
else goto handle_unusual;
1806 clause_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1807 ptr +=
sizeof(double);
1808 }
else goto handle_unusual;
1814 max_clause_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1815 ptr +=
sizeof(double);
1816 }
else goto handle_unusual;
1822 glucose_max_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1823 ptr +=
sizeof(double);
1824 }
else goto handle_unusual;
1830 glucose_decay_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1831 ptr +=
sizeof(double);
1832 }
else goto handle_unusual;
1838 glucose_decay_increment_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1840 }
else goto handle_unusual;
1846 restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1848 }
else goto handle_unusual;
1854 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1856 }
else goto handle_unusual;
1862 random_branches_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1863 ptr +=
sizeof(double);
1864 }
else goto handle_unusual;
1870 treat_binary_clauses_separately_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1872 }
else goto handle_unusual;
1882 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(34, val, mutable_unknown_fields());
1884 }
else goto handle_unusual;
1890 use_optimization_hints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1892 }
else goto handle_unusual;
1898 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1899 ptr +=
sizeof(double);
1900 }
else goto handle_unusual;
1906 max_number_of_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1908 }
else goto handle_unusual;
1914 max_memory_in_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1916 }
else goto handle_unusual;
1922 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1924 }
else goto handle_unusual;
1930 use_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1932 }
else goto handle_unusual;
1938 use_phase_saving_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1940 }
else goto handle_unusual;
1946 random_polarity_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1947 ptr +=
sizeof(double);
1948 }
else goto handle_unusual;
1954 pb_cleanup_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1956 }
else goto handle_unusual;
1962 pb_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1963 ptr +=
sizeof(double);
1964 }
else goto handle_unusual;
1970 minimize_reduction_during_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1972 }
else goto handle_unusual;
1978 count_assumption_levels_in_lbd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1980 }
else goto handle_unusual;
1986 minimize_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1988 }
else goto handle_unusual;
1998 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(51, val, mutable_unknown_fields());
2000 }
else goto handle_unusual;
2006 max_sat_reverse_assumption_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2008 }
else goto handle_unusual;
2018 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(53, val, mutable_unknown_fields());
2020 }
else goto handle_unusual;
2026 presolve_bve_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2028 }
else goto handle_unusual;
2034 presolve_bve_clause_weight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2036 }
else goto handle_unusual;
2042 subsumption_during_conflict_analysis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2044 }
else goto handle_unusual;
2050 presolve_probing_deterministic_time_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2051 ptr +=
sizeof(double);
2052 }
else goto handle_unusual;
2062 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(58, val, mutable_unknown_fields());
2064 }
else goto handle_unusual;
2070 clause_cleanup_lbd_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2072 }
else goto handle_unusual;
2082 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(60, val, mutable_unknown_fields());
2084 }
else goto handle_unusual;
2097 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(61, val, mutable_unknown_fields());
2099 if (!ctx->DataAvailable(ptr))
break;
2100 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<488>(ptr));
2104 }
else goto handle_unusual;
2110 restart_running_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2112 }
else goto handle_unusual;
2118 restart_dl_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2119 ptr +=
sizeof(double);
2120 }
else goto handle_unusual;
2126 use_blocking_restart_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2128 }
else goto handle_unusual;
2134 blocking_restart_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2136 }
else goto handle_unusual;
2142 blocking_restart_multiplier_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2143 ptr +=
sizeof(double);
2144 }
else goto handle_unusual;
2150 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2151 ptr +=
sizeof(double);
2152 }
else goto handle_unusual;
2158 num_conflicts_before_strategy_changes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2160 }
else goto handle_unusual;
2166 strategy_change_increase_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2167 ptr +=
sizeof(double);
2168 }
else goto handle_unusual;
2173 auto str = _internal_mutable_default_restart_algorithms();
2174 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2176 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.default_restart_algorithms");
2179 }
else goto handle_unusual;
2185 restart_lbd_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2186 ptr +=
sizeof(double);
2187 }
else goto handle_unusual;
2193 presolve_use_bva_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2195 }
else goto handle_unusual;
2201 presolve_bva_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2203 }
else goto handle_unusual;
2209 use_precedences_in_disjunctive_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2211 }
else goto handle_unusual;
2217 use_erwa_heuristic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2219 }
else goto handle_unusual;
2225 initial_variables_activity_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2226 ptr +=
sizeof(double);
2227 }
else goto handle_unusual;
2233 also_bump_variables_in_conflict_reasons_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2235 }
else goto handle_unusual;
2241 use_overload_checker_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2243 }
else goto handle_unusual;
2249 use_timetable_edge_finding_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2251 }
else goto handle_unusual;
2257 use_disjunctive_constraint_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2259 }
else goto handle_unusual;
2269 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(82, val, mutable_unknown_fields());
2271 }
else goto handle_unusual;
2277 optimize_with_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2279 }
else goto handle_unusual;
2285 find_multiple_cores_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2287 }
else goto handle_unusual;
2293 optimize_with_max_hs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2295 }
else goto handle_unusual;
2301 cp_model_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2303 }
else goto handle_unusual;
2309 enumerate_all_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2311 }
else goto handle_unusual;
2317 presolve_blocked_clause_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2319 }
else goto handle_unusual;
2325 cover_optimization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2327 }
else goto handle_unusual;
2333 linearization_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2335 }
else goto handle_unusual;
2341 max_num_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2343 }
else goto handle_unusual;
2349 only_add_cuts_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2351 }
else goto handle_unusual;
2357 cp_model_use_sat_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2359 }
else goto handle_unusual;
2365 exploit_integer_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2367 }
else goto handle_unusual;
2373 auto_detect_greater_than_at_least_one_of_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2375 }
else goto handle_unusual;
2381 minimize_with_propagation_restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2383 }
else goto handle_unusual;
2389 minimize_with_propagation_num_decisions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2391 }
else goto handle_unusual;
2397 stop_after_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2399 }
else goto handle_unusual;
2405 binary_search_num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2407 }
else goto handle_unusual;
2413 num_search_workers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2415 }
else goto handle_unusual;
2421 use_lns_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2423 }
else goto handle_unusual;
2429 randomize_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2431 }
else goto handle_unusual;
2437 search_randomization_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2439 }
else goto handle_unusual;
2445 lns_focus_on_decision_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2447 }
else goto handle_unusual;
2453 instantiate_all_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2455 }
else goto handle_unusual;
2461 boolean_encoding_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2463 }
else goto handle_unusual;
2469 use_optional_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2471 }
else goto handle_unusual;
2477 use_exact_lp_reason_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2479 }
else goto handle_unusual;
2485 cp_model_probing_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2487 }
else goto handle_unusual;
2493 add_knapsack_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2495 }
else goto handle_unusual;
2501 add_lp_constraints_lazily_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2503 }
else goto handle_unusual;
2509 share_objective_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2511 }
else goto handle_unusual;
2517 share_level_zero_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2519 }
else goto handle_unusual;
2525 min_orthogonality_for_lp_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2526 ptr +=
sizeof(double);
2527 }
else goto handle_unusual;
2533 exploit_all_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2535 }
else goto handle_unusual;
2541 add_cg_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2543 }
else goto handle_unusual;
2549 max_integer_rounding_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2551 }
else goto handle_unusual;
2557 add_mir_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2559 }
else goto handle_unusual;
2565 max_consecutive_inactive_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2567 }
else goto handle_unusual;
2573 new_constraints_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2575 }
else goto handle_unusual;
2581 pseudo_cost_reliability_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2583 }
else goto handle_unusual;
2589 mip_max_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2590 ptr +=
sizeof(double);
2591 }
else goto handle_unusual;
2597 mip_var_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2598 ptr +=
sizeof(double);
2599 }
else goto handle_unusual;
2605 mip_wanted_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2606 ptr +=
sizeof(double);
2607 }
else goto handle_unusual;
2613 mip_max_activity_exponent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2615 }
else goto handle_unusual;
2621 mip_check_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2622 ptr +=
sizeof(double);
2623 }
else goto handle_unusual;
2629 use_rins_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2631 }
else goto handle_unusual;
2637 exploit_best_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2639 }
else goto handle_unusual;
2645 exploit_objective_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2647 }
else goto handle_unusual;
2653 fill_tightened_domains_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2655 }
else goto handle_unusual;
2661 use_combined_no_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2663 }
else goto handle_unusual;
2669 interleave_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2671 }
else goto handle_unusual;
2677 catch_sigint_signal_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2679 }
else goto handle_unusual;
2685 interleave_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2687 }
else goto handle_unusual;
2693 diversify_lns_params_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2695 }
else goto handle_unusual;
2701 max_presolve_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2703 }
else goto handle_unusual;
2709 use_branching_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2711 }
else goto handle_unusual;
2717 expand_element_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2719 }
else goto handle_unusual;
2725 reduce_memory_usage_in_interleave_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2727 }
else goto handle_unusual;
2733 probing_period_at_root_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2735 }
else goto handle_unusual;
2741 expand_automaton_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2743 }
else goto handle_unusual;
2749 use_implied_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2751 }
else goto handle_unusual;
2757 merge_no_overlap_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2758 ptr +=
sizeof(double);
2759 }
else goto handle_unusual;
2765 merge_at_most_one_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2766 ptr +=
sizeof(double);
2767 }
else goto handle_unusual;
2773 presolve_substitution_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2775 }
else goto handle_unusual;
2781 max_all_diff_cut_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2783 }
else goto handle_unusual;
2789 stop_after_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2791 }
else goto handle_unusual;
2797 use_relaxation_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2799 }
else goto handle_unusual;
2805 cp_model_max_num_presolve_operations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2807 }
else goto handle_unusual;
2813 add_lin_max_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2815 }
else goto handle_unusual;
2821 hint_conflict_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2823 }
else goto handle_unusual;
2829 max_cut_rounds_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2831 }
else goto handle_unusual;
2837 cut_max_active_count_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2838 ptr +=
sizeof(double);
2839 }
else goto handle_unusual;
2845 cut_active_count_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2846 ptr +=
sizeof(double);
2847 }
else goto handle_unusual;
2853 cut_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2855 }
else goto handle_unusual;
2861 expand_table_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2863 }
else goto handle_unusual;
2869 absolute_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2870 ptr +=
sizeof(double);
2871 }
else goto handle_unusual;
2877 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2878 ptr +=
sizeof(double);
2879 }
else goto handle_unusual;
2885 exploit_relaxation_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2887 }
else goto handle_unusual;
2893 cp_model_postsolve_with_full_solver_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2895 }
else goto handle_unusual;
2901 use_sat_inprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2903 }
else goto handle_unusual;
2909 use_feasibility_pump_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2911 }
else goto handle_unusual;
2921 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(165, val, mutable_unknown_fields());
2923 }
else goto handle_unusual;
2929 mip_automatically_scale_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2931 }
else goto handle_unusual;
2937 repair_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2939 }
else goto handle_unusual;
2945 polarity_rephase_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2947 }
else goto handle_unusual;
2953 add_zero_half_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2955 }
else goto handle_unusual;
2961 expand_alldiff_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2963 }
else goto handle_unusual;
2968 auto str = _internal_mutable_name();
2969 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2971 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.name");
2974 }
else goto handle_unusual;
2980 add_clique_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2982 }
else goto handle_unusual;
2988 keep_all_feasible_solutions_in_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2990 }
else goto handle_unusual;
2996 presolve_extract_integer_enforcement_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2998 }
else goto handle_unusual;
3004 polish_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3006 }
else goto handle_unusual;
3012 use_probing_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3014 }
else goto handle_unusual;
3020 convert_intervals_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3022 }
else goto handle_unusual;
3028 permute_variable_randomly_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3030 }
else goto handle_unusual;
3036 permute_presolve_constraint_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3038 }
else goto handle_unusual;
3044 use_absl_random_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3046 }
else goto handle_unusual;
3052 disable_constraint_expansion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3054 }
else goto handle_unusual;
3060 expand_reservoir_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3062 }
else goto handle_unusual;
3068 detect_symmetries_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3070 }
else goto handle_unusual;
3074 if ((tag & 7) == 4 || tag == 0) {
3075 ctx->SetLastTag(tag);
3078 ptr = UnknownFieldParse(tag,
3079 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3081 CHK_(ptr !=
nullptr);
3098 (void) cached_has_bits;
3100 cached_has_bits = _has_bits_[0];
3102 if (cached_has_bits & 0x00000004u) {
3103 target = stream->EnsureSpace(target);
3104 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3105 1, this->_internal_preferred_variable_order(), target);
3108 cached_has_bits = _has_bits_[1];
3110 if (cached_has_bits & 0x10000000u) {
3111 target = stream->EnsureSpace(target);
3112 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3113 2, this->_internal_initial_polarity(), target);
3117 if (cached_has_bits & 0x20000000u) {
3118 target = stream->EnsureSpace(target);
3119 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3120 4, this->_internal_minimization_algorithm(), target);
3124 if (cached_has_bits & 0x40000000u) {
3125 target = stream->EnsureSpace(target);
3126 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_clause_cleanup_period(), target);
3130 if (cached_has_bits & 0x80000000u) {
3131 target = stream->EnsureSpace(target);
3132 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_clause_cleanup_target(), target);
3135 cached_has_bits = _has_bits_[2];
3137 if (cached_has_bits & 0x00000001u) {
3138 target = stream->EnsureSpace(target);
3139 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_variable_activity_decay(), target);
3143 if (cached_has_bits & 0x00000002u) {
3144 target = stream->EnsureSpace(target);
3145 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_max_variable_activity_value(), target);
3149 if (cached_has_bits & 0x00000004u) {
3150 target = stream->EnsureSpace(target);
3151 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_clause_activity_decay(), target);
3155 if (cached_has_bits & 0x00000008u) {
3156 target = stream->EnsureSpace(target);
3157 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_max_clause_activity_value(), target);
3161 if (cached_has_bits & 0x00000010u) {
3162 target = stream->EnsureSpace(target);
3163 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_glucose_max_decay(), target);
3167 if (cached_has_bits & 0x00000020u) {
3168 target = stream->EnsureSpace(target);
3169 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_glucose_decay_increment(), target);
3173 if (cached_has_bits & 0x00000040u) {
3174 target = stream->EnsureSpace(target);
3175 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_glucose_decay_increment_period(), target);
3179 if (cached_has_bits & 0x00000080u) {
3180 target = stream->EnsureSpace(target);
3181 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_restart_period(), target);
3185 if (cached_has_bits & 0x00000100u) {
3186 target = stream->EnsureSpace(target);
3187 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_random_seed(), target);
3190 cached_has_bits = _has_bits_[0];
3192 if (cached_has_bits & 0x00000010u) {
3193 target = stream->EnsureSpace(target);
3194 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(32, this->_internal_random_branches_ratio(), target);
3197 cached_has_bits = _has_bits_[2];
3199 if (cached_has_bits & 0x00008000u) {
3200 target = stream->EnsureSpace(target);
3201 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_treat_binary_clauses_separately(), target);
3205 if (cached_has_bits & 0x00000200u) {
3206 target = stream->EnsureSpace(target);
3207 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3208 34, this->_internal_binary_minimization_algorithm(), target);
3212 if (cached_has_bits & 0x04000000u) {
3213 target = stream->EnsureSpace(target);
3214 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_optimization_hints(), target);
3218 if (cached_has_bits & 0x00000400u) {
3219 target = stream->EnsureSpace(target);
3220 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_max_time_in_seconds(), target);
3224 if (cached_has_bits & 0x00000800u) {
3225 target = stream->EnsureSpace(target);
3226 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(37, this->_internal_max_number_of_conflicts(), target);
3230 if (cached_has_bits & 0x00001000u) {
3231 target = stream->EnsureSpace(target);
3232 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(40, this->_internal_max_memory_in_mb(), target);
3235 cached_has_bits = _has_bits_[0];
3237 if (cached_has_bits & 0x00080000u) {
3238 target = stream->EnsureSpace(target);
3239 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_log_search_progress(), target);
3243 if (cached_has_bits & 0x00100000u) {
3244 target = stream->EnsureSpace(target);
3245 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(43, this->_internal_use_pb_resolution(), target);
3248 cached_has_bits = _has_bits_[2];
3250 if (cached_has_bits & 0x00002000u) {
3251 target = stream->EnsureSpace(target);
3252 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(44, this->_internal_use_phase_saving(), target);
3255 cached_has_bits = _has_bits_[0];
3257 if (cached_has_bits & 0x00000020u) {
3258 target = stream->EnsureSpace(target);
3259 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_random_polarity_ratio(), target);
3262 cached_has_bits = _has_bits_[2];
3264 if (cached_has_bits & 0x00020000u) {
3265 target = stream->EnsureSpace(target);
3266 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_pb_cleanup_increment(), target);
3270 if (cached_has_bits & 0x00040000u) {
3271 target = stream->EnsureSpace(target);
3272 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(47, this->_internal_pb_cleanup_ratio(), target);
3275 cached_has_bits = _has_bits_[1];
3277 if (cached_has_bits & 0x00000200u) {
3278 target = stream->EnsureSpace(target);
3279 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_minimize_reduction_during_pb_resolution(), target);
3282 cached_has_bits = _has_bits_[2];
3284 if (cached_has_bits & 0x00010000u) {
3285 target = stream->EnsureSpace(target);
3286 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(49, this->_internal_count_assumption_levels_in_lbd(), target);
3290 if (cached_has_bits & 0x08000000u) {
3291 target = stream->EnsureSpace(target);
3292 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(50, this->_internal_minimize_core(), target);
3295 cached_has_bits = _has_bits_[0];
3297 if (cached_has_bits & 0x00000008u) {
3298 target = stream->EnsureSpace(target);
3299 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3300 51, this->_internal_max_sat_assumption_order(), target);
3304 if (cached_has_bits & 0x80000000u) {
3305 target = stream->EnsureSpace(target);
3306 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(52, this->_internal_max_sat_reverse_assumption_order(), target);
3309 cached_has_bits = _has_bits_[2];
3311 if (cached_has_bits & 0x00080000u) {
3312 target = stream->EnsureSpace(target);
3313 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3314 53, this->_internal_max_sat_stratification(), target);
3318 if (cached_has_bits & 0x00100000u) {
3319 target = stream->EnsureSpace(target);
3320 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(54, this->_internal_presolve_bve_threshold(), target);
3324 if (cached_has_bits & 0x00400000u) {
3325 target = stream->EnsureSpace(target);
3326 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_presolve_bve_clause_weight(), target);
3330 if (cached_has_bits & 0x00004000u) {
3331 target = stream->EnsureSpace(target);
3332 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(56, this->_internal_subsumption_during_conflict_analysis(), target);
3336 if (cached_has_bits & 0x00200000u) {
3337 target = stream->EnsureSpace(target);
3338 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(57, this->_internal_presolve_probing_deterministic_time_limit(), target);
3341 cached_has_bits = _has_bits_[0];
3343 if (cached_has_bits & 0x00000040u) {
3344 target = stream->EnsureSpace(target);
3345 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3346 58, this->_internal_clause_cleanup_protection(), target);
3349 cached_has_bits = _has_bits_[2];
3351 if (cached_has_bits & 0x00800000u) {
3352 target = stream->EnsureSpace(target);
3353 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(59, this->_internal_clause_cleanup_lbd_bound(), target);
3356 cached_has_bits = _has_bits_[0];
3358 if (cached_has_bits & 0x00000080u) {
3359 target = stream->EnsureSpace(target);
3360 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3361 60, this->_internal_clause_cleanup_ordering(), target);
3365 for (
int i = 0, n = this->_internal_restart_algorithms_size(); i < n; i++) {
3366 target = stream->EnsureSpace(target);
3367 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3368 61, this->_internal_restart_algorithms(i), target);
3371 cached_has_bits = _has_bits_[2];
3373 if (cached_has_bits & 0x02000000u) {
3374 target = stream->EnsureSpace(target);
3375 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(62, this->_internal_restart_running_window_size(), target);
3379 if (cached_has_bits & 0x01000000u) {
3380 target = stream->EnsureSpace(target);
3381 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(63, this->_internal_restart_dl_average_ratio(), target);
3384 cached_has_bits = _has_bits_[0];
3386 if (cached_has_bits & 0x00008000u) {
3387 target = stream->EnsureSpace(target);
3388 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(64, this->_internal_use_blocking_restart(), target);
3391 cached_has_bits = _has_bits_[3];
3393 if (cached_has_bits & 0x00000001u) {
3394 target = stream->EnsureSpace(target);
3395 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(65, this->_internal_blocking_restart_window_size(), target);
3398 cached_has_bits = _has_bits_[2];
3400 if (cached_has_bits & 0x40000000u) {
3401 target = stream->EnsureSpace(target);
3402 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(66, this->_internal_blocking_restart_multiplier(), target);
3406 if (cached_has_bits & 0x80000000u) {
3407 target = stream->EnsureSpace(target);
3408 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(67, this->_internal_max_deterministic_time(), target);
3411 cached_has_bits = _has_bits_[0];
3413 if (cached_has_bits & 0x00000200u) {
3414 target = stream->EnsureSpace(target);
3415 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(68, this->_internal_num_conflicts_before_strategy_changes(), target);
3419 if (cached_has_bits & 0x00000100u) {
3420 target = stream->EnsureSpace(target);
3421 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(69, this->_internal_strategy_change_increase_ratio(), target);
3425 if (cached_has_bits & 0x00000001u) {
3426 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3427 this->_internal_default_restart_algorithms().data(),
static_cast<int>(this->_internal_default_restart_algorithms().length()),
3428 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3429 "operations_research.sat.SatParameters.default_restart_algorithms");
3430 target = stream->WriteStringMaybeAliased(
3431 70, this->_internal_default_restart_algorithms(), target);
3434 cached_has_bits = _has_bits_[3];
3436 if (cached_has_bits & 0x00000004u) {
3437 target = stream->EnsureSpace(target);
3438 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(71, this->_internal_restart_lbd_average_ratio(), target);
3442 if (cached_has_bits & 0x00000010u) {
3443 target = stream->EnsureSpace(target);
3444 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(72, this->_internal_presolve_use_bva(), target);
3448 if (cached_has_bits & 0x00000002u) {
3449 target = stream->EnsureSpace(target);
3450 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(73, this->_internal_presolve_bva_threshold(), target);
3454 if (cached_has_bits & 0x00000800u) {
3455 target = stream->EnsureSpace(target);
3456 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(74, this->_internal_use_precedences_in_disjunctive_constraint(), target);
3459 cached_has_bits = _has_bits_[0];
3461 if (cached_has_bits & 0x00002000u) {
3462 target = stream->EnsureSpace(target);
3463 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(75, this->_internal_use_erwa_heuristic(), target);
3467 if (cached_has_bits & 0x00000800u) {
3468 target = stream->EnsureSpace(target);
3469 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_initial_variables_activity(), target);
3473 if (cached_has_bits & 0x00004000u) {
3474 target = stream->EnsureSpace(target);
3475 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_also_bump_variables_in_conflict_reasons(), target);
3478 cached_has_bits = _has_bits_[1];
3480 if (cached_has_bits & 0x00000001u) {
3481 target = stream->EnsureSpace(target);
3482 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(78, this->_internal_use_overload_checker_in_cumulative_constraint(), target);
3485 cached_has_bits = _has_bits_[0];
3487 if (cached_has_bits & 0x00200000u) {
3488 target = stream->EnsureSpace(target);
3489 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(79, this->_internal_use_timetable_edge_finding_in_cumulative_constraint(), target);
3492 cached_has_bits = _has_bits_[3];
3494 if (cached_has_bits & 0x00001000u) {
3495 target = stream->EnsureSpace(target);
3496 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(80, this->_internal_use_disjunctive_constraint_in_cumulative_constraint(), target);
3499 cached_has_bits = _has_bits_[0];
3501 if (cached_has_bits & 0x00000400u) {
3502 target = stream->EnsureSpace(target);
3503 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3504 82, this->_internal_search_branching(), target);
3507 cached_has_bits = _has_bits_[1];
3509 if (cached_has_bits & 0x00010000u) {
3510 target = stream->EnsureSpace(target);
3511 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_optimize_with_core(), target);
3514 cached_has_bits = _has_bits_[2];
3516 if (cached_has_bits & 0x10000000u) {
3517 target = stream->EnsureSpace(target);
3518 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(84, this->_internal_find_multiple_cores(), target);
3521 cached_has_bits = _has_bits_[0];
3523 if (cached_has_bits & 0x02000000u) {
3524 target = stream->EnsureSpace(target);
3525 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_optimize_with_max_hs(), target);
3528 cached_has_bits = _has_bits_[3];
3530 if (cached_has_bits & 0x00000020u) {
3531 target = stream->EnsureSpace(target);
3532 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_cp_model_presolve(), target);
3535 cached_has_bits = _has_bits_[0];
3537 if (cached_has_bits & 0x04000000u) {
3538 target = stream->EnsureSpace(target);
3539 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_enumerate_all_solutions(), target);
3542 cached_has_bits = _has_bits_[3];
3544 if (cached_has_bits & 0x00000008u) {
3545 target = stream->EnsureSpace(target);
3546 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(88, this->_internal_presolve_blocked_clause(), target);
3549 cached_has_bits = _has_bits_[2];
3551 if (cached_has_bits & 0x20000000u) {
3552 target = stream->EnsureSpace(target);
3553 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(89, this->_internal_cover_optimization(), target);
3556 cached_has_bits = _has_bits_[3];
3558 if (cached_has_bits & 0x00000080u) {
3559 target = stream->EnsureSpace(target);
3560 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(90, this->_internal_linearization_level(), target);
3564 if (cached_has_bits & 0x00000100u) {
3565 target = stream->EnsureSpace(target);
3566 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(91, this->_internal_max_num_cuts(), target);
3569 cached_has_bits = _has_bits_[0];
3571 if (cached_has_bits & 0x00400000u) {
3572 target = stream->EnsureSpace(target);
3573 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(92, this->_internal_only_add_cuts_at_level_zero(), target);
3576 cached_has_bits = _has_bits_[3];
3578 if (cached_has_bits & 0x00000040u) {
3579 target = stream->EnsureSpace(target);
3580 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(93, this->_internal_cp_model_use_sat_presolve(), target);
3584 if (cached_has_bits & 0x00080000u) {
3585 target = stream->EnsureSpace(target);
3586 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(94, this->_internal_exploit_integer_lp_solution(), target);
3590 if (cached_has_bits & 0x00800000u) {
3591 target = stream->EnsureSpace(target);
3592 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(95, this->_internal_auto_detect_greater_than_at_least_one_of(), target);
3596 if (cached_has_bits & 0x00000200u) {
3597 target = stream->EnsureSpace(target);
3598 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(96, this->_internal_minimize_with_propagation_restart_period(), target);
3602 if (cached_has_bits & 0x00000400u) {
3603 target = stream->EnsureSpace(target);
3604 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(97, this->_internal_minimize_with_propagation_num_decisions(), target);
3607 cached_has_bits = _has_bits_[1];
3609 if (cached_has_bits & 0x00000020u) {
3610 target = stream->EnsureSpace(target);
3611 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(98, this->_internal_stop_after_first_solution(), target);
3614 cached_has_bits = _has_bits_[3];
3616 if (cached_has_bits & 0x00008000u) {
3617 target = stream->EnsureSpace(target);
3618 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(99, this->_internal_binary_search_num_conflicts(), target);
3622 if (cached_has_bits & 0x00010000u) {
3623 target = stream->EnsureSpace(target);
3624 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(100, this->_internal_num_search_workers(), target);
3627 cached_has_bits = _has_bits_[1];
3629 if (cached_has_bits & 0x00000002u) {
3630 target = stream->EnsureSpace(target);
3631 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_use_lns_only(), target);
3635 if (cached_has_bits & 0x00020000u) {
3636 target = stream->EnsureSpace(target);
3637 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(103, this->_internal_randomize_search(), target);
3640 cached_has_bits = _has_bits_[0];
3642 if (cached_has_bits & 0x00001000u) {
3643 target = stream->EnsureSpace(target);
3644 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(104, this->_internal_search_randomization_tolerance(), target);
3647 cached_has_bits = _has_bits_[1];
3649 if (cached_has_bits & 0x00000004u) {
3650 target = stream->EnsureSpace(target);
3651 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(105, this->_internal_lns_focus_on_decision_variables(), target);
3654 cached_has_bits = _has_bits_[3];
3656 if (cached_has_bits & 0x00400000u) {
3657 target = stream->EnsureSpace(target);
3658 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(106, this->_internal_instantiate_all_variables(), target);
3662 if (cached_has_bits & 0x00020000u) {
3663 target = stream->EnsureSpace(target);
3664 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(107, this->_internal_boolean_encoding_level(), target);
3667 cached_has_bits = _has_bits_[4];
3669 if (cached_has_bits & 0x00000040u) {
3670 target = stream->EnsureSpace(target);
3671 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(108, this->_internal_use_optional_variables(), target);
3675 if (cached_has_bits & 0x00000080u) {
3676 target = stream->EnsureSpace(target);
3677 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(109, this->_internal_use_exact_lp_reason(), target);
3680 cached_has_bits = _has_bits_[3];
3682 if (cached_has_bits & 0x00040000u) {
3683 target = stream->EnsureSpace(target);
3684 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(110, this->_internal_cp_model_probing_level(), target);
3687 cached_has_bits = _has_bits_[0];
3689 if (cached_has_bits & 0x00800000u) {
3690 target = stream->EnsureSpace(target);
3691 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(111, this->_internal_add_knapsack_cuts(), target);
3694 cached_has_bits = _has_bits_[4];
3696 if (cached_has_bits & 0x00040000u) {
3697 target = stream->EnsureSpace(target);
3698 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_add_lp_constraints_lazily(), target);
3701 cached_has_bits = _has_bits_[3];
3703 if (cached_has_bits & 0x01000000u) {
3704 target = stream->EnsureSpace(target);
3705 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_share_objective_bounds(), target);
3709 if (cached_has_bits & 0x02000000u) {
3710 target = stream->EnsureSpace(target);
3711 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(114, this->_internal_share_level_zero_bounds(), target);
3715 if (cached_has_bits & 0x08000000u) {
3716 target = stream->EnsureSpace(target);
3717 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(115, this->_internal_min_orthogonality_for_lp_constraints(), target);
3721 if (cached_has_bits & 0x00100000u) {
3722 target = stream->EnsureSpace(target);
3723 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(116, this->_internal_exploit_all_lp_solution(), target);
3727 if (cached_has_bits & 0x00002000u) {
3728 target = stream->EnsureSpace(target);
3729 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_add_cg_cuts(), target);
3733 if (cached_has_bits & 0x10000000u) {
3734 target = stream->EnsureSpace(target);
3735 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(119, this->_internal_max_integer_rounding_scaling(), target);
3739 if (cached_has_bits & 0x00004000u) {
3740 target = stream->EnsureSpace(target);
3741 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_add_mir_cuts(), target);
3745 if (cached_has_bits & 0x20000000u) {
3746 target = stream->EnsureSpace(target);
3747 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(121, this->_internal_max_consecutive_inactive_count(), target);
3750 cached_has_bits = _has_bits_[4];
3752 if (cached_has_bits & 0x00000001u) {
3753 target = stream->EnsureSpace(target);
3754 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_new_constraints_batch_size(), target);
3757 cached_has_bits = _has_bits_[3];
3759 if (cached_has_bits & 0x40000000u) {
3760 target = stream->EnsureSpace(target);
3761 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(123, this->_internal_pseudo_cost_reliability_threshold(), target);
3765 if (cached_has_bits & 0x80000000u) {
3766 target = stream->EnsureSpace(target);
3767 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(124, this->_internal_mip_max_bound(), target);
3770 cached_has_bits = _has_bits_[4];
3772 if (cached_has_bits & 0x00000004u) {
3773 target = stream->EnsureSpace(target);
3774 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(125, this->_internal_mip_var_scaling(), target);
3778 if (cached_has_bits & 0x00000008u) {
3779 target = stream->EnsureSpace(target);
3780 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(126, this->_internal_mip_wanted_precision(), target);
3784 if (cached_has_bits & 0x00000002u) {
3785 target = stream->EnsureSpace(target);
3786 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mip_max_activity_exponent(), target);
3790 if (cached_has_bits & 0x00000010u) {
3791 target = stream->EnsureSpace(target);
3792 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(128, this->_internal_mip_check_precision(), target);
3795 cached_has_bits = _has_bits_[3];
3797 if (cached_has_bits & 0x04000000u) {
3798 target = stream->EnsureSpace(target);
3799 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(129, this->_internal_use_rins_lns(), target);
3802 cached_has_bits = _has_bits_[1];
3804 if (cached_has_bits & 0x00002000u) {
3805 target = stream->EnsureSpace(target);
3806 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(130, this->_internal_exploit_best_solution(), target);
3809 cached_has_bits = _has_bits_[3];
3811 if (cached_has_bits & 0x00200000u) {
3812 target = stream->EnsureSpace(target);
3813 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(131, this->_internal_exploit_objective(), target);
3816 cached_has_bits = _has_bits_[0];
3818 if (cached_has_bits & 0x10000000u) {
3819 target = stream->EnsureSpace(target);
3820 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(132, this->_internal_fill_tightened_domains_in_response(), target);
3823 cached_has_bits = _has_bits_[1];
3825 if (cached_has_bits & 0x00080000u) {
3826 target = stream->EnsureSpace(target);
3827 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_use_combined_no_overlap(), target);
3830 cached_has_bits = _has_bits_[4];
3832 if (cached_has_bits & 0x00000200u) {
3833 target = stream->EnsureSpace(target);
3834 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(134, this->_internal_interleave_batch_size(), target);
3838 if (cached_has_bits & 0x00000100u) {
3839 target = stream->EnsureSpace(target);
3840 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_catch_sigint_signal(), target);
3843 cached_has_bits = _has_bits_[1];
3845 if (cached_has_bits & 0x00000080u) {
3846 target = stream->EnsureSpace(target);
3847 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(136, this->_internal_interleave_search(), target);
3851 if (cached_has_bits & 0x00000010u) {
3852 target = stream->EnsureSpace(target);
3853 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(137, this->_internal_diversify_lns_params(), target);
3856 cached_has_bits = _has_bits_[4];
3858 if (cached_has_bits & 0x00000400u) {
3859 target = stream->EnsureSpace(target);
3860 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(138, this->_internal_max_presolve_iterations(), target);
3863 cached_has_bits = _has_bits_[1];
3865 if (cached_has_bits & 0x00040000u) {
3866 target = stream->EnsureSpace(target);
3867 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(139, this->_internal_use_branching_in_lp(), target);
3870 cached_has_bits = _has_bits_[4];
3872 if (cached_has_bits & 0x01000000u) {
3873 target = stream->EnsureSpace(target);
3874 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(140, this->_internal_expand_element_constraints(), target);
3877 cached_has_bits = _has_bits_[1];
3879 if (cached_has_bits & 0x00000100u) {
3880 target = stream->EnsureSpace(target);
3881 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(141, this->_internal_reduce_memory_usage_in_interleave_mode(), target);
3885 if (cached_has_bits & 0x00200000u) {
3886 target = stream->EnsureSpace(target);
3887 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(142, this->_internal_probing_period_at_root(), target);
3890 cached_has_bits = _has_bits_[4];
3892 if (cached_has_bits & 0x02000000u) {
3893 target = stream->EnsureSpace(target);
3894 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(143, this->_internal_expand_automaton_constraints(), target);
3898 if (cached_has_bits & 0x00400000u) {
3899 target = stream->EnsureSpace(target);
3900 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(144, this->_internal_use_implied_bounds(), target);
3904 if (cached_has_bits & 0x00001000u) {
3905 target = stream->EnsureSpace(target);
3906 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(145, this->_internal_merge_no_overlap_work_limit(), target);
3910 if (cached_has_bits & 0x00002000u) {
3911 target = stream->EnsureSpace(target);
3912 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(146, this->_internal_merge_at_most_one_work_limit(), target);
3916 if (cached_has_bits & 0x00000800u) {
3917 target = stream->EnsureSpace(target);
3918 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(147, this->_internal_presolve_substitution_level(), target);
3922 if (cached_has_bits & 0x00004000u) {
3923 target = stream->EnsureSpace(target);
3924 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(148, this->_internal_max_all_diff_cut_size(), target);
3927 cached_has_bits = _has_bits_[1];
3929 if (cached_has_bits & 0x00000040u) {
3930 target = stream->EnsureSpace(target);
3931 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(149, this->_internal_stop_after_presolve(), target);
3935 if (cached_has_bits & 0x00000008u) {
3936 target = stream->EnsureSpace(target);
3937 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(150, this->_internal_use_relaxation_lns(), target);
3941 if (cached_has_bits & 0x01000000u) {
3942 target = stream->EnsureSpace(target);
3943 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(151, this->_internal_cp_model_max_num_presolve_operations(), target);
3946 cached_has_bits = _has_bits_[4];
3948 if (cached_has_bits & 0x00020000u) {
3949 target = stream->EnsureSpace(target);
3950 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(152, this->_internal_add_lin_max_cuts(), target);
3954 if (cached_has_bits & 0x00080000u) {
3955 target = stream->EnsureSpace(target);
3956 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(153, this->_internal_hint_conflict_limit(), target);
3960 if (cached_has_bits & 0x00100000u) {
3961 target = stream->EnsureSpace(target);
3962 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(154, this->_internal_max_cut_rounds_at_level_zero(), target);
3966 if (cached_has_bits & 0x00200000u) {
3967 target = stream->EnsureSpace(target);
3968 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(155, this->_internal_cut_max_active_count_value(), target);
3972 if (cached_has_bits & 0x10000000u) {
3973 target = stream->EnsureSpace(target);
3974 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(156, this->_internal_cut_active_count_decay(), target);
3978 if (cached_has_bits & 0x20000000u) {
3979 target = stream->EnsureSpace(target);
3980 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(157, this->_internal_cut_cleanup_target(), target);
3984 if (cached_has_bits & 0x04000000u) {
3985 target = stream->EnsureSpace(target);
3986 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(158, this->_internal_expand_table_constraints(), target);
3989 cached_has_bits = _has_bits_[1];
3991 if (cached_has_bits & 0x00400000u) {
3992 target = stream->EnsureSpace(target);
3993 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(159, this->_internal_absolute_gap_limit(), target);
3997 if (cached_has_bits & 0x00800000u) {
3998 target = stream->EnsureSpace(target);
3999 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(160, this->_internal_relative_gap_limit(), target);
4003 if (cached_has_bits & 0x00004000u) {
4004 target = stream->EnsureSpace(target);
4005 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(161, this->_internal_exploit_relaxation_solution(), target);
4009 if (cached_has_bits & 0x00000400u) {
4010 target = stream->EnsureSpace(target);
4011 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(162, this->_internal_cp_model_postsolve_with_full_solver(), target);
4015 if (cached_has_bits & 0x00000800u) {
4016 target = stream->EnsureSpace(target);
4017 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(163, this->_internal_use_sat_inprocessing(), target);
4020 cached_has_bits = _has_bits_[4];
4022 if (cached_has_bits & 0x00000020u) {
4023 target = stream->EnsureSpace(target);
4024 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(164, this->_internal_use_feasibility_pump(), target);
4028 if (cached_has_bits & 0x40000000u) {
4029 target = stream->EnsureSpace(target);
4030 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4031 165, this->_internal_fp_rounding(), target);
4035 if (cached_has_bits & 0x00800000u) {
4036 target = stream->EnsureSpace(target);
4037 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(166, this->_internal_mip_automatically_scale_variables(), target);
4040 cached_has_bits = _has_bits_[0];
4042 if (cached_has_bits & 0x01000000u) {
4043 target = stream->EnsureSpace(target);
4044 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(167, this->_internal_repair_hint(), target);
4047 cached_has_bits = _has_bits_[1];
4049 if (cached_has_bits & 0x08000000u) {
4050 target = stream->EnsureSpace(target);
4051 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(168, this->_internal_polarity_rephase_increment(), target);
4054 cached_has_bits = _has_bits_[4];
4056 if (cached_has_bits & 0x00008000u) {
4057 target = stream->EnsureSpace(target);
4058 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(169, this->_internal_add_zero_half_cuts(), target);
4061 cached_has_bits = _has_bits_[1];
4063 if (cached_has_bits & 0x00001000u) {
4064 target = stream->EnsureSpace(target);
4065 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(170, this->_internal_expand_alldiff_constraints(), target);
4068 cached_has_bits = _has_bits_[0];
4070 if (cached_has_bits & 0x00000002u) {
4071 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4072 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
4073 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4074 "operations_research.sat.SatParameters.name");
4075 target = stream->WriteStringMaybeAliased(
4076 171, this->_internal_name(), target);
4079 cached_has_bits = _has_bits_[4];
4081 if (cached_has_bits & 0x00010000u) {
4082 target = stream->EnsureSpace(target);
4083 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(172, this->_internal_add_clique_cuts(), target);
4086 cached_has_bits = _has_bits_[0];
4088 if (cached_has_bits & 0x08000000u) {
4089 target = stream->EnsureSpace(target);
4090 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(173, this->_internal_keep_all_feasible_solutions_in_presolve(), target);
4094 if (cached_has_bits & 0x40000000u) {
4095 target = stream->EnsureSpace(target);
4096 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(174, this->_internal_presolve_extract_integer_enforcement(), target);
4099 cached_has_bits = _has_bits_[1];
4101 if (cached_has_bits & 0x00100000u) {
4102 target = stream->EnsureSpace(target);
4103 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(175, this->_internal_polish_lp_solution(), target);
4107 if (cached_has_bits & 0x00008000u) {
4108 target = stream->EnsureSpace(target);
4109 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(176, this->_internal_use_probing_search(), target);
4113 if (cached_has_bits & 0x02000000u) {
4114 target = stream->EnsureSpace(target);
4115 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(177, this->_internal_convert_intervals(), target);
4118 cached_has_bits = _has_bits_[0];
4120 if (cached_has_bits & 0x00010000u) {
4121 target = stream->EnsureSpace(target);
4122 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(178, this->_internal_permute_variable_randomly(), target);
4126 if (cached_has_bits & 0x00020000u) {
4127 target = stream->EnsureSpace(target);
4128 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(179, this->_internal_permute_presolve_constraint_order(), target);
4132 if (cached_has_bits & 0x00040000u) {
4133 target = stream->EnsureSpace(target);
4134 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(180, this->_internal_use_absl_random(), target);
4138 if (cached_has_bits & 0x20000000u) {
4139 target = stream->EnsureSpace(target);
4140 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(181, this->_internal_disable_constraint_expansion(), target);
4143 cached_has_bits = _has_bits_[4];
4145 if (cached_has_bits & 0x08000000u) {
4146 target = stream->EnsureSpace(target);
4147 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(182, this->_internal_expand_reservoir_constraints(), target);
4150 cached_has_bits = _has_bits_[1];
4152 if (cached_has_bits & 0x04000000u) {
4153 target = stream->EnsureSpace(target);
4154 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(183, this->_internal_detect_symmetries(), target);
4157 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4158 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4159 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4165 size_t SatParameters::ByteSizeLong()
const {
4167 size_t total_size = 0;
4171 (void) cached_has_bits;
4175 size_t data_size = 0;
4176 unsigned int count =
static_cast<unsigned int>(this->_internal_restart_algorithms_size());
for (
unsigned int i = 0; i < count; i++) {
4177 data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
4178 this->_internal_restart_algorithms(
static_cast<int>(i)));
4180 total_size += (2UL * count) + data_size;
4183 cached_has_bits = _has_bits_[0];
4184 if (cached_has_bits & 0x000000ffu) {
4186 if (cached_has_bits & 0x00000001u) {
4188 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4189 this->_internal_default_restart_algorithms());
4193 if (cached_has_bits & 0x00000002u) {
4195 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4196 this->_internal_name());
4200 if (cached_has_bits & 0x00000004u) {
4202 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_preferred_variable_order());
4206 if (cached_has_bits & 0x00000008u) {
4208 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_assumption_order());
4212 if (cached_has_bits & 0x00000010u) {
4213 total_size += 2 + 8;
4217 if (cached_has_bits & 0x00000020u) {
4218 total_size += 2 + 8;
4222 if (cached_has_bits & 0x00000040u) {
4224 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_protection());
4228 if (cached_has_bits & 0x00000080u) {
4230 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_ordering());
4234 if (cached_has_bits & 0x0000ff00u) {
4236 if (cached_has_bits & 0x00000100u) {
4237 total_size += 2 + 8;
4241 if (cached_has_bits & 0x00000200u) {
4243 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4244 this->_internal_num_conflicts_before_strategy_changes());
4248 if (cached_has_bits & 0x00000400u) {
4250 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_search_branching());
4254 if (cached_has_bits & 0x00000800u) {
4255 total_size += 2 + 8;
4259 if (cached_has_bits & 0x00001000u) {
4261 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4262 this->_internal_search_randomization_tolerance());
4266 if (cached_has_bits & 0x00002000u) {
4267 total_size += 2 + 1;
4271 if (cached_has_bits & 0x00004000u) {
4272 total_size += 2 + 1;
4276 if (cached_has_bits & 0x00008000u) {
4277 total_size += 2 + 1;
4281 if (cached_has_bits & 0x00ff0000u) {
4283 if (cached_has_bits & 0x00010000u) {
4284 total_size += 2 + 1;
4288 if (cached_has_bits & 0x00020000u) {
4289 total_size += 2 + 1;
4293 if (cached_has_bits & 0x00040000u) {
4294 total_size += 2 + 1;
4298 if (cached_has_bits & 0x00080000u) {
4299 total_size += 2 + 1;
4303 if (cached_has_bits & 0x00100000u) {
4304 total_size += 2 + 1;
4308 if (cached_has_bits & 0x00200000u) {
4309 total_size += 2 + 1;
4313 if (cached_has_bits & 0x00400000u) {
4314 total_size += 2 + 1;
4318 if (cached_has_bits & 0x00800000u) {
4319 total_size += 2 + 1;
4323 if (cached_has_bits & 0xff000000u) {
4325 if (cached_has_bits & 0x01000000u) {
4326 total_size += 2 + 1;
4330 if (cached_has_bits & 0x02000000u) {
4331 total_size += 2 + 1;
4335 if (cached_has_bits & 0x04000000u) {
4336 total_size += 2 + 1;
4340 if (cached_has_bits & 0x08000000u) {
4341 total_size += 2 + 1;
4345 if (cached_has_bits & 0x10000000u) {
4346 total_size += 2 + 1;
4350 if (cached_has_bits & 0x20000000u) {
4351 total_size += 2 + 1;
4355 if (cached_has_bits & 0x40000000u) {
4356 total_size += 2 + 1;
4360 if (cached_has_bits & 0x80000000u) {
4361 total_size += 2 + 1;
4365 cached_has_bits = _has_bits_[1];
4366 if (cached_has_bits & 0x000000ffu) {
4368 if (cached_has_bits & 0x00000001u) {
4369 total_size += 2 + 1;
4373 if (cached_has_bits & 0x00000002u) {
4374 total_size += 2 + 1;
4378 if (cached_has_bits & 0x00000004u) {
4379 total_size += 2 + 1;
4383 if (cached_has_bits & 0x00000008u) {
4384 total_size += 2 + 1;
4388 if (cached_has_bits & 0x00000010u) {
4389 total_size += 2 + 1;
4393 if (cached_has_bits & 0x00000020u) {
4394 total_size += 2 + 1;
4398 if (cached_has_bits & 0x00000040u) {
4399 total_size += 2 + 1;
4403 if (cached_has_bits & 0x00000080u) {
4404 total_size += 2 + 1;
4408 if (cached_has_bits & 0x0000ff00u) {
4410 if (cached_has_bits & 0x00000100u) {
4411 total_size += 2 + 1;
4415 if (cached_has_bits & 0x00000200u) {
4416 total_size += 2 + 1;
4420 if (cached_has_bits & 0x00000400u) {
4421 total_size += 2 + 1;
4425 if (cached_has_bits & 0x00000800u) {
4426 total_size += 2 + 1;
4430 if (cached_has_bits & 0x00001000u) {
4431 total_size += 2 + 1;
4435 if (cached_has_bits & 0x00002000u) {
4436 total_size += 2 + 1;
4440 if (cached_has_bits & 0x00004000u) {
4441 total_size += 2 + 1;
4445 if (cached_has_bits & 0x00008000u) {
4446 total_size += 2 + 1;
4450 if (cached_has_bits & 0x00ff0000u) {
4452 if (cached_has_bits & 0x00010000u) {
4453 total_size += 2 + 1;
4457 if (cached_has_bits & 0x00020000u) {
4458 total_size += 2 + 1;
4462 if (cached_has_bits & 0x00040000u) {
4463 total_size += 2 + 1;
4467 if (cached_has_bits & 0x00080000u) {
4468 total_size += 2 + 1;
4472 if (cached_has_bits & 0x00100000u) {
4473 total_size += 2 + 1;
4477 if (cached_has_bits & 0x00200000u) {
4479 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4480 this->_internal_probing_period_at_root());
4484 if (cached_has_bits & 0x00400000u) {
4485 total_size += 2 + 8;
4489 if (cached_has_bits & 0x00800000u) {
4490 total_size += 2 + 8;
4494 if (cached_has_bits & 0xff000000u) {
4496 if (cached_has_bits & 0x01000000u) {
4498 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4499 this->_internal_cp_model_max_num_presolve_operations());
4503 if (cached_has_bits & 0x02000000u) {
4504 total_size += 2 + 1;
4508 if (cached_has_bits & 0x04000000u) {
4509 total_size += 2 + 1;
4513 if (cached_has_bits & 0x08000000u) {
4515 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4516 this->_internal_polarity_rephase_increment());
4520 if (cached_has_bits & 0x10000000u) {
4522 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_polarity());
4526 if (cached_has_bits & 0x20000000u) {
4528 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_minimization_algorithm());
4532 if (cached_has_bits & 0x40000000u) {
4534 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4535 this->_internal_clause_cleanup_period());
4539 if (cached_has_bits & 0x80000000u) {
4541 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4542 this->_internal_clause_cleanup_target());
4546 cached_has_bits = _has_bits_[2];
4547 if (cached_has_bits & 0x000000ffu) {
4549 if (cached_has_bits & 0x00000001u) {
4550 total_size += 1 + 8;
4554 if (cached_has_bits & 0x00000002u) {
4555 total_size += 2 + 8;
4559 if (cached_has_bits & 0x00000004u) {
4560 total_size += 2 + 8;
4564 if (cached_has_bits & 0x00000008u) {
4565 total_size += 2 + 8;
4569 if (cached_has_bits & 0x00000010u) {
4570 total_size += 2 + 8;
4574 if (cached_has_bits & 0x00000020u) {
4575 total_size += 2 + 8;
4579 if (cached_has_bits & 0x00000040u) {
4581 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4582 this->_internal_glucose_decay_increment_period());
4586 if (cached_has_bits & 0x00000080u) {
4588 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4589 this->_internal_restart_period());
4593 if (cached_has_bits & 0x0000ff00u) {
4595 if (cached_has_bits & 0x00000100u) {
4597 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4598 this->_internal_random_seed());
4602 if (cached_has_bits & 0x00000200u) {
4604 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_binary_minimization_algorithm());
4608 if (cached_has_bits & 0x00000400u) {
4609 total_size += 2 + 8;
4613 if (cached_has_bits & 0x00000800u) {
4615 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4616 this->_internal_max_number_of_conflicts());
4620 if (cached_has_bits & 0x00001000u) {
4622 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4623 this->_internal_max_memory_in_mb());
4627 if (cached_has_bits & 0x00002000u) {
4628 total_size += 2 + 1;
4632 if (cached_has_bits & 0x00004000u) {
4633 total_size += 2 + 1;
4637 if (cached_has_bits & 0x00008000u) {
4638 total_size += 2 + 1;
4642 if (cached_has_bits & 0x00ff0000u) {
4644 if (cached_has_bits & 0x00010000u) {
4645 total_size += 2 + 1;
4649 if (cached_has_bits & 0x00020000u) {
4651 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4652 this->_internal_pb_cleanup_increment());
4656 if (cached_has_bits & 0x00040000u) {
4657 total_size += 2 + 8;
4661 if (cached_has_bits & 0x00080000u) {
4663 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_stratification());
4667 if (cached_has_bits & 0x00100000u) {
4669 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4670 this->_internal_presolve_bve_threshold());
4674 if (cached_has_bits & 0x00200000u) {
4675 total_size += 2 + 8;
4679 if (cached_has_bits & 0x00400000u) {
4681 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4682 this->_internal_presolve_bve_clause_weight());
4686 if (cached_has_bits & 0x00800000u) {
4688 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4689 this->_internal_clause_cleanup_lbd_bound());
4693 if (cached_has_bits & 0xff000000u) {
4695 if (cached_has_bits & 0x01000000u) {
4696 total_size += 2 + 8;
4700 if (cached_has_bits & 0x02000000u) {
4702 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4703 this->_internal_restart_running_window_size());
4707 if (cached_has_bits & 0x04000000u) {
4708 total_size += 2 + 1;
4712 if (cached_has_bits & 0x08000000u) {
4713 total_size += 2 + 1;
4717 if (cached_has_bits & 0x10000000u) {
4718 total_size += 2 + 1;
4722 if (cached_has_bits & 0x20000000u) {
4723 total_size += 2 + 1;
4727 if (cached_has_bits & 0x40000000u) {
4728 total_size += 2 + 8;
4732 if (cached_has_bits & 0x80000000u) {
4733 total_size += 2 + 8;
4737 cached_has_bits = _has_bits_[3];
4738 if (cached_has_bits & 0x000000ffu) {
4740 if (cached_has_bits & 0x00000001u) {
4742 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4743 this->_internal_blocking_restart_window_size());
4747 if (cached_has_bits & 0x00000002u) {
4749 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4750 this->_internal_presolve_bva_threshold());
4754 if (cached_has_bits & 0x00000004u) {
4755 total_size += 2 + 8;
4759 if (cached_has_bits & 0x00000008u) {
4760 total_size += 2 + 1;
4764 if (cached_has_bits & 0x00000010u) {
4765 total_size += 2 + 1;
4769 if (cached_has_bits & 0x00000020u) {
4770 total_size += 2 + 1;
4774 if (cached_has_bits & 0x00000040u) {
4775 total_size += 2 + 1;
4779 if (cached_has_bits & 0x00000080u) {
4781 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4782 this->_internal_linearization_level());
4786 if (cached_has_bits & 0x0000ff00u) {
4788 if (cached_has_bits & 0x00000100u) {
4790 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4791 this->_internal_max_num_cuts());
4795 if (cached_has_bits & 0x00000200u) {
4797 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4798 this->_internal_minimize_with_propagation_restart_period());
4802 if (cached_has_bits & 0x00000400u) {
4804 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4805 this->_internal_minimize_with_propagation_num_decisions());
4809 if (cached_has_bits & 0x00000800u) {
4810 total_size += 2 + 1;
4814 if (cached_has_bits & 0x00001000u) {
4815 total_size += 2 + 1;
4819 if (cached_has_bits & 0x00002000u) {
4820 total_size += 2 + 1;
4824 if (cached_has_bits & 0x00004000u) {
4825 total_size += 2 + 1;
4829 if (cached_has_bits & 0x00008000u) {
4831 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4832 this->_internal_binary_search_num_conflicts());
4836 if (cached_has_bits & 0x00ff0000u) {
4838 if (cached_has_bits & 0x00010000u) {
4840 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4841 this->_internal_num_search_workers());
4845 if (cached_has_bits & 0x00020000u) {
4847 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4848 this->_internal_boolean_encoding_level());
4852 if (cached_has_bits & 0x00040000u) {
4854 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4855 this->_internal_cp_model_probing_level());
4859 if (cached_has_bits & 0x00080000u) {
4860 total_size += 2 + 1;
4864 if (cached_has_bits & 0x00100000u) {
4865 total_size += 2 + 1;
4869 if (cached_has_bits & 0x00200000u) {
4870 total_size += 2 + 1;
4874 if (cached_has_bits & 0x00400000u) {
4875 total_size += 2 + 1;
4879 if (cached_has_bits & 0x00800000u) {
4880 total_size += 2 + 1;
4884 if (cached_has_bits & 0xff000000u) {
4886 if (cached_has_bits & 0x01000000u) {
4887 total_size += 2 + 1;
4891 if (cached_has_bits & 0x02000000u) {
4892 total_size += 2 + 1;
4896 if (cached_has_bits & 0x04000000u) {
4897 total_size += 2 + 1;
4901 if (cached_has_bits & 0x08000000u) {
4902 total_size += 2 + 8;
4906 if (cached_has_bits & 0x10000000u) {
4908 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4909 this->_internal_max_integer_rounding_scaling());
4913 if (cached_has_bits & 0x20000000u) {
4915 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4916 this->_internal_max_consecutive_inactive_count());
4920 if (cached_has_bits & 0x40000000u) {
4922 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4923 this->_internal_pseudo_cost_reliability_threshold());
4927 if (cached_has_bits & 0x80000000u) {
4928 total_size += 2 + 8;
4932 cached_has_bits = _has_bits_[4];
4933 if (cached_has_bits & 0x000000ffu) {
4935 if (cached_has_bits & 0x00000001u) {
4937 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4938 this->_internal_new_constraints_batch_size());
4942 if (cached_has_bits & 0x00000002u) {
4944 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4945 this->_internal_mip_max_activity_exponent());
4949 if (cached_has_bits & 0x00000004u) {
4950 total_size += 2 + 8;
4954 if (cached_has_bits & 0x00000008u) {
4955 total_size += 2 + 8;
4959 if (cached_has_bits & 0x00000010u) {
4960 total_size += 2 + 8;
4964 if (cached_has_bits & 0x00000020u) {
4965 total_size += 2 + 1;
4969 if (cached_has_bits & 0x00000040u) {
4970 total_size += 2 + 1;
4974 if (cached_has_bits & 0x00000080u) {
4975 total_size += 2 + 1;
4979 if (cached_has_bits & 0x0000ff00u) {
4981 if (cached_has_bits & 0x00000100u) {
4982 total_size += 2 + 1;
4986 if (cached_has_bits & 0x00000200u) {
4988 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4989 this->_internal_interleave_batch_size());
4993 if (cached_has_bits & 0x00000400u) {
4995 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4996 this->_internal_max_presolve_iterations());
5000 if (cached_has_bits & 0x00000800u) {
5002 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5003 this->_internal_presolve_substitution_level());
5007 if (cached_has_bits & 0x00001000u) {
5008 total_size += 2 + 8;
5012 if (cached_has_bits & 0x00002000u) {
5013 total_size += 2 + 8;
5017 if (cached_has_bits & 0x00004000u) {
5019 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5020 this->_internal_max_all_diff_cut_size());
5024 if (cached_has_bits & 0x00008000u) {
5025 total_size += 2 + 1;
5029 if (cached_has_bits & 0x00ff0000u) {
5031 if (cached_has_bits & 0x00010000u) {
5032 total_size += 2 + 1;
5036 if (cached_has_bits & 0x00020000u) {
5037 total_size += 2 + 1;
5041 if (cached_has_bits & 0x00040000u) {
5042 total_size += 2 + 1;
5046 if (cached_has_bits & 0x00080000u) {
5048 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5049 this->_internal_hint_conflict_limit());
5053 if (cached_has_bits & 0x00100000u) {
5055 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5056 this->_internal_max_cut_rounds_at_level_zero());
5060 if (cached_has_bits & 0x00200000u) {
5061 total_size += 2 + 8;
5065 if (cached_has_bits & 0x00400000u) {
5066 total_size += 2 + 1;
5070 if (cached_has_bits & 0x00800000u) {
5071 total_size += 2 + 1;
5075 if (cached_has_bits & 0x7f000000u) {
5077 if (cached_has_bits & 0x01000000u) {
5078 total_size += 2 + 1;
5082 if (cached_has_bits & 0x02000000u) {
5083 total_size += 2 + 1;
5087 if (cached_has_bits & 0x04000000u) {
5088 total_size += 2 + 1;
5092 if (cached_has_bits & 0x08000000u) {
5093 total_size += 2 + 1;
5097 if (cached_has_bits & 0x10000000u) {
5098 total_size += 2 + 8;
5102 if (cached_has_bits & 0x20000000u) {
5104 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5105 this->_internal_cut_cleanup_target());
5109 if (cached_has_bits & 0x40000000u) {
5111 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fp_rounding());
5115 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5116 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5117 _internal_metadata_, total_size, &_cached_size_);
5119 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5120 SetCachedSize(cached_size);
5124 void SatParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5126 GOOGLE_DCHECK_NE(&from,
this);
5127 const SatParameters* source =
5128 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SatParameters>(
5130 if (source ==
nullptr) {
5132 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
5139 void SatParameters::MergeFrom(
const SatParameters& from) {
5141 GOOGLE_DCHECK_NE(&from,
this);
5142 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5144 (void) cached_has_bits;
5146 restart_algorithms_.MergeFrom(from.restart_algorithms_);
5147 cached_has_bits = from._has_bits_[0];
5148 if (cached_has_bits & 0x000000ffu) {
5149 if (cached_has_bits & 0x00000001u) {
5150 _internal_set_default_restart_algorithms(from._internal_default_restart_algorithms());
5152 if (cached_has_bits & 0x00000002u) {
5153 _internal_set_name(from._internal_name());
5155 if (cached_has_bits & 0x00000004u) {
5156 preferred_variable_order_ = from.preferred_variable_order_;
5158 if (cached_has_bits & 0x00000008u) {
5159 max_sat_assumption_order_ = from.max_sat_assumption_order_;
5161 if (cached_has_bits & 0x00000010u) {
5162 random_branches_ratio_ = from.random_branches_ratio_;
5164 if (cached_has_bits & 0x00000020u) {
5165 random_polarity_ratio_ = from.random_polarity_ratio_;
5167 if (cached_has_bits & 0x00000040u) {
5168 clause_cleanup_protection_ = from.clause_cleanup_protection_;
5170 if (cached_has_bits & 0x00000080u) {
5171 clause_cleanup_ordering_ = from.clause_cleanup_ordering_;
5173 _has_bits_[0] |= cached_has_bits;
5175 if (cached_has_bits & 0x0000ff00u) {
5176 if (cached_has_bits & 0x00000100u) {
5177 strategy_change_increase_ratio_ = from.strategy_change_increase_ratio_;
5179 if (cached_has_bits & 0x00000200u) {
5180 num_conflicts_before_strategy_changes_ = from.num_conflicts_before_strategy_changes_;
5182 if (cached_has_bits & 0x00000400u) {
5183 search_branching_ = from.search_branching_;
5185 if (cached_has_bits & 0x00000800u) {
5186 initial_variables_activity_ = from.initial_variables_activity_;
5188 if (cached_has_bits & 0x00001000u) {
5189 search_randomization_tolerance_ = from.search_randomization_tolerance_;
5191 if (cached_has_bits & 0x00002000u) {
5192 use_erwa_heuristic_ = from.use_erwa_heuristic_;
5194 if (cached_has_bits & 0x00004000u) {
5195 also_bump_variables_in_conflict_reasons_ = from.also_bump_variables_in_conflict_reasons_;
5197 if (cached_has_bits & 0x00008000u) {
5198 use_blocking_restart_ = from.use_blocking_restart_;
5200 _has_bits_[0] |= cached_has_bits;
5202 if (cached_has_bits & 0x00ff0000u) {
5203 if (cached_has_bits & 0x00010000u) {
5204 permute_variable_randomly_ = from.permute_variable_randomly_;
5206 if (cached_has_bits & 0x00020000u) {
5207 permute_presolve_constraint_order_ = from.permute_presolve_constraint_order_;
5209 if (cached_has_bits & 0x00040000u) {
5210 use_absl_random_ = from.use_absl_random_;
5212 if (cached_has_bits & 0x00080000u) {
5213 log_search_progress_ = from.log_search_progress_;
5215 if (cached_has_bits & 0x00100000u) {
5216 use_pb_resolution_ = from.use_pb_resolution_;
5218 if (cached_has_bits & 0x00200000u) {
5219 use_timetable_edge_finding_in_cumulative_constraint_ = from.use_timetable_edge_finding_in_cumulative_constraint_;
5221 if (cached_has_bits & 0x00400000u) {
5222 only_add_cuts_at_level_zero_ = from.only_add_cuts_at_level_zero_;
5224 if (cached_has_bits & 0x00800000u) {
5225 add_knapsack_cuts_ = from.add_knapsack_cuts_;
5227 _has_bits_[0] |= cached_has_bits;
5229 if (cached_has_bits & 0xff000000u) {
5230 if (cached_has_bits & 0x01000000u) {
5231 repair_hint_ = from.repair_hint_;
5233 if (cached_has_bits & 0x02000000u) {
5234 optimize_with_max_hs_ = from.optimize_with_max_hs_;
5236 if (cached_has_bits & 0x04000000u) {
5237 enumerate_all_solutions_ = from.enumerate_all_solutions_;
5239 if (cached_has_bits & 0x08000000u) {
5240 keep_all_feasible_solutions_in_presolve_ = from.keep_all_feasible_solutions_in_presolve_;
5242 if (cached_has_bits & 0x10000000u) {
5243 fill_tightened_domains_in_response_ = from.fill_tightened_domains_in_response_;
5245 if (cached_has_bits & 0x20000000u) {
5246 disable_constraint_expansion_ = from.disable_constraint_expansion_;
5248 if (cached_has_bits & 0x40000000u) {
5249 presolve_extract_integer_enforcement_ = from.presolve_extract_integer_enforcement_;
5251 if (cached_has_bits & 0x80000000u) {
5252 max_sat_reverse_assumption_order_ = from.max_sat_reverse_assumption_order_;
5254 _has_bits_[0] |= cached_has_bits;
5256 cached_has_bits = from._has_bits_[1];
5257 if (cached_has_bits & 0x000000ffu) {
5258 if (cached_has_bits & 0x00000001u) {
5259 use_overload_checker_in_cumulative_constraint_ = from.use_overload_checker_in_cumulative_constraint_;
5261 if (cached_has_bits & 0x00000002u) {
5262 use_lns_only_ = from.use_lns_only_;
5264 if (cached_has_bits & 0x00000004u) {
5265 lns_focus_on_decision_variables_ = from.lns_focus_on_decision_variables_;
5267 if (cached_has_bits & 0x00000008u) {
5268 use_relaxation_lns_ = from.use_relaxation_lns_;
5270 if (cached_has_bits & 0x00000010u) {
5271 diversify_lns_params_ = from.diversify_lns_params_;
5273 if (cached_has_bits & 0x00000020u) {
5274 stop_after_first_solution_ = from.stop_after_first_solution_;
5276 if (cached_has_bits & 0x00000040u) {
5277 stop_after_presolve_ = from.stop_after_presolve_;
5279 if (cached_has_bits & 0x00000080u) {
5280 interleave_search_ = from.interleave_search_;
5282 _has_bits_[1] |= cached_has_bits;
5284 if (cached_has_bits & 0x0000ff00u) {
5285 if (cached_has_bits & 0x00000100u) {
5286 reduce_memory_usage_in_interleave_mode_ = from.reduce_memory_usage_in_interleave_mode_;
5288 if (cached_has_bits & 0x00000200u) {
5289 minimize_reduction_during_pb_resolution_ = from.minimize_reduction_during_pb_resolution_;
5291 if (cached_has_bits & 0x00000400u) {
5292 cp_model_postsolve_with_full_solver_ = from.cp_model_postsolve_with_full_solver_;
5294 if (cached_has_bits & 0x00000800u) {
5295 use_sat_inprocessing_ = from.use_sat_inprocessing_;
5297 if (cached_has_bits & 0x00001000u) {
5298 expand_alldiff_constraints_ = from.expand_alldiff_constraints_;
5300 if (cached_has_bits & 0x00002000u) {
5301 exploit_best_solution_ = from.exploit_best_solution_;
5303 if (cached_has_bits & 0x00004000u) {
5304 exploit_relaxation_solution_ = from.exploit_relaxation_solution_;
5306 if (cached_has_bits & 0x00008000u) {
5307 use_probing_search_ = from.use_probing_search_;
5309 _has_bits_[1] |= cached_has_bits;
5311 if (cached_has_bits & 0x00ff0000u) {
5312 if (cached_has_bits & 0x00010000u) {
5313 optimize_with_core_ = from.optimize_with_core_;
5315 if (cached_has_bits & 0x00020000u) {
5316 randomize_search_ = from.randomize_search_;
5318 if (cached_has_bits & 0x00040000u) {
5319 use_branching_in_lp_ = from.use_branching_in_lp_;
5321 if (cached_has_bits & 0x00080000u) {
5322 use_combined_no_overlap_ = from.use_combined_no_overlap_;
5324 if (cached_has_bits & 0x00100000u) {
5325 polish_lp_solution_ = from.polish_lp_solution_;
5327 if (cached_has_bits & 0x00200000u) {
5328 probing_period_at_root_ = from.probing_period_at_root_;
5330 if (cached_has_bits & 0x00400000u) {
5331 absolute_gap_limit_ = from.absolute_gap_limit_;
5333 if (cached_has_bits & 0x00800000u) {
5334 relative_gap_limit_ = from.relative_gap_limit_;
5336 _has_bits_[1] |= cached_has_bits;
5338 if (cached_has_bits & 0xff000000u) {
5339 if (cached_has_bits & 0x01000000u) {
5340 cp_model_max_num_presolve_operations_ = from.cp_model_max_num_presolve_operations_;
5342 if (cached_has_bits & 0x02000000u) {
5343 convert_intervals_ = from.convert_intervals_;
5345 if (cached_has_bits & 0x04000000u) {
5346 detect_symmetries_ = from.detect_symmetries_;
5348 if (cached_has_bits & 0x08000000u) {
5349 polarity_rephase_increment_ = from.polarity_rephase_increment_;
5351 if (cached_has_bits & 0x10000000u) {
5352 initial_polarity_ = from.initial_polarity_;
5354 if (cached_has_bits & 0x20000000u) {
5355 minimization_algorithm_ = from.minimization_algorithm_;
5357 if (cached_has_bits & 0x40000000u) {
5358 clause_cleanup_period_ = from.clause_cleanup_period_;
5360 if (cached_has_bits & 0x80000000u) {
5361 clause_cleanup_target_ = from.clause_cleanup_target_;
5363 _has_bits_[1] |= cached_has_bits;
5365 cached_has_bits = from._has_bits_[2];
5366 if (cached_has_bits & 0x000000ffu) {
5367 if (cached_has_bits & 0x00000001u) {
5368 variable_activity_decay_ = from.variable_activity_decay_;
5370 if (cached_has_bits & 0x00000002u) {
5371 max_variable_activity_value_ = from.max_variable_activity_value_;
5373 if (cached_has_bits & 0x00000004u) {
5374 clause_activity_decay_ = from.clause_activity_decay_;
5376 if (cached_has_bits & 0x00000008u) {
5377 max_clause_activity_value_ = from.max_clause_activity_value_;
5379 if (cached_has_bits & 0x00000010u) {
5380 glucose_max_decay_ = from.glucose_max_decay_;
5382 if (cached_has_bits & 0x00000020u) {
5383 glucose_decay_increment_ = from.glucose_decay_increment_;
5385 if (cached_has_bits & 0x00000040u) {
5386 glucose_decay_increment_period_ = from.glucose_decay_increment_period_;
5388 if (cached_has_bits & 0x00000080u) {
5389 restart_period_ = from.restart_period_;
5391 _has_bits_[2] |= cached_has_bits;
5393 if (cached_has_bits & 0x0000ff00u) {
5394 if (cached_has_bits & 0x00000100u) {
5395 random_seed_ = from.random_seed_;
5397 if (cached_has_bits & 0x00000200u) {
5398 binary_minimization_algorithm_ = from.binary_minimization_algorithm_;
5400 if (cached_has_bits & 0x00000400u) {
5401 max_time_in_seconds_ = from.max_time_in_seconds_;
5403 if (cached_has_bits & 0x00000800u) {
5404 max_number_of_conflicts_ = from.max_number_of_conflicts_;
5406 if (cached_has_bits & 0x00001000u) {
5407 max_memory_in_mb_ = from.max_memory_in_mb_;
5409 if (cached_has_bits & 0x00002000u) {
5410 use_phase_saving_ = from.use_phase_saving_;
5412 if (cached_has_bits & 0x00004000u) {
5413 subsumption_during_conflict_analysis_ = from.subsumption_during_conflict_analysis_;
5415 if (cached_has_bits & 0x00008000u) {
5416 treat_binary_clauses_separately_ = from.treat_binary_clauses_separately_;
5418 _has_bits_[2] |= cached_has_bits;
5420 if (cached_has_bits & 0x00ff0000u) {
5421 if (cached_has_bits & 0x00010000u) {
5422 count_assumption_levels_in_lbd_ = from.count_assumption_levels_in_lbd_;
5424 if (cached_has_bits & 0x00020000u) {
5425 pb_cleanup_increment_ = from.pb_cleanup_increment_;
5427 if (cached_has_bits & 0x00040000u) {
5428 pb_cleanup_ratio_ = from.pb_cleanup_ratio_;
5430 if (cached_has_bits & 0x00080000u) {
5431 max_sat_stratification_ = from.max_sat_stratification_;
5433 if (cached_has_bits & 0x00100000u) {
5434 presolve_bve_threshold_ = from.presolve_bve_threshold_;
5436 if (cached_has_bits & 0x00200000u) {
5437 presolve_probing_deterministic_time_limit_ = from.presolve_probing_deterministic_time_limit_;
5439 if (cached_has_bits & 0x00400000u) {
5440 presolve_bve_clause_weight_ = from.presolve_bve_clause_weight_;
5442 if (cached_has_bits & 0x00800000u) {
5443 clause_cleanup_lbd_bound_ = from.clause_cleanup_lbd_bound_;
5445 _has_bits_[2] |= cached_has_bits;
5447 if (cached_has_bits & 0xff000000u) {
5448 if (cached_has_bits & 0x01000000u) {
5449 restart_dl_average_ratio_ = from.restart_dl_average_ratio_;
5451 if (cached_has_bits & 0x02000000u) {
5452 restart_running_window_size_ = from.restart_running_window_size_;
5454 if (cached_has_bits & 0x04000000u) {
5455 use_optimization_hints_ = from.use_optimization_hints_;
5457 if (cached_has_bits & 0x08000000u) {
5458 minimize_core_ = from.minimize_core_;
5460 if (cached_has_bits & 0x10000000u) {
5461 find_multiple_cores_ = from.find_multiple_cores_;
5463 if (cached_has_bits & 0x20000000u) {
5464 cover_optimization_ = from.cover_optimization_;
5466 if (cached_has_bits & 0x40000000u) {
5467 blocking_restart_multiplier_ = from.blocking_restart_multiplier_;
5469 if (cached_has_bits & 0x80000000u) {
5470 max_deterministic_time_ = from.max_deterministic_time_;
5472 _has_bits_[2] |= cached_has_bits;
5474 cached_has_bits = from._has_bits_[3];
5475 if (cached_has_bits & 0x000000ffu) {
5476 if (cached_has_bits & 0x00000001u) {
5477 blocking_restart_window_size_ = from.blocking_restart_window_size_;
5479 if (cached_has_bits & 0x00000002u) {
5480 presolve_bva_threshold_ = from.presolve_bva_threshold_;
5482 if (cached_has_bits & 0x00000004u) {
5483 restart_lbd_average_ratio_ = from.restart_lbd_average_ratio_;
5485 if (cached_has_bits & 0x00000008u) {
5486 presolve_blocked_clause_ = from.presolve_blocked_clause_;
5488 if (cached_has_bits & 0x00000010u) {
5489 presolve_use_bva_ = from.presolve_use_bva_;
5491 if (cached_has_bits & 0x00000020u) {
5492 cp_model_presolve_ = from.cp_model_presolve_;
5494 if (cached_has_bits & 0x00000040u) {
5495 cp_model_use_sat_presolve_ = from.cp_model_use_sat_presolve_;
5497 if (cached_has_bits & 0x00000080u) {
5498 linearization_level_ = from.linearization_level_;
5500 _has_bits_[3] |= cached_has_bits;
5502 if (cached_has_bits & 0x0000ff00u) {
5503 if (cached_has_bits & 0x00000100u) {
5504 max_num_cuts_ = from.max_num_cuts_;
5506 if (cached_has_bits & 0x00000200u) {
5507 minimize_with_propagation_restart_period_ = from.minimize_with_propagation_restart_period_;
5509 if (cached_has_bits & 0x00000400u) {
5510 minimize_with_propagation_num_decisions_ = from.minimize_with_propagation_num_decisions_;
5512 if (cached_has_bits & 0x00000800u) {
5513 use_precedences_in_disjunctive_constraint_ = from.use_precedences_in_disjunctive_constraint_;
5515 if (cached_has_bits & 0x00001000u) {
5516 use_disjunctive_constraint_in_cumulative_constraint_ = from.use_disjunctive_constraint_in_cumulative_constraint_;
5518 if (cached_has_bits & 0x00002000u) {
5519 add_cg_cuts_ = from.add_cg_cuts_;
5521 if (cached_has_bits & 0x00004000u) {
5522 add_mir_cuts_ = from.add_mir_cuts_;
5524 if (cached_has_bits & 0x00008000u) {
5525 binary_search_num_conflicts_ = from.binary_search_num_conflicts_;
5527 _has_bits_[3] |= cached_has_bits;
5529 if (cached_has_bits & 0x00ff0000u) {
5530 if (cached_has_bits & 0x00010000u) {
5531 num_search_workers_ = from.num_search_workers_;
5533 if (cached_has_bits & 0x00020000u) {
5534 boolean_encoding_level_ = from.boolean_encoding_level_;
5536 if (cached_has_bits & 0x00040000u) {
5537 cp_model_probing_level_ = from.cp_model_probing_level_;
5539 if (cached_has_bits & 0x00080000u) {
5540 exploit_integer_lp_solution_ = from.exploit_integer_lp_solution_;
5542 if (cached_has_bits & 0x00100000u) {
5543 exploit_all_lp_solution_ = from.exploit_all_lp_solution_;
5545 if (cached_has_bits & 0x00200000u) {
5546 exploit_objective_ = from.exploit_objective_;
5548 if (cached_has_bits & 0x00400000u) {
5549 instantiate_all_variables_ = from.instantiate_all_variables_;
5551 if (cached_has_bits & 0x00800000u) {
5552 auto_detect_greater_than_at_least_one_of_ = from.auto_detect_greater_than_at_least_one_of_;
5554 _has_bits_[3] |= cached_has_bits;
5556 if (cached_has_bits & 0xff000000u) {
5557 if (cached_has_bits & 0x01000000u) {
5558 share_objective_bounds_ = from.share_objective_bounds_;
5560 if (cached_has_bits & 0x02000000u) {
5561 share_level_zero_bounds_ = from.share_level_zero_bounds_;
5563 if (cached_has_bits & 0x04000000u) {
5564 use_rins_lns_ = from.use_rins_lns_;
5566 if (cached_has_bits & 0x08000000u) {
5567 min_orthogonality_for_lp_constraints_ = from.min_orthogonality_for_lp_constraints_;
5569 if (cached_has_bits & 0x10000000u) {
5570 max_integer_rounding_scaling_ = from.max_integer_rounding_scaling_;
5572 if (cached_has_bits & 0x20000000u) {
5573 max_consecutive_inactive_count_ = from.max_consecutive_inactive_count_;
5575 if (cached_has_bits & 0x40000000u) {
5576 pseudo_cost_reliability_threshold_ = from.pseudo_cost_reliability_threshold_;
5578 if (cached_has_bits & 0x80000000u) {
5579 mip_max_bound_ = from.mip_max_bound_;
5581 _has_bits_[3] |= cached_has_bits;
5583 cached_has_bits = from._has_bits_[4];
5584 if (cached_has_bits & 0x000000ffu) {
5585 if (cached_has_bits & 0x00000001u) {
5586 new_constraints_batch_size_ = from.new_constraints_batch_size_;
5588 if (cached_has_bits & 0x00000002u) {
5589 mip_max_activity_exponent_ = from.mip_max_activity_exponent_;
5591 if (cached_has_bits & 0x00000004u) {
5592 mip_var_scaling_ = from.mip_var_scaling_;
5594 if (cached_has_bits & 0x00000008u) {
5595 mip_wanted_precision_ = from.mip_wanted_precision_;
5597 if (cached_has_bits & 0x00000010u) {
5598 mip_check_precision_ = from.mip_check_precision_;
5600 if (cached_has_bits & 0x00000020u) {
5601 use_feasibility_pump_ = from.use_feasibility_pump_;
5603 if (cached_has_bits & 0x00000040u) {
5604 use_optional_variables_ = from.use_optional_variables_;
5606 if (cached_has_bits & 0x00000080u) {
5607 use_exact_lp_reason_ = from.use_exact_lp_reason_;
5609 _has_bits_[4] |= cached_has_bits;
5611 if (cached_has_bits & 0x0000ff00u) {
5612 if (cached_has_bits & 0x00000100u) {
5613 catch_sigint_signal_ = from.catch_sigint_signal_;
5615 if (cached_has_bits & 0x00000200u) {
5616 interleave_batch_size_ = from.interleave_batch_size_;
5618 if (cached_has_bits & 0x00000400u) {
5619 max_presolve_iterations_ = from.max_presolve_iterations_;
5621 if (cached_has_bits & 0x00000800u) {
5622 presolve_substitution_level_ = from.presolve_substitution_level_;
5624 if (cached_has_bits & 0x00001000u) {
5625 merge_no_overlap_work_limit_ = from.merge_no_overlap_work_limit_;
5627 if (cached_has_bits & 0x00002000u) {
5628 merge_at_most_one_work_limit_ = from.merge_at_most_one_work_limit_;
5630 if (cached_has_bits & 0x00004000u) {
5631 max_all_diff_cut_size_ = from.max_all_diff_cut_size_;
5633 if (cached_has_bits & 0x00008000u) {
5634 add_zero_half_cuts_ = from.add_zero_half_cuts_;
5636 _has_bits_[4] |= cached_has_bits;
5638 if (cached_has_bits & 0x00ff0000u) {
5639 if (cached_has_bits & 0x00010000u) {
5640 add_clique_cuts_ = from.add_clique_cuts_;
5642 if (cached_has_bits & 0x00020000u) {
5643 add_lin_max_cuts_ = from.add_lin_max_cuts_;
5645 if (cached_has_bits & 0x00040000u) {
5646 add_lp_constraints_lazily_ = from.add_lp_constraints_lazily_;
5648 if (cached_has_bits & 0x00080000u) {
5649 hint_conflict_limit_ = from.hint_conflict_limit_;
5651 if (cached_has_bits & 0x00100000u) {
5652 max_cut_rounds_at_level_zero_ = from.max_cut_rounds_at_level_zero_;
5654 if (cached_has_bits & 0x00200000u) {
5655 cut_max_active_count_value_ = from.cut_max_active_count_value_;
5657 if (cached_has_bits & 0x00400000u) {
5658 use_implied_bounds_ = from.use_implied_bounds_;
5660 if (cached_has_bits & 0x00800000u) {
5661 mip_automatically_scale_variables_ = from.mip_automatically_scale_variables_;
5663 _has_bits_[4] |= cached_has_bits;
5665 if (cached_has_bits & 0x7f000000u) {
5666 if (cached_has_bits & 0x01000000u) {
5667 expand_element_constraints_ = from.expand_element_constraints_;
5669 if (cached_has_bits & 0x02000000u) {
5670 expand_automaton_constraints_ = from.expand_automaton_constraints_;
5672 if (cached_has_bits & 0x04000000u) {
5673 expand_table_constraints_ = from.expand_table_constraints_;
5675 if (cached_has_bits & 0x08000000u) {
5676 expand_reservoir_constraints_ = from.expand_reservoir_constraints_;
5678 if (cached_has_bits & 0x10000000u) {
5679 cut_active_count_decay_ = from.cut_active_count_decay_;
5681 if (cached_has_bits & 0x20000000u) {
5682 cut_cleanup_target_ = from.cut_cleanup_target_;
5684 if (cached_has_bits & 0x40000000u) {
5685 fp_rounding_ = from.fp_rounding_;
5687 _has_bits_[4] |= cached_has_bits;
5691 void SatParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5693 if (&from ==
this)
return;
5698 void SatParameters::CopyFrom(
const SatParameters& from) {
5700 if (&from ==
this)
return;
5705 bool SatParameters::IsInitialized()
const {
5709 void SatParameters::InternalSwap(SatParameters* other) {
5711 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5712 swap(_has_bits_[0], other->_has_bits_[0]);
5713 swap(_has_bits_[1], other->_has_bits_[1]);
5714 swap(_has_bits_[2], other->_has_bits_[2]);
5715 swap(_has_bits_[3], other->_has_bits_[3]);
5716 swap(_has_bits_[4], other->_has_bits_[4]);
5717 restart_algorithms_.InternalSwap(&other->restart_algorithms_);
5718 default_restart_algorithms_.Swap(&other->default_restart_algorithms_,
nullptr, GetArena());
5719 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5720 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
5721 PROTOBUF_FIELD_OFFSET(SatParameters, detect_symmetries_)
5722 +
sizeof(SatParameters::detect_symmetries_)
5723 - PROTOBUF_FIELD_OFFSET(SatParameters, preferred_variable_order_)>(
5724 reinterpret_cast<char*
>(&preferred_variable_order_),
5725 reinterpret_cast<char*
>(&other->preferred_variable_order_));
5726 swap(polarity_rephase_increment_, other->polarity_rephase_increment_);
5727 swap(initial_polarity_, other->initial_polarity_);
5728 swap(minimization_algorithm_, other->minimization_algorithm_);
5729 swap(clause_cleanup_period_, other->clause_cleanup_period_);
5730 swap(clause_cleanup_target_, other->clause_cleanup_target_);
5731 swap(variable_activity_decay_, other->variable_activity_decay_);
5732 swap(max_variable_activity_value_, other->max_variable_activity_value_);
5733 swap(clause_activity_decay_, other->clause_activity_decay_);
5734 swap(max_clause_activity_value_, other->max_clause_activity_value_);
5735 swap(glucose_max_decay_, other->glucose_max_decay_);
5736 swap(glucose_decay_increment_, other->glucose_decay_increment_);
5737 swap(glucose_decay_increment_period_, other->glucose_decay_increment_period_);
5738 swap(restart_period_, other->restart_period_);
5739 swap(random_seed_, other->random_seed_);
5740 swap(binary_minimization_algorithm_, other->binary_minimization_algorithm_);
5741 swap(max_time_in_seconds_, other->max_time_in_seconds_);
5742 swap(max_number_of_conflicts_, other->max_number_of_conflicts_);
5743 swap(max_memory_in_mb_, other->max_memory_in_mb_);
5744 swap(use_phase_saving_, other->use_phase_saving_);
5745 swap(subsumption_during_conflict_analysis_, other->subsumption_during_conflict_analysis_);
5746 swap(treat_binary_clauses_separately_, other->treat_binary_clauses_separately_);
5747 swap(count_assumption_levels_in_lbd_, other->count_assumption_levels_in_lbd_);
5748 swap(pb_cleanup_increment_, other->pb_cleanup_increment_);
5749 swap(pb_cleanup_ratio_, other->pb_cleanup_ratio_);
5750 swap(max_sat_stratification_, other->max_sat_stratification_);
5751 swap(presolve_bve_threshold_, other->presolve_bve_threshold_);
5752 swap(presolve_probing_deterministic_time_limit_, other->presolve_probing_deterministic_time_limit_);
5753 swap(presolve_bve_clause_weight_, other->presolve_bve_clause_weight_);
5754 swap(clause_cleanup_lbd_bound_, other->clause_cleanup_lbd_bound_);
5755 swap(restart_dl_average_ratio_, other->restart_dl_average_ratio_);
5756 swap(restart_running_window_size_, other->restart_running_window_size_);
5757 swap(use_optimization_hints_, other->use_optimization_hints_);
5758 swap(minimize_core_, other->minimize_core_);
5759 swap(find_multiple_cores_, other->find_multiple_cores_);
5760 swap(cover_optimization_, other->cover_optimization_);
5761 swap(blocking_restart_multiplier_, other->blocking_restart_multiplier_);
5762 swap(max_deterministic_time_, other->max_deterministic_time_);
5763 swap(blocking_restart_window_size_, other->blocking_restart_window_size_);
5764 swap(presolve_bva_threshold_, other->presolve_bva_threshold_);
5765 swap(restart_lbd_average_ratio_, other->restart_lbd_average_ratio_);
5766 swap(presolve_blocked_clause_, other->presolve_blocked_clause_);
5767 swap(presolve_use_bva_, other->presolve_use_bva_);
5768 swap(cp_model_presolve_, other->cp_model_presolve_);
5769 swap(cp_model_use_sat_presolve_, other->cp_model_use_sat_presolve_);
5770 swap(linearization_level_, other->linearization_level_);
5771 swap(max_num_cuts_, other->max_num_cuts_);
5772 swap(minimize_with_propagation_restart_period_, other->minimize_with_propagation_restart_period_);
5773 swap(minimize_with_propagation_num_decisions_, other->minimize_with_propagation_num_decisions_);
5774 swap(use_precedences_in_disjunctive_constraint_, other->use_precedences_in_disjunctive_constraint_);
5775 swap(use_disjunctive_constraint_in_cumulative_constraint_, other->use_disjunctive_constraint_in_cumulative_constraint_);
5776 swap(add_cg_cuts_, other->add_cg_cuts_);
5777 swap(add_mir_cuts_, other->add_mir_cuts_);
5778 swap(binary_search_num_conflicts_, other->binary_search_num_conflicts_);
5779 swap(num_search_workers_, other->num_search_workers_);
5780 swap(boolean_encoding_level_, other->boolean_encoding_level_);
5781 swap(cp_model_probing_level_, other->cp_model_probing_level_);
5782 swap(exploit_integer_lp_solution_, other->exploit_integer_lp_solution_);
5783 swap(exploit_all_lp_solution_, other->exploit_all_lp_solution_);
5784 swap(exploit_objective_, other->exploit_objective_);
5785 swap(instantiate_all_variables_, other->instantiate_all_variables_);
5786 swap(auto_detect_greater_than_at_least_one_of_, other->auto_detect_greater_than_at_least_one_of_);
5787 swap(share_objective_bounds_, other->share_objective_bounds_);
5788 swap(share_level_zero_bounds_, other->share_level_zero_bounds_);
5789 swap(use_rins_lns_, other->use_rins_lns_);
5790 swap(min_orthogonality_for_lp_constraints_, other->min_orthogonality_for_lp_constraints_);
5791 swap(max_integer_rounding_scaling_, other->max_integer_rounding_scaling_);
5792 swap(max_consecutive_inactive_count_, other->max_consecutive_inactive_count_);
5793 swap(pseudo_cost_reliability_threshold_, other->pseudo_cost_reliability_threshold_);
5794 swap(mip_max_bound_, other->mip_max_bound_);
5795 swap(new_constraints_batch_size_, other->new_constraints_batch_size_);
5796 swap(mip_max_activity_exponent_, other->mip_max_activity_exponent_);
5797 swap(mip_var_scaling_, other->mip_var_scaling_);
5798 swap(mip_wanted_precision_, other->mip_wanted_precision_);
5799 swap(mip_check_precision_, other->mip_check_precision_);
5800 swap(use_feasibility_pump_, other->use_feasibility_pump_);
5801 swap(use_optional_variables_, other->use_optional_variables_);
5802 swap(use_exact_lp_reason_, other->use_exact_lp_reason_);
5803 swap(catch_sigint_signal_, other->catch_sigint_signal_);
5804 swap(interleave_batch_size_, other->interleave_batch_size_);
5805 swap(max_presolve_iterations_, other->max_presolve_iterations_);
5806 swap(presolve_substitution_level_, other->presolve_substitution_level_);
5807 swap(merge_no_overlap_work_limit_, other->merge_no_overlap_work_limit_);
5808 swap(merge_at_most_one_work_limit_, other->merge_at_most_one_work_limit_);
5809 swap(max_all_diff_cut_size_, other->max_all_diff_cut_size_);
5810 swap(add_zero_half_cuts_, other->add_zero_half_cuts_);
5811 swap(add_clique_cuts_, other->add_clique_cuts_);
5812 swap(add_lin_max_cuts_, other->add_lin_max_cuts_);
5813 swap(add_lp_constraints_lazily_, other->add_lp_constraints_lazily_);
5814 swap(hint_conflict_limit_, other->hint_conflict_limit_);
5815 swap(max_cut_rounds_at_level_zero_, other->max_cut_rounds_at_level_zero_);
5816 swap(cut_max_active_count_value_, other->cut_max_active_count_value_);
5817 swap(use_implied_bounds_, other->use_implied_bounds_);
5818 swap(mip_automatically_scale_variables_, other->mip_automatically_scale_variables_);
5819 swap(expand_element_constraints_, other->expand_element_constraints_);
5820 swap(expand_automaton_constraints_, other->expand_automaton_constraints_);
5821 swap(expand_table_constraints_, other->expand_table_constraints_);
5822 swap(expand_reservoir_constraints_, other->expand_reservoir_constraints_);
5823 swap(cut_active_count_decay_, other->cut_active_count_decay_);
5824 swap(cut_cleanup_target_, other->cut_cleanup_target_);
5825 swap(fp_rounding_, other->fp_rounding_);
5828 ::PROTOBUF_NAMESPACE_ID::Metadata SatParameters::GetMetadata()
const {
5829 return GetMetadataStatic();
5836 PROTOBUF_NAMESPACE_OPEN
5838 return Arena::CreateMessageInternal< ::operations_research::sat::SatParameters >(arena);
5840 PROTOBUF_NAMESPACE_CLOSE
5843 #include <google/protobuf/port_undef.inc>
static void set_has_expand_element_constraints(HasBits *has_bits)
static void set_has_max_all_diff_cut_size(HasBits *has_bits)
static void set_has_only_add_cuts_at_level_zero(HasBits *has_bits)
static void set_has_expand_automaton_constraints(HasBits *has_bits)
static void set_has_log_search_progress(HasBits *has_bits)
static void set_has_exploit_objective(HasBits *has_bits)
static void set_has_exploit_best_solution(HasBits *has_bits)
static void set_has_also_bump_variables_in_conflict_reasons(HasBits *has_bits)
static void set_has_restart_lbd_average_ratio(HasBits *has_bits)
static void set_has_random_polarity_ratio(HasBits *has_bits)
static void set_has_polarity_rephase_increment(HasBits *has_bits)
static void set_has_stop_after_presolve(HasBits *has_bits)
static void set_has_use_feasibility_pump(HasBits *has_bits)
static void set_has_exploit_relaxation_solution(HasBits *has_bits)
static void set_has_clause_activity_decay(HasBits *has_bits)
decltype(std::declval< SatParameters >()._has_bits_) HasBits
static void set_has_max_cut_rounds_at_level_zero(HasBits *has_bits)
static void set_has_preferred_variable_order(HasBits *has_bits)
static void set_has_use_disjunctive_constraint_in_cumulative_constraint(HasBits *has_bits)
static void set_has_disable_constraint_expansion(HasBits *has_bits)
static void set_has_mip_wanted_precision(HasBits *has_bits)
static void set_has_cover_optimization(HasBits *has_bits)
static void set_has_max_sat_stratification(HasBits *has_bits)
static void set_has_max_time_in_seconds(HasBits *has_bits)
static void set_has_expand_reservoir_constraints(HasBits *has_bits)
static void set_has_glucose_decay_increment_period(HasBits *has_bits)
static void set_has_default_restart_algorithms(HasBits *has_bits)
static void set_has_cut_active_count_decay(HasBits *has_bits)
static void set_has_max_sat_reverse_assumption_order(HasBits *has_bits)
static void set_has_use_phase_saving(HasBits *has_bits)
static void set_has_num_conflicts_before_strategy_changes(HasBits *has_bits)
static void set_has_interleave_batch_size(HasBits *has_bits)
static void set_has_max_sat_assumption_order(HasBits *has_bits)
static void set_has_max_deterministic_time(HasBits *has_bits)
static void set_has_max_clause_activity_value(HasBits *has_bits)
static void set_has_presolve_bve_clause_weight(HasBits *has_bits)
static void set_has_new_constraints_batch_size(HasBits *has_bits)
static void set_has_clause_cleanup_target(HasBits *has_bits)
static void set_has_use_lns_only(HasBits *has_bits)
static void set_has_use_precedences_in_disjunctive_constraint(HasBits *has_bits)
static void set_has_subsumption_during_conflict_analysis(HasBits *has_bits)
static void set_has_mip_var_scaling(HasBits *has_bits)
static void set_has_add_mir_cuts(HasBits *has_bits)
static void set_has_diversify_lns_params(HasBits *has_bits)
static void set_has_probing_period_at_root(HasBits *has_bits)
static void set_has_minimize_with_propagation_restart_period(HasBits *has_bits)
static void set_has_use_combined_no_overlap(HasBits *has_bits)
static void set_has_clause_cleanup_protection(HasBits *has_bits)
static void set_has_max_consecutive_inactive_count(HasBits *has_bits)
static void set_has_cp_model_presolve(HasBits *has_bits)
static void set_has_cp_model_probing_level(HasBits *has_bits)
static void set_has_permute_presolve_constraint_order(HasBits *has_bits)
static void set_has_catch_sigint_signal(HasBits *has_bits)
static void set_has_restart_period(HasBits *has_bits)
static void set_has_use_rins_lns(HasBits *has_bits)
static void set_has_lns_focus_on_decision_variables(HasBits *has_bits)
static void set_has_auto_detect_greater_than_at_least_one_of(HasBits *has_bits)
static void set_has_mip_max_activity_exponent(HasBits *has_bits)
static void set_has_merge_no_overlap_work_limit(HasBits *has_bits)
static void set_has_expand_alldiff_constraints(HasBits *has_bits)
static void set_has_convert_intervals(HasBits *has_bits)
static void set_has_polish_lp_solution(HasBits *has_bits)
static void set_has_pb_cleanup_increment(HasBits *has_bits)
static void set_has_glucose_decay_increment(HasBits *has_bits)
static void set_has_use_absl_random(HasBits *has_bits)
static void set_has_presolve_bva_threshold(HasBits *has_bits)
static void set_has_max_integer_rounding_scaling(HasBits *has_bits)
static void set_has_presolve_bve_threshold(HasBits *has_bits)
static void set_has_add_lin_max_cuts(HasBits *has_bits)
static void set_has_use_exact_lp_reason(HasBits *has_bits)
static void set_has_detect_symmetries(HasBits *has_bits)
static void set_has_pseudo_cost_reliability_threshold(HasBits *has_bits)
static void set_has_use_branching_in_lp(HasBits *has_bits)
static void set_has_permute_variable_randomly(HasBits *has_bits)
static void set_has_fill_tightened_domains_in_response(HasBits *has_bits)
static void set_has_min_orthogonality_for_lp_constraints(HasBits *has_bits)
static void set_has_max_memory_in_mb(HasBits *has_bits)
static void set_has_use_blocking_restart(HasBits *has_bits)
static void set_has_mip_max_bound(HasBits *has_bits)
static void set_has_keep_all_feasible_solutions_in_presolve(HasBits *has_bits)
static void set_has_restart_dl_average_ratio(HasBits *has_bits)
static void set_has_hint_conflict_limit(HasBits *has_bits)
static void set_has_binary_minimization_algorithm(HasBits *has_bits)
static void set_has_relative_gap_limit(HasBits *has_bits)
static void set_has_cp_model_max_num_presolve_operations(HasBits *has_bits)
static void set_has_share_level_zero_bounds(HasBits *has_bits)
static void set_has_linearization_level(HasBits *has_bits)
static void set_has_blocking_restart_window_size(HasBits *has_bits)
static void set_has_initial_variables_activity(HasBits *has_bits)
static void set_has_clause_cleanup_lbd_bound(HasBits *has_bits)
static void set_has_mip_check_precision(HasBits *has_bits)
static void set_has_max_number_of_conflicts(HasBits *has_bits)
static void set_has_stop_after_first_solution(HasBits *has_bits)
static void set_has_glucose_max_decay(HasBits *has_bits)
static void set_has_randomize_search(HasBits *has_bits)
static void set_has_cut_cleanup_target(HasBits *has_bits)
static void set_has_clause_cleanup_ordering(HasBits *has_bits)
static void set_has_add_cg_cuts(HasBits *has_bits)
static void set_has_count_assumption_levels_in_lbd(HasBits *has_bits)
static void set_has_boolean_encoding_level(HasBits *has_bits)
static void set_has_random_branches_ratio(HasBits *has_bits)
static void set_has_add_knapsack_cuts(HasBits *has_bits)
static void set_has_mip_automatically_scale_variables(HasBits *has_bits)
static void set_has_expand_table_constraints(HasBits *has_bits)
static void set_has_restart_running_window_size(HasBits *has_bits)
static void set_has_minimize_core(HasBits *has_bits)
static void set_has_use_probing_search(HasBits *has_bits)
static void set_has_treat_binary_clauses_separately(HasBits *has_bits)
static void set_has_use_erwa_heuristic(HasBits *has_bits)
static void set_has_presolve_blocked_clause(HasBits *has_bits)
static void set_has_interleave_search(HasBits *has_bits)
static void set_has_add_zero_half_cuts(HasBits *has_bits)
static void set_has_minimization_algorithm(HasBits *has_bits)
static void set_has_binary_search_num_conflicts(HasBits *has_bits)
static void set_has_presolve_probing_deterministic_time_limit(HasBits *has_bits)
static void set_has_enumerate_all_solutions(HasBits *has_bits)
static void set_has_max_variable_activity_value(HasBits *has_bits)
static void set_has_max_presolve_iterations(HasBits *has_bits)
static void set_has_optimize_with_max_hs(HasBits *has_bits)
static void set_has_instantiate_all_variables(HasBits *has_bits)
static void set_has_cp_model_use_sat_presolve(HasBits *has_bits)
static void set_has_pb_cleanup_ratio(HasBits *has_bits)
static void set_has_use_optimization_hints(HasBits *has_bits)
static void set_has_search_branching(HasBits *has_bits)
static void set_has_use_relaxation_lns(HasBits *has_bits)
static void set_has_optimize_with_core(HasBits *has_bits)
static void set_has_absolute_gap_limit(HasBits *has_bits)
static void set_has_repair_hint(HasBits *has_bits)
static void set_has_reduce_memory_usage_in_interleave_mode(HasBits *has_bits)
static void set_has_search_randomization_tolerance(HasBits *has_bits)
static void set_has_add_lp_constraints_lazily(HasBits *has_bits)
static void set_has_merge_at_most_one_work_limit(HasBits *has_bits)
static void set_has_presolve_use_bva(HasBits *has_bits)
static void set_has_exploit_all_lp_solution(HasBits *has_bits)
static void set_has_strategy_change_increase_ratio(HasBits *has_bits)
static void set_has_minimize_reduction_during_pb_resolution(HasBits *has_bits)
static void set_has_presolve_substitution_level(HasBits *has_bits)
static void set_has_name(HasBits *has_bits)
static void set_has_fp_rounding(HasBits *has_bits)
static void set_has_use_timetable_edge_finding_in_cumulative_constraint(HasBits *has_bits)
static void set_has_use_implied_bounds(HasBits *has_bits)
static void set_has_variable_activity_decay(HasBits *has_bits)
static void set_has_num_search_workers(HasBits *has_bits)
static void set_has_max_num_cuts(HasBits *has_bits)
static void set_has_clause_cleanup_period(HasBits *has_bits)
static void set_has_share_objective_bounds(HasBits *has_bits)
static void set_has_use_sat_inprocessing(HasBits *has_bits)
static void set_has_exploit_integer_lp_solution(HasBits *has_bits)
static void set_has_cut_max_active_count_value(HasBits *has_bits)
static void set_has_use_pb_resolution(HasBits *has_bits)
static void set_has_use_optional_variables(HasBits *has_bits)
static void set_has_initial_polarity(HasBits *has_bits)
static void set_has_find_multiple_cores(HasBits *has_bits)
static void set_has_use_overload_checker_in_cumulative_constraint(HasBits *has_bits)
static void set_has_minimize_with_propagation_num_decisions(HasBits *has_bits)
static void set_has_random_seed(HasBits *has_bits)
static void set_has_presolve_extract_integer_enforcement(HasBits *has_bits)
static void set_has_add_clique_cuts(HasBits *has_bits)
static void set_has_blocking_restart_multiplier(HasBits *has_bits)
static void set_has_cp_model_postsolve_with_full_solver(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< SatParameters > _instance
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseProtection_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatAssumptionOrder_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_VariableOrder_descriptor()
SatParameters_SearchBranching
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseOrdering_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_BinaryMinizationAlgorithm_descriptor()
SatParameters_FPRoundingMethod
class operations_research::sat::SatParametersDefaultTypeInternal _SatParameters_default_instance_
bool SatParameters_VariableOrder_IsValid(int value)
SatParameters_ConflictMinimizationAlgorithm
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_SearchBranching_descriptor()
SatParameters_ClauseOrdering
bool SatParameters_ClauseOrdering_IsValid(int value)
bool SatParameters_RestartAlgorithm_IsValid(int value)
SatParameters_VariableOrder
bool SatParameters_ClauseProtection_IsValid(int value)
SatParameters_BinaryMinizationAlgorithm
bool SatParameters_MaxSatAssumptionOrder_IsValid(int value)
SatParameters_MaxSatAssumptionOrder
bool SatParameters_BinaryMinizationAlgorithm_IsValid(int value)
SatParameters_RestartAlgorithm
bool SatParameters_SearchBranching_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ConflictMinimizationAlgorithm_descriptor()
bool SatParameters_ConflictMinimizationAlgorithm_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_Polarity_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_RestartAlgorithm_descriptor()
bool SatParameters_FPRoundingMethod_IsValid(int value)
bool SatParameters_MaxSatStratificationAlgorithm_IsValid(int value)
SatParameters_MaxSatStratificationAlgorithm
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatStratificationAlgorithm_descriptor()
bool SatParameters_Polarity_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_FPRoundingMethod_descriptor()
SatParameters_ClauseProtection
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fsat_5fparameters_2eproto[1]
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fsat_2fsat_5fparameters_2eproto[11]
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
static bool dynamic_init_dummy_ortools_2fsat_2fsat_5fparameters_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fsat_5fparameters_2eproto
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable *const descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_deps[1]
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_SatParameters_ortools_2fsat_2fsat_5fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_once
::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase *const descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_sccs[1]
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::sat::SatParameters * Arena::CreateMaybeMessage< ::operations_research::sat::SatParameters >(Arena *arena)
static void InitDefaultsscc_info_SatParameters_ortools_2fsat_2fsat_5fparameters_2eproto()
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fsat_5fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)