8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
16 #include <google/protobuf/port_def.inc>
18 PROTOBUF_PRAGMA_INIT_SEG
21 constexpr SatParameters::SatParameters(
22 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
23 : restart_algorithms_()
24 , default_restart_algorithms_(nullptr)
25 , name_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
26 , log_prefix_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
27 , preferred_variable_order_(0)
29 , max_sat_assumption_order_(0)
31 , random_branches_ratio_(0)
32 , random_polarity_ratio_(0)
33 , clause_cleanup_protection_(0)
35 , clause_cleanup_ordering_(0)
37 , strategy_change_increase_ratio_(0)
38 , num_conflicts_before_strategy_changes_(0)
39 , search_branching_(0)
41 , initial_variables_activity_(0)
42 , use_overload_checker_in_cumulative_constraint_(false)
43 , use_timetable_edge_finding_in_cumulative_constraint_(false)
44 , only_add_cuts_at_level_zero_(false)
45 , add_knapsack_cuts_(false)
46 , use_erwa_heuristic_(false)
47 , also_bump_variables_in_conflict_reasons_(false)
48 , use_blocking_restart_(false)
49 , permute_variable_randomly_(false)
50 , search_randomization_tolerance_(PROTOBUF_LONGLONG(0))
51 , use_pb_resolution_(false)
52 , minimize_reduction_during_pb_resolution_(false)
53 , cp_model_postsolve_with_full_solver_(false)
54 , use_sat_inprocessing_(false)
55 , optimize_with_core_(false)
56 , optimize_with_max_hs_(false)
57 , enumerate_all_solutions_(false)
58 , keep_all_feasible_solutions_in_presolve_(false)
59 , reduce_memory_usage_in_interleave_mode_(false)
60 , use_lns_only_(false)
61 , lns_focus_on_decision_variables_(false)
62 , use_relaxation_lns_(false)
63 , diversify_lns_params_(false)
64 , randomize_search_(false)
65 , use_branching_in_lp_(false)
66 , use_combined_no_overlap_(false)
67 , fill_tightened_domains_in_response_(false)
68 , stop_after_first_solution_(false)
69 , stop_after_presolve_(false)
70 , interleave_search_(false)
71 , expand_alldiff_constraints_(false)
72 , disable_constraint_expansion_(false)
73 , presolve_extract_integer_enforcement_(false)
74 , max_sat_reverse_assumption_order_(false)
75 , probing_period_at_root_(PROTOBUF_LONGLONG(0))
76 , permute_presolve_constraint_order_(false)
77 , use_absl_random_(false)
78 , log_search_progress_(false)
79 , log_to_response_(false)
80 , cp_model_max_num_presolve_operations_(0)
81 , absolute_gap_limit_(0)
82 , relative_gap_limit_(0)
84 , exploit_best_solution_(false)
85 , exploit_relaxation_solution_(false)
86 , use_probing_search_(false)
87 , polish_lp_solution_(false)
88 , convert_intervals_(false)
89 , initial_polarity_(1)
91 , minimization_algorithm_(2)
93 , clause_cleanup_period_(10000)
94 , clause_cleanup_target_(10000)
95 , variable_activity_decay_(0.8)
96 , max_variable_activity_value_(1e+100)
97 , clause_activity_decay_(0.999)
98 , max_clause_activity_value_(1e+20)
99 , glucose_max_decay_(0.95)
100 , glucose_decay_increment_(0.01)
101 , glucose_decay_increment_period_(5000)
102 , restart_period_(50)
104 , binary_minimization_algorithm_(1)
106 , max_time_in_seconds_(std::numeric_limits<double>::infinity())
107 , max_number_of_conflicts_(PROTOBUF_LONGLONG(9223372036854775807))
108 , max_memory_in_mb_(PROTOBUF_LONGLONG(10000))
109 , pb_cleanup_ratio_(0.5)
110 , pb_cleanup_increment_(200)
111 , max_sat_stratification_(1)
113 , presolve_bve_threshold_(500)
114 , presolve_bve_clause_weight_(3)
115 , presolve_probing_deterministic_time_limit_(30)
116 , clause_cleanup_lbd_bound_(5)
117 , restart_running_window_size_(50)
118 , restart_dl_average_ratio_(1)
119 , blocking_restart_multiplier_(1.4)
120 , max_deterministic_time_(std::numeric_limits<double>::infinity())
121 , blocking_restart_window_size_(5000)
122 , presolve_bva_threshold_(1)
123 , restart_lbd_average_ratio_(1)
124 , count_assumption_levels_in_lbd_(true)
125 , presolve_blocked_clause_(true)
126 , presolve_use_bva_(true)
127 , cp_model_presolve_(true)
128 , use_phase_saving_(true)
129 , subsumption_during_conflict_analysis_(true)
130 , treat_binary_clauses_separately_(true)
131 , log_to_stdout_(true)
132 , expand_reservoir_constraints_(true)
133 , use_optimization_hints_(true)
134 , minimize_core_(true)
135 , find_multiple_cores_(true)
136 , linearization_level_(1)
137 , cover_optimization_(true)
138 , use_precedences_in_disjunctive_constraint_(true)
139 , use_disjunctive_constraint_in_cumulative_constraint_(true)
141 , max_num_cuts_(10000)
142 , minimize_with_propagation_restart_period_(10)
143 , minimize_with_propagation_num_decisions_(1000)
144 , binary_search_num_conflicts_(-1)
145 , num_search_workers_(1)
146 , boolean_encoding_level_(1)
147 , instantiate_all_variables_(true)
148 , auto_detect_greater_than_at_least_one_of_(true)
149 , share_objective_bounds_(true)
150 , share_level_zero_bounds_(true)
151 , cp_model_probing_level_(2)
152 , add_lp_constraints_lazily_(true)
153 , exploit_integer_lp_solution_(true)
154 , exploit_all_lp_solution_(true)
155 , exploit_objective_(true)
156 , min_orthogonality_for_lp_constraints_(0.05)
157 , max_integer_rounding_scaling_(600)
158 , max_consecutive_inactive_count_(100)
159 , pseudo_cost_reliability_threshold_(PROTOBUF_LONGLONG(100))
160 , mip_max_bound_(10000000)
161 , new_constraints_batch_size_(50)
162 , mip_max_activity_exponent_(53)
163 , mip_var_scaling_(1)
164 , mip_wanted_precision_(1e-06)
165 , mip_check_precision_(0.0001)
166 , cp_model_use_sat_presolve_(true)
167 , expand_element_constraints_(true)
168 , expand_automaton_constraints_(true)
169 , expand_table_constraints_(true)
170 , interleave_batch_size_(1)
171 , max_presolve_iterations_(3)
172 , use_exact_lp_reason_(true)
173 , catch_sigint_signal_(true)
174 , use_implied_bounds_(true)
175 , mip_automatically_scale_variables_(true)
176 , merge_no_overlap_work_limit_(1000000000000)
177 , merge_at_most_one_work_limit_(100000000)
178 , lns_expand_intervals_in_constraint_graph_(true)
179 , use_rins_lns_(true)
180 , use_feasibility_pump_(true)
181 , use_optional_variables_(true)
182 , presolve_substitution_level_(1)
183 , max_all_diff_cut_size_(7)
184 , hint_conflict_limit_(10)
185 , add_mir_cuts_(true)
186 , add_zero_half_cuts_(true)
187 , add_clique_cuts_(true)
188 , add_lin_max_cuts_(true)
189 , max_cut_rounds_at_level_zero_(1)
190 , cut_max_active_count_value_(10000000000)
191 , cut_active_count_decay_(0.8)
192 , cut_cleanup_target_(1000)
195 , polarity_rephase_increment_(1000)
196 , symmetry_level_(2){}
199 : _instance(::PROTOBUF_NAMESPACE_ID::
internal::ConstantInitialized{}) {}
213 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, _has_bits_),
214 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, _internal_metadata_),
218 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, name_),
219 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, preferred_variable_order_),
220 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, initial_polarity_),
221 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_phase_saving_),
222 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, polarity_rephase_increment_),
223 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_polarity_ratio_),
224 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_branches_ratio_),
225 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_erwa_heuristic_),
226 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, initial_variables_activity_),
227 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, also_bump_variables_in_conflict_reasons_),
228 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimization_algorithm_),
229 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, binary_minimization_algorithm_),
230 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, subsumption_during_conflict_analysis_),
231 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_period_),
232 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_target_),
233 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_protection_),
234 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_lbd_bound_),
235 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_ordering_),
236 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pb_cleanup_increment_),
237 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pb_cleanup_ratio_),
238 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_with_propagation_restart_period_),
239 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_with_propagation_num_decisions_),
240 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, variable_activity_decay_),
241 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_variable_activity_value_),
242 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_max_decay_),
243 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_decay_increment_),
244 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_decay_increment_period_),
245 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_activity_decay_),
246 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_clause_activity_value_),
247 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_algorithms_),
248 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, default_restart_algorithms_),
249 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_period_),
250 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_running_window_size_),
251 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_dl_average_ratio_),
252 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_lbd_average_ratio_),
253 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_blocking_restart_),
254 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, blocking_restart_window_size_),
255 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, blocking_restart_multiplier_),
256 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, num_conflicts_before_strategy_changes_),
257 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, strategy_change_increase_ratio_),
258 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_time_in_seconds_),
259 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_deterministic_time_),
260 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_number_of_conflicts_),
261 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_memory_in_mb_),
262 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, absolute_gap_limit_),
263 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, relative_gap_limit_),
264 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, treat_binary_clauses_separately_),
265 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_seed_),
266 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, permute_variable_randomly_),
267 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, permute_presolve_constraint_order_),
268 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_absl_random_),
269 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, log_search_progress_),
270 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, log_prefix_),
271 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, log_to_stdout_),
272 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, log_to_response_),
273 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_pb_resolution_),
274 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_reduction_during_pb_resolution_),
275 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, count_assumption_levels_in_lbd_),
276 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bve_threshold_),
277 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bve_clause_weight_),
278 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_probing_deterministic_time_limit_),
279 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_blocked_clause_),
280 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_use_bva_),
281 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bva_threshold_),
282 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_presolve_iterations_),
283 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_presolve_),
284 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_postsolve_with_full_solver_),
285 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_max_num_presolve_operations_),
286 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_probing_level_),
287 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_use_sat_presolve_),
288 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_sat_inprocessing_),
289 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_element_constraints_),
290 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_automaton_constraints_),
291 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_table_constraints_),
292 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_alldiff_constraints_),
293 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_reservoir_constraints_),
294 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, disable_constraint_expansion_),
295 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, merge_no_overlap_work_limit_),
296 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, merge_at_most_one_work_limit_),
297 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_substitution_level_),
298 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_extract_integer_enforcement_),
299 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_optimization_hints_),
300 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_core_),
301 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, find_multiple_cores_),
302 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cover_optimization_),
303 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_assumption_order_),
304 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_reverse_assumption_order_),
305 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_stratification_),
306 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_precedences_in_disjunctive_constraint_),
307 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_overload_checker_in_cumulative_constraint_),
308 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_timetable_edge_finding_in_cumulative_constraint_),
309 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_disjunctive_constraint_in_cumulative_constraint_),
310 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, linearization_level_),
311 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, boolean_encoding_level_),
312 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_num_cuts_),
313 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, only_add_cuts_at_level_zero_),
314 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_knapsack_cuts_),
315 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_cg_cuts_),
316 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_mir_cuts_),
317 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_zero_half_cuts_),
318 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_clique_cuts_),
319 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_all_diff_cut_size_),
320 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_lin_max_cuts_),
321 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_integer_rounding_scaling_),
322 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_lp_constraints_lazily_),
323 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, min_orthogonality_for_lp_constraints_),
324 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_cut_rounds_at_level_zero_),
325 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_consecutive_inactive_count_),
326 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_max_active_count_value_),
327 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_active_count_decay_),
328 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_cleanup_target_),
329 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, new_constraints_batch_size_),
330 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, search_branching_),
331 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, hint_conflict_limit_),
332 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, repair_hint_),
333 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_integer_lp_solution_),
334 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_all_lp_solution_),
335 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_best_solution_),
336 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_relaxation_solution_),
337 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_objective_),
338 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, probing_period_at_root_),
339 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_probing_search_),
340 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pseudo_cost_reliability_threshold_),
341 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, optimize_with_core_),
342 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, binary_search_num_conflicts_),
343 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, optimize_with_max_hs_),
344 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, enumerate_all_solutions_),
345 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, keep_all_feasible_solutions_in_presolve_),
346 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, fill_tightened_domains_in_response_),
347 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, instantiate_all_variables_),
348 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, auto_detect_greater_than_at_least_one_of_),
349 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, stop_after_first_solution_),
350 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, stop_after_presolve_),
351 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, num_search_workers_),
352 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, interleave_search_),
353 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, interleave_batch_size_),
354 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, reduce_memory_usage_in_interleave_mode_),
355 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, share_objective_bounds_),
356 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, share_level_zero_bounds_),
357 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_lns_only_),
358 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, lns_focus_on_decision_variables_),
359 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, lns_expand_intervals_in_constraint_graph_),
360 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_rins_lns_),
361 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_feasibility_pump_),
362 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, fp_rounding_),
363 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_relaxation_lns_),
364 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, diversify_lns_params_),
365 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, randomize_search_),
366 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, search_randomization_tolerance_),
367 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_optional_variables_),
368 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_exact_lp_reason_),
369 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_branching_in_lp_),
370 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_combined_no_overlap_),
371 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, catch_sigint_signal_),
372 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_implied_bounds_),
373 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, polish_lp_solution_),
374 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, convert_intervals_),
375 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, symmetry_level_),
376 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_max_bound_),
377 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_var_scaling_),
378 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_automatically_scale_variables_),
379 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_wanted_precision_),
380 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_max_activity_exponent_),
381 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_check_precision_),
548 { 0, 169,
sizeof(::operations_research::sat::SatParameters)},
555 const char descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
556 "\n ortools/sat/sat_parameters.proto\022\027oper"
557 "ations_research.sat\"\366C\n\rSatParameters\022\017\n"
558 "\004name\030\253\001 \001(\t:\000\022`\n\030preferred_variable_ord"
559 "er\030\001 \001(\01624.operations_research.sat.SatPa"
560 "rameters.VariableOrder:\010IN_ORDER\022Y\n\020init"
561 "ial_polarity\030\002 \001(\0162/.operations_research"
562 ".sat.SatParameters.Polarity:\016POLARITY_FA"
563 "LSE\022\036\n\020use_phase_saving\030, \001(\010:\004true\022)\n\032p"
564 "olarity_rephase_increment\030\250\001 \001(\005:\0041000\022 "
565 "\n\025random_polarity_ratio\030- \001(\001:\0010\022 \n\025rand"
566 "om_branches_ratio\030 \001(\001:\0010\022!\n\022use_erwa_h"
567 "euristic\030K \001(\010:\005false\022%\n\032initial_variabl"
568 "es_activity\030L \001(\001:\0010\0226\n\'also_bump_variab"
569 "les_in_conflict_reasons\030M \001(\010:\005false\022o\n\026"
570 "minimization_algorithm\030\004 \001(\0162D.operation"
571 "s_research.sat.SatParameters.ConflictMin"
572 "imizationAlgorithm:\tRECURSIVE\022\202\001\n\035binary"
573 "_minimization_algorithm\030\" \001(\0162@.operatio"
574 "ns_research.sat.SatParameters.BinaryMini"
575 "zationAlgorithm:\031BINARY_MINIMIZATION_FIR"
576 "ST\0222\n$subsumption_during_conflict_analys"
577 "is\0308 \001(\010:\004true\022$\n\025clause_cleanup_period\030"
578 "\013 \001(\005:\00510000\022$\n\025clause_cleanup_target\030\r "
579 "\001(\005:\00510000\022k\n\031clause_cleanup_protection\030"
580 ": \001(\01627.operations_research.sat.SatParam"
581 "eters.ClauseProtection:\017PROTECTION_NONE\022"
582 "#\n\030clause_cleanup_lbd_bound\030; \001(\005:\0015\022g\n\027"
583 "clause_cleanup_ordering\030< \001(\01625.operatio"
584 "ns_research.sat.SatParameters.ClauseOrde"
585 "ring:\017CLAUSE_ACTIVITY\022!\n\024pb_cleanup_incr"
586 "ement\030. \001(\005:\003200\022\035\n\020pb_cleanup_ratio\030/ \001"
587 "(\001:\0030.5\0224\n(minimize_with_propagation_res"
588 "tart_period\030` \001(\005:\00210\0225\n\'minimize_with_p"
589 "ropagation_num_decisions\030a \001(\005:\0041000\022$\n\027"
590 "variable_activity_decay\030\017 \001(\001:\0030.8\022+\n\033ma"
591 "x_variable_activity_value\030\020 \001(\001:\0061e+100\022"
592 "\037\n\021glucose_max_decay\030\026 \001(\001:\0040.95\022%\n\027gluc"
593 "ose_decay_increment\030\027 \001(\001:\0040.01\022,\n\036gluco"
594 "se_decay_increment_period\030\030 \001(\005:\0045000\022$\n"
595 "\025clause_activity_decay\030\021 \001(\001:\0050.999\022(\n\031m"
596 "ax_clause_activity_value\030\022 \001(\001:\0051e+20\022S\n"
597 "\022restart_algorithms\030= \003(\01627.operations_r"
598 "esearch.sat.SatParameters.RestartAlgorit"
599 "hm\022e\n\032default_restart_algorithms\030F \001(\t:A"
600 "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,"
601 "DL_MOVING_AVERAGE_RESTART\022\032\n\016restart_per"
602 "iod\030\036 \001(\005:\00250\022\'\n\033restart_running_window_"
603 "size\030> \001(\005:\00250\022#\n\030restart_dl_average_rat"
604 "io\030\? \001(\001:\0011\022$\n\031restart_lbd_average_ratio"
605 "\030G \001(\001:\0011\022#\n\024use_blocking_restart\030@ \001(\010:"
606 "\005false\022*\n\034blocking_restart_window_size\030A"
607 " \001(\005:\0045000\022(\n\033blocking_restart_multiplie"
608 "r\030B \001(\001:\0031.4\0220\n%num_conflicts_before_str"
609 "ategy_changes\030D \001(\005:\0010\022)\n\036strategy_chang"
610 "e_increase_ratio\030E \001(\001:\0010\022 \n\023max_time_in"
611 "_seconds\030$ \001(\001:\003inf\022#\n\026max_deterministic"
612 "_time\030C \001(\001:\003inf\0224\n\027max_number_of_confli"
613 "cts\030% \001(\003:\0239223372036854775807\022\037\n\020max_me"
614 "mory_in_mb\030( \001(\003:\00510000\022\036\n\022absolute_gap_"
615 "limit\030\237\001 \001(\001:\0010\022\036\n\022relative_gap_limit\030\240\001"
616 " \001(\001:\0010\022-\n\037treat_binary_clauses_separate"
617 "ly\030! \001(\010:\004true\022\026\n\013random_seed\030\037 \001(\005:\0011\022)"
618 "\n\031permute_variable_randomly\030\262\001 \001(\010:\005fals"
619 "e\0221\n!permute_presolve_constraint_order\030\263"
620 "\001 \001(\010:\005false\022\037\n\017use_absl_random\030\264\001 \001(\010:\005"
621 "false\022\"\n\023log_search_progress\030) \001(\010:\005fals"
622 "e\022\025\n\nlog_prefix\030\271\001 \001(\t:\000\022\034\n\rlog_to_stdou"
623 "t\030\272\001 \001(\010:\004true\022\037\n\017log_to_response\030\273\001 \001(\010"
624 ":\005false\022 \n\021use_pb_resolution\030+ \001(\010:\005fals"
625 "e\0226\n\'minimize_reduction_during_pb_resolu"
626 "tion\0300 \001(\010:\005false\022,\n\036count_assumption_le"
627 "vels_in_lbd\0301 \001(\010:\004true\022#\n\026presolve_bve_"
628 "threshold\0306 \001(\005:\003500\022%\n\032presolve_bve_cla"
629 "use_weight\0307 \001(\005:\0013\0225\n)presolve_probing_"
630 "deterministic_time_limit\0309 \001(\001:\00230\022%\n\027pr"
631 "esolve_blocked_clause\030X \001(\010:\004true\022\036\n\020pre"
632 "solve_use_bva\030H \001(\010:\004true\022!\n\026presolve_bv"
633 "a_threshold\030I \001(\005:\0011\022#\n\027max_presolve_ite"
634 "rations\030\212\001 \001(\005:\0013\022\037\n\021cp_model_presolve\030V"
635 " \001(\010:\004true\0223\n#cp_model_postsolve_with_fu"
636 "ll_solver\030\242\001 \001(\010:\005false\0220\n$cp_model_max_"
637 "num_presolve_operations\030\227\001 \001(\005:\0010\022!\n\026cp_"
638 "model_probing_level\030n \001(\005:\0012\022\'\n\031cp_model"
639 "_use_sat_presolve\030] \001(\010:\004true\022$\n\024use_sat"
640 "_inprocessing\030\243\001 \001(\010:\005false\022)\n\032expand_el"
641 "ement_constraints\030\214\001 \001(\010:\004true\022+\n\034expand"
642 "_automaton_constraints\030\217\001 \001(\010:\004true\022\'\n\030e"
643 "xpand_table_constraints\030\236\001 \001(\010:\004true\022*\n\032"
644 "expand_alldiff_constraints\030\252\001 \001(\010:\005false"
645 "\022+\n\034expand_reservoir_constraints\030\266\001 \001(\010:"
646 "\004true\022,\n\034disable_constraint_expansion\030\265\001"
647 " \001(\010:\005false\0223\n\033merge_no_overlap_work_lim"
648 "it\030\221\001 \001(\001:\r1000000000000\0220\n\034merge_at_mos"
649 "t_one_work_limit\030\222\001 \001(\001:\t100000000\022\'\n\033pr"
650 "esolve_substitution_level\030\223\001 \001(\005:\0011\0224\n$p"
651 "resolve_extract_integer_enforcement\030\256\001 \001"
652 "(\010:\005false\022$\n\026use_optimization_hints\030# \001("
653 "\010:\004true\022\033\n\rminimize_core\0302 \001(\010:\004true\022!\n\023"
654 "find_multiple_cores\030T \001(\010:\004true\022 \n\022cover"
655 "_optimization\030Y \001(\010:\004true\022x\n\030max_sat_ass"
656 "umption_order\0303 \001(\0162<.operations_researc"
657 "h.sat.SatParameters.MaxSatAssumptionOrde"
658 "r:\030DEFAULT_ASSUMPTION_ORDER\022/\n max_sat_r"
659 "everse_assumption_order\0304 \001(\010:\005false\022|\n\026"
660 "max_sat_stratification\0305 \001(\0162D.operation"
661 "s_research.sat.SatParameters.MaxSatStrat"
662 "ificationAlgorithm:\026STRATIFICATION_DESCE"
663 "NT\0227\n)use_precedences_in_disjunctive_con"
664 "straint\030J \001(\010:\004true\022<\n-use_overload_chec"
665 "ker_in_cumulative_constraint\030N \001(\010:\005fals"
666 "e\022B\n3use_timetable_edge_finding_in_cumul"
667 "ative_constraint\030O \001(\010:\005false\022A\n3use_dis"
668 "junctive_constraint_in_cumulative_constr"
669 "aint\030P \001(\010:\004true\022\036\n\023linearization_level\030"
670 "Z \001(\005:\0011\022!\n\026boolean_encoding_level\030k \001(\005"
671 ":\0011\022\033\n\014max_num_cuts\030[ \001(\005:\00510000\022*\n\033only"
672 "_add_cuts_at_level_zero\030\\ \001(\010:\005false\022 \n\021"
673 "add_knapsack_cuts\030o \001(\010:\005false\022\031\n\013add_cg"
674 "_cuts\030u \001(\010:\004true\022\032\n\014add_mir_cuts\030x \001(\010:"
675 "\004true\022!\n\022add_zero_half_cuts\030\251\001 \001(\010:\004true"
676 "\022\036\n\017add_clique_cuts\030\254\001 \001(\010:\004true\022!\n\025max_"
677 "all_diff_cut_size\030\224\001 \001(\005:\0017\022\037\n\020add_lin_m"
678 "ax_cuts\030\230\001 \001(\010:\004true\022)\n\034max_integer_roun"
679 "ding_scaling\030w \001(\005:\003600\022\'\n\031add_lp_constr"
680 "aints_lazily\030p \001(\010:\004true\0222\n$min_orthogon"
681 "ality_for_lp_constraints\030s \001(\001:\0040.05\022(\n\034"
682 "max_cut_rounds_at_level_zero\030\232\001 \001(\005:\0011\022+"
683 "\n\036max_consecutive_inactive_count\030y \001(\005:\003"
684 "100\0220\n\032cut_max_active_count_value\030\233\001 \001(\001"
685 ":\01310000000000\022$\n\026cut_active_count_decay\030"
686 "\234\001 \001(\001:\0030.8\022!\n\022cut_cleanup_target\030\235\001 \001(\005"
687 ":\0041000\022&\n\032new_constraints_batch_size\030z \001"
688 "(\005:\00250\022b\n\020search_branching\030R \001(\01626.opera"
689 "tions_research.sat.SatParameters.SearchB"
690 "ranching:\020AUTOMATIC_SEARCH\022 \n\023hint_confl"
691 "ict_limit\030\231\001 \001(\005:\00210\022\033\n\013repair_hint\030\247\001 \001"
692 "(\010:\005false\022)\n\033exploit_integer_lp_solution"
693 "\030^ \001(\010:\004true\022%\n\027exploit_all_lp_solution\030"
694 "t \001(\010:\004true\022%\n\025exploit_best_solution\030\202\001 "
695 "\001(\010:\005false\022+\n\033exploit_relaxation_solutio"
696 "n\030\241\001 \001(\010:\005false\022 \n\021exploit_objective\030\203\001 "
697 "\001(\010:\004true\022\"\n\026probing_period_at_root\030\216\001 \001"
698 "(\003:\0010\022\"\n\022use_probing_search\030\260\001 \001(\010:\005fals"
699 "e\022.\n!pseudo_cost_reliability_threshold\030{"
700 " \001(\003:\003100\022!\n\022optimize_with_core\030S \001(\010:\005f"
701 "alse\022\'\n\033binary_search_num_conflicts\030c \001("
702 "\005:\002-1\022#\n\024optimize_with_max_hs\030U \001(\010:\005fal"
703 "se\022&\n\027enumerate_all_solutions\030W \001(\010:\005fal"
704 "se\0227\n\'keep_all_feasible_solutions_in_pre"
705 "solve\030\255\001 \001(\010:\005false\0222\n\"fill_tightened_do"
706 "mains_in_response\030\204\001 \001(\010:\005false\022\'\n\031insta"
707 "ntiate_all_variables\030j \001(\010:\004true\0226\n(auto"
708 "_detect_greater_than_at_least_one_of\030_ \001"
709 "(\010:\004true\022(\n\031stop_after_first_solution\030b "
710 "\001(\010:\005false\022#\n\023stop_after_presolve\030\225\001 \001(\010"
711 ":\005false\022\035\n\022num_search_workers\030d \001(\005:\0011\022!"
712 "\n\021interleave_search\030\210\001 \001(\010:\005false\022!\n\025int"
713 "erleave_batch_size\030\206\001 \001(\005:\0011\0226\n&reduce_m"
714 "emory_usage_in_interleave_mode\030\215\001 \001(\010:\005f"
715 "alse\022$\n\026share_objective_bounds\030q \001(\010:\004tr"
716 "ue\022%\n\027share_level_zero_bounds\030r \001(\010:\004tru"
717 "e\022\033\n\014use_lns_only\030e \001(\010:\005false\022.\n\037lns_fo"
718 "cus_on_decision_variables\030i \001(\010:\005false\0227"
719 "\n(lns_expand_intervals_in_constraint_gra"
720 "ph\030\270\001 \001(\010:\004true\022\033\n\014use_rins_lns\030\201\001 \001(\010:\004"
721 "true\022#\n\024use_feasibility_pump\030\244\001 \001(\010:\004tru"
722 "e\022c\n\013fp_rounding\030\245\001 \001(\01627.operations_res"
723 "earch.sat.SatParameters.FPRoundingMethod"
724 ":\024PROPAGATION_ASSISTED\022\"\n\022use_relaxation"
725 "_lns\030\226\001 \001(\010:\005false\022$\n\024diversify_lns_para"
726 "ms\030\211\001 \001(\010:\005false\022\037\n\020randomize_search\030g \001"
727 "(\010:\005false\022)\n\036search_randomization_tolera"
728 "nce\030h \001(\003:\0010\022$\n\026use_optional_variables\030l"
729 " \001(\010:\004true\022!\n\023use_exact_lp_reason\030m \001(\010:"
730 "\004true\022#\n\023use_branching_in_lp\030\213\001 \001(\010:\005fal"
731 "se\022\'\n\027use_combined_no_overlap\030\205\001 \001(\010:\005fa"
732 "lse\022\"\n\023catch_sigint_signal\030\207\001 \001(\010:\004true\022"
733 "!\n\022use_implied_bounds\030\220\001 \001(\010:\004true\022\"\n\022po"
734 "lish_lp_solution\030\257\001 \001(\010:\005false\022!\n\021conver"
735 "t_intervals\030\261\001 \001(\010:\005false\022\032\n\016symmetry_le"
736 "vel\030\267\001 \001(\005:\0012\022\037\n\rmip_max_bound\030| \001(\001:\01010"
737 "000000\022\032\n\017mip_var_scaling\030} \001(\001:\0011\0220\n!mi"
738 "p_automatically_scale_variables\030\246\001 \001(\010:\004"
739 "true\022#\n\024mip_wanted_precision\030~ \001(\001:\0051e-0"
740 "6\022%\n\031mip_max_activity_exponent\030\177 \001(\005:\00253"
741 "\022$\n\023mip_check_precision\030\200\001 \001(\001:\0060.0001\"H"
742 "\n\rVariableOrder\022\014\n\010IN_ORDER\020\000\022\024\n\020IN_REVE"
743 "RSE_ORDER\020\001\022\023\n\017IN_RANDOM_ORDER\020\002\"\206\001\n\010Pol"
744 "arity\022\021\n\rPOLARITY_TRUE\020\000\022\022\n\016POLARITY_FAL"
745 "SE\020\001\022\023\n\017POLARITY_RANDOM\020\002\022\032\n\026POLARITY_WE"
746 "IGHTED_SIGN\020\003\022\"\n\036POLARITY_REVERSE_WEIGHT"
747 "ED_SIGN\020\004\"V\n\035ConflictMinimizationAlgorit"
748 "hm\022\010\n\004NONE\020\000\022\n\n\006SIMPLE\020\001\022\r\n\tRECURSIVE\020\002\022"
749 "\020\n\014EXPERIMENTAL\020\003\"\340\001\n\031BinaryMinizationAl"
750 "gorithm\022\032\n\026NO_BINARY_MINIMIZATION\020\000\022\035\n\031B"
751 "INARY_MINIMIZATION_FIRST\020\001\0227\n3BINARY_MIN"
752 "IMIZATION_FIRST_WITH_TRANSITIVE_REDUCTIO"
753 "N\020\004\022)\n%BINARY_MINIMIZATION_WITH_REACHABI"
754 "LITY\020\002\022$\n EXPERIMENTAL_BINARY_MINIMIZATI"
755 "ON\020\003\"R\n\020ClauseProtection\022\023\n\017PROTECTION_N"
756 "ONE\020\000\022\025\n\021PROTECTION_ALWAYS\020\001\022\022\n\016PROTECTI"
757 "ON_LBD\020\002\"5\n\016ClauseOrdering\022\023\n\017CLAUSE_ACT"
758 "IVITY\020\000\022\016\n\nCLAUSE_LBD\020\001\"\206\001\n\020RestartAlgor"
759 "ithm\022\016\n\nNO_RESTART\020\000\022\020\n\014LUBY_RESTART\020\001\022\035"
760 "\n\031DL_MOVING_AVERAGE_RESTART\020\002\022\036\n\032LBD_MOV"
761 "ING_AVERAGE_RESTART\020\003\022\021\n\rFIXED_RESTART\020\004"
762 "\"t\n\025MaxSatAssumptionOrder\022\034\n\030DEFAULT_ASS"
763 "UMPTION_ORDER\020\000\022\035\n\031ORDER_ASSUMPTION_BY_D"
764 "EPTH\020\001\022\036\n\032ORDER_ASSUMPTION_BY_WEIGHT\020\002\"o"
765 "\n\035MaxSatStratificationAlgorithm\022\027\n\023STRAT"
766 "IFICATION_NONE\020\000\022\032\n\026STRATIFICATION_DESCE"
767 "NT\020\001\022\031\n\025STRATIFICATION_ASCENT\020\002\"\260\001\n\017Sear"
768 "chBranching\022\024\n\020AUTOMATIC_SEARCH\020\000\022\020\n\014FIX"
769 "ED_SEARCH\020\001\022\024\n\020PORTFOLIO_SEARCH\020\002\022\r\n\tLP_"
770 "SEARCH\020\003\022\026\n\022PSEUDO_COST_SEARCH\020\004\022\'\n#PORT"
771 "FOLIO_WITH_QUICK_RESTART_SEARCH\020\005\022\017\n\013HIN"
772 "T_SEARCH\020\006\"h\n\020FPRoundingMethod\022\023\n\017NEARES"
773 "T_INTEGER\020\000\022\016\n\nLOCK_BASED\020\001\022\025\n\021ACTIVE_LO"
774 "CK_BASED\020\003\022\030\n\024PROPAGATION_ASSISTED\020\002B\032\n\026"
775 "com.google.ortools.satP\001"
779 false,
false, 8784, descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto,
"ortools/sat/sat_parameters.proto",
784 PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata
809 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
815 constexpr
int SatParameters::VariableOrder_ARRAYSIZE;
834 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
842 constexpr
int SatParameters::Polarity_ARRAYSIZE;
860 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
867 constexpr
int SatParameters::ConflictMinimizationAlgorithm_ARRAYSIZE;
886 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
894 constexpr
int SatParameters::BinaryMinizationAlgorithm_ARRAYSIZE;
911 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
917 constexpr
int SatParameters::ClauseProtection_ARRAYSIZE;
933 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
938 constexpr
int SatParameters::ClauseOrdering_ARRAYSIZE;
957 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
965 constexpr
int SatParameters::RestartAlgorithm_ARRAYSIZE;
982 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
988 constexpr
int SatParameters::MaxSatAssumptionOrder_ARRAYSIZE;
1005 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1011 constexpr
int SatParameters::MaxSatStratificationAlgorithm_ARRAYSIZE;
1032 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1042 constexpr
int SatParameters::SearchBranching_ARRAYSIZE;
1060 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1067 constexpr
int SatParameters::FPRoundingMethod_ARRAYSIZE;
1074 using HasBits = decltype(std::declval<SatParameters>()._has_bits_);
1076 (*has_bits)[0] |= 2u;
1079 (*has_bits)[0] |= 8u;
1082 (*has_bits)[1] |= 268435456u;
1085 (*has_bits)[2] |= 2147483648u;
1088 (*has_bits)[5] |= 2u;
1091 (*has_bits)[0] |= 64u;
1094 (*has_bits)[0] |= 32u;
1097 (*has_bits)[0] |= 131072u;
1100 (*has_bits)[0] |= 4096u;
1103 (*has_bits)[0] |= 262144u;
1106 (*has_bits)[1] |= 536870912u;
1109 (*has_bits)[2] |= 512u;
1112 (*has_bits)[3] |= 1u;
1115 (*has_bits)[1] |= 1073741824u;
1118 (*has_bits)[1] |= 2147483648u;
1121 (*has_bits)[0] |= 128u;
1124 (*has_bits)[2] |= 524288u;
1127 (*has_bits)[0] |= 256u;
1130 (*has_bits)[2] |= 16384u;
1133 (*has_bits)[2] |= 8192u;
1136 (*has_bits)[3] |= 8192u;
1139 (*has_bits)[3] |= 16384u;
1142 (*has_bits)[2] |= 1u;
1145 (*has_bits)[2] |= 2u;
1148 (*has_bits)[2] |= 16u;
1151 (*has_bits)[2] |= 32u;
1154 (*has_bits)[2] |= 64u;
1157 (*has_bits)[2] |= 4u;
1160 (*has_bits)[2] |= 8u;
1163 (*has_bits)[0] |= 1u;
1166 (*has_bits)[2] |= 128u;
1169 (*has_bits)[2] |= 1048576u;
1172 (*has_bits)[2] |= 2097152u;
1175 (*has_bits)[2] |= 67108864u;
1178 (*has_bits)[0] |= 524288u;
1181 (*has_bits)[2] |= 16777216u;
1184 (*has_bits)[2] |= 4194304u;
1187 (*has_bits)[0] |= 1024u;
1190 (*has_bits)[0] |= 512u;
1193 (*has_bits)[2] |= 1024u;
1196 (*has_bits)[2] |= 8388608u;
1199 (*has_bits)[2] |= 2048u;
1202 (*has_bits)[2] |= 4096u;
1205 (*has_bits)[1] |= 1048576u;
1208 (*has_bits)[1] |= 2097152u;
1211 (*has_bits)[3] |= 2u;
1214 (*has_bits)[2] |= 256u;
1217 (*has_bits)[0] |= 1048576u;
1220 (*has_bits)[1] |= 32768u;
1223 (*has_bits)[1] |= 65536u;
1226 (*has_bits)[1] |= 131072u;
1229 (*has_bits)[0] |= 4u;
1232 (*has_bits)[3] |= 4u;
1235 (*has_bits)[1] |= 262144u;
1238 (*has_bits)[0] |= 4194304u;
1241 (*has_bits)[0] |= 8388608u;
1244 (*has_bits)[2] |= 134217728u;
1247 (*has_bits)[2] |= 65536u;
1250 (*has_bits)[2] |= 131072u;
1253 (*has_bits)[2] |= 262144u;
1256 (*has_bits)[2] |= 268435456u;
1259 (*has_bits)[2] |= 536870912u;
1262 (*has_bits)[2] |= 33554432u;
1265 (*has_bits)[4] |= 1024u;
1268 (*has_bits)[2] |= 1073741824u;
1271 (*has_bits)[0] |= 16777216u;
1274 (*has_bits)[1] |= 524288u;
1277 (*has_bits)[3] |= 4194304u;
1280 (*has_bits)[4] |= 32u;
1283 (*has_bits)[0] |= 33554432u;
1286 (*has_bits)[4] |= 64u;
1289 (*has_bits)[4] |= 128u;
1292 (*has_bits)[4] |= 256u;
1295 (*has_bits)[1] |= 1024u;
1298 (*has_bits)[3] |= 8u;
1301 (*has_bits)[1] |= 2048u;
1304 (*has_bits)[4] |= 32768u;
1307 (*has_bits)[4] |= 65536u;
1310 (*has_bits)[4] |= 2097152u;
1313 (*has_bits)[1] |= 4096u;
1316 (*has_bits)[3] |= 16u;
1319 (*has_bits)[3] |= 32u;
1322 (*has_bits)[3] |= 64u;
1325 (*has_bits)[3] |= 256u;
1328 (*has_bits)[0] |= 16u;
1331 (*has_bits)[1] |= 8192u;
1334 (*has_bits)[2] |= 32768u;
1337 (*has_bits)[3] |= 512u;
1340 (*has_bits)[0] |= 8192u;
1343 (*has_bits)[0] |= 16384u;
1346 (*has_bits)[3] |= 1024u;
1349 (*has_bits)[3] |= 128u;
1352 (*has_bits)[3] |= 131072u;
1355 (*has_bits)[3] |= 4096u;
1358 (*has_bits)[0] |= 32768u;
1361 (*has_bits)[0] |= 65536u;
1364 (*has_bits)[3] |= 2048u;
1367 (*has_bits)[4] |= 16777216u;
1370 (*has_bits)[4] |= 33554432u;
1373 (*has_bits)[4] |= 67108864u;
1376 (*has_bits)[4] |= 4194304u;
1379 (*has_bits)[4] |= 134217728u;
1382 (*has_bits)[3] |= 268435456u;
1385 (*has_bits)[3] |= 8388608u;
1388 (*has_bits)[3] |= 134217728u;
1391 (*has_bits)[4] |= 268435456u;
1394 (*has_bits)[3] |= 536870912u;
1397 (*has_bits)[4] |= 536870912u;
1400 (*has_bits)[4] |= 1073741824u;
1403 (*has_bits)[4] |= 2147483648u;
1406 (*has_bits)[4] |= 1u;
1409 (*has_bits)[0] |= 2048u;
1412 (*has_bits)[4] |= 8388608u;
1415 (*has_bits)[1] |= 4194304u;
1418 (*has_bits)[3] |= 16777216u;
1421 (*has_bits)[3] |= 33554432u;
1424 (*has_bits)[1] |= 8388608u;
1427 (*has_bits)[1] |= 16777216u;
1430 (*has_bits)[3] |= 67108864u;
1433 (*has_bits)[1] |= 16384u;
1436 (*has_bits)[1] |= 33554432u;
1439 (*has_bits)[3] |= 1073741824u;
1442 (*has_bits)[0] |= 67108864u;
1445 (*has_bits)[3] |= 32768u;
1448 (*has_bits)[0] |= 134217728u;
1451 (*has_bits)[0] |= 268435456u;
1454 (*has_bits)[0] |= 536870912u;
1457 (*has_bits)[1] |= 64u;
1460 (*has_bits)[3] |= 262144u;
1463 (*has_bits)[3] |= 524288u;
1466 (*has_bits)[1] |= 128u;
1469 (*has_bits)[1] |= 256u;
1472 (*has_bits)[3] |= 65536u;
1475 (*has_bits)[1] |= 512u;
1478 (*has_bits)[4] |= 512u;
1481 (*has_bits)[0] |= 1073741824u;
1484 (*has_bits)[3] |= 1048576u;
1487 (*has_bits)[3] |= 2097152u;
1490 (*has_bits)[0] |= 2147483648u;
1493 (*has_bits)[1] |= 1u;
1496 (*has_bits)[4] |= 131072u;
1499 (*has_bits)[4] |= 262144u;
1502 (*has_bits)[4] |= 524288u;
1505 (*has_bits)[5] |= 1u;
1508 (*has_bits)[1] |= 2u;
1511 (*has_bits)[1] |= 4u;
1514 (*has_bits)[1] |= 8u;
1517 (*has_bits)[0] |= 2097152u;
1520 (*has_bits)[4] |= 1048576u;
1523 (*has_bits)[4] |= 2048u;
1526 (*has_bits)[1] |= 16u;
1529 (*has_bits)[1] |= 32u;
1532 (*has_bits)[4] |= 4096u;
1535 (*has_bits)[4] |= 8192u;
1538 (*has_bits)[1] |= 67108864u;
1541 (*has_bits)[1] |= 134217728u;
1544 (*has_bits)[5] |= 4u;
1547 (*has_bits)[3] |= 2147483648u;
1550 (*has_bits)[4] |= 4u;
1553 (*has_bits)[4] |= 16384u;
1556 (*has_bits)[4] |= 8u;
1559 (*has_bits)[4] |= 2u;
1562 (*has_bits)[4] |= 16u;
1566 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}};
1567 SatParameters::SatParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1568 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1569 restart_algorithms_(arena) {
1571 RegisterArenaDtor(arena);
1574 SatParameters::SatParameters(
const SatParameters& from)
1575 : ::PROTOBUF_NAMESPACE_ID::Message(),
1576 _has_bits_(from._has_bits_),
1577 restart_algorithms_(from.restart_algorithms_) {
1578 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1579 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1580 if (from._internal_has_default_restart_algorithms()) {
1581 default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, from._internal_default_restart_algorithms(),
1584 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1585 if (from._internal_has_name()) {
1586 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1589 log_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1590 if (from._internal_has_log_prefix()) {
1591 log_prefix_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_log_prefix(),
1594 ::memcpy(&preferred_variable_order_, &from.preferred_variable_order_,
1595 static_cast<size_t>(
reinterpret_cast<char*
>(&symmetry_level_) -
1596 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(symmetry_level_));
1600 void SatParameters::SharedCtor() {
1601 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1602 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1603 log_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1604 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1605 reinterpret_cast<char*
>(&preferred_variable_order_) -
reinterpret_cast<char*
>(
this)),
1606 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&convert_intervals_) -
1607 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(convert_intervals_));
1608 initial_polarity_ = 1;
1609 minimization_algorithm_ = 2;
1610 clause_cleanup_period_ = 10000;
1611 clause_cleanup_target_ = 10000;
1612 variable_activity_decay_ = 0.8;
1613 max_variable_activity_value_ = 1e+100;
1614 clause_activity_decay_ = 0.999;
1615 max_clause_activity_value_ = 1e+20;
1616 glucose_max_decay_ = 0.95;
1617 glucose_decay_increment_ = 0.01;
1618 glucose_decay_increment_period_ = 5000;
1619 restart_period_ = 50;
1621 binary_minimization_algorithm_ = 1;
1622 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1623 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1624 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1625 pb_cleanup_ratio_ = 0.5;
1626 pb_cleanup_increment_ = 200;
1627 max_sat_stratification_ = 1;
1628 presolve_bve_threshold_ = 500;
1629 presolve_bve_clause_weight_ = 3;
1630 presolve_probing_deterministic_time_limit_ = 30;
1631 clause_cleanup_lbd_bound_ = 5;
1632 restart_running_window_size_ = 50;
1633 restart_dl_average_ratio_ = 1;
1634 blocking_restart_multiplier_ = 1.4;
1635 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1636 blocking_restart_window_size_ = 5000;
1637 presolve_bva_threshold_ = 1;
1638 restart_lbd_average_ratio_ = 1;
1639 count_assumption_levels_in_lbd_ =
true;
1640 presolve_blocked_clause_ =
true;
1641 presolve_use_bva_ =
true;
1642 cp_model_presolve_ =
true;
1643 use_phase_saving_ =
true;
1644 subsumption_during_conflict_analysis_ =
true;
1645 treat_binary_clauses_separately_ =
true;
1646 log_to_stdout_ =
true;
1647 expand_reservoir_constraints_ =
true;
1648 use_optimization_hints_ =
true;
1649 minimize_core_ =
true;
1650 find_multiple_cores_ =
true;
1651 linearization_level_ = 1;
1652 cover_optimization_ =
true;
1653 use_precedences_in_disjunctive_constraint_ =
true;
1654 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1655 add_cg_cuts_ =
true;
1656 max_num_cuts_ = 10000;
1657 minimize_with_propagation_restart_period_ = 10;
1658 minimize_with_propagation_num_decisions_ = 1000;
1659 binary_search_num_conflicts_ = -1;
1660 num_search_workers_ = 1;
1661 boolean_encoding_level_ = 1;
1662 instantiate_all_variables_ =
true;
1663 auto_detect_greater_than_at_least_one_of_ =
true;
1664 share_objective_bounds_ =
true;
1665 share_level_zero_bounds_ =
true;
1666 cp_model_probing_level_ = 2;
1667 add_lp_constraints_lazily_ =
true;
1668 exploit_integer_lp_solution_ =
true;
1669 exploit_all_lp_solution_ =
true;
1670 exploit_objective_ =
true;
1671 min_orthogonality_for_lp_constraints_ = 0.05;
1672 max_integer_rounding_scaling_ = 600;
1673 max_consecutive_inactive_count_ = 100;
1674 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1675 mip_max_bound_ = 10000000;
1676 new_constraints_batch_size_ = 50;
1677 mip_max_activity_exponent_ = 53;
1678 mip_var_scaling_ = 1;
1679 mip_wanted_precision_ = 1e-06;
1680 mip_check_precision_ = 0.0001;
1681 cp_model_use_sat_presolve_ =
true;
1682 expand_element_constraints_ =
true;
1683 expand_automaton_constraints_ =
true;
1684 expand_table_constraints_ =
true;
1685 interleave_batch_size_ = 1;
1686 max_presolve_iterations_ = 3;
1687 use_exact_lp_reason_ =
true;
1688 catch_sigint_signal_ =
true;
1689 use_implied_bounds_ =
true;
1690 mip_automatically_scale_variables_ =
true;
1691 merge_no_overlap_work_limit_ = 1000000000000;
1692 merge_at_most_one_work_limit_ = 100000000;
1693 lns_expand_intervals_in_constraint_graph_ =
true;
1694 use_rins_lns_ =
true;
1695 use_feasibility_pump_ =
true;
1696 use_optional_variables_ =
true;
1697 presolve_substitution_level_ = 1;
1698 max_all_diff_cut_size_ = 7;
1699 hint_conflict_limit_ = 10;
1700 add_mir_cuts_ =
true;
1701 add_zero_half_cuts_ =
true;
1702 add_clique_cuts_ =
true;
1703 add_lin_max_cuts_ =
true;
1704 max_cut_rounds_at_level_zero_ = 1;
1705 cut_max_active_count_value_ = 10000000000;
1706 cut_active_count_decay_ = 0.8;
1707 cut_cleanup_target_ = 1000;
1709 polarity_rephase_increment_ = 1000;
1710 symmetry_level_ = 2;
1713 SatParameters::~SatParameters() {
1716 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1719 void SatParameters::SharedDtor() {
1720 GOOGLE_DCHECK(GetArena() ==
nullptr);
1721 default_restart_algorithms_.DestroyNoArena(
nullptr);
1722 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1723 log_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1726 void SatParameters::ArenaDtor(
void*
object) {
1727 SatParameters* _this =
reinterpret_cast< SatParameters*
>(object);
1730 void SatParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1732 void SatParameters::SetCachedSize(
int size)
const {
1733 _cached_size_.Set(size);
1736 void SatParameters::Clear() {
1738 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1740 (void) cached_has_bits;
1742 restart_algorithms_.Clear();
1743 cached_has_bits = _has_bits_[0];
1744 if (cached_has_bits & 0x00000007u) {
1745 if (cached_has_bits & 0x00000001u) {
1746 default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArena());
1748 if (cached_has_bits & 0x00000002u) {
1749 name_.ClearNonDefaultToEmpty();
1751 if (cached_has_bits & 0x00000004u) {
1752 log_prefix_.ClearNonDefaultToEmpty();
1755 if (cached_has_bits & 0x000000f8u) {
1756 ::memset(&preferred_variable_order_, 0,
static_cast<size_t>(
1757 reinterpret_cast<char*
>(&clause_cleanup_protection_) -
1758 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(clause_cleanup_protection_));
1760 if (cached_has_bits & 0x0000ff00u) {
1761 ::memset(&clause_cleanup_ordering_, 0,
static_cast<size_t>(
1762 reinterpret_cast<char*
>(&only_add_cuts_at_level_zero_) -
1763 reinterpret_cast<char*
>(&clause_cleanup_ordering_)) +
sizeof(only_add_cuts_at_level_zero_));
1765 if (cached_has_bits & 0x00ff0000u) {
1766 ::memset(&add_knapsack_cuts_, 0,
static_cast<size_t>(
1767 reinterpret_cast<char*
>(&minimize_reduction_during_pb_resolution_) -
1768 reinterpret_cast<char*
>(&add_knapsack_cuts_)) +
sizeof(minimize_reduction_during_pb_resolution_));
1770 if (cached_has_bits & 0xff000000u) {
1771 ::memset(&cp_model_postsolve_with_full_solver_, 0,
static_cast<size_t>(
1772 reinterpret_cast<char*
>(&use_lns_only_) -
1773 reinterpret_cast<char*
>(&cp_model_postsolve_with_full_solver_)) +
sizeof(use_lns_only_));
1775 cached_has_bits = _has_bits_[1];
1776 if (cached_has_bits & 0x000000ffu) {
1777 ::memset(&lns_focus_on_decision_variables_, 0,
static_cast<size_t>(
1778 reinterpret_cast<char*
>(&stop_after_first_solution_) -
1779 reinterpret_cast<char*
>(&lns_focus_on_decision_variables_)) +
sizeof(stop_after_first_solution_));
1781 if (cached_has_bits & 0x0000ff00u) {
1782 ::memset(&stop_after_presolve_, 0,
static_cast<size_t>(
1783 reinterpret_cast<char*
>(&permute_presolve_constraint_order_) -
1784 reinterpret_cast<char*
>(&stop_after_presolve_)) +
sizeof(permute_presolve_constraint_order_));
1786 if (cached_has_bits & 0x00ff0000u) {
1787 ::memset(&use_absl_random_, 0,
static_cast<size_t>(
1788 reinterpret_cast<char*
>(&exploit_best_solution_) -
1789 reinterpret_cast<char*
>(&use_absl_random_)) +
sizeof(exploit_best_solution_));
1791 if (cached_has_bits & 0xff000000u) {
1792 ::memset(&exploit_relaxation_solution_, 0,
static_cast<size_t>(
1793 reinterpret_cast<char*
>(&convert_intervals_) -
1794 reinterpret_cast<char*
>(&exploit_relaxation_solution_)) +
sizeof(convert_intervals_));
1795 initial_polarity_ = 1;
1796 minimization_algorithm_ = 2;
1797 clause_cleanup_period_ = 10000;
1798 clause_cleanup_target_ = 10000;
1800 cached_has_bits = _has_bits_[2];
1801 if (cached_has_bits & 0x000000ffu) {
1802 variable_activity_decay_ = 0.8;
1803 max_variable_activity_value_ = 1e+100;
1804 clause_activity_decay_ = 0.999;
1805 max_clause_activity_value_ = 1e+20;
1806 glucose_max_decay_ = 0.95;
1807 glucose_decay_increment_ = 0.01;
1808 glucose_decay_increment_period_ = 5000;
1809 restart_period_ = 50;
1811 if (cached_has_bits & 0x0000ff00u) {
1813 binary_minimization_algorithm_ = 1;
1814 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1815 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1816 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1817 pb_cleanup_ratio_ = 0.5;
1818 pb_cleanup_increment_ = 200;
1819 max_sat_stratification_ = 1;
1821 if (cached_has_bits & 0x00ff0000u) {
1822 presolve_bve_threshold_ = 500;
1823 presolve_bve_clause_weight_ = 3;
1824 presolve_probing_deterministic_time_limit_ = 30;
1825 clause_cleanup_lbd_bound_ = 5;
1826 restart_running_window_size_ = 50;
1827 restart_dl_average_ratio_ = 1;
1828 blocking_restart_multiplier_ = 1.4;
1829 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1831 if (cached_has_bits & 0xff000000u) {
1832 blocking_restart_window_size_ = 5000;
1833 presolve_bva_threshold_ = 1;
1834 restart_lbd_average_ratio_ = 1;
1835 count_assumption_levels_in_lbd_ =
true;
1836 presolve_blocked_clause_ =
true;
1837 presolve_use_bva_ =
true;
1838 cp_model_presolve_ =
true;
1839 use_phase_saving_ =
true;
1841 cached_has_bits = _has_bits_[3];
1842 if (cached_has_bits & 0x000000ffu) {
1843 subsumption_during_conflict_analysis_ =
true;
1844 treat_binary_clauses_separately_ =
true;
1845 log_to_stdout_ =
true;
1846 expand_reservoir_constraints_ =
true;
1847 use_optimization_hints_ =
true;
1848 minimize_core_ =
true;
1849 find_multiple_cores_ =
true;
1850 linearization_level_ = 1;
1852 if (cached_has_bits & 0x0000ff00u) {
1853 cover_optimization_ =
true;
1854 use_precedences_in_disjunctive_constraint_ =
true;
1855 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1856 add_cg_cuts_ =
true;
1857 max_num_cuts_ = 10000;
1858 minimize_with_propagation_restart_period_ = 10;
1859 minimize_with_propagation_num_decisions_ = 1000;
1860 binary_search_num_conflicts_ = -1;
1862 if (cached_has_bits & 0x00ff0000u) {
1863 num_search_workers_ = 1;
1864 boolean_encoding_level_ = 1;
1865 instantiate_all_variables_ =
true;
1866 auto_detect_greater_than_at_least_one_of_ =
true;
1867 share_objective_bounds_ =
true;
1868 share_level_zero_bounds_ =
true;
1869 cp_model_probing_level_ = 2;
1870 add_lp_constraints_lazily_ =
true;
1872 if (cached_has_bits & 0xff000000u) {
1873 exploit_integer_lp_solution_ =
true;
1874 exploit_all_lp_solution_ =
true;
1875 exploit_objective_ =
true;
1876 min_orthogonality_for_lp_constraints_ = 0.05;
1877 max_integer_rounding_scaling_ = 600;
1878 max_consecutive_inactive_count_ = 100;
1879 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1880 mip_max_bound_ = 10000000;
1882 cached_has_bits = _has_bits_[4];
1883 if (cached_has_bits & 0x000000ffu) {
1884 new_constraints_batch_size_ = 50;
1885 mip_max_activity_exponent_ = 53;
1886 mip_var_scaling_ = 1;
1887 mip_wanted_precision_ = 1e-06;
1888 mip_check_precision_ = 0.0001;
1889 cp_model_use_sat_presolve_ =
true;
1890 expand_element_constraints_ =
true;
1891 expand_automaton_constraints_ =
true;
1893 if (cached_has_bits & 0x0000ff00u) {
1894 expand_table_constraints_ =
true;
1895 interleave_batch_size_ = 1;
1896 max_presolve_iterations_ = 3;
1897 use_exact_lp_reason_ =
true;
1898 catch_sigint_signal_ =
true;
1899 use_implied_bounds_ =
true;
1900 mip_automatically_scale_variables_ =
true;
1901 merge_no_overlap_work_limit_ = 1000000000000;
1903 if (cached_has_bits & 0x00ff0000u) {
1904 merge_at_most_one_work_limit_ = 100000000;
1905 lns_expand_intervals_in_constraint_graph_ =
true;
1906 use_rins_lns_ =
true;
1907 use_feasibility_pump_ =
true;
1908 use_optional_variables_ =
true;
1909 presolve_substitution_level_ = 1;
1910 max_all_diff_cut_size_ = 7;
1911 hint_conflict_limit_ = 10;
1913 if (cached_has_bits & 0xff000000u) {
1914 add_mir_cuts_ =
true;
1915 add_zero_half_cuts_ =
true;
1916 add_clique_cuts_ =
true;
1917 add_lin_max_cuts_ =
true;
1918 max_cut_rounds_at_level_zero_ = 1;
1919 cut_max_active_count_value_ = 10000000000;
1920 cut_active_count_decay_ = 0.8;
1921 cut_cleanup_target_ = 1000;
1923 cached_has_bits = _has_bits_[5];
1924 if (cached_has_bits & 0x00000007u) {
1926 polarity_rephase_increment_ = 1000;
1927 symmetry_level_ = 2;
1930 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1933 const char* SatParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1934 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1935 while (!ctx->Done(&ptr)) {
1936 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1937 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1942 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
1943 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1948 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
1950 }
else goto handle_unusual;
1954 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
1955 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1960 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
1962 }
else goto handle_unusual;
1966 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
1967 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1972 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
1974 }
else goto handle_unusual;
1978 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
1980 clause_cleanup_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1982 }
else goto handle_unusual;
1986 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
1988 clause_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1990 }
else goto handle_unusual;
1994 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 121)) {
1996 variable_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1997 ptr +=
sizeof(double);
1998 }
else goto handle_unusual;
2002 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 129)) {
2004 max_variable_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2005 ptr +=
sizeof(double);
2006 }
else goto handle_unusual;
2010 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 137)) {
2012 clause_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2013 ptr +=
sizeof(double);
2014 }
else goto handle_unusual;
2018 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 145)) {
2020 max_clause_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2021 ptr +=
sizeof(double);
2022 }
else goto handle_unusual;
2026 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 177)) {
2028 glucose_max_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2029 ptr +=
sizeof(double);
2030 }
else goto handle_unusual;
2034 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 185)) {
2036 glucose_decay_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2037 ptr +=
sizeof(double);
2038 }
else goto handle_unusual;
2042 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
2044 glucose_decay_increment_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2046 }
else goto handle_unusual;
2050 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
2052 restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2054 }
else goto handle_unusual;
2058 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
2060 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2062 }
else goto handle_unusual;
2066 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 1)) {
2068 random_branches_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2069 ptr +=
sizeof(double);
2070 }
else goto handle_unusual;
2074 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
2076 treat_binary_clauses_separately_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2078 }
else goto handle_unusual;
2082 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
2083 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2088 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(34, val, mutable_unknown_fields());
2090 }
else goto handle_unusual;
2094 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
2096 use_optimization_hints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2098 }
else goto handle_unusual;
2102 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 33)) {
2104 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2105 ptr +=
sizeof(double);
2106 }
else goto handle_unusual;
2110 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
2112 max_number_of_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2114 }
else goto handle_unusual;
2118 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
2120 max_memory_in_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2122 }
else goto handle_unusual;
2126 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
2128 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2130 }
else goto handle_unusual;
2134 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
2136 use_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2138 }
else goto handle_unusual;
2142 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
2144 use_phase_saving_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2146 }
else goto handle_unusual;
2150 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 105)) {
2152 random_polarity_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2153 ptr +=
sizeof(double);
2154 }
else goto handle_unusual;
2158 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
2160 pb_cleanup_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2162 }
else goto handle_unusual;
2166 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 121)) {
2168 pb_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2169 ptr +=
sizeof(double);
2170 }
else goto handle_unusual;
2174 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
2176 minimize_reduction_during_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2178 }
else goto handle_unusual;
2182 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 136)) {
2184 count_assumption_levels_in_lbd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2186 }
else goto handle_unusual;
2190 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
2192 minimize_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2194 }
else goto handle_unusual;
2198 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
2199 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2204 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(51, val, mutable_unknown_fields());
2206 }
else goto handle_unusual;
2210 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
2212 max_sat_reverse_assumption_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2214 }
else goto handle_unusual;
2218 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
2219 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2224 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(53, val, mutable_unknown_fields());
2226 }
else goto handle_unusual;
2230 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 176)) {
2232 presolve_bve_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2234 }
else goto handle_unusual;
2238 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
2240 presolve_bve_clause_weight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2242 }
else goto handle_unusual;
2246 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
2248 subsumption_during_conflict_analysis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2250 }
else goto handle_unusual;
2254 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 201)) {
2256 presolve_probing_deterministic_time_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2257 ptr +=
sizeof(double);
2258 }
else goto handle_unusual;
2262 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
2263 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2268 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(58, val, mutable_unknown_fields());
2270 }
else goto handle_unusual;
2274 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
2276 clause_cleanup_lbd_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2278 }
else goto handle_unusual;
2282 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 224)) {
2283 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2288 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(60, val, mutable_unknown_fields());
2290 }
else goto handle_unusual;
2294 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
2298 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2303 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(61, val, mutable_unknown_fields());
2305 if (!ctx->DataAvailable(ptr))
break;
2306 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<488>(ptr));
2307 }
else if (
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 234) {
2310 }
else goto handle_unusual;
2314 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
2316 restart_running_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2318 }
else goto handle_unusual;
2322 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 249)) {
2324 restart_dl_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2325 ptr +=
sizeof(double);
2326 }
else goto handle_unusual;
2330 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 0)) {
2332 use_blocking_restart_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2334 }
else goto handle_unusual;
2338 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
2340 blocking_restart_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2342 }
else goto handle_unusual;
2346 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 17)) {
2348 blocking_restart_multiplier_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2349 ptr +=
sizeof(double);
2350 }
else goto handle_unusual;
2354 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 25)) {
2356 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2357 ptr +=
sizeof(double);
2358 }
else goto handle_unusual;
2362 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
2364 num_conflicts_before_strategy_changes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2366 }
else goto handle_unusual;
2370 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 41)) {
2372 strategy_change_increase_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2373 ptr +=
sizeof(double);
2374 }
else goto handle_unusual;
2378 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 50)) {
2379 auto str = _internal_mutable_default_restart_algorithms();
2380 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2382 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.default_restart_algorithms");
2385 }
else goto handle_unusual;
2389 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 57)) {
2391 restart_lbd_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2392 ptr +=
sizeof(double);
2393 }
else goto handle_unusual;
2397 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
2399 presolve_use_bva_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2401 }
else goto handle_unusual;
2405 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
2407 presolve_bva_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2409 }
else goto handle_unusual;
2413 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 80)) {
2415 use_precedences_in_disjunctive_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2417 }
else goto handle_unusual;
2421 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
2423 use_erwa_heuristic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2425 }
else goto handle_unusual;
2429 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 97)) {
2431 initial_variables_activity_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2432 ptr +=
sizeof(double);
2433 }
else goto handle_unusual;
2437 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
2439 also_bump_variables_in_conflict_reasons_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2441 }
else goto handle_unusual;
2445 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
2447 use_overload_checker_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2449 }
else goto handle_unusual;
2453 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
2455 use_timetable_edge_finding_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2457 }
else goto handle_unusual;
2461 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
2463 use_disjunctive_constraint_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2465 }
else goto handle_unusual;
2469 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
2470 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2475 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(82, val, mutable_unknown_fields());
2477 }
else goto handle_unusual;
2481 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
2483 optimize_with_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2485 }
else goto handle_unusual;
2489 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
2491 find_multiple_cores_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2493 }
else goto handle_unusual;
2497 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
2499 optimize_with_max_hs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2501 }
else goto handle_unusual;
2505 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 176)) {
2507 cp_model_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2509 }
else goto handle_unusual;
2513 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
2515 enumerate_all_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2517 }
else goto handle_unusual;
2521 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
2523 presolve_blocked_clause_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2525 }
else goto handle_unusual;
2529 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 200)) {
2531 cover_optimization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2533 }
else goto handle_unusual;
2537 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
2539 linearization_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2541 }
else goto handle_unusual;
2545 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
2547 max_num_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2549 }
else goto handle_unusual;
2553 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 224)) {
2555 only_add_cuts_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2557 }
else goto handle_unusual;
2561 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
2563 cp_model_use_sat_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2565 }
else goto handle_unusual;
2569 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
2571 exploit_integer_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2573 }
else goto handle_unusual;
2577 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
2579 auto_detect_greater_than_at_least_one_of_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2581 }
else goto handle_unusual;
2585 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 0)) {
2587 minimize_with_propagation_restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2589 }
else goto handle_unusual;
2593 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
2595 minimize_with_propagation_num_decisions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2597 }
else goto handle_unusual;
2601 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
2603 stop_after_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2605 }
else goto handle_unusual;
2609 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
2611 binary_search_num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2613 }
else goto handle_unusual;
2617 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
2619 num_search_workers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2621 }
else goto handle_unusual;
2625 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
2627 use_lns_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2629 }
else goto handle_unusual;
2633 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 56)) {
2635 randomize_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2637 }
else goto handle_unusual;
2641 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
2643 search_randomization_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2645 }
else goto handle_unusual;
2649 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
2651 lns_focus_on_decision_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2653 }
else goto handle_unusual;
2657 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 80)) {
2659 instantiate_all_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2661 }
else goto handle_unusual;
2665 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
2667 boolean_encoding_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2669 }
else goto handle_unusual;
2673 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
2675 use_optional_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2677 }
else goto handle_unusual;
2681 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
2683 use_exact_lp_reason_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2685 }
else goto handle_unusual;
2689 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
2691 cp_model_probing_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2693 }
else goto handle_unusual;
2697 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
2699 add_knapsack_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2701 }
else goto handle_unusual;
2705 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
2707 add_lp_constraints_lazily_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2709 }
else goto handle_unusual;
2713 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 136)) {
2715 share_objective_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2717 }
else goto handle_unusual;
2721 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
2723 share_level_zero_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2725 }
else goto handle_unusual;
2729 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 153)) {
2731 min_orthogonality_for_lp_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2732 ptr +=
sizeof(double);
2733 }
else goto handle_unusual;
2737 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
2739 exploit_all_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2741 }
else goto handle_unusual;
2745 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
2747 add_cg_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2749 }
else goto handle_unusual;
2753 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
2755 max_integer_rounding_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2757 }
else goto handle_unusual;
2761 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
2763 add_mir_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2765 }
else goto handle_unusual;
2769 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 200)) {
2771 max_consecutive_inactive_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2773 }
else goto handle_unusual;
2777 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
2779 new_constraints_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2781 }
else goto handle_unusual;
2785 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
2787 pseudo_cost_reliability_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2789 }
else goto handle_unusual;
2793 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 225)) {
2795 mip_max_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2796 ptr +=
sizeof(double);
2797 }
else goto handle_unusual;
2801 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 233)) {
2803 mip_var_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2804 ptr +=
sizeof(double);
2805 }
else goto handle_unusual;
2809 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 241)) {
2811 mip_wanted_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2812 ptr +=
sizeof(double);
2813 }
else goto handle_unusual;
2817 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
2819 mip_max_activity_exponent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2821 }
else goto handle_unusual;
2825 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 1)) {
2827 mip_check_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2828 ptr +=
sizeof(double);
2829 }
else goto handle_unusual;
2833 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
2835 use_rins_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2837 }
else goto handle_unusual;
2841 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
2843 exploit_best_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2845 }
else goto handle_unusual;
2849 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
2851 exploit_objective_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2853 }
else goto handle_unusual;
2857 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
2859 fill_tightened_domains_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2861 }
else goto handle_unusual;
2865 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
2867 use_combined_no_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2869 }
else goto handle_unusual;
2873 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 48)) {
2875 interleave_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2877 }
else goto handle_unusual;
2881 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 56)) {
2883 catch_sigint_signal_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2885 }
else goto handle_unusual;
2889 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
2891 interleave_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2893 }
else goto handle_unusual;
2897 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
2899 diversify_lns_params_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2901 }
else goto handle_unusual;
2905 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 80)) {
2907 max_presolve_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2909 }
else goto handle_unusual;
2913 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
2915 use_branching_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2917 }
else goto handle_unusual;
2921 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
2923 expand_element_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2925 }
else goto handle_unusual;
2929 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
2931 reduce_memory_usage_in_interleave_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2933 }
else goto handle_unusual;
2937 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
2939 probing_period_at_root_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2941 }
else goto handle_unusual;
2945 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
2947 expand_automaton_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2949 }
else goto handle_unusual;
2953 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
2955 use_implied_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2957 }
else goto handle_unusual;
2961 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 137)) {
2963 merge_no_overlap_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2964 ptr +=
sizeof(double);
2965 }
else goto handle_unusual;
2969 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 145)) {
2971 merge_at_most_one_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2972 ptr +=
sizeof(double);
2973 }
else goto handle_unusual;
2977 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
2979 presolve_substitution_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2981 }
else goto handle_unusual;
2985 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
2987 max_all_diff_cut_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2989 }
else goto handle_unusual;
2993 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
2995 stop_after_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2997 }
else goto handle_unusual;
3001 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 176)) {
3003 use_relaxation_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3005 }
else goto handle_unusual;
3009 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
3011 cp_model_max_num_presolve_operations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3013 }
else goto handle_unusual;
3017 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
3019 add_lin_max_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3021 }
else goto handle_unusual;
3025 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 200)) {
3027 hint_conflict_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3029 }
else goto handle_unusual;
3033 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
3035 max_cut_rounds_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3037 }
else goto handle_unusual;
3041 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 217)) {
3043 cut_max_active_count_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3044 ptr +=
sizeof(double);
3045 }
else goto handle_unusual;
3049 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 225)) {
3051 cut_active_count_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3052 ptr +=
sizeof(double);
3053 }
else goto handle_unusual;
3057 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
3059 cut_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3061 }
else goto handle_unusual;
3065 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
3067 expand_table_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3069 }
else goto handle_unusual;
3073 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 249)) {
3075 absolute_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3076 ptr +=
sizeof(double);
3077 }
else goto handle_unusual;
3081 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 1)) {
3083 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3084 ptr +=
sizeof(double);
3085 }
else goto handle_unusual;
3089 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
3091 exploit_relaxation_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3093 }
else goto handle_unusual;
3097 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
3099 cp_model_postsolve_with_full_solver_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3101 }
else goto handle_unusual;
3105 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
3107 use_sat_inprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3109 }
else goto handle_unusual;
3113 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
3115 use_feasibility_pump_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3117 }
else goto handle_unusual;
3121 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
3122 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3127 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(165, val, mutable_unknown_fields());
3129 }
else goto handle_unusual;
3133 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 48)) {
3135 mip_automatically_scale_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3137 }
else goto handle_unusual;
3141 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 56)) {
3143 repair_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3145 }
else goto handle_unusual;
3149 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
3151 polarity_rephase_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3153 }
else goto handle_unusual;
3157 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
3159 add_zero_half_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3161 }
else goto handle_unusual;
3165 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 80)) {
3167 expand_alldiff_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3169 }
else goto handle_unusual;
3173 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 90)) {
3174 auto str = _internal_mutable_name();
3175 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
3177 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.name");
3180 }
else goto handle_unusual;
3184 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
3186 add_clique_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3188 }
else goto handle_unusual;
3192 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
3194 keep_all_feasible_solutions_in_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3196 }
else goto handle_unusual;
3200 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
3202 presolve_extract_integer_enforcement_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3204 }
else goto handle_unusual;
3208 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
3210 polish_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3212 }
else goto handle_unusual;
3216 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
3218 use_probing_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3220 }
else goto handle_unusual;
3224 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 136)) {
3226 convert_intervals_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3228 }
else goto handle_unusual;
3232 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
3234 permute_variable_randomly_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3236 }
else goto handle_unusual;
3240 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
3242 permute_presolve_constraint_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3244 }
else goto handle_unusual;
3248 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
3250 use_absl_random_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3252 }
else goto handle_unusual;
3256 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
3258 disable_constraint_expansion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3260 }
else goto handle_unusual;
3264 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 176)) {
3266 expand_reservoir_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3268 }
else goto handle_unusual;
3272 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
3274 symmetry_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3276 }
else goto handle_unusual;
3280 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
3282 lns_expand_intervals_in_constraint_graph_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3284 }
else goto handle_unusual;
3288 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 202)) {
3289 auto str = _internal_mutable_log_prefix();
3290 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
3292 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.log_prefix");
3295 }
else goto handle_unusual;
3299 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
3301 log_to_stdout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3303 }
else goto handle_unusual;
3307 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
3309 log_to_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3311 }
else goto handle_unusual;
3315 if ((tag & 7) == 4 || tag == 0) {
3316 ctx->SetLastTag(tag);
3319 ptr = UnknownFieldParse(tag,
3320 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3322 CHK_(ptr !=
nullptr);
3335 ::PROTOBUF_NAMESPACE_ID::uint8* SatParameters::_InternalSerialize(
3336 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
3338 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3339 (void) cached_has_bits;
3341 cached_has_bits = _has_bits_[0];
3343 if (cached_has_bits & 0x00000008u) {
3344 target = stream->EnsureSpace(target);
3345 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3346 1, this->_internal_preferred_variable_order(), target);
3349 cached_has_bits = _has_bits_[1];
3351 if (cached_has_bits & 0x10000000u) {
3352 target = stream->EnsureSpace(target);
3353 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3354 2, this->_internal_initial_polarity(), target);
3358 if (cached_has_bits & 0x20000000u) {
3359 target = stream->EnsureSpace(target);
3360 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3361 4, this->_internal_minimization_algorithm(), target);
3365 if (cached_has_bits & 0x40000000u) {
3366 target = stream->EnsureSpace(target);
3367 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_clause_cleanup_period(), target);
3371 if (cached_has_bits & 0x80000000u) {
3372 target = stream->EnsureSpace(target);
3373 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_clause_cleanup_target(), target);
3376 cached_has_bits = _has_bits_[2];
3378 if (cached_has_bits & 0x00000001u) {
3379 target = stream->EnsureSpace(target);
3380 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_variable_activity_decay(), target);
3384 if (cached_has_bits & 0x00000002u) {
3385 target = stream->EnsureSpace(target);
3386 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_max_variable_activity_value(), target);
3390 if (cached_has_bits & 0x00000004u) {
3391 target = stream->EnsureSpace(target);
3392 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_clause_activity_decay(), target);
3396 if (cached_has_bits & 0x00000008u) {
3397 target = stream->EnsureSpace(target);
3398 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_max_clause_activity_value(), target);
3402 if (cached_has_bits & 0x00000010u) {
3403 target = stream->EnsureSpace(target);
3404 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_glucose_max_decay(), target);
3408 if (cached_has_bits & 0x00000020u) {
3409 target = stream->EnsureSpace(target);
3410 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_glucose_decay_increment(), target);
3414 if (cached_has_bits & 0x00000040u) {
3415 target = stream->EnsureSpace(target);
3416 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_glucose_decay_increment_period(), target);
3420 if (cached_has_bits & 0x00000080u) {
3421 target = stream->EnsureSpace(target);
3422 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_restart_period(), target);
3426 if (cached_has_bits & 0x00000100u) {
3427 target = stream->EnsureSpace(target);
3428 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_random_seed(), target);
3431 cached_has_bits = _has_bits_[0];
3433 if (cached_has_bits & 0x00000020u) {
3434 target = stream->EnsureSpace(target);
3435 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(32, this->_internal_random_branches_ratio(), target);
3438 cached_has_bits = _has_bits_[3];
3440 if (cached_has_bits & 0x00000002u) {
3441 target = stream->EnsureSpace(target);
3442 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_treat_binary_clauses_separately(), target);
3445 cached_has_bits = _has_bits_[2];
3447 if (cached_has_bits & 0x00000200u) {
3448 target = stream->EnsureSpace(target);
3449 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3450 34, this->_internal_binary_minimization_algorithm(), target);
3453 cached_has_bits = _has_bits_[3];
3455 if (cached_has_bits & 0x00000010u) {
3456 target = stream->EnsureSpace(target);
3457 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_optimization_hints(), target);
3460 cached_has_bits = _has_bits_[2];
3462 if (cached_has_bits & 0x00000400u) {
3463 target = stream->EnsureSpace(target);
3464 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_max_time_in_seconds(), target);
3468 if (cached_has_bits & 0x00000800u) {
3469 target = stream->EnsureSpace(target);
3470 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(37, this->_internal_max_number_of_conflicts(), target);
3474 if (cached_has_bits & 0x00001000u) {
3475 target = stream->EnsureSpace(target);
3476 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(40, this->_internal_max_memory_in_mb(), target);
3479 cached_has_bits = _has_bits_[1];
3481 if (cached_has_bits & 0x00020000u) {
3482 target = stream->EnsureSpace(target);
3483 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_log_search_progress(), target);
3486 cached_has_bits = _has_bits_[0];
3488 if (cached_has_bits & 0x00400000u) {
3489 target = stream->EnsureSpace(target);
3490 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(43, this->_internal_use_pb_resolution(), target);
3493 cached_has_bits = _has_bits_[2];
3495 if (cached_has_bits & 0x80000000u) {
3496 target = stream->EnsureSpace(target);
3497 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(44, this->_internal_use_phase_saving(), target);
3500 cached_has_bits = _has_bits_[0];
3502 if (cached_has_bits & 0x00000040u) {
3503 target = stream->EnsureSpace(target);
3504 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_random_polarity_ratio(), target);
3507 cached_has_bits = _has_bits_[2];
3509 if (cached_has_bits & 0x00004000u) {
3510 target = stream->EnsureSpace(target);
3511 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_pb_cleanup_increment(), target);
3515 if (cached_has_bits & 0x00002000u) {
3516 target = stream->EnsureSpace(target);
3517 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(47, this->_internal_pb_cleanup_ratio(), target);
3520 cached_has_bits = _has_bits_[0];
3522 if (cached_has_bits & 0x00800000u) {
3523 target = stream->EnsureSpace(target);
3524 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_minimize_reduction_during_pb_resolution(), target);
3527 cached_has_bits = _has_bits_[2];
3529 if (cached_has_bits & 0x08000000u) {
3530 target = stream->EnsureSpace(target);
3531 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(49, this->_internal_count_assumption_levels_in_lbd(), target);
3534 cached_has_bits = _has_bits_[3];
3536 if (cached_has_bits & 0x00000020u) {
3537 target = stream->EnsureSpace(target);
3538 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(50, this->_internal_minimize_core(), target);
3541 cached_has_bits = _has_bits_[0];
3543 if (cached_has_bits & 0x00000010u) {
3544 target = stream->EnsureSpace(target);
3545 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3546 51, this->_internal_max_sat_assumption_order(), target);
3549 cached_has_bits = _has_bits_[1];
3551 if (cached_has_bits & 0x00002000u) {
3552 target = stream->EnsureSpace(target);
3553 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(52, this->_internal_max_sat_reverse_assumption_order(), target);
3556 cached_has_bits = _has_bits_[2];
3558 if (cached_has_bits & 0x00008000u) {
3559 target = stream->EnsureSpace(target);
3560 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3561 53, this->_internal_max_sat_stratification(), target);
3565 if (cached_has_bits & 0x00010000u) {
3566 target = stream->EnsureSpace(target);
3567 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(54, this->_internal_presolve_bve_threshold(), target);
3571 if (cached_has_bits & 0x00020000u) {
3572 target = stream->EnsureSpace(target);
3573 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_presolve_bve_clause_weight(), target);
3576 cached_has_bits = _has_bits_[3];
3578 if (cached_has_bits & 0x00000001u) {
3579 target = stream->EnsureSpace(target);
3580 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(56, this->_internal_subsumption_during_conflict_analysis(), target);
3583 cached_has_bits = _has_bits_[2];
3585 if (cached_has_bits & 0x00040000u) {
3586 target = stream->EnsureSpace(target);
3587 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(57, this->_internal_presolve_probing_deterministic_time_limit(), target);
3590 cached_has_bits = _has_bits_[0];
3592 if (cached_has_bits & 0x00000080u) {
3593 target = stream->EnsureSpace(target);
3594 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3595 58, this->_internal_clause_cleanup_protection(), target);
3598 cached_has_bits = _has_bits_[2];
3600 if (cached_has_bits & 0x00080000u) {
3601 target = stream->EnsureSpace(target);
3602 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(59, this->_internal_clause_cleanup_lbd_bound(), target);
3605 cached_has_bits = _has_bits_[0];
3607 if (cached_has_bits & 0x00000100u) {
3608 target = stream->EnsureSpace(target);
3609 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3610 60, this->_internal_clause_cleanup_ordering(), target);
3614 for (
int i = 0, n = this->_internal_restart_algorithms_size(); i < n; i++) {
3615 target = stream->EnsureSpace(target);
3616 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3617 61, this->_internal_restart_algorithms(i), target);
3620 cached_has_bits = _has_bits_[2];
3622 if (cached_has_bits & 0x00100000u) {
3623 target = stream->EnsureSpace(target);
3624 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(62, this->_internal_restart_running_window_size(), target);
3628 if (cached_has_bits & 0x00200000u) {
3629 target = stream->EnsureSpace(target);
3630 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(63, this->_internal_restart_dl_average_ratio(), target);
3633 cached_has_bits = _has_bits_[0];
3635 if (cached_has_bits & 0x00080000u) {
3636 target = stream->EnsureSpace(target);
3637 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(64, this->_internal_use_blocking_restart(), target);
3640 cached_has_bits = _has_bits_[2];
3642 if (cached_has_bits & 0x01000000u) {
3643 target = stream->EnsureSpace(target);
3644 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(65, this->_internal_blocking_restart_window_size(), target);
3648 if (cached_has_bits & 0x00400000u) {
3649 target = stream->EnsureSpace(target);
3650 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(66, this->_internal_blocking_restart_multiplier(), target);
3654 if (cached_has_bits & 0x00800000u) {
3655 target = stream->EnsureSpace(target);
3656 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(67, this->_internal_max_deterministic_time(), target);
3659 cached_has_bits = _has_bits_[0];
3661 if (cached_has_bits & 0x00000400u) {
3662 target = stream->EnsureSpace(target);
3663 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(68, this->_internal_num_conflicts_before_strategy_changes(), target);
3667 if (cached_has_bits & 0x00000200u) {
3668 target = stream->EnsureSpace(target);
3669 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(69, this->_internal_strategy_change_increase_ratio(), target);
3673 if (cached_has_bits & 0x00000001u) {
3674 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3675 this->_internal_default_restart_algorithms().data(),
static_cast<int>(this->_internal_default_restart_algorithms().length()),
3676 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3677 "operations_research.sat.SatParameters.default_restart_algorithms");
3678 target = stream->WriteStringMaybeAliased(
3679 70, this->_internal_default_restart_algorithms(), target);
3682 cached_has_bits = _has_bits_[2];
3684 if (cached_has_bits & 0x04000000u) {
3685 target = stream->EnsureSpace(target);
3686 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(71, this->_internal_restart_lbd_average_ratio(), target);
3690 if (cached_has_bits & 0x20000000u) {
3691 target = stream->EnsureSpace(target);
3692 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(72, this->_internal_presolve_use_bva(), target);
3696 if (cached_has_bits & 0x02000000u) {
3697 target = stream->EnsureSpace(target);
3698 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(73, this->_internal_presolve_bva_threshold(), target);
3701 cached_has_bits = _has_bits_[3];
3703 if (cached_has_bits & 0x00000200u) {
3704 target = stream->EnsureSpace(target);
3705 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(74, this->_internal_use_precedences_in_disjunctive_constraint(), target);
3708 cached_has_bits = _has_bits_[0];
3710 if (cached_has_bits & 0x00020000u) {
3711 target = stream->EnsureSpace(target);
3712 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(75, this->_internal_use_erwa_heuristic(), target);
3716 if (cached_has_bits & 0x00001000u) {
3717 target = stream->EnsureSpace(target);
3718 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_initial_variables_activity(), target);
3722 if (cached_has_bits & 0x00040000u) {
3723 target = stream->EnsureSpace(target);
3724 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_also_bump_variables_in_conflict_reasons(), target);
3728 if (cached_has_bits & 0x00002000u) {
3729 target = stream->EnsureSpace(target);
3730 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(78, this->_internal_use_overload_checker_in_cumulative_constraint(), target);
3734 if (cached_has_bits & 0x00004000u) {
3735 target = stream->EnsureSpace(target);
3736 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(79, this->_internal_use_timetable_edge_finding_in_cumulative_constraint(), target);
3739 cached_has_bits = _has_bits_[3];
3741 if (cached_has_bits & 0x00000400u) {
3742 target = stream->EnsureSpace(target);
3743 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(80, this->_internal_use_disjunctive_constraint_in_cumulative_constraint(), target);
3746 cached_has_bits = _has_bits_[0];
3748 if (cached_has_bits & 0x00000800u) {
3749 target = stream->EnsureSpace(target);
3750 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3751 82, this->_internal_search_branching(), target);
3755 if (cached_has_bits & 0x04000000u) {
3756 target = stream->EnsureSpace(target);
3757 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_optimize_with_core(), target);
3760 cached_has_bits = _has_bits_[3];
3762 if (cached_has_bits & 0x00000040u) {
3763 target = stream->EnsureSpace(target);
3764 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(84, this->_internal_find_multiple_cores(), target);
3767 cached_has_bits = _has_bits_[0];
3769 if (cached_has_bits & 0x08000000u) {
3770 target = stream->EnsureSpace(target);
3771 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_optimize_with_max_hs(), target);
3774 cached_has_bits = _has_bits_[2];
3776 if (cached_has_bits & 0x40000000u) {
3777 target = stream->EnsureSpace(target);
3778 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_cp_model_presolve(), target);
3781 cached_has_bits = _has_bits_[0];
3783 if (cached_has_bits & 0x10000000u) {
3784 target = stream->EnsureSpace(target);
3785 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_enumerate_all_solutions(), target);
3788 cached_has_bits = _has_bits_[2];
3790 if (cached_has_bits & 0x10000000u) {
3791 target = stream->EnsureSpace(target);
3792 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(88, this->_internal_presolve_blocked_clause(), target);
3795 cached_has_bits = _has_bits_[3];
3797 if (cached_has_bits & 0x00000100u) {
3798 target = stream->EnsureSpace(target);
3799 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(89, this->_internal_cover_optimization(), target);
3803 if (cached_has_bits & 0x00000080u) {
3804 target = stream->EnsureSpace(target);
3805 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(90, this->_internal_linearization_level(), target);
3809 if (cached_has_bits & 0x00001000u) {
3810 target = stream->EnsureSpace(target);
3811 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(91, this->_internal_max_num_cuts(), target);
3814 cached_has_bits = _has_bits_[0];
3816 if (cached_has_bits & 0x00008000u) {
3817 target = stream->EnsureSpace(target);
3818 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(92, this->_internal_only_add_cuts_at_level_zero(), target);
3821 cached_has_bits = _has_bits_[4];
3823 if (cached_has_bits & 0x00000020u) {
3824 target = stream->EnsureSpace(target);
3825 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(93, this->_internal_cp_model_use_sat_presolve(), target);
3828 cached_has_bits = _has_bits_[3];
3830 if (cached_has_bits & 0x01000000u) {
3831 target = stream->EnsureSpace(target);
3832 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(94, this->_internal_exploit_integer_lp_solution(), target);
3836 if (cached_has_bits & 0x00080000u) {
3837 target = stream->EnsureSpace(target);
3838 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(95, this->_internal_auto_detect_greater_than_at_least_one_of(), target);
3842 if (cached_has_bits & 0x00002000u) {
3843 target = stream->EnsureSpace(target);
3844 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(96, this->_internal_minimize_with_propagation_restart_period(), target);
3848 if (cached_has_bits & 0x00004000u) {
3849 target = stream->EnsureSpace(target);
3850 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(97, this->_internal_minimize_with_propagation_num_decisions(), target);
3853 cached_has_bits = _has_bits_[1];
3855 if (cached_has_bits & 0x00000080u) {
3856 target = stream->EnsureSpace(target);
3857 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(98, this->_internal_stop_after_first_solution(), target);
3860 cached_has_bits = _has_bits_[3];
3862 if (cached_has_bits & 0x00008000u) {
3863 target = stream->EnsureSpace(target);
3864 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(99, this->_internal_binary_search_num_conflicts(), target);
3868 if (cached_has_bits & 0x00010000u) {
3869 target = stream->EnsureSpace(target);
3870 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(100, this->_internal_num_search_workers(), target);
3873 cached_has_bits = _has_bits_[0];
3875 if (cached_has_bits & 0x80000000u) {
3876 target = stream->EnsureSpace(target);
3877 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_use_lns_only(), target);
3880 cached_has_bits = _has_bits_[1];
3882 if (cached_has_bits & 0x00000008u) {
3883 target = stream->EnsureSpace(target);
3884 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(103, this->_internal_randomize_search(), target);
3887 cached_has_bits = _has_bits_[0];
3889 if (cached_has_bits & 0x00200000u) {
3890 target = stream->EnsureSpace(target);
3891 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(104, this->_internal_search_randomization_tolerance(), target);
3894 cached_has_bits = _has_bits_[1];
3896 if (cached_has_bits & 0x00000001u) {
3897 target = stream->EnsureSpace(target);
3898 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(105, this->_internal_lns_focus_on_decision_variables(), target);
3901 cached_has_bits = _has_bits_[3];
3903 if (cached_has_bits & 0x00040000u) {
3904 target = stream->EnsureSpace(target);
3905 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(106, this->_internal_instantiate_all_variables(), target);
3909 if (cached_has_bits & 0x00020000u) {
3910 target = stream->EnsureSpace(target);
3911 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(107, this->_internal_boolean_encoding_level(), target);
3914 cached_has_bits = _has_bits_[4];
3916 if (cached_has_bits & 0x00100000u) {
3917 target = stream->EnsureSpace(target);
3918 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(108, this->_internal_use_optional_variables(), target);
3922 if (cached_has_bits & 0x00000800u) {
3923 target = stream->EnsureSpace(target);
3924 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(109, this->_internal_use_exact_lp_reason(), target);
3927 cached_has_bits = _has_bits_[3];
3929 if (cached_has_bits & 0x00400000u) {
3930 target = stream->EnsureSpace(target);
3931 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(110, this->_internal_cp_model_probing_level(), target);
3934 cached_has_bits = _has_bits_[0];
3936 if (cached_has_bits & 0x00010000u) {
3937 target = stream->EnsureSpace(target);
3938 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(111, this->_internal_add_knapsack_cuts(), target);
3941 cached_has_bits = _has_bits_[3];
3943 if (cached_has_bits & 0x00800000u) {
3944 target = stream->EnsureSpace(target);
3945 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_add_lp_constraints_lazily(), target);
3949 if (cached_has_bits & 0x00100000u) {
3950 target = stream->EnsureSpace(target);
3951 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_share_objective_bounds(), target);
3955 if (cached_has_bits & 0x00200000u) {
3956 target = stream->EnsureSpace(target);
3957 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(114, this->_internal_share_level_zero_bounds(), target);
3961 if (cached_has_bits & 0x08000000u) {
3962 target = stream->EnsureSpace(target);
3963 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(115, this->_internal_min_orthogonality_for_lp_constraints(), target);
3967 if (cached_has_bits & 0x02000000u) {
3968 target = stream->EnsureSpace(target);
3969 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(116, this->_internal_exploit_all_lp_solution(), target);
3973 if (cached_has_bits & 0x00000800u) {
3974 target = stream->EnsureSpace(target);
3975 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_add_cg_cuts(), target);
3979 if (cached_has_bits & 0x10000000u) {
3980 target = stream->EnsureSpace(target);
3981 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(119, this->_internal_max_integer_rounding_scaling(), target);
3984 cached_has_bits = _has_bits_[4];
3986 if (cached_has_bits & 0x01000000u) {
3987 target = stream->EnsureSpace(target);
3988 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_add_mir_cuts(), target);
3991 cached_has_bits = _has_bits_[3];
3993 if (cached_has_bits & 0x20000000u) {
3994 target = stream->EnsureSpace(target);
3995 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(121, this->_internal_max_consecutive_inactive_count(), target);
3998 cached_has_bits = _has_bits_[4];
4000 if (cached_has_bits & 0x00000001u) {
4001 target = stream->EnsureSpace(target);
4002 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_new_constraints_batch_size(), target);
4005 cached_has_bits = _has_bits_[3];
4007 if (cached_has_bits & 0x40000000u) {
4008 target = stream->EnsureSpace(target);
4009 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(123, this->_internal_pseudo_cost_reliability_threshold(), target);
4013 if (cached_has_bits & 0x80000000u) {
4014 target = stream->EnsureSpace(target);
4015 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(124, this->_internal_mip_max_bound(), target);
4018 cached_has_bits = _has_bits_[4];
4020 if (cached_has_bits & 0x00000004u) {
4021 target = stream->EnsureSpace(target);
4022 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(125, this->_internal_mip_var_scaling(), target);
4026 if (cached_has_bits & 0x00000008u) {
4027 target = stream->EnsureSpace(target);
4028 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(126, this->_internal_mip_wanted_precision(), target);
4032 if (cached_has_bits & 0x00000002u) {
4033 target = stream->EnsureSpace(target);
4034 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mip_max_activity_exponent(), target);
4038 if (cached_has_bits & 0x00000010u) {
4039 target = stream->EnsureSpace(target);
4040 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(128, this->_internal_mip_check_precision(), target);
4044 if (cached_has_bits & 0x00040000u) {
4045 target = stream->EnsureSpace(target);
4046 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(129, this->_internal_use_rins_lns(), target);
4049 cached_has_bits = _has_bits_[1];
4051 if (cached_has_bits & 0x00800000u) {
4052 target = stream->EnsureSpace(target);
4053 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(130, this->_internal_exploit_best_solution(), target);
4056 cached_has_bits = _has_bits_[3];
4058 if (cached_has_bits & 0x04000000u) {
4059 target = stream->EnsureSpace(target);
4060 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(131, this->_internal_exploit_objective(), target);
4063 cached_has_bits = _has_bits_[1];
4065 if (cached_has_bits & 0x00000040u) {
4066 target = stream->EnsureSpace(target);
4067 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(132, this->_internal_fill_tightened_domains_in_response(), target);
4071 if (cached_has_bits & 0x00000020u) {
4072 target = stream->EnsureSpace(target);
4073 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_use_combined_no_overlap(), target);
4076 cached_has_bits = _has_bits_[4];
4078 if (cached_has_bits & 0x00000200u) {
4079 target = stream->EnsureSpace(target);
4080 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(134, this->_internal_interleave_batch_size(), target);
4084 if (cached_has_bits & 0x00001000u) {
4085 target = stream->EnsureSpace(target);
4086 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_catch_sigint_signal(), target);
4089 cached_has_bits = _has_bits_[1];
4091 if (cached_has_bits & 0x00000200u) {
4092 target = stream->EnsureSpace(target);
4093 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(136, this->_internal_interleave_search(), target);
4097 if (cached_has_bits & 0x00000004u) {
4098 target = stream->EnsureSpace(target);
4099 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(137, this->_internal_diversify_lns_params(), target);
4102 cached_has_bits = _has_bits_[4];
4104 if (cached_has_bits & 0x00000400u) {
4105 target = stream->EnsureSpace(target);
4106 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(138, this->_internal_max_presolve_iterations(), target);
4109 cached_has_bits = _has_bits_[1];
4111 if (cached_has_bits & 0x00000010u) {
4112 target = stream->EnsureSpace(target);
4113 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(139, this->_internal_use_branching_in_lp(), target);
4116 cached_has_bits = _has_bits_[4];
4118 if (cached_has_bits & 0x00000040u) {
4119 target = stream->EnsureSpace(target);
4120 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(140, this->_internal_expand_element_constraints(), target);
4123 cached_has_bits = _has_bits_[0];
4125 if (cached_has_bits & 0x40000000u) {
4126 target = stream->EnsureSpace(target);
4127 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(141, this->_internal_reduce_memory_usage_in_interleave_mode(), target);
4130 cached_has_bits = _has_bits_[1];
4132 if (cached_has_bits & 0x00004000u) {
4133 target = stream->EnsureSpace(target);
4134 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(142, this->_internal_probing_period_at_root(), target);
4137 cached_has_bits = _has_bits_[4];
4139 if (cached_has_bits & 0x00000080u) {
4140 target = stream->EnsureSpace(target);
4141 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(143, this->_internal_expand_automaton_constraints(), target);
4145 if (cached_has_bits & 0x00002000u) {
4146 target = stream->EnsureSpace(target);
4147 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(144, this->_internal_use_implied_bounds(), target);
4151 if (cached_has_bits & 0x00008000u) {
4152 target = stream->EnsureSpace(target);
4153 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(145, this->_internal_merge_no_overlap_work_limit(), target);
4157 if (cached_has_bits & 0x00010000u) {
4158 target = stream->EnsureSpace(target);
4159 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(146, this->_internal_merge_at_most_one_work_limit(), target);
4163 if (cached_has_bits & 0x00200000u) {
4164 target = stream->EnsureSpace(target);
4165 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(147, this->_internal_presolve_substitution_level(), target);
4169 if (cached_has_bits & 0x00400000u) {
4170 target = stream->EnsureSpace(target);
4171 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(148, this->_internal_max_all_diff_cut_size(), target);
4174 cached_has_bits = _has_bits_[1];
4176 if (cached_has_bits & 0x00000100u) {
4177 target = stream->EnsureSpace(target);
4178 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(149, this->_internal_stop_after_presolve(), target);
4182 if (cached_has_bits & 0x00000002u) {
4183 target = stream->EnsureSpace(target);
4184 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(150, this->_internal_use_relaxation_lns(), target);
4188 if (cached_has_bits & 0x00080000u) {
4189 target = stream->EnsureSpace(target);
4190 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(151, this->_internal_cp_model_max_num_presolve_operations(), target);
4193 cached_has_bits = _has_bits_[4];
4195 if (cached_has_bits & 0x08000000u) {
4196 target = stream->EnsureSpace(target);
4197 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(152, this->_internal_add_lin_max_cuts(), target);
4201 if (cached_has_bits & 0x00800000u) {
4202 target = stream->EnsureSpace(target);
4203 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(153, this->_internal_hint_conflict_limit(), target);
4207 if (cached_has_bits & 0x10000000u) {
4208 target = stream->EnsureSpace(target);
4209 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(154, this->_internal_max_cut_rounds_at_level_zero(), target);
4213 if (cached_has_bits & 0x20000000u) {
4214 target = stream->EnsureSpace(target);
4215 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(155, this->_internal_cut_max_active_count_value(), target);
4219 if (cached_has_bits & 0x40000000u) {
4220 target = stream->EnsureSpace(target);
4221 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(156, this->_internal_cut_active_count_decay(), target);
4225 if (cached_has_bits & 0x80000000u) {
4226 target = stream->EnsureSpace(target);
4227 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(157, this->_internal_cut_cleanup_target(), target);
4231 if (cached_has_bits & 0x00000100u) {
4232 target = stream->EnsureSpace(target);
4233 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(158, this->_internal_expand_table_constraints(), target);
4236 cached_has_bits = _has_bits_[1];
4238 if (cached_has_bits & 0x00100000u) {
4239 target = stream->EnsureSpace(target);
4240 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(159, this->_internal_absolute_gap_limit(), target);
4244 if (cached_has_bits & 0x00200000u) {
4245 target = stream->EnsureSpace(target);
4246 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(160, this->_internal_relative_gap_limit(), target);
4250 if (cached_has_bits & 0x01000000u) {
4251 target = stream->EnsureSpace(target);
4252 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(161, this->_internal_exploit_relaxation_solution(), target);
4255 cached_has_bits = _has_bits_[0];
4257 if (cached_has_bits & 0x01000000u) {
4258 target = stream->EnsureSpace(target);
4259 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(162, this->_internal_cp_model_postsolve_with_full_solver(), target);
4263 if (cached_has_bits & 0x02000000u) {
4264 target = stream->EnsureSpace(target);
4265 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(163, this->_internal_use_sat_inprocessing(), target);
4268 cached_has_bits = _has_bits_[4];
4270 if (cached_has_bits & 0x00080000u) {
4271 target = stream->EnsureSpace(target);
4272 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(164, this->_internal_use_feasibility_pump(), target);
4275 cached_has_bits = _has_bits_[5];
4277 if (cached_has_bits & 0x00000001u) {
4278 target = stream->EnsureSpace(target);
4279 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4280 165, this->_internal_fp_rounding(), target);
4283 cached_has_bits = _has_bits_[4];
4285 if (cached_has_bits & 0x00004000u) {
4286 target = stream->EnsureSpace(target);
4287 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(166, this->_internal_mip_automatically_scale_variables(), target);
4290 cached_has_bits = _has_bits_[1];
4292 if (cached_has_bits & 0x00400000u) {
4293 target = stream->EnsureSpace(target);
4294 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(167, this->_internal_repair_hint(), target);
4297 cached_has_bits = _has_bits_[5];
4299 if (cached_has_bits & 0x00000002u) {
4300 target = stream->EnsureSpace(target);
4301 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(168, this->_internal_polarity_rephase_increment(), target);
4304 cached_has_bits = _has_bits_[4];
4306 if (cached_has_bits & 0x02000000u) {
4307 target = stream->EnsureSpace(target);
4308 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(169, this->_internal_add_zero_half_cuts(), target);
4311 cached_has_bits = _has_bits_[1];
4313 if (cached_has_bits & 0x00000400u) {
4314 target = stream->EnsureSpace(target);
4315 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(170, this->_internal_expand_alldiff_constraints(), target);
4318 cached_has_bits = _has_bits_[0];
4320 if (cached_has_bits & 0x00000002u) {
4321 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4322 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
4323 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4324 "operations_research.sat.SatParameters.name");
4325 target = stream->WriteStringMaybeAliased(
4326 171, this->_internal_name(), target);
4329 cached_has_bits = _has_bits_[4];
4331 if (cached_has_bits & 0x04000000u) {
4332 target = stream->EnsureSpace(target);
4333 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(172, this->_internal_add_clique_cuts(), target);
4336 cached_has_bits = _has_bits_[0];
4338 if (cached_has_bits & 0x20000000u) {
4339 target = stream->EnsureSpace(target);
4340 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(173, this->_internal_keep_all_feasible_solutions_in_presolve(), target);
4343 cached_has_bits = _has_bits_[1];
4345 if (cached_has_bits & 0x00001000u) {
4346 target = stream->EnsureSpace(target);
4347 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(174, this->_internal_presolve_extract_integer_enforcement(), target);
4351 if (cached_has_bits & 0x04000000u) {
4352 target = stream->EnsureSpace(target);
4353 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(175, this->_internal_polish_lp_solution(), target);
4357 if (cached_has_bits & 0x02000000u) {
4358 target = stream->EnsureSpace(target);
4359 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(176, this->_internal_use_probing_search(), target);
4363 if (cached_has_bits & 0x08000000u) {
4364 target = stream->EnsureSpace(target);
4365 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(177, this->_internal_convert_intervals(), target);
4368 cached_has_bits = _has_bits_[0];
4370 if (cached_has_bits & 0x00100000u) {
4371 target = stream->EnsureSpace(target);
4372 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(178, this->_internal_permute_variable_randomly(), target);
4375 cached_has_bits = _has_bits_[1];
4377 if (cached_has_bits & 0x00008000u) {
4378 target = stream->EnsureSpace(target);
4379 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(179, this->_internal_permute_presolve_constraint_order(), target);
4383 if (cached_has_bits & 0x00010000u) {
4384 target = stream->EnsureSpace(target);
4385 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(180, this->_internal_use_absl_random(), target);
4389 if (cached_has_bits & 0x00000800u) {
4390 target = stream->EnsureSpace(target);
4391 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(181, this->_internal_disable_constraint_expansion(), target);
4394 cached_has_bits = _has_bits_[3];
4396 if (cached_has_bits & 0x00000008u) {
4397 target = stream->EnsureSpace(target);
4398 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(182, this->_internal_expand_reservoir_constraints(), target);
4401 cached_has_bits = _has_bits_[5];
4403 if (cached_has_bits & 0x00000004u) {
4404 target = stream->EnsureSpace(target);
4405 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(183, this->_internal_symmetry_level(), target);
4408 cached_has_bits = _has_bits_[4];
4410 if (cached_has_bits & 0x00020000u) {
4411 target = stream->EnsureSpace(target);
4412 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(184, this->_internal_lns_expand_intervals_in_constraint_graph(), target);
4415 cached_has_bits = _has_bits_[0];
4417 if (cached_has_bits & 0x00000004u) {
4418 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4419 this->_internal_log_prefix().data(),
static_cast<int>(this->_internal_log_prefix().length()),
4420 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4421 "operations_research.sat.SatParameters.log_prefix");
4422 target = stream->WriteStringMaybeAliased(
4423 185, this->_internal_log_prefix(), target);
4426 cached_has_bits = _has_bits_[3];
4428 if (cached_has_bits & 0x00000004u) {
4429 target = stream->EnsureSpace(target);
4430 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(186, this->_internal_log_to_stdout(), target);
4433 cached_has_bits = _has_bits_[1];
4435 if (cached_has_bits & 0x00040000u) {
4436 target = stream->EnsureSpace(target);
4437 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(187, this->_internal_log_to_response(), target);
4440 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4441 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4442 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4448 size_t SatParameters::ByteSizeLong()
const {
4450 size_t total_size = 0;
4452 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4454 (void) cached_has_bits;
4458 size_t data_size = 0;
4459 unsigned int count =
static_cast<unsigned int>(this->_internal_restart_algorithms_size());
for (
unsigned int i = 0; i < count; i++) {
4460 data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
4461 this->_internal_restart_algorithms(
static_cast<int>(i)));
4463 total_size += (2UL * count) + data_size;
4466 cached_has_bits = _has_bits_[0];
4467 if (cached_has_bits & 0x000000ffu) {
4469 if (cached_has_bits & 0x00000001u) {
4471 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4472 this->_internal_default_restart_algorithms());
4476 if (cached_has_bits & 0x00000002u) {
4478 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4479 this->_internal_name());
4483 if (cached_has_bits & 0x00000004u) {
4485 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4486 this->_internal_log_prefix());
4490 if (cached_has_bits & 0x00000008u) {
4492 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_preferred_variable_order());
4496 if (cached_has_bits & 0x00000010u) {
4498 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_assumption_order());
4502 if (cached_has_bits & 0x00000020u) {
4503 total_size += 2 + 8;
4507 if (cached_has_bits & 0x00000040u) {
4508 total_size += 2 + 8;
4512 if (cached_has_bits & 0x00000080u) {
4514 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_protection());
4518 if (cached_has_bits & 0x0000ff00u) {
4520 if (cached_has_bits & 0x00000100u) {
4522 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_ordering());
4526 if (cached_has_bits & 0x00000200u) {
4527 total_size += 2 + 8;
4531 if (cached_has_bits & 0x00000400u) {
4533 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4534 this->_internal_num_conflicts_before_strategy_changes());
4538 if (cached_has_bits & 0x00000800u) {
4540 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_search_branching());
4544 if (cached_has_bits & 0x00001000u) {
4545 total_size += 2 + 8;
4549 if (cached_has_bits & 0x00002000u) {
4550 total_size += 2 + 1;
4554 if (cached_has_bits & 0x00004000u) {
4555 total_size += 2 + 1;
4559 if (cached_has_bits & 0x00008000u) {
4560 total_size += 2 + 1;
4564 if (cached_has_bits & 0x00ff0000u) {
4566 if (cached_has_bits & 0x00010000u) {
4567 total_size += 2 + 1;
4571 if (cached_has_bits & 0x00020000u) {
4572 total_size += 2 + 1;
4576 if (cached_has_bits & 0x00040000u) {
4577 total_size += 2 + 1;
4581 if (cached_has_bits & 0x00080000u) {
4582 total_size += 2 + 1;
4586 if (cached_has_bits & 0x00100000u) {
4587 total_size += 2 + 1;
4591 if (cached_has_bits & 0x00200000u) {
4593 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4594 this->_internal_search_randomization_tolerance());
4598 if (cached_has_bits & 0x00400000u) {
4599 total_size += 2 + 1;
4603 if (cached_has_bits & 0x00800000u) {
4604 total_size += 2 + 1;
4608 if (cached_has_bits & 0xff000000u) {
4610 if (cached_has_bits & 0x01000000u) {
4611 total_size += 2 + 1;
4615 if (cached_has_bits & 0x02000000u) {
4616 total_size += 2 + 1;
4620 if (cached_has_bits & 0x04000000u) {
4621 total_size += 2 + 1;
4625 if (cached_has_bits & 0x08000000u) {
4626 total_size += 2 + 1;
4630 if (cached_has_bits & 0x10000000u) {
4631 total_size += 2 + 1;
4635 if (cached_has_bits & 0x20000000u) {
4636 total_size += 2 + 1;
4640 if (cached_has_bits & 0x40000000u) {
4641 total_size += 2 + 1;
4645 if (cached_has_bits & 0x80000000u) {
4646 total_size += 2 + 1;
4650 cached_has_bits = _has_bits_[1];
4651 if (cached_has_bits & 0x000000ffu) {
4653 if (cached_has_bits & 0x00000001u) {
4654 total_size += 2 + 1;
4658 if (cached_has_bits & 0x00000002u) {
4659 total_size += 2 + 1;
4663 if (cached_has_bits & 0x00000004u) {
4664 total_size += 2 + 1;
4668 if (cached_has_bits & 0x00000008u) {
4669 total_size += 2 + 1;
4673 if (cached_has_bits & 0x00000010u) {
4674 total_size += 2 + 1;
4678 if (cached_has_bits & 0x00000020u) {
4679 total_size += 2 + 1;
4683 if (cached_has_bits & 0x00000040u) {
4684 total_size += 2 + 1;
4688 if (cached_has_bits & 0x00000080u) {
4689 total_size += 2 + 1;
4693 if (cached_has_bits & 0x0000ff00u) {
4695 if (cached_has_bits & 0x00000100u) {
4696 total_size += 2 + 1;
4700 if (cached_has_bits & 0x00000200u) {
4701 total_size += 2 + 1;
4705 if (cached_has_bits & 0x00000400u) {
4706 total_size += 2 + 1;
4710 if (cached_has_bits & 0x00000800u) {
4711 total_size += 2 + 1;
4715 if (cached_has_bits & 0x00001000u) {
4716 total_size += 2 + 1;
4720 if (cached_has_bits & 0x00002000u) {
4721 total_size += 2 + 1;
4725 if (cached_has_bits & 0x00004000u) {
4727 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4728 this->_internal_probing_period_at_root());
4732 if (cached_has_bits & 0x00008000u) {
4733 total_size += 2 + 1;
4737 if (cached_has_bits & 0x00ff0000u) {
4739 if (cached_has_bits & 0x00010000u) {
4740 total_size += 2 + 1;
4744 if (cached_has_bits & 0x00020000u) {
4745 total_size += 2 + 1;
4749 if (cached_has_bits & 0x00040000u) {
4750 total_size += 2 + 1;
4754 if (cached_has_bits & 0x00080000u) {
4756 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4757 this->_internal_cp_model_max_num_presolve_operations());
4761 if (cached_has_bits & 0x00100000u) {
4762 total_size += 2 + 8;
4766 if (cached_has_bits & 0x00200000u) {
4767 total_size += 2 + 8;
4771 if (cached_has_bits & 0x00400000u) {
4772 total_size += 2 + 1;
4776 if (cached_has_bits & 0x00800000u) {
4777 total_size += 2 + 1;
4781 if (cached_has_bits & 0xff000000u) {
4783 if (cached_has_bits & 0x01000000u) {
4784 total_size += 2 + 1;
4788 if (cached_has_bits & 0x02000000u) {
4789 total_size += 2 + 1;
4793 if (cached_has_bits & 0x04000000u) {
4794 total_size += 2 + 1;
4798 if (cached_has_bits & 0x08000000u) {
4799 total_size += 2 + 1;
4803 if (cached_has_bits & 0x10000000u) {
4805 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_polarity());
4809 if (cached_has_bits & 0x20000000u) {
4811 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_minimization_algorithm());
4815 if (cached_has_bits & 0x40000000u) {
4817 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4818 this->_internal_clause_cleanup_period());
4822 if (cached_has_bits & 0x80000000u) {
4824 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4825 this->_internal_clause_cleanup_target());
4829 cached_has_bits = _has_bits_[2];
4830 if (cached_has_bits & 0x000000ffu) {
4832 if (cached_has_bits & 0x00000001u) {
4833 total_size += 1 + 8;
4837 if (cached_has_bits & 0x00000002u) {
4838 total_size += 2 + 8;
4842 if (cached_has_bits & 0x00000004u) {
4843 total_size += 2 + 8;
4847 if (cached_has_bits & 0x00000008u) {
4848 total_size += 2 + 8;
4852 if (cached_has_bits & 0x00000010u) {
4853 total_size += 2 + 8;
4857 if (cached_has_bits & 0x00000020u) {
4858 total_size += 2 + 8;
4862 if (cached_has_bits & 0x00000040u) {
4864 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4865 this->_internal_glucose_decay_increment_period());
4869 if (cached_has_bits & 0x00000080u) {
4871 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4872 this->_internal_restart_period());
4876 if (cached_has_bits & 0x0000ff00u) {
4878 if (cached_has_bits & 0x00000100u) {
4880 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4881 this->_internal_random_seed());
4885 if (cached_has_bits & 0x00000200u) {
4887 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_binary_minimization_algorithm());
4891 if (cached_has_bits & 0x00000400u) {
4892 total_size += 2 + 8;
4896 if (cached_has_bits & 0x00000800u) {
4898 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4899 this->_internal_max_number_of_conflicts());
4903 if (cached_has_bits & 0x00001000u) {
4905 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4906 this->_internal_max_memory_in_mb());
4910 if (cached_has_bits & 0x00002000u) {
4911 total_size += 2 + 8;
4915 if (cached_has_bits & 0x00004000u) {
4917 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4918 this->_internal_pb_cleanup_increment());
4922 if (cached_has_bits & 0x00008000u) {
4924 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_stratification());
4928 if (cached_has_bits & 0x00ff0000u) {
4930 if (cached_has_bits & 0x00010000u) {
4932 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4933 this->_internal_presolve_bve_threshold());
4937 if (cached_has_bits & 0x00020000u) {
4939 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4940 this->_internal_presolve_bve_clause_weight());
4944 if (cached_has_bits & 0x00040000u) {
4945 total_size += 2 + 8;
4949 if (cached_has_bits & 0x00080000u) {
4951 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4952 this->_internal_clause_cleanup_lbd_bound());
4956 if (cached_has_bits & 0x00100000u) {
4958 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4959 this->_internal_restart_running_window_size());
4963 if (cached_has_bits & 0x00200000u) {
4964 total_size += 2 + 8;
4968 if (cached_has_bits & 0x00400000u) {
4969 total_size += 2 + 8;
4973 if (cached_has_bits & 0x00800000u) {
4974 total_size += 2 + 8;
4978 if (cached_has_bits & 0xff000000u) {
4980 if (cached_has_bits & 0x01000000u) {
4982 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4983 this->_internal_blocking_restart_window_size());
4987 if (cached_has_bits & 0x02000000u) {
4989 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4990 this->_internal_presolve_bva_threshold());
4994 if (cached_has_bits & 0x04000000u) {
4995 total_size += 2 + 8;
4999 if (cached_has_bits & 0x08000000u) {
5000 total_size += 2 + 1;
5004 if (cached_has_bits & 0x10000000u) {
5005 total_size += 2 + 1;
5009 if (cached_has_bits & 0x20000000u) {
5010 total_size += 2 + 1;
5014 if (cached_has_bits & 0x40000000u) {
5015 total_size += 2 + 1;
5019 if (cached_has_bits & 0x80000000u) {
5020 total_size += 2 + 1;
5024 cached_has_bits = _has_bits_[3];
5025 if (cached_has_bits & 0x000000ffu) {
5027 if (cached_has_bits & 0x00000001u) {
5028 total_size += 2 + 1;
5032 if (cached_has_bits & 0x00000002u) {
5033 total_size += 2 + 1;
5037 if (cached_has_bits & 0x00000004u) {
5038 total_size += 2 + 1;
5042 if (cached_has_bits & 0x00000008u) {
5043 total_size += 2 + 1;
5047 if (cached_has_bits & 0x00000010u) {
5048 total_size += 2 + 1;
5052 if (cached_has_bits & 0x00000020u) {
5053 total_size += 2 + 1;
5057 if (cached_has_bits & 0x00000040u) {
5058 total_size += 2 + 1;
5062 if (cached_has_bits & 0x00000080u) {
5064 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5065 this->_internal_linearization_level());
5069 if (cached_has_bits & 0x0000ff00u) {
5071 if (cached_has_bits & 0x00000100u) {
5072 total_size += 2 + 1;
5076 if (cached_has_bits & 0x00000200u) {
5077 total_size += 2 + 1;
5081 if (cached_has_bits & 0x00000400u) {
5082 total_size += 2 + 1;
5086 if (cached_has_bits & 0x00000800u) {
5087 total_size += 2 + 1;
5091 if (cached_has_bits & 0x00001000u) {
5093 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5094 this->_internal_max_num_cuts());
5098 if (cached_has_bits & 0x00002000u) {
5100 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5101 this->_internal_minimize_with_propagation_restart_period());
5105 if (cached_has_bits & 0x00004000u) {
5107 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5108 this->_internal_minimize_with_propagation_num_decisions());
5112 if (cached_has_bits & 0x00008000u) {
5114 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5115 this->_internal_binary_search_num_conflicts());
5119 if (cached_has_bits & 0x00ff0000u) {
5121 if (cached_has_bits & 0x00010000u) {
5123 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5124 this->_internal_num_search_workers());
5128 if (cached_has_bits & 0x00020000u) {
5130 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5131 this->_internal_boolean_encoding_level());
5135 if (cached_has_bits & 0x00040000u) {
5136 total_size += 2 + 1;
5140 if (cached_has_bits & 0x00080000u) {
5141 total_size += 2 + 1;
5145 if (cached_has_bits & 0x00100000u) {
5146 total_size += 2 + 1;
5150 if (cached_has_bits & 0x00200000u) {
5151 total_size += 2 + 1;
5155 if (cached_has_bits & 0x00400000u) {
5157 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5158 this->_internal_cp_model_probing_level());
5162 if (cached_has_bits & 0x00800000u) {
5163 total_size += 2 + 1;
5167 if (cached_has_bits & 0xff000000u) {
5169 if (cached_has_bits & 0x01000000u) {
5170 total_size += 2 + 1;
5174 if (cached_has_bits & 0x02000000u) {
5175 total_size += 2 + 1;
5179 if (cached_has_bits & 0x04000000u) {
5180 total_size += 2 + 1;
5184 if (cached_has_bits & 0x08000000u) {
5185 total_size += 2 + 8;
5189 if (cached_has_bits & 0x10000000u) {
5191 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5192 this->_internal_max_integer_rounding_scaling());
5196 if (cached_has_bits & 0x20000000u) {
5198 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5199 this->_internal_max_consecutive_inactive_count());
5203 if (cached_has_bits & 0x40000000u) {
5205 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5206 this->_internal_pseudo_cost_reliability_threshold());
5210 if (cached_has_bits & 0x80000000u) {
5211 total_size += 2 + 8;
5215 cached_has_bits = _has_bits_[4];
5216 if (cached_has_bits & 0x000000ffu) {
5218 if (cached_has_bits & 0x00000001u) {
5220 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5221 this->_internal_new_constraints_batch_size());
5225 if (cached_has_bits & 0x00000002u) {
5227 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5228 this->_internal_mip_max_activity_exponent());
5232 if (cached_has_bits & 0x00000004u) {
5233 total_size += 2 + 8;
5237 if (cached_has_bits & 0x00000008u) {
5238 total_size += 2 + 8;
5242 if (cached_has_bits & 0x00000010u) {
5243 total_size += 2 + 8;
5247 if (cached_has_bits & 0x00000020u) {
5248 total_size += 2 + 1;
5252 if (cached_has_bits & 0x00000040u) {
5253 total_size += 2 + 1;
5257 if (cached_has_bits & 0x00000080u) {
5258 total_size += 2 + 1;
5262 if (cached_has_bits & 0x0000ff00u) {
5264 if (cached_has_bits & 0x00000100u) {
5265 total_size += 2 + 1;
5269 if (cached_has_bits & 0x00000200u) {
5271 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5272 this->_internal_interleave_batch_size());
5276 if (cached_has_bits & 0x00000400u) {
5278 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5279 this->_internal_max_presolve_iterations());
5283 if (cached_has_bits & 0x00000800u) {
5284 total_size += 2 + 1;
5288 if (cached_has_bits & 0x00001000u) {
5289 total_size += 2 + 1;
5293 if (cached_has_bits & 0x00002000u) {
5294 total_size += 2 + 1;
5298 if (cached_has_bits & 0x00004000u) {
5299 total_size += 2 + 1;
5303 if (cached_has_bits & 0x00008000u) {
5304 total_size += 2 + 8;
5308 if (cached_has_bits & 0x00ff0000u) {
5310 if (cached_has_bits & 0x00010000u) {
5311 total_size += 2 + 8;
5315 if (cached_has_bits & 0x00020000u) {
5316 total_size += 2 + 1;
5320 if (cached_has_bits & 0x00040000u) {
5321 total_size += 2 + 1;
5325 if (cached_has_bits & 0x00080000u) {
5326 total_size += 2 + 1;
5330 if (cached_has_bits & 0x00100000u) {
5331 total_size += 2 + 1;
5335 if (cached_has_bits & 0x00200000u) {
5337 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5338 this->_internal_presolve_substitution_level());
5342 if (cached_has_bits & 0x00400000u) {
5344 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5345 this->_internal_max_all_diff_cut_size());
5349 if (cached_has_bits & 0x00800000u) {
5351 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5352 this->_internal_hint_conflict_limit());
5356 if (cached_has_bits & 0xff000000u) {
5358 if (cached_has_bits & 0x01000000u) {
5359 total_size += 2 + 1;
5363 if (cached_has_bits & 0x02000000u) {
5364 total_size += 2 + 1;
5368 if (cached_has_bits & 0x04000000u) {
5369 total_size += 2 + 1;
5373 if (cached_has_bits & 0x08000000u) {
5374 total_size += 2 + 1;
5378 if (cached_has_bits & 0x10000000u) {
5380 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5381 this->_internal_max_cut_rounds_at_level_zero());
5385 if (cached_has_bits & 0x20000000u) {
5386 total_size += 2 + 8;
5390 if (cached_has_bits & 0x40000000u) {
5391 total_size += 2 + 8;
5395 if (cached_has_bits & 0x80000000u) {
5397 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5398 this->_internal_cut_cleanup_target());
5402 cached_has_bits = _has_bits_[5];
5403 if (cached_has_bits & 0x00000007u) {
5405 if (cached_has_bits & 0x00000001u) {
5407 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fp_rounding());
5411 if (cached_has_bits & 0x00000002u) {
5413 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5414 this->_internal_polarity_rephase_increment());
5418 if (cached_has_bits & 0x00000004u) {
5420 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5421 this->_internal_symmetry_level());
5425 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5426 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5427 _internal_metadata_, total_size, &_cached_size_);
5429 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5430 SetCachedSize(cached_size);
5434 void SatParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5436 GOOGLE_DCHECK_NE(&from,
this);
5437 const SatParameters* source =
5438 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SatParameters>(
5440 if (source ==
nullptr) {
5442 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
5449 void SatParameters::MergeFrom(
const SatParameters& from) {
5451 GOOGLE_DCHECK_NE(&from,
this);
5452 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5453 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5454 (void) cached_has_bits;
5456 restart_algorithms_.MergeFrom(from.restart_algorithms_);
5457 cached_has_bits = from._has_bits_[0];
5458 if (cached_has_bits & 0x000000ffu) {
5459 if (cached_has_bits & 0x00000001u) {
5460 _internal_set_default_restart_algorithms(from._internal_default_restart_algorithms());
5462 if (cached_has_bits & 0x00000002u) {
5463 _internal_set_name(from._internal_name());
5465 if (cached_has_bits & 0x00000004u) {
5466 _internal_set_log_prefix(from._internal_log_prefix());
5468 if (cached_has_bits & 0x00000008u) {
5469 preferred_variable_order_ = from.preferred_variable_order_;
5471 if (cached_has_bits & 0x00000010u) {
5472 max_sat_assumption_order_ = from.max_sat_assumption_order_;
5474 if (cached_has_bits & 0x00000020u) {
5475 random_branches_ratio_ = from.random_branches_ratio_;
5477 if (cached_has_bits & 0x00000040u) {
5478 random_polarity_ratio_ = from.random_polarity_ratio_;
5480 if (cached_has_bits & 0x00000080u) {
5481 clause_cleanup_protection_ = from.clause_cleanup_protection_;
5483 _has_bits_[0] |= cached_has_bits;
5485 if (cached_has_bits & 0x0000ff00u) {
5486 if (cached_has_bits & 0x00000100u) {
5487 clause_cleanup_ordering_ = from.clause_cleanup_ordering_;
5489 if (cached_has_bits & 0x00000200u) {
5490 strategy_change_increase_ratio_ = from.strategy_change_increase_ratio_;
5492 if (cached_has_bits & 0x00000400u) {
5493 num_conflicts_before_strategy_changes_ = from.num_conflicts_before_strategy_changes_;
5495 if (cached_has_bits & 0x00000800u) {
5496 search_branching_ = from.search_branching_;
5498 if (cached_has_bits & 0x00001000u) {
5499 initial_variables_activity_ = from.initial_variables_activity_;
5501 if (cached_has_bits & 0x00002000u) {
5502 use_overload_checker_in_cumulative_constraint_ = from.use_overload_checker_in_cumulative_constraint_;
5504 if (cached_has_bits & 0x00004000u) {
5505 use_timetable_edge_finding_in_cumulative_constraint_ = from.use_timetable_edge_finding_in_cumulative_constraint_;
5507 if (cached_has_bits & 0x00008000u) {
5508 only_add_cuts_at_level_zero_ = from.only_add_cuts_at_level_zero_;
5510 _has_bits_[0] |= cached_has_bits;
5512 if (cached_has_bits & 0x00ff0000u) {
5513 if (cached_has_bits & 0x00010000u) {
5514 add_knapsack_cuts_ = from.add_knapsack_cuts_;
5516 if (cached_has_bits & 0x00020000u) {
5517 use_erwa_heuristic_ = from.use_erwa_heuristic_;
5519 if (cached_has_bits & 0x00040000u) {
5520 also_bump_variables_in_conflict_reasons_ = from.also_bump_variables_in_conflict_reasons_;
5522 if (cached_has_bits & 0x00080000u) {
5523 use_blocking_restart_ = from.use_blocking_restart_;
5525 if (cached_has_bits & 0x00100000u) {
5526 permute_variable_randomly_ = from.permute_variable_randomly_;
5528 if (cached_has_bits & 0x00200000u) {
5529 search_randomization_tolerance_ = from.search_randomization_tolerance_;
5531 if (cached_has_bits & 0x00400000u) {
5532 use_pb_resolution_ = from.use_pb_resolution_;
5534 if (cached_has_bits & 0x00800000u) {
5535 minimize_reduction_during_pb_resolution_ = from.minimize_reduction_during_pb_resolution_;
5537 _has_bits_[0] |= cached_has_bits;
5539 if (cached_has_bits & 0xff000000u) {
5540 if (cached_has_bits & 0x01000000u) {
5541 cp_model_postsolve_with_full_solver_ = from.cp_model_postsolve_with_full_solver_;
5543 if (cached_has_bits & 0x02000000u) {
5544 use_sat_inprocessing_ = from.use_sat_inprocessing_;
5546 if (cached_has_bits & 0x04000000u) {
5547 optimize_with_core_ = from.optimize_with_core_;
5549 if (cached_has_bits & 0x08000000u) {
5550 optimize_with_max_hs_ = from.optimize_with_max_hs_;
5552 if (cached_has_bits & 0x10000000u) {
5553 enumerate_all_solutions_ = from.enumerate_all_solutions_;
5555 if (cached_has_bits & 0x20000000u) {
5556 keep_all_feasible_solutions_in_presolve_ = from.keep_all_feasible_solutions_in_presolve_;
5558 if (cached_has_bits & 0x40000000u) {
5559 reduce_memory_usage_in_interleave_mode_ = from.reduce_memory_usage_in_interleave_mode_;
5561 if (cached_has_bits & 0x80000000u) {
5562 use_lns_only_ = from.use_lns_only_;
5564 _has_bits_[0] |= cached_has_bits;
5566 cached_has_bits = from._has_bits_[1];
5567 if (cached_has_bits & 0x000000ffu) {
5568 if (cached_has_bits & 0x00000001u) {
5569 lns_focus_on_decision_variables_ = from.lns_focus_on_decision_variables_;
5571 if (cached_has_bits & 0x00000002u) {
5572 use_relaxation_lns_ = from.use_relaxation_lns_;
5574 if (cached_has_bits & 0x00000004u) {
5575 diversify_lns_params_ = from.diversify_lns_params_;
5577 if (cached_has_bits & 0x00000008u) {
5578 randomize_search_ = from.randomize_search_;
5580 if (cached_has_bits & 0x00000010u) {
5581 use_branching_in_lp_ = from.use_branching_in_lp_;
5583 if (cached_has_bits & 0x00000020u) {
5584 use_combined_no_overlap_ = from.use_combined_no_overlap_;
5586 if (cached_has_bits & 0x00000040u) {
5587 fill_tightened_domains_in_response_ = from.fill_tightened_domains_in_response_;
5589 if (cached_has_bits & 0x00000080u) {
5590 stop_after_first_solution_ = from.stop_after_first_solution_;
5592 _has_bits_[1] |= cached_has_bits;
5594 if (cached_has_bits & 0x0000ff00u) {
5595 if (cached_has_bits & 0x00000100u) {
5596 stop_after_presolve_ = from.stop_after_presolve_;
5598 if (cached_has_bits & 0x00000200u) {
5599 interleave_search_ = from.interleave_search_;
5601 if (cached_has_bits & 0x00000400u) {
5602 expand_alldiff_constraints_ = from.expand_alldiff_constraints_;
5604 if (cached_has_bits & 0x00000800u) {
5605 disable_constraint_expansion_ = from.disable_constraint_expansion_;
5607 if (cached_has_bits & 0x00001000u) {
5608 presolve_extract_integer_enforcement_ = from.presolve_extract_integer_enforcement_;
5610 if (cached_has_bits & 0x00002000u) {
5611 max_sat_reverse_assumption_order_ = from.max_sat_reverse_assumption_order_;
5613 if (cached_has_bits & 0x00004000u) {
5614 probing_period_at_root_ = from.probing_period_at_root_;
5616 if (cached_has_bits & 0x00008000u) {
5617 permute_presolve_constraint_order_ = from.permute_presolve_constraint_order_;
5619 _has_bits_[1] |= cached_has_bits;
5621 if (cached_has_bits & 0x00ff0000u) {
5622 if (cached_has_bits & 0x00010000u) {
5623 use_absl_random_ = from.use_absl_random_;
5625 if (cached_has_bits & 0x00020000u) {
5626 log_search_progress_ = from.log_search_progress_;
5628 if (cached_has_bits & 0x00040000u) {
5629 log_to_response_ = from.log_to_response_;
5631 if (cached_has_bits & 0x00080000u) {
5632 cp_model_max_num_presolve_operations_ = from.cp_model_max_num_presolve_operations_;
5634 if (cached_has_bits & 0x00100000u) {
5635 absolute_gap_limit_ = from.absolute_gap_limit_;
5637 if (cached_has_bits & 0x00200000u) {
5638 relative_gap_limit_ = from.relative_gap_limit_;
5640 if (cached_has_bits & 0x00400000u) {
5641 repair_hint_ = from.repair_hint_;
5643 if (cached_has_bits & 0x00800000u) {
5644 exploit_best_solution_ = from.exploit_best_solution_;
5646 _has_bits_[1] |= cached_has_bits;
5648 if (cached_has_bits & 0xff000000u) {
5649 if (cached_has_bits & 0x01000000u) {
5650 exploit_relaxation_solution_ = from.exploit_relaxation_solution_;
5652 if (cached_has_bits & 0x02000000u) {
5653 use_probing_search_ = from.use_probing_search_;
5655 if (cached_has_bits & 0x04000000u) {
5656 polish_lp_solution_ = from.polish_lp_solution_;
5658 if (cached_has_bits & 0x08000000u) {
5659 convert_intervals_ = from.convert_intervals_;
5661 if (cached_has_bits & 0x10000000u) {
5662 initial_polarity_ = from.initial_polarity_;
5664 if (cached_has_bits & 0x20000000u) {
5665 minimization_algorithm_ = from.minimization_algorithm_;
5667 if (cached_has_bits & 0x40000000u) {
5668 clause_cleanup_period_ = from.clause_cleanup_period_;
5670 if (cached_has_bits & 0x80000000u) {
5671 clause_cleanup_target_ = from.clause_cleanup_target_;
5673 _has_bits_[1] |= cached_has_bits;
5675 cached_has_bits = from._has_bits_[2];
5676 if (cached_has_bits & 0x000000ffu) {
5677 if (cached_has_bits & 0x00000001u) {
5678 variable_activity_decay_ = from.variable_activity_decay_;
5680 if (cached_has_bits & 0x00000002u) {
5681 max_variable_activity_value_ = from.max_variable_activity_value_;
5683 if (cached_has_bits & 0x00000004u) {
5684 clause_activity_decay_ = from.clause_activity_decay_;
5686 if (cached_has_bits & 0x00000008u) {
5687 max_clause_activity_value_ = from.max_clause_activity_value_;
5689 if (cached_has_bits & 0x00000010u) {
5690 glucose_max_decay_ = from.glucose_max_decay_;
5692 if (cached_has_bits & 0x00000020u) {
5693 glucose_decay_increment_ = from.glucose_decay_increment_;
5695 if (cached_has_bits & 0x00000040u) {
5696 glucose_decay_increment_period_ = from.glucose_decay_increment_period_;
5698 if (cached_has_bits & 0x00000080u) {
5699 restart_period_ = from.restart_period_;
5701 _has_bits_[2] |= cached_has_bits;
5703 if (cached_has_bits & 0x0000ff00u) {
5704 if (cached_has_bits & 0x00000100u) {
5705 random_seed_ = from.random_seed_;
5707 if (cached_has_bits & 0x00000200u) {
5708 binary_minimization_algorithm_ = from.binary_minimization_algorithm_;
5710 if (cached_has_bits & 0x00000400u) {
5711 max_time_in_seconds_ = from.max_time_in_seconds_;
5713 if (cached_has_bits & 0x00000800u) {
5714 max_number_of_conflicts_ = from.max_number_of_conflicts_;
5716 if (cached_has_bits & 0x00001000u) {
5717 max_memory_in_mb_ = from.max_memory_in_mb_;
5719 if (cached_has_bits & 0x00002000u) {
5720 pb_cleanup_ratio_ = from.pb_cleanup_ratio_;
5722 if (cached_has_bits & 0x00004000u) {
5723 pb_cleanup_increment_ = from.pb_cleanup_increment_;
5725 if (cached_has_bits & 0x00008000u) {
5726 max_sat_stratification_ = from.max_sat_stratification_;
5728 _has_bits_[2] |= cached_has_bits;
5730 if (cached_has_bits & 0x00ff0000u) {
5731 if (cached_has_bits & 0x00010000u) {
5732 presolve_bve_threshold_ = from.presolve_bve_threshold_;
5734 if (cached_has_bits & 0x00020000u) {
5735 presolve_bve_clause_weight_ = from.presolve_bve_clause_weight_;
5737 if (cached_has_bits & 0x00040000u) {
5738 presolve_probing_deterministic_time_limit_ = from.presolve_probing_deterministic_time_limit_;
5740 if (cached_has_bits & 0x00080000u) {
5741 clause_cleanup_lbd_bound_ = from.clause_cleanup_lbd_bound_;
5743 if (cached_has_bits & 0x00100000u) {
5744 restart_running_window_size_ = from.restart_running_window_size_;
5746 if (cached_has_bits & 0x00200000u) {
5747 restart_dl_average_ratio_ = from.restart_dl_average_ratio_;
5749 if (cached_has_bits & 0x00400000u) {
5750 blocking_restart_multiplier_ = from.blocking_restart_multiplier_;
5752 if (cached_has_bits & 0x00800000u) {
5753 max_deterministic_time_ = from.max_deterministic_time_;
5755 _has_bits_[2] |= cached_has_bits;
5757 if (cached_has_bits & 0xff000000u) {
5758 if (cached_has_bits & 0x01000000u) {
5759 blocking_restart_window_size_ = from.blocking_restart_window_size_;
5761 if (cached_has_bits & 0x02000000u) {
5762 presolve_bva_threshold_ = from.presolve_bva_threshold_;
5764 if (cached_has_bits & 0x04000000u) {
5765 restart_lbd_average_ratio_ = from.restart_lbd_average_ratio_;
5767 if (cached_has_bits & 0x08000000u) {
5768 count_assumption_levels_in_lbd_ = from.count_assumption_levels_in_lbd_;
5770 if (cached_has_bits & 0x10000000u) {
5771 presolve_blocked_clause_ = from.presolve_blocked_clause_;
5773 if (cached_has_bits & 0x20000000u) {
5774 presolve_use_bva_ = from.presolve_use_bva_;
5776 if (cached_has_bits & 0x40000000u) {
5777 cp_model_presolve_ = from.cp_model_presolve_;
5779 if (cached_has_bits & 0x80000000u) {
5780 use_phase_saving_ = from.use_phase_saving_;
5782 _has_bits_[2] |= cached_has_bits;
5784 cached_has_bits = from._has_bits_[3];
5785 if (cached_has_bits & 0x000000ffu) {
5786 if (cached_has_bits & 0x00000001u) {
5787 subsumption_during_conflict_analysis_ = from.subsumption_during_conflict_analysis_;
5789 if (cached_has_bits & 0x00000002u) {
5790 treat_binary_clauses_separately_ = from.treat_binary_clauses_separately_;
5792 if (cached_has_bits & 0x00000004u) {
5793 log_to_stdout_ = from.log_to_stdout_;
5795 if (cached_has_bits & 0x00000008u) {
5796 expand_reservoir_constraints_ = from.expand_reservoir_constraints_;
5798 if (cached_has_bits & 0x00000010u) {
5799 use_optimization_hints_ = from.use_optimization_hints_;
5801 if (cached_has_bits & 0x00000020u) {
5802 minimize_core_ = from.minimize_core_;
5804 if (cached_has_bits & 0x00000040u) {
5805 find_multiple_cores_ = from.find_multiple_cores_;
5807 if (cached_has_bits & 0x00000080u) {
5808 linearization_level_ = from.linearization_level_;
5810 _has_bits_[3] |= cached_has_bits;
5812 if (cached_has_bits & 0x0000ff00u) {
5813 if (cached_has_bits & 0x00000100u) {
5814 cover_optimization_ = from.cover_optimization_;
5816 if (cached_has_bits & 0x00000200u) {
5817 use_precedences_in_disjunctive_constraint_ = from.use_precedences_in_disjunctive_constraint_;
5819 if (cached_has_bits & 0x00000400u) {
5820 use_disjunctive_constraint_in_cumulative_constraint_ = from.use_disjunctive_constraint_in_cumulative_constraint_;
5822 if (cached_has_bits & 0x00000800u) {
5823 add_cg_cuts_ = from.add_cg_cuts_;
5825 if (cached_has_bits & 0x00001000u) {
5826 max_num_cuts_ = from.max_num_cuts_;
5828 if (cached_has_bits & 0x00002000u) {
5829 minimize_with_propagation_restart_period_ = from.minimize_with_propagation_restart_period_;
5831 if (cached_has_bits & 0x00004000u) {
5832 minimize_with_propagation_num_decisions_ = from.minimize_with_propagation_num_decisions_;
5834 if (cached_has_bits & 0x00008000u) {
5835 binary_search_num_conflicts_ = from.binary_search_num_conflicts_;
5837 _has_bits_[3] |= cached_has_bits;
5839 if (cached_has_bits & 0x00ff0000u) {
5840 if (cached_has_bits & 0x00010000u) {
5841 num_search_workers_ = from.num_search_workers_;
5843 if (cached_has_bits & 0x00020000u) {
5844 boolean_encoding_level_ = from.boolean_encoding_level_;
5846 if (cached_has_bits & 0x00040000u) {
5847 instantiate_all_variables_ = from.instantiate_all_variables_;
5849 if (cached_has_bits & 0x00080000u) {
5850 auto_detect_greater_than_at_least_one_of_ = from.auto_detect_greater_than_at_least_one_of_;
5852 if (cached_has_bits & 0x00100000u) {
5853 share_objective_bounds_ = from.share_objective_bounds_;
5855 if (cached_has_bits & 0x00200000u) {
5856 share_level_zero_bounds_ = from.share_level_zero_bounds_;
5858 if (cached_has_bits & 0x00400000u) {
5859 cp_model_probing_level_ = from.cp_model_probing_level_;
5861 if (cached_has_bits & 0x00800000u) {
5862 add_lp_constraints_lazily_ = from.add_lp_constraints_lazily_;
5864 _has_bits_[3] |= cached_has_bits;
5866 if (cached_has_bits & 0xff000000u) {
5867 if (cached_has_bits & 0x01000000u) {
5868 exploit_integer_lp_solution_ = from.exploit_integer_lp_solution_;
5870 if (cached_has_bits & 0x02000000u) {
5871 exploit_all_lp_solution_ = from.exploit_all_lp_solution_;
5873 if (cached_has_bits & 0x04000000u) {
5874 exploit_objective_ = from.exploit_objective_;
5876 if (cached_has_bits & 0x08000000u) {
5877 min_orthogonality_for_lp_constraints_ = from.min_orthogonality_for_lp_constraints_;
5879 if (cached_has_bits & 0x10000000u) {
5880 max_integer_rounding_scaling_ = from.max_integer_rounding_scaling_;
5882 if (cached_has_bits & 0x20000000u) {
5883 max_consecutive_inactive_count_ = from.max_consecutive_inactive_count_;
5885 if (cached_has_bits & 0x40000000u) {
5886 pseudo_cost_reliability_threshold_ = from.pseudo_cost_reliability_threshold_;
5888 if (cached_has_bits & 0x80000000u) {
5889 mip_max_bound_ = from.mip_max_bound_;
5891 _has_bits_[3] |= cached_has_bits;
5893 cached_has_bits = from._has_bits_[4];
5894 if (cached_has_bits & 0x000000ffu) {
5895 if (cached_has_bits & 0x00000001u) {
5896 new_constraints_batch_size_ = from.new_constraints_batch_size_;
5898 if (cached_has_bits & 0x00000002u) {
5899 mip_max_activity_exponent_ = from.mip_max_activity_exponent_;
5901 if (cached_has_bits & 0x00000004u) {
5902 mip_var_scaling_ = from.mip_var_scaling_;
5904 if (cached_has_bits & 0x00000008u) {
5905 mip_wanted_precision_ = from.mip_wanted_precision_;
5907 if (cached_has_bits & 0x00000010u) {
5908 mip_check_precision_ = from.mip_check_precision_;
5910 if (cached_has_bits & 0x00000020u) {
5911 cp_model_use_sat_presolve_ = from.cp_model_use_sat_presolve_;
5913 if (cached_has_bits & 0x00000040u) {
5914 expand_element_constraints_ = from.expand_element_constraints_;
5916 if (cached_has_bits & 0x00000080u) {
5917 expand_automaton_constraints_ = from.expand_automaton_constraints_;
5919 _has_bits_[4] |= cached_has_bits;
5921 if (cached_has_bits & 0x0000ff00u) {
5922 if (cached_has_bits & 0x00000100u) {
5923 expand_table_constraints_ = from.expand_table_constraints_;
5925 if (cached_has_bits & 0x00000200u) {
5926 interleave_batch_size_ = from.interleave_batch_size_;
5928 if (cached_has_bits & 0x00000400u) {
5929 max_presolve_iterations_ = from.max_presolve_iterations_;
5931 if (cached_has_bits & 0x00000800u) {
5932 use_exact_lp_reason_ = from.use_exact_lp_reason_;
5934 if (cached_has_bits & 0x00001000u) {
5935 catch_sigint_signal_ = from.catch_sigint_signal_;
5937 if (cached_has_bits & 0x00002000u) {
5938 use_implied_bounds_ = from.use_implied_bounds_;
5940 if (cached_has_bits & 0x00004000u) {
5941 mip_automatically_scale_variables_ = from.mip_automatically_scale_variables_;
5943 if (cached_has_bits & 0x00008000u) {
5944 merge_no_overlap_work_limit_ = from.merge_no_overlap_work_limit_;
5946 _has_bits_[4] |= cached_has_bits;
5948 if (cached_has_bits & 0x00ff0000u) {
5949 if (cached_has_bits & 0x00010000u) {
5950 merge_at_most_one_work_limit_ = from.merge_at_most_one_work_limit_;
5952 if (cached_has_bits & 0x00020000u) {
5953 lns_expand_intervals_in_constraint_graph_ = from.lns_expand_intervals_in_constraint_graph_;
5955 if (cached_has_bits & 0x00040000u) {
5956 use_rins_lns_ = from.use_rins_lns_;
5958 if (cached_has_bits & 0x00080000u) {
5959 use_feasibility_pump_ = from.use_feasibility_pump_;
5961 if (cached_has_bits & 0x00100000u) {
5962 use_optional_variables_ = from.use_optional_variables_;
5964 if (cached_has_bits & 0x00200000u) {
5965 presolve_substitution_level_ = from.presolve_substitution_level_;
5967 if (cached_has_bits & 0x00400000u) {
5968 max_all_diff_cut_size_ = from.max_all_diff_cut_size_;
5970 if (cached_has_bits & 0x00800000u) {
5971 hint_conflict_limit_ = from.hint_conflict_limit_;
5973 _has_bits_[4] |= cached_has_bits;
5975 if (cached_has_bits & 0xff000000u) {
5976 if (cached_has_bits & 0x01000000u) {
5977 add_mir_cuts_ = from.add_mir_cuts_;
5979 if (cached_has_bits & 0x02000000u) {
5980 add_zero_half_cuts_ = from.add_zero_half_cuts_;
5982 if (cached_has_bits & 0x04000000u) {
5983 add_clique_cuts_ = from.add_clique_cuts_;
5985 if (cached_has_bits & 0x08000000u) {
5986 add_lin_max_cuts_ = from.add_lin_max_cuts_;
5988 if (cached_has_bits & 0x10000000u) {
5989 max_cut_rounds_at_level_zero_ = from.max_cut_rounds_at_level_zero_;
5991 if (cached_has_bits & 0x20000000u) {
5992 cut_max_active_count_value_ = from.cut_max_active_count_value_;
5994 if (cached_has_bits & 0x40000000u) {
5995 cut_active_count_decay_ = from.cut_active_count_decay_;
5997 if (cached_has_bits & 0x80000000u) {
5998 cut_cleanup_target_ = from.cut_cleanup_target_;
6000 _has_bits_[4] |= cached_has_bits;
6002 cached_has_bits = from._has_bits_[5];
6003 if (cached_has_bits & 0x00000007u) {
6004 if (cached_has_bits & 0x00000001u) {
6005 fp_rounding_ = from.fp_rounding_;
6007 if (cached_has_bits & 0x00000002u) {
6008 polarity_rephase_increment_ = from.polarity_rephase_increment_;
6010 if (cached_has_bits & 0x00000004u) {
6011 symmetry_level_ = from.symmetry_level_;
6013 _has_bits_[5] |= cached_has_bits;
6017 void SatParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
6019 if (&from ==
this)
return;
6024 void SatParameters::CopyFrom(
const SatParameters& from) {
6026 if (&from ==
this)
return;
6031 bool SatParameters::IsInitialized()
const {
6035 void SatParameters::InternalSwap(SatParameters* other) {
6037 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
6038 swap(_has_bits_[0], other->_has_bits_[0]);
6039 swap(_has_bits_[1], other->_has_bits_[1]);
6040 swap(_has_bits_[2], other->_has_bits_[2]);
6041 swap(_has_bits_[3], other->_has_bits_[3]);
6042 swap(_has_bits_[4], other->_has_bits_[4]);
6043 swap(_has_bits_[5], other->_has_bits_[5]);
6044 restart_algorithms_.InternalSwap(&other->restart_algorithms_);
6045 default_restart_algorithms_.Swap(&other->default_restart_algorithms_,
nullptr, GetArena());
6046 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6047 log_prefix_.Swap(&other->log_prefix_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6048 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
6049 PROTOBUF_FIELD_OFFSET(SatParameters, convert_intervals_)
6050 +
sizeof(SatParameters::convert_intervals_)
6051 - PROTOBUF_FIELD_OFFSET(SatParameters, preferred_variable_order_)>(
6052 reinterpret_cast<char*
>(&preferred_variable_order_),
6053 reinterpret_cast<char*
>(&other->preferred_variable_order_));
6054 swap(initial_polarity_, other->initial_polarity_);
6055 swap(minimization_algorithm_, other->minimization_algorithm_);
6056 swap(clause_cleanup_period_, other->clause_cleanup_period_);
6057 swap(clause_cleanup_target_, other->clause_cleanup_target_);
6058 swap(variable_activity_decay_, other->variable_activity_decay_);
6059 swap(max_variable_activity_value_, other->max_variable_activity_value_);
6060 swap(clause_activity_decay_, other->clause_activity_decay_);
6061 swap(max_clause_activity_value_, other->max_clause_activity_value_);
6062 swap(glucose_max_decay_, other->glucose_max_decay_);
6063 swap(glucose_decay_increment_, other->glucose_decay_increment_);
6064 swap(glucose_decay_increment_period_, other->glucose_decay_increment_period_);
6065 swap(restart_period_, other->restart_period_);
6066 swap(random_seed_, other->random_seed_);
6067 swap(binary_minimization_algorithm_, other->binary_minimization_algorithm_);
6068 swap(max_time_in_seconds_, other->max_time_in_seconds_);
6069 swap(max_number_of_conflicts_, other->max_number_of_conflicts_);
6070 swap(max_memory_in_mb_, other->max_memory_in_mb_);
6071 swap(pb_cleanup_ratio_, other->pb_cleanup_ratio_);
6072 swap(pb_cleanup_increment_, other->pb_cleanup_increment_);
6073 swap(max_sat_stratification_, other->max_sat_stratification_);
6074 swap(presolve_bve_threshold_, other->presolve_bve_threshold_);
6075 swap(presolve_bve_clause_weight_, other->presolve_bve_clause_weight_);
6076 swap(presolve_probing_deterministic_time_limit_, other->presolve_probing_deterministic_time_limit_);
6077 swap(clause_cleanup_lbd_bound_, other->clause_cleanup_lbd_bound_);
6078 swap(restart_running_window_size_, other->restart_running_window_size_);
6079 swap(restart_dl_average_ratio_, other->restart_dl_average_ratio_);
6080 swap(blocking_restart_multiplier_, other->blocking_restart_multiplier_);
6081 swap(max_deterministic_time_, other->max_deterministic_time_);
6082 swap(blocking_restart_window_size_, other->blocking_restart_window_size_);
6083 swap(presolve_bva_threshold_, other->presolve_bva_threshold_);
6084 swap(restart_lbd_average_ratio_, other->restart_lbd_average_ratio_);
6085 swap(count_assumption_levels_in_lbd_, other->count_assumption_levels_in_lbd_);
6086 swap(presolve_blocked_clause_, other->presolve_blocked_clause_);
6087 swap(presolve_use_bva_, other->presolve_use_bva_);
6088 swap(cp_model_presolve_, other->cp_model_presolve_);
6089 swap(use_phase_saving_, other->use_phase_saving_);
6090 swap(subsumption_during_conflict_analysis_, other->subsumption_during_conflict_analysis_);
6091 swap(treat_binary_clauses_separately_, other->treat_binary_clauses_separately_);
6092 swap(log_to_stdout_, other->log_to_stdout_);
6093 swap(expand_reservoir_constraints_, other->expand_reservoir_constraints_);
6094 swap(use_optimization_hints_, other->use_optimization_hints_);
6095 swap(minimize_core_, other->minimize_core_);
6096 swap(find_multiple_cores_, other->find_multiple_cores_);
6097 swap(linearization_level_, other->linearization_level_);
6098 swap(cover_optimization_, other->cover_optimization_);
6099 swap(use_precedences_in_disjunctive_constraint_, other->use_precedences_in_disjunctive_constraint_);
6100 swap(use_disjunctive_constraint_in_cumulative_constraint_, other->use_disjunctive_constraint_in_cumulative_constraint_);
6101 swap(add_cg_cuts_, other->add_cg_cuts_);
6102 swap(max_num_cuts_, other->max_num_cuts_);
6103 swap(minimize_with_propagation_restart_period_, other->minimize_with_propagation_restart_period_);
6104 swap(minimize_with_propagation_num_decisions_, other->minimize_with_propagation_num_decisions_);
6105 swap(binary_search_num_conflicts_, other->binary_search_num_conflicts_);
6106 swap(num_search_workers_, other->num_search_workers_);
6107 swap(boolean_encoding_level_, other->boolean_encoding_level_);
6108 swap(instantiate_all_variables_, other->instantiate_all_variables_);
6109 swap(auto_detect_greater_than_at_least_one_of_, other->auto_detect_greater_than_at_least_one_of_);
6110 swap(share_objective_bounds_, other->share_objective_bounds_);
6111 swap(share_level_zero_bounds_, other->share_level_zero_bounds_);
6112 swap(cp_model_probing_level_, other->cp_model_probing_level_);
6113 swap(add_lp_constraints_lazily_, other->add_lp_constraints_lazily_);
6114 swap(exploit_integer_lp_solution_, other->exploit_integer_lp_solution_);
6115 swap(exploit_all_lp_solution_, other->exploit_all_lp_solution_);
6116 swap(exploit_objective_, other->exploit_objective_);
6117 swap(min_orthogonality_for_lp_constraints_, other->min_orthogonality_for_lp_constraints_);
6118 swap(max_integer_rounding_scaling_, other->max_integer_rounding_scaling_);
6119 swap(max_consecutive_inactive_count_, other->max_consecutive_inactive_count_);
6120 swap(pseudo_cost_reliability_threshold_, other->pseudo_cost_reliability_threshold_);
6121 swap(mip_max_bound_, other->mip_max_bound_);
6122 swap(new_constraints_batch_size_, other->new_constraints_batch_size_);
6123 swap(mip_max_activity_exponent_, other->mip_max_activity_exponent_);
6124 swap(mip_var_scaling_, other->mip_var_scaling_);
6125 swap(mip_wanted_precision_, other->mip_wanted_precision_);
6126 swap(mip_check_precision_, other->mip_check_precision_);
6127 swap(cp_model_use_sat_presolve_, other->cp_model_use_sat_presolve_);
6128 swap(expand_element_constraints_, other->expand_element_constraints_);
6129 swap(expand_automaton_constraints_, other->expand_automaton_constraints_);
6130 swap(expand_table_constraints_, other->expand_table_constraints_);
6131 swap(interleave_batch_size_, other->interleave_batch_size_);
6132 swap(max_presolve_iterations_, other->max_presolve_iterations_);
6133 swap(use_exact_lp_reason_, other->use_exact_lp_reason_);
6134 swap(catch_sigint_signal_, other->catch_sigint_signal_);
6135 swap(use_implied_bounds_, other->use_implied_bounds_);
6136 swap(mip_automatically_scale_variables_, other->mip_automatically_scale_variables_);
6137 swap(merge_no_overlap_work_limit_, other->merge_no_overlap_work_limit_);
6138 swap(merge_at_most_one_work_limit_, other->merge_at_most_one_work_limit_);
6139 swap(lns_expand_intervals_in_constraint_graph_, other->lns_expand_intervals_in_constraint_graph_);
6140 swap(use_rins_lns_, other->use_rins_lns_);
6141 swap(use_feasibility_pump_, other->use_feasibility_pump_);
6142 swap(use_optional_variables_, other->use_optional_variables_);
6143 swap(presolve_substitution_level_, other->presolve_substitution_level_);
6144 swap(max_all_diff_cut_size_, other->max_all_diff_cut_size_);
6145 swap(hint_conflict_limit_, other->hint_conflict_limit_);
6146 swap(add_mir_cuts_, other->add_mir_cuts_);
6147 swap(add_zero_half_cuts_, other->add_zero_half_cuts_);
6148 swap(add_clique_cuts_, other->add_clique_cuts_);
6149 swap(add_lin_max_cuts_, other->add_lin_max_cuts_);
6150 swap(max_cut_rounds_at_level_zero_, other->max_cut_rounds_at_level_zero_);
6151 swap(cut_max_active_count_value_, other->cut_max_active_count_value_);
6152 swap(cut_active_count_decay_, other->cut_active_count_decay_);
6153 swap(cut_cleanup_target_, other->cut_cleanup_target_);
6154 swap(fp_rounding_, other->fp_rounding_);
6155 swap(polarity_rephase_increment_, other->polarity_rephase_increment_);
6156 swap(symmetry_level_, other->symmetry_level_);
6159 ::PROTOBUF_NAMESPACE_ID::Metadata SatParameters::GetMetadata()
const {
6160 return GetMetadataStatic();
6167 PROTOBUF_NAMESPACE_OPEN
6169 return Arena::CreateMessageInternal< ::operations_research::sat::SatParameters >(arena);
6171 PROTOBUF_NAMESPACE_CLOSE
6174 #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_log_prefix(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_log_to_stdout(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_log_to_response(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_lns_expand_intervals_in_constraint_graph(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_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_symmetry_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)
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
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
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT 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
Collection of objects used to extend the Constraint Solver library.
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 constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_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_OPEN PROTOBUF_NOINLINE ::operations_research::sat::SatParameters * Arena::CreateMaybeMessage< ::operations_research::sat::SatParameters >(Arena *arena)
PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_metadata_getter(int index)
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fsat_5fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
constexpr SatParametersDefaultTypeInternal()
~SatParametersDefaultTypeInternal()