8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
16 #include <google/protobuf/port_def.inc>
21 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<SatParameters>
_instance;
26 GOOGLE_PROTOBUF_VERIFY_VERSION;
30 new (ptr) ::operations_research::sat::SatParameters();
31 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
43 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, _has_bits_),
44 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, _internal_metadata_),
48 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, name_),
49 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, preferred_variable_order_),
50 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, initial_polarity_),
51 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_phase_saving_),
52 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, polarity_rephase_increment_),
53 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_polarity_ratio_),
54 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_branches_ratio_),
55 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_erwa_heuristic_),
56 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, initial_variables_activity_),
57 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, also_bump_variables_in_conflict_reasons_),
58 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimization_algorithm_),
59 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, binary_minimization_algorithm_),
60 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, subsumption_during_conflict_analysis_),
61 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_period_),
62 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_target_),
63 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_protection_),
64 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_lbd_bound_),
65 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_cleanup_ordering_),
66 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pb_cleanup_increment_),
67 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pb_cleanup_ratio_),
68 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_with_propagation_restart_period_),
69 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_with_propagation_num_decisions_),
70 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, variable_activity_decay_),
71 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_variable_activity_value_),
72 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_max_decay_),
73 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_decay_increment_),
74 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, glucose_decay_increment_period_),
75 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, clause_activity_decay_),
76 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_clause_activity_value_),
77 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_algorithms_),
78 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, default_restart_algorithms_),
79 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_period_),
80 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_running_window_size_),
81 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_dl_average_ratio_),
82 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, restart_lbd_average_ratio_),
83 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_blocking_restart_),
84 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, blocking_restart_window_size_),
85 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, blocking_restart_multiplier_),
86 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, num_conflicts_before_strategy_changes_),
87 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, strategy_change_increase_ratio_),
88 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_time_in_seconds_),
89 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_deterministic_time_),
90 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_number_of_conflicts_),
91 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_memory_in_mb_),
92 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, absolute_gap_limit_),
93 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, relative_gap_limit_),
94 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, treat_binary_clauses_separately_),
95 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, random_seed_),
96 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, permute_variable_randomly_),
97 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, permute_presolve_constraint_order_),
98 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_absl_random_),
99 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, log_search_progress_),
100 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_pb_resolution_),
101 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_reduction_during_pb_resolution_),
102 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, count_assumption_levels_in_lbd_),
103 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bve_threshold_),
104 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bve_clause_weight_),
105 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_probing_deterministic_time_limit_),
106 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_blocked_clause_),
107 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_use_bva_),
108 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_bva_threshold_),
109 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_presolve_iterations_),
110 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_presolve_),
111 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_postsolve_with_full_solver_),
112 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_max_num_presolve_operations_),
113 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_probing_level_),
114 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cp_model_use_sat_presolve_),
115 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_sat_inprocessing_),
116 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_element_constraints_),
117 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_automaton_constraints_),
118 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_table_constraints_),
119 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_alldiff_constraints_),
120 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, expand_reservoir_constraints_),
121 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, disable_constraint_expansion_),
122 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, merge_no_overlap_work_limit_),
123 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, merge_at_most_one_work_limit_),
124 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_substitution_level_),
125 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, presolve_extract_integer_enforcement_),
126 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_optimization_hints_),
127 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, minimize_core_),
128 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, find_multiple_cores_),
129 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cover_optimization_),
130 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_assumption_order_),
131 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_reverse_assumption_order_),
132 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_sat_stratification_),
133 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_precedences_in_disjunctive_constraint_),
134 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_overload_checker_in_cumulative_constraint_),
135 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_timetable_edge_finding_in_cumulative_constraint_),
136 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_disjunctive_constraint_in_cumulative_constraint_),
137 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, linearization_level_),
138 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, boolean_encoding_level_),
139 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_num_cuts_),
140 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, only_add_cuts_at_level_zero_),
141 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_knapsack_cuts_),
142 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_cg_cuts_),
143 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_mir_cuts_),
144 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_zero_half_cuts_),
145 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_clique_cuts_),
146 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_all_diff_cut_size_),
147 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_lin_max_cuts_),
148 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_integer_rounding_scaling_),
149 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, add_lp_constraints_lazily_),
150 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, min_orthogonality_for_lp_constraints_),
151 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_cut_rounds_at_level_zero_),
152 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, max_consecutive_inactive_count_),
153 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_max_active_count_value_),
154 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_active_count_decay_),
155 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, cut_cleanup_target_),
156 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, new_constraints_batch_size_),
157 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, search_branching_),
158 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, hint_conflict_limit_),
159 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, repair_hint_),
160 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_integer_lp_solution_),
161 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_all_lp_solution_),
162 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_best_solution_),
163 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_relaxation_solution_),
164 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, exploit_objective_),
165 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, probing_period_at_root_),
166 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_probing_search_),
167 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, pseudo_cost_reliability_threshold_),
168 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, optimize_with_core_),
169 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, binary_search_num_conflicts_),
170 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, optimize_with_max_hs_),
171 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, enumerate_all_solutions_),
172 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, keep_all_feasible_solutions_in_presolve_),
173 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, fill_tightened_domains_in_response_),
174 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, instantiate_all_variables_),
175 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, auto_detect_greater_than_at_least_one_of_),
176 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, stop_after_first_solution_),
177 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, stop_after_presolve_),
178 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, num_search_workers_),
179 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, interleave_search_),
180 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, interleave_batch_size_),
181 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, reduce_memory_usage_in_interleave_mode_),
182 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, share_objective_bounds_),
183 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, share_level_zero_bounds_),
184 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_lns_only_),
185 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, lns_focus_on_decision_variables_),
186 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, lns_expand_intervals_in_constraint_graph_),
187 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_rins_lns_),
188 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_feasibility_pump_),
189 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, fp_rounding_),
190 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_relaxation_lns_),
191 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, diversify_lns_params_),
192 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, randomize_search_),
193 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, search_randomization_tolerance_),
194 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_optional_variables_),
195 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_exact_lp_reason_),
196 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_branching_in_lp_),
197 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_combined_no_overlap_),
198 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, catch_sigint_signal_),
199 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, use_implied_bounds_),
200 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, polish_lp_solution_),
201 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, convert_intervals_),
202 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, symmetry_level_),
203 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_max_bound_),
204 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_var_scaling_),
205 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_automatically_scale_variables_),
206 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_wanted_precision_),
207 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_max_activity_exponent_),
208 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SatParameters, mip_check_precision_),
372 { 0, 166,
sizeof(::operations_research::sat::SatParameters)},
379 const char descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
380 "\n ortools/sat/sat_parameters.proto\022\027oper"
381 "ations_research.sat\"\240C\n\rSatParameters\022\017\n"
382 "\004name\030\253\001 \001(\t:\000\022`\n\030preferred_variable_ord"
383 "er\030\001 \001(\01624.operations_research.sat.SatPa"
384 "rameters.VariableOrder:\010IN_ORDER\022Y\n\020init"
385 "ial_polarity\030\002 \001(\0162/.operations_research"
386 ".sat.SatParameters.Polarity:\016POLARITY_FA"
387 "LSE\022\036\n\020use_phase_saving\030, \001(\010:\004true\022)\n\032p"
388 "olarity_rephase_increment\030\250\001 \001(\005:\0041000\022 "
389 "\n\025random_polarity_ratio\030- \001(\001:\0010\022 \n\025rand"
390 "om_branches_ratio\030 \001(\001:\0010\022!\n\022use_erwa_h"
391 "euristic\030K \001(\010:\005false\022%\n\032initial_variabl"
392 "es_activity\030L \001(\001:\0010\0226\n\'also_bump_variab"
393 "les_in_conflict_reasons\030M \001(\010:\005false\022o\n\026"
394 "minimization_algorithm\030\004 \001(\0162D.operation"
395 "s_research.sat.SatParameters.ConflictMin"
396 "imizationAlgorithm:\tRECURSIVE\022\202\001\n\035binary"
397 "_minimization_algorithm\030\" \001(\0162@.operatio"
398 "ns_research.sat.SatParameters.BinaryMini"
399 "zationAlgorithm:\031BINARY_MINIMIZATION_FIR"
400 "ST\0222\n$subsumption_during_conflict_analys"
401 "is\0308 \001(\010:\004true\022$\n\025clause_cleanup_period\030"
402 "\013 \001(\005:\00510000\022$\n\025clause_cleanup_target\030\r "
403 "\001(\005:\00510000\022k\n\031clause_cleanup_protection\030"
404 ": \001(\01627.operations_research.sat.SatParam"
405 "eters.ClauseProtection:\017PROTECTION_NONE\022"
406 "#\n\030clause_cleanup_lbd_bound\030; \001(\005:\0015\022g\n\027"
407 "clause_cleanup_ordering\030< \001(\01625.operatio"
408 "ns_research.sat.SatParameters.ClauseOrde"
409 "ring:\017CLAUSE_ACTIVITY\022!\n\024pb_cleanup_incr"
410 "ement\030. \001(\005:\003200\022\035\n\020pb_cleanup_ratio\030/ \001"
411 "(\001:\0030.5\0224\n(minimize_with_propagation_res"
412 "tart_period\030` \001(\005:\00210\0225\n\'minimize_with_p"
413 "ropagation_num_decisions\030a \001(\005:\0041000\022$\n\027"
414 "variable_activity_decay\030\017 \001(\001:\0030.8\022+\n\033ma"
415 "x_variable_activity_value\030\020 \001(\001:\0061e+100\022"
416 "\037\n\021glucose_max_decay\030\026 \001(\001:\0040.95\022%\n\027gluc"
417 "ose_decay_increment\030\027 \001(\001:\0040.01\022,\n\036gluco"
418 "se_decay_increment_period\030\030 \001(\005:\0045000\022$\n"
419 "\025clause_activity_decay\030\021 \001(\001:\0050.999\022(\n\031m"
420 "ax_clause_activity_value\030\022 \001(\001:\0051e+20\022S\n"
421 "\022restart_algorithms\030= \003(\01627.operations_r"
422 "esearch.sat.SatParameters.RestartAlgorit"
423 "hm\022e\n\032default_restart_algorithms\030F \001(\t:A"
424 "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,"
425 "DL_MOVING_AVERAGE_RESTART\022\032\n\016restart_per"
426 "iod\030\036 \001(\005:\00250\022\'\n\033restart_running_window_"
427 "size\030> \001(\005:\00250\022#\n\030restart_dl_average_rat"
428 "io\030\? \001(\001:\0011\022$\n\031restart_lbd_average_ratio"
429 "\030G \001(\001:\0011\022#\n\024use_blocking_restart\030@ \001(\010:"
430 "\005false\022*\n\034blocking_restart_window_size\030A"
431 " \001(\005:\0045000\022(\n\033blocking_restart_multiplie"
432 "r\030B \001(\001:\0031.4\0220\n%num_conflicts_before_str"
433 "ategy_changes\030D \001(\005:\0010\022)\n\036strategy_chang"
434 "e_increase_ratio\030E \001(\001:\0010\022 \n\023max_time_in"
435 "_seconds\030$ \001(\001:\003inf\022#\n\026max_deterministic"
436 "_time\030C \001(\001:\003inf\0224\n\027max_number_of_confli"
437 "cts\030% \001(\003:\0239223372036854775807\022\037\n\020max_me"
438 "mory_in_mb\030( \001(\003:\00510000\022\036\n\022absolute_gap_"
439 "limit\030\237\001 \001(\001:\0010\022\036\n\022relative_gap_limit\030\240\001"
440 " \001(\001:\0010\022-\n\037treat_binary_clauses_separate"
441 "ly\030! \001(\010:\004true\022\026\n\013random_seed\030\037 \001(\005:\0011\022)"
442 "\n\031permute_variable_randomly\030\262\001 \001(\010:\005fals"
443 "e\0221\n!permute_presolve_constraint_order\030\263"
444 "\001 \001(\010:\005false\022\037\n\017use_absl_random\030\264\001 \001(\010:\005"
445 "false\022\"\n\023log_search_progress\030) \001(\010:\005fals"
446 "e\022 \n\021use_pb_resolution\030+ \001(\010:\005false\0226\n\'m"
447 "inimize_reduction_during_pb_resolution\0300"
448 " \001(\010:\005false\022,\n\036count_assumption_levels_i"
449 "n_lbd\0301 \001(\010:\004true\022#\n\026presolve_bve_thresh"
450 "old\0306 \001(\005:\003500\022%\n\032presolve_bve_clause_we"
451 "ight\0307 \001(\005:\0013\0225\n)presolve_probing_determ"
452 "inistic_time_limit\0309 \001(\001:\00230\022%\n\027presolve"
453 "_blocked_clause\030X \001(\010:\004true\022\036\n\020presolve_"
454 "use_bva\030H \001(\010:\004true\022!\n\026presolve_bva_thre"
455 "shold\030I \001(\005:\0011\022#\n\027max_presolve_iteration"
456 "s\030\212\001 \001(\005:\0013\022\037\n\021cp_model_presolve\030V \001(\010:\004"
457 "true\0223\n#cp_model_postsolve_with_full_sol"
458 "ver\030\242\001 \001(\010:\005false\0220\n$cp_model_max_num_pr"
459 "esolve_operations\030\227\001 \001(\005:\0010\022!\n\026cp_model_"
460 "probing_level\030n \001(\005:\0012\022\'\n\031cp_model_use_s"
461 "at_presolve\030] \001(\010:\004true\022$\n\024use_sat_inpro"
462 "cessing\030\243\001 \001(\010:\005false\022)\n\032expand_element_"
463 "constraints\030\214\001 \001(\010:\004true\022+\n\034expand_autom"
464 "aton_constraints\030\217\001 \001(\010:\004true\022\'\n\030expand_"
465 "table_constraints\030\236\001 \001(\010:\004true\022*\n\032expand"
466 "_alldiff_constraints\030\252\001 \001(\010:\005false\022+\n\034ex"
467 "pand_reservoir_constraints\030\266\001 \001(\010:\004true\022"
468 ",\n\034disable_constraint_expansion\030\265\001 \001(\010:\005"
469 "false\0223\n\033merge_no_overlap_work_limit\030\221\001 "
470 "\001(\001:\r1000000000000\0220\n\034merge_at_most_one_"
471 "work_limit\030\222\001 \001(\001:\t100000000\022\'\n\033presolve"
472 "_substitution_level\030\223\001 \001(\005:\0011\0224\n$presolv"
473 "e_extract_integer_enforcement\030\256\001 \001(\010:\005fa"
474 "lse\022$\n\026use_optimization_hints\030# \001(\010:\004tru"
475 "e\022\033\n\rminimize_core\0302 \001(\010:\004true\022!\n\023find_m"
476 "ultiple_cores\030T \001(\010:\004true\022 \n\022cover_optim"
477 "ization\030Y \001(\010:\004true\022x\n\030max_sat_assumptio"
478 "n_order\0303 \001(\0162<.operations_research.sat."
479 "SatParameters.MaxSatAssumptionOrder:\030DEF"
480 "AULT_ASSUMPTION_ORDER\022/\n max_sat_reverse"
481 "_assumption_order\0304 \001(\010:\005false\022|\n\026max_sa"
482 "t_stratification\0305 \001(\0162D.operations_rese"
483 "arch.sat.SatParameters.MaxSatStratificat"
484 "ionAlgorithm:\026STRATIFICATION_DESCENT\0227\n)"
485 "use_precedences_in_disjunctive_constrain"
486 "t\030J \001(\010:\004true\022<\n-use_overload_checker_in"
487 "_cumulative_constraint\030N \001(\010:\005false\022B\n3u"
488 "se_timetable_edge_finding_in_cumulative_"
489 "constraint\030O \001(\010:\005false\022A\n3use_disjuncti"
490 "ve_constraint_in_cumulative_constraint\030P"
491 " \001(\010:\004true\022\036\n\023linearization_level\030Z \001(\005:"
492 "\0011\022!\n\026boolean_encoding_level\030k \001(\005:\0011\022\033\n"
493 "\014max_num_cuts\030[ \001(\005:\00510000\022*\n\033only_add_c"
494 "uts_at_level_zero\030\\ \001(\010:\005false\022 \n\021add_kn"
495 "apsack_cuts\030o \001(\010:\005false\022\031\n\013add_cg_cuts\030"
496 "u \001(\010:\004true\022\032\n\014add_mir_cuts\030x \001(\010:\004true\022"
497 "!\n\022add_zero_half_cuts\030\251\001 \001(\010:\004true\022\036\n\017ad"
498 "d_clique_cuts\030\254\001 \001(\010:\004true\022!\n\025max_all_di"
499 "ff_cut_size\030\224\001 \001(\005:\0017\022\037\n\020add_lin_max_cut"
500 "s\030\230\001 \001(\010:\004true\022)\n\034max_integer_rounding_s"
501 "caling\030w \001(\005:\003600\022\'\n\031add_lp_constraints_"
502 "lazily\030p \001(\010:\004true\0222\n$min_orthogonality_"
503 "for_lp_constraints\030s \001(\001:\0040.05\022(\n\034max_cu"
504 "t_rounds_at_level_zero\030\232\001 \001(\005:\0011\022+\n\036max_"
505 "consecutive_inactive_count\030y \001(\005:\003100\0220\n"
506 "\032cut_max_active_count_value\030\233\001 \001(\001:\0131000"
507 "0000000\022$\n\026cut_active_count_decay\030\234\001 \001(\001"
508 ":\0030.8\022!\n\022cut_cleanup_target\030\235\001 \001(\005:\0041000"
509 "\022&\n\032new_constraints_batch_size\030z \001(\005:\00250"
510 "\022b\n\020search_branching\030R \001(\01626.operations_"
511 "research.sat.SatParameters.SearchBranchi"
512 "ng:\020AUTOMATIC_SEARCH\022 \n\023hint_conflict_li"
513 "mit\030\231\001 \001(\005:\00210\022\033\n\013repair_hint\030\247\001 \001(\010:\005fa"
514 "lse\022)\n\033exploit_integer_lp_solution\030^ \001(\010"
515 ":\004true\022%\n\027exploit_all_lp_solution\030t \001(\010:"
516 "\004true\022%\n\025exploit_best_solution\030\202\001 \001(\010:\005f"
517 "alse\022+\n\033exploit_relaxation_solution\030\241\001 \001"
518 "(\010:\005false\022 \n\021exploit_objective\030\203\001 \001(\010:\004t"
519 "rue\022\"\n\026probing_period_at_root\030\216\001 \001(\003:\0010\022"
520 "\"\n\022use_probing_search\030\260\001 \001(\010:\005false\022.\n!p"
521 "seudo_cost_reliability_threshold\030{ \001(\003:\003"
522 "100\022!\n\022optimize_with_core\030S \001(\010:\005false\022\'"
523 "\n\033binary_search_num_conflicts\030c \001(\005:\002-1\022"
524 "#\n\024optimize_with_max_hs\030U \001(\010:\005false\022&\n\027"
525 "enumerate_all_solutions\030W \001(\010:\005false\0227\n\'"
526 "keep_all_feasible_solutions_in_presolve\030"
527 "\255\001 \001(\010:\005false\0222\n\"fill_tightened_domains_"
528 "in_response\030\204\001 \001(\010:\005false\022\'\n\031instantiate"
529 "_all_variables\030j \001(\010:\004true\0226\n(auto_detec"
530 "t_greater_than_at_least_one_of\030_ \001(\010:\004tr"
531 "ue\022(\n\031stop_after_first_solution\030b \001(\010:\005f"
532 "alse\022#\n\023stop_after_presolve\030\225\001 \001(\010:\005fals"
533 "e\022\035\n\022num_search_workers\030d \001(\005:\0011\022!\n\021inte"
534 "rleave_search\030\210\001 \001(\010:\005false\022!\n\025interleav"
535 "e_batch_size\030\206\001 \001(\005:\0011\0226\n&reduce_memory_"
536 "usage_in_interleave_mode\030\215\001 \001(\010:\005false\022$"
537 "\n\026share_objective_bounds\030q \001(\010:\004true\022%\n\027"
538 "share_level_zero_bounds\030r \001(\010:\004true\022\033\n\014u"
539 "se_lns_only\030e \001(\010:\005false\022.\n\037lns_focus_on"
540 "_decision_variables\030i \001(\010:\005false\0227\n(lns_"
541 "expand_intervals_in_constraint_graph\030\270\001 "
542 "\001(\010:\004true\022\033\n\014use_rins_lns\030\201\001 \001(\010:\004true\022#"
543 "\n\024use_feasibility_pump\030\244\001 \001(\010:\004true\022c\n\013f"
544 "p_rounding\030\245\001 \001(\01627.operations_research."
545 "sat.SatParameters.FPRoundingMethod:\024PROP"
546 "AGATION_ASSISTED\022\"\n\022use_relaxation_lns\030\226"
547 "\001 \001(\010:\005false\022$\n\024diversify_lns_params\030\211\001 "
548 "\001(\010:\005false\022\037\n\020randomize_search\030g \001(\010:\005fa"
549 "lse\022)\n\036search_randomization_tolerance\030h "
550 "\001(\003:\0010\022$\n\026use_optional_variables\030l \001(\010:\004"
551 "true\022!\n\023use_exact_lp_reason\030m \001(\010:\004true\022"
552 "#\n\023use_branching_in_lp\030\213\001 \001(\010:\005false\022\'\n\027"
553 "use_combined_no_overlap\030\205\001 \001(\010:\005false\022\"\n"
554 "\023catch_sigint_signal\030\207\001 \001(\010:\004true\022!\n\022use"
555 "_implied_bounds\030\220\001 \001(\010:\004true\022\"\n\022polish_l"
556 "p_solution\030\257\001 \001(\010:\005false\022!\n\021convert_inte"
557 "rvals\030\261\001 \001(\010:\005false\022\032\n\016symmetry_level\030\267\001"
558 " \001(\005:\0012\022\037\n\rmip_max_bound\030| \001(\001:\01010000000"
559 "\022\032\n\017mip_var_scaling\030} \001(\001:\0011\0220\n!mip_auto"
560 "matically_scale_variables\030\246\001 \001(\010:\004true\022#"
561 "\n\024mip_wanted_precision\030~ \001(\001:\0051e-06\022%\n\031m"
562 "ip_max_activity_exponent\030\177 \001(\005:\00253\022$\n\023mi"
563 "p_check_precision\030\200\001 \001(\001:\0060.0001\"H\n\rVari"
564 "ableOrder\022\014\n\010IN_ORDER\020\000\022\024\n\020IN_REVERSE_OR"
565 "DER\020\001\022\023\n\017IN_RANDOM_ORDER\020\002\"\206\001\n\010Polarity\022"
566 "\021\n\rPOLARITY_TRUE\020\000\022\022\n\016POLARITY_FALSE\020\001\022\023"
567 "\n\017POLARITY_RANDOM\020\002\022\032\n\026POLARITY_WEIGHTED"
568 "_SIGN\020\003\022\"\n\036POLARITY_REVERSE_WEIGHTED_SIG"
569 "N\020\004\"V\n\035ConflictMinimizationAlgorithm\022\010\n\004"
570 "NONE\020\000\022\n\n\006SIMPLE\020\001\022\r\n\tRECURSIVE\020\002\022\020\n\014EXP"
571 "ERIMENTAL\020\003\"\340\001\n\031BinaryMinizationAlgorith"
572 "m\022\032\n\026NO_BINARY_MINIMIZATION\020\000\022\035\n\031BINARY_"
573 "MINIMIZATION_FIRST\020\001\0227\n3BINARY_MINIMIZAT"
574 "ION_FIRST_WITH_TRANSITIVE_REDUCTION\020\004\022)\n"
575 "%BINARY_MINIMIZATION_WITH_REACHABILITY\020\002"
576 "\022$\n EXPERIMENTAL_BINARY_MINIMIZATION\020\003\"R"
577 "\n\020ClauseProtection\022\023\n\017PROTECTION_NONE\020\000\022"
578 "\025\n\021PROTECTION_ALWAYS\020\001\022\022\n\016PROTECTION_LBD"
579 "\020\002\"5\n\016ClauseOrdering\022\023\n\017CLAUSE_ACTIVITY\020"
580 "\000\022\016\n\nCLAUSE_LBD\020\001\"\206\001\n\020RestartAlgorithm\022\016"
581 "\n\nNO_RESTART\020\000\022\020\n\014LUBY_RESTART\020\001\022\035\n\031DL_M"
582 "OVING_AVERAGE_RESTART\020\002\022\036\n\032LBD_MOVING_AV"
583 "ERAGE_RESTART\020\003\022\021\n\rFIXED_RESTART\020\004\"t\n\025Ma"
584 "xSatAssumptionOrder\022\034\n\030DEFAULT_ASSUMPTIO"
585 "N_ORDER\020\000\022\035\n\031ORDER_ASSUMPTION_BY_DEPTH\020\001"
586 "\022\036\n\032ORDER_ASSUMPTION_BY_WEIGHT\020\002\"o\n\035MaxS"
587 "atStratificationAlgorithm\022\027\n\023STRATIFICAT"
588 "ION_NONE\020\000\022\032\n\026STRATIFICATION_DESCENT\020\001\022\031"
589 "\n\025STRATIFICATION_ASCENT\020\002\"\260\001\n\017SearchBran"
590 "ching\022\024\n\020AUTOMATIC_SEARCH\020\000\022\020\n\014FIXED_SEA"
591 "RCH\020\001\022\024\n\020PORTFOLIO_SEARCH\020\002\022\r\n\tLP_SEARCH"
592 "\020\003\022\026\n\022PSEUDO_COST_SEARCH\020\004\022\'\n#PORTFOLIO_"
593 "WITH_QUICK_RESTART_SEARCH\020\005\022\017\n\013HINT_SEAR"
594 "CH\020\006\"h\n\020FPRoundingMethod\022\023\n\017NEAREST_INTE"
595 "GER\020\000\022\016\n\nLOCK_BASED\020\001\022\025\n\021ACTIVE_LOCK_BAS"
596 "ED\020\003\022\030\n\024PROPAGATION_ASSISTED\020\002B\032\n\026com.go"
597 "ogle.ortools.satP\001"
606 false,
false, descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto,
"ortools/sat/sat_parameters.proto", 8698,
631 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
637 constexpr
int SatParameters::VariableOrder_ARRAYSIZE;
656 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
664 constexpr
int SatParameters::Polarity_ARRAYSIZE;
682 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
689 constexpr
int SatParameters::ConflictMinimizationAlgorithm_ARRAYSIZE;
708 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
716 constexpr
int SatParameters::BinaryMinizationAlgorithm_ARRAYSIZE;
733 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
739 constexpr
int SatParameters::ClauseProtection_ARRAYSIZE;
755 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
760 constexpr
int SatParameters::ClauseOrdering_ARRAYSIZE;
779 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
787 constexpr
int SatParameters::RestartAlgorithm_ARRAYSIZE;
804 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
810 constexpr
int SatParameters::MaxSatAssumptionOrder_ARRAYSIZE;
827 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
833 constexpr
int SatParameters::MaxSatStratificationAlgorithm_ARRAYSIZE;
854 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
864 constexpr
int SatParameters::SearchBranching_ARRAYSIZE;
882 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
889 constexpr
int SatParameters::FPRoundingMethod_ARRAYSIZE;
896 using HasBits = decltype(std::declval<SatParameters>()._has_bits_);
898 (*has_bits)[0] |= 2u;
901 (*has_bits)[0] |= 4u;
904 (*has_bits)[1] |= 67108864u;
907 (*has_bits)[2] |= 2048u;
910 (*has_bits)[4] |= 1073741824u;
913 (*has_bits)[0] |= 32u;
916 (*has_bits)[0] |= 16u;
919 (*has_bits)[0] |= 8192u;
922 (*has_bits)[0] |= 2048u;
925 (*has_bits)[0] |= 16384u;
928 (*has_bits)[1] |= 134217728u;
931 (*has_bits)[2] |= 128u;
934 (*has_bits)[2] |= 4096u;
937 (*has_bits)[1] |= 268435456u;
940 (*has_bits)[1] |= 536870912u;
943 (*has_bits)[0] |= 64u;
946 (*has_bits)[2] |= 2097152u;
949 (*has_bits)[0] |= 128u;
952 (*has_bits)[2] |= 32768u;
955 (*has_bits)[2] |= 65536u;
958 (*has_bits)[3] |= 128u;
961 (*has_bits)[3] |= 256u;
964 (*has_bits)[1] |= 1073741824u;
967 (*has_bits)[1] |= 2147483648u;
970 (*has_bits)[2] |= 4u;
973 (*has_bits)[2] |= 8u;
976 (*has_bits)[2] |= 16u;
979 (*has_bits)[2] |= 1u;
982 (*has_bits)[2] |= 2u;
985 (*has_bits)[0] |= 1u;
988 (*has_bits)[2] |= 32u;
991 (*has_bits)[2] |= 8388608u;
994 (*has_bits)[2] |= 4194304u;
997 (*has_bits)[3] |= 1u;
1000 (*has_bits)[0] |= 32768u;
1003 (*has_bits)[2] |= 1073741824u;
1006 (*has_bits)[2] |= 268435456u;
1009 (*has_bits)[0] |= 512u;
1012 (*has_bits)[0] |= 256u;
1015 (*has_bits)[2] |= 256u;
1018 (*has_bits)[2] |= 536870912u;
1021 (*has_bits)[2] |= 512u;
1024 (*has_bits)[2] |= 1024u;
1027 (*has_bits)[1] |= 4194304u;
1030 (*has_bits)[1] |= 8388608u;
1033 (*has_bits)[2] |= 8192u;
1036 (*has_bits)[2] |= 64u;
1039 (*has_bits)[0] |= 65536u;
1042 (*has_bits)[0] |= 131072u;
1045 (*has_bits)[0] |= 262144u;
1048 (*has_bits)[0] |= 524288u;
1051 (*has_bits)[0] |= 1048576u;
1054 (*has_bits)[1] |= 512u;
1057 (*has_bits)[2] |= 16384u;
1060 (*has_bits)[2] |= 262144u;
1063 (*has_bits)[2] |= 1048576u;
1066 (*has_bits)[2] |= 524288u;
1069 (*has_bits)[3] |= 2u;
1072 (*has_bits)[3] |= 4u;
1075 (*has_bits)[2] |= 2147483648u;
1078 (*has_bits)[4] |= 256u;
1081 (*has_bits)[3] |= 8u;
1084 (*has_bits)[1] |= 1024u;
1087 (*has_bits)[1] |= 16777216u;
1090 (*has_bits)[3] |= 65536u;
1093 (*has_bits)[3] |= 16u;
1096 (*has_bits)[1] |= 2048u;
1099 (*has_bits)[4] |= 8388608u;
1102 (*has_bits)[4] |= 16777216u;
1105 (*has_bits)[4] |= 33554432u;
1108 (*has_bits)[1] |= 4096u;
1111 (*has_bits)[4] |= 67108864u;
1114 (*has_bits)[0] |= 536870912u;
1117 (*has_bits)[4] |= 1024u;
1120 (*has_bits)[4] |= 2048u;
1123 (*has_bits)[4] |= 512u;
1126 (*has_bits)[0] |= 1073741824u;
1129 (*has_bits)[2] |= 16777216u;
1132 (*has_bits)[2] |= 33554432u;
1135 (*has_bits)[2] |= 67108864u;
1138 (*has_bits)[2] |= 134217728u;
1141 (*has_bits)[0] |= 8u;
1144 (*has_bits)[0] |= 2147483648u;
1147 (*has_bits)[2] |= 131072u;
1150 (*has_bits)[3] |= 512u;
1153 (*has_bits)[1] |= 1u;
1156 (*has_bits)[0] |= 2097152u;
1159 (*has_bits)[3] |= 1024u;
1162 (*has_bits)[3] |= 32u;
1165 (*has_bits)[3] |= 32768u;
1168 (*has_bits)[3] |= 64u;
1171 (*has_bits)[0] |= 4194304u;
1174 (*has_bits)[0] |= 8388608u;
1177 (*has_bits)[3] |= 2048u;
1180 (*has_bits)[3] |= 4096u;
1183 (*has_bits)[4] |= 65536u;
1186 (*has_bits)[4] |= 131072u;
1189 (*has_bits)[4] |= 4096u;
1192 (*has_bits)[4] |= 262144u;
1195 (*has_bits)[3] |= 2097152u;
1198 (*has_bits)[4] |= 524288u;
1201 (*has_bits)[3] |= 4194304u;
1204 (*has_bits)[4] |= 4194304u;
1207 (*has_bits)[3] |= 8388608u;
1210 (*has_bits)[4] |= 2097152u;
1213 (*has_bits)[4] |= 134217728u;
1216 (*has_bits)[4] |= 268435456u;
1219 (*has_bits)[3] |= 16777216u;
1222 (*has_bits)[0] |= 1024u;
1225 (*has_bits)[4] |= 1048576u;
1228 (*has_bits)[0] |= 16777216u;
1231 (*has_bits)[3] |= 131072u;
1234 (*has_bits)[3] |= 262144u;
1237 (*has_bits)[1] |= 8192u;
1240 (*has_bits)[1] |= 16384u;
1243 (*has_bits)[3] |= 524288u;
1246 (*has_bits)[1] |= 2097152u;
1249 (*has_bits)[1] |= 32768u;
1252 (*has_bits)[3] |= 33554432u;
1255 (*has_bits)[1] |= 65536u;
1258 (*has_bits)[3] |= 8192u;
1261 (*has_bits)[0] |= 33554432u;
1264 (*has_bits)[0] |= 67108864u;
1267 (*has_bits)[0] |= 134217728u;
1270 (*has_bits)[0] |= 268435456u;
1273 (*has_bits)[3] |= 1048576u;
1276 (*has_bits)[3] |= 536870912u;
1279 (*has_bits)[1] |= 32u;
1282 (*has_bits)[1] |= 64u;
1285 (*has_bits)[3] |= 16384u;
1288 (*has_bits)[1] |= 128u;
1291 (*has_bits)[4] |= 128u;
1294 (*has_bits)[1] |= 256u;
1297 (*has_bits)[3] |= 1073741824u;
1300 (*has_bits)[3] |= 2147483648u;
1303 (*has_bits)[1] |= 2u;
1306 (*has_bits)[1] |= 4u;
1309 (*has_bits)[4] |= 1u;
1312 (*has_bits)[4] |= 8u;
1315 (*has_bits)[4] |= 16u;
1318 (*has_bits)[4] |= 536870912u;
1321 (*has_bits)[1] |= 8u;
1324 (*has_bits)[1] |= 16u;
1327 (*has_bits)[1] |= 131072u;
1330 (*has_bits)[0] |= 4096u;
1333 (*has_bits)[4] |= 32u;
1336 (*has_bits)[4] |= 64u;
1339 (*has_bits)[1] |= 262144u;
1342 (*has_bits)[1] |= 524288u;
1345 (*has_bits)[4] |= 8192u;
1348 (*has_bits)[4] |= 16384u;
1351 (*has_bits)[1] |= 1048576u;
1354 (*has_bits)[1] |= 33554432u;
1357 (*has_bits)[4] |= 2147483648u;
1360 (*has_bits)[3] |= 67108864u;
1363 (*has_bits)[3] |= 134217728u;
1366 (*has_bits)[4] |= 32768u;
1369 (*has_bits)[3] |= 268435456u;
1372 (*has_bits)[4] |= 2u;
1375 (*has_bits)[4] |= 4u;
1379 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}};
1380 SatParameters::SatParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1381 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1382 restart_algorithms_(arena) {
1384 RegisterArenaDtor(arena);
1387 SatParameters::SatParameters(
const SatParameters&
from)
1388 : ::PROTOBUF_NAMESPACE_ID::Message(),
1389 _has_bits_(
from._has_bits_),
1390 restart_algorithms_(
from.restart_algorithms_) {
1391 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(
from._internal_metadata_);
1392 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1393 if (
from._internal_has_default_restart_algorithms()) {
1394 default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{},
from._internal_default_restart_algorithms(),
1397 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1398 if (
from._internal_has_name()) {
1399 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
from._internal_name(),
1402 ::memcpy(&preferred_variable_order_, &
from.preferred_variable_order_,
1403 static_cast<size_t>(
reinterpret_cast<char*
>(&symmetry_level_) -
1404 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(symmetry_level_));
1408 void SatParameters::SharedCtor() {
1410 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1411 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1412 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1413 reinterpret_cast<char*
>(&preferred_variable_order_) -
reinterpret_cast<char*
>(
this)),
1414 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&convert_intervals_) -
1415 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(convert_intervals_));
1416 initial_polarity_ = 1;
1417 minimization_algorithm_ = 2;
1418 clause_cleanup_period_ = 10000;
1419 clause_cleanup_target_ = 10000;
1420 variable_activity_decay_ = 0.8;
1421 max_variable_activity_value_ = 1e+100;
1422 clause_activity_decay_ = 0.999;
1423 max_clause_activity_value_ = 1e+20;
1424 glucose_max_decay_ = 0.95;
1425 glucose_decay_increment_ = 0.01;
1426 glucose_decay_increment_period_ = 5000;
1427 restart_period_ = 50;
1429 binary_minimization_algorithm_ = 1;
1430 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1431 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1432 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1433 use_phase_saving_ =
true;
1434 subsumption_during_conflict_analysis_ =
true;
1435 treat_binary_clauses_separately_ =
true;
1436 count_assumption_levels_in_lbd_ =
true;
1437 pb_cleanup_increment_ = 200;
1438 pb_cleanup_ratio_ = 0.5;
1439 max_sat_stratification_ = 1;
1440 presolve_bve_threshold_ = 500;
1441 presolve_probing_deterministic_time_limit_ = 30;
1442 presolve_bve_clause_weight_ = 3;
1443 clause_cleanup_lbd_bound_ = 5;
1444 restart_dl_average_ratio_ = 1;
1445 restart_running_window_size_ = 50;
1446 use_optimization_hints_ =
true;
1447 minimize_core_ =
true;
1448 find_multiple_cores_ =
true;
1449 cover_optimization_ =
true;
1450 blocking_restart_multiplier_ = 1.4;
1451 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1452 blocking_restart_window_size_ = 5000;
1453 presolve_bva_threshold_ = 1;
1454 restart_lbd_average_ratio_ = 1;
1455 presolve_blocked_clause_ =
true;
1456 presolve_use_bva_ =
true;
1457 cp_model_presolve_ =
true;
1458 cp_model_use_sat_presolve_ =
true;
1459 linearization_level_ = 1;
1460 max_num_cuts_ = 10000;
1461 minimize_with_propagation_restart_period_ = 10;
1462 minimize_with_propagation_num_decisions_ = 1000;
1463 use_precedences_in_disjunctive_constraint_ =
true;
1464 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1465 add_cg_cuts_ =
true;
1466 add_mir_cuts_ =
true;
1467 binary_search_num_conflicts_ = -1;
1468 num_search_workers_ = 1;
1469 boolean_encoding_level_ = 1;
1470 cp_model_probing_level_ = 2;
1471 exploit_integer_lp_solution_ =
true;
1472 exploit_all_lp_solution_ =
true;
1473 exploit_objective_ =
true;
1474 instantiate_all_variables_ =
true;
1475 max_integer_rounding_scaling_ = 600;
1476 min_orthogonality_for_lp_constraints_ = 0.05;
1477 max_consecutive_inactive_count_ = 100;
1478 new_constraints_batch_size_ = 50;
1479 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1480 mip_max_bound_ = 10000000;
1481 mip_var_scaling_ = 1;
1482 mip_wanted_precision_ = 1e-06;
1483 auto_detect_greater_than_at_least_one_of_ =
true;
1484 share_objective_bounds_ =
true;
1485 share_level_zero_bounds_ =
true;
1486 lns_expand_intervals_in_constraint_graph_ =
true;
1487 mip_max_activity_exponent_ = 53;
1488 mip_check_precision_ = 0.0001;
1489 use_rins_lns_ =
true;
1490 use_feasibility_pump_ =
true;
1491 use_optional_variables_ =
true;
1492 use_exact_lp_reason_ =
true;
1493 interleave_batch_size_ = 1;
1494 max_presolve_iterations_ = 3;
1495 presolve_substitution_level_ = 1;
1496 merge_no_overlap_work_limit_ = 1000000000000;
1497 merge_at_most_one_work_limit_ = 100000000;
1498 max_all_diff_cut_size_ = 7;
1499 catch_sigint_signal_ =
true;
1500 use_implied_bounds_ =
true;
1501 mip_automatically_scale_variables_ =
true;
1502 add_zero_half_cuts_ =
true;
1503 add_clique_cuts_ =
true;
1504 add_lin_max_cuts_ =
true;
1505 add_lp_constraints_lazily_ =
true;
1506 hint_conflict_limit_ = 10;
1507 cut_max_active_count_value_ = 10000000000;
1508 max_cut_rounds_at_level_zero_ = 1;
1509 expand_element_constraints_ =
true;
1510 expand_automaton_constraints_ =
true;
1511 expand_table_constraints_ =
true;
1512 expand_reservoir_constraints_ =
true;
1513 cut_active_count_decay_ = 0.8;
1514 cut_cleanup_target_ = 1000;
1516 polarity_rephase_increment_ = 1000;
1517 symmetry_level_ = 2;
1520 SatParameters::~SatParameters() {
1523 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1526 void SatParameters::SharedDtor() {
1527 GOOGLE_DCHECK(GetArena() ==
nullptr);
1528 default_restart_algorithms_.DestroyNoArena(
nullptr);
1529 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1532 void SatParameters::ArenaDtor(
void*
object) {
1533 SatParameters* _this =
reinterpret_cast< SatParameters*
>(object);
1536 void SatParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1538 void SatParameters::SetCachedSize(
int size)
const {
1539 _cached_size_.Set(size);
1541 const SatParameters& SatParameters::default_instance() {
1543 return *internal_default_instance();
1547 void SatParameters::Clear() {
1551 (void) cached_has_bits;
1553 restart_algorithms_.Clear();
1554 cached_has_bits = _has_bits_[0];
1555 if (cached_has_bits & 0x00000003u) {
1556 if (cached_has_bits & 0x00000001u) {
1557 default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArena());
1559 if (cached_has_bits & 0x00000002u) {
1560 name_.ClearNonDefaultToEmpty();
1563 if (cached_has_bits & 0x000000fcu) {
1564 ::memset(&preferred_variable_order_, 0,
static_cast<size_t>(
1565 reinterpret_cast<char*
>(&clause_cleanup_ordering_) -
1566 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(clause_cleanup_ordering_));
1568 if (cached_has_bits & 0x0000ff00u) {
1569 ::memset(&strategy_change_increase_ratio_, 0,
static_cast<size_t>(
1570 reinterpret_cast<char*
>(&use_blocking_restart_) -
1571 reinterpret_cast<char*
>(&strategy_change_increase_ratio_)) +
sizeof(use_blocking_restart_));
1573 if (cached_has_bits & 0x00ff0000u) {
1574 ::memset(&permute_variable_randomly_, 0,
static_cast<size_t>(
1575 reinterpret_cast<char*
>(&add_knapsack_cuts_) -
1576 reinterpret_cast<char*
>(&permute_variable_randomly_)) +
sizeof(add_knapsack_cuts_));
1578 if (cached_has_bits & 0xff000000u) {
1579 ::memset(&repair_hint_, 0,
static_cast<size_t>(
1580 reinterpret_cast<char*
>(&max_sat_reverse_assumption_order_) -
1581 reinterpret_cast<char*
>(&repair_hint_)) +
sizeof(max_sat_reverse_assumption_order_));
1583 cached_has_bits = _has_bits_[1];
1584 if (cached_has_bits & 0x000000ffu) {
1585 ::memset(&use_overload_checker_in_cumulative_constraint_, 0,
static_cast<size_t>(
1586 reinterpret_cast<char*
>(&interleave_search_) -
1587 reinterpret_cast<char*
>(&use_overload_checker_in_cumulative_constraint_)) +
sizeof(interleave_search_));
1589 if (cached_has_bits & 0x0000ff00u) {
1590 ::memset(&reduce_memory_usage_in_interleave_mode_, 0,
static_cast<size_t>(
1591 reinterpret_cast<char*
>(&use_probing_search_) -
1592 reinterpret_cast<char*
>(&reduce_memory_usage_in_interleave_mode_)) +
sizeof(use_probing_search_));
1594 if (cached_has_bits & 0x00ff0000u) {
1595 ::memset(&optimize_with_core_, 0,
static_cast<size_t>(
1596 reinterpret_cast<char*
>(&relative_gap_limit_) -
1597 reinterpret_cast<char*
>(&optimize_with_core_)) +
sizeof(relative_gap_limit_));
1599 if (cached_has_bits & 0xff000000u) {
1600 ::memset(&cp_model_max_num_presolve_operations_, 0,
static_cast<size_t>(
1601 reinterpret_cast<char*
>(&convert_intervals_) -
1602 reinterpret_cast<char*
>(&cp_model_max_num_presolve_operations_)) +
sizeof(convert_intervals_));
1603 initial_polarity_ = 1;
1604 minimization_algorithm_ = 2;
1605 clause_cleanup_period_ = 10000;
1606 clause_cleanup_target_ = 10000;
1607 variable_activity_decay_ = 0.8;
1608 max_variable_activity_value_ = 1e+100;
1610 cached_has_bits = _has_bits_[2];
1611 if (cached_has_bits & 0x000000ffu) {
1612 clause_activity_decay_ = 0.999;
1613 max_clause_activity_value_ = 1e+20;
1614 glucose_max_decay_ = 0.95;
1615 glucose_decay_increment_ = 0.01;
1616 glucose_decay_increment_period_ = 5000;
1617 restart_period_ = 50;
1619 binary_minimization_algorithm_ = 1;
1621 if (cached_has_bits & 0x0000ff00u) {
1622 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1623 max_number_of_conflicts_ = PROTOBUF_LONGLONG(9223372036854775807);
1624 max_memory_in_mb_ = PROTOBUF_LONGLONG(10000);
1625 use_phase_saving_ =
true;
1626 subsumption_during_conflict_analysis_ =
true;
1627 treat_binary_clauses_separately_ =
true;
1628 count_assumption_levels_in_lbd_ =
true;
1629 pb_cleanup_increment_ = 200;
1631 if (cached_has_bits & 0x00ff0000u) {
1632 pb_cleanup_ratio_ = 0.5;
1633 max_sat_stratification_ = 1;
1634 presolve_bve_threshold_ = 500;
1635 presolve_probing_deterministic_time_limit_ = 30;
1636 presolve_bve_clause_weight_ = 3;
1637 clause_cleanup_lbd_bound_ = 5;
1638 restart_dl_average_ratio_ = 1;
1639 restart_running_window_size_ = 50;
1641 if (cached_has_bits & 0xff000000u) {
1642 use_optimization_hints_ =
true;
1643 minimize_core_ =
true;
1644 find_multiple_cores_ =
true;
1645 cover_optimization_ =
true;
1646 blocking_restart_multiplier_ = 1.4;
1647 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1648 blocking_restart_window_size_ = 5000;
1649 presolve_bva_threshold_ = 1;
1651 cached_has_bits = _has_bits_[3];
1652 if (cached_has_bits & 0x000000ffu) {
1653 restart_lbd_average_ratio_ = 1;
1654 presolve_blocked_clause_ =
true;
1655 presolve_use_bva_ =
true;
1656 cp_model_presolve_ =
true;
1657 cp_model_use_sat_presolve_ =
true;
1658 linearization_level_ = 1;
1659 max_num_cuts_ = 10000;
1660 minimize_with_propagation_restart_period_ = 10;
1662 if (cached_has_bits & 0x0000ff00u) {
1663 minimize_with_propagation_num_decisions_ = 1000;
1664 use_precedences_in_disjunctive_constraint_ =
true;
1665 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1666 add_cg_cuts_ =
true;
1667 add_mir_cuts_ =
true;
1668 binary_search_num_conflicts_ = -1;
1669 num_search_workers_ = 1;
1670 boolean_encoding_level_ = 1;
1672 if (cached_has_bits & 0x00ff0000u) {
1673 cp_model_probing_level_ = 2;
1674 exploit_integer_lp_solution_ =
true;
1675 exploit_all_lp_solution_ =
true;
1676 exploit_objective_ =
true;
1677 instantiate_all_variables_ =
true;
1678 max_integer_rounding_scaling_ = 600;
1679 min_orthogonality_for_lp_constraints_ = 0.05;
1680 max_consecutive_inactive_count_ = 100;
1682 if (cached_has_bits & 0xff000000u) {
1683 new_constraints_batch_size_ = 50;
1684 pseudo_cost_reliability_threshold_ = PROTOBUF_LONGLONG(100);
1685 mip_max_bound_ = 10000000;
1686 mip_var_scaling_ = 1;
1687 mip_wanted_precision_ = 1e-06;
1688 auto_detect_greater_than_at_least_one_of_ =
true;
1689 share_objective_bounds_ =
true;
1690 share_level_zero_bounds_ =
true;
1692 cached_has_bits = _has_bits_[4];
1693 if (cached_has_bits & 0x000000ffu) {
1694 lns_expand_intervals_in_constraint_graph_ =
true;
1695 mip_max_activity_exponent_ = 53;
1696 mip_check_precision_ = 0.0001;
1697 use_rins_lns_ =
true;
1698 use_feasibility_pump_ =
true;
1699 use_optional_variables_ =
true;
1700 use_exact_lp_reason_ =
true;
1701 interleave_batch_size_ = 1;
1703 if (cached_has_bits & 0x0000ff00u) {
1704 max_presolve_iterations_ = 3;
1705 presolve_substitution_level_ = 1;
1706 merge_no_overlap_work_limit_ = 1000000000000;
1707 merge_at_most_one_work_limit_ = 100000000;
1708 max_all_diff_cut_size_ = 7;
1709 catch_sigint_signal_ =
true;
1710 use_implied_bounds_ =
true;
1711 mip_automatically_scale_variables_ =
true;
1713 if (cached_has_bits & 0x00ff0000u) {
1714 add_zero_half_cuts_ =
true;
1715 add_clique_cuts_ =
true;
1716 add_lin_max_cuts_ =
true;
1717 add_lp_constraints_lazily_ =
true;
1718 hint_conflict_limit_ = 10;
1719 cut_max_active_count_value_ = 10000000000;
1720 max_cut_rounds_at_level_zero_ = 1;
1721 expand_element_constraints_ =
true;
1723 if (cached_has_bits & 0xff000000u) {
1724 expand_automaton_constraints_ =
true;
1725 expand_table_constraints_ =
true;
1726 expand_reservoir_constraints_ =
true;
1727 cut_active_count_decay_ = 0.8;
1728 cut_cleanup_target_ = 1000;
1730 polarity_rephase_increment_ = 1000;
1731 symmetry_level_ = 2;
1734 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1737 const char* SatParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1738 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1739 while (!ctx->Done(&ptr)) {
1741 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1752 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
1754 }
else goto handle_unusual;
1764 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
1766 }
else goto handle_unusual;
1776 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
1778 }
else goto handle_unusual;
1784 clause_cleanup_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1786 }
else goto handle_unusual;
1792 clause_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1794 }
else goto handle_unusual;
1800 variable_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1801 ptr +=
sizeof(double);
1802 }
else goto handle_unusual;
1808 max_variable_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1809 ptr +=
sizeof(double);
1810 }
else goto handle_unusual;
1816 clause_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1817 ptr +=
sizeof(double);
1818 }
else goto handle_unusual;
1824 max_clause_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1825 ptr +=
sizeof(double);
1826 }
else goto handle_unusual;
1832 glucose_max_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1833 ptr +=
sizeof(double);
1834 }
else goto handle_unusual;
1840 glucose_decay_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1841 ptr +=
sizeof(double);
1842 }
else goto handle_unusual;
1848 glucose_decay_increment_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1850 }
else goto handle_unusual;
1856 restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1858 }
else goto handle_unusual;
1864 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1866 }
else goto handle_unusual;
1872 random_branches_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1873 ptr +=
sizeof(double);
1874 }
else goto handle_unusual;
1880 treat_binary_clauses_separately_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1882 }
else goto handle_unusual;
1892 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(34, val, mutable_unknown_fields());
1894 }
else goto handle_unusual;
1900 use_optimization_hints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1902 }
else goto handle_unusual;
1908 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1909 ptr +=
sizeof(double);
1910 }
else goto handle_unusual;
1916 max_number_of_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1918 }
else goto handle_unusual;
1924 max_memory_in_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1926 }
else goto handle_unusual;
1932 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1934 }
else goto handle_unusual;
1940 use_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1942 }
else goto handle_unusual;
1948 use_phase_saving_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1950 }
else goto handle_unusual;
1956 random_polarity_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1957 ptr +=
sizeof(double);
1958 }
else goto handle_unusual;
1964 pb_cleanup_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1966 }
else goto handle_unusual;
1972 pb_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1973 ptr +=
sizeof(double);
1974 }
else goto handle_unusual;
1980 minimize_reduction_during_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1982 }
else goto handle_unusual;
1988 count_assumption_levels_in_lbd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1990 }
else goto handle_unusual;
1996 minimize_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1998 }
else goto handle_unusual;
2008 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(51, val, mutable_unknown_fields());
2010 }
else goto handle_unusual;
2016 max_sat_reverse_assumption_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2018 }
else goto handle_unusual;
2028 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(53, val, mutable_unknown_fields());
2030 }
else goto handle_unusual;
2036 presolve_bve_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2038 }
else goto handle_unusual;
2044 presolve_bve_clause_weight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2046 }
else goto handle_unusual;
2052 subsumption_during_conflict_analysis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2054 }
else goto handle_unusual;
2060 presolve_probing_deterministic_time_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2061 ptr +=
sizeof(double);
2062 }
else goto handle_unusual;
2072 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(58, val, mutable_unknown_fields());
2074 }
else goto handle_unusual;
2080 clause_cleanup_lbd_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2082 }
else goto handle_unusual;
2092 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(60, val, mutable_unknown_fields());
2094 }
else goto handle_unusual;
2107 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(61, val, mutable_unknown_fields());
2109 if (!ctx->DataAvailable(ptr))
break;
2110 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<488>(ptr));
2114 }
else goto handle_unusual;
2120 restart_running_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2122 }
else goto handle_unusual;
2128 restart_dl_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2129 ptr +=
sizeof(double);
2130 }
else goto handle_unusual;
2136 use_blocking_restart_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2138 }
else goto handle_unusual;
2144 blocking_restart_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2146 }
else goto handle_unusual;
2152 blocking_restart_multiplier_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2153 ptr +=
sizeof(double);
2154 }
else goto handle_unusual;
2160 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2161 ptr +=
sizeof(double);
2162 }
else goto handle_unusual;
2168 num_conflicts_before_strategy_changes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2170 }
else goto handle_unusual;
2176 strategy_change_increase_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2177 ptr +=
sizeof(double);
2178 }
else goto handle_unusual;
2183 auto str = _internal_mutable_default_restart_algorithms();
2184 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2186 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.default_restart_algorithms");
2189 }
else goto handle_unusual;
2195 restart_lbd_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2196 ptr +=
sizeof(double);
2197 }
else goto handle_unusual;
2203 presolve_use_bva_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2205 }
else goto handle_unusual;
2211 presolve_bva_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2213 }
else goto handle_unusual;
2219 use_precedences_in_disjunctive_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2221 }
else goto handle_unusual;
2227 use_erwa_heuristic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2229 }
else goto handle_unusual;
2235 initial_variables_activity_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2236 ptr +=
sizeof(double);
2237 }
else goto handle_unusual;
2243 also_bump_variables_in_conflict_reasons_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2245 }
else goto handle_unusual;
2251 use_overload_checker_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2253 }
else goto handle_unusual;
2259 use_timetable_edge_finding_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2261 }
else goto handle_unusual;
2267 use_disjunctive_constraint_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2269 }
else goto handle_unusual;
2279 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(82, val, mutable_unknown_fields());
2281 }
else goto handle_unusual;
2287 optimize_with_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2289 }
else goto handle_unusual;
2295 find_multiple_cores_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2297 }
else goto handle_unusual;
2303 optimize_with_max_hs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2305 }
else goto handle_unusual;
2311 cp_model_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2313 }
else goto handle_unusual;
2319 enumerate_all_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2321 }
else goto handle_unusual;
2327 presolve_blocked_clause_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2329 }
else goto handle_unusual;
2335 cover_optimization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2337 }
else goto handle_unusual;
2343 linearization_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2345 }
else goto handle_unusual;
2351 max_num_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2353 }
else goto handle_unusual;
2359 only_add_cuts_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2361 }
else goto handle_unusual;
2367 cp_model_use_sat_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2369 }
else goto handle_unusual;
2375 exploit_integer_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2377 }
else goto handle_unusual;
2383 auto_detect_greater_than_at_least_one_of_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2385 }
else goto handle_unusual;
2391 minimize_with_propagation_restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2393 }
else goto handle_unusual;
2399 minimize_with_propagation_num_decisions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2401 }
else goto handle_unusual;
2407 stop_after_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2409 }
else goto handle_unusual;
2415 binary_search_num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2417 }
else goto handle_unusual;
2423 num_search_workers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2425 }
else goto handle_unusual;
2431 use_lns_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2433 }
else goto handle_unusual;
2439 randomize_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2441 }
else goto handle_unusual;
2447 search_randomization_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2449 }
else goto handle_unusual;
2455 lns_focus_on_decision_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2457 }
else goto handle_unusual;
2463 instantiate_all_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2465 }
else goto handle_unusual;
2471 boolean_encoding_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2473 }
else goto handle_unusual;
2479 use_optional_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2481 }
else goto handle_unusual;
2487 use_exact_lp_reason_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2489 }
else goto handle_unusual;
2495 cp_model_probing_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2497 }
else goto handle_unusual;
2503 add_knapsack_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2505 }
else goto handle_unusual;
2511 add_lp_constraints_lazily_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2513 }
else goto handle_unusual;
2519 share_objective_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2521 }
else goto handle_unusual;
2527 share_level_zero_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2529 }
else goto handle_unusual;
2535 min_orthogonality_for_lp_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2536 ptr +=
sizeof(double);
2537 }
else goto handle_unusual;
2543 exploit_all_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2545 }
else goto handle_unusual;
2551 add_cg_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2553 }
else goto handle_unusual;
2559 max_integer_rounding_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2561 }
else goto handle_unusual;
2567 add_mir_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2569 }
else goto handle_unusual;
2575 max_consecutive_inactive_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2577 }
else goto handle_unusual;
2583 new_constraints_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2585 }
else goto handle_unusual;
2591 pseudo_cost_reliability_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2593 }
else goto handle_unusual;
2599 mip_max_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2600 ptr +=
sizeof(double);
2601 }
else goto handle_unusual;
2607 mip_var_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2608 ptr +=
sizeof(double);
2609 }
else goto handle_unusual;
2615 mip_wanted_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2616 ptr +=
sizeof(double);
2617 }
else goto handle_unusual;
2623 mip_max_activity_exponent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2625 }
else goto handle_unusual;
2631 mip_check_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2632 ptr +=
sizeof(double);
2633 }
else goto handle_unusual;
2639 use_rins_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2641 }
else goto handle_unusual;
2647 exploit_best_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2649 }
else goto handle_unusual;
2655 exploit_objective_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2657 }
else goto handle_unusual;
2663 fill_tightened_domains_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2665 }
else goto handle_unusual;
2671 use_combined_no_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2673 }
else goto handle_unusual;
2679 interleave_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2681 }
else goto handle_unusual;
2687 catch_sigint_signal_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2689 }
else goto handle_unusual;
2695 interleave_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2697 }
else goto handle_unusual;
2703 diversify_lns_params_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2705 }
else goto handle_unusual;
2711 max_presolve_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2713 }
else goto handle_unusual;
2719 use_branching_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2721 }
else goto handle_unusual;
2727 expand_element_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2729 }
else goto handle_unusual;
2735 reduce_memory_usage_in_interleave_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2737 }
else goto handle_unusual;
2743 probing_period_at_root_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2745 }
else goto handle_unusual;
2751 expand_automaton_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2753 }
else goto handle_unusual;
2759 use_implied_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2761 }
else goto handle_unusual;
2767 merge_no_overlap_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2768 ptr +=
sizeof(double);
2769 }
else goto handle_unusual;
2775 merge_at_most_one_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2776 ptr +=
sizeof(double);
2777 }
else goto handle_unusual;
2783 presolve_substitution_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2785 }
else goto handle_unusual;
2791 max_all_diff_cut_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2793 }
else goto handle_unusual;
2799 stop_after_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2801 }
else goto handle_unusual;
2807 use_relaxation_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2809 }
else goto handle_unusual;
2815 cp_model_max_num_presolve_operations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2817 }
else goto handle_unusual;
2823 add_lin_max_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2825 }
else goto handle_unusual;
2831 hint_conflict_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2833 }
else goto handle_unusual;
2839 max_cut_rounds_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2841 }
else goto handle_unusual;
2847 cut_max_active_count_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2848 ptr +=
sizeof(double);
2849 }
else goto handle_unusual;
2855 cut_active_count_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2856 ptr +=
sizeof(double);
2857 }
else goto handle_unusual;
2863 cut_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2865 }
else goto handle_unusual;
2871 expand_table_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2873 }
else goto handle_unusual;
2879 absolute_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2880 ptr +=
sizeof(double);
2881 }
else goto handle_unusual;
2887 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2888 ptr +=
sizeof(double);
2889 }
else goto handle_unusual;
2895 exploit_relaxation_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2897 }
else goto handle_unusual;
2903 cp_model_postsolve_with_full_solver_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2905 }
else goto handle_unusual;
2911 use_sat_inprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2913 }
else goto handle_unusual;
2919 use_feasibility_pump_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2921 }
else goto handle_unusual;
2931 ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(165, val, mutable_unknown_fields());
2933 }
else goto handle_unusual;
2939 mip_automatically_scale_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2941 }
else goto handle_unusual;
2947 repair_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2949 }
else goto handle_unusual;
2955 polarity_rephase_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2957 }
else goto handle_unusual;
2963 add_zero_half_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2965 }
else goto handle_unusual;
2971 expand_alldiff_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2973 }
else goto handle_unusual;
2978 auto str = _internal_mutable_name();
2979 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2981 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.name");
2984 }
else goto handle_unusual;
2990 add_clique_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2992 }
else goto handle_unusual;
2998 keep_all_feasible_solutions_in_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3000 }
else goto handle_unusual;
3006 presolve_extract_integer_enforcement_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3008 }
else goto handle_unusual;
3014 polish_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3016 }
else goto handle_unusual;
3022 use_probing_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3024 }
else goto handle_unusual;
3030 convert_intervals_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3032 }
else goto handle_unusual;
3038 permute_variable_randomly_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3040 }
else goto handle_unusual;
3046 permute_presolve_constraint_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3048 }
else goto handle_unusual;
3054 use_absl_random_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3056 }
else goto handle_unusual;
3062 disable_constraint_expansion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3064 }
else goto handle_unusual;
3070 expand_reservoir_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3072 }
else goto handle_unusual;
3078 symmetry_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3080 }
else goto handle_unusual;
3086 lns_expand_intervals_in_constraint_graph_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3088 }
else goto handle_unusual;
3092 if ((tag & 7) == 4 || tag == 0) {
3093 ctx->SetLastTag(tag);
3096 ptr = UnknownFieldParse(tag,
3097 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3099 CHK_(ptr !=
nullptr);
3116 (void) cached_has_bits;
3118 cached_has_bits = _has_bits_[0];
3120 if (cached_has_bits & 0x00000004u) {
3121 target = stream->EnsureSpace(target);
3122 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3123 1, this->_internal_preferred_variable_order(), target);
3126 cached_has_bits = _has_bits_[1];
3128 if (cached_has_bits & 0x04000000u) {
3129 target = stream->EnsureSpace(target);
3130 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3131 2, this->_internal_initial_polarity(), target);
3135 if (cached_has_bits & 0x08000000u) {
3136 target = stream->EnsureSpace(target);
3137 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3138 4, this->_internal_minimization_algorithm(), target);
3142 if (cached_has_bits & 0x10000000u) {
3143 target = stream->EnsureSpace(target);
3144 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_clause_cleanup_period(), target);
3148 if (cached_has_bits & 0x20000000u) {
3149 target = stream->EnsureSpace(target);
3150 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_clause_cleanup_target(), target);
3154 if (cached_has_bits & 0x40000000u) {
3155 target = stream->EnsureSpace(target);
3156 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_variable_activity_decay(), target);
3160 if (cached_has_bits & 0x80000000u) {
3161 target = stream->EnsureSpace(target);
3162 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_max_variable_activity_value(), target);
3165 cached_has_bits = _has_bits_[2];
3167 if (cached_has_bits & 0x00000001u) {
3168 target = stream->EnsureSpace(target);
3169 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_clause_activity_decay(), target);
3173 if (cached_has_bits & 0x00000002u) {
3174 target = stream->EnsureSpace(target);
3175 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_max_clause_activity_value(), target);
3179 if (cached_has_bits & 0x00000004u) {
3180 target = stream->EnsureSpace(target);
3181 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_glucose_max_decay(), target);
3185 if (cached_has_bits & 0x00000008u) {
3186 target = stream->EnsureSpace(target);
3187 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_glucose_decay_increment(), target);
3191 if (cached_has_bits & 0x00000010u) {
3192 target = stream->EnsureSpace(target);
3193 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_glucose_decay_increment_period(), target);
3197 if (cached_has_bits & 0x00000020u) {
3198 target = stream->EnsureSpace(target);
3199 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_restart_period(), target);
3203 if (cached_has_bits & 0x00000040u) {
3204 target = stream->EnsureSpace(target);
3205 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_random_seed(), target);
3208 cached_has_bits = _has_bits_[0];
3210 if (cached_has_bits & 0x00000010u) {
3211 target = stream->EnsureSpace(target);
3212 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(32, this->_internal_random_branches_ratio(), target);
3215 cached_has_bits = _has_bits_[2];
3217 if (cached_has_bits & 0x00002000u) {
3218 target = stream->EnsureSpace(target);
3219 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_treat_binary_clauses_separately(), target);
3223 if (cached_has_bits & 0x00000080u) {
3224 target = stream->EnsureSpace(target);
3225 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3226 34, this->_internal_binary_minimization_algorithm(), target);
3230 if (cached_has_bits & 0x01000000u) {
3231 target = stream->EnsureSpace(target);
3232 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_optimization_hints(), target);
3236 if (cached_has_bits & 0x00000100u) {
3237 target = stream->EnsureSpace(target);
3238 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_max_time_in_seconds(), target);
3242 if (cached_has_bits & 0x00000200u) {
3243 target = stream->EnsureSpace(target);
3244 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(37, this->_internal_max_number_of_conflicts(), target);
3248 if (cached_has_bits & 0x00000400u) {
3249 target = stream->EnsureSpace(target);
3250 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(40, this->_internal_max_memory_in_mb(), target);
3253 cached_has_bits = _has_bits_[0];
3255 if (cached_has_bits & 0x00080000u) {
3256 target = stream->EnsureSpace(target);
3257 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_log_search_progress(), target);
3261 if (cached_has_bits & 0x00100000u) {
3262 target = stream->EnsureSpace(target);
3263 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(43, this->_internal_use_pb_resolution(), target);
3266 cached_has_bits = _has_bits_[2];
3268 if (cached_has_bits & 0x00000800u) {
3269 target = stream->EnsureSpace(target);
3270 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(44, this->_internal_use_phase_saving(), target);
3273 cached_has_bits = _has_bits_[0];
3275 if (cached_has_bits & 0x00000020u) {
3276 target = stream->EnsureSpace(target);
3277 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_random_polarity_ratio(), target);
3280 cached_has_bits = _has_bits_[2];
3282 if (cached_has_bits & 0x00008000u) {
3283 target = stream->EnsureSpace(target);
3284 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_pb_cleanup_increment(), target);
3288 if (cached_has_bits & 0x00010000u) {
3289 target = stream->EnsureSpace(target);
3290 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(47, this->_internal_pb_cleanup_ratio(), target);
3293 cached_has_bits = _has_bits_[1];
3295 if (cached_has_bits & 0x00000200u) {
3296 target = stream->EnsureSpace(target);
3297 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_minimize_reduction_during_pb_resolution(), target);
3300 cached_has_bits = _has_bits_[2];
3302 if (cached_has_bits & 0x00004000u) {
3303 target = stream->EnsureSpace(target);
3304 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(49, this->_internal_count_assumption_levels_in_lbd(), target);
3308 if (cached_has_bits & 0x02000000u) {
3309 target = stream->EnsureSpace(target);
3310 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(50, this->_internal_minimize_core(), target);
3313 cached_has_bits = _has_bits_[0];
3315 if (cached_has_bits & 0x00000008u) {
3316 target = stream->EnsureSpace(target);
3317 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3318 51, this->_internal_max_sat_assumption_order(), target);
3322 if (cached_has_bits & 0x80000000u) {
3323 target = stream->EnsureSpace(target);
3324 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(52, this->_internal_max_sat_reverse_assumption_order(), target);
3327 cached_has_bits = _has_bits_[2];
3329 if (cached_has_bits & 0x00020000u) {
3330 target = stream->EnsureSpace(target);
3331 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3332 53, this->_internal_max_sat_stratification(), target);
3336 if (cached_has_bits & 0x00040000u) {
3337 target = stream->EnsureSpace(target);
3338 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(54, this->_internal_presolve_bve_threshold(), target);
3342 if (cached_has_bits & 0x00100000u) {
3343 target = stream->EnsureSpace(target);
3344 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_presolve_bve_clause_weight(), target);
3348 if (cached_has_bits & 0x00001000u) {
3349 target = stream->EnsureSpace(target);
3350 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(56, this->_internal_subsumption_during_conflict_analysis(), target);
3354 if (cached_has_bits & 0x00080000u) {
3355 target = stream->EnsureSpace(target);
3356 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(57, this->_internal_presolve_probing_deterministic_time_limit(), target);
3359 cached_has_bits = _has_bits_[0];
3361 if (cached_has_bits & 0x00000040u) {
3362 target = stream->EnsureSpace(target);
3363 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3364 58, this->_internal_clause_cleanup_protection(), target);
3367 cached_has_bits = _has_bits_[2];
3369 if (cached_has_bits & 0x00200000u) {
3370 target = stream->EnsureSpace(target);
3371 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(59, this->_internal_clause_cleanup_lbd_bound(), target);
3374 cached_has_bits = _has_bits_[0];
3376 if (cached_has_bits & 0x00000080u) {
3377 target = stream->EnsureSpace(target);
3378 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3379 60, this->_internal_clause_cleanup_ordering(), target);
3383 for (
int i = 0, n = this->_internal_restart_algorithms_size(); i < n; i++) {
3384 target = stream->EnsureSpace(target);
3385 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3386 61, this->_internal_restart_algorithms(i), target);
3389 cached_has_bits = _has_bits_[2];
3391 if (cached_has_bits & 0x00800000u) {
3392 target = stream->EnsureSpace(target);
3393 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(62, this->_internal_restart_running_window_size(), target);
3397 if (cached_has_bits & 0x00400000u) {
3398 target = stream->EnsureSpace(target);
3399 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(63, this->_internal_restart_dl_average_ratio(), target);
3402 cached_has_bits = _has_bits_[0];
3404 if (cached_has_bits & 0x00008000u) {
3405 target = stream->EnsureSpace(target);
3406 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(64, this->_internal_use_blocking_restart(), target);
3409 cached_has_bits = _has_bits_[2];
3411 if (cached_has_bits & 0x40000000u) {
3412 target = stream->EnsureSpace(target);
3413 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(65, this->_internal_blocking_restart_window_size(), target);
3417 if (cached_has_bits & 0x10000000u) {
3418 target = stream->EnsureSpace(target);
3419 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(66, this->_internal_blocking_restart_multiplier(), target);
3423 if (cached_has_bits & 0x20000000u) {
3424 target = stream->EnsureSpace(target);
3425 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(67, this->_internal_max_deterministic_time(), target);
3428 cached_has_bits = _has_bits_[0];
3430 if (cached_has_bits & 0x00000200u) {
3431 target = stream->EnsureSpace(target);
3432 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(68, this->_internal_num_conflicts_before_strategy_changes(), target);
3436 if (cached_has_bits & 0x00000100u) {
3437 target = stream->EnsureSpace(target);
3438 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(69, this->_internal_strategy_change_increase_ratio(), target);
3442 if (cached_has_bits & 0x00000001u) {
3443 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3444 this->_internal_default_restart_algorithms().data(),
static_cast<int>(this->_internal_default_restart_algorithms().length()),
3445 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3446 "operations_research.sat.SatParameters.default_restart_algorithms");
3447 target = stream->WriteStringMaybeAliased(
3448 70, this->_internal_default_restart_algorithms(), target);
3451 cached_has_bits = _has_bits_[3];
3453 if (cached_has_bits & 0x00000001u) {
3454 target = stream->EnsureSpace(target);
3455 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(71, this->_internal_restart_lbd_average_ratio(), target);
3459 if (cached_has_bits & 0x00000004u) {
3460 target = stream->EnsureSpace(target);
3461 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(72, this->_internal_presolve_use_bva(), target);
3464 cached_has_bits = _has_bits_[2];
3466 if (cached_has_bits & 0x80000000u) {
3467 target = stream->EnsureSpace(target);
3468 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(73, this->_internal_presolve_bva_threshold(), target);
3471 cached_has_bits = _has_bits_[3];
3473 if (cached_has_bits & 0x00000200u) {
3474 target = stream->EnsureSpace(target);
3475 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(74, this->_internal_use_precedences_in_disjunctive_constraint(), target);
3478 cached_has_bits = _has_bits_[0];
3480 if (cached_has_bits & 0x00002000u) {
3481 target = stream->EnsureSpace(target);
3482 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(75, this->_internal_use_erwa_heuristic(), target);
3486 if (cached_has_bits & 0x00000800u) {
3487 target = stream->EnsureSpace(target);
3488 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_initial_variables_activity(), target);
3492 if (cached_has_bits & 0x00004000u) {
3493 target = stream->EnsureSpace(target);
3494 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_also_bump_variables_in_conflict_reasons(), target);
3497 cached_has_bits = _has_bits_[1];
3499 if (cached_has_bits & 0x00000001u) {
3500 target = stream->EnsureSpace(target);
3501 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(78, this->_internal_use_overload_checker_in_cumulative_constraint(), target);
3504 cached_has_bits = _has_bits_[0];
3506 if (cached_has_bits & 0x00200000u) {
3507 target = stream->EnsureSpace(target);
3508 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(79, this->_internal_use_timetable_edge_finding_in_cumulative_constraint(), target);
3511 cached_has_bits = _has_bits_[3];
3513 if (cached_has_bits & 0x00000400u) {
3514 target = stream->EnsureSpace(target);
3515 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(80, this->_internal_use_disjunctive_constraint_in_cumulative_constraint(), target);
3518 cached_has_bits = _has_bits_[0];
3520 if (cached_has_bits & 0x00000400u) {
3521 target = stream->EnsureSpace(target);
3522 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3523 82, this->_internal_search_branching(), target);
3526 cached_has_bits = _has_bits_[1];
3528 if (cached_has_bits & 0x00010000u) {
3529 target = stream->EnsureSpace(target);
3530 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_optimize_with_core(), target);
3533 cached_has_bits = _has_bits_[2];
3535 if (cached_has_bits & 0x04000000u) {
3536 target = stream->EnsureSpace(target);
3537 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(84, this->_internal_find_multiple_cores(), target);
3540 cached_has_bits = _has_bits_[0];
3542 if (cached_has_bits & 0x02000000u) {
3543 target = stream->EnsureSpace(target);
3544 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_optimize_with_max_hs(), target);
3547 cached_has_bits = _has_bits_[3];
3549 if (cached_has_bits & 0x00000008u) {
3550 target = stream->EnsureSpace(target);
3551 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_cp_model_presolve(), target);
3554 cached_has_bits = _has_bits_[0];
3556 if (cached_has_bits & 0x04000000u) {
3557 target = stream->EnsureSpace(target);
3558 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_enumerate_all_solutions(), target);
3561 cached_has_bits = _has_bits_[3];
3563 if (cached_has_bits & 0x00000002u) {
3564 target = stream->EnsureSpace(target);
3565 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(88, this->_internal_presolve_blocked_clause(), target);
3568 cached_has_bits = _has_bits_[2];
3570 if (cached_has_bits & 0x08000000u) {
3571 target = stream->EnsureSpace(target);
3572 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(89, this->_internal_cover_optimization(), target);
3575 cached_has_bits = _has_bits_[3];
3577 if (cached_has_bits & 0x00000020u) {
3578 target = stream->EnsureSpace(target);
3579 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(90, this->_internal_linearization_level(), target);
3583 if (cached_has_bits & 0x00000040u) {
3584 target = stream->EnsureSpace(target);
3585 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(91, this->_internal_max_num_cuts(), target);
3588 cached_has_bits = _has_bits_[0];
3590 if (cached_has_bits & 0x00400000u) {
3591 target = stream->EnsureSpace(target);
3592 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(92, this->_internal_only_add_cuts_at_level_zero(), target);
3595 cached_has_bits = _has_bits_[3];
3597 if (cached_has_bits & 0x00000010u) {
3598 target = stream->EnsureSpace(target);
3599 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(93, this->_internal_cp_model_use_sat_presolve(), target);
3603 if (cached_has_bits & 0x00020000u) {
3604 target = stream->EnsureSpace(target);
3605 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(94, this->_internal_exploit_integer_lp_solution(), target);
3609 if (cached_has_bits & 0x20000000u) {
3610 target = stream->EnsureSpace(target);
3611 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(95, this->_internal_auto_detect_greater_than_at_least_one_of(), target);
3615 if (cached_has_bits & 0x00000080u) {
3616 target = stream->EnsureSpace(target);
3617 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(96, this->_internal_minimize_with_propagation_restart_period(), target);
3621 if (cached_has_bits & 0x00000100u) {
3622 target = stream->EnsureSpace(target);
3623 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(97, this->_internal_minimize_with_propagation_num_decisions(), target);
3626 cached_has_bits = _has_bits_[1];
3628 if (cached_has_bits & 0x00000020u) {
3629 target = stream->EnsureSpace(target);
3630 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(98, this->_internal_stop_after_first_solution(), target);
3633 cached_has_bits = _has_bits_[3];
3635 if (cached_has_bits & 0x00002000u) {
3636 target = stream->EnsureSpace(target);
3637 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(99, this->_internal_binary_search_num_conflicts(), target);
3641 if (cached_has_bits & 0x00004000u) {
3642 target = stream->EnsureSpace(target);
3643 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(100, this->_internal_num_search_workers(), target);
3646 cached_has_bits = _has_bits_[1];
3648 if (cached_has_bits & 0x00000002u) {
3649 target = stream->EnsureSpace(target);
3650 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_use_lns_only(), target);
3654 if (cached_has_bits & 0x00020000u) {
3655 target = stream->EnsureSpace(target);
3656 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(103, this->_internal_randomize_search(), target);
3659 cached_has_bits = _has_bits_[0];
3661 if (cached_has_bits & 0x00001000u) {
3662 target = stream->EnsureSpace(target);
3663 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(104, this->_internal_search_randomization_tolerance(), target);
3666 cached_has_bits = _has_bits_[1];
3668 if (cached_has_bits & 0x00000004u) {
3669 target = stream->EnsureSpace(target);
3670 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(105, this->_internal_lns_focus_on_decision_variables(), target);
3673 cached_has_bits = _has_bits_[3];
3675 if (cached_has_bits & 0x00100000u) {
3676 target = stream->EnsureSpace(target);
3677 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(106, this->_internal_instantiate_all_variables(), target);
3681 if (cached_has_bits & 0x00008000u) {
3682 target = stream->EnsureSpace(target);
3683 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(107, this->_internal_boolean_encoding_level(), target);
3686 cached_has_bits = _has_bits_[4];
3688 if (cached_has_bits & 0x00000020u) {
3689 target = stream->EnsureSpace(target);
3690 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(108, this->_internal_use_optional_variables(), target);
3694 if (cached_has_bits & 0x00000040u) {
3695 target = stream->EnsureSpace(target);
3696 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(109, this->_internal_use_exact_lp_reason(), target);
3699 cached_has_bits = _has_bits_[3];
3701 if (cached_has_bits & 0x00010000u) {
3702 target = stream->EnsureSpace(target);
3703 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(110, this->_internal_cp_model_probing_level(), target);
3706 cached_has_bits = _has_bits_[0];
3708 if (cached_has_bits & 0x00800000u) {
3709 target = stream->EnsureSpace(target);
3710 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(111, this->_internal_add_knapsack_cuts(), target);
3713 cached_has_bits = _has_bits_[4];
3715 if (cached_has_bits & 0x00080000u) {
3716 target = stream->EnsureSpace(target);
3717 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_add_lp_constraints_lazily(), target);
3720 cached_has_bits = _has_bits_[3];
3722 if (cached_has_bits & 0x40000000u) {
3723 target = stream->EnsureSpace(target);
3724 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_share_objective_bounds(), target);
3728 if (cached_has_bits & 0x80000000u) {
3729 target = stream->EnsureSpace(target);
3730 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(114, this->_internal_share_level_zero_bounds(), target);
3734 if (cached_has_bits & 0x00400000u) {
3735 target = stream->EnsureSpace(target);
3736 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(115, this->_internal_min_orthogonality_for_lp_constraints(), target);
3740 if (cached_has_bits & 0x00040000u) {
3741 target = stream->EnsureSpace(target);
3742 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(116, this->_internal_exploit_all_lp_solution(), target);
3746 if (cached_has_bits & 0x00000800u) {
3747 target = stream->EnsureSpace(target);
3748 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_add_cg_cuts(), target);
3752 if (cached_has_bits & 0x00200000u) {
3753 target = stream->EnsureSpace(target);
3754 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(119, this->_internal_max_integer_rounding_scaling(), target);
3758 if (cached_has_bits & 0x00001000u) {
3759 target = stream->EnsureSpace(target);
3760 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_add_mir_cuts(), target);
3764 if (cached_has_bits & 0x00800000u) {
3765 target = stream->EnsureSpace(target);
3766 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(121, this->_internal_max_consecutive_inactive_count(), target);
3770 if (cached_has_bits & 0x01000000u) {
3771 target = stream->EnsureSpace(target);
3772 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_new_constraints_batch_size(), target);
3776 if (cached_has_bits & 0x02000000u) {
3777 target = stream->EnsureSpace(target);
3778 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(123, this->_internal_pseudo_cost_reliability_threshold(), target);
3782 if (cached_has_bits & 0x04000000u) {
3783 target = stream->EnsureSpace(target);
3784 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(124, this->_internal_mip_max_bound(), target);
3788 if (cached_has_bits & 0x08000000u) {
3789 target = stream->EnsureSpace(target);
3790 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(125, this->_internal_mip_var_scaling(), target);
3794 if (cached_has_bits & 0x10000000u) {
3795 target = stream->EnsureSpace(target);
3796 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(126, this->_internal_mip_wanted_precision(), target);
3799 cached_has_bits = _has_bits_[4];
3801 if (cached_has_bits & 0x00000002u) {
3802 target = stream->EnsureSpace(target);
3803 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mip_max_activity_exponent(), target);
3807 if (cached_has_bits & 0x00000004u) {
3808 target = stream->EnsureSpace(target);
3809 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(128, this->_internal_mip_check_precision(), target);
3813 if (cached_has_bits & 0x00000008u) {
3814 target = stream->EnsureSpace(target);
3815 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(129, this->_internal_use_rins_lns(), target);
3818 cached_has_bits = _has_bits_[1];
3820 if (cached_has_bits & 0x00002000u) {
3821 target = stream->EnsureSpace(target);
3822 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(130, this->_internal_exploit_best_solution(), target);
3825 cached_has_bits = _has_bits_[3];
3827 if (cached_has_bits & 0x00080000u) {
3828 target = stream->EnsureSpace(target);
3829 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(131, this->_internal_exploit_objective(), target);
3832 cached_has_bits = _has_bits_[0];
3834 if (cached_has_bits & 0x10000000u) {
3835 target = stream->EnsureSpace(target);
3836 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(132, this->_internal_fill_tightened_domains_in_response(), target);
3839 cached_has_bits = _has_bits_[1];
3841 if (cached_has_bits & 0x00080000u) {
3842 target = stream->EnsureSpace(target);
3843 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_use_combined_no_overlap(), target);
3846 cached_has_bits = _has_bits_[4];
3848 if (cached_has_bits & 0x00000080u) {
3849 target = stream->EnsureSpace(target);
3850 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(134, this->_internal_interleave_batch_size(), target);
3854 if (cached_has_bits & 0x00002000u) {
3855 target = stream->EnsureSpace(target);
3856 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_catch_sigint_signal(), target);
3859 cached_has_bits = _has_bits_[1];
3861 if (cached_has_bits & 0x00000080u) {
3862 target = stream->EnsureSpace(target);
3863 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(136, this->_internal_interleave_search(), target);
3867 if (cached_has_bits & 0x00000010u) {
3868 target = stream->EnsureSpace(target);
3869 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(137, this->_internal_diversify_lns_params(), target);
3872 cached_has_bits = _has_bits_[4];
3874 if (cached_has_bits & 0x00000100u) {
3875 target = stream->EnsureSpace(target);
3876 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(138, this->_internal_max_presolve_iterations(), target);
3879 cached_has_bits = _has_bits_[1];
3881 if (cached_has_bits & 0x00040000u) {
3882 target = stream->EnsureSpace(target);
3883 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(139, this->_internal_use_branching_in_lp(), target);
3886 cached_has_bits = _has_bits_[4];
3888 if (cached_has_bits & 0x00800000u) {
3889 target = stream->EnsureSpace(target);
3890 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(140, this->_internal_expand_element_constraints(), target);
3893 cached_has_bits = _has_bits_[1];
3895 if (cached_has_bits & 0x00000100u) {
3896 target = stream->EnsureSpace(target);
3897 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(141, this->_internal_reduce_memory_usage_in_interleave_mode(), target);
3901 if (cached_has_bits & 0x00200000u) {
3902 target = stream->EnsureSpace(target);
3903 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(142, this->_internal_probing_period_at_root(), target);
3906 cached_has_bits = _has_bits_[4];
3908 if (cached_has_bits & 0x01000000u) {
3909 target = stream->EnsureSpace(target);
3910 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(143, this->_internal_expand_automaton_constraints(), target);
3914 if (cached_has_bits & 0x00004000u) {
3915 target = stream->EnsureSpace(target);
3916 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(144, this->_internal_use_implied_bounds(), target);
3920 if (cached_has_bits & 0x00000400u) {
3921 target = stream->EnsureSpace(target);
3922 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(145, this->_internal_merge_no_overlap_work_limit(), target);
3926 if (cached_has_bits & 0x00000800u) {
3927 target = stream->EnsureSpace(target);
3928 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(146, this->_internal_merge_at_most_one_work_limit(), target);
3932 if (cached_has_bits & 0x00000200u) {
3933 target = stream->EnsureSpace(target);
3934 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(147, this->_internal_presolve_substitution_level(), target);
3938 if (cached_has_bits & 0x00001000u) {
3939 target = stream->EnsureSpace(target);
3940 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(148, this->_internal_max_all_diff_cut_size(), target);
3943 cached_has_bits = _has_bits_[1];
3945 if (cached_has_bits & 0x00000040u) {
3946 target = stream->EnsureSpace(target);
3947 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(149, this->_internal_stop_after_presolve(), target);
3951 if (cached_has_bits & 0x00000008u) {
3952 target = stream->EnsureSpace(target);
3953 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(150, this->_internal_use_relaxation_lns(), target);
3957 if (cached_has_bits & 0x01000000u) {
3958 target = stream->EnsureSpace(target);
3959 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(151, this->_internal_cp_model_max_num_presolve_operations(), target);
3962 cached_has_bits = _has_bits_[4];
3964 if (cached_has_bits & 0x00040000u) {
3965 target = stream->EnsureSpace(target);
3966 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(152, this->_internal_add_lin_max_cuts(), target);
3970 if (cached_has_bits & 0x00100000u) {
3971 target = stream->EnsureSpace(target);
3972 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(153, this->_internal_hint_conflict_limit(), target);
3976 if (cached_has_bits & 0x00400000u) {
3977 target = stream->EnsureSpace(target);
3978 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(154, this->_internal_max_cut_rounds_at_level_zero(), target);
3982 if (cached_has_bits & 0x00200000u) {
3983 target = stream->EnsureSpace(target);
3984 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(155, this->_internal_cut_max_active_count_value(), target);
3988 if (cached_has_bits & 0x08000000u) {
3989 target = stream->EnsureSpace(target);
3990 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(156, this->_internal_cut_active_count_decay(), target);
3994 if (cached_has_bits & 0x10000000u) {
3995 target = stream->EnsureSpace(target);
3996 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(157, this->_internal_cut_cleanup_target(), target);
4000 if (cached_has_bits & 0x02000000u) {
4001 target = stream->EnsureSpace(target);
4002 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(158, this->_internal_expand_table_constraints(), target);
4005 cached_has_bits = _has_bits_[1];
4007 if (cached_has_bits & 0x00400000u) {
4008 target = stream->EnsureSpace(target);
4009 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(159, this->_internal_absolute_gap_limit(), target);
4013 if (cached_has_bits & 0x00800000u) {
4014 target = stream->EnsureSpace(target);
4015 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(160, this->_internal_relative_gap_limit(), target);
4019 if (cached_has_bits & 0x00004000u) {
4020 target = stream->EnsureSpace(target);
4021 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(161, this->_internal_exploit_relaxation_solution(), target);
4025 if (cached_has_bits & 0x00000400u) {
4026 target = stream->EnsureSpace(target);
4027 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(162, this->_internal_cp_model_postsolve_with_full_solver(), target);
4031 if (cached_has_bits & 0x00000800u) {
4032 target = stream->EnsureSpace(target);
4033 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(163, this->_internal_use_sat_inprocessing(), target);
4036 cached_has_bits = _has_bits_[4];
4038 if (cached_has_bits & 0x00000010u) {
4039 target = stream->EnsureSpace(target);
4040 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(164, this->_internal_use_feasibility_pump(), target);
4044 if (cached_has_bits & 0x20000000u) {
4045 target = stream->EnsureSpace(target);
4046 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4047 165, this->_internal_fp_rounding(), target);
4051 if (cached_has_bits & 0x00008000u) {
4052 target = stream->EnsureSpace(target);
4053 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(166, this->_internal_mip_automatically_scale_variables(), target);
4056 cached_has_bits = _has_bits_[0];
4058 if (cached_has_bits & 0x01000000u) {
4059 target = stream->EnsureSpace(target);
4060 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(167, this->_internal_repair_hint(), target);
4063 cached_has_bits = _has_bits_[4];
4065 if (cached_has_bits & 0x40000000u) {
4066 target = stream->EnsureSpace(target);
4067 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(168, this->_internal_polarity_rephase_increment(), target);
4071 if (cached_has_bits & 0x00010000u) {
4072 target = stream->EnsureSpace(target);
4073 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(169, this->_internal_add_zero_half_cuts(), target);
4076 cached_has_bits = _has_bits_[1];
4078 if (cached_has_bits & 0x00001000u) {
4079 target = stream->EnsureSpace(target);
4080 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(170, this->_internal_expand_alldiff_constraints(), target);
4083 cached_has_bits = _has_bits_[0];
4085 if (cached_has_bits & 0x00000002u) {
4086 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4087 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
4088 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4089 "operations_research.sat.SatParameters.name");
4090 target = stream->WriteStringMaybeAliased(
4091 171, this->_internal_name(), target);
4094 cached_has_bits = _has_bits_[4];
4096 if (cached_has_bits & 0x00020000u) {
4097 target = stream->EnsureSpace(target);
4098 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(172, this->_internal_add_clique_cuts(), target);
4101 cached_has_bits = _has_bits_[0];
4103 if (cached_has_bits & 0x08000000u) {
4104 target = stream->EnsureSpace(target);
4105 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(173, this->_internal_keep_all_feasible_solutions_in_presolve(), target);
4109 if (cached_has_bits & 0x40000000u) {
4110 target = stream->EnsureSpace(target);
4111 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(174, this->_internal_presolve_extract_integer_enforcement(), target);
4114 cached_has_bits = _has_bits_[1];
4116 if (cached_has_bits & 0x00100000u) {
4117 target = stream->EnsureSpace(target);
4118 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(175, this->_internal_polish_lp_solution(), target);
4122 if (cached_has_bits & 0x00008000u) {
4123 target = stream->EnsureSpace(target);
4124 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(176, this->_internal_use_probing_search(), target);
4128 if (cached_has_bits & 0x02000000u) {
4129 target = stream->EnsureSpace(target);
4130 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(177, this->_internal_convert_intervals(), target);
4133 cached_has_bits = _has_bits_[0];
4135 if (cached_has_bits & 0x00010000u) {
4136 target = stream->EnsureSpace(target);
4137 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(178, this->_internal_permute_variable_randomly(), target);
4141 if (cached_has_bits & 0x00020000u) {
4142 target = stream->EnsureSpace(target);
4143 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(179, this->_internal_permute_presolve_constraint_order(), target);
4147 if (cached_has_bits & 0x00040000u) {
4148 target = stream->EnsureSpace(target);
4149 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(180, this->_internal_use_absl_random(), target);
4153 if (cached_has_bits & 0x20000000u) {
4154 target = stream->EnsureSpace(target);
4155 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(181, this->_internal_disable_constraint_expansion(), target);
4158 cached_has_bits = _has_bits_[4];
4160 if (cached_has_bits & 0x04000000u) {
4161 target = stream->EnsureSpace(target);
4162 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(182, this->_internal_expand_reservoir_constraints(), target);
4166 if (cached_has_bits & 0x80000000u) {
4167 target = stream->EnsureSpace(target);
4168 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(183, this->_internal_symmetry_level(), target);
4172 if (cached_has_bits & 0x00000001u) {
4173 target = stream->EnsureSpace(target);
4174 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(184, this->_internal_lns_expand_intervals_in_constraint_graph(), target);
4177 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4178 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4179 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4185 size_t SatParameters::ByteSizeLong()
const {
4187 size_t total_size = 0;
4191 (void) cached_has_bits;
4195 size_t data_size = 0;
4196 unsigned int count =
static_cast<unsigned int>(this->_internal_restart_algorithms_size());
for (
unsigned int i = 0; i < count; i++) {
4197 data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
4198 this->_internal_restart_algorithms(
static_cast<int>(i)));
4200 total_size += (2UL * count) + data_size;
4203 cached_has_bits = _has_bits_[0];
4204 if (cached_has_bits & 0x000000ffu) {
4206 if (cached_has_bits & 0x00000001u) {
4208 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4209 this->_internal_default_restart_algorithms());
4213 if (cached_has_bits & 0x00000002u) {
4215 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4216 this->_internal_name());
4220 if (cached_has_bits & 0x00000004u) {
4222 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_preferred_variable_order());
4226 if (cached_has_bits & 0x00000008u) {
4228 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_assumption_order());
4232 if (cached_has_bits & 0x00000010u) {
4233 total_size += 2 + 8;
4237 if (cached_has_bits & 0x00000020u) {
4238 total_size += 2 + 8;
4242 if (cached_has_bits & 0x00000040u) {
4244 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_protection());
4248 if (cached_has_bits & 0x00000080u) {
4250 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_ordering());
4254 if (cached_has_bits & 0x0000ff00u) {
4256 if (cached_has_bits & 0x00000100u) {
4257 total_size += 2 + 8;
4261 if (cached_has_bits & 0x00000200u) {
4263 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4264 this->_internal_num_conflicts_before_strategy_changes());
4268 if (cached_has_bits & 0x00000400u) {
4270 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_search_branching());
4274 if (cached_has_bits & 0x00000800u) {
4275 total_size += 2 + 8;
4279 if (cached_has_bits & 0x00001000u) {
4281 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4282 this->_internal_search_randomization_tolerance());
4286 if (cached_has_bits & 0x00002000u) {
4287 total_size += 2 + 1;
4291 if (cached_has_bits & 0x00004000u) {
4292 total_size += 2 + 1;
4296 if (cached_has_bits & 0x00008000u) {
4297 total_size += 2 + 1;
4301 if (cached_has_bits & 0x00ff0000u) {
4303 if (cached_has_bits & 0x00010000u) {
4304 total_size += 2 + 1;
4308 if (cached_has_bits & 0x00020000u) {
4309 total_size += 2 + 1;
4313 if (cached_has_bits & 0x00040000u) {
4314 total_size += 2 + 1;
4318 if (cached_has_bits & 0x00080000u) {
4319 total_size += 2 + 1;
4323 if (cached_has_bits & 0x00100000u) {
4324 total_size += 2 + 1;
4328 if (cached_has_bits & 0x00200000u) {
4329 total_size += 2 + 1;
4333 if (cached_has_bits & 0x00400000u) {
4334 total_size += 2 + 1;
4338 if (cached_has_bits & 0x00800000u) {
4339 total_size += 2 + 1;
4343 if (cached_has_bits & 0xff000000u) {
4345 if (cached_has_bits & 0x01000000u) {
4346 total_size += 2 + 1;
4350 if (cached_has_bits & 0x02000000u) {
4351 total_size += 2 + 1;
4355 if (cached_has_bits & 0x04000000u) {
4356 total_size += 2 + 1;
4360 if (cached_has_bits & 0x08000000u) {
4361 total_size += 2 + 1;
4365 if (cached_has_bits & 0x10000000u) {
4366 total_size += 2 + 1;
4370 if (cached_has_bits & 0x20000000u) {
4371 total_size += 2 + 1;
4375 if (cached_has_bits & 0x40000000u) {
4376 total_size += 2 + 1;
4380 if (cached_has_bits & 0x80000000u) {
4381 total_size += 2 + 1;
4385 cached_has_bits = _has_bits_[1];
4386 if (cached_has_bits & 0x000000ffu) {
4388 if (cached_has_bits & 0x00000001u) {
4389 total_size += 2 + 1;
4393 if (cached_has_bits & 0x00000002u) {
4394 total_size += 2 + 1;
4398 if (cached_has_bits & 0x00000004u) {
4399 total_size += 2 + 1;
4403 if (cached_has_bits & 0x00000008u) {
4404 total_size += 2 + 1;
4408 if (cached_has_bits & 0x00000010u) {
4409 total_size += 2 + 1;
4413 if (cached_has_bits & 0x00000020u) {
4414 total_size += 2 + 1;
4418 if (cached_has_bits & 0x00000040u) {
4419 total_size += 2 + 1;
4423 if (cached_has_bits & 0x00000080u) {
4424 total_size += 2 + 1;
4428 if (cached_has_bits & 0x0000ff00u) {
4430 if (cached_has_bits & 0x00000100u) {
4431 total_size += 2 + 1;
4435 if (cached_has_bits & 0x00000200u) {
4436 total_size += 2 + 1;
4440 if (cached_has_bits & 0x00000400u) {
4441 total_size += 2 + 1;
4445 if (cached_has_bits & 0x00000800u) {
4446 total_size += 2 + 1;
4450 if (cached_has_bits & 0x00001000u) {
4451 total_size += 2 + 1;
4455 if (cached_has_bits & 0x00002000u) {
4456 total_size += 2 + 1;
4460 if (cached_has_bits & 0x00004000u) {
4461 total_size += 2 + 1;
4465 if (cached_has_bits & 0x00008000u) {
4466 total_size += 2 + 1;
4470 if (cached_has_bits & 0x00ff0000u) {
4472 if (cached_has_bits & 0x00010000u) {
4473 total_size += 2 + 1;
4477 if (cached_has_bits & 0x00020000u) {
4478 total_size += 2 + 1;
4482 if (cached_has_bits & 0x00040000u) {
4483 total_size += 2 + 1;
4487 if (cached_has_bits & 0x00080000u) {
4488 total_size += 2 + 1;
4492 if (cached_has_bits & 0x00100000u) {
4493 total_size += 2 + 1;
4497 if (cached_has_bits & 0x00200000u) {
4499 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4500 this->_internal_probing_period_at_root());
4504 if (cached_has_bits & 0x00400000u) {
4505 total_size += 2 + 8;
4509 if (cached_has_bits & 0x00800000u) {
4510 total_size += 2 + 8;
4514 if (cached_has_bits & 0xff000000u) {
4516 if (cached_has_bits & 0x01000000u) {
4518 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4519 this->_internal_cp_model_max_num_presolve_operations());
4523 if (cached_has_bits & 0x02000000u) {
4524 total_size += 2 + 1;
4528 if (cached_has_bits & 0x04000000u) {
4530 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_polarity());
4534 if (cached_has_bits & 0x08000000u) {
4536 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_minimization_algorithm());
4540 if (cached_has_bits & 0x10000000u) {
4542 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4543 this->_internal_clause_cleanup_period());
4547 if (cached_has_bits & 0x20000000u) {
4549 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4550 this->_internal_clause_cleanup_target());
4554 if (cached_has_bits & 0x40000000u) {
4555 total_size += 1 + 8;
4559 if (cached_has_bits & 0x80000000u) {
4560 total_size += 2 + 8;
4564 cached_has_bits = _has_bits_[2];
4565 if (cached_has_bits & 0x000000ffu) {
4567 if (cached_has_bits & 0x00000001u) {
4568 total_size += 2 + 8;
4572 if (cached_has_bits & 0x00000002u) {
4573 total_size += 2 + 8;
4577 if (cached_has_bits & 0x00000004u) {
4578 total_size += 2 + 8;
4582 if (cached_has_bits & 0x00000008u) {
4583 total_size += 2 + 8;
4587 if (cached_has_bits & 0x00000010u) {
4589 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4590 this->_internal_glucose_decay_increment_period());
4594 if (cached_has_bits & 0x00000020u) {
4596 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4597 this->_internal_restart_period());
4601 if (cached_has_bits & 0x00000040u) {
4603 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4604 this->_internal_random_seed());
4608 if (cached_has_bits & 0x00000080u) {
4610 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_binary_minimization_algorithm());
4614 if (cached_has_bits & 0x0000ff00u) {
4616 if (cached_has_bits & 0x00000100u) {
4617 total_size += 2 + 8;
4621 if (cached_has_bits & 0x00000200u) {
4623 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4624 this->_internal_max_number_of_conflicts());
4628 if (cached_has_bits & 0x00000400u) {
4630 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4631 this->_internal_max_memory_in_mb());
4635 if (cached_has_bits & 0x00000800u) {
4636 total_size += 2 + 1;
4640 if (cached_has_bits & 0x00001000u) {
4641 total_size += 2 + 1;
4645 if (cached_has_bits & 0x00002000u) {
4646 total_size += 2 + 1;
4650 if (cached_has_bits & 0x00004000u) {
4651 total_size += 2 + 1;
4655 if (cached_has_bits & 0x00008000u) {
4657 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4658 this->_internal_pb_cleanup_increment());
4662 if (cached_has_bits & 0x00ff0000u) {
4664 if (cached_has_bits & 0x00010000u) {
4665 total_size += 2 + 8;
4669 if (cached_has_bits & 0x00020000u) {
4671 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_stratification());
4675 if (cached_has_bits & 0x00040000u) {
4677 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4678 this->_internal_presolve_bve_threshold());
4682 if (cached_has_bits & 0x00080000u) {
4683 total_size += 2 + 8;
4687 if (cached_has_bits & 0x00100000u) {
4689 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4690 this->_internal_presolve_bve_clause_weight());
4694 if (cached_has_bits & 0x00200000u) {
4696 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4697 this->_internal_clause_cleanup_lbd_bound());
4701 if (cached_has_bits & 0x00400000u) {
4702 total_size += 2 + 8;
4706 if (cached_has_bits & 0x00800000u) {
4708 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4709 this->_internal_restart_running_window_size());
4713 if (cached_has_bits & 0xff000000u) {
4715 if (cached_has_bits & 0x01000000u) {
4716 total_size += 2 + 1;
4720 if (cached_has_bits & 0x02000000u) {
4721 total_size += 2 + 1;
4725 if (cached_has_bits & 0x04000000u) {
4726 total_size += 2 + 1;
4730 if (cached_has_bits & 0x08000000u) {
4731 total_size += 2 + 1;
4735 if (cached_has_bits & 0x10000000u) {
4736 total_size += 2 + 8;
4740 if (cached_has_bits & 0x20000000u) {
4741 total_size += 2 + 8;
4745 if (cached_has_bits & 0x40000000u) {
4747 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4748 this->_internal_blocking_restart_window_size());
4752 if (cached_has_bits & 0x80000000u) {
4754 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4755 this->_internal_presolve_bva_threshold());
4759 cached_has_bits = _has_bits_[3];
4760 if (cached_has_bits & 0x000000ffu) {
4762 if (cached_has_bits & 0x00000001u) {
4763 total_size += 2 + 8;
4767 if (cached_has_bits & 0x00000002u) {
4768 total_size += 2 + 1;
4772 if (cached_has_bits & 0x00000004u) {
4773 total_size += 2 + 1;
4777 if (cached_has_bits & 0x00000008u) {
4778 total_size += 2 + 1;
4782 if (cached_has_bits & 0x00000010u) {
4783 total_size += 2 + 1;
4787 if (cached_has_bits & 0x00000020u) {
4789 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4790 this->_internal_linearization_level());
4794 if (cached_has_bits & 0x00000040u) {
4796 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4797 this->_internal_max_num_cuts());
4801 if (cached_has_bits & 0x00000080u) {
4803 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4804 this->_internal_minimize_with_propagation_restart_period());
4808 if (cached_has_bits & 0x0000ff00u) {
4810 if (cached_has_bits & 0x00000100u) {
4812 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4813 this->_internal_minimize_with_propagation_num_decisions());
4817 if (cached_has_bits & 0x00000200u) {
4818 total_size += 2 + 1;
4822 if (cached_has_bits & 0x00000400u) {
4823 total_size += 2 + 1;
4827 if (cached_has_bits & 0x00000800u) {
4828 total_size += 2 + 1;
4832 if (cached_has_bits & 0x00001000u) {
4833 total_size += 2 + 1;
4837 if (cached_has_bits & 0x00002000u) {
4839 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4840 this->_internal_binary_search_num_conflicts());
4844 if (cached_has_bits & 0x00004000u) {
4846 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4847 this->_internal_num_search_workers());
4851 if (cached_has_bits & 0x00008000u) {
4853 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4854 this->_internal_boolean_encoding_level());
4858 if (cached_has_bits & 0x00ff0000u) {
4860 if (cached_has_bits & 0x00010000u) {
4862 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4863 this->_internal_cp_model_probing_level());
4867 if (cached_has_bits & 0x00020000u) {
4868 total_size += 2 + 1;
4872 if (cached_has_bits & 0x00040000u) {
4873 total_size += 2 + 1;
4877 if (cached_has_bits & 0x00080000u) {
4878 total_size += 2 + 1;
4882 if (cached_has_bits & 0x00100000u) {
4883 total_size += 2 + 1;
4887 if (cached_has_bits & 0x00200000u) {
4889 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4890 this->_internal_max_integer_rounding_scaling());
4894 if (cached_has_bits & 0x00400000u) {
4895 total_size += 2 + 8;
4899 if (cached_has_bits & 0x00800000u) {
4901 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4902 this->_internal_max_consecutive_inactive_count());
4906 if (cached_has_bits & 0xff000000u) {
4908 if (cached_has_bits & 0x01000000u) {
4910 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4911 this->_internal_new_constraints_batch_size());
4915 if (cached_has_bits & 0x02000000u) {
4917 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4918 this->_internal_pseudo_cost_reliability_threshold());
4922 if (cached_has_bits & 0x04000000u) {
4923 total_size += 2 + 8;
4927 if (cached_has_bits & 0x08000000u) {
4928 total_size += 2 + 8;
4932 if (cached_has_bits & 0x10000000u) {
4933 total_size += 2 + 8;
4937 if (cached_has_bits & 0x20000000u) {
4938 total_size += 2 + 1;
4942 if (cached_has_bits & 0x40000000u) {
4943 total_size += 2 + 1;
4947 if (cached_has_bits & 0x80000000u) {
4948 total_size += 2 + 1;
4952 cached_has_bits = _has_bits_[4];
4953 if (cached_has_bits & 0x000000ffu) {
4955 if (cached_has_bits & 0x00000001u) {
4956 total_size += 2 + 1;
4960 if (cached_has_bits & 0x00000002u) {
4962 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4963 this->_internal_mip_max_activity_exponent());
4967 if (cached_has_bits & 0x00000004u) {
4968 total_size += 2 + 8;
4972 if (cached_has_bits & 0x00000008u) {
4973 total_size += 2 + 1;
4977 if (cached_has_bits & 0x00000010u) {
4978 total_size += 2 + 1;
4982 if (cached_has_bits & 0x00000020u) {
4983 total_size += 2 + 1;
4987 if (cached_has_bits & 0x00000040u) {
4988 total_size += 2 + 1;
4992 if (cached_has_bits & 0x00000080u) {
4994 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4995 this->_internal_interleave_batch_size());
4999 if (cached_has_bits & 0x0000ff00u) {
5001 if (cached_has_bits & 0x00000100u) {
5003 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5004 this->_internal_max_presolve_iterations());
5008 if (cached_has_bits & 0x00000200u) {
5010 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5011 this->_internal_presolve_substitution_level());
5015 if (cached_has_bits & 0x00000400u) {
5016 total_size += 2 + 8;
5020 if (cached_has_bits & 0x00000800u) {
5021 total_size += 2 + 8;
5025 if (cached_has_bits & 0x00001000u) {
5027 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5028 this->_internal_max_all_diff_cut_size());
5032 if (cached_has_bits & 0x00002000u) {
5033 total_size += 2 + 1;
5037 if (cached_has_bits & 0x00004000u) {
5038 total_size += 2 + 1;
5042 if (cached_has_bits & 0x00008000u) {
5043 total_size += 2 + 1;
5047 if (cached_has_bits & 0x00ff0000u) {
5049 if (cached_has_bits & 0x00010000u) {
5050 total_size += 2 + 1;
5054 if (cached_has_bits & 0x00020000u) {
5055 total_size += 2 + 1;
5059 if (cached_has_bits & 0x00040000u) {
5060 total_size += 2 + 1;
5064 if (cached_has_bits & 0x00080000u) {
5065 total_size += 2 + 1;
5069 if (cached_has_bits & 0x00100000u) {
5071 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5072 this->_internal_hint_conflict_limit());
5076 if (cached_has_bits & 0x00200000u) {
5077 total_size += 2 + 8;
5081 if (cached_has_bits & 0x00400000u) {
5083 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5084 this->_internal_max_cut_rounds_at_level_zero());
5088 if (cached_has_bits & 0x00800000u) {
5089 total_size += 2 + 1;
5093 if (cached_has_bits & 0xff000000u) {
5095 if (cached_has_bits & 0x01000000u) {
5096 total_size += 2 + 1;
5100 if (cached_has_bits & 0x02000000u) {
5101 total_size += 2 + 1;
5105 if (cached_has_bits & 0x04000000u) {
5106 total_size += 2 + 1;
5110 if (cached_has_bits & 0x08000000u) {
5111 total_size += 2 + 8;
5115 if (cached_has_bits & 0x10000000u) {
5117 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5118 this->_internal_cut_cleanup_target());
5122 if (cached_has_bits & 0x20000000u) {
5124 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fp_rounding());
5128 if (cached_has_bits & 0x40000000u) {
5130 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5131 this->_internal_polarity_rephase_increment());
5135 if (cached_has_bits & 0x80000000u) {
5137 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5138 this->_internal_symmetry_level());
5142 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5143 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5144 _internal_metadata_, total_size, &_cached_size_);
5146 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5147 SetCachedSize(cached_size);
5151 void SatParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message&
from) {
5153 GOOGLE_DCHECK_NE(&
from,
this);
5154 const SatParameters* source =
5155 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SatParameters>(
5157 if (source ==
nullptr) {
5159 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(
from,
this);
5166 void SatParameters::MergeFrom(
const SatParameters&
from) {
5168 GOOGLE_DCHECK_NE(&
from,
this);
5169 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(
from._internal_metadata_);
5171 (void) cached_has_bits;
5173 restart_algorithms_.MergeFrom(
from.restart_algorithms_);
5174 cached_has_bits =
from._has_bits_[0];
5175 if (cached_has_bits & 0x000000ffu) {
5176 if (cached_has_bits & 0x00000001u) {
5177 _internal_set_default_restart_algorithms(
from._internal_default_restart_algorithms());
5179 if (cached_has_bits & 0x00000002u) {
5180 _internal_set_name(
from._internal_name());
5182 if (cached_has_bits & 0x00000004u) {
5183 preferred_variable_order_ =
from.preferred_variable_order_;
5185 if (cached_has_bits & 0x00000008u) {
5186 max_sat_assumption_order_ =
from.max_sat_assumption_order_;
5188 if (cached_has_bits & 0x00000010u) {
5189 random_branches_ratio_ =
from.random_branches_ratio_;
5191 if (cached_has_bits & 0x00000020u) {
5192 random_polarity_ratio_ =
from.random_polarity_ratio_;
5194 if (cached_has_bits & 0x00000040u) {
5195 clause_cleanup_protection_ =
from.clause_cleanup_protection_;
5197 if (cached_has_bits & 0x00000080u) {
5198 clause_cleanup_ordering_ =
from.clause_cleanup_ordering_;
5200 _has_bits_[0] |= cached_has_bits;
5202 if (cached_has_bits & 0x0000ff00u) {
5203 if (cached_has_bits & 0x00000100u) {
5204 strategy_change_increase_ratio_ =
from.strategy_change_increase_ratio_;
5206 if (cached_has_bits & 0x00000200u) {
5207 num_conflicts_before_strategy_changes_ =
from.num_conflicts_before_strategy_changes_;
5209 if (cached_has_bits & 0x00000400u) {
5210 search_branching_ =
from.search_branching_;
5212 if (cached_has_bits & 0x00000800u) {
5213 initial_variables_activity_ =
from.initial_variables_activity_;
5215 if (cached_has_bits & 0x00001000u) {
5216 search_randomization_tolerance_ =
from.search_randomization_tolerance_;
5218 if (cached_has_bits & 0x00002000u) {
5219 use_erwa_heuristic_ =
from.use_erwa_heuristic_;
5221 if (cached_has_bits & 0x00004000u) {
5222 also_bump_variables_in_conflict_reasons_ =
from.also_bump_variables_in_conflict_reasons_;
5224 if (cached_has_bits & 0x00008000u) {
5225 use_blocking_restart_ =
from.use_blocking_restart_;
5227 _has_bits_[0] |= cached_has_bits;
5229 if (cached_has_bits & 0x00ff0000u) {
5230 if (cached_has_bits & 0x00010000u) {
5231 permute_variable_randomly_ =
from.permute_variable_randomly_;
5233 if (cached_has_bits & 0x00020000u) {
5234 permute_presolve_constraint_order_ =
from.permute_presolve_constraint_order_;
5236 if (cached_has_bits & 0x00040000u) {
5237 use_absl_random_ =
from.use_absl_random_;
5239 if (cached_has_bits & 0x00080000u) {
5240 log_search_progress_ =
from.log_search_progress_;
5242 if (cached_has_bits & 0x00100000u) {
5243 use_pb_resolution_ =
from.use_pb_resolution_;
5245 if (cached_has_bits & 0x00200000u) {
5246 use_timetable_edge_finding_in_cumulative_constraint_ =
from.use_timetable_edge_finding_in_cumulative_constraint_;
5248 if (cached_has_bits & 0x00400000u) {
5249 only_add_cuts_at_level_zero_ =
from.only_add_cuts_at_level_zero_;
5251 if (cached_has_bits & 0x00800000u) {
5252 add_knapsack_cuts_ =
from.add_knapsack_cuts_;
5254 _has_bits_[0] |= cached_has_bits;
5256 if (cached_has_bits & 0xff000000u) {
5257 if (cached_has_bits & 0x01000000u) {
5258 repair_hint_ =
from.repair_hint_;
5260 if (cached_has_bits & 0x02000000u) {
5261 optimize_with_max_hs_ =
from.optimize_with_max_hs_;
5263 if (cached_has_bits & 0x04000000u) {
5264 enumerate_all_solutions_ =
from.enumerate_all_solutions_;
5266 if (cached_has_bits & 0x08000000u) {
5267 keep_all_feasible_solutions_in_presolve_ =
from.keep_all_feasible_solutions_in_presolve_;
5269 if (cached_has_bits & 0x10000000u) {
5270 fill_tightened_domains_in_response_ =
from.fill_tightened_domains_in_response_;
5272 if (cached_has_bits & 0x20000000u) {
5273 disable_constraint_expansion_ =
from.disable_constraint_expansion_;
5275 if (cached_has_bits & 0x40000000u) {
5276 presolve_extract_integer_enforcement_ =
from.presolve_extract_integer_enforcement_;
5278 if (cached_has_bits & 0x80000000u) {
5279 max_sat_reverse_assumption_order_ =
from.max_sat_reverse_assumption_order_;
5281 _has_bits_[0] |= cached_has_bits;
5283 cached_has_bits =
from._has_bits_[1];
5284 if (cached_has_bits & 0x000000ffu) {
5285 if (cached_has_bits & 0x00000001u) {
5286 use_overload_checker_in_cumulative_constraint_ =
from.use_overload_checker_in_cumulative_constraint_;
5288 if (cached_has_bits & 0x00000002u) {
5289 use_lns_only_ =
from.use_lns_only_;
5291 if (cached_has_bits & 0x00000004u) {
5292 lns_focus_on_decision_variables_ =
from.lns_focus_on_decision_variables_;
5294 if (cached_has_bits & 0x00000008u) {
5295 use_relaxation_lns_ =
from.use_relaxation_lns_;
5297 if (cached_has_bits & 0x00000010u) {
5298 diversify_lns_params_ =
from.diversify_lns_params_;
5300 if (cached_has_bits & 0x00000020u) {
5301 stop_after_first_solution_ =
from.stop_after_first_solution_;
5303 if (cached_has_bits & 0x00000040u) {
5304 stop_after_presolve_ =
from.stop_after_presolve_;
5306 if (cached_has_bits & 0x00000080u) {
5307 interleave_search_ =
from.interleave_search_;
5309 _has_bits_[1] |= cached_has_bits;
5311 if (cached_has_bits & 0x0000ff00u) {
5312 if (cached_has_bits & 0x00000100u) {
5313 reduce_memory_usage_in_interleave_mode_ =
from.reduce_memory_usage_in_interleave_mode_;
5315 if (cached_has_bits & 0x00000200u) {
5316 minimize_reduction_during_pb_resolution_ =
from.minimize_reduction_during_pb_resolution_;
5318 if (cached_has_bits & 0x00000400u) {
5319 cp_model_postsolve_with_full_solver_ =
from.cp_model_postsolve_with_full_solver_;
5321 if (cached_has_bits & 0x00000800u) {
5322 use_sat_inprocessing_ =
from.use_sat_inprocessing_;
5324 if (cached_has_bits & 0x00001000u) {
5325 expand_alldiff_constraints_ =
from.expand_alldiff_constraints_;
5327 if (cached_has_bits & 0x00002000u) {
5328 exploit_best_solution_ =
from.exploit_best_solution_;
5330 if (cached_has_bits & 0x00004000u) {
5331 exploit_relaxation_solution_ =
from.exploit_relaxation_solution_;
5333 if (cached_has_bits & 0x00008000u) {
5334 use_probing_search_ =
from.use_probing_search_;
5336 _has_bits_[1] |= cached_has_bits;
5338 if (cached_has_bits & 0x00ff0000u) {
5339 if (cached_has_bits & 0x00010000u) {
5340 optimize_with_core_ =
from.optimize_with_core_;
5342 if (cached_has_bits & 0x00020000u) {
5343 randomize_search_ =
from.randomize_search_;
5345 if (cached_has_bits & 0x00040000u) {
5346 use_branching_in_lp_ =
from.use_branching_in_lp_;
5348 if (cached_has_bits & 0x00080000u) {
5349 use_combined_no_overlap_ =
from.use_combined_no_overlap_;
5351 if (cached_has_bits & 0x00100000u) {
5352 polish_lp_solution_ =
from.polish_lp_solution_;
5354 if (cached_has_bits & 0x00200000u) {
5355 probing_period_at_root_ =
from.probing_period_at_root_;
5357 if (cached_has_bits & 0x00400000u) {
5358 absolute_gap_limit_ =
from.absolute_gap_limit_;
5360 if (cached_has_bits & 0x00800000u) {
5361 relative_gap_limit_ =
from.relative_gap_limit_;
5363 _has_bits_[1] |= cached_has_bits;
5365 if (cached_has_bits & 0xff000000u) {
5366 if (cached_has_bits & 0x01000000u) {
5367 cp_model_max_num_presolve_operations_ =
from.cp_model_max_num_presolve_operations_;
5369 if (cached_has_bits & 0x02000000u) {
5370 convert_intervals_ =
from.convert_intervals_;
5372 if (cached_has_bits & 0x04000000u) {
5373 initial_polarity_ =
from.initial_polarity_;
5375 if (cached_has_bits & 0x08000000u) {
5376 minimization_algorithm_ =
from.minimization_algorithm_;
5378 if (cached_has_bits & 0x10000000u) {
5379 clause_cleanup_period_ =
from.clause_cleanup_period_;
5381 if (cached_has_bits & 0x20000000u) {
5382 clause_cleanup_target_ =
from.clause_cleanup_target_;
5384 if (cached_has_bits & 0x40000000u) {
5385 variable_activity_decay_ =
from.variable_activity_decay_;
5387 if (cached_has_bits & 0x80000000u) {
5388 max_variable_activity_value_ =
from.max_variable_activity_value_;
5390 _has_bits_[1] |= cached_has_bits;
5392 cached_has_bits =
from._has_bits_[2];
5393 if (cached_has_bits & 0x000000ffu) {
5394 if (cached_has_bits & 0x00000001u) {
5395 clause_activity_decay_ =
from.clause_activity_decay_;
5397 if (cached_has_bits & 0x00000002u) {
5398 max_clause_activity_value_ =
from.max_clause_activity_value_;
5400 if (cached_has_bits & 0x00000004u) {
5401 glucose_max_decay_ =
from.glucose_max_decay_;
5403 if (cached_has_bits & 0x00000008u) {
5404 glucose_decay_increment_ =
from.glucose_decay_increment_;
5406 if (cached_has_bits & 0x00000010u) {
5407 glucose_decay_increment_period_ =
from.glucose_decay_increment_period_;
5409 if (cached_has_bits & 0x00000020u) {
5410 restart_period_ =
from.restart_period_;
5412 if (cached_has_bits & 0x00000040u) {
5413 random_seed_ =
from.random_seed_;
5415 if (cached_has_bits & 0x00000080u) {
5416 binary_minimization_algorithm_ =
from.binary_minimization_algorithm_;
5418 _has_bits_[2] |= cached_has_bits;
5420 if (cached_has_bits & 0x0000ff00u) {
5421 if (cached_has_bits & 0x00000100u) {
5422 max_time_in_seconds_ =
from.max_time_in_seconds_;
5424 if (cached_has_bits & 0x00000200u) {
5425 max_number_of_conflicts_ =
from.max_number_of_conflicts_;
5427 if (cached_has_bits & 0x00000400u) {
5428 max_memory_in_mb_ =
from.max_memory_in_mb_;
5430 if (cached_has_bits & 0x00000800u) {
5431 use_phase_saving_ =
from.use_phase_saving_;
5433 if (cached_has_bits & 0x00001000u) {
5434 subsumption_during_conflict_analysis_ =
from.subsumption_during_conflict_analysis_;
5436 if (cached_has_bits & 0x00002000u) {
5437 treat_binary_clauses_separately_ =
from.treat_binary_clauses_separately_;
5439 if (cached_has_bits & 0x00004000u) {
5440 count_assumption_levels_in_lbd_ =
from.count_assumption_levels_in_lbd_;
5442 if (cached_has_bits & 0x00008000u) {
5443 pb_cleanup_increment_ =
from.pb_cleanup_increment_;
5445 _has_bits_[2] |= cached_has_bits;
5447 if (cached_has_bits & 0x00ff0000u) {
5448 if (cached_has_bits & 0x00010000u) {
5449 pb_cleanup_ratio_ =
from.pb_cleanup_ratio_;
5451 if (cached_has_bits & 0x00020000u) {
5452 max_sat_stratification_ =
from.max_sat_stratification_;
5454 if (cached_has_bits & 0x00040000u) {
5455 presolve_bve_threshold_ =
from.presolve_bve_threshold_;
5457 if (cached_has_bits & 0x00080000u) {
5458 presolve_probing_deterministic_time_limit_ =
from.presolve_probing_deterministic_time_limit_;
5460 if (cached_has_bits & 0x00100000u) {
5461 presolve_bve_clause_weight_ =
from.presolve_bve_clause_weight_;
5463 if (cached_has_bits & 0x00200000u) {
5464 clause_cleanup_lbd_bound_ =
from.clause_cleanup_lbd_bound_;
5466 if (cached_has_bits & 0x00400000u) {
5467 restart_dl_average_ratio_ =
from.restart_dl_average_ratio_;
5469 if (cached_has_bits & 0x00800000u) {
5470 restart_running_window_size_ =
from.restart_running_window_size_;
5472 _has_bits_[2] |= cached_has_bits;
5474 if (cached_has_bits & 0xff000000u) {
5475 if (cached_has_bits & 0x01000000u) {
5476 use_optimization_hints_ =
from.use_optimization_hints_;
5478 if (cached_has_bits & 0x02000000u) {
5479 minimize_core_ =
from.minimize_core_;
5481 if (cached_has_bits & 0x04000000u) {
5482 find_multiple_cores_ =
from.find_multiple_cores_;
5484 if (cached_has_bits & 0x08000000u) {
5485 cover_optimization_ =
from.cover_optimization_;
5487 if (cached_has_bits & 0x10000000u) {
5488 blocking_restart_multiplier_ =
from.blocking_restart_multiplier_;
5490 if (cached_has_bits & 0x20000000u) {
5491 max_deterministic_time_ =
from.max_deterministic_time_;
5493 if (cached_has_bits & 0x40000000u) {
5494 blocking_restart_window_size_ =
from.blocking_restart_window_size_;
5496 if (cached_has_bits & 0x80000000u) {
5497 presolve_bva_threshold_ =
from.presolve_bva_threshold_;
5499 _has_bits_[2] |= cached_has_bits;
5501 cached_has_bits =
from._has_bits_[3];
5502 if (cached_has_bits & 0x000000ffu) {
5503 if (cached_has_bits & 0x00000001u) {
5504 restart_lbd_average_ratio_ =
from.restart_lbd_average_ratio_;
5506 if (cached_has_bits & 0x00000002u) {
5507 presolve_blocked_clause_ =
from.presolve_blocked_clause_;
5509 if (cached_has_bits & 0x00000004u) {
5510 presolve_use_bva_ =
from.presolve_use_bva_;
5512 if (cached_has_bits & 0x00000008u) {
5513 cp_model_presolve_ =
from.cp_model_presolve_;
5515 if (cached_has_bits & 0x00000010u) {
5516 cp_model_use_sat_presolve_ =
from.cp_model_use_sat_presolve_;
5518 if (cached_has_bits & 0x00000020u) {
5519 linearization_level_ =
from.linearization_level_;
5521 if (cached_has_bits & 0x00000040u) {
5522 max_num_cuts_ =
from.max_num_cuts_;
5524 if (cached_has_bits & 0x00000080u) {
5525 minimize_with_propagation_restart_period_ =
from.minimize_with_propagation_restart_period_;
5527 _has_bits_[3] |= cached_has_bits;
5529 if (cached_has_bits & 0x0000ff00u) {
5530 if (cached_has_bits & 0x00000100u) {
5531 minimize_with_propagation_num_decisions_ =
from.minimize_with_propagation_num_decisions_;
5533 if (cached_has_bits & 0x00000200u) {
5534 use_precedences_in_disjunctive_constraint_ =
from.use_precedences_in_disjunctive_constraint_;
5536 if (cached_has_bits & 0x00000400u) {
5537 use_disjunctive_constraint_in_cumulative_constraint_ =
from.use_disjunctive_constraint_in_cumulative_constraint_;
5539 if (cached_has_bits & 0x00000800u) {
5540 add_cg_cuts_ =
from.add_cg_cuts_;
5542 if (cached_has_bits & 0x00001000u) {
5543 add_mir_cuts_ =
from.add_mir_cuts_;
5545 if (cached_has_bits & 0x00002000u) {
5546 binary_search_num_conflicts_ =
from.binary_search_num_conflicts_;
5548 if (cached_has_bits & 0x00004000u) {
5549 num_search_workers_ =
from.num_search_workers_;
5551 if (cached_has_bits & 0x00008000u) {
5552 boolean_encoding_level_ =
from.boolean_encoding_level_;
5554 _has_bits_[3] |= cached_has_bits;
5556 if (cached_has_bits & 0x00ff0000u) {
5557 if (cached_has_bits & 0x00010000u) {
5558 cp_model_probing_level_ =
from.cp_model_probing_level_;
5560 if (cached_has_bits & 0x00020000u) {
5561 exploit_integer_lp_solution_ =
from.exploit_integer_lp_solution_;
5563 if (cached_has_bits & 0x00040000u) {
5564 exploit_all_lp_solution_ =
from.exploit_all_lp_solution_;
5566 if (cached_has_bits & 0x00080000u) {
5567 exploit_objective_ =
from.exploit_objective_;
5569 if (cached_has_bits & 0x00100000u) {
5570 instantiate_all_variables_ =
from.instantiate_all_variables_;
5572 if (cached_has_bits & 0x00200000u) {
5573 max_integer_rounding_scaling_ =
from.max_integer_rounding_scaling_;
5575 if (cached_has_bits & 0x00400000u) {
5576 min_orthogonality_for_lp_constraints_ =
from.min_orthogonality_for_lp_constraints_;
5578 if (cached_has_bits & 0x00800000u) {
5579 max_consecutive_inactive_count_ =
from.max_consecutive_inactive_count_;
5581 _has_bits_[3] |= cached_has_bits;
5583 if (cached_has_bits & 0xff000000u) {
5584 if (cached_has_bits & 0x01000000u) {
5585 new_constraints_batch_size_ =
from.new_constraints_batch_size_;
5587 if (cached_has_bits & 0x02000000u) {
5588 pseudo_cost_reliability_threshold_ =
from.pseudo_cost_reliability_threshold_;
5590 if (cached_has_bits & 0x04000000u) {
5591 mip_max_bound_ =
from.mip_max_bound_;
5593 if (cached_has_bits & 0x08000000u) {
5594 mip_var_scaling_ =
from.mip_var_scaling_;
5596 if (cached_has_bits & 0x10000000u) {
5597 mip_wanted_precision_ =
from.mip_wanted_precision_;
5599 if (cached_has_bits & 0x20000000u) {
5600 auto_detect_greater_than_at_least_one_of_ =
from.auto_detect_greater_than_at_least_one_of_;
5602 if (cached_has_bits & 0x40000000u) {
5603 share_objective_bounds_ =
from.share_objective_bounds_;
5605 if (cached_has_bits & 0x80000000u) {
5606 share_level_zero_bounds_ =
from.share_level_zero_bounds_;
5608 _has_bits_[3] |= cached_has_bits;
5610 cached_has_bits =
from._has_bits_[4];
5611 if (cached_has_bits & 0x000000ffu) {
5612 if (cached_has_bits & 0x00000001u) {
5613 lns_expand_intervals_in_constraint_graph_ =
from.lns_expand_intervals_in_constraint_graph_;
5615 if (cached_has_bits & 0x00000002u) {
5616 mip_max_activity_exponent_ =
from.mip_max_activity_exponent_;
5618 if (cached_has_bits & 0x00000004u) {
5619 mip_check_precision_ =
from.mip_check_precision_;
5621 if (cached_has_bits & 0x00000008u) {
5622 use_rins_lns_ =
from.use_rins_lns_;
5624 if (cached_has_bits & 0x00000010u) {
5625 use_feasibility_pump_ =
from.use_feasibility_pump_;
5627 if (cached_has_bits & 0x00000020u) {
5628 use_optional_variables_ =
from.use_optional_variables_;
5630 if (cached_has_bits & 0x00000040u) {
5631 use_exact_lp_reason_ =
from.use_exact_lp_reason_;
5633 if (cached_has_bits & 0x00000080u) {
5634 interleave_batch_size_ =
from.interleave_batch_size_;
5636 _has_bits_[4] |= cached_has_bits;
5638 if (cached_has_bits & 0x0000ff00u) {
5639 if (cached_has_bits & 0x00000100u) {
5640 max_presolve_iterations_ =
from.max_presolve_iterations_;
5642 if (cached_has_bits & 0x00000200u) {
5643 presolve_substitution_level_ =
from.presolve_substitution_level_;
5645 if (cached_has_bits & 0x00000400u) {
5646 merge_no_overlap_work_limit_ =
from.merge_no_overlap_work_limit_;
5648 if (cached_has_bits & 0x00000800u) {
5649 merge_at_most_one_work_limit_ =
from.merge_at_most_one_work_limit_;
5651 if (cached_has_bits & 0x00001000u) {
5652 max_all_diff_cut_size_ =
from.max_all_diff_cut_size_;
5654 if (cached_has_bits & 0x00002000u) {
5655 catch_sigint_signal_ =
from.catch_sigint_signal_;
5657 if (cached_has_bits & 0x00004000u) {
5658 use_implied_bounds_ =
from.use_implied_bounds_;
5660 if (cached_has_bits & 0x00008000u) {
5661 mip_automatically_scale_variables_ =
from.mip_automatically_scale_variables_;
5663 _has_bits_[4] |= cached_has_bits;
5665 if (cached_has_bits & 0x00ff0000u) {
5666 if (cached_has_bits & 0x00010000u) {
5667 add_zero_half_cuts_ =
from.add_zero_half_cuts_;
5669 if (cached_has_bits & 0x00020000u) {
5670 add_clique_cuts_ =
from.add_clique_cuts_;
5672 if (cached_has_bits & 0x00040000u) {
5673 add_lin_max_cuts_ =
from.add_lin_max_cuts_;
5675 if (cached_has_bits & 0x00080000u) {
5676 add_lp_constraints_lazily_ =
from.add_lp_constraints_lazily_;
5678 if (cached_has_bits & 0x00100000u) {
5679 hint_conflict_limit_ =
from.hint_conflict_limit_;
5681 if (cached_has_bits & 0x00200000u) {
5682 cut_max_active_count_value_ =
from.cut_max_active_count_value_;
5684 if (cached_has_bits & 0x00400000u) {
5685 max_cut_rounds_at_level_zero_ =
from.max_cut_rounds_at_level_zero_;
5687 if (cached_has_bits & 0x00800000u) {
5688 expand_element_constraints_ =
from.expand_element_constraints_;
5690 _has_bits_[4] |= cached_has_bits;
5692 if (cached_has_bits & 0xff000000u) {
5693 if (cached_has_bits & 0x01000000u) {
5694 expand_automaton_constraints_ =
from.expand_automaton_constraints_;
5696 if (cached_has_bits & 0x02000000u) {
5697 expand_table_constraints_ =
from.expand_table_constraints_;
5699 if (cached_has_bits & 0x04000000u) {
5700 expand_reservoir_constraints_ =
from.expand_reservoir_constraints_;
5702 if (cached_has_bits & 0x08000000u) {
5703 cut_active_count_decay_ =
from.cut_active_count_decay_;
5705 if (cached_has_bits & 0x10000000u) {
5706 cut_cleanup_target_ =
from.cut_cleanup_target_;
5708 if (cached_has_bits & 0x20000000u) {
5709 fp_rounding_ =
from.fp_rounding_;
5711 if (cached_has_bits & 0x40000000u) {
5712 polarity_rephase_increment_ =
from.polarity_rephase_increment_;
5714 if (cached_has_bits & 0x80000000u) {
5715 symmetry_level_ =
from.symmetry_level_;
5717 _has_bits_[4] |= cached_has_bits;
5721 void SatParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message&
from) {
5723 if (&
from ==
this)
return;
5728 void SatParameters::CopyFrom(
const SatParameters&
from) {
5730 if (&
from ==
this)
return;
5735 bool SatParameters::IsInitialized()
const {
5739 void SatParameters::InternalSwap(SatParameters* other) {
5741 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5742 swap(_has_bits_[0], other->_has_bits_[0]);
5743 swap(_has_bits_[1], other->_has_bits_[1]);
5744 swap(_has_bits_[2], other->_has_bits_[2]);
5745 swap(_has_bits_[3], other->_has_bits_[3]);
5746 swap(_has_bits_[4], other->_has_bits_[4]);
5747 restart_algorithms_.InternalSwap(&other->restart_algorithms_);
5748 default_restart_algorithms_.Swap(&other->default_restart_algorithms_,
nullptr, GetArena());
5749 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5750 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
5751 PROTOBUF_FIELD_OFFSET(SatParameters, convert_intervals_)
5752 +
sizeof(SatParameters::convert_intervals_)
5753 - PROTOBUF_FIELD_OFFSET(SatParameters, preferred_variable_order_)>(
5754 reinterpret_cast<char*
>(&preferred_variable_order_),
5755 reinterpret_cast<char*
>(&other->preferred_variable_order_));
5756 swap(initial_polarity_, other->initial_polarity_);
5757 swap(minimization_algorithm_, other->minimization_algorithm_);
5758 swap(clause_cleanup_period_, other->clause_cleanup_period_);
5759 swap(clause_cleanup_target_, other->clause_cleanup_target_);
5760 swap(variable_activity_decay_, other->variable_activity_decay_);
5761 swap(max_variable_activity_value_, other->max_variable_activity_value_);
5762 swap(clause_activity_decay_, other->clause_activity_decay_);
5763 swap(max_clause_activity_value_, other->max_clause_activity_value_);
5764 swap(glucose_max_decay_, other->glucose_max_decay_);
5765 swap(glucose_decay_increment_, other->glucose_decay_increment_);
5766 swap(glucose_decay_increment_period_, other->glucose_decay_increment_period_);
5767 swap(restart_period_, other->restart_period_);
5768 swap(random_seed_, other->random_seed_);
5769 swap(binary_minimization_algorithm_, other->binary_minimization_algorithm_);
5770 swap(max_time_in_seconds_, other->max_time_in_seconds_);
5771 swap(max_number_of_conflicts_, other->max_number_of_conflicts_);
5772 swap(max_memory_in_mb_, other->max_memory_in_mb_);
5773 swap(use_phase_saving_, other->use_phase_saving_);
5774 swap(subsumption_during_conflict_analysis_, other->subsumption_during_conflict_analysis_);
5775 swap(treat_binary_clauses_separately_, other->treat_binary_clauses_separately_);
5776 swap(count_assumption_levels_in_lbd_, other->count_assumption_levels_in_lbd_);
5777 swap(pb_cleanup_increment_, other->pb_cleanup_increment_);
5778 swap(pb_cleanup_ratio_, other->pb_cleanup_ratio_);
5779 swap(max_sat_stratification_, other->max_sat_stratification_);
5780 swap(presolve_bve_threshold_, other->presolve_bve_threshold_);
5781 swap(presolve_probing_deterministic_time_limit_, other->presolve_probing_deterministic_time_limit_);
5782 swap(presolve_bve_clause_weight_, other->presolve_bve_clause_weight_);
5783 swap(clause_cleanup_lbd_bound_, other->clause_cleanup_lbd_bound_);
5784 swap(restart_dl_average_ratio_, other->restart_dl_average_ratio_);
5785 swap(restart_running_window_size_, other->restart_running_window_size_);
5786 swap(use_optimization_hints_, other->use_optimization_hints_);
5787 swap(minimize_core_, other->minimize_core_);
5788 swap(find_multiple_cores_, other->find_multiple_cores_);
5789 swap(cover_optimization_, other->cover_optimization_);
5790 swap(blocking_restart_multiplier_, other->blocking_restart_multiplier_);
5791 swap(max_deterministic_time_, other->max_deterministic_time_);
5792 swap(blocking_restart_window_size_, other->blocking_restart_window_size_);
5793 swap(presolve_bva_threshold_, other->presolve_bva_threshold_);
5794 swap(restart_lbd_average_ratio_, other->restart_lbd_average_ratio_);
5795 swap(presolve_blocked_clause_, other->presolve_blocked_clause_);
5796 swap(presolve_use_bva_, other->presolve_use_bva_);
5797 swap(cp_model_presolve_, other->cp_model_presolve_);
5798 swap(cp_model_use_sat_presolve_, other->cp_model_use_sat_presolve_);
5799 swap(linearization_level_, other->linearization_level_);
5800 swap(max_num_cuts_, other->max_num_cuts_);
5801 swap(minimize_with_propagation_restart_period_, other->minimize_with_propagation_restart_period_);
5802 swap(minimize_with_propagation_num_decisions_, other->minimize_with_propagation_num_decisions_);
5803 swap(use_precedences_in_disjunctive_constraint_, other->use_precedences_in_disjunctive_constraint_);
5804 swap(use_disjunctive_constraint_in_cumulative_constraint_, other->use_disjunctive_constraint_in_cumulative_constraint_);
5805 swap(add_cg_cuts_, other->add_cg_cuts_);
5806 swap(add_mir_cuts_, other->add_mir_cuts_);
5807 swap(binary_search_num_conflicts_, other->binary_search_num_conflicts_);
5808 swap(num_search_workers_, other->num_search_workers_);
5809 swap(boolean_encoding_level_, other->boolean_encoding_level_);
5810 swap(cp_model_probing_level_, other->cp_model_probing_level_);
5811 swap(exploit_integer_lp_solution_, other->exploit_integer_lp_solution_);
5812 swap(exploit_all_lp_solution_, other->exploit_all_lp_solution_);
5813 swap(exploit_objective_, other->exploit_objective_);
5814 swap(instantiate_all_variables_, other->instantiate_all_variables_);
5815 swap(max_integer_rounding_scaling_, other->max_integer_rounding_scaling_);
5816 swap(min_orthogonality_for_lp_constraints_, other->min_orthogonality_for_lp_constraints_);
5817 swap(max_consecutive_inactive_count_, other->max_consecutive_inactive_count_);
5818 swap(new_constraints_batch_size_, other->new_constraints_batch_size_);
5819 swap(pseudo_cost_reliability_threshold_, other->pseudo_cost_reliability_threshold_);
5820 swap(mip_max_bound_, other->mip_max_bound_);
5821 swap(mip_var_scaling_, other->mip_var_scaling_);
5822 swap(mip_wanted_precision_, other->mip_wanted_precision_);
5823 swap(auto_detect_greater_than_at_least_one_of_, other->auto_detect_greater_than_at_least_one_of_);
5824 swap(share_objective_bounds_, other->share_objective_bounds_);
5825 swap(share_level_zero_bounds_, other->share_level_zero_bounds_);
5826 swap(lns_expand_intervals_in_constraint_graph_, other->lns_expand_intervals_in_constraint_graph_);
5827 swap(mip_max_activity_exponent_, other->mip_max_activity_exponent_);
5828 swap(mip_check_precision_, other->mip_check_precision_);
5829 swap(use_rins_lns_, other->use_rins_lns_);
5830 swap(use_feasibility_pump_, other->use_feasibility_pump_);
5831 swap(use_optional_variables_, other->use_optional_variables_);
5832 swap(use_exact_lp_reason_, other->use_exact_lp_reason_);
5833 swap(interleave_batch_size_, other->interleave_batch_size_);
5834 swap(max_presolve_iterations_, other->max_presolve_iterations_);
5835 swap(presolve_substitution_level_, other->presolve_substitution_level_);
5836 swap(merge_no_overlap_work_limit_, other->merge_no_overlap_work_limit_);
5837 swap(merge_at_most_one_work_limit_, other->merge_at_most_one_work_limit_);
5838 swap(max_all_diff_cut_size_, other->max_all_diff_cut_size_);
5839 swap(catch_sigint_signal_, other->catch_sigint_signal_);
5840 swap(use_implied_bounds_, other->use_implied_bounds_);
5841 swap(mip_automatically_scale_variables_, other->mip_automatically_scale_variables_);
5842 swap(add_zero_half_cuts_, other->add_zero_half_cuts_);
5843 swap(add_clique_cuts_, other->add_clique_cuts_);
5844 swap(add_lin_max_cuts_, other->add_lin_max_cuts_);
5845 swap(add_lp_constraints_lazily_, other->add_lp_constraints_lazily_);
5846 swap(hint_conflict_limit_, other->hint_conflict_limit_);
5847 swap(cut_max_active_count_value_, other->cut_max_active_count_value_);
5848 swap(max_cut_rounds_at_level_zero_, other->max_cut_rounds_at_level_zero_);
5849 swap(expand_element_constraints_, other->expand_element_constraints_);
5850 swap(expand_automaton_constraints_, other->expand_automaton_constraints_);
5851 swap(expand_table_constraints_, other->expand_table_constraints_);
5852 swap(expand_reservoir_constraints_, other->expand_reservoir_constraints_);
5853 swap(cut_active_count_decay_, other->cut_active_count_decay_);
5854 swap(cut_cleanup_target_, other->cut_cleanup_target_);
5855 swap(fp_rounding_, other->fp_rounding_);
5856 swap(polarity_rephase_increment_, other->polarity_rephase_increment_);
5857 swap(symmetry_level_, other->symmetry_level_);
5860 ::PROTOBUF_NAMESPACE_ID::Metadata SatParameters::GetMetadata()
const {
5861 return GetMetadataStatic();
5868 PROTOBUF_NAMESPACE_OPEN
5870 return Arena::CreateMessageInternal< ::operations_research::sat::SatParameters >(arena);
5872 PROTOBUF_NAMESPACE_CLOSE
5875 #include <google/protobuf/port_undef.inc>
static void set_has_expand_element_constraints(HasBits *has_bits)
static void set_has_max_all_diff_cut_size(HasBits *has_bits)
static void set_has_only_add_cuts_at_level_zero(HasBits *has_bits)
static void set_has_expand_automaton_constraints(HasBits *has_bits)
static void set_has_log_search_progress(HasBits *has_bits)
static void set_has_exploit_objective(HasBits *has_bits)
static void set_has_exploit_best_solution(HasBits *has_bits)
static void set_has_also_bump_variables_in_conflict_reasons(HasBits *has_bits)
static void set_has_restart_lbd_average_ratio(HasBits *has_bits)
static void set_has_random_polarity_ratio(HasBits *has_bits)
static void set_has_polarity_rephase_increment(HasBits *has_bits)
static void set_has_stop_after_presolve(HasBits *has_bits)
static void set_has_use_feasibility_pump(HasBits *has_bits)
static void set_has_exploit_relaxation_solution(HasBits *has_bits)
static void set_has_clause_activity_decay(HasBits *has_bits)
decltype(std::declval< SatParameters >()._has_bits_) HasBits
static void set_has_max_cut_rounds_at_level_zero(HasBits *has_bits)
static void set_has_preferred_variable_order(HasBits *has_bits)
static void set_has_use_disjunctive_constraint_in_cumulative_constraint(HasBits *has_bits)
static void set_has_disable_constraint_expansion(HasBits *has_bits)
static void set_has_mip_wanted_precision(HasBits *has_bits)
static void set_has_cover_optimization(HasBits *has_bits)
static void set_has_max_sat_stratification(HasBits *has_bits)
static void set_has_max_time_in_seconds(HasBits *has_bits)
static void set_has_expand_reservoir_constraints(HasBits *has_bits)
static void set_has_glucose_decay_increment_period(HasBits *has_bits)
static void set_has_default_restart_algorithms(HasBits *has_bits)
static void set_has_cut_active_count_decay(HasBits *has_bits)
static void set_has_max_sat_reverse_assumption_order(HasBits *has_bits)
static void set_has_use_phase_saving(HasBits *has_bits)
static void set_has_num_conflicts_before_strategy_changes(HasBits *has_bits)
static void set_has_interleave_batch_size(HasBits *has_bits)
static void set_has_max_sat_assumption_order(HasBits *has_bits)
static void set_has_max_deterministic_time(HasBits *has_bits)
static void set_has_max_clause_activity_value(HasBits *has_bits)
static void set_has_presolve_bve_clause_weight(HasBits *has_bits)
static void set_has_new_constraints_batch_size(HasBits *has_bits)
static void set_has_clause_cleanup_target(HasBits *has_bits)
static void set_has_use_lns_only(HasBits *has_bits)
static void set_has_use_precedences_in_disjunctive_constraint(HasBits *has_bits)
static void set_has_subsumption_during_conflict_analysis(HasBits *has_bits)
static void set_has_mip_var_scaling(HasBits *has_bits)
static void set_has_add_mir_cuts(HasBits *has_bits)
static void set_has_diversify_lns_params(HasBits *has_bits)
static void set_has_probing_period_at_root(HasBits *has_bits)
static void set_has_minimize_with_propagation_restart_period(HasBits *has_bits)
static void set_has_use_combined_no_overlap(HasBits *has_bits)
static void set_has_clause_cleanup_protection(HasBits *has_bits)
static void set_has_max_consecutive_inactive_count(HasBits *has_bits)
static void set_has_cp_model_presolve(HasBits *has_bits)
static void set_has_cp_model_probing_level(HasBits *has_bits)
static void set_has_permute_presolve_constraint_order(HasBits *has_bits)
static void set_has_catch_sigint_signal(HasBits *has_bits)
static void set_has_restart_period(HasBits *has_bits)
static void set_has_use_rins_lns(HasBits *has_bits)
static void set_has_lns_focus_on_decision_variables(HasBits *has_bits)
static void set_has_auto_detect_greater_than_at_least_one_of(HasBits *has_bits)
static void set_has_mip_max_activity_exponent(HasBits *has_bits)
static void set_has_merge_no_overlap_work_limit(HasBits *has_bits)
static void set_has_expand_alldiff_constraints(HasBits *has_bits)
static void set_has_convert_intervals(HasBits *has_bits)
static void set_has_polish_lp_solution(HasBits *has_bits)
static void set_has_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...
PyObject * from(const Type &val)
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)