8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
16 #include <google/protobuf/port_def.inc>
21 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SatParameters>
_instance;
26 GOOGLE_PROTOBUF_VERIFY_VERSION;
30 new (ptr) ::operations_research::sat::SatParameters();
31 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
43 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, _has_bits_),
44 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, _internal_metadata_),
48 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, name_),
49 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, preferred_variable_order_),
50 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, initial_polarity_),
51 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_phase_saving_),
52 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, polarity_rephase_increment_),
53 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_polarity_ratio_),
54 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_branches_ratio_),
55 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_erwa_heuristic_),
56 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, initial_variables_activity_),
57 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, also_bump_variables_in_conflict_reasons_),
58 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimization_algorithm_),
59 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, binary_minimization_algorithm_),
60 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, subsumption_during_conflict_analysis_),
61 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_period_),
62 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_target_),
63 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_protection_),
64 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_lbd_bound_),
65 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_ordering_),
66 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pb_cleanup_increment_),
67 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pb_cleanup_ratio_),
68 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_with_propagation_restart_period_),
69 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_with_propagation_num_decisions_),
70 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, variable_activity_decay_),
71 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_variable_activity_value_),
72 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_max_decay_),
73 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_decay_increment_),
74 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_decay_increment_period_),
75 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_activity_decay_),
76 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_clause_activity_value_),
77 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_algorithms_),
78 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, default_restart_algorithms_),
79 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_period_),
80 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_running_window_size_),
81 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_dl_average_ratio_),
82 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_lbd_average_ratio_),
83 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_blocking_restart_),
84 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, blocking_restart_window_size_),
85 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, blocking_restart_multiplier_),
86 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, num_conflicts_before_strategy_changes_),
87 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, strategy_change_increase_ratio_),
88 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_time_in_seconds_),
89 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_deterministic_time_),
90 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_number_of_conflicts_),
91 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_memory_in_mb_),
92 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, absolute_gap_limit_),
93 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, relative_gap_limit_),
94 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, treat_binary_clauses_separately_),
95 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_seed_),
96 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, permute_variable_randomly_),
97 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, permute_presolve_constraint_order_),
98 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_absl_random_),
99 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, log_search_progress_),
100 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, fill_logs_in_response_),
101 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_pb_resolution_),
102 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_reduction_during_pb_resolution_),
103 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, count_assumption_levels_in_lbd_),
104 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bve_threshold_),
105 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bve_clause_weight_),
106 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_probing_deterministic_time_limit_),
107 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_blocked_clause_),
108 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_use_bva_),
109 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bva_threshold_),
110 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_presolve_iterations_),
111 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_presolve_),
112 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_postsolve_with_full_solver_),
113 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_max_num_presolve_operations_),
114 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_probing_level_),
115 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_use_sat_presolve_),
116 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_sat_inprocessing_),
117 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_element_constraints_),
118 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_automaton_constraints_),
119 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_table_constraints_),
120 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_alldiff_constraints_),
121 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_reservoir_constraints_),
122 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, disable_constraint_expansion_),
123 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, merge_no_overlap_work_limit_),
124 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, merge_at_most_one_work_limit_),
125 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_substitution_level_),
126 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_extract_integer_enforcement_),
127 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_optimization_hints_),
128 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_core_),
129 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, find_multiple_cores_),
130 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cover_optimization_),
131 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_assumption_order_),
132 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_reverse_assumption_order_),
133 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_stratification_),
134 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_precedences_in_disjunctive_constraint_),
135 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_overload_checker_in_cumulative_constraint_),
136 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_timetable_edge_finding_in_cumulative_constraint_),
137 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_disjunctive_constraint_in_cumulative_constraint_),
138 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, linearization_level_),
139 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, boolean_encoding_level_),
140 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_num_cuts_),
141 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, only_add_cuts_at_level_zero_),
142 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_knapsack_cuts_),
143 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_cg_cuts_),
144 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_mir_cuts_),
145 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_zero_half_cuts_),
146 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_clique_cuts_),
147 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_all_diff_cut_size_),
148 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_lin_max_cuts_),
149 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_integer_rounding_scaling_),
150 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_lp_constraints_lazily_),
151 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, min_orthogonality_for_lp_constraints_),
152 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_cut_rounds_at_level_zero_),
153 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_consecutive_inactive_count_),
154 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_max_active_count_value_),
155 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_active_count_decay_),
156 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_cleanup_target_),
157 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, new_constraints_batch_size_),
158 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, search_branching_),
159 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, hint_conflict_limit_),
160 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, repair_hint_),
161 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_integer_lp_solution_),
162 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_all_lp_solution_),
163 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_best_solution_),
164 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_relaxation_solution_),
165 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_objective_),
166 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, probing_period_at_root_),
167 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_probing_search_),
168 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pseudo_cost_reliability_threshold_),
169 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, optimize_with_core_),
170 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, binary_search_num_conflicts_),
171 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, optimize_with_max_hs_),
172 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, enumerate_all_solutions_),
173 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, keep_all_feasible_solutions_in_presolve_),
174 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, fill_tightened_domains_in_response_),
175 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, instantiate_all_variables_),
176 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, auto_detect_greater_than_at_least_one_of_),
177 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, stop_after_first_solution_),
178 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, stop_after_presolve_),
179 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, num_search_workers_),
180 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, interleave_search_),
181 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, interleave_batch_size_),
182 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, reduce_memory_usage_in_interleave_mode_),
183 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, share_objective_bounds_),
184 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, share_level_zero_bounds_),
185 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_lns_only_),
186 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, lns_focus_on_decision_variables_),
187 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, lns_expand_intervals_in_constraint_graph_),
188 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_rins_lns_),
189 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_feasibility_pump_),
190 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, fp_rounding_),
191 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_relaxation_lns_),
192 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, diversify_lns_params_),
193 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, randomize_search_),
194 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, search_randomization_tolerance_),
195 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_optional_variables_),
196 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_exact_lp_reason_),
197 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_branching_in_lp_),
198 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_combined_no_overlap_),
199 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, catch_sigint_signal_),
200 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_implied_bounds_),
201 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, polish_lp_solution_),
202 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, convert_intervals_),
203 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, symmetry_level_),
204 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_max_bound_),
205 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_var_scaling_),
206 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_automatically_scale_variables_),
207 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_wanted_precision_),
208 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_max_activity_exponent_),
209 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_check_precision_),
374 { 0, 167,
sizeof(::operations_research::sat::SatParameters)},
381 const char descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
382 "\n ortools/sat/sat_parameters.proto\022\027oper"
383 "ations_research.sat\"\307C\n\rSatParameters\022\017\n"
384 "\004name\030\253\001 \001(\t:\000\022`\n\030preferred_variable_ord"
385 "er\030\001 \001(\01624.operations_research.sat.SatPa"
386 "rameters.VariableOrder:\010IN_ORDER\022Y\n\020init"
387 "ial_polarity\030\002 \001(\0162/.operations_research"
388 ".sat.SatParameters.Polarity:\016POLARITY_FA"
389 "LSE\022\036\n\020use_phase_saving\030, \001(\010:\004true\022)\n\032p"
390 "olarity_rephase_increment\030\250\001 \001(\005:\0041000\022 "
391 "\n\025random_polarity_ratio\030- \001(\001:\0010\022 \n\025rand"
392 "om_branches_ratio\030 \001(\001:\0010\022!\n\022use_erwa_h"
393 "euristic\030K \001(\010:\005false\022%\n\032initial_variabl"
394 "es_activity\030L \001(\001:\0010\0226\n\'also_bump_variab"
395 "les_in_conflict_reasons\030M \001(\010:\005false\022o\n\026"
396 "minimization_algorithm\030\004 \001(\0162D.operation"
397 "s_research.sat.SatParameters.ConflictMin"
398 "imizationAlgorithm:\tRECURSIVE\022\202\001\n\035binary"
399 "_minimization_algorithm\030\" \001(\0162@.operatio"
400 "ns_research.sat.SatParameters.BinaryMini"
401 "zationAlgorithm:\031BINARY_MINIMIZATION_FIR"
402 "ST\0222\n$subsumption_during_conflict_analys"
403 "is\0308 \001(\010:\004true\022$\n\025clause_cleanup_period\030"
404 "\013 \001(\005:\00510000\022$\n\025clause_cleanup_target\030\r "
405 "\001(\005:\00510000\022k\n\031clause_cleanup_protection\030"
406 ": \001(\01627.operations_research.sat.SatParam"
407 "eters.ClauseProtection:\017PROTECTION_NONE\022"
408 "#\n\030clause_cleanup_lbd_bound\030; \001(\005:\0015\022g\n\027"
409 "clause_cleanup_ordering\030< \001(\01625.operatio"
410 "ns_research.sat.SatParameters.ClauseOrde"
411 "ring:\017CLAUSE_ACTIVITY\022!\n\024pb_cleanup_incr"
412 "ement\030. \001(\005:\003200\022\035\n\020pb_cleanup_ratio\030/ \001"
413 "(\001:\0030.5\0224\n(minimize_with_propagation_res"
414 "tart_period\030` \001(\005:\00210\0225\n\'minimize_with_p"
415 "ropagation_num_decisions\030a \001(\005:\0041000\022$\n\027"
416 "variable_activity_decay\030\017 \001(\001:\0030.8\022+\n\033ma"
417 "x_variable_activity_value\030\020 \001(\001:\0061e+100\022"
418 "\037\n\021glucose_max_decay\030\026 \001(\001:\0040.95\022%\n\027gluc"
419 "ose_decay_increment\030\027 \001(\001:\0040.01\022,\n\036gluco"
420 "se_decay_increment_period\030\030 \001(\005:\0045000\022$\n"
421 "\025clause_activity_decay\030\021 \001(\001:\0050.999\022(\n\031m"
422 "ax_clause_activity_value\030\022 \001(\001:\0051e+20\022S\n"
423 "\022restart_algorithms\030= \003(\01627.operations_r"
424 "esearch.sat.SatParameters.RestartAlgorit"
425 "hm\022e\n\032default_restart_algorithms\030F \001(\t:A"
426 "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,"
427 "DL_MOVING_AVERAGE_RESTART\022\032\n\016restart_per"
428 "iod\030\036 \001(\005:\00250\022\'\n\033restart_running_window_"
429 "size\030> \001(\005:\00250\022#\n\030restart_dl_average_rat"
430 "io\030\? \001(\001:\0011\022$\n\031restart_lbd_average_ratio"
431 "\030G \001(\001:\0011\022#\n\024use_blocking_restart\030@ \001(\010:"
432 "\005false\022*\n\034blocking_restart_window_size\030A"
433 " \001(\005:\0045000\022(\n\033blocking_restart_multiplie"
434 "r\030B \001(\001:\0031.4\0220\n%num_conflicts_before_str"
435 "ategy_changes\030D \001(\005:\0010\022)\n\036strategy_chang"
436 "e_increase_ratio\030E \001(\001:\0010\022 \n\023max_time_in"
437 "_seconds\030$ \001(\001:\003inf\022#\n\026max_deterministic"
438 "_time\030C \001(\001:\003inf\0224\n\027max_number_of_confli"
439 "cts\030% \001(\003:\0239223372036854775807\022\037\n\020max_me"
440 "mory_in_mb\030( \001(\003:\00510000\022\036\n\022absolute_gap_"
441 "limit\030\237\001 \001(\001:\0010\022\036\n\022relative_gap_limit\030\240\001"
442 " \001(\001:\0010\022-\n\037treat_binary_clauses_separate"
443 "ly\030! \001(\010:\004true\022\026\n\013random_seed\030\037 \001(\005:\0011\022)"
444 "\n\031permute_variable_randomly\030\262\001 \001(\010:\005fals"
445 "e\0221\n!permute_presolve_constraint_order\030\263"
446 "\001 \001(\010:\005false\022\037\n\017use_absl_random\030\264\001 \001(\010:\005"
447 "false\022\"\n\023log_search_progress\030) \001(\010:\005fals"
448 "e\022%\n\025fill_logs_in_response\030\271\001 \001(\010:\005false"
449 "\022 \n\021use_pb_resolution\030+ \001(\010:\005false\0226\n\'mi"
450 "nimize_reduction_during_pb_resolution\0300 "
451 "\001(\010:\005false\022,\n\036count_assumption_levels_in"
452 "_lbd\0301 \001(\010:\004true\022#\n\026presolve_bve_thresho"
453 "ld\0306 \001(\005:\003500\022%\n\032presolve_bve_clause_wei"
454 "ght\0307 \001(\005:\0013\0225\n)presolve_probing_determi"
455 "nistic_time_limit\0309 \001(\001:\00230\022%\n\027presolve_"
456 "blocked_clause\030X \001(\010:\004true\022\036\n\020presolve_u"
457 "se_bva\030H \001(\010:\004true\022!\n\026presolve_bva_thres"
458 "hold\030I \001(\005:\0011\022#\n\027max_presolve_iterations"
459 "\030\212\001 \001(\005:\0013\022\037\n\021cp_model_presolve\030V \001(\010:\004t"
460 "rue\0223\n#cp_model_postsolve_with_full_solv"
461 "er\030\242\001 \001(\010:\005false\0220\n$cp_model_max_num_pre"
462 "solve_operations\030\227\001 \001(\005:\0010\022!\n\026cp_model_p"
463 "robing_level\030n \001(\005:\0012\022\'\n\031cp_model_use_sa"
464 "t_presolve\030] \001(\010:\004true\022$\n\024use_sat_inproc"
465 "essing\030\243\001 \001(\010:\005false\022)\n\032expand_element_c"
466 "onstraints\030\214\001 \001(\010:\004true\022+\n\034expand_automa"
467 "ton_constraints\030\217\001 \001(\010:\004true\022\'\n\030expand_t"
468 "able_constraints\030\236\001 \001(\010:\004true\022*\n\032expand_"
469 "alldiff_constraints\030\252\001 \001(\010:\005false\022+\n\034exp"
470 "and_reservoir_constraints\030\266\001 \001(\010:\004true\022,"
471 "\n\034disable_constraint_expansion\030\265\001 \001(\010:\005f"
472 "alse\0223\n\033merge_no_overlap_work_limit\030\221\001 \001"
473 "(\001:\r1000000000000\0220\n\034merge_at_most_one_w"
474 "ork_limit\030\222\001 \001(\001:\t100000000\022\'\n\033presolve_"
475 "substitution_level\030\223\001 \001(\005:\0011\0224\n$presolve"
476 "_extract_integer_enforcement\030\256\001 \001(\010:\005fal"
477 "se\022$\n\026use_optimization_hints\030# \001(\010:\004true"
478 "\022\033\n\rminimize_core\0302 \001(\010:\004true\022!\n\023find_mu"
479 "ltiple_cores\030T \001(\010:\004true\022 \n\022cover_optimi"
480 "zation\030Y \001(\010:\004true\022x\n\030max_sat_assumption"
481 "_order\0303 \001(\0162<.operations_research.sat.S"
482 "atParameters.MaxSatAssumptionOrder:\030DEFA"
483 "ULT_ASSUMPTION_ORDER\022/\n max_sat_reverse_"
484 "assumption_order\0304 \001(\010:\005false\022|\n\026max_sat"
485 "_stratification\0305 \001(\0162D.operations_resea"
486 "rch.sat.SatParameters.MaxSatStratificati"
487 "onAlgorithm:\026STRATIFICATION_DESCENT\0227\n)u"
488 "se_precedences_in_disjunctive_constraint"
489 "\030J \001(\010:\004true\022<\n-use_overload_checker_in_"
490 "cumulative_constraint\030N \001(\010:\005false\022B\n3us"
491 "e_timetable_edge_finding_in_cumulative_c"
492 "onstraint\030O \001(\010:\005false\022A\n3use_disjunctiv"
493 "e_constraint_in_cumulative_constraint\030P "
494 "\001(\010:\004true\022\036\n\023linearization_level\030Z \001(\005:\001"
495 "1\022!\n\026boolean_encoding_level\030k \001(\005:\0011\022\033\n\014"
496 "max_num_cuts\030[ \001(\005:\00510000\022*\n\033only_add_cu"
497 "ts_at_level_zero\030\\ \001(\010:\005false\022 \n\021add_kna"
498 "psack_cuts\030o \001(\010:\005false\022\031\n\013add_cg_cuts\030u"
499 " \001(\010:\004true\022\032\n\014add_mir_cuts\030x \001(\010:\004true\022!"
500 "\n\022add_zero_half_cuts\030\251\001 \001(\010:\004true\022\036\n\017add"
501 "_clique_cuts\030\254\001 \001(\010:\004true\022!\n\025max_all_dif"
502 "f_cut_size\030\224\001 \001(\005:\0017\022\037\n\020add_lin_max_cuts"
503 "\030\230\001 \001(\010:\004true\022)\n\034max_integer_rounding_sc"
504 "aling\030w \001(\005:\003600\022\'\n\031add_lp_constraints_l"
505 "azily\030p \001(\010:\004true\0222\n$min_orthogonality_f"
506 "or_lp_constraints\030s \001(\001:\0040.05\022(\n\034max_cut"
507 "_rounds_at_level_zero\030\232\001 \001(\005:\0011\022+\n\036max_c"
508 "onsecutive_inactive_count\030y \001(\005:\003100\0220\n\032"
509 "cut_max_active_count_value\030\233\001 \001(\001:\01310000"
510 "000000\022$\n\026cut_active_count_decay\030\234\001 \001(\001:"
511 "\0030.8\022!\n\022cut_cleanup_target\030\235\001 \001(\005:\0041000\022"
512 "&\n\032new_constraints_batch_size\030z \001(\005:\00250\022"
513 "b\n\020search_branching\030R \001(\01626.operations_r"
514 "esearch.sat.SatParameters.SearchBranchin"
515 "g:\020AUTOMATIC_SEARCH\022 \n\023hint_conflict_lim"
516 "it\030\231\001 \001(\005:\00210\022\033\n\013repair_hint\030\247\001 \001(\010:\005fal"
517 "se\022)\n\033exploit_integer_lp_solution\030^ \001(\010:"
518 "\004true\022%\n\027exploit_all_lp_solution\030t \001(\010:\004"
519 "true\022%\n\025exploit_best_solution\030\202\001 \001(\010:\005fa"
520 "lse\022+\n\033exploit_relaxation_solution\030\241\001 \001("
521 "\010:\005false\022 \n\021exploit_objective\030\203\001 \001(\010:\004tr"
522 "ue\022\"\n\026probing_period_at_root\030\216\001 \001(\003:\0010\022\""
523 "\n\022use_probing_search\030\260\001 \001(\010:\005false\022.\n!ps"
524 "eudo_cost_reliability_threshold\030{ \001(\003:\0031"
525 "00\022!\n\022optimize_with_core\030S \001(\010:\005false\022\'\n"
526 "\033binary_search_num_conflicts\030c \001(\005:\002-1\022#"
527 "\n\024optimize_with_max_hs\030U \001(\010:\005false\022&\n\027e"
528 "numerate_all_solutions\030W \001(\010:\005false\0227\n\'k"
529 "eep_all_feasible_solutions_in_presolve\030\255"
530 "\001 \001(\010:\005false\0222\n\"fill_tightened_domains_i"
531 "n_response\030\204\001 \001(\010:\005false\022\'\n\031instantiate_"
532 "all_variables\030j \001(\010:\004true\0226\n(auto_detect"
533 "_greater_than_at_least_one_of\030_ \001(\010:\004tru"
534 "e\022(\n\031stop_after_first_solution\030b \001(\010:\005fa"
535 "lse\022#\n\023stop_after_presolve\030\225\001 \001(\010:\005false"
536 "\022\035\n\022num_search_workers\030d \001(\005:\0011\022!\n\021inter"
537 "leave_search\030\210\001 \001(\010:\005false\022!\n\025interleave"
538 "_batch_size\030\206\001 \001(\005:\0011\0226\n&reduce_memory_u"
539 "sage_in_interleave_mode\030\215\001 \001(\010:\005false\022$\n"
540 "\026share_objective_bounds\030q \001(\010:\004true\022%\n\027s"
541 "hare_level_zero_bounds\030r \001(\010:\004true\022\033\n\014us"
542 "e_lns_only\030e \001(\010:\005false\022.\n\037lns_focus_on_"
543 "decision_variables\030i \001(\010:\005false\0227\n(lns_e"
544 "xpand_intervals_in_constraint_graph\030\270\001 \001"
545 "(\010:\004true\022\033\n\014use_rins_lns\030\201\001 \001(\010:\004true\022#\n"
546 "\024use_feasibility_pump\030\244\001 \001(\010:\004true\022c\n\013fp"
547 "_rounding\030\245\001 \001(\01627.operations_research.s"
548 "at.SatParameters.FPRoundingMethod:\024PROPA"
549 "GATION_ASSISTED\022\"\n\022use_relaxation_lns\030\226\001"
550 " \001(\010:\005false\022$\n\024diversify_lns_params\030\211\001 \001"
551 "(\010:\005false\022\037\n\020randomize_search\030g \001(\010:\005fal"
552 "se\022)\n\036search_randomization_tolerance\030h \001"
553 "(\003:\0010\022$\n\026use_optional_variables\030l \001(\010:\004t"
554 "rue\022!\n\023use_exact_lp_reason\030m \001(\010:\004true\022#"
555 "\n\023use_branching_in_lp\030\213\001 \001(\010:\005false\022\'\n\027u"
556 "se_combined_no_overlap\030\205\001 \001(\010:\005false\022\"\n\023"
557 "catch_sigint_signal\030\207\001 \001(\010:\004true\022!\n\022use_"
558 "implied_bounds\030\220\001 \001(\010:\004true\022\"\n\022polish_lp"
559 "_solution\030\257\001 \001(\010:\005false\022!\n\021convert_inter"
560 "vals\030\261\001 \001(\010:\005false\022\032\n\016symmetry_level\030\267\001 "
561 "\001(\005:\0012\022\037\n\rmip_max_bound\030| \001(\001:\01010000000\022"
562 "\032\n\017mip_var_scaling\030} \001(\001:\0011\0220\n!mip_autom"
563 "atically_scale_variables\030\246\001 \001(\010:\004true\022#\n"
564 "\024mip_wanted_precision\030~ \001(\001:\0051e-06\022%\n\031mi"
565 "p_max_activity_exponent\030\177 \001(\005:\00253\022$\n\023mip"
566 "_check_precision\030\200\001 \001(\001:\0060.0001\"H\n\rVaria"
567 "bleOrder\022\014\n\010IN_ORDER\020\000\022\024\n\020IN_REVERSE_ORD"
568 "ER\020\001\022\023\n\017IN_RANDOM_ORDER\020\002\"\206\001\n\010Polarity\022\021"
569 "\n\rPOLARITY_TRUE\020\000\022\022\n\016POLARITY_FALSE\020\001\022\023\n"
570 "\017POLARITY_RANDOM\020\002\022\032\n\026POLARITY_WEIGHTED_"
571 "SIGN\020\003\022\"\n\036POLARITY_REVERSE_WEIGHTED_SIGN"
572 "\020\004\"V\n\035ConflictMinimizationAlgorithm\022\010\n\004N"
573 "ONE\020\000\022\n\n\006SIMPLE\020\001\022\r\n\tRECURSIVE\020\002\022\020\n\014EXPE"
574 "RIMENTAL\020\003\"\340\001\n\031BinaryMinizationAlgorithm"
575 "\022\032\n\026NO_BINARY_MINIMIZATION\020\000\022\035\n\031BINARY_M"
576 "INIMIZATION_FIRST\020\001\0227\n3BINARY_MINIMIZATI"
577 "ON_FIRST_WITH_TRANSITIVE_REDUCTION\020\004\022)\n%"
578 "BINARY_MINIMIZATION_WITH_REACHABILITY\020\002\022"
579 "$\n EXPERIMENTAL_BINARY_MINIMIZATION\020\003\"R\n"
580 "\020ClauseProtection\022\023\n\017PROTECTION_NONE\020\000\022\025"
581 "\n\021PROTECTION_ALWAYS\020\001\022\022\n\016PROTECTION_LBD\020"
582 "\002\"5\n\016ClauseOrdering\022\023\n\017CLAUSE_ACTIVITY\020\000"
583 "\022\016\n\nCLAUSE_LBD\020\001\"\206\001\n\020RestartAlgorithm\022\016\n"
584 "\nNO_RESTART\020\000\022\020\n\014LUBY_RESTART\020\001\022\035\n\031DL_MO"
585 "VING_AVERAGE_RESTART\020\002\022\036\n\032LBD_MOVING_AVE"
586 "RAGE_RESTART\020\003\022\021\n\rFIXED_RESTART\020\004\"t\n\025Max"
587 "SatAssumptionOrder\022\034\n\030DEFAULT_ASSUMPTION"
588 "_ORDER\020\000\022\035\n\031ORDER_ASSUMPTION_BY_DEPTH\020\001\022"
589 "\036\n\032ORDER_ASSUMPTION_BY_WEIGHT\020\002\"o\n\035MaxSa"
590 "tStratificationAlgorithm\022\027\n\023STRATIFICATI"
591 "ON_NONE\020\000\022\032\n\026STRATIFICATION_DESCENT\020\001\022\031\n"
592 "\025STRATIFICATION_ASCENT\020\002\"\260\001\n\017SearchBranc"
593 "hing\022\024\n\020AUTOMATIC_SEARCH\020\000\022\020\n\014FIXED_SEAR"
594 "CH\020\001\022\024\n\020PORTFOLIO_SEARCH\020\002\022\r\n\tLP_SEARCH\020"
595 "\003\022\026\n\022PSEUDO_COST_SEARCH\020\004\022\'\n#PORTFOLIO_W"
596 "ITH_QUICK_RESTART_SEARCH\020\005\022\017\n\013HINT_SEARC"
597 "H\020\006\"h\n\020FPRoundingMethod\022\023\n\017NEAREST_INTEG"
598 "ER\020\000\022\016\n\nLOCK_BASED\020\001\022\025\n\021ACTIVE_LOCK_BASE"
599 "D\020\003\022\030\n\024PROPAGATION_ASSISTED\020\002B\032\n\026com.goo"
600 "gle.ortools.satP\001"
609 false,
false, descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto,
"ortools/sat/sat_parameters.proto", 8737,
634 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
640 constexpr
int SatParameters::VariableOrder_ARRAYSIZE;
659 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
667 constexpr
int SatParameters::Polarity_ARRAYSIZE;
685 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
692 constexpr
int SatParameters::ConflictMinimizationAlgorithm_ARRAYSIZE;
711 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
719 constexpr
int SatParameters::BinaryMinizationAlgorithm_ARRAYSIZE;
736 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
742 constexpr
int SatParameters::ClauseProtection_ARRAYSIZE;
758 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
763 constexpr
int SatParameters::ClauseOrdering_ARRAYSIZE;
782 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
790 constexpr
int SatParameters::RestartAlgorithm_ARRAYSIZE;
807 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
813 constexpr
int SatParameters::MaxSatAssumptionOrder_ARRAYSIZE;
830 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
836 constexpr
int SatParameters::MaxSatStratificationAlgorithm_ARRAYSIZE;
857 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
867 constexpr
int SatParameters::SearchBranching_ARRAYSIZE;
885 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
892 constexpr
int SatParameters::FPRoundingMethod_ARRAYSIZE;
899 using HasBits = decltype(std::declval<SatParameters>()._has_bits_);
901 (*has_bits)[0] |= 2u;
904 (*has_bits)[0] |= 4u;
907 (*has_bits)[1] |= 134217728u;
910 (*has_bits)[2] |= 4096u;
913 (*has_bits)[4] |= 2147483648u;
916 (*has_bits)[0] |= 32u;
919 (*has_bits)[0] |= 16u;
922 (*has_bits)[0] |= 65536u;
925 (*has_bits)[0] |= 2048u;
928 (*has_bits)[0] |= 131072u;
931 (*has_bits)[1] |= 268435456u;
934 (*has_bits)[2] |= 256u;
937 (*has_bits)[2] |= 8192u;
940 (*has_bits)[1] |= 536870912u;
943 (*has_bits)[1] |= 1073741824u;
946 (*has_bits)[0] |= 64u;
949 (*has_bits)[2] |= 4194304u;
952 (*has_bits)[0] |= 128u;
955 (*has_bits)[2] |= 65536u;
958 (*has_bits)[2] |= 131072u;
961 (*has_bits)[3] |= 256u;
964 (*has_bits)[3] |= 512u;
967 (*has_bits)[1] |= 2147483648u;
970 (*has_bits)[2] |= 1u;
973 (*has_bits)[2] |= 8u;
976 (*has_bits)[2] |= 16u;
979 (*has_bits)[2] |= 32u;
982 (*has_bits)[2] |= 2u;
985 (*has_bits)[2] |= 4u;
988 (*has_bits)[0] |= 1u;
991 (*has_bits)[2] |= 64u;
994 (*has_bits)[2] |= 16777216u;
997 (*has_bits)[2] |= 8388608u;
1000 (*has_bits)[3] |= 2u;
1003 (*has_bits)[0] |= 262144u;
1006 (*has_bits)[2] |= 2147483648u;
1009 (*has_bits)[2] |= 536870912u;
1012 (*has_bits)[0] |= 512u;
1015 (*has_bits)[0] |= 256u;
1018 (*has_bits)[2] |= 512u;
1021 (*has_bits)[2] |= 1073741824u;
1024 (*has_bits)[2] |= 1024u;
1027 (*has_bits)[2] |= 2048u;
1030 (*has_bits)[1] |= 524288u;
1033 (*has_bits)[1] |= 1048576u;
1036 (*has_bits)[2] |= 16384u;
1039 (*has_bits)[2] |= 128u;
1042 (*has_bits)[0] |= 524288u;
1045 (*has_bits)[1] |= 16384u;
1048 (*has_bits)[1] |= 32768u;
1051 (*has_bits)[1] |= 65536u;
1054 (*has_bits)[1] |= 131072u;
1057 (*has_bits)[0] |= 2097152u;
1060 (*has_bits)[0] |= 4194304u;
1063 (*has_bits)[2] |= 32768u;
1066 (*has_bits)[2] |= 524288u;
1069 (*has_bits)[2] |= 2097152u;
1072 (*has_bits)[2] |= 1048576u;
1075 (*has_bits)[3] |= 4u;
1078 (*has_bits)[3] |= 8u;
1081 (*has_bits)[3] |= 1u;
1084 (*has_bits)[4] |= 512u;
1087 (*has_bits)[3] |= 16u;
1090 (*has_bits)[0] |= 8388608u;
1093 (*has_bits)[1] |= 262144u;
1096 (*has_bits)[3] |= 131072u;
1099 (*has_bits)[3] |= 32u;
1102 (*has_bits)[0] |= 16777216u;
1105 (*has_bits)[4] |= 16777216u;
1108 (*has_bits)[4] |= 33554432u;
1111 (*has_bits)[4] |= 67108864u;
1114 (*has_bits)[1] |= 512u;
1117 (*has_bits)[4] |= 134217728u;
1120 (*has_bits)[1] |= 1024u;
1123 (*has_bits)[4] |= 2048u;
1126 (*has_bits)[4] |= 4096u;
1129 (*has_bits)[4] |= 1024u;
1132 (*has_bits)[1] |= 2048u;
1135 (*has_bits)[2] |= 33554432u;
1138 (*has_bits)[2] |= 67108864u;
1141 (*has_bits)[2] |= 134217728u;
1144 (*has_bits)[2] |= 268435456u;
1147 (*has_bits)[0] |= 8u;
1150 (*has_bits)[1] |= 4096u;
1153 (*has_bits)[2] |= 262144u;
1156 (*has_bits)[3] |= 1024u;
1159 (*has_bits)[0] |= 4096u;
1162 (*has_bits)[0] |= 8192u;
1165 (*has_bits)[3] |= 2048u;
1168 (*has_bits)[3] |= 64u;
1171 (*has_bits)[3] |= 65536u;
1174 (*has_bits)[3] |= 128u;
1177 (*has_bits)[0] |= 16384u;
1180 (*has_bits)[0] |= 32768u;
1183 (*has_bits)[3] |= 4096u;
1186 (*has_bits)[3] |= 8192u;
1189 (*has_bits)[4] |= 131072u;
1192 (*has_bits)[4] |= 262144u;
1195 (*has_bits)[4] |= 8192u;
1198 (*has_bits)[4] |= 524288u;
1201 (*has_bits)[3] |= 4194304u;
1204 (*has_bits)[4] |= 1048576u;
1207 (*has_bits)[3] |= 8388608u;
1210 (*has_bits)[4] |= 8388608u;
1213 (*has_bits)[3] |= 16777216u;
1216 (*has_bits)[4] |= 4194304u;
1219 (*has_bits)[4] |= 268435456u;
1222 (*has_bits)[4] |= 536870912u;
1225 (*has_bits)[3] |= 33554432u;
1228 (*has_bits)[0] |= 1024u;
1231 (*has_bits)[4] |= 2097152u;
1234 (*has_bits)[1] |= 2097152u;
1237 (*has_bits)[3] |= 262144u;
1240 (*has_bits)[3] |= 524288u;
1243 (*has_bits)[1] |= 4194304u;
1246 (*has_bits)[1] |= 8388608u;
1249 (*has_bits)[3] |= 1048576u;
1252 (*has_bits)[1] |= 8192u;
1255 (*has_bits)[1] |= 16777216u;
1258 (*has_bits)[3] |= 67108864u;
1261 (*has_bits)[0] |= 33554432u;
1264 (*has_bits)[3] |= 16384u;
1267 (*has_bits)[0] |= 67108864u;
1270 (*has_bits)[0] |= 134217728u;
1273 (*has_bits)[0] |= 268435456u;
1276 (*has_bits)[1] |= 32u;
1279 (*has_bits)[3] |= 2097152u;
1282 (*has_bits)[3] |= 1073741824u;
1285 (*has_bits)[1] |= 64u;
1288 (*has_bits)[1] |= 128u;
1291 (*has_bits)[3] |= 32768u;
1294 (*has_bits)[1] |= 256u;
1297 (*has_bits)[4] |= 256u;
1300 (*has_bits)[0] |= 536870912u;
1303 (*has_bits)[3] |= 2147483648u;
1306 (*has_bits)[4] |= 1u;
1309 (*has_bits)[0] |= 1073741824u;
1312 (*has_bits)[0] |= 2147483648u;
1315 (*has_bits)[4] |= 2u;
1318 (*has_bits)[4] |= 16u;
1321 (*has_bits)[4] |= 32u;
1324 (*has_bits)[4] |= 1073741824u;
1327 (*has_bits)[1] |= 1u;
1330 (*has_bits)[1] |= 2u;
1333 (*has_bits)[1] |= 4u;
1336 (*has_bits)[0] |= 1048576u;
1339 (*has_bits)[4] |= 64u;
1342 (*has_bits)[4] |= 128u;
1345 (*has_bits)[1] |= 8u;
1348 (*has_bits)[1] |= 16u;
1351 (*has_bits)[4] |= 16384u;
1354 (*has_bits)[4] |= 32768u;
1357 (*has_bits)[1] |= 33554432u;
1360 (*has_bits)[1] |= 67108864u;
1363 (*has_bits)[5] |= 1u;
1366 (*has_bits)[3] |= 134217728u;
1369 (*has_bits)[3] |= 268435456u;
1372 (*has_bits)[4] |= 65536u;
1375 (*has_bits)[3] |= 536870912u;
1378 (*has_bits)[4] |= 4u;
1381 (*has_bits)[4] |= 8u;
1385 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}};
1386 SatParameters::SatParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1387 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1388 restart_algorithms_(arena) {
1390 RegisterArenaDtor(arena);
1393 SatParameters::SatParameters(
const SatParameters& from)
1394 : ::PROTOBUF_NAMESPACE_ID::Message(),
1395 _has_bits_(from._has_bits_),
1396 restart_algorithms_(from.restart_algorithms_) {
1397 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1398 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1399 if (from._internal_has_default_restart_algorithms()) {
1400 default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, from._internal_default_restart_algorithms(),
1403 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1404 if (from._internal_has_name()) {
1405 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1408 ::memcpy(&preferred_variable_order_, &from.preferred_variable_order_,
1409 static_cast<size_t>(
reinterpret_cast<char*
>(&symmetry_level_) -
1410 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(symmetry_level_));
1414 void SatParameters::SharedCtor() {
1416 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1417 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1418 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1419 reinterpret_cast<char*
>(&preferred_variable_order_) -
reinterpret_cast<char*
>(
this)),
1420 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&convert_intervals_) -
1421 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(convert_intervals_));
1422 initial_polarity_ = 1;
1423 minimization_algorithm_ = 2;
1424 clause_cleanup_period_ = 10000;
1425 clause_cleanup_target_ = 10000;
1426 variable_activity_decay_ = 0.8;
1427 max_variable_activity_value_ = 1e+100;
1428 clause_activity_decay_ = 0.999;
1429 max_clause_activity_value_ = 1e+20;
1430 glucose_max_decay_ = 0.95;
1431 glucose_decay_increment_ = 0.01;
1432 glucose_decay_increment_period_ = 5000;
1433 restart_period_ = 50;
1435 binary_minimization_algorithm_ = 1;
1436 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1437 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1438 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1439 use_phase_saving_ =
true;
1440 subsumption_during_conflict_analysis_ =
true;
1441 treat_binary_clauses_separately_ =
true;
1442 count_assumption_levels_in_lbd_ =
true;
1443 pb_cleanup_increment_ = 200;
1444 pb_cleanup_ratio_ = 0.5;
1445 max_sat_stratification_ = 1;
1446 presolve_bve_threshold_ = 500;
1447 presolve_probing_deterministic_time_limit_ = 30;
1448 presolve_bve_clause_weight_ = 3;
1449 clause_cleanup_lbd_bound_ = 5;
1450 restart_dl_average_ratio_ = 1;
1451 restart_running_window_size_ = 50;
1452 use_optimization_hints_ =
true;
1453 minimize_core_ =
true;
1454 find_multiple_cores_ =
true;
1455 cover_optimization_ =
true;
1456 blocking_restart_multiplier_ = 1.4;
1457 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1458 blocking_restart_window_size_ = 5000;
1459 presolve_bva_threshold_ = 1;
1460 restart_lbd_average_ratio_ = 1;
1461 presolve_blocked_clause_ =
true;
1462 presolve_use_bva_ =
true;
1463 cp_model_presolve_ =
true;
1464 cp_model_use_sat_presolve_ =
true;
1465 linearization_level_ = 1;
1466 max_num_cuts_ = 10000;
1467 minimize_with_propagation_restart_period_ = 10;
1468 minimize_with_propagation_num_decisions_ = 1000;
1469 use_precedences_in_disjunctive_constraint_ =
true;
1470 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1471 add_cg_cuts_ =
true;
1472 add_mir_cuts_ =
true;
1473 binary_search_num_conflicts_ = -1;
1474 num_search_workers_ = 1;
1475 boolean_encoding_level_ = 1;
1476 cp_model_probing_level_ = 2;
1477 exploit_integer_lp_solution_ =
true;
1478 exploit_all_lp_solution_ =
true;
1479 exploit_objective_ =
true;
1480 instantiate_all_variables_ =
true;
1481 max_integer_rounding_scaling_ = 600;
1482 min_orthogonality_for_lp_constraints_ = 0.05;
1483 max_consecutive_inactive_count_ = 100;
1484 new_constraints_batch_size_ = 50;
1485 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1486 mip_max_bound_ = 10000000;
1487 mip_var_scaling_ = 1;
1488 mip_wanted_precision_ = 1e-06;
1489 auto_detect_greater_than_at_least_one_of_ =
true;
1490 share_objective_bounds_ =
true;
1491 share_level_zero_bounds_ =
true;
1492 lns_expand_intervals_in_constraint_graph_ =
true;
1493 mip_max_activity_exponent_ = 53;
1494 mip_check_precision_ = 0.0001;
1495 use_rins_lns_ =
true;
1496 use_feasibility_pump_ =
true;
1497 use_optional_variables_ =
true;
1498 use_exact_lp_reason_ =
true;
1499 interleave_batch_size_ = 1;
1500 max_presolve_iterations_ = 3;
1501 presolve_substitution_level_ = 1;
1502 merge_no_overlap_work_limit_ = 1000000000000;
1503 merge_at_most_one_work_limit_ = 100000000;
1504 max_all_diff_cut_size_ = 7;
1505 catch_sigint_signal_ =
true;
1506 use_implied_bounds_ =
true;
1507 mip_automatically_scale_variables_ =
true;
1508 add_zero_half_cuts_ =
true;
1509 add_clique_cuts_ =
true;
1510 add_lin_max_cuts_ =
true;
1511 add_lp_constraints_lazily_ =
true;
1512 hint_conflict_limit_ = 10;
1513 cut_max_active_count_value_ = 10000000000;
1514 max_cut_rounds_at_level_zero_ = 1;
1515 expand_element_constraints_ =
true;
1516 expand_automaton_constraints_ =
true;
1517 expand_table_constraints_ =
true;
1518 expand_reservoir_constraints_ =
true;
1519 cut_active_count_decay_ = 0.8;
1520 cut_cleanup_target_ = 1000;
1522 polarity_rephase_increment_ = 1000;
1523 symmetry_level_ = 2;
1526 SatParameters::~SatParameters() {
1529 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1532 void SatParameters::SharedDtor() {
1533 GOOGLE_DCHECK(GetArena() ==
nullptr);
1534 default_restart_algorithms_.DestroyNoArena(
nullptr);
1535 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1538 void SatParameters::ArenaDtor(
void*
object) {
1539 SatParameters* _this =
reinterpret_cast< SatParameters*
>(object);
1542 void SatParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1544 void SatParameters::SetCachedSize(
int size)
const {
1545 _cached_size_.Set(size);
1547 const SatParameters& SatParameters::default_instance() {
1549 return *internal_default_instance();
1553 void SatParameters::Clear() {
1557 (void) cached_has_bits;
1559 restart_algorithms_.Clear();
1560 cached_has_bits = _has_bits_[0];
1561 if (cached_has_bits & 0x00000003u) {
1562 if (cached_has_bits & 0x00000001u) {
1563 default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArena());
1565 if (cached_has_bits & 0x00000002u) {
1566 name_.ClearNonDefaultToEmpty();
1569 if (cached_has_bits & 0x000000fcu) {
1570 ::memset(&preferred_variable_order_, 0,
static_cast<size_t>(
1571 reinterpret_cast<char*
>(&clause_cleanup_ordering_) -
1572 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(clause_cleanup_ordering_));
1574 if (cached_has_bits & 0x0000ff00u) {
1575 ::memset(&strategy_change_increase_ratio_, 0,
static_cast<size_t>(
1576 reinterpret_cast<char*
>(&add_knapsack_cuts_) -
1577 reinterpret_cast<char*
>(&strategy_change_increase_ratio_)) +
sizeof(add_knapsack_cuts_));
1579 if (cached_has_bits & 0x00ff0000u) {
1580 ::memset(&use_erwa_heuristic_, 0,
static_cast<size_t>(
1581 reinterpret_cast<char*
>(&cp_model_postsolve_with_full_solver_) -
1582 reinterpret_cast<char*
>(&use_erwa_heuristic_)) +
sizeof(cp_model_postsolve_with_full_solver_));
1584 if (cached_has_bits & 0xff000000u) {
1585 ::memset(&use_sat_inprocessing_, 0,
static_cast<size_t>(
1586 reinterpret_cast<char*
>(&lns_focus_on_decision_variables_) -
1587 reinterpret_cast<char*
>(&use_sat_inprocessing_)) +
sizeof(lns_focus_on_decision_variables_));
1589 cached_has_bits = _has_bits_[1];
1590 if (cached_has_bits & 0x000000ffu) {
1591 ::memset(&use_relaxation_lns_, 0,
static_cast<size_t>(
1592 reinterpret_cast<char*
>(&stop_after_presolve_) -
1593 reinterpret_cast<char*
>(&use_relaxation_lns_)) +
sizeof(stop_after_presolve_));
1595 if (cached_has_bits & 0x0000ff00u) {
1596 ::memset(&interleave_search_, 0,
static_cast<size_t>(
1597 reinterpret_cast<char*
>(&use_absl_random_) -
1598 reinterpret_cast<char*
>(&interleave_search_)) +
sizeof(use_absl_random_));
1600 if (cached_has_bits & 0x00ff0000u) {
1601 ::memset(&log_search_progress_, 0,
static_cast<size_t>(
1602 reinterpret_cast<char*
>(&exploit_relaxation_solution_) -
1603 reinterpret_cast<char*
>(&log_search_progress_)) +
sizeof(exploit_relaxation_solution_));
1605 if (cached_has_bits & 0xff000000u) {
1606 ::memset(&use_probing_search_, 0,
static_cast<size_t>(
1607 reinterpret_cast<char*
>(&convert_intervals_) -
1608 reinterpret_cast<char*
>(&use_probing_search_)) +
sizeof(convert_intervals_));
1609 initial_polarity_ = 1;
1610 minimization_algorithm_ = 2;
1611 clause_cleanup_period_ = 10000;
1612 clause_cleanup_target_ = 10000;
1613 variable_activity_decay_ = 0.8;
1615 cached_has_bits = _has_bits_[2];
1616 if (cached_has_bits & 0x000000ffu) {
1617 max_variable_activity_value_ = 1e+100;
1618 clause_activity_decay_ = 0.999;
1619 max_clause_activity_value_ = 1e+20;
1620 glucose_max_decay_ = 0.95;
1621 glucose_decay_increment_ = 0.01;
1622 glucose_decay_increment_period_ = 5000;
1623 restart_period_ = 50;
1626 if (cached_has_bits & 0x0000ff00u) {
1627 binary_minimization_algorithm_ = 1;
1628 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1629 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1630 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1631 use_phase_saving_ =
true;
1632 subsumption_during_conflict_analysis_ =
true;
1633 treat_binary_clauses_separately_ =
true;
1634 count_assumption_levels_in_lbd_ =
true;
1636 if (cached_has_bits & 0x00ff0000u) {
1637 pb_cleanup_increment_ = 200;
1638 pb_cleanup_ratio_ = 0.5;
1639 max_sat_stratification_ = 1;
1640 presolve_bve_threshold_ = 500;
1641 presolve_probing_deterministic_time_limit_ = 30;
1642 presolve_bve_clause_weight_ = 3;
1643 clause_cleanup_lbd_bound_ = 5;
1644 restart_dl_average_ratio_ = 1;
1646 if (cached_has_bits & 0xff000000u) {
1647 restart_running_window_size_ = 50;
1648 use_optimization_hints_ =
true;
1649 minimize_core_ =
true;
1650 find_multiple_cores_ =
true;
1651 cover_optimization_ =
true;
1652 blocking_restart_multiplier_ = 1.4;
1653 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1654 blocking_restart_window_size_ = 5000;
1656 cached_has_bits = _has_bits_[3];
1657 if (cached_has_bits & 0x000000ffu) {
1658 presolve_bva_threshold_ = 1;
1659 restart_lbd_average_ratio_ = 1;
1660 presolve_blocked_clause_ =
true;
1661 presolve_use_bva_ =
true;
1662 cp_model_presolve_ =
true;
1663 cp_model_use_sat_presolve_ =
true;
1664 linearization_level_ = 1;
1665 max_num_cuts_ = 10000;
1667 if (cached_has_bits & 0x0000ff00u) {
1668 minimize_with_propagation_restart_period_ = 10;
1669 minimize_with_propagation_num_decisions_ = 1000;
1670 use_precedences_in_disjunctive_constraint_ =
true;
1671 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1672 add_cg_cuts_ =
true;
1673 add_mir_cuts_ =
true;
1674 binary_search_num_conflicts_ = -1;
1675 num_search_workers_ = 1;
1677 if (cached_has_bits & 0x00ff0000u) {
1678 boolean_encoding_level_ = 1;
1679 cp_model_probing_level_ = 2;
1680 exploit_integer_lp_solution_ =
true;
1681 exploit_all_lp_solution_ =
true;
1682 exploit_objective_ =
true;
1683 instantiate_all_variables_ =
true;
1684 max_integer_rounding_scaling_ = 600;
1685 min_orthogonality_for_lp_constraints_ = 0.05;
1687 if (cached_has_bits & 0xff000000u) {
1688 max_consecutive_inactive_count_ = 100;
1689 new_constraints_batch_size_ = 50;
1690 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1691 mip_max_bound_ = 10000000;
1692 mip_var_scaling_ = 1;
1693 mip_wanted_precision_ = 1e-06;
1694 auto_detect_greater_than_at_least_one_of_ =
true;
1695 share_objective_bounds_ =
true;
1697 cached_has_bits = _has_bits_[4];
1698 if (cached_has_bits & 0x000000ffu) {
1699 share_level_zero_bounds_ =
true;
1700 lns_expand_intervals_in_constraint_graph_ =
true;
1701 mip_max_activity_exponent_ = 53;
1702 mip_check_precision_ = 0.0001;
1703 use_rins_lns_ =
true;
1704 use_feasibility_pump_ =
true;
1705 use_optional_variables_ =
true;
1706 use_exact_lp_reason_ =
true;
1708 if (cached_has_bits & 0x0000ff00u) {
1709 interleave_batch_size_ = 1;
1710 max_presolve_iterations_ = 3;
1711 presolve_substitution_level_ = 1;
1712 merge_no_overlap_work_limit_ = 1000000000000;
1713 merge_at_most_one_work_limit_ = 100000000;
1714 max_all_diff_cut_size_ = 7;
1715 catch_sigint_signal_ =
true;
1716 use_implied_bounds_ =
true;
1718 if (cached_has_bits & 0x00ff0000u) {
1719 mip_automatically_scale_variables_ =
true;
1720 add_zero_half_cuts_ =
true;
1721 add_clique_cuts_ =
true;
1722 add_lin_max_cuts_ =
true;
1723 add_lp_constraints_lazily_ =
true;
1724 hint_conflict_limit_ = 10;
1725 cut_max_active_count_value_ = 10000000000;
1726 max_cut_rounds_at_level_zero_ = 1;
1728 if (cached_has_bits & 0xff000000u) {
1729 expand_element_constraints_ =
true;
1730 expand_automaton_constraints_ =
true;
1731 expand_table_constraints_ =
true;
1732 expand_reservoir_constraints_ =
true;
1733 cut_active_count_decay_ = 0.8;
1734 cut_cleanup_target_ = 1000;
1736 polarity_rephase_increment_ = 1000;
1738 symmetry_level_ = 2;
1740 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1743 const char* SatParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1744 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1745 while (!ctx->Done(&ptr)) {
1747 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1758 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
1760 }
else goto handle_unusual;
1770 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
1772 }
else goto handle_unusual;
1782 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
1784 }
else goto handle_unusual;
1790 clause_cleanup_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1792 }
else goto handle_unusual;
1798 clause_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1800 }
else goto handle_unusual;
1806 variable_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1807 ptr +=
sizeof(double);
1808 }
else goto handle_unusual;
1814 max_variable_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1815 ptr +=
sizeof(double);
1816 }
else goto handle_unusual;
1822 clause_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1823 ptr +=
sizeof(double);
1824 }
else goto handle_unusual;
1830 max_clause_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1831 ptr +=
sizeof(double);
1832 }
else goto handle_unusual;
1838 glucose_max_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1839 ptr +=
sizeof(double);
1840 }
else goto handle_unusual;
1846 glucose_decay_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1847 ptr +=
sizeof(double);
1848 }
else goto handle_unusual;
1854 glucose_decay_increment_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1856 }
else goto handle_unusual;
1862 restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1864 }
else goto handle_unusual;
1870 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1872 }
else goto handle_unusual;
1878 random_branches_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1879 ptr +=
sizeof(double);
1880 }
else goto handle_unusual;
1886 treat_binary_clauses_separately_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1888 }
else goto handle_unusual;
1898 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(34, val, mutable_unknown_fields());
1900 }
else goto handle_unusual;
1906 use_optimization_hints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1908 }
else goto handle_unusual;
1914 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1915 ptr +=
sizeof(double);
1916 }
else goto handle_unusual;
1922 max_number_of_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1924 }
else goto handle_unusual;
1930 max_memory_in_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1932 }
else goto handle_unusual;
1938 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1940 }
else goto handle_unusual;
1946 use_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1948 }
else goto handle_unusual;
1954 use_phase_saving_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1956 }
else goto handle_unusual;
1962 random_polarity_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1963 ptr +=
sizeof(double);
1964 }
else goto handle_unusual;
1970 pb_cleanup_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1972 }
else goto handle_unusual;
1978 pb_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1979 ptr +=
sizeof(double);
1980 }
else goto handle_unusual;
1986 minimize_reduction_during_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1988 }
else goto handle_unusual;
1994 count_assumption_levels_in_lbd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1996 }
else goto handle_unusual;
2002 minimize_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2004 }
else goto handle_unusual;
2014 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(51, val, mutable_unknown_fields());
2016 }
else goto handle_unusual;
2022 max_sat_reverse_assumption_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2024 }
else goto handle_unusual;
2034 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(53, val, mutable_unknown_fields());
2036 }
else goto handle_unusual;
2042 presolve_bve_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2044 }
else goto handle_unusual;
2050 presolve_bve_clause_weight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2052 }
else goto handle_unusual;
2058 subsumption_during_conflict_analysis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2060 }
else goto handle_unusual;
2066 presolve_probing_deterministic_time_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2067 ptr +=
sizeof(double);
2068 }
else goto handle_unusual;
2078 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(58, val, mutable_unknown_fields());
2080 }
else goto handle_unusual;
2086 clause_cleanup_lbd_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2088 }
else goto handle_unusual;
2098 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(60, val, mutable_unknown_fields());
2100 }
else goto handle_unusual;
2113 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(61, val, mutable_unknown_fields());
2115 if (!ctx->DataAvailable(ptr))
break;
2116 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<488>(ptr));
2120 }
else goto handle_unusual;
2126 restart_running_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2128 }
else goto handle_unusual;
2134 restart_dl_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2135 ptr +=
sizeof(double);
2136 }
else goto handle_unusual;
2142 use_blocking_restart_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2144 }
else goto handle_unusual;
2150 blocking_restart_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2152 }
else goto handle_unusual;
2158 blocking_restart_multiplier_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2159 ptr +=
sizeof(double);
2160 }
else goto handle_unusual;
2166 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2167 ptr +=
sizeof(double);
2168 }
else goto handle_unusual;
2174 num_conflicts_before_strategy_changes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2176 }
else goto handle_unusual;
2182 strategy_change_increase_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2183 ptr +=
sizeof(double);
2184 }
else goto handle_unusual;
2189 auto str = _internal_mutable_default_restart_algorithms();
2190 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2192 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.default_restart_algorithms");
2195 }
else goto handle_unusual;
2201 restart_lbd_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2202 ptr +=
sizeof(double);
2203 }
else goto handle_unusual;
2209 presolve_use_bva_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2211 }
else goto handle_unusual;
2217 presolve_bva_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2219 }
else goto handle_unusual;
2225 use_precedences_in_disjunctive_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2227 }
else goto handle_unusual;
2233 use_erwa_heuristic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2235 }
else goto handle_unusual;
2241 initial_variables_activity_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2242 ptr +=
sizeof(double);
2243 }
else goto handle_unusual;
2249 also_bump_variables_in_conflict_reasons_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2251 }
else goto handle_unusual;
2257 use_overload_checker_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2259 }
else goto handle_unusual;
2265 use_timetable_edge_finding_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2267 }
else goto handle_unusual;
2273 use_disjunctive_constraint_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2275 }
else goto handle_unusual;
2285 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(82, val, mutable_unknown_fields());
2287 }
else goto handle_unusual;
2293 optimize_with_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2295 }
else goto handle_unusual;
2301 find_multiple_cores_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2303 }
else goto handle_unusual;
2309 optimize_with_max_hs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2311 }
else goto handle_unusual;
2317 cp_model_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2319 }
else goto handle_unusual;
2325 enumerate_all_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2327 }
else goto handle_unusual;
2333 presolve_blocked_clause_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2335 }
else goto handle_unusual;
2341 cover_optimization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2343 }
else goto handle_unusual;
2349 linearization_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2351 }
else goto handle_unusual;
2357 max_num_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2359 }
else goto handle_unusual;
2365 only_add_cuts_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2367 }
else goto handle_unusual;
2373 cp_model_use_sat_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2375 }
else goto handle_unusual;
2381 exploit_integer_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2383 }
else goto handle_unusual;
2389 auto_detect_greater_than_at_least_one_of_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2391 }
else goto handle_unusual;
2397 minimize_with_propagation_restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2399 }
else goto handle_unusual;
2405 minimize_with_propagation_num_decisions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2407 }
else goto handle_unusual;
2413 stop_after_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2415 }
else goto handle_unusual;
2421 binary_search_num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2423 }
else goto handle_unusual;
2429 num_search_workers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2431 }
else goto handle_unusual;
2437 use_lns_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2439 }
else goto handle_unusual;
2445 randomize_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2447 }
else goto handle_unusual;
2453 search_randomization_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2455 }
else goto handle_unusual;
2461 lns_focus_on_decision_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2463 }
else goto handle_unusual;
2469 instantiate_all_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2471 }
else goto handle_unusual;
2477 boolean_encoding_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2479 }
else goto handle_unusual;
2485 use_optional_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2487 }
else goto handle_unusual;
2493 use_exact_lp_reason_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2495 }
else goto handle_unusual;
2501 cp_model_probing_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2503 }
else goto handle_unusual;
2509 add_knapsack_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2511 }
else goto handle_unusual;
2517 add_lp_constraints_lazily_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2519 }
else goto handle_unusual;
2525 share_objective_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2527 }
else goto handle_unusual;
2533 share_level_zero_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2535 }
else goto handle_unusual;
2541 min_orthogonality_for_lp_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2542 ptr +=
sizeof(double);
2543 }
else goto handle_unusual;
2549 exploit_all_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2551 }
else goto handle_unusual;
2557 add_cg_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2559 }
else goto handle_unusual;
2565 max_integer_rounding_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2567 }
else goto handle_unusual;
2573 add_mir_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2575 }
else goto handle_unusual;
2581 max_consecutive_inactive_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2583 }
else goto handle_unusual;
2589 new_constraints_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2591 }
else goto handle_unusual;
2597 pseudo_cost_reliability_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2599 }
else goto handle_unusual;
2605 mip_max_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2606 ptr +=
sizeof(double);
2607 }
else goto handle_unusual;
2613 mip_var_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2614 ptr +=
sizeof(double);
2615 }
else goto handle_unusual;
2621 mip_wanted_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2622 ptr +=
sizeof(double);
2623 }
else goto handle_unusual;
2629 mip_max_activity_exponent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2631 }
else goto handle_unusual;
2637 mip_check_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2638 ptr +=
sizeof(double);
2639 }
else goto handle_unusual;
2645 use_rins_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2647 }
else goto handle_unusual;
2653 exploit_best_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2655 }
else goto handle_unusual;
2661 exploit_objective_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2663 }
else goto handle_unusual;
2669 fill_tightened_domains_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2671 }
else goto handle_unusual;
2677 use_combined_no_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2679 }
else goto handle_unusual;
2685 interleave_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2687 }
else goto handle_unusual;
2693 catch_sigint_signal_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2695 }
else goto handle_unusual;
2701 interleave_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2703 }
else goto handle_unusual;
2709 diversify_lns_params_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2711 }
else goto handle_unusual;
2717 max_presolve_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2719 }
else goto handle_unusual;
2725 use_branching_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2727 }
else goto handle_unusual;
2733 expand_element_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2735 }
else goto handle_unusual;
2741 reduce_memory_usage_in_interleave_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2743 }
else goto handle_unusual;
2749 probing_period_at_root_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2751 }
else goto handle_unusual;
2757 expand_automaton_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2759 }
else goto handle_unusual;
2765 use_implied_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2767 }
else goto handle_unusual;
2773 merge_no_overlap_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2774 ptr +=
sizeof(double);
2775 }
else goto handle_unusual;
2781 merge_at_most_one_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2782 ptr +=
sizeof(double);
2783 }
else goto handle_unusual;
2789 presolve_substitution_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2791 }
else goto handle_unusual;
2797 max_all_diff_cut_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2799 }
else goto handle_unusual;
2805 stop_after_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2807 }
else goto handle_unusual;
2813 use_relaxation_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2815 }
else goto handle_unusual;
2821 cp_model_max_num_presolve_operations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2823 }
else goto handle_unusual;
2829 add_lin_max_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2831 }
else goto handle_unusual;
2837 hint_conflict_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2839 }
else goto handle_unusual;
2845 max_cut_rounds_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2847 }
else goto handle_unusual;
2853 cut_max_active_count_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2854 ptr +=
sizeof(double);
2855 }
else goto handle_unusual;
2861 cut_active_count_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2862 ptr +=
sizeof(double);
2863 }
else goto handle_unusual;
2869 cut_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2871 }
else goto handle_unusual;
2877 expand_table_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2879 }
else goto handle_unusual;
2885 absolute_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2886 ptr +=
sizeof(double);
2887 }
else goto handle_unusual;
2893 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2894 ptr +=
sizeof(double);
2895 }
else goto handle_unusual;
2901 exploit_relaxation_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2903 }
else goto handle_unusual;
2909 cp_model_postsolve_with_full_solver_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2911 }
else goto handle_unusual;
2917 use_sat_inprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2919 }
else goto handle_unusual;
2925 use_feasibility_pump_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2927 }
else goto handle_unusual;
2937 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(165, val, mutable_unknown_fields());
2939 }
else goto handle_unusual;
2945 mip_automatically_scale_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2947 }
else goto handle_unusual;
2953 repair_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2955 }
else goto handle_unusual;
2961 polarity_rephase_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2963 }
else goto handle_unusual;
2969 add_zero_half_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2971 }
else goto handle_unusual;
2977 expand_alldiff_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2979 }
else goto handle_unusual;
2984 auto str = _internal_mutable_name();
2985 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2987 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.name");
2990 }
else goto handle_unusual;
2996 add_clique_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2998 }
else goto handle_unusual;
3004 keep_all_feasible_solutions_in_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3006 }
else goto handle_unusual;
3012 presolve_extract_integer_enforcement_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3014 }
else goto handle_unusual;
3020 polish_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3022 }
else goto handle_unusual;
3028 use_probing_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3030 }
else goto handle_unusual;
3036 convert_intervals_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3038 }
else goto handle_unusual;
3044 permute_variable_randomly_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3046 }
else goto handle_unusual;
3052 permute_presolve_constraint_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3054 }
else goto handle_unusual;
3060 use_absl_random_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3062 }
else goto handle_unusual;
3068 disable_constraint_expansion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3070 }
else goto handle_unusual;
3076 expand_reservoir_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3078 }
else goto handle_unusual;
3084 symmetry_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3086 }
else goto handle_unusual;
3092 lns_expand_intervals_in_constraint_graph_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3094 }
else goto handle_unusual;
3100 fill_logs_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3102 }
else goto handle_unusual;
3106 if ((tag & 7) == 4 || tag == 0) {
3107 ctx->SetLastTag(tag);
3110 ptr = UnknownFieldParse(tag,
3111 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3113 CHK_(ptr !=
nullptr);
3130 (void) cached_has_bits;
3132 cached_has_bits = _has_bits_[0];
3134 if (cached_has_bits & 0x00000004u) {
3135 target = stream->EnsureSpace(target);
3136 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3137 1, this->_internal_preferred_variable_order(), target);
3140 cached_has_bits = _has_bits_[1];
3142 if (cached_has_bits & 0x08000000u) {
3143 target = stream->EnsureSpace(target);
3144 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3145 2, this->_internal_initial_polarity(), target);
3149 if (cached_has_bits & 0x10000000u) {
3150 target = stream->EnsureSpace(target);
3151 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3152 4, this->_internal_minimization_algorithm(), target);
3156 if (cached_has_bits & 0x20000000u) {
3157 target = stream->EnsureSpace(target);
3158 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_clause_cleanup_period(), target);
3162 if (cached_has_bits & 0x40000000u) {
3163 target = stream->EnsureSpace(target);
3164 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_clause_cleanup_target(), target);
3168 if (cached_has_bits & 0x80000000u) {
3169 target = stream->EnsureSpace(target);
3170 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_variable_activity_decay(), target);
3173 cached_has_bits = _has_bits_[2];
3175 if (cached_has_bits & 0x00000001u) {
3176 target = stream->EnsureSpace(target);
3177 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_max_variable_activity_value(), target);
3181 if (cached_has_bits & 0x00000002u) {
3182 target = stream->EnsureSpace(target);
3183 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_clause_activity_decay(), target);
3187 if (cached_has_bits & 0x00000004u) {
3188 target = stream->EnsureSpace(target);
3189 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_max_clause_activity_value(), target);
3193 if (cached_has_bits & 0x00000008u) {
3194 target = stream->EnsureSpace(target);
3195 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_glucose_max_decay(), target);
3199 if (cached_has_bits & 0x00000010u) {
3200 target = stream->EnsureSpace(target);
3201 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_glucose_decay_increment(), target);
3205 if (cached_has_bits & 0x00000020u) {
3206 target = stream->EnsureSpace(target);
3207 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_glucose_decay_increment_period(), target);
3211 if (cached_has_bits & 0x00000040u) {
3212 target = stream->EnsureSpace(target);
3213 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_restart_period(), target);
3217 if (cached_has_bits & 0x00000080u) {
3218 target = stream->EnsureSpace(target);
3219 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_random_seed(), target);
3222 cached_has_bits = _has_bits_[0];
3224 if (cached_has_bits & 0x00000010u) {
3225 target = stream->EnsureSpace(target);
3226 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(32, this->_internal_random_branches_ratio(), target);
3229 cached_has_bits = _has_bits_[2];
3231 if (cached_has_bits & 0x00004000u) {
3232 target = stream->EnsureSpace(target);
3233 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_treat_binary_clauses_separately(), target);
3237 if (cached_has_bits & 0x00000100u) {
3238 target = stream->EnsureSpace(target);
3239 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3240 34, this->_internal_binary_minimization_algorithm(), target);
3244 if (cached_has_bits & 0x02000000u) {
3245 target = stream->EnsureSpace(target);
3246 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_optimization_hints(), target);
3250 if (cached_has_bits & 0x00000200u) {
3251 target = stream->EnsureSpace(target);
3252 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_max_time_in_seconds(), target);
3256 if (cached_has_bits & 0x00000400u) {
3257 target = stream->EnsureSpace(target);
3258 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(37, this->_internal_max_number_of_conflicts(), target);
3262 if (cached_has_bits & 0x00000800u) {
3263 target = stream->EnsureSpace(target);
3264 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(40, this->_internal_max_memory_in_mb(), target);
3267 cached_has_bits = _has_bits_[1];
3269 if (cached_has_bits & 0x00010000u) {
3270 target = stream->EnsureSpace(target);
3271 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_log_search_progress(), target);
3274 cached_has_bits = _has_bits_[0];
3276 if (cached_has_bits & 0x00200000u) {
3277 target = stream->EnsureSpace(target);
3278 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(43, this->_internal_use_pb_resolution(), target);
3281 cached_has_bits = _has_bits_[2];
3283 if (cached_has_bits & 0x00001000u) {
3284 target = stream->EnsureSpace(target);
3285 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(44, this->_internal_use_phase_saving(), target);
3288 cached_has_bits = _has_bits_[0];
3290 if (cached_has_bits & 0x00000020u) {
3291 target = stream->EnsureSpace(target);
3292 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_random_polarity_ratio(), target);
3295 cached_has_bits = _has_bits_[2];
3297 if (cached_has_bits & 0x00010000u) {
3298 target = stream->EnsureSpace(target);
3299 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_pb_cleanup_increment(), target);
3303 if (cached_has_bits & 0x00020000u) {
3304 target = stream->EnsureSpace(target);
3305 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(47, this->_internal_pb_cleanup_ratio(), target);
3308 cached_has_bits = _has_bits_[0];
3310 if (cached_has_bits & 0x00400000u) {
3311 target = stream->EnsureSpace(target);
3312 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_minimize_reduction_during_pb_resolution(), target);
3315 cached_has_bits = _has_bits_[2];
3317 if (cached_has_bits & 0x00008000u) {
3318 target = stream->EnsureSpace(target);
3319 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(49, this->_internal_count_assumption_levels_in_lbd(), target);
3323 if (cached_has_bits & 0x04000000u) {
3324 target = stream->EnsureSpace(target);
3325 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(50, this->_internal_minimize_core(), target);
3328 cached_has_bits = _has_bits_[0];
3330 if (cached_has_bits & 0x00000008u) {
3331 target = stream->EnsureSpace(target);
3332 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3333 51, this->_internal_max_sat_assumption_order(), target);
3336 cached_has_bits = _has_bits_[1];
3338 if (cached_has_bits & 0x00001000u) {
3339 target = stream->EnsureSpace(target);
3340 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(52, this->_internal_max_sat_reverse_assumption_order(), target);
3343 cached_has_bits = _has_bits_[2];
3345 if (cached_has_bits & 0x00040000u) {
3346 target = stream->EnsureSpace(target);
3347 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3348 53, this->_internal_max_sat_stratification(), target);
3352 if (cached_has_bits & 0x00080000u) {
3353 target = stream->EnsureSpace(target);
3354 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(54, this->_internal_presolve_bve_threshold(), target);
3358 if (cached_has_bits & 0x00200000u) {
3359 target = stream->EnsureSpace(target);
3360 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_presolve_bve_clause_weight(), target);
3364 if (cached_has_bits & 0x00002000u) {
3365 target = stream->EnsureSpace(target);
3366 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(56, this->_internal_subsumption_during_conflict_analysis(), target);
3370 if (cached_has_bits & 0x00100000u) {
3371 target = stream->EnsureSpace(target);
3372 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(57, this->_internal_presolve_probing_deterministic_time_limit(), target);
3375 cached_has_bits = _has_bits_[0];
3377 if (cached_has_bits & 0x00000040u) {
3378 target = stream->EnsureSpace(target);
3379 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3380 58, this->_internal_clause_cleanup_protection(), target);
3383 cached_has_bits = _has_bits_[2];
3385 if (cached_has_bits & 0x00400000u) {
3386 target = stream->EnsureSpace(target);
3387 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(59, this->_internal_clause_cleanup_lbd_bound(), target);
3390 cached_has_bits = _has_bits_[0];
3392 if (cached_has_bits & 0x00000080u) {
3393 target = stream->EnsureSpace(target);
3394 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3395 60, this->_internal_clause_cleanup_ordering(), target);
3399 for (
int i = 0, n = this->_internal_restart_algorithms_size(); i < n; i++) {
3400 target = stream->EnsureSpace(target);
3401 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3402 61, this->_internal_restart_algorithms(i), target);
3405 cached_has_bits = _has_bits_[2];
3407 if (cached_has_bits & 0x01000000u) {
3408 target = stream->EnsureSpace(target);
3409 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(62, this->_internal_restart_running_window_size(), target);
3413 if (cached_has_bits & 0x00800000u) {
3414 target = stream->EnsureSpace(target);
3415 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(63, this->_internal_restart_dl_average_ratio(), target);
3418 cached_has_bits = _has_bits_[0];
3420 if (cached_has_bits & 0x00040000u) {
3421 target = stream->EnsureSpace(target);
3422 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(64, this->_internal_use_blocking_restart(), target);
3425 cached_has_bits = _has_bits_[2];
3427 if (cached_has_bits & 0x80000000u) {
3428 target = stream->EnsureSpace(target);
3429 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(65, this->_internal_blocking_restart_window_size(), target);
3433 if (cached_has_bits & 0x20000000u) {
3434 target = stream->EnsureSpace(target);
3435 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(66, this->_internal_blocking_restart_multiplier(), target);
3439 if (cached_has_bits & 0x40000000u) {
3440 target = stream->EnsureSpace(target);
3441 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(67, this->_internal_max_deterministic_time(), target);
3444 cached_has_bits = _has_bits_[0];
3446 if (cached_has_bits & 0x00000200u) {
3447 target = stream->EnsureSpace(target);
3448 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(68, this->_internal_num_conflicts_before_strategy_changes(), target);
3452 if (cached_has_bits & 0x00000100u) {
3453 target = stream->EnsureSpace(target);
3454 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(69, this->_internal_strategy_change_increase_ratio(), target);
3458 if (cached_has_bits & 0x00000001u) {
3459 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3460 this->_internal_default_restart_algorithms().data(),
static_cast<int>(this->_internal_default_restart_algorithms().length()),
3461 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3462 "operations_research.sat.SatParameters.default_restart_algorithms");
3463 target = stream->WriteStringMaybeAliased(
3464 70, this->_internal_default_restart_algorithms(), target);
3467 cached_has_bits = _has_bits_[3];
3469 if (cached_has_bits & 0x00000002u) {
3470 target = stream->EnsureSpace(target);
3471 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(71, this->_internal_restart_lbd_average_ratio(), target);
3475 if (cached_has_bits & 0x00000008u) {
3476 target = stream->EnsureSpace(target);
3477 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(72, this->_internal_presolve_use_bva(), target);
3481 if (cached_has_bits & 0x00000001u) {
3482 target = stream->EnsureSpace(target);
3483 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(73, this->_internal_presolve_bva_threshold(), target);
3487 if (cached_has_bits & 0x00000400u) {
3488 target = stream->EnsureSpace(target);
3489 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(74, this->_internal_use_precedences_in_disjunctive_constraint(), target);
3492 cached_has_bits = _has_bits_[0];
3494 if (cached_has_bits & 0x00010000u) {
3495 target = stream->EnsureSpace(target);
3496 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(75, this->_internal_use_erwa_heuristic(), target);
3500 if (cached_has_bits & 0x00000800u) {
3501 target = stream->EnsureSpace(target);
3502 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_initial_variables_activity(), target);
3506 if (cached_has_bits & 0x00020000u) {
3507 target = stream->EnsureSpace(target);
3508 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_also_bump_variables_in_conflict_reasons(), target);
3512 if (cached_has_bits & 0x00001000u) {
3513 target = stream->EnsureSpace(target);
3514 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(78, this->_internal_use_overload_checker_in_cumulative_constraint(), target);
3518 if (cached_has_bits & 0x00002000u) {
3519 target = stream->EnsureSpace(target);
3520 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(79, this->_internal_use_timetable_edge_finding_in_cumulative_constraint(), target);
3523 cached_has_bits = _has_bits_[3];
3525 if (cached_has_bits & 0x00000800u) {
3526 target = stream->EnsureSpace(target);
3527 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(80, this->_internal_use_disjunctive_constraint_in_cumulative_constraint(), target);
3530 cached_has_bits = _has_bits_[0];
3532 if (cached_has_bits & 0x00000400u) {
3533 target = stream->EnsureSpace(target);
3534 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3535 82, this->_internal_search_branching(), target);
3539 if (cached_has_bits & 0x02000000u) {
3540 target = stream->EnsureSpace(target);
3541 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_optimize_with_core(), target);
3544 cached_has_bits = _has_bits_[2];
3546 if (cached_has_bits & 0x08000000u) {
3547 target = stream->EnsureSpace(target);
3548 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(84, this->_internal_find_multiple_cores(), target);
3551 cached_has_bits = _has_bits_[0];
3553 if (cached_has_bits & 0x04000000u) {
3554 target = stream->EnsureSpace(target);
3555 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_optimize_with_max_hs(), target);
3558 cached_has_bits = _has_bits_[3];
3560 if (cached_has_bits & 0x00000010u) {
3561 target = stream->EnsureSpace(target);
3562 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_cp_model_presolve(), target);
3565 cached_has_bits = _has_bits_[0];
3567 if (cached_has_bits & 0x08000000u) {
3568 target = stream->EnsureSpace(target);
3569 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_enumerate_all_solutions(), target);
3572 cached_has_bits = _has_bits_[3];
3574 if (cached_has_bits & 0x00000004u) {
3575 target = stream->EnsureSpace(target);
3576 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(88, this->_internal_presolve_blocked_clause(), target);
3579 cached_has_bits = _has_bits_[2];
3581 if (cached_has_bits & 0x10000000u) {
3582 target = stream->EnsureSpace(target);
3583 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(89, this->_internal_cover_optimization(), target);
3586 cached_has_bits = _has_bits_[3];
3588 if (cached_has_bits & 0x00000040u) {
3589 target = stream->EnsureSpace(target);
3590 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(90, this->_internal_linearization_level(), target);
3594 if (cached_has_bits & 0x00000080u) {
3595 target = stream->EnsureSpace(target);
3596 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(91, this->_internal_max_num_cuts(), target);
3599 cached_has_bits = _has_bits_[0];
3601 if (cached_has_bits & 0x00004000u) {
3602 target = stream->EnsureSpace(target);
3603 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(92, this->_internal_only_add_cuts_at_level_zero(), target);
3606 cached_has_bits = _has_bits_[3];
3608 if (cached_has_bits & 0x00000020u) {
3609 target = stream->EnsureSpace(target);
3610 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(93, this->_internal_cp_model_use_sat_presolve(), target);
3614 if (cached_has_bits & 0x00040000u) {
3615 target = stream->EnsureSpace(target);
3616 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(94, this->_internal_exploit_integer_lp_solution(), target);
3620 if (cached_has_bits & 0x40000000u) {
3621 target = stream->EnsureSpace(target);
3622 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(95, this->_internal_auto_detect_greater_than_at_least_one_of(), target);
3626 if (cached_has_bits & 0x00000100u) {
3627 target = stream->EnsureSpace(target);
3628 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(96, this->_internal_minimize_with_propagation_restart_period(), target);
3632 if (cached_has_bits & 0x00000200u) {
3633 target = stream->EnsureSpace(target);
3634 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(97, this->_internal_minimize_with_propagation_num_decisions(), target);
3637 cached_has_bits = _has_bits_[1];
3639 if (cached_has_bits & 0x00000040u) {
3640 target = stream->EnsureSpace(target);
3641 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(98, this->_internal_stop_after_first_solution(), target);
3644 cached_has_bits = _has_bits_[3];
3646 if (cached_has_bits & 0x00004000u) {
3647 target = stream->EnsureSpace(target);
3648 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(99, this->_internal_binary_search_num_conflicts(), target);
3652 if (cached_has_bits & 0x00008000u) {
3653 target = stream->EnsureSpace(target);
3654 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(100, this->_internal_num_search_workers(), target);
3657 cached_has_bits = _has_bits_[0];
3659 if (cached_has_bits & 0x40000000u) {
3660 target = stream->EnsureSpace(target);
3661 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_use_lns_only(), target);
3664 cached_has_bits = _has_bits_[1];
3666 if (cached_has_bits & 0x00000004u) {
3667 target = stream->EnsureSpace(target);
3668 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(103, this->_internal_randomize_search(), target);
3671 cached_has_bits = _has_bits_[0];
3673 if (cached_has_bits & 0x00100000u) {
3674 target = stream->EnsureSpace(target);
3675 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(104, this->_internal_search_randomization_tolerance(), target);
3679 if (cached_has_bits & 0x80000000u) {
3680 target = stream->EnsureSpace(target);
3681 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(105, this->_internal_lns_focus_on_decision_variables(), target);
3684 cached_has_bits = _has_bits_[3];
3686 if (cached_has_bits & 0x00200000u) {
3687 target = stream->EnsureSpace(target);
3688 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(106, this->_internal_instantiate_all_variables(), target);
3692 if (cached_has_bits & 0x00010000u) {
3693 target = stream->EnsureSpace(target);
3694 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(107, this->_internal_boolean_encoding_level(), target);
3697 cached_has_bits = _has_bits_[4];
3699 if (cached_has_bits & 0x00000040u) {
3700 target = stream->EnsureSpace(target);
3701 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(108, this->_internal_use_optional_variables(), target);
3705 if (cached_has_bits & 0x00000080u) {
3706 target = stream->EnsureSpace(target);
3707 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(109, this->_internal_use_exact_lp_reason(), target);
3710 cached_has_bits = _has_bits_[3];
3712 if (cached_has_bits & 0x00020000u) {
3713 target = stream->EnsureSpace(target);
3714 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(110, this->_internal_cp_model_probing_level(), target);
3717 cached_has_bits = _has_bits_[0];
3719 if (cached_has_bits & 0x00008000u) {
3720 target = stream->EnsureSpace(target);
3721 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(111, this->_internal_add_knapsack_cuts(), target);
3724 cached_has_bits = _has_bits_[4];
3726 if (cached_has_bits & 0x00100000u) {
3727 target = stream->EnsureSpace(target);
3728 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_add_lp_constraints_lazily(), target);
3731 cached_has_bits = _has_bits_[3];
3733 if (cached_has_bits & 0x80000000u) {
3734 target = stream->EnsureSpace(target);
3735 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_share_objective_bounds(), target);
3738 cached_has_bits = _has_bits_[4];
3740 if (cached_has_bits & 0x00000001u) {
3741 target = stream->EnsureSpace(target);
3742 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(114, this->_internal_share_level_zero_bounds(), target);
3745 cached_has_bits = _has_bits_[3];
3747 if (cached_has_bits & 0x00800000u) {
3748 target = stream->EnsureSpace(target);
3749 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(115, this->_internal_min_orthogonality_for_lp_constraints(), target);
3753 if (cached_has_bits & 0x00080000u) {
3754 target = stream->EnsureSpace(target);
3755 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(116, this->_internal_exploit_all_lp_solution(), target);
3759 if (cached_has_bits & 0x00001000u) {
3760 target = stream->EnsureSpace(target);
3761 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_add_cg_cuts(), target);
3765 if (cached_has_bits & 0x00400000u) {
3766 target = stream->EnsureSpace(target);
3767 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(119, this->_internal_max_integer_rounding_scaling(), target);
3771 if (cached_has_bits & 0x00002000u) {
3772 target = stream->EnsureSpace(target);
3773 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_add_mir_cuts(), target);
3777 if (cached_has_bits & 0x01000000u) {
3778 target = stream->EnsureSpace(target);
3779 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(121, this->_internal_max_consecutive_inactive_count(), target);
3783 if (cached_has_bits & 0x02000000u) {
3784 target = stream->EnsureSpace(target);
3785 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_new_constraints_batch_size(), target);
3789 if (cached_has_bits & 0x04000000u) {
3790 target = stream->EnsureSpace(target);
3791 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(123, this->_internal_pseudo_cost_reliability_threshold(), target);
3795 if (cached_has_bits & 0x08000000u) {
3796 target = stream->EnsureSpace(target);
3797 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(124, this->_internal_mip_max_bound(), target);
3801 if (cached_has_bits & 0x10000000u) {
3802 target = stream->EnsureSpace(target);
3803 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(125, this->_internal_mip_var_scaling(), target);
3807 if (cached_has_bits & 0x20000000u) {
3808 target = stream->EnsureSpace(target);
3809 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(126, this->_internal_mip_wanted_precision(), target);
3812 cached_has_bits = _has_bits_[4];
3814 if (cached_has_bits & 0x00000004u) {
3815 target = stream->EnsureSpace(target);
3816 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mip_max_activity_exponent(), target);
3820 if (cached_has_bits & 0x00000008u) {
3821 target = stream->EnsureSpace(target);
3822 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(128, this->_internal_mip_check_precision(), target);
3826 if (cached_has_bits & 0x00000010u) {
3827 target = stream->EnsureSpace(target);
3828 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(129, this->_internal_use_rins_lns(), target);
3831 cached_has_bits = _has_bits_[1];
3833 if (cached_has_bits & 0x00400000u) {
3834 target = stream->EnsureSpace(target);
3835 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(130, this->_internal_exploit_best_solution(), target);
3838 cached_has_bits = _has_bits_[3];
3840 if (cached_has_bits & 0x00100000u) {
3841 target = stream->EnsureSpace(target);
3842 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(131, this->_internal_exploit_objective(), target);
3845 cached_has_bits = _has_bits_[1];
3847 if (cached_has_bits & 0x00000020u) {
3848 target = stream->EnsureSpace(target);
3849 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(132, this->_internal_fill_tightened_domains_in_response(), target);
3853 if (cached_has_bits & 0x00000010u) {
3854 target = stream->EnsureSpace(target);
3855 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_use_combined_no_overlap(), target);
3858 cached_has_bits = _has_bits_[4];
3860 if (cached_has_bits & 0x00000100u) {
3861 target = stream->EnsureSpace(target);
3862 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(134, this->_internal_interleave_batch_size(), target);
3866 if (cached_has_bits & 0x00004000u) {
3867 target = stream->EnsureSpace(target);
3868 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_catch_sigint_signal(), target);
3871 cached_has_bits = _has_bits_[1];
3873 if (cached_has_bits & 0x00000100u) {
3874 target = stream->EnsureSpace(target);
3875 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(136, this->_internal_interleave_search(), target);
3879 if (cached_has_bits & 0x00000002u) {
3880 target = stream->EnsureSpace(target);
3881 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(137, this->_internal_diversify_lns_params(), target);
3884 cached_has_bits = _has_bits_[4];
3886 if (cached_has_bits & 0x00000200u) {
3887 target = stream->EnsureSpace(target);
3888 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(138, this->_internal_max_presolve_iterations(), target);
3891 cached_has_bits = _has_bits_[1];
3893 if (cached_has_bits & 0x00000008u) {
3894 target = stream->EnsureSpace(target);
3895 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(139, this->_internal_use_branching_in_lp(), target);
3898 cached_has_bits = _has_bits_[4];
3900 if (cached_has_bits & 0x01000000u) {
3901 target = stream->EnsureSpace(target);
3902 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(140, this->_internal_expand_element_constraints(), target);
3905 cached_has_bits = _has_bits_[0];
3907 if (cached_has_bits & 0x20000000u) {
3908 target = stream->EnsureSpace(target);
3909 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(141, this->_internal_reduce_memory_usage_in_interleave_mode(), target);
3912 cached_has_bits = _has_bits_[1];
3914 if (cached_has_bits & 0x00002000u) {
3915 target = stream->EnsureSpace(target);
3916 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(142, this->_internal_probing_period_at_root(), target);
3919 cached_has_bits = _has_bits_[4];
3921 if (cached_has_bits & 0x02000000u) {
3922 target = stream->EnsureSpace(target);
3923 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(143, this->_internal_expand_automaton_constraints(), target);
3927 if (cached_has_bits & 0x00008000u) {
3928 target = stream->EnsureSpace(target);
3929 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(144, this->_internal_use_implied_bounds(), target);
3933 if (cached_has_bits & 0x00000800u) {
3934 target = stream->EnsureSpace(target);
3935 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(145, this->_internal_merge_no_overlap_work_limit(), target);
3939 if (cached_has_bits & 0x00001000u) {
3940 target = stream->EnsureSpace(target);
3941 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(146, this->_internal_merge_at_most_one_work_limit(), target);
3945 if (cached_has_bits & 0x00000400u) {
3946 target = stream->EnsureSpace(target);
3947 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(147, this->_internal_presolve_substitution_level(), target);
3951 if (cached_has_bits & 0x00002000u) {
3952 target = stream->EnsureSpace(target);
3953 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(148, this->_internal_max_all_diff_cut_size(), target);
3956 cached_has_bits = _has_bits_[1];
3958 if (cached_has_bits & 0x00000080u) {
3959 target = stream->EnsureSpace(target);
3960 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(149, this->_internal_stop_after_presolve(), target);
3964 if (cached_has_bits & 0x00000001u) {
3965 target = stream->EnsureSpace(target);
3966 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(150, this->_internal_use_relaxation_lns(), target);
3970 if (cached_has_bits & 0x00040000u) {
3971 target = stream->EnsureSpace(target);
3972 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(151, this->_internal_cp_model_max_num_presolve_operations(), target);
3975 cached_has_bits = _has_bits_[4];
3977 if (cached_has_bits & 0x00080000u) {
3978 target = stream->EnsureSpace(target);
3979 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(152, this->_internal_add_lin_max_cuts(), target);
3983 if (cached_has_bits & 0x00200000u) {
3984 target = stream->EnsureSpace(target);
3985 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(153, this->_internal_hint_conflict_limit(), target);
3989 if (cached_has_bits & 0x00800000u) {
3990 target = stream->EnsureSpace(target);
3991 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(154, this->_internal_max_cut_rounds_at_level_zero(), target);
3995 if (cached_has_bits & 0x00400000u) {
3996 target = stream->EnsureSpace(target);
3997 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(155, this->_internal_cut_max_active_count_value(), target);
4001 if (cached_has_bits & 0x10000000u) {
4002 target = stream->EnsureSpace(target);
4003 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(156, this->_internal_cut_active_count_decay(), target);
4007 if (cached_has_bits & 0x20000000u) {
4008 target = stream->EnsureSpace(target);
4009 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(157, this->_internal_cut_cleanup_target(), target);
4013 if (cached_has_bits & 0x04000000u) {
4014 target = stream->EnsureSpace(target);
4015 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(158, this->_internal_expand_table_constraints(), target);
4018 cached_has_bits = _has_bits_[1];
4020 if (cached_has_bits & 0x00080000u) {
4021 target = stream->EnsureSpace(target);
4022 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(159, this->_internal_absolute_gap_limit(), target);
4026 if (cached_has_bits & 0x00100000u) {
4027 target = stream->EnsureSpace(target);
4028 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(160, this->_internal_relative_gap_limit(), target);
4032 if (cached_has_bits & 0x00800000u) {
4033 target = stream->EnsureSpace(target);
4034 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(161, this->_internal_exploit_relaxation_solution(), target);
4037 cached_has_bits = _has_bits_[0];
4039 if (cached_has_bits & 0x00800000u) {
4040 target = stream->EnsureSpace(target);
4041 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(162, this->_internal_cp_model_postsolve_with_full_solver(), target);
4045 if (cached_has_bits & 0x01000000u) {
4046 target = stream->EnsureSpace(target);
4047 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(163, this->_internal_use_sat_inprocessing(), target);
4050 cached_has_bits = _has_bits_[4];
4052 if (cached_has_bits & 0x00000020u) {
4053 target = stream->EnsureSpace(target);
4054 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(164, this->_internal_use_feasibility_pump(), target);
4058 if (cached_has_bits & 0x40000000u) {
4059 target = stream->EnsureSpace(target);
4060 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4061 165, this->_internal_fp_rounding(), target);
4065 if (cached_has_bits & 0x00010000u) {
4066 target = stream->EnsureSpace(target);
4067 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(166, this->_internal_mip_automatically_scale_variables(), target);
4070 cached_has_bits = _has_bits_[1];
4072 if (cached_has_bits & 0x00200000u) {
4073 target = stream->EnsureSpace(target);
4074 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(167, this->_internal_repair_hint(), target);
4077 cached_has_bits = _has_bits_[4];
4079 if (cached_has_bits & 0x80000000u) {
4080 target = stream->EnsureSpace(target);
4081 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(168, this->_internal_polarity_rephase_increment(), target);
4085 if (cached_has_bits & 0x00020000u) {
4086 target = stream->EnsureSpace(target);
4087 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(169, this->_internal_add_zero_half_cuts(), target);
4090 cached_has_bits = _has_bits_[1];
4092 if (cached_has_bits & 0x00000200u) {
4093 target = stream->EnsureSpace(target);
4094 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(170, this->_internal_expand_alldiff_constraints(), target);
4097 cached_has_bits = _has_bits_[0];
4099 if (cached_has_bits & 0x00000002u) {
4100 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4101 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
4102 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4103 "operations_research.sat.SatParameters.name");
4104 target = stream->WriteStringMaybeAliased(
4105 171, this->_internal_name(), target);
4108 cached_has_bits = _has_bits_[4];
4110 if (cached_has_bits & 0x00040000u) {
4111 target = stream->EnsureSpace(target);
4112 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(172, this->_internal_add_clique_cuts(), target);
4115 cached_has_bits = _has_bits_[0];
4117 if (cached_has_bits & 0x10000000u) {
4118 target = stream->EnsureSpace(target);
4119 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(173, this->_internal_keep_all_feasible_solutions_in_presolve(), target);
4122 cached_has_bits = _has_bits_[1];
4124 if (cached_has_bits & 0x00000800u) {
4125 target = stream->EnsureSpace(target);
4126 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(174, this->_internal_presolve_extract_integer_enforcement(), target);
4130 if (cached_has_bits & 0x02000000u) {
4131 target = stream->EnsureSpace(target);
4132 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(175, this->_internal_polish_lp_solution(), target);
4136 if (cached_has_bits & 0x01000000u) {
4137 target = stream->EnsureSpace(target);
4138 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(176, this->_internal_use_probing_search(), target);
4142 if (cached_has_bits & 0x04000000u) {
4143 target = stream->EnsureSpace(target);
4144 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(177, this->_internal_convert_intervals(), target);
4147 cached_has_bits = _has_bits_[0];
4149 if (cached_has_bits & 0x00080000u) {
4150 target = stream->EnsureSpace(target);
4151 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(178, this->_internal_permute_variable_randomly(), target);
4154 cached_has_bits = _has_bits_[1];
4156 if (cached_has_bits & 0x00004000u) {
4157 target = stream->EnsureSpace(target);
4158 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(179, this->_internal_permute_presolve_constraint_order(), target);
4162 if (cached_has_bits & 0x00008000u) {
4163 target = stream->EnsureSpace(target);
4164 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(180, this->_internal_use_absl_random(), target);
4168 if (cached_has_bits & 0x00000400u) {
4169 target = stream->EnsureSpace(target);
4170 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(181, this->_internal_disable_constraint_expansion(), target);
4173 cached_has_bits = _has_bits_[4];
4175 if (cached_has_bits & 0x08000000u) {
4176 target = stream->EnsureSpace(target);
4177 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(182, this->_internal_expand_reservoir_constraints(), target);
4180 cached_has_bits = _has_bits_[5];
4182 if (cached_has_bits & 0x00000001u) {
4183 target = stream->EnsureSpace(target);
4184 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(183, this->_internal_symmetry_level(), target);
4187 cached_has_bits = _has_bits_[4];
4189 if (cached_has_bits & 0x00000002u) {
4190 target = stream->EnsureSpace(target);
4191 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(184, this->_internal_lns_expand_intervals_in_constraint_graph(), target);
4194 cached_has_bits = _has_bits_[1];
4196 if (cached_has_bits & 0x00020000u) {
4197 target = stream->EnsureSpace(target);
4198 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(185, this->_internal_fill_logs_in_response(), target);
4201 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4202 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4203 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4209 size_t SatParameters::ByteSizeLong()
const {
4211 size_t total_size = 0;
4215 (void) cached_has_bits;
4219 size_t data_size = 0;
4220 unsigned int count =
static_cast<unsigned int>(this->_internal_restart_algorithms_size());
for (
unsigned int i = 0; i < count; i++) {
4221 data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
4222 this->_internal_restart_algorithms(
static_cast<int>(i)));
4224 total_size += (2UL * count) + data_size;
4227 cached_has_bits = _has_bits_[0];
4228 if (cached_has_bits & 0x000000ffu) {
4230 if (cached_has_bits & 0x00000001u) {
4232 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4233 this->_internal_default_restart_algorithms());
4237 if (cached_has_bits & 0x00000002u) {
4239 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4240 this->_internal_name());
4244 if (cached_has_bits & 0x00000004u) {
4246 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_preferred_variable_order());
4250 if (cached_has_bits & 0x00000008u) {
4252 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_assumption_order());
4256 if (cached_has_bits & 0x00000010u) {
4257 total_size += 2 + 8;
4261 if (cached_has_bits & 0x00000020u) {
4262 total_size += 2 + 8;
4266 if (cached_has_bits & 0x00000040u) {
4268 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_protection());
4272 if (cached_has_bits & 0x00000080u) {
4274 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_ordering());
4278 if (cached_has_bits & 0x0000ff00u) {
4280 if (cached_has_bits & 0x00000100u) {
4281 total_size += 2 + 8;
4285 if (cached_has_bits & 0x00000200u) {
4287 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4288 this->_internal_num_conflicts_before_strategy_changes());
4292 if (cached_has_bits & 0x00000400u) {
4294 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_search_branching());
4298 if (cached_has_bits & 0x00000800u) {
4299 total_size += 2 + 8;
4303 if (cached_has_bits & 0x00001000u) {
4304 total_size += 2 + 1;
4308 if (cached_has_bits & 0x00002000u) {
4309 total_size += 2 + 1;
4313 if (cached_has_bits & 0x00004000u) {
4314 total_size += 2 + 1;
4318 if (cached_has_bits & 0x00008000u) {
4319 total_size += 2 + 1;
4323 if (cached_has_bits & 0x00ff0000u) {
4325 if (cached_has_bits & 0x00010000u) {
4326 total_size += 2 + 1;
4330 if (cached_has_bits & 0x00020000u) {
4331 total_size += 2 + 1;
4335 if (cached_has_bits & 0x00040000u) {
4336 total_size += 2 + 1;
4340 if (cached_has_bits & 0x00080000u) {
4341 total_size += 2 + 1;
4345 if (cached_has_bits & 0x00100000u) {
4347 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4348 this->_internal_search_randomization_tolerance());
4352 if (cached_has_bits & 0x00200000u) {
4353 total_size += 2 + 1;
4357 if (cached_has_bits & 0x00400000u) {
4358 total_size += 2 + 1;
4362 if (cached_has_bits & 0x00800000u) {
4363 total_size += 2 + 1;
4367 if (cached_has_bits & 0xff000000u) {
4369 if (cached_has_bits & 0x01000000u) {
4370 total_size += 2 + 1;
4374 if (cached_has_bits & 0x02000000u) {
4375 total_size += 2 + 1;
4379 if (cached_has_bits & 0x04000000u) {
4380 total_size += 2 + 1;
4384 if (cached_has_bits & 0x08000000u) {
4385 total_size += 2 + 1;
4389 if (cached_has_bits & 0x10000000u) {
4390 total_size += 2 + 1;
4394 if (cached_has_bits & 0x20000000u) {
4395 total_size += 2 + 1;
4399 if (cached_has_bits & 0x40000000u) {
4400 total_size += 2 + 1;
4404 if (cached_has_bits & 0x80000000u) {
4405 total_size += 2 + 1;
4409 cached_has_bits = _has_bits_[1];
4410 if (cached_has_bits & 0x000000ffu) {
4412 if (cached_has_bits & 0x00000001u) {
4413 total_size += 2 + 1;
4417 if (cached_has_bits & 0x00000002u) {
4418 total_size += 2 + 1;
4422 if (cached_has_bits & 0x00000004u) {
4423 total_size += 2 + 1;
4427 if (cached_has_bits & 0x00000008u) {
4428 total_size += 2 + 1;
4432 if (cached_has_bits & 0x00000010u) {
4433 total_size += 2 + 1;
4437 if (cached_has_bits & 0x00000020u) {
4438 total_size += 2 + 1;
4442 if (cached_has_bits & 0x00000040u) {
4443 total_size += 2 + 1;
4447 if (cached_has_bits & 0x00000080u) {
4448 total_size += 2 + 1;
4452 if (cached_has_bits & 0x0000ff00u) {
4454 if (cached_has_bits & 0x00000100u) {
4455 total_size += 2 + 1;
4459 if (cached_has_bits & 0x00000200u) {
4460 total_size += 2 + 1;
4464 if (cached_has_bits & 0x00000400u) {
4465 total_size += 2 + 1;
4469 if (cached_has_bits & 0x00000800u) {
4470 total_size += 2 + 1;
4474 if (cached_has_bits & 0x00001000u) {
4475 total_size += 2 + 1;
4479 if (cached_has_bits & 0x00002000u) {
4481 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4482 this->_internal_probing_period_at_root());
4486 if (cached_has_bits & 0x00004000u) {
4487 total_size += 2 + 1;
4491 if (cached_has_bits & 0x00008000u) {
4492 total_size += 2 + 1;
4496 if (cached_has_bits & 0x00ff0000u) {
4498 if (cached_has_bits & 0x00010000u) {
4499 total_size += 2 + 1;
4503 if (cached_has_bits & 0x00020000u) {
4504 total_size += 2 + 1;
4508 if (cached_has_bits & 0x00040000u) {
4510 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4511 this->_internal_cp_model_max_num_presolve_operations());
4515 if (cached_has_bits & 0x00080000u) {
4516 total_size += 2 + 8;
4520 if (cached_has_bits & 0x00100000u) {
4521 total_size += 2 + 8;
4525 if (cached_has_bits & 0x00200000u) {
4526 total_size += 2 + 1;
4530 if (cached_has_bits & 0x00400000u) {
4531 total_size += 2 + 1;
4535 if (cached_has_bits & 0x00800000u) {
4536 total_size += 2 + 1;
4540 if (cached_has_bits & 0xff000000u) {
4542 if (cached_has_bits & 0x01000000u) {
4543 total_size += 2 + 1;
4547 if (cached_has_bits & 0x02000000u) {
4548 total_size += 2 + 1;
4552 if (cached_has_bits & 0x04000000u) {
4553 total_size += 2 + 1;
4557 if (cached_has_bits & 0x08000000u) {
4559 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_polarity());
4563 if (cached_has_bits & 0x10000000u) {
4565 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_minimization_algorithm());
4569 if (cached_has_bits & 0x20000000u) {
4571 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4572 this->_internal_clause_cleanup_period());
4576 if (cached_has_bits & 0x40000000u) {
4578 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4579 this->_internal_clause_cleanup_target());
4583 if (cached_has_bits & 0x80000000u) {
4584 total_size += 1 + 8;
4588 cached_has_bits = _has_bits_[2];
4589 if (cached_has_bits & 0x000000ffu) {
4591 if (cached_has_bits & 0x00000001u) {
4592 total_size += 2 + 8;
4596 if (cached_has_bits & 0x00000002u) {
4597 total_size += 2 + 8;
4601 if (cached_has_bits & 0x00000004u) {
4602 total_size += 2 + 8;
4606 if (cached_has_bits & 0x00000008u) {
4607 total_size += 2 + 8;
4611 if (cached_has_bits & 0x00000010u) {
4612 total_size += 2 + 8;
4616 if (cached_has_bits & 0x00000020u) {
4618 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4619 this->_internal_glucose_decay_increment_period());
4623 if (cached_has_bits & 0x00000040u) {
4625 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4626 this->_internal_restart_period());
4630 if (cached_has_bits & 0x00000080u) {
4632 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4633 this->_internal_random_seed());
4637 if (cached_has_bits & 0x0000ff00u) {
4639 if (cached_has_bits & 0x00000100u) {
4641 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_binary_minimization_algorithm());
4645 if (cached_has_bits & 0x00000200u) {
4646 total_size += 2 + 8;
4650 if (cached_has_bits & 0x00000400u) {
4652 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4653 this->_internal_max_number_of_conflicts());
4657 if (cached_has_bits & 0x00000800u) {
4659 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4660 this->_internal_max_memory_in_mb());
4664 if (cached_has_bits & 0x00001000u) {
4665 total_size += 2 + 1;
4669 if (cached_has_bits & 0x00002000u) {
4670 total_size += 2 + 1;
4674 if (cached_has_bits & 0x00004000u) {
4675 total_size += 2 + 1;
4679 if (cached_has_bits & 0x00008000u) {
4680 total_size += 2 + 1;
4684 if (cached_has_bits & 0x00ff0000u) {
4686 if (cached_has_bits & 0x00010000u) {
4688 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4689 this->_internal_pb_cleanup_increment());
4693 if (cached_has_bits & 0x00020000u) {
4694 total_size += 2 + 8;
4698 if (cached_has_bits & 0x00040000u) {
4700 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_stratification());
4704 if (cached_has_bits & 0x00080000u) {
4706 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4707 this->_internal_presolve_bve_threshold());
4711 if (cached_has_bits & 0x00100000u) {
4712 total_size += 2 + 8;
4716 if (cached_has_bits & 0x00200000u) {
4718 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4719 this->_internal_presolve_bve_clause_weight());
4723 if (cached_has_bits & 0x00400000u) {
4725 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4726 this->_internal_clause_cleanup_lbd_bound());
4730 if (cached_has_bits & 0x00800000u) {
4731 total_size += 2 + 8;
4735 if (cached_has_bits & 0xff000000u) {
4737 if (cached_has_bits & 0x01000000u) {
4739 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4740 this->_internal_restart_running_window_size());
4744 if (cached_has_bits & 0x02000000u) {
4745 total_size += 2 + 1;
4749 if (cached_has_bits & 0x04000000u) {
4750 total_size += 2 + 1;
4754 if (cached_has_bits & 0x08000000u) {
4755 total_size += 2 + 1;
4759 if (cached_has_bits & 0x10000000u) {
4760 total_size += 2 + 1;
4764 if (cached_has_bits & 0x20000000u) {
4765 total_size += 2 + 8;
4769 if (cached_has_bits & 0x40000000u) {
4770 total_size += 2 + 8;
4774 if (cached_has_bits & 0x80000000u) {
4776 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4777 this->_internal_blocking_restart_window_size());
4781 cached_has_bits = _has_bits_[3];
4782 if (cached_has_bits & 0x000000ffu) {
4784 if (cached_has_bits & 0x00000001u) {
4786 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4787 this->_internal_presolve_bva_threshold());
4791 if (cached_has_bits & 0x00000002u) {
4792 total_size += 2 + 8;
4796 if (cached_has_bits & 0x00000004u) {
4797 total_size += 2 + 1;
4801 if (cached_has_bits & 0x00000008u) {
4802 total_size += 2 + 1;
4806 if (cached_has_bits & 0x00000010u) {
4807 total_size += 2 + 1;
4811 if (cached_has_bits & 0x00000020u) {
4812 total_size += 2 + 1;
4816 if (cached_has_bits & 0x00000040u) {
4818 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4819 this->_internal_linearization_level());
4823 if (cached_has_bits & 0x00000080u) {
4825 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4826 this->_internal_max_num_cuts());
4830 if (cached_has_bits & 0x0000ff00u) {
4832 if (cached_has_bits & 0x00000100u) {
4834 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4835 this->_internal_minimize_with_propagation_restart_period());
4839 if (cached_has_bits & 0x00000200u) {
4841 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4842 this->_internal_minimize_with_propagation_num_decisions());
4846 if (cached_has_bits & 0x00000400u) {
4847 total_size += 2 + 1;
4851 if (cached_has_bits & 0x00000800u) {
4852 total_size += 2 + 1;
4856 if (cached_has_bits & 0x00001000u) {
4857 total_size += 2 + 1;
4861 if (cached_has_bits & 0x00002000u) {
4862 total_size += 2 + 1;
4866 if (cached_has_bits & 0x00004000u) {
4868 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4869 this->_internal_binary_search_num_conflicts());
4873 if (cached_has_bits & 0x00008000u) {
4875 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4876 this->_internal_num_search_workers());
4880 if (cached_has_bits & 0x00ff0000u) {
4882 if (cached_has_bits & 0x00010000u) {
4884 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4885 this->_internal_boolean_encoding_level());
4889 if (cached_has_bits & 0x00020000u) {
4891 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4892 this->_internal_cp_model_probing_level());
4896 if (cached_has_bits & 0x00040000u) {
4897 total_size += 2 + 1;
4901 if (cached_has_bits & 0x00080000u) {
4902 total_size += 2 + 1;
4906 if (cached_has_bits & 0x00100000u) {
4907 total_size += 2 + 1;
4911 if (cached_has_bits & 0x00200000u) {
4912 total_size += 2 + 1;
4916 if (cached_has_bits & 0x00400000u) {
4918 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4919 this->_internal_max_integer_rounding_scaling());
4923 if (cached_has_bits & 0x00800000u) {
4924 total_size += 2 + 8;
4928 if (cached_has_bits & 0xff000000u) {
4930 if (cached_has_bits & 0x01000000u) {
4932 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4933 this->_internal_max_consecutive_inactive_count());
4937 if (cached_has_bits & 0x02000000u) {
4939 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4940 this->_internal_new_constraints_batch_size());
4944 if (cached_has_bits & 0x04000000u) {
4946 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4947 this->_internal_pseudo_cost_reliability_threshold());
4951 if (cached_has_bits & 0x08000000u) {
4952 total_size += 2 + 8;
4956 if (cached_has_bits & 0x10000000u) {
4957 total_size += 2 + 8;
4961 if (cached_has_bits & 0x20000000u) {
4962 total_size += 2 + 8;
4966 if (cached_has_bits & 0x40000000u) {
4967 total_size += 2 + 1;
4971 if (cached_has_bits & 0x80000000u) {
4972 total_size += 2 + 1;
4976 cached_has_bits = _has_bits_[4];
4977 if (cached_has_bits & 0x000000ffu) {
4979 if (cached_has_bits & 0x00000001u) {
4980 total_size += 2 + 1;
4984 if (cached_has_bits & 0x00000002u) {
4985 total_size += 2 + 1;
4989 if (cached_has_bits & 0x00000004u) {
4991 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4992 this->_internal_mip_max_activity_exponent());
4996 if (cached_has_bits & 0x00000008u) {
4997 total_size += 2 + 8;
5001 if (cached_has_bits & 0x00000010u) {
5002 total_size += 2 + 1;
5006 if (cached_has_bits & 0x00000020u) {
5007 total_size += 2 + 1;
5011 if (cached_has_bits & 0x00000040u) {
5012 total_size += 2 + 1;
5016 if (cached_has_bits & 0x00000080u) {
5017 total_size += 2 + 1;
5021 if (cached_has_bits & 0x0000ff00u) {
5023 if (cached_has_bits & 0x00000100u) {
5025 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5026 this->_internal_interleave_batch_size());
5030 if (cached_has_bits & 0x00000200u) {
5032 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5033 this->_internal_max_presolve_iterations());
5037 if (cached_has_bits & 0x00000400u) {
5039 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5040 this->_internal_presolve_substitution_level());
5044 if (cached_has_bits & 0x00000800u) {
5045 total_size += 2 + 8;
5049 if (cached_has_bits & 0x00001000u) {
5050 total_size += 2 + 8;
5054 if (cached_has_bits & 0x00002000u) {
5056 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5057 this->_internal_max_all_diff_cut_size());
5061 if (cached_has_bits & 0x00004000u) {
5062 total_size += 2 + 1;
5066 if (cached_has_bits & 0x00008000u) {
5067 total_size += 2 + 1;
5071 if (cached_has_bits & 0x00ff0000u) {
5073 if (cached_has_bits & 0x00010000u) {
5074 total_size += 2 + 1;
5078 if (cached_has_bits & 0x00020000u) {
5079 total_size += 2 + 1;
5083 if (cached_has_bits & 0x00040000u) {
5084 total_size += 2 + 1;
5088 if (cached_has_bits & 0x00080000u) {
5089 total_size += 2 + 1;
5093 if (cached_has_bits & 0x00100000u) {
5094 total_size += 2 + 1;
5098 if (cached_has_bits & 0x00200000u) {
5100 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5101 this->_internal_hint_conflict_limit());
5105 if (cached_has_bits & 0x00400000u) {
5106 total_size += 2 + 8;
5110 if (cached_has_bits & 0x00800000u) {
5112 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5113 this->_internal_max_cut_rounds_at_level_zero());
5117 if (cached_has_bits & 0xff000000u) {
5119 if (cached_has_bits & 0x01000000u) {
5120 total_size += 2 + 1;
5124 if (cached_has_bits & 0x02000000u) {
5125 total_size += 2 + 1;
5129 if (cached_has_bits & 0x04000000u) {
5130 total_size += 2 + 1;
5134 if (cached_has_bits & 0x08000000u) {
5135 total_size += 2 + 1;
5139 if (cached_has_bits & 0x10000000u) {
5140 total_size += 2 + 8;
5144 if (cached_has_bits & 0x20000000u) {
5146 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5147 this->_internal_cut_cleanup_target());
5151 if (cached_has_bits & 0x40000000u) {
5153 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fp_rounding());
5157 if (cached_has_bits & 0x80000000u) {
5159 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5160 this->_internal_polarity_rephase_increment());
5165 cached_has_bits = _has_bits_[5];
5166 if (cached_has_bits & 0x00000001u) {
5168 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5169 this->_internal_symmetry_level());
5172 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5173 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5174 _internal_metadata_, total_size, &_cached_size_);
5176 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5177 SetCachedSize(cached_size);
5181 void SatParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5183 GOOGLE_DCHECK_NE(&from,
this);
5184 const SatParameters* source =
5185 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SatParameters>(
5187 if (source ==
nullptr) {
5189 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
5196 void SatParameters::MergeFrom(
const SatParameters& from) {
5198 GOOGLE_DCHECK_NE(&from,
this);
5199 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5201 (void) cached_has_bits;
5203 restart_algorithms_.MergeFrom(from.restart_algorithms_);
5204 cached_has_bits = from._has_bits_[0];
5205 if (cached_has_bits & 0x000000ffu) {
5206 if (cached_has_bits & 0x00000001u) {
5207 _internal_set_default_restart_algorithms(from._internal_default_restart_algorithms());
5209 if (cached_has_bits & 0x00000002u) {
5210 _internal_set_name(from._internal_name());
5212 if (cached_has_bits & 0x00000004u) {
5213 preferred_variable_order_ = from.preferred_variable_order_;
5215 if (cached_has_bits & 0x00000008u) {
5216 max_sat_assumption_order_ = from.max_sat_assumption_order_;
5218 if (cached_has_bits & 0x00000010u) {
5219 random_branches_ratio_ = from.random_branches_ratio_;
5221 if (cached_has_bits & 0x00000020u) {
5222 random_polarity_ratio_ = from.random_polarity_ratio_;
5224 if (cached_has_bits & 0x00000040u) {
5225 clause_cleanup_protection_ = from.clause_cleanup_protection_;
5227 if (cached_has_bits & 0x00000080u) {
5228 clause_cleanup_ordering_ = from.clause_cleanup_ordering_;
5230 _has_bits_[0] |= cached_has_bits;
5232 if (cached_has_bits & 0x0000ff00u) {
5233 if (cached_has_bits & 0x00000100u) {
5234 strategy_change_increase_ratio_ = from.strategy_change_increase_ratio_;
5236 if (cached_has_bits & 0x00000200u) {
5237 num_conflicts_before_strategy_changes_ = from.num_conflicts_before_strategy_changes_;
5239 if (cached_has_bits & 0x00000400u) {
5240 search_branching_ = from.search_branching_;
5242 if (cached_has_bits & 0x00000800u) {
5243 initial_variables_activity_ = from.initial_variables_activity_;
5245 if (cached_has_bits & 0x00001000u) {
5246 use_overload_checker_in_cumulative_constraint_ = from.use_overload_checker_in_cumulative_constraint_;
5248 if (cached_has_bits & 0x00002000u) {
5249 use_timetable_edge_finding_in_cumulative_constraint_ = from.use_timetable_edge_finding_in_cumulative_constraint_;
5251 if (cached_has_bits & 0x00004000u) {
5252 only_add_cuts_at_level_zero_ = from.only_add_cuts_at_level_zero_;
5254 if (cached_has_bits & 0x00008000u) {
5255 add_knapsack_cuts_ = from.add_knapsack_cuts_;
5257 _has_bits_[0] |= cached_has_bits;
5259 if (cached_has_bits & 0x00ff0000u) {
5260 if (cached_has_bits & 0x00010000u) {
5261 use_erwa_heuristic_ = from.use_erwa_heuristic_;
5263 if (cached_has_bits & 0x00020000u) {
5264 also_bump_variables_in_conflict_reasons_ = from.also_bump_variables_in_conflict_reasons_;
5266 if (cached_has_bits & 0x00040000u) {
5267 use_blocking_restart_ = from.use_blocking_restart_;
5269 if (cached_has_bits & 0x00080000u) {
5270 permute_variable_randomly_ = from.permute_variable_randomly_;
5272 if (cached_has_bits & 0x00100000u) {
5273 search_randomization_tolerance_ = from.search_randomization_tolerance_;
5275 if (cached_has_bits & 0x00200000u) {
5276 use_pb_resolution_ = from.use_pb_resolution_;
5278 if (cached_has_bits & 0x00400000u) {
5279 minimize_reduction_during_pb_resolution_ = from.minimize_reduction_during_pb_resolution_;
5281 if (cached_has_bits & 0x00800000u) {
5282 cp_model_postsolve_with_full_solver_ = from.cp_model_postsolve_with_full_solver_;
5284 _has_bits_[0] |= cached_has_bits;
5286 if (cached_has_bits & 0xff000000u) {
5287 if (cached_has_bits & 0x01000000u) {
5288 use_sat_inprocessing_ = from.use_sat_inprocessing_;
5290 if (cached_has_bits & 0x02000000u) {
5291 optimize_with_core_ = from.optimize_with_core_;
5293 if (cached_has_bits & 0x04000000u) {
5294 optimize_with_max_hs_ = from.optimize_with_max_hs_;
5296 if (cached_has_bits & 0x08000000u) {
5297 enumerate_all_solutions_ = from.enumerate_all_solutions_;
5299 if (cached_has_bits & 0x10000000u) {
5300 keep_all_feasible_solutions_in_presolve_ = from.keep_all_feasible_solutions_in_presolve_;
5302 if (cached_has_bits & 0x20000000u) {
5303 reduce_memory_usage_in_interleave_mode_ = from.reduce_memory_usage_in_interleave_mode_;
5305 if (cached_has_bits & 0x40000000u) {
5306 use_lns_only_ = from.use_lns_only_;
5308 if (cached_has_bits & 0x80000000u) {
5309 lns_focus_on_decision_variables_ = from.lns_focus_on_decision_variables_;
5311 _has_bits_[0] |= cached_has_bits;
5313 cached_has_bits = from._has_bits_[1];
5314 if (cached_has_bits & 0x000000ffu) {
5315 if (cached_has_bits & 0x00000001u) {
5316 use_relaxation_lns_ = from.use_relaxation_lns_;
5318 if (cached_has_bits & 0x00000002u) {
5319 diversify_lns_params_ = from.diversify_lns_params_;
5321 if (cached_has_bits & 0x00000004u) {
5322 randomize_search_ = from.randomize_search_;
5324 if (cached_has_bits & 0x00000008u) {
5325 use_branching_in_lp_ = from.use_branching_in_lp_;
5327 if (cached_has_bits & 0x00000010u) {
5328 use_combined_no_overlap_ = from.use_combined_no_overlap_;
5330 if (cached_has_bits & 0x00000020u) {
5331 fill_tightened_domains_in_response_ = from.fill_tightened_domains_in_response_;
5333 if (cached_has_bits & 0x00000040u) {
5334 stop_after_first_solution_ = from.stop_after_first_solution_;
5336 if (cached_has_bits & 0x00000080u) {
5337 stop_after_presolve_ = from.stop_after_presolve_;
5339 _has_bits_[1] |= cached_has_bits;
5341 if (cached_has_bits & 0x0000ff00u) {
5342 if (cached_has_bits & 0x00000100u) {
5343 interleave_search_ = from.interleave_search_;
5345 if (cached_has_bits & 0x00000200u) {
5346 expand_alldiff_constraints_ = from.expand_alldiff_constraints_;
5348 if (cached_has_bits & 0x00000400u) {
5349 disable_constraint_expansion_ = from.disable_constraint_expansion_;
5351 if (cached_has_bits & 0x00000800u) {
5352 presolve_extract_integer_enforcement_ = from.presolve_extract_integer_enforcement_;
5354 if (cached_has_bits & 0x00001000u) {
5355 max_sat_reverse_assumption_order_ = from.max_sat_reverse_assumption_order_;
5357 if (cached_has_bits & 0x00002000u) {
5358 probing_period_at_root_ = from.probing_period_at_root_;
5360 if (cached_has_bits & 0x00004000u) {
5361 permute_presolve_constraint_order_ = from.permute_presolve_constraint_order_;
5363 if (cached_has_bits & 0x00008000u) {
5364 use_absl_random_ = from.use_absl_random_;
5366 _has_bits_[1] |= cached_has_bits;
5368 if (cached_has_bits & 0x00ff0000u) {
5369 if (cached_has_bits & 0x00010000u) {
5370 log_search_progress_ = from.log_search_progress_;
5372 if (cached_has_bits & 0x00020000u) {
5373 fill_logs_in_response_ = from.fill_logs_in_response_;
5375 if (cached_has_bits & 0x00040000u) {
5376 cp_model_max_num_presolve_operations_ = from.cp_model_max_num_presolve_operations_;
5378 if (cached_has_bits & 0x00080000u) {
5379 absolute_gap_limit_ = from.absolute_gap_limit_;
5381 if (cached_has_bits & 0x00100000u) {
5382 relative_gap_limit_ = from.relative_gap_limit_;
5384 if (cached_has_bits & 0x00200000u) {
5385 repair_hint_ = from.repair_hint_;
5387 if (cached_has_bits & 0x00400000u) {
5388 exploit_best_solution_ = from.exploit_best_solution_;
5390 if (cached_has_bits & 0x00800000u) {
5391 exploit_relaxation_solution_ = from.exploit_relaxation_solution_;
5393 _has_bits_[1] |= cached_has_bits;
5395 if (cached_has_bits & 0xff000000u) {
5396 if (cached_has_bits & 0x01000000u) {
5397 use_probing_search_ = from.use_probing_search_;
5399 if (cached_has_bits & 0x02000000u) {
5400 polish_lp_solution_ = from.polish_lp_solution_;
5402 if (cached_has_bits & 0x04000000u) {
5403 convert_intervals_ = from.convert_intervals_;
5405 if (cached_has_bits & 0x08000000u) {
5406 initial_polarity_ = from.initial_polarity_;
5408 if (cached_has_bits & 0x10000000u) {
5409 minimization_algorithm_ = from.minimization_algorithm_;
5411 if (cached_has_bits & 0x20000000u) {
5412 clause_cleanup_period_ = from.clause_cleanup_period_;
5414 if (cached_has_bits & 0x40000000u) {
5415 clause_cleanup_target_ = from.clause_cleanup_target_;
5417 if (cached_has_bits & 0x80000000u) {
5418 variable_activity_decay_ = from.variable_activity_decay_;
5420 _has_bits_[1] |= cached_has_bits;
5422 cached_has_bits = from._has_bits_[2];
5423 if (cached_has_bits & 0x000000ffu) {
5424 if (cached_has_bits & 0x00000001u) {
5425 max_variable_activity_value_ = from.max_variable_activity_value_;
5427 if (cached_has_bits & 0x00000002u) {
5428 clause_activity_decay_ = from.clause_activity_decay_;
5430 if (cached_has_bits & 0x00000004u) {
5431 max_clause_activity_value_ = from.max_clause_activity_value_;
5433 if (cached_has_bits & 0x00000008u) {
5434 glucose_max_decay_ = from.glucose_max_decay_;
5436 if (cached_has_bits & 0x00000010u) {
5437 glucose_decay_increment_ = from.glucose_decay_increment_;
5439 if (cached_has_bits & 0x00000020u) {
5440 glucose_decay_increment_period_ = from.glucose_decay_increment_period_;
5442 if (cached_has_bits & 0x00000040u) {
5443 restart_period_ = from.restart_period_;
5445 if (cached_has_bits & 0x00000080u) {
5446 random_seed_ = from.random_seed_;
5448 _has_bits_[2] |= cached_has_bits;
5450 if (cached_has_bits & 0x0000ff00u) {
5451 if (cached_has_bits & 0x00000100u) {
5452 binary_minimization_algorithm_ = from.binary_minimization_algorithm_;
5454 if (cached_has_bits & 0x00000200u) {
5455 max_time_in_seconds_ = from.max_time_in_seconds_;
5457 if (cached_has_bits & 0x00000400u) {
5458 max_number_of_conflicts_ = from.max_number_of_conflicts_;
5460 if (cached_has_bits & 0x00000800u) {
5461 max_memory_in_mb_ = from.max_memory_in_mb_;
5463 if (cached_has_bits & 0x00001000u) {
5464 use_phase_saving_ = from.use_phase_saving_;
5466 if (cached_has_bits & 0x00002000u) {
5467 subsumption_during_conflict_analysis_ = from.subsumption_during_conflict_analysis_;
5469 if (cached_has_bits & 0x00004000u) {
5470 treat_binary_clauses_separately_ = from.treat_binary_clauses_separately_;
5472 if (cached_has_bits & 0x00008000u) {
5473 count_assumption_levels_in_lbd_ = from.count_assumption_levels_in_lbd_;
5475 _has_bits_[2] |= cached_has_bits;
5477 if (cached_has_bits & 0x00ff0000u) {
5478 if (cached_has_bits & 0x00010000u) {
5479 pb_cleanup_increment_ = from.pb_cleanup_increment_;
5481 if (cached_has_bits & 0x00020000u) {
5482 pb_cleanup_ratio_ = from.pb_cleanup_ratio_;
5484 if (cached_has_bits & 0x00040000u) {
5485 max_sat_stratification_ = from.max_sat_stratification_;
5487 if (cached_has_bits & 0x00080000u) {
5488 presolve_bve_threshold_ = from.presolve_bve_threshold_;
5490 if (cached_has_bits & 0x00100000u) {
5491 presolve_probing_deterministic_time_limit_ = from.presolve_probing_deterministic_time_limit_;
5493 if (cached_has_bits & 0x00200000u) {
5494 presolve_bve_clause_weight_ = from.presolve_bve_clause_weight_;
5496 if (cached_has_bits & 0x00400000u) {
5497 clause_cleanup_lbd_bound_ = from.clause_cleanup_lbd_bound_;
5499 if (cached_has_bits & 0x00800000u) {
5500 restart_dl_average_ratio_ = from.restart_dl_average_ratio_;
5502 _has_bits_[2] |= cached_has_bits;
5504 if (cached_has_bits & 0xff000000u) {
5505 if (cached_has_bits & 0x01000000u) {
5506 restart_running_window_size_ = from.restart_running_window_size_;
5508 if (cached_has_bits & 0x02000000u) {
5509 use_optimization_hints_ = from.use_optimization_hints_;
5511 if (cached_has_bits & 0x04000000u) {
5512 minimize_core_ = from.minimize_core_;
5514 if (cached_has_bits & 0x08000000u) {
5515 find_multiple_cores_ = from.find_multiple_cores_;
5517 if (cached_has_bits & 0x10000000u) {
5518 cover_optimization_ = from.cover_optimization_;
5520 if (cached_has_bits & 0x20000000u) {
5521 blocking_restart_multiplier_ = from.blocking_restart_multiplier_;
5523 if (cached_has_bits & 0x40000000u) {
5524 max_deterministic_time_ = from.max_deterministic_time_;
5526 if (cached_has_bits & 0x80000000u) {
5527 blocking_restart_window_size_ = from.blocking_restart_window_size_;
5529 _has_bits_[2] |= cached_has_bits;
5531 cached_has_bits = from._has_bits_[3];
5532 if (cached_has_bits & 0x000000ffu) {
5533 if (cached_has_bits & 0x00000001u) {
5534 presolve_bva_threshold_ = from.presolve_bva_threshold_;
5536 if (cached_has_bits & 0x00000002u) {
5537 restart_lbd_average_ratio_ = from.restart_lbd_average_ratio_;
5539 if (cached_has_bits & 0x00000004u) {
5540 presolve_blocked_clause_ = from.presolve_blocked_clause_;
5542 if (cached_has_bits & 0x00000008u) {
5543 presolve_use_bva_ = from.presolve_use_bva_;
5545 if (cached_has_bits & 0x00000010u) {
5546 cp_model_presolve_ = from.cp_model_presolve_;
5548 if (cached_has_bits & 0x00000020u) {
5549 cp_model_use_sat_presolve_ = from.cp_model_use_sat_presolve_;
5551 if (cached_has_bits & 0x00000040u) {
5552 linearization_level_ = from.linearization_level_;
5554 if (cached_has_bits & 0x00000080u) {
5555 max_num_cuts_ = from.max_num_cuts_;
5557 _has_bits_[3] |= cached_has_bits;
5559 if (cached_has_bits & 0x0000ff00u) {
5560 if (cached_has_bits & 0x00000100u) {
5561 minimize_with_propagation_restart_period_ = from.minimize_with_propagation_restart_period_;
5563 if (cached_has_bits & 0x00000200u) {
5564 minimize_with_propagation_num_decisions_ = from.minimize_with_propagation_num_decisions_;
5566 if (cached_has_bits & 0x00000400u) {
5567 use_precedences_in_disjunctive_constraint_ = from.use_precedences_in_disjunctive_constraint_;
5569 if (cached_has_bits & 0x00000800u) {
5570 use_disjunctive_constraint_in_cumulative_constraint_ = from.use_disjunctive_constraint_in_cumulative_constraint_;
5572 if (cached_has_bits & 0x00001000u) {
5573 add_cg_cuts_ = from.add_cg_cuts_;
5575 if (cached_has_bits & 0x00002000u) {
5576 add_mir_cuts_ = from.add_mir_cuts_;
5578 if (cached_has_bits & 0x00004000u) {
5579 binary_search_num_conflicts_ = from.binary_search_num_conflicts_;
5581 if (cached_has_bits & 0x00008000u) {
5582 num_search_workers_ = from.num_search_workers_;
5584 _has_bits_[3] |= cached_has_bits;
5586 if (cached_has_bits & 0x00ff0000u) {
5587 if (cached_has_bits & 0x00010000u) {
5588 boolean_encoding_level_ = from.boolean_encoding_level_;
5590 if (cached_has_bits & 0x00020000u) {
5591 cp_model_probing_level_ = from.cp_model_probing_level_;
5593 if (cached_has_bits & 0x00040000u) {
5594 exploit_integer_lp_solution_ = from.exploit_integer_lp_solution_;
5596 if (cached_has_bits & 0x00080000u) {
5597 exploit_all_lp_solution_ = from.exploit_all_lp_solution_;
5599 if (cached_has_bits & 0x00100000u) {
5600 exploit_objective_ = from.exploit_objective_;
5602 if (cached_has_bits & 0x00200000u) {
5603 instantiate_all_variables_ = from.instantiate_all_variables_;
5605 if (cached_has_bits & 0x00400000u) {
5606 max_integer_rounding_scaling_ = from.max_integer_rounding_scaling_;
5608 if (cached_has_bits & 0x00800000u) {
5609 min_orthogonality_for_lp_constraints_ = from.min_orthogonality_for_lp_constraints_;
5611 _has_bits_[3] |= cached_has_bits;
5613 if (cached_has_bits & 0xff000000u) {
5614 if (cached_has_bits & 0x01000000u) {
5615 max_consecutive_inactive_count_ = from.max_consecutive_inactive_count_;
5617 if (cached_has_bits & 0x02000000u) {
5618 new_constraints_batch_size_ = from.new_constraints_batch_size_;
5620 if (cached_has_bits & 0x04000000u) {
5621 pseudo_cost_reliability_threshold_ = from.pseudo_cost_reliability_threshold_;
5623 if (cached_has_bits & 0x08000000u) {
5624 mip_max_bound_ = from.mip_max_bound_;
5626 if (cached_has_bits & 0x10000000u) {
5627 mip_var_scaling_ = from.mip_var_scaling_;
5629 if (cached_has_bits & 0x20000000u) {
5630 mip_wanted_precision_ = from.mip_wanted_precision_;
5632 if (cached_has_bits & 0x40000000u) {
5633 auto_detect_greater_than_at_least_one_of_ = from.auto_detect_greater_than_at_least_one_of_;
5635 if (cached_has_bits & 0x80000000u) {
5636 share_objective_bounds_ = from.share_objective_bounds_;
5638 _has_bits_[3] |= cached_has_bits;
5640 cached_has_bits = from._has_bits_[4];
5641 if (cached_has_bits & 0x000000ffu) {
5642 if (cached_has_bits & 0x00000001u) {
5643 share_level_zero_bounds_ = from.share_level_zero_bounds_;
5645 if (cached_has_bits & 0x00000002u) {
5646 lns_expand_intervals_in_constraint_graph_ = from.lns_expand_intervals_in_constraint_graph_;
5648 if (cached_has_bits & 0x00000004u) {
5649 mip_max_activity_exponent_ = from.mip_max_activity_exponent_;
5651 if (cached_has_bits & 0x00000008u) {
5652 mip_check_precision_ = from.mip_check_precision_;
5654 if (cached_has_bits & 0x00000010u) {
5655 use_rins_lns_ = from.use_rins_lns_;
5657 if (cached_has_bits & 0x00000020u) {
5658 use_feasibility_pump_ = from.use_feasibility_pump_;
5660 if (cached_has_bits & 0x00000040u) {
5661 use_optional_variables_ = from.use_optional_variables_;
5663 if (cached_has_bits & 0x00000080u) {
5664 use_exact_lp_reason_ = from.use_exact_lp_reason_;
5666 _has_bits_[4] |= cached_has_bits;
5668 if (cached_has_bits & 0x0000ff00u) {
5669 if (cached_has_bits & 0x00000100u) {
5670 interleave_batch_size_ = from.interleave_batch_size_;
5672 if (cached_has_bits & 0x00000200u) {
5673 max_presolve_iterations_ = from.max_presolve_iterations_;
5675 if (cached_has_bits & 0x00000400u) {
5676 presolve_substitution_level_ = from.presolve_substitution_level_;
5678 if (cached_has_bits & 0x00000800u) {
5679 merge_no_overlap_work_limit_ = from.merge_no_overlap_work_limit_;
5681 if (cached_has_bits & 0x00001000u) {
5682 merge_at_most_one_work_limit_ = from.merge_at_most_one_work_limit_;
5684 if (cached_has_bits & 0x00002000u) {
5685 max_all_diff_cut_size_ = from.max_all_diff_cut_size_;
5687 if (cached_has_bits & 0x00004000u) {
5688 catch_sigint_signal_ = from.catch_sigint_signal_;
5690 if (cached_has_bits & 0x00008000u) {
5691 use_implied_bounds_ = from.use_implied_bounds_;
5693 _has_bits_[4] |= cached_has_bits;
5695 if (cached_has_bits & 0x00ff0000u) {
5696 if (cached_has_bits & 0x00010000u) {
5697 mip_automatically_scale_variables_ = from.mip_automatically_scale_variables_;
5699 if (cached_has_bits & 0x00020000u) {
5700 add_zero_half_cuts_ = from.add_zero_half_cuts_;
5702 if (cached_has_bits & 0x00040000u) {
5703 add_clique_cuts_ = from.add_clique_cuts_;
5705 if (cached_has_bits & 0x00080000u) {
5706 add_lin_max_cuts_ = from.add_lin_max_cuts_;
5708 if (cached_has_bits & 0x00100000u) {
5709 add_lp_constraints_lazily_ = from.add_lp_constraints_lazily_;
5711 if (cached_has_bits & 0x00200000u) {
5712 hint_conflict_limit_ = from.hint_conflict_limit_;
5714 if (cached_has_bits & 0x00400000u) {
5715 cut_max_active_count_value_ = from.cut_max_active_count_value_;
5717 if (cached_has_bits & 0x00800000u) {
5718 max_cut_rounds_at_level_zero_ = from.max_cut_rounds_at_level_zero_;
5720 _has_bits_[4] |= cached_has_bits;
5722 if (cached_has_bits & 0xff000000u) {
5723 if (cached_has_bits & 0x01000000u) {
5724 expand_element_constraints_ = from.expand_element_constraints_;
5726 if (cached_has_bits & 0x02000000u) {
5727 expand_automaton_constraints_ = from.expand_automaton_constraints_;
5729 if (cached_has_bits & 0x04000000u) {
5730 expand_table_constraints_ = from.expand_table_constraints_;
5732 if (cached_has_bits & 0x08000000u) {
5733 expand_reservoir_constraints_ = from.expand_reservoir_constraints_;
5735 if (cached_has_bits & 0x10000000u) {
5736 cut_active_count_decay_ = from.cut_active_count_decay_;
5738 if (cached_has_bits & 0x20000000u) {
5739 cut_cleanup_target_ = from.cut_cleanup_target_;
5741 if (cached_has_bits & 0x40000000u) {
5742 fp_rounding_ = from.fp_rounding_;
5744 if (cached_has_bits & 0x80000000u) {
5745 polarity_rephase_increment_ = from.polarity_rephase_increment_;
5747 _has_bits_[4] |= cached_has_bits;
5749 if (from._internal_has_symmetry_level()) {
5750 _internal_set_symmetry_level(from._internal_symmetry_level());
5754 void SatParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5756 if (&from ==
this)
return;
5761 void SatParameters::CopyFrom(
const SatParameters& from) {
5763 if (&from ==
this)
return;
5768 bool SatParameters::IsInitialized()
const {
5772 void SatParameters::InternalSwap(SatParameters* other) {
5774 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5775 swap(_has_bits_[0], other->_has_bits_[0]);
5776 swap(_has_bits_[1], other->_has_bits_[1]);
5777 swap(_has_bits_[2], other->_has_bits_[2]);
5778 swap(_has_bits_[3], other->_has_bits_[3]);
5779 swap(_has_bits_[4], other->_has_bits_[4]);
5780 swap(_has_bits_[5], other->_has_bits_[5]);
5781 restart_algorithms_.InternalSwap(&other->restart_algorithms_);
5782 default_restart_algorithms_.Swap(&other->default_restart_algorithms_,
nullptr, GetArena());
5783 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5784 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
5785 PROTOBUF_FIELD_OFFSET(SatParameters, convert_intervals_)
5786 +
sizeof(SatParameters::convert_intervals_)
5787 - PROTOBUF_FIELD_OFFSET(SatParameters, preferred_variable_order_)>(
5788 reinterpret_cast<char*
>(&preferred_variable_order_),
5789 reinterpret_cast<char*
>(&other->preferred_variable_order_));
5790 swap(initial_polarity_, other->initial_polarity_);
5791 swap(minimization_algorithm_, other->minimization_algorithm_);
5792 swap(clause_cleanup_period_, other->clause_cleanup_period_);
5793 swap(clause_cleanup_target_, other->clause_cleanup_target_);
5794 swap(variable_activity_decay_, other->variable_activity_decay_);
5795 swap(max_variable_activity_value_, other->max_variable_activity_value_);
5796 swap(clause_activity_decay_, other->clause_activity_decay_);
5797 swap(max_clause_activity_value_, other->max_clause_activity_value_);
5798 swap(glucose_max_decay_, other->glucose_max_decay_);
5799 swap(glucose_decay_increment_, other->glucose_decay_increment_);
5800 swap(glucose_decay_increment_period_, other->glucose_decay_increment_period_);
5801 swap(restart_period_, other->restart_period_);
5802 swap(random_seed_, other->random_seed_);
5803 swap(binary_minimization_algorithm_, other->binary_minimization_algorithm_);
5804 swap(max_time_in_seconds_, other->max_time_in_seconds_);
5805 swap(max_number_of_conflicts_, other->max_number_of_conflicts_);
5806 swap(max_memory_in_mb_, other->max_memory_in_mb_);
5807 swap(use_phase_saving_, other->use_phase_saving_);
5808 swap(subsumption_during_conflict_analysis_, other->subsumption_during_conflict_analysis_);
5809 swap(treat_binary_clauses_separately_, other->treat_binary_clauses_separately_);
5810 swap(count_assumption_levels_in_lbd_, other->count_assumption_levels_in_lbd_);
5811 swap(pb_cleanup_increment_, other->pb_cleanup_increment_);
5812 swap(pb_cleanup_ratio_, other->pb_cleanup_ratio_);
5813 swap(max_sat_stratification_, other->max_sat_stratification_);
5814 swap(presolve_bve_threshold_, other->presolve_bve_threshold_);
5815 swap(presolve_probing_deterministic_time_limit_, other->presolve_probing_deterministic_time_limit_);
5816 swap(presolve_bve_clause_weight_, other->presolve_bve_clause_weight_);
5817 swap(clause_cleanup_lbd_bound_, other->clause_cleanup_lbd_bound_);
5818 swap(restart_dl_average_ratio_, other->restart_dl_average_ratio_);
5819 swap(restart_running_window_size_, other->restart_running_window_size_);
5820 swap(use_optimization_hints_, other->use_optimization_hints_);
5821 swap(minimize_core_, other->minimize_core_);
5822 swap(find_multiple_cores_, other->find_multiple_cores_);
5823 swap(cover_optimization_, other->cover_optimization_);
5824 swap(blocking_restart_multiplier_, other->blocking_restart_multiplier_);
5825 swap(max_deterministic_time_, other->max_deterministic_time_);
5826 swap(blocking_restart_window_size_, other->blocking_restart_window_size_);
5827 swap(presolve_bva_threshold_, other->presolve_bva_threshold_);
5828 swap(restart_lbd_average_ratio_, other->restart_lbd_average_ratio_);
5829 swap(presolve_blocked_clause_, other->presolve_blocked_clause_);
5830 swap(presolve_use_bva_, other->presolve_use_bva_);
5831 swap(cp_model_presolve_, other->cp_model_presolve_);
5832 swap(cp_model_use_sat_presolve_, other->cp_model_use_sat_presolve_);
5833 swap(linearization_level_, other->linearization_level_);
5834 swap(max_num_cuts_, other->max_num_cuts_);
5835 swap(minimize_with_propagation_restart_period_, other->minimize_with_propagation_restart_period_);
5836 swap(minimize_with_propagation_num_decisions_, other->minimize_with_propagation_num_decisions_);
5837 swap(use_precedences_in_disjunctive_constraint_, other->use_precedences_in_disjunctive_constraint_);
5838 swap(use_disjunctive_constraint_in_cumulative_constraint_, other->use_disjunctive_constraint_in_cumulative_constraint_);
5839 swap(add_cg_cuts_, other->add_cg_cuts_);
5840 swap(add_mir_cuts_, other->add_mir_cuts_);
5841 swap(binary_search_num_conflicts_, other->binary_search_num_conflicts_);
5842 swap(num_search_workers_, other->num_search_workers_);
5843 swap(boolean_encoding_level_, other->boolean_encoding_level_);
5844 swap(cp_model_probing_level_, other->cp_model_probing_level_);
5845 swap(exploit_integer_lp_solution_, other->exploit_integer_lp_solution_);
5846 swap(exploit_all_lp_solution_, other->exploit_all_lp_solution_);
5847 swap(exploit_objective_, other->exploit_objective_);
5848 swap(instantiate_all_variables_, other->instantiate_all_variables_);
5849 swap(max_integer_rounding_scaling_, other->max_integer_rounding_scaling_);
5850 swap(min_orthogonality_for_lp_constraints_, other->min_orthogonality_for_lp_constraints_);
5851 swap(max_consecutive_inactive_count_, other->max_consecutive_inactive_count_);
5852 swap(new_constraints_batch_size_, other->new_constraints_batch_size_);
5853 swap(pseudo_cost_reliability_threshold_, other->pseudo_cost_reliability_threshold_);
5854 swap(mip_max_bound_, other->mip_max_bound_);
5855 swap(mip_var_scaling_, other->mip_var_scaling_);
5856 swap(mip_wanted_precision_, other->mip_wanted_precision_);
5857 swap(auto_detect_greater_than_at_least_one_of_, other->auto_detect_greater_than_at_least_one_of_);
5858 swap(share_objective_bounds_, other->share_objective_bounds_);
5859 swap(share_level_zero_bounds_, other->share_level_zero_bounds_);
5860 swap(lns_expand_intervals_in_constraint_graph_, other->lns_expand_intervals_in_constraint_graph_);
5861 swap(mip_max_activity_exponent_, other->mip_max_activity_exponent_);
5862 swap(mip_check_precision_, other->mip_check_precision_);
5863 swap(use_rins_lns_, other->use_rins_lns_);
5864 swap(use_feasibility_pump_, other->use_feasibility_pump_);
5865 swap(use_optional_variables_, other->use_optional_variables_);
5866 swap(use_exact_lp_reason_, other->use_exact_lp_reason_);
5867 swap(interleave_batch_size_, other->interleave_batch_size_);
5868 swap(max_presolve_iterations_, other->max_presolve_iterations_);
5869 swap(presolve_substitution_level_, other->presolve_substitution_level_);
5870 swap(merge_no_overlap_work_limit_, other->merge_no_overlap_work_limit_);
5871 swap(merge_at_most_one_work_limit_, other->merge_at_most_one_work_limit_);
5872 swap(max_all_diff_cut_size_, other->max_all_diff_cut_size_);
5873 swap(catch_sigint_signal_, other->catch_sigint_signal_);
5874 swap(use_implied_bounds_, other->use_implied_bounds_);
5875 swap(mip_automatically_scale_variables_, other->mip_automatically_scale_variables_);
5876 swap(add_zero_half_cuts_, other->add_zero_half_cuts_);
5877 swap(add_clique_cuts_, other->add_clique_cuts_);
5878 swap(add_lin_max_cuts_, other->add_lin_max_cuts_);
5879 swap(add_lp_constraints_lazily_, other->add_lp_constraints_lazily_);
5880 swap(hint_conflict_limit_, other->hint_conflict_limit_);
5881 swap(cut_max_active_count_value_, other->cut_max_active_count_value_);
5882 swap(max_cut_rounds_at_level_zero_, other->max_cut_rounds_at_level_zero_);
5883 swap(expand_element_constraints_, other->expand_element_constraints_);
5884 swap(expand_automaton_constraints_, other->expand_automaton_constraints_);
5885 swap(expand_table_constraints_, other->expand_table_constraints_);
5886 swap(expand_reservoir_constraints_, other->expand_reservoir_constraints_);
5887 swap(cut_active_count_decay_, other->cut_active_count_decay_);
5888 swap(cut_cleanup_target_, other->cut_cleanup_target_);
5889 swap(fp_rounding_, other->fp_rounding_);
5890 swap(polarity_rephase_increment_, other->polarity_rephase_increment_);
5891 swap(symmetry_level_, other->symmetry_level_);
5894 ::PROTOBUF_NAMESPACE_ID::Metadata SatParameters::GetMetadata()
const {
5895 return GetMetadataStatic();
5902 PROTOBUF_NAMESPACE_OPEN
5904 return Arena::CreateMessageInternal< ::operations_research::sat::SatParameters >(arena);
5906 PROTOBUF_NAMESPACE_CLOSE
5909 #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_fill_logs_in_response(HasBits *has_bits)
static void set_has_also_bump_variables_in_conflict_reasons(HasBits *has_bits)
static void set_has_restart_lbd_average_ratio(HasBits *has_bits)
static void set_has_random_polarity_ratio(HasBits *has_bits)
static void set_has_polarity_rephase_increment(HasBits *has_bits)
static void set_has_stop_after_presolve(HasBits *has_bits)
static void set_has_use_feasibility_pump(HasBits *has_bits)
static void set_has_exploit_relaxation_solution(HasBits *has_bits)
static void set_has_clause_activity_decay(HasBits *has_bits)
decltype(std::declval< SatParameters >()._has_bits_) HasBits
static void set_has_max_cut_rounds_at_level_zero(HasBits *has_bits)
static void set_has_preferred_variable_order(HasBits *has_bits)
static void set_has_use_disjunctive_constraint_in_cumulative_constraint(HasBits *has_bits)
static void set_has_disable_constraint_expansion(HasBits *has_bits)
static void set_has_mip_wanted_precision(HasBits *has_bits)
static void set_has_cover_optimization(HasBits *has_bits)
static void set_has_max_sat_stratification(HasBits *has_bits)
static void set_has_max_time_in_seconds(HasBits *has_bits)
static void set_has_expand_reservoir_constraints(HasBits *has_bits)
static void set_has_glucose_decay_increment_period(HasBits *has_bits)
static void set_has_default_restart_algorithms(HasBits *has_bits)
static void set_has_cut_active_count_decay(HasBits *has_bits)
static void set_has_max_sat_reverse_assumption_order(HasBits *has_bits)
static void set_has_use_phase_saving(HasBits *has_bits)
static void set_has_num_conflicts_before_strategy_changes(HasBits *has_bits)
static void set_has_interleave_batch_size(HasBits *has_bits)
static void set_has_max_sat_assumption_order(HasBits *has_bits)
static void set_has_max_deterministic_time(HasBits *has_bits)
static void set_has_max_clause_activity_value(HasBits *has_bits)
static void set_has_presolve_bve_clause_weight(HasBits *has_bits)
static void set_has_new_constraints_batch_size(HasBits *has_bits)
static void set_has_clause_cleanup_target(HasBits *has_bits)
static void set_has_use_lns_only(HasBits *has_bits)
static void set_has_use_precedences_in_disjunctive_constraint(HasBits *has_bits)
static void set_has_subsumption_during_conflict_analysis(HasBits *has_bits)
static void set_has_mip_var_scaling(HasBits *has_bits)
static void set_has_add_mir_cuts(HasBits *has_bits)
static void set_has_diversify_lns_params(HasBits *has_bits)
static void set_has_probing_period_at_root(HasBits *has_bits)
static void set_has_minimize_with_propagation_restart_period(HasBits *has_bits)
static void set_has_use_combined_no_overlap(HasBits *has_bits)
static void set_has_clause_cleanup_protection(HasBits *has_bits)
static void set_has_max_consecutive_inactive_count(HasBits *has_bits)
static void set_has_cp_model_presolve(HasBits *has_bits)
static void set_has_cp_model_probing_level(HasBits *has_bits)
static void set_has_permute_presolve_constraint_order(HasBits *has_bits)
static void set_has_catch_sigint_signal(HasBits *has_bits)
static void set_has_restart_period(HasBits *has_bits)
static void set_has_use_rins_lns(HasBits *has_bits)
static void set_has_lns_focus_on_decision_variables(HasBits *has_bits)
static void set_has_auto_detect_greater_than_at_least_one_of(HasBits *has_bits)
static void set_has_mip_max_activity_exponent(HasBits *has_bits)
static void set_has_merge_no_overlap_work_limit(HasBits *has_bits)
static void set_has_expand_alldiff_constraints(HasBits *has_bits)
static void set_has_convert_intervals(HasBits *has_bits)
static void set_has_polish_lp_solution(HasBits *has_bits)
static void set_has_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)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< SatParameters > _instance
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseProtection_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatAssumptionOrder_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_VariableOrder_descriptor()
SatParameters_SearchBranching
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseOrdering_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_BinaryMinizationAlgorithm_descriptor()
SatParameters_FPRoundingMethod
class operations_research::sat::SatParametersDefaultTypeInternal _SatParameters_default_instance_
bool SatParameters_VariableOrder_IsValid(int value)
SatParameters_ConflictMinimizationAlgorithm
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_SearchBranching_descriptor()
SatParameters_ClauseOrdering
bool SatParameters_ClauseOrdering_IsValid(int value)
bool SatParameters_RestartAlgorithm_IsValid(int value)
SatParameters_VariableOrder
bool SatParameters_ClauseProtection_IsValid(int value)
SatParameters_BinaryMinizationAlgorithm
bool SatParameters_MaxSatAssumptionOrder_IsValid(int value)
SatParameters_MaxSatAssumptionOrder
bool SatParameters_BinaryMinizationAlgorithm_IsValid(int value)
SatParameters_RestartAlgorithm
bool SatParameters_SearchBranching_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ConflictMinimizationAlgorithm_descriptor()
bool SatParameters_ConflictMinimizationAlgorithm_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_Polarity_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_RestartAlgorithm_descriptor()
bool SatParameters_FPRoundingMethod_IsValid(int value)
bool SatParameters_MaxSatStratificationAlgorithm_IsValid(int value)
SatParameters_MaxSatStratificationAlgorithm
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatStratificationAlgorithm_descriptor()
bool SatParameters_Polarity_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_FPRoundingMethod_descriptor()
SatParameters_ClauseProtection
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fsat_5fparameters_2eproto[1]
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fsat_2fsat_5fparameters_2eproto[11]
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
static bool dynamic_init_dummy_ortools_2fsat_2fsat_5fparameters_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fsat_5fparameters_2eproto
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable *const descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_deps[1]
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_SatParameters_ortools_2fsat_2fsat_5fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_once
::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase *const descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_sccs[1]
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::sat::SatParameters * Arena::CreateMaybeMessage< ::operations_research::sat::SatParameters >(Arena *arena)
static void InitDefaultsscc_info_SatParameters_ortools_2fsat_2fsat_5fparameters_2eproto()
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fsat_5fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)