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>
18PROTOBUF_PRAGMA_INIT_SEG
22 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
23 : restart_algorithms_()
24 , default_restart_algorithms_(nullptr)
25 , name_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
26 , log_prefix_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
27 , preferred_variable_order_(0)
29 , clause_cleanup_target_(0)
30 , random_branches_ratio_(0)
31 , random_polarity_ratio_(0)
32 , max_sat_assumption_order_(0)
34 , clause_cleanup_protection_(0)
36 , clause_cleanup_ordering_(0)
38 , num_conflicts_before_strategy_changes_(0)
39 , strategy_change_increase_ratio_(0)
40 , initial_variables_activity_(0)
41 , search_branching_(0)
43 , use_erwa_heuristic_(false)
44 , also_bump_variables_in_conflict_reasons_(false)
45 , use_blocking_restart_(false)
46 , permute_variable_randomly_(false)
47 , num_search_workers_(0)
48 , max_sat_reverse_assumption_order_(false)
49 , use_overload_checker_in_cumulative_constraint_(false)
50 , use_timetable_edge_finding_in_cumulative_constraint_(false)
51 , use_cumulative_in_no_overlap_2d_(false)
52 , search_randomization_tolerance_(int64_t{0})
53 , use_pb_resolution_(false)
54 , minimize_reduction_during_pb_resolution_(false)
55 , use_sat_inprocessing_(false)
56 , expand_alldiff_constraints_(false)
57 , diversify_lns_params_(false)
58 , randomize_search_(false)
59 , use_branching_in_lp_(false)
60 , use_combined_no_overlap_(false)
61 , interleave_search_(false)
62 , reduce_memory_usage_in_interleave_mode_(false)
63 , use_lns_only_(false)
64 , use_relaxation_lns_(false)
65 , optimize_with_lb_tree_search_(false)
66 , optimize_with_max_hs_(false)
67 , enumerate_all_solutions_(false)
68 , keep_all_feasible_solutions_in_presolve_(false)
69 , exploit_best_solution_(false)
70 , exploit_relaxation_solution_(false)
71 , use_probing_search_(false)
72 , optimize_with_core_(false)
73 , fill_tightened_domains_in_response_(false)
74 , fill_additional_solutions_in_response_(false)
75 , stop_after_first_solution_(false)
76 , stop_after_presolve_(false)
77 , probing_period_at_root_(int64_t{0})
78 , permute_presolve_constraint_order_(false)
79 , use_absl_random_(false)
80 , log_search_progress_(false)
81 , log_to_response_(false)
82 , debug_max_num_presolve_operations_(0)
83 , relative_gap_limit_(0)
84 , only_add_cuts_at_level_zero_(false)
85 , add_objective_cut_(false)
87 , fix_variables_to_their_hinted_value_(false)
88 , polish_lp_solution_(false)
89 , disable_constraint_expansion_(false)
90 , presolve_extract_integer_enforcement_(false)
91 , debug_postsolve_with_full_solver_(false)
92 , debug_crash_on_bad_hint_(false)
94 , initial_polarity_(1)
96 , minimization_algorithm_(2)
98 , variable_activity_decay_(0.8)
99 , max_variable_activity_value_(1e+100)
100 , clause_activity_decay_(0.999)
101 , clause_cleanup_period_(10000)
102 , glucose_decay_increment_period_(5000)
103 , max_clause_activity_value_(1e+20)
104 , glucose_max_decay_(0.95)
105 , glucose_decay_increment_(0.01)
106 , restart_period_(50)
108 , max_time_in_seconds_(
std::numeric_limits<double>::infinity())
109 , max_number_of_conflicts_(int64_t{9223372036854775807})
110 , max_memory_in_mb_(int64_t{10000})
111 , binary_minimization_algorithm_(1)
113 , pb_cleanup_increment_(200)
114 , pb_cleanup_ratio_(0.5)
115 , max_sat_stratification_(1)
117 , presolve_bve_threshold_(500)
118 , presolve_probing_deterministic_time_limit_(30)
119 , presolve_bve_clause_weight_(3)
120 , clause_cleanup_lbd_bound_(5)
121 , restart_dl_average_ratio_(1)
122 , restart_running_window_size_(50)
123 , blocking_restart_window_size_(5000)
124 , blocking_restart_multiplier_(1.4)
125 , max_deterministic_time_(
std::numeric_limits<double>::infinity())
126 , cp_model_presolve_(true)
127 , cp_model_use_sat_presolve_(true)
128 , use_optimization_hints_(true)
129 , minimize_core_(true)
130 , presolve_bva_threshold_(1)
131 , restart_lbd_average_ratio_(1)
132 , use_phase_saving_(true)
133 , subsumption_during_conflict_analysis_(true)
134 , treat_binary_clauses_separately_(true)
135 , log_subsolver_statistics_(true)
136 , find_multiple_cores_(true)
137 , cover_optimization_(true)
138 , use_precedences_in_disjunctive_constraint_(true)
139 , use_disjunctive_constraint_in_cumulative_constraint_(true)
140 , linearization_level_(1)
141 , max_num_cuts_(10000)
142 , minimize_with_propagation_restart_period_(10)
143 , minimize_with_propagation_num_decisions_(1000)
144 , log_to_stdout_(true)
145 , count_assumption_levels_in_lbd_(true)
146 , presolve_blocked_clause_(true)
147 , presolve_use_bva_(true)
148 , binary_search_num_conflicts_(-1)
149 , boolean_encoding_level_(1)
150 , cp_model_probing_level_(2)
151 , exploit_objective_(true)
152 , instantiate_all_variables_(true)
153 , auto_detect_greater_than_at_least_one_of_(true)
154 , share_objective_bounds_(true)
155 , add_lin_max_cuts_(true)
156 , add_lp_constraints_lazily_(true)
157 , exploit_integer_lp_solution_(true)
158 , exploit_all_lp_solution_(true)
159 , min_orthogonality_for_lp_constraints_(0.05)
160 , max_integer_rounding_scaling_(600)
161 , max_consecutive_inactive_count_(100)
162 , pseudo_cost_reliability_threshold_(int64_t{100})
163 , mip_max_bound_(10000000)
164 , new_constraints_batch_size_(50)
165 , mip_max_activity_exponent_(53)
166 , mip_var_scaling_(1)
167 , mip_wanted_precision_(1e-06)
168 , mip_check_precision_(0.0001)
169 , share_level_zero_bounds_(true)
170 , use_rins_lns_(true)
171 , use_feasibility_pump_(true)
172 , use_optional_variables_(true)
173 , interleave_batch_size_(1)
174 , max_presolve_iterations_(3)
175 , use_exact_lp_reason_(true)
176 , catch_sigint_signal_(true)
177 , use_implied_bounds_(true)
178 , convert_intervals_(true)
179 , merge_no_overlap_work_limit_(1000000000000)
181 , add_mir_cuts_(true)
182 , add_zero_half_cuts_(true)
183 , add_clique_cuts_(true)
184 , presolve_substitution_level_(1)
185 , merge_at_most_one_work_limit_(100000000)
186 , max_all_diff_cut_size_(7)
187 , hint_conflict_limit_(10)
188 , cut_max_active_count_value_(10000000000)
189 , max_cut_rounds_at_level_zero_(1)
190 , cut_cleanup_target_(1000)
191 , cut_active_count_decay_(0.8)
192 , absolute_gap_limit_(0.0001)
195 , polarity_rephase_increment_(1000)
196 , mip_automatically_scale_variables_(true)
197 , mip_compute_true_objective_bound_(true)
199 , clause_cleanup_ratio_(0.5)
200 , max_domain_size_when_encoding_eq_neq_constraints_(16)
201 , solution_pool_size_(3)
202 , mip_max_valid_magnitude_(1e+30){}
574const char descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
575 "\n ortools/sat/sat_parameters.proto\022\027oper"
576 "ations_research.sat\"\353E\n\rSatParameters\022\017\n"
577 "\004name\030\253\001 \001(\t:\000\022`\n\030preferred_variable_ord"
578 "er\030\001 \001(\01624.operations_research.sat.SatPa"
579 "rameters.VariableOrder:\010IN_ORDER\022Y\n\020init"
580 "ial_polarity\030\002 \001(\0162/.operations_research"
581 ".sat.SatParameters.Polarity:\016POLARITY_FA"
582 "LSE\022\036\n\020use_phase_saving\030, \001(\010:\004true\022)\n\032p"
583 "olarity_rephase_increment\030\250\001 \001(\005:\0041000\022 "
584 "\n\025random_polarity_ratio\030- \001(\001:\0010\022 \n\025rand"
585 "om_branches_ratio\030 \001(\001:\0010\022!\n\022use_erwa_h"
586 "euristic\030K \001(\010:\005false\022%\n\032initial_variabl"
587 "es_activity\030L \001(\001:\0010\0226\n\'also_bump_variab"
588 "les_in_conflict_reasons\030M \001(\010:\005false\022o\n\026"
589 "minimization_algorithm\030\004 \001(\0162D.operation"
590 "s_research.sat.SatParameters.ConflictMin"
591 "imizationAlgorithm:\tRECURSIVE\022\202\001\n\035binary"
592 "_minimization_algorithm\030\" \001(\0162@.operatio"
593 "ns_research.sat.SatParameters.BinaryMini"
594 "zationAlgorithm:\031BINARY_MINIMIZATION_FIR"
595 "ST\0222\n$subsumption_during_conflict_analys"
596 "is\0308 \001(\010:\004true\022$\n\025clause_cleanup_period\030"
597 "\013 \001(\005:\00510000\022 \n\025clause_cleanup_target\030\r "
598 "\001(\005:\0010\022\"\n\024clause_cleanup_ratio\030\276\001 \001(\001:\0030"
599 ".5\022k\n\031clause_cleanup_protection\030: \001(\01627."
600 "operations_research.sat.SatParameters.Cl"
601 "auseProtection:\017PROTECTION_NONE\022#\n\030claus"
602 "e_cleanup_lbd_bound\030; \001(\005:\0015\022g\n\027clause_c"
603 "leanup_ordering\030< \001(\01625.operations_resea"
604 "rch.sat.SatParameters.ClauseOrdering:\017CL"
605 "AUSE_ACTIVITY\022!\n\024pb_cleanup_increment\030. "
606 "\001(\005:\003200\022\035\n\020pb_cleanup_ratio\030/ \001(\001:\0030.5\022"
607 "4\n(minimize_with_propagation_restart_per"
608 "iod\030` \001(\005:\00210\0225\n\'minimize_with_propagati"
609 "on_num_decisions\030a \001(\005:\0041000\022$\n\027variable"
610 "_activity_decay\030\017 \001(\001:\0030.8\022+\n\033max_variab"
611 "le_activity_value\030\020 \001(\001:\0061e+100\022\037\n\021gluco"
612 "se_max_decay\030\026 \001(\001:\0040.95\022%\n\027glucose_deca"
613 "y_increment\030\027 \001(\001:\0040.01\022,\n\036glucose_decay"
614 "_increment_period\030\030 \001(\005:\0045000\022$\n\025clause_"
615 "activity_decay\030\021 \001(\001:\0050.999\022(\n\031max_claus"
616 "e_activity_value\030\022 \001(\001:\0051e+20\022S\n\022restart"
617 "_algorithms\030= \003(\01627.operations_research."
618 "sat.SatParameters.RestartAlgorithm\022e\n\032de"
619 "fault_restart_algorithms\030F \001(\t:ALUBY_RES"
620 "TART,LBD_MOVING_AVERAGE_RESTART,DL_MOVIN"
621 "G_AVERAGE_RESTART\022\032\n\016restart_period\030\036 \001("
622 "\005:\00250\022\'\n\033restart_running_window_size\030> \001"
623 "(\005:\00250\022#\n\030restart_dl_average_ratio\030\? \001(\001"
624 ":\0011\022$\n\031restart_lbd_average_ratio\030G \001(\001:\001"
625 "1\022#\n\024use_blocking_restart\030@ \001(\010:\005false\022*"
626 "\n\034blocking_restart_window_size\030A \001(\005:\00450"
627 "00\022(\n\033blocking_restart_multiplier\030B \001(\001:"
628 "\0031.4\0220\n%num_conflicts_before_strategy_ch"
629 "anges\030D \001(\005:\0010\022)\n\036strategy_change_increa"
630 "se_ratio\030E \001(\001:\0010\022 \n\023max_time_in_seconds"
631 "\030$ \001(\001:\003inf\022#\n\026max_deterministic_time\030C "
632 "\001(\001:\003inf\0224\n\027max_number_of_conflicts\030% \001("
633 "\003:\0239223372036854775807\022\037\n\020max_memory_in_"
634 "mb\030( \001(\003:\00510000\022#\n\022absolute_gap_limit\030\237\001"
635 " \001(\001:\0060.0001\022\036\n\022relative_gap_limit\030\240\001 \001("
636 "\001:\0010\022-\n\037treat_binary_clauses_separately\030"
637 "! \001(\010:\004true\022\026\n\013random_seed\030\037 \001(\005:\0011\022)\n\031p"
638 "ermute_variable_randomly\030\262\001 \001(\010:\005false\0221"
639 "\n!permute_presolve_constraint_order\030\263\001 \001"
640 "(\010:\005false\022\037\n\017use_absl_random\030\264\001 \001(\010:\005fal"
641 "se\022\"\n\023log_search_progress\030) \001(\010:\005false\022\'"
642 "\n\030log_subsolver_statistics\030\275\001 \001(\010:\004true\022"
643 "\025\n\nlog_prefix\030\271\001 \001(\t:\000\022\034\n\rlog_to_stdout\030"
644 "\272\001 \001(\010:\004true\022\037\n\017log_to_response\030\273\001 \001(\010:\005"
645 "false\022 \n\021use_pb_resolution\030+ \001(\010:\005false\022"
646 "6\n\'minimize_reduction_during_pb_resoluti"
647 "on\0300 \001(\010:\005false\022,\n\036count_assumption_leve"
648 "ls_in_lbd\0301 \001(\010:\004true\022#\n\026presolve_bve_th"
649 "reshold\0306 \001(\005:\003500\022%\n\032presolve_bve_claus"
650 "e_weight\0307 \001(\005:\0013\0225\n)presolve_probing_de"
651 "terministic_time_limit\0309 \001(\001:\00230\022%\n\027pres"
652 "olve_blocked_clause\030X \001(\010:\004true\022\036\n\020preso"
653 "lve_use_bva\030H \001(\010:\004true\022!\n\026presolve_bva_"
654 "threshold\030I \001(\005:\0011\022#\n\027max_presolve_itera"
655 "tions\030\212\001 \001(\005:\0013\022\037\n\021cp_model_presolve\030V \001"
656 "(\010:\004true\022!\n\026cp_model_probing_level\030n \001(\005"
657 ":\0012\022\'\n\031cp_model_use_sat_presolve\030] \001(\010:\004"
658 "true\022$\n\024use_sat_inprocessing\030\243\001 \001(\010:\005fal"
659 "se\022*\n\032expand_alldiff_constraints\030\252\001 \001(\010:"
660 "\005false\022,\n\034disable_constraint_expansion\030\265"
661 "\001 \001(\010:\005false\0223\n\033merge_no_overlap_work_li"
662 "mit\030\221\001 \001(\001:\r1000000000000\0220\n\034merge_at_mo"
663 "st_one_work_limit\030\222\001 \001(\001:\t100000000\022\'\n\033p"
664 "resolve_substitution_level\030\223\001 \001(\005:\0011\0224\n$"
665 "presolve_extract_integer_enforcement\030\256\001 "
666 "\001(\010:\005false\0220\n debug_postsolve_with_full_"
667 "solver\030\242\001 \001(\010:\005false\022-\n!debug_max_num_pr"
668 "esolve_operations\030\227\001 \001(\005:\0010\022\'\n\027debug_cra"
669 "sh_on_bad_hint\030\303\001 \001(\010:\005false\022$\n\026use_opti"
670 "mization_hints\030# \001(\010:\004true\022\033\n\rminimize_c"
671 "ore\0302 \001(\010:\004true\022!\n\023find_multiple_cores\030T"
672 " \001(\010:\004true\022 \n\022cover_optimization\030Y \001(\010:\004"
673 "true\022x\n\030max_sat_assumption_order\0303 \001(\0162<"
674 ".operations_research.sat.SatParameters.M"
675 "axSatAssumptionOrder:\030DEFAULT_ASSUMPTION"
676 "_ORDER\022/\n max_sat_reverse_assumption_ord"
677 "er\0304 \001(\010:\005false\022|\n\026max_sat_stratificatio"
678 "n\0305 \001(\0162D.operations_research.sat.SatPar"
679 "ameters.MaxSatStratificationAlgorithm:\026S"
680 "TRATIFICATION_DESCENT\0227\n)use_precedences"
681 "_in_disjunctive_constraint\030J \001(\010:\004true\022<"
682 "\n-use_overload_checker_in_cumulative_con"
683 "straint\030N \001(\010:\005false\022B\n3use_timetable_ed"
684 "ge_finding_in_cumulative_constraint\030O \001("
685 "\010:\005false\022A\n3use_disjunctive_constraint_i"
686 "n_cumulative_constraint\030P \001(\010:\004true\022/\n\037u"
687 "se_cumulative_in_no_overlap_2d\030\310\001 \001(\010:\005f"
688 "alse\022\036\n\023linearization_level\030Z \001(\005:\0011\022!\n\026"
689 "boolean_encoding_level\030k \001(\005:\0011\022=\n0max_d"
690 "omain_size_when_encoding_eq_neq_constrai"
691 "nts\030\277\001 \001(\005:\00216\022\033\n\014max_num_cuts\030[ \001(\005:\00510"
692 "000\022\025\n\tcut_level\030\304\001 \001(\005:\0011\022*\n\033only_add_c"
693 "uts_at_level_zero\030\\ \001(\010:\005false\022!\n\021add_ob"
694 "jective_cut\030\305\001 \001(\010:\005false\022\031\n\013add_cg_cuts"
695 "\030u \001(\010:\004true\022\032\n\014add_mir_cuts\030x \001(\010:\004true"
696 "\022!\n\022add_zero_half_cuts\030\251\001 \001(\010:\004true\022\036\n\017a"
697 "dd_clique_cuts\030\254\001 \001(\010:\004true\022!\n\025max_all_d"
698 "iff_cut_size\030\224\001 \001(\005:\0017\022\037\n\020add_lin_max_cu"
699 "ts\030\230\001 \001(\010:\004true\022)\n\034max_integer_rounding_"
700 "scaling\030w \001(\005:\003600\022\'\n\031add_lp_constraints"
701 "_lazily\030p \001(\010:\004true\0222\n$min_orthogonality"
702 "_for_lp_constraints\030s \001(\001:\0040.05\022(\n\034max_c"
703 "ut_rounds_at_level_zero\030\232\001 \001(\005:\0011\022+\n\036max"
704 "_consecutive_inactive_count\030y \001(\005:\003100\0220"
705 "\n\032cut_max_active_count_value\030\233\001 \001(\001:\013100"
706 "00000000\022$\n\026cut_active_count_decay\030\234\001 \001("
707 "\001:\0030.8\022!\n\022cut_cleanup_target\030\235\001 \001(\005:\004100"
708 "0\022&\n\032new_constraints_batch_size\030z \001(\005:\0025"
709 "0\022b\n\020search_branching\030R \001(\01626.operations"
710 "_research.sat.SatParameters.SearchBranch"
711 "ing:\020AUTOMATIC_SEARCH\022 \n\023hint_conflict_l"
712 "imit\030\231\001 \001(\005:\00210\022\033\n\013repair_hint\030\247\001 \001(\010:\005f"
713 "alse\0223\n#fix_variables_to_their_hinted_va"
714 "lue\030\300\001 \001(\010:\005false\022)\n\033exploit_integer_lp_"
715 "solution\030^ \001(\010:\004true\022%\n\027exploit_all_lp_s"
716 "olution\030t \001(\010:\004true\022%\n\025exploit_best_solu"
717 "tion\030\202\001 \001(\010:\005false\022+\n\033exploit_relaxation"
718 "_solution\030\241\001 \001(\010:\005false\022 \n\021exploit_objec"
719 "tive\030\203\001 \001(\010:\004true\022\"\n\026probing_period_at_r"
720 "oot\030\216\001 \001(\003:\0010\022\"\n\022use_probing_search\030\260\001 \001"
721 "(\010:\005false\022.\n!pseudo_cost_reliability_thr"
722 "eshold\030{ \001(\003:\003100\022!\n\022optimize_with_core\030"
723 "S \001(\010:\005false\022,\n\034optimize_with_lb_tree_se"
724 "arch\030\274\001 \001(\010:\005false\022\'\n\033binary_search_num_"
725 "conflicts\030c \001(\005:\002-1\022#\n\024optimize_with_max"
726 "_hs\030U \001(\010:\005false\022&\n\027enumerate_all_soluti"
727 "ons\030W \001(\010:\005false\0227\n\'keep_all_feasible_so"
728 "lutions_in_presolve\030\255\001 \001(\010:\005false\0222\n\"fil"
729 "l_tightened_domains_in_response\030\204\001 \001(\010:\005"
730 "false\0225\n%fill_additional_solutions_in_re"
731 "sponse\030\302\001 \001(\010:\005false\022\'\n\031instantiate_all_"
732 "variables\030j \001(\010:\004true\0226\n(auto_detect_gre"
733 "ater_than_at_least_one_of\030_ \001(\010:\004true\022(\n"
734 "\031stop_after_first_solution\030b \001(\010:\005false\022"
735 "#\n\023stop_after_presolve\030\225\001 \001(\010:\005false\022\035\n\022"
736 "num_search_workers\030d \001(\005:\0010\022!\n\021interleav"
737 "e_search\030\210\001 \001(\010:\005false\022!\n\025interleave_bat"
738 "ch_size\030\206\001 \001(\005:\0011\0226\n&reduce_memory_usage"
739 "_in_interleave_mode\030\215\001 \001(\010:\005false\022$\n\026sha"
740 "re_objective_bounds\030q \001(\010:\004true\022%\n\027share"
741 "_level_zero_bounds\030r \001(\010:\004true\022\033\n\014use_ln"
742 "s_only\030e \001(\010:\005false\022\036\n\022solution_pool_siz"
743 "e\030\301\001 \001(\005:\0013\022\033\n\014use_rins_lns\030\201\001 \001(\010:\004true"
744 "\022#\n\024use_feasibility_pump\030\244\001 \001(\010:\004true\022c\n"
745 "\013fp_rounding\030\245\001 \001(\01627.operations_researc"
746 "h.sat.SatParameters.FPRoundingMethod:\024PR"
747 "OPAGATION_ASSISTED\022\"\n\022use_relaxation_lns"
748 "\030\226\001 \001(\010:\005false\022$\n\024diversify_lns_params\030\211"
749 "\001 \001(\010:\005false\022\037\n\020randomize_search\030g \001(\010:\005"
750 "false\022)\n\036search_randomization_tolerance\030"
751 "h \001(\003:\0010\022$\n\026use_optional_variables\030l \001(\010"
752 ":\004true\022!\n\023use_exact_lp_reason\030m \001(\010:\004tru"
753 "e\022#\n\023use_branching_in_lp\030\213\001 \001(\010:\005false\022\'"
754 "\n\027use_combined_no_overlap\030\205\001 \001(\010:\005false\022"
755 "\"\n\023catch_sigint_signal\030\207\001 \001(\010:\004true\022!\n\022u"
756 "se_implied_bounds\030\220\001 \001(\010:\004true\022\"\n\022polish"
757 "_lp_solution\030\257\001 \001(\010:\005false\022 \n\021convert_in"
758 "tervals\030\261\001 \001(\010:\004true\022\032\n\016symmetry_level\030\267"
759 "\001 \001(\005:\0012\022\037\n\rmip_max_bound\030| \001(\001:\0101000000"
760 "0\022\032\n\017mip_var_scaling\030} \001(\001:\0011\0220\n!mip_aut"
761 "omatically_scale_variables\030\246\001 \001(\010:\004true\022"
762 "#\n\024mip_wanted_precision\030~ \001(\001:\0051e-06\022%\n\031"
763 "mip_max_activity_exponent\030\177 \001(\005:\00253\022$\n\023m"
764 "ip_check_precision\030\200\001 \001(\001:\0060.0001\022/\n mip"
765 "_compute_true_objective_bound\030\306\001 \001(\010:\004tr"
766 "ue\022\'\n\027mip_max_valid_magnitude\030\307\001 \001(\001:\0051e"
767 "+30\"H\n\rVariableOrder\022\014\n\010IN_ORDER\020\000\022\024\n\020IN"
768 "_REVERSE_ORDER\020\001\022\023\n\017IN_RANDOM_ORDER\020\002\"\206\001"
769 "\n\010Polarity\022\021\n\rPOLARITY_TRUE\020\000\022\022\n\016POLARIT"
770 "Y_FALSE\020\001\022\023\n\017POLARITY_RANDOM\020\002\022\032\n\026POLARI"
771 "TY_WEIGHTED_SIGN\020\003\022\"\n\036POLARITY_REVERSE_W"
772 "EIGHTED_SIGN\020\004\"V\n\035ConflictMinimizationAl"
773 "gorithm\022\010\n\004NONE\020\000\022\n\n\006SIMPLE\020\001\022\r\n\tRECURSI"
774 "VE\020\002\022\020\n\014EXPERIMENTAL\020\003\"\340\001\n\031BinaryMinizat"
775 "ionAlgorithm\022\032\n\026NO_BINARY_MINIMIZATION\020\000"
776 "\022\035\n\031BINARY_MINIMIZATION_FIRST\020\001\0227\n3BINAR"
777 "Y_MINIMIZATION_FIRST_WITH_TRANSITIVE_RED"
778 "UCTION\020\004\022)\n%BINARY_MINIMIZATION_WITH_REA"
779 "CHABILITY\020\002\022$\n EXPERIMENTAL_BINARY_MINIM"
780 "IZATION\020\003\"R\n\020ClauseProtection\022\023\n\017PROTECT"
781 "ION_NONE\020\000\022\025\n\021PROTECTION_ALWAYS\020\001\022\022\n\016PRO"
782 "TECTION_LBD\020\002\"5\n\016ClauseOrdering\022\023\n\017CLAUS"
783 "E_ACTIVITY\020\000\022\016\n\nCLAUSE_LBD\020\001\"\206\001\n\020Restart"
784 "Algorithm\022\016\n\nNO_RESTART\020\000\022\020\n\014LUBY_RESTAR"
785 "T\020\001\022\035\n\031DL_MOVING_AVERAGE_RESTART\020\002\022\036\n\032LB"
786 "D_MOVING_AVERAGE_RESTART\020\003\022\021\n\rFIXED_REST"
787 "ART\020\004\"t\n\025MaxSatAssumptionOrder\022\034\n\030DEFAUL"
788 "T_ASSUMPTION_ORDER\020\000\022\035\n\031ORDER_ASSUMPTION"
789 "_BY_DEPTH\020\001\022\036\n\032ORDER_ASSUMPTION_BY_WEIGH"
790 "T\020\002\"o\n\035MaxSatStratificationAlgorithm\022\027\n\023"
791 "STRATIFICATION_NONE\020\000\022\032\n\026STRATIFICATION_"
792 "DESCENT\020\001\022\031\n\025STRATIFICATION_ASCENT\020\002\"\260\001\n"
793 "\017SearchBranching\022\024\n\020AUTOMATIC_SEARCH\020\000\022\020"
794 "\n\014FIXED_SEARCH\020\001\022\024\n\020PORTFOLIO_SEARCH\020\002\022\r"
795 "\n\tLP_SEARCH\020\003\022\026\n\022PSEUDO_COST_SEARCH\020\004\022\'\n"
796 "#PORTFOLIO_WITH_QUICK_RESTART_SEARCH\020\005\022\017"
797 "\n\013HINT_SEARCH\020\006\"h\n\020FPRoundingMethod\022\023\n\017N"
798 "EAREST_INTEGER\020\000\022\016\n\nLOCK_BASED\020\001\022\025\n\021ACTI"
799 "VE_LOCK_BASED\020\003\022\030\n\024PROPAGATION_ASSISTED\020"
800 "\002B/\n\026com.google.ortools.satP\001\252\002\022Google.O"
805 false,
false, 9050, descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto,
"ortools/sat/sat_parameters.proto",
833#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
858#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
884#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
910#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
935#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
957#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
981#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
1006#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
1029#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
1056#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
1084#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
1098 using HasBits =
decltype(std::declval<SatParameters>()._has_bits_);
1100 (*has_bits)[0] |= 2u;
1103 (*has_bits)[0] |= 8u;
1106 (*has_bits)[2] |= 2u;
1109 (*has_bits)[3] |= 8u;
1112 (*has_bits)[5] |= 2u;
1115 (*has_bits)[0] |= 64u;
1118 (*has_bits)[0] |= 32u;
1121 (*has_bits)[0] |= 16384u;
1124 (*has_bits)[0] |= 4096u;
1127 (*has_bits)[0] |= 32768u;
1130 (*has_bits)[2] |= 4u;
1133 (*has_bits)[2] |= 65536u;
1136 (*has_bits)[3] |= 16u;
1139 (*has_bits)[2] |= 64u;
1142 (*has_bits)[0] |= 16u;
1145 (*has_bits)[5] |= 32u;
1148 (*has_bits)[0] |= 256u;
1151 (*has_bits)[2] |= 8388608u;
1154 (*has_bits)[0] |= 512u;
1157 (*has_bits)[2] |= 131072u;
1160 (*has_bits)[2] |= 262144u;
1163 (*has_bits)[3] |= 8192u;
1166 (*has_bits)[3] |= 16384u;
1169 (*has_bits)[2] |= 8u;
1172 (*has_bits)[2] |= 16u;
1175 (*has_bits)[2] |= 512u;
1178 (*has_bits)[2] |= 1024u;
1181 (*has_bits)[2] |= 128u;
1184 (*has_bits)[2] |= 32u;
1187 (*has_bits)[2] |= 256u;
1190 (*has_bits)[0] |= 1u;
1193 (*has_bits)[2] |= 2048u;
1196 (*has_bits)[2] |= 33554432u;
1199 (*has_bits)[2] |= 16777216u;
1202 (*has_bits)[3] |= 4u;
1205 (*has_bits)[0] |= 65536u;
1208 (*has_bits)[2] |= 67108864u;
1211 (*has_bits)[2] |= 134217728u;
1214 (*has_bits)[0] |= 1024u;
1217 (*has_bits)[0] |= 2048u;
1220 (*has_bits)[2] |= 8192u;
1223 (*has_bits)[2] |= 268435456u;
1226 (*has_bits)[2] |= 16384u;
1229 (*has_bits)[2] |= 32768u;
1232 (*has_bits)[4] |= 2147483648u;
1235 (*has_bits)[1] |= 4194304u;
1238 (*has_bits)[3] |= 32u;
1241 (*has_bits)[2] |= 4096u;
1244 (*has_bits)[0] |= 131072u;
1247 (*has_bits)[1] |= 131072u;
1250 (*has_bits)[1] |= 262144u;
1253 (*has_bits)[1] |= 524288u;
1256 (*has_bits)[3] |= 64u;
1259 (*has_bits)[0] |= 4u;
1262 (*has_bits)[3] |= 32768u;
1265 (*has_bits)[1] |= 1048576u;
1268 (*has_bits)[0] |= 16777216u;
1271 (*has_bits)[0] |= 33554432u;
1274 (*has_bits)[3] |= 65536u;
1277 (*has_bits)[2] |= 1048576u;
1280 (*has_bits)[2] |= 4194304u;
1283 (*has_bits)[2] |= 2097152u;
1286 (*has_bits)[3] |= 131072u;
1289 (*has_bits)[3] |= 262144u;
1292 (*has_bits)[3] |= 2u;
1295 (*has_bits)[4] |= 8192u;
1298 (*has_bits)[2] |= 536870912u;
1301 (*has_bits)[3] |= 2097152u;
1304 (*has_bits)[2] |= 1073741824u;
1307 (*has_bits)[0] |= 67108864u;
1310 (*has_bits)[0] |= 134217728u;
1313 (*has_bits)[1] |= 268435456u;
1316 (*has_bits)[4] |= 262144u;
1319 (*has_bits)[4] |= 16777216u;
1322 (*has_bits)[4] |= 8388608u;
1325 (*has_bits)[1] |= 536870912u;
1328 (*has_bits)[1] |= 1073741824u;
1331 (*has_bits)[1] |= 2097152u;
1334 (*has_bits)[1] |= 2147483648u;
1337 (*has_bits)[2] |= 2147483648u;
1340 (*has_bits)[3] |= 1u;
1343 (*has_bits)[3] |= 128u;
1346 (*has_bits)[3] |= 256u;
1349 (*has_bits)[0] |= 128u;
1352 (*has_bits)[0] |= 524288u;
1355 (*has_bits)[2] |= 524288u;
1358 (*has_bits)[3] |= 512u;
1361 (*has_bits)[0] |= 1048576u;
1364 (*has_bits)[0] |= 2097152u;
1367 (*has_bits)[3] |= 1024u;
1370 (*has_bits)[0] |= 4194304u;
1373 (*has_bits)[3] |= 2048u;
1376 (*has_bits)[3] |= 1048576u;
1379 (*has_bits)[5] |= 64u;
1382 (*has_bits)[3] |= 4096u;
1385 (*has_bits)[2] |= 1u;
1388 (*has_bits)[1] |= 8388608u;
1391 (*has_bits)[1] |= 16777216u;
1394 (*has_bits)[4] |= 524288u;
1397 (*has_bits)[4] |= 1048576u;
1400 (*has_bits)[4] |= 2097152u;
1403 (*has_bits)[4] |= 4194304u;
1406 (*has_bits)[4] |= 33554432u;
1409 (*has_bits)[3] |= 67108864u;
1412 (*has_bits)[3] |= 2147483648u;
1415 (*has_bits)[3] |= 134217728u;
1418 (*has_bits)[3] |= 1073741824u;
1421 (*has_bits)[4] |= 268435456u;
1424 (*has_bits)[4] |= 1u;
1427 (*has_bits)[4] |= 134217728u;
1430 (*has_bits)[4] |= 1073741824u;
1433 (*has_bits)[4] |= 536870912u;
1436 (*has_bits)[4] |= 8u;
1439 (*has_bits)[0] |= 8192u;
1442 (*has_bits)[4] |= 67108864u;
1445 (*has_bits)[1] |= 33554432u;
1448 (*has_bits)[1] |= 67108864u;
1451 (*has_bits)[3] |= 268435456u;
1454 (*has_bits)[3] |= 536870912u;
1457 (*has_bits)[1] |= 256u;
1460 (*has_bits)[1] |= 512u;
1463 (*has_bits)[3] |= 4194304u;
1466 (*has_bits)[1] |= 65536u;
1469 (*has_bits)[1] |= 1024u;
1472 (*has_bits)[4] |= 2u;
1475 (*has_bits)[1] |= 2048u;
1478 (*has_bits)[1] |= 16u;
1481 (*has_bits)[3] |= 524288u;
1484 (*has_bits)[1] |= 32u;
1487 (*has_bits)[1] |= 64u;
1490 (*has_bits)[1] |= 128u;
1493 (*has_bits)[1] |= 4096u;
1496 (*has_bits)[1] |= 8192u;
1499 (*has_bits)[3] |= 8388608u;
1502 (*has_bits)[3] |= 16777216u;
1505 (*has_bits)[1] |= 16384u;
1508 (*has_bits)[1] |= 32768u;
1511 (*has_bits)[0] |= 262144u;
1514 (*has_bits)[1] |= 1u;
1517 (*has_bits)[4] |= 4096u;
1520 (*has_bits)[1] |= 2u;
1523 (*has_bits)[3] |= 33554432u;
1526 (*has_bits)[4] |= 256u;
1529 (*has_bits)[1] |= 4u;
1532 (*has_bits)[5] |= 128u;
1535 (*has_bits)[4] |= 512u;
1538 (*has_bits)[4] |= 1024u;
1541 (*has_bits)[5] |= 1u;
1544 (*has_bits)[1] |= 8u;
1547 (*has_bits)[0] |= 268435456u;
1550 (*has_bits)[0] |= 536870912u;
1553 (*has_bits)[0] |= 8388608u;
1556 (*has_bits)[4] |= 2048u;
1559 (*has_bits)[4] |= 16384u;
1562 (*has_bits)[0] |= 1073741824u;
1565 (*has_bits)[0] |= 2147483648u;
1568 (*has_bits)[4] |= 32768u;
1571 (*has_bits)[4] |= 65536u;
1574 (*has_bits)[1] |= 134217728u;
1577 (*has_bits)[4] |= 131072u;
1580 (*has_bits)[5] |= 16u;
1583 (*has_bits)[4] |= 4u;
1586 (*has_bits)[4] |= 32u;
1589 (*has_bits)[5] |= 4u;
1592 (*has_bits)[4] |= 64u;
1595 (*has_bits)[4] |= 16u;
1598 (*has_bits)[4] |= 128u;
1601 (*has_bits)[5] |= 8u;
1604 (*has_bits)[5] |= 256u;
1608const ::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}};
1610 bool is_message_owned)
1611 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1612 restart_algorithms_(arena) {
1614 if (!is_message_owned) {
1615 RegisterArenaDtor(arena);
1620 : ::PROTOBUF_NAMESPACE_ID::Message(),
1621 _has_bits_(from._has_bits_),
1622 restart_algorithms_(from.restart_algorithms_) {
1623 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1624 default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1625 if (from._internal_has_default_restart_algorithms()) {
1626 default_restart_algorithms_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::NonEmptyDefault{}, from._internal_default_restart_algorithms(),
1627 GetArenaForAllocation());
1629 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1630 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1631 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
"", GetArenaForAllocation());
1633 if (from._internal_has_name()) {
1634 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1635 GetArenaForAllocation());
1637 log_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1638 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1639 log_prefix_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
"", GetArenaForAllocation());
1641 if (from._internal_has_log_prefix()) {
1642 log_prefix_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_log_prefix(),
1643 GetArenaForAllocation());
1645 ::memcpy(&preferred_variable_order_, &from.preferred_variable_order_,
1646 static_cast<size_t>(
reinterpret_cast<char*
>(&mip_max_valid_magnitude_) -
1647 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(mip_max_valid_magnitude_));
1651inline void SatParameters::SharedCtor() {
1652default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1653name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1654#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1655 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
"", GetArenaForAllocation());
1657log_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1658#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1659 log_prefix_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
"", GetArenaForAllocation());
1661::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1662 reinterpret_cast<char*
>(&preferred_variable_order_) -
reinterpret_cast<char*
>(
this)),
1663 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&debug_crash_on_bad_hint_) -
1664 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(debug_crash_on_bad_hint_));
1666initial_polarity_ = 1;
1667minimization_algorithm_ = 2;
1668variable_activity_decay_ = 0.8;
1669max_variable_activity_value_ = 1e+100;
1670clause_activity_decay_ = 0.999;
1671clause_cleanup_period_ = 10000;
1672glucose_decay_increment_period_ = 5000;
1673max_clause_activity_value_ = 1e+20;
1674glucose_max_decay_ = 0.95;
1675glucose_decay_increment_ = 0.01;
1676restart_period_ = 50;
1678max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1679max_number_of_conflicts_ = int64_t{9223372036854775807};
1680max_memory_in_mb_ = int64_t{10000};
1681binary_minimization_algorithm_ = 1;
1682pb_cleanup_increment_ = 200;
1683pb_cleanup_ratio_ = 0.5;
1684max_sat_stratification_ = 1;
1685presolve_bve_threshold_ = 500;
1686presolve_probing_deterministic_time_limit_ = 30;
1687presolve_bve_clause_weight_ = 3;
1688clause_cleanup_lbd_bound_ = 5;
1689restart_dl_average_ratio_ = 1;
1690restart_running_window_size_ = 50;
1691blocking_restart_window_size_ = 5000;
1692blocking_restart_multiplier_ = 1.4;
1693max_deterministic_time_ = std::numeric_limits<double>::infinity();
1694cp_model_presolve_ =
true;
1695cp_model_use_sat_presolve_ =
true;
1696use_optimization_hints_ =
true;
1697minimize_core_ =
true;
1698presolve_bva_threshold_ = 1;
1699restart_lbd_average_ratio_ = 1;
1700use_phase_saving_ =
true;
1701subsumption_during_conflict_analysis_ =
true;
1702treat_binary_clauses_separately_ =
true;
1703log_subsolver_statistics_ =
true;
1704find_multiple_cores_ =
true;
1705cover_optimization_ =
true;
1706use_precedences_in_disjunctive_constraint_ =
true;
1707use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1708linearization_level_ = 1;
1709max_num_cuts_ = 10000;
1710minimize_with_propagation_restart_period_ = 10;
1711minimize_with_propagation_num_decisions_ = 1000;
1712log_to_stdout_ =
true;
1713count_assumption_levels_in_lbd_ =
true;
1714presolve_blocked_clause_ =
true;
1715presolve_use_bva_ =
true;
1716binary_search_num_conflicts_ = -1;
1717boolean_encoding_level_ = 1;
1718cp_model_probing_level_ = 2;
1719exploit_objective_ =
true;
1720instantiate_all_variables_ =
true;
1721auto_detect_greater_than_at_least_one_of_ =
true;
1722share_objective_bounds_ =
true;
1723add_lin_max_cuts_ =
true;
1724add_lp_constraints_lazily_ =
true;
1725exploit_integer_lp_solution_ =
true;
1726exploit_all_lp_solution_ =
true;
1727min_orthogonality_for_lp_constraints_ = 0.05;
1728max_integer_rounding_scaling_ = 600;
1729max_consecutive_inactive_count_ = 100;
1730pseudo_cost_reliability_threshold_ = int64_t{100};
1731mip_max_bound_ = 10000000;
1732new_constraints_batch_size_ = 50;
1733mip_max_activity_exponent_ = 53;
1734mip_var_scaling_ = 1;
1735mip_wanted_precision_ = 1e-06;
1736mip_check_precision_ = 0.0001;
1737share_level_zero_bounds_ =
true;
1738use_rins_lns_ =
true;
1739use_feasibility_pump_ =
true;
1740use_optional_variables_ =
true;
1741interleave_batch_size_ = 1;
1742max_presolve_iterations_ = 3;
1743use_exact_lp_reason_ =
true;
1744catch_sigint_signal_ =
true;
1745use_implied_bounds_ =
true;
1746convert_intervals_ =
true;
1747merge_no_overlap_work_limit_ = 1000000000000;
1749add_mir_cuts_ =
true;
1750add_zero_half_cuts_ =
true;
1751add_clique_cuts_ =
true;
1752presolve_substitution_level_ = 1;
1753merge_at_most_one_work_limit_ = 100000000;
1754max_all_diff_cut_size_ = 7;
1755hint_conflict_limit_ = 10;
1756cut_max_active_count_value_ = 10000000000;
1757max_cut_rounds_at_level_zero_ = 1;
1758cut_cleanup_target_ = 1000;
1759cut_active_count_decay_ = 0.8;
1760absolute_gap_limit_ = 0.0001;
1762polarity_rephase_increment_ = 1000;
1763mip_automatically_scale_variables_ =
true;
1764mip_compute_true_objective_bound_ =
true;
1766clause_cleanup_ratio_ = 0.5;
1767max_domain_size_when_encoding_eq_neq_constraints_ = 16;
1768solution_pool_size_ = 3;
1769mip_max_valid_magnitude_ = 1e+30;
1774 if (GetArenaForAllocation() !=
nullptr)
return;
1776 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1779inline void SatParameters::SharedDtor() {
1780 GOOGLE_DCHECK(GetArenaForAllocation() ==
nullptr);
1781 default_restart_algorithms_.DestroyNoArena(
nullptr);
1782 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1783 log_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1786void SatParameters::ArenaDtor(
void*
object) {
1790void SatParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1792void SatParameters::SetCachedSize(
int size)
const {
1793 _cached_size_.Set(size);
1798 uint32_t cached_has_bits = 0;
1800 (void) cached_has_bits;
1802 restart_algorithms_.Clear();
1803 cached_has_bits = _has_bits_[0];
1804 if (cached_has_bits & 0x00000007u) {
1805 if (cached_has_bits & 0x00000001u) {
1806 default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArenaForAllocation());
1808 if (cached_has_bits & 0x00000002u) {
1809 name_.ClearNonDefaultToEmpty();
1811 if (cached_has_bits & 0x00000004u) {
1812 log_prefix_.ClearNonDefaultToEmpty();
1815 if (cached_has_bits & 0x000000f8u) {
1816 ::memset(&preferred_variable_order_, 0,
static_cast<size_t>(
1817 reinterpret_cast<char*
>(&max_sat_assumption_order_) -
1818 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(max_sat_assumption_order_));
1820 if (cached_has_bits & 0x0000ff00u) {
1821 ::memset(&clause_cleanup_protection_, 0,
static_cast<size_t>(
1822 reinterpret_cast<char*
>(&also_bump_variables_in_conflict_reasons_) -
1823 reinterpret_cast<char*
>(&clause_cleanup_protection_)) +
sizeof(also_bump_variables_in_conflict_reasons_));
1825 if (cached_has_bits & 0x00ff0000u) {
1826 ::memset(&use_blocking_restart_, 0,
static_cast<size_t>(
1827 reinterpret_cast<char*
>(&search_randomization_tolerance_) -
1828 reinterpret_cast<char*
>(&use_blocking_restart_)) +
sizeof(search_randomization_tolerance_));
1830 if (cached_has_bits & 0xff000000u) {
1831 ::memset(&use_pb_resolution_, 0,
static_cast<size_t>(
1832 reinterpret_cast<char*
>(&use_combined_no_overlap_) -
1833 reinterpret_cast<char*
>(&use_pb_resolution_)) +
sizeof(use_combined_no_overlap_));
1835 cached_has_bits = _has_bits_[1];
1836 if (cached_has_bits & 0x000000ffu) {
1837 ::memset(&interleave_search_, 0,
static_cast<size_t>(
1838 reinterpret_cast<char*
>(&keep_all_feasible_solutions_in_presolve_) -
1839 reinterpret_cast<char*
>(&interleave_search_)) +
sizeof(keep_all_feasible_solutions_in_presolve_));
1841 if (cached_has_bits & 0x0000ff00u) {
1842 ::memset(&exploit_best_solution_, 0,
static_cast<size_t>(
1843 reinterpret_cast<char*
>(&stop_after_presolve_) -
1844 reinterpret_cast<char*
>(&exploit_best_solution_)) +
sizeof(stop_after_presolve_));
1846 if (cached_has_bits & 0x00ff0000u) {
1847 ::memset(&probing_period_at_root_, 0,
static_cast<size_t>(
1848 reinterpret_cast<char*
>(&only_add_cuts_at_level_zero_) -
1849 reinterpret_cast<char*
>(&probing_period_at_root_)) +
sizeof(only_add_cuts_at_level_zero_));
1851 if (cached_has_bits & 0xff000000u) {
1852 ::memset(&add_objective_cut_, 0,
static_cast<size_t>(
1853 reinterpret_cast<char*
>(&debug_crash_on_bad_hint_) -
1854 reinterpret_cast<char*
>(&add_objective_cut_)) +
sizeof(debug_crash_on_bad_hint_));
1856 cached_has_bits = _has_bits_[2];
1857 if (cached_has_bits & 0x000000ffu) {
1859 initial_polarity_ = 1;
1860 minimization_algorithm_ = 2;
1861 variable_activity_decay_ = 0.8;
1862 max_variable_activity_value_ = 1e+100;
1863 clause_activity_decay_ = 0.999;
1864 clause_cleanup_period_ = 10000;
1865 glucose_decay_increment_period_ = 5000;
1867 if (cached_has_bits & 0x0000ff00u) {
1868 max_clause_activity_value_ = 1e+20;
1869 glucose_max_decay_ = 0.95;
1870 glucose_decay_increment_ = 0.01;
1871 restart_period_ = 50;
1873 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1874 max_number_of_conflicts_ = int64_t{9223372036854775807};
1875 max_memory_in_mb_ = int64_t{10000};
1877 if (cached_has_bits & 0x00ff0000u) {
1878 binary_minimization_algorithm_ = 1;
1879 pb_cleanup_increment_ = 200;
1880 pb_cleanup_ratio_ = 0.5;
1881 max_sat_stratification_ = 1;
1882 presolve_bve_threshold_ = 500;
1883 presolve_probing_deterministic_time_limit_ = 30;
1884 presolve_bve_clause_weight_ = 3;
1885 clause_cleanup_lbd_bound_ = 5;
1887 if (cached_has_bits & 0xff000000u) {
1888 restart_dl_average_ratio_ = 1;
1889 restart_running_window_size_ = 50;
1890 blocking_restart_window_size_ = 5000;
1891 blocking_restart_multiplier_ = 1.4;
1892 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1893 cp_model_presolve_ =
true;
1894 cp_model_use_sat_presolve_ =
true;
1895 use_optimization_hints_ =
true;
1897 cached_has_bits = _has_bits_[3];
1898 if (cached_has_bits & 0x000000ffu) {
1899 minimize_core_ =
true;
1900 presolve_bva_threshold_ = 1;
1901 restart_lbd_average_ratio_ = 1;
1902 use_phase_saving_ =
true;
1903 subsumption_during_conflict_analysis_ =
true;
1904 treat_binary_clauses_separately_ =
true;
1905 log_subsolver_statistics_ =
true;
1906 find_multiple_cores_ =
true;
1908 if (cached_has_bits & 0x0000ff00u) {
1909 cover_optimization_ =
true;
1910 use_precedences_in_disjunctive_constraint_ =
true;
1911 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1912 linearization_level_ = 1;
1913 max_num_cuts_ = 10000;
1914 minimize_with_propagation_restart_period_ = 10;
1915 minimize_with_propagation_num_decisions_ = 1000;
1916 log_to_stdout_ =
true;
1918 if (cached_has_bits & 0x00ff0000u) {
1919 count_assumption_levels_in_lbd_ =
true;
1920 presolve_blocked_clause_ =
true;
1921 presolve_use_bva_ =
true;
1922 binary_search_num_conflicts_ = -1;
1923 boolean_encoding_level_ = 1;
1924 cp_model_probing_level_ = 2;
1925 exploit_objective_ =
true;
1926 instantiate_all_variables_ =
true;
1928 if (cached_has_bits & 0xff000000u) {
1929 auto_detect_greater_than_at_least_one_of_ =
true;
1930 share_objective_bounds_ =
true;
1931 add_lin_max_cuts_ =
true;
1932 add_lp_constraints_lazily_ =
true;
1933 exploit_integer_lp_solution_ =
true;
1934 exploit_all_lp_solution_ =
true;
1935 min_orthogonality_for_lp_constraints_ = 0.05;
1936 max_integer_rounding_scaling_ = 600;
1938 cached_has_bits = _has_bits_[4];
1939 if (cached_has_bits & 0x000000ffu) {
1940 max_consecutive_inactive_count_ = 100;
1941 pseudo_cost_reliability_threshold_ = int64_t{100};
1942 mip_max_bound_ = 10000000;
1943 new_constraints_batch_size_ = 50;
1944 mip_max_activity_exponent_ = 53;
1945 mip_var_scaling_ = 1;
1946 mip_wanted_precision_ = 1e-06;
1947 mip_check_precision_ = 0.0001;
1949 if (cached_has_bits & 0x0000ff00u) {
1950 share_level_zero_bounds_ =
true;
1951 use_rins_lns_ =
true;
1952 use_feasibility_pump_ =
true;
1953 use_optional_variables_ =
true;
1954 interleave_batch_size_ = 1;
1955 max_presolve_iterations_ = 3;
1956 use_exact_lp_reason_ =
true;
1957 catch_sigint_signal_ =
true;
1959 if (cached_has_bits & 0x00ff0000u) {
1960 use_implied_bounds_ =
true;
1961 convert_intervals_ =
true;
1962 merge_no_overlap_work_limit_ = 1000000000000;
1963 add_cg_cuts_ =
true;
1964 add_mir_cuts_ =
true;
1965 add_zero_half_cuts_ =
true;
1966 add_clique_cuts_ =
true;
1967 presolve_substitution_level_ = 1;
1969 if (cached_has_bits & 0xff000000u) {
1970 merge_at_most_one_work_limit_ = 100000000;
1971 max_all_diff_cut_size_ = 7;
1972 hint_conflict_limit_ = 10;
1973 cut_max_active_count_value_ = 10000000000;
1974 max_cut_rounds_at_level_zero_ = 1;
1975 cut_cleanup_target_ = 1000;
1976 cut_active_count_decay_ = 0.8;
1977 absolute_gap_limit_ = 0.0001;
1979 cached_has_bits = _has_bits_[5];
1980 if (cached_has_bits & 0x000000ffu) {
1982 polarity_rephase_increment_ = 1000;
1983 mip_automatically_scale_variables_ =
true;
1984 mip_compute_true_objective_bound_ =
true;
1985 symmetry_level_ = 2;
1986 clause_cleanup_ratio_ = 0.5;
1987 max_domain_size_when_encoding_eq_neq_constraints_ = 16;
1988 solution_pool_size_ = 3;
1990 mip_max_valid_magnitude_ = 1e+30;
1992 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1996#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1997 while (!ctx->Done(&ptr)) {
1999 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2003 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
2004 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2012 goto handle_unusual;
2016 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 16)) {
2017 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2025 goto handle_unusual;
2029 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 32)) {
2030 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2038 goto handle_unusual;
2042 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 88)) {
2044 clause_cleanup_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2047 goto handle_unusual;
2051 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 104)) {
2053 clause_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2056 goto handle_unusual;
2060 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 121)) {
2062 variable_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2063 ptr +=
sizeof(double);
2065 goto handle_unusual;
2069 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 129)) {
2071 max_variable_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2072 ptr +=
sizeof(double);
2074 goto handle_unusual;
2078 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 137)) {
2080 clause_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2081 ptr +=
sizeof(double);
2083 goto handle_unusual;
2087 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 145)) {
2089 max_clause_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2090 ptr +=
sizeof(double);
2092 goto handle_unusual;
2096 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 177)) {
2098 glucose_max_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2099 ptr +=
sizeof(double);
2101 goto handle_unusual;
2105 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 185)) {
2107 glucose_decay_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2108 ptr +=
sizeof(double);
2110 goto handle_unusual;
2114 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 192)) {
2116 glucose_decay_increment_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2119 goto handle_unusual;
2123 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 240)) {
2125 restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2128 goto handle_unusual;
2132 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 248)) {
2134 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2137 goto handle_unusual;
2141 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 1)) {
2143 random_branches_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2144 ptr +=
sizeof(double);
2146 goto handle_unusual;
2150 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
2152 treat_binary_clauses_separately_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2155 goto handle_unusual;
2159 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 16)) {
2160 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2168 goto handle_unusual;
2172 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 24)) {
2174 use_optimization_hints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2177 goto handle_unusual;
2181 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 33)) {
2183 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2184 ptr +=
sizeof(double);
2186 goto handle_unusual;
2190 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 40)) {
2192 max_number_of_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2195 goto handle_unusual;
2199 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 64)) {
2201 max_memory_in_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2204 goto handle_unusual;
2208 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 72)) {
2210 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2213 goto handle_unusual;
2217 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 88)) {
2219 use_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2222 goto handle_unusual;
2226 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 96)) {
2228 use_phase_saving_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2231 goto handle_unusual;
2235 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 105)) {
2237 random_polarity_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2238 ptr +=
sizeof(double);
2240 goto handle_unusual;
2244 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 112)) {
2246 pb_cleanup_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2249 goto handle_unusual;
2253 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 121)) {
2255 pb_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2256 ptr +=
sizeof(double);
2258 goto handle_unusual;
2262 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 128)) {
2264 minimize_reduction_during_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2267 goto handle_unusual;
2271 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 136)) {
2273 count_assumption_levels_in_lbd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2276 goto handle_unusual;
2280 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 144)) {
2282 minimize_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2285 goto handle_unusual;
2289 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 152)) {
2290 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2298 goto handle_unusual;
2302 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 160)) {
2304 max_sat_reverse_assumption_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2307 goto handle_unusual;
2311 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 168)) {
2312 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2320 goto handle_unusual;
2324 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 176)) {
2326 presolve_bve_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2329 goto handle_unusual;
2333 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 184)) {
2335 presolve_bve_clause_weight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2338 goto handle_unusual;
2342 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 192)) {
2344 subsumption_during_conflict_analysis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2347 goto handle_unusual;
2351 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 201)) {
2353 presolve_probing_deterministic_time_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2354 ptr +=
sizeof(double);
2356 goto handle_unusual;
2360 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 208)) {
2361 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2369 goto handle_unusual;
2373 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 216)) {
2375 clause_cleanup_lbd_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2378 goto handle_unusual;
2382 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 224)) {
2383 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2391 goto handle_unusual;
2395 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 232)) {
2399 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2406 if (!ctx->DataAvailable(ptr))
break;
2407 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<488>(ptr));
2408 }
else if (
static_cast<uint8_t
>(tag) == 234) {
2412 goto handle_unusual;
2416 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 240)) {
2418 restart_running_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2421 goto handle_unusual;
2425 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 249)) {
2427 restart_dl_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2428 ptr +=
sizeof(double);
2430 goto handle_unusual;
2434 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 0)) {
2436 use_blocking_restart_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2439 goto handle_unusual;
2443 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
2445 blocking_restart_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2448 goto handle_unusual;
2452 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 17)) {
2454 blocking_restart_multiplier_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2455 ptr +=
sizeof(double);
2457 goto handle_unusual;
2461 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 25)) {
2463 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2464 ptr +=
sizeof(double);
2466 goto handle_unusual;
2470 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 32)) {
2472 num_conflicts_before_strategy_changes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2475 goto handle_unusual;
2479 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 41)) {
2481 strategy_change_increase_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2482 ptr +=
sizeof(double);
2484 goto handle_unusual;
2488 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 50)) {
2489 auto str = _internal_mutable_default_restart_algorithms();
2490 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2492 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.default_restart_algorithms");
2496 goto handle_unusual;
2500 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 57)) {
2502 restart_lbd_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2503 ptr +=
sizeof(double);
2505 goto handle_unusual;
2509 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 64)) {
2511 presolve_use_bva_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2514 goto handle_unusual;
2518 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 72)) {
2520 presolve_bva_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2523 goto handle_unusual;
2527 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 80)) {
2529 use_precedences_in_disjunctive_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2532 goto handle_unusual;
2536 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 88)) {
2538 use_erwa_heuristic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2541 goto handle_unusual;
2545 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 97)) {
2547 initial_variables_activity_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2548 ptr +=
sizeof(double);
2550 goto handle_unusual;
2554 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 104)) {
2556 also_bump_variables_in_conflict_reasons_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2559 goto handle_unusual;
2563 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 112)) {
2565 use_overload_checker_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2568 goto handle_unusual;
2572 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 120)) {
2574 use_timetable_edge_finding_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2577 goto handle_unusual;
2581 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 128)) {
2583 use_disjunctive_constraint_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2586 goto handle_unusual;
2590 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 144)) {
2591 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2599 goto handle_unusual;
2603 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 152)) {
2605 optimize_with_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2608 goto handle_unusual;
2612 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 160)) {
2614 find_multiple_cores_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2617 goto handle_unusual;
2621 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 168)) {
2623 optimize_with_max_hs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2626 goto handle_unusual;
2630 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 176)) {
2632 cp_model_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2635 goto handle_unusual;
2639 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 184)) {
2641 enumerate_all_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2644 goto handle_unusual;
2648 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 192)) {
2650 presolve_blocked_clause_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2653 goto handle_unusual;
2657 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 200)) {
2659 cover_optimization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2662 goto handle_unusual;
2666 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 208)) {
2668 linearization_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2671 goto handle_unusual;
2675 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 216)) {
2677 max_num_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2680 goto handle_unusual;
2684 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 224)) {
2686 only_add_cuts_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2689 goto handle_unusual;
2693 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 232)) {
2695 cp_model_use_sat_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2698 goto handle_unusual;
2702 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 240)) {
2704 exploit_integer_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2707 goto handle_unusual;
2711 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 248)) {
2713 auto_detect_greater_than_at_least_one_of_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2716 goto handle_unusual;
2720 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 0)) {
2722 minimize_with_propagation_restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2725 goto handle_unusual;
2729 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
2731 minimize_with_propagation_num_decisions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2734 goto handle_unusual;
2738 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 16)) {
2740 stop_after_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2743 goto handle_unusual;
2747 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 24)) {
2749 binary_search_num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2752 goto handle_unusual;
2756 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 32)) {
2758 num_search_workers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2761 goto handle_unusual;
2765 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 40)) {
2767 use_lns_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2770 goto handle_unusual;
2774 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 56)) {
2776 randomize_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2779 goto handle_unusual;
2783 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 64)) {
2785 search_randomization_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2788 goto handle_unusual;
2792 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 80)) {
2794 instantiate_all_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2797 goto handle_unusual;
2801 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 88)) {
2803 boolean_encoding_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2806 goto handle_unusual;
2810 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 96)) {
2812 use_optional_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2815 goto handle_unusual;
2819 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 104)) {
2821 use_exact_lp_reason_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2824 goto handle_unusual;
2828 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 112)) {
2830 cp_model_probing_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2833 goto handle_unusual;
2837 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 128)) {
2839 add_lp_constraints_lazily_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2842 goto handle_unusual;
2846 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 136)) {
2848 share_objective_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2851 goto handle_unusual;
2855 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 144)) {
2857 share_level_zero_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2860 goto handle_unusual;
2864 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 153)) {
2866 min_orthogonality_for_lp_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2867 ptr +=
sizeof(double);
2869 goto handle_unusual;
2873 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 160)) {
2875 exploit_all_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2878 goto handle_unusual;
2882 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 168)) {
2884 add_cg_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2887 goto handle_unusual;
2891 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 184)) {
2893 max_integer_rounding_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2896 goto handle_unusual;
2900 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 192)) {
2902 add_mir_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2905 goto handle_unusual;
2909 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 200)) {
2911 max_consecutive_inactive_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2914 goto handle_unusual;
2918 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 208)) {
2920 new_constraints_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2923 goto handle_unusual;
2927 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 216)) {
2929 pseudo_cost_reliability_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2932 goto handle_unusual;
2936 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 225)) {
2938 mip_max_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2939 ptr +=
sizeof(double);
2941 goto handle_unusual;
2945 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 233)) {
2947 mip_var_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2948 ptr +=
sizeof(double);
2950 goto handle_unusual;
2954 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 241)) {
2956 mip_wanted_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2957 ptr +=
sizeof(double);
2959 goto handle_unusual;
2963 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 248)) {
2965 mip_max_activity_exponent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2968 goto handle_unusual;
2972 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 1)) {
2974 mip_check_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2975 ptr +=
sizeof(double);
2977 goto handle_unusual;
2981 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
2983 use_rins_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2986 goto handle_unusual;
2990 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 16)) {
2992 exploit_best_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2995 goto handle_unusual;
2999 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 24)) {
3001 exploit_objective_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3004 goto handle_unusual;
3008 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 32)) {
3010 fill_tightened_domains_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3013 goto handle_unusual;
3017 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 40)) {
3019 use_combined_no_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3022 goto handle_unusual;
3026 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 48)) {
3028 interleave_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3031 goto handle_unusual;
3035 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 56)) {
3037 catch_sigint_signal_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3040 goto handle_unusual;
3044 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 64)) {
3046 interleave_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3049 goto handle_unusual;
3053 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 72)) {
3055 diversify_lns_params_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3058 goto handle_unusual;
3062 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 80)) {
3064 max_presolve_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3067 goto handle_unusual;
3071 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 88)) {
3073 use_branching_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3076 goto handle_unusual;
3080 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 104)) {
3082 reduce_memory_usage_in_interleave_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3085 goto handle_unusual;
3089 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 112)) {
3091 probing_period_at_root_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3094 goto handle_unusual;
3098 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 128)) {
3100 use_implied_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3103 goto handle_unusual;
3107 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 137)) {
3109 merge_no_overlap_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3110 ptr +=
sizeof(double);
3112 goto handle_unusual;
3116 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 145)) {
3118 merge_at_most_one_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3119 ptr +=
sizeof(double);
3121 goto handle_unusual;
3125 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 152)) {
3127 presolve_substitution_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3130 goto handle_unusual;
3134 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 160)) {
3136 max_all_diff_cut_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3139 goto handle_unusual;
3143 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 168)) {
3145 stop_after_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3148 goto handle_unusual;
3152 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 176)) {
3154 use_relaxation_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3157 goto handle_unusual;
3161 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 184)) {
3163 debug_max_num_presolve_operations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3166 goto handle_unusual;
3170 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 192)) {
3172 add_lin_max_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3175 goto handle_unusual;
3179 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 200)) {
3181 hint_conflict_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3184 goto handle_unusual;
3188 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 208)) {
3190 max_cut_rounds_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3193 goto handle_unusual;
3197 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 217)) {
3199 cut_max_active_count_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3200 ptr +=
sizeof(double);
3202 goto handle_unusual;
3206 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 225)) {
3208 cut_active_count_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3209 ptr +=
sizeof(double);
3211 goto handle_unusual;
3215 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 232)) {
3217 cut_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3220 goto handle_unusual;
3224 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 249)) {
3226 absolute_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3227 ptr +=
sizeof(double);
3229 goto handle_unusual;
3233 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 1)) {
3235 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3236 ptr +=
sizeof(double);
3238 goto handle_unusual;
3242 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
3244 exploit_relaxation_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3247 goto handle_unusual;
3251 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 16)) {
3253 debug_postsolve_with_full_solver_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3256 goto handle_unusual;
3260 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 24)) {
3262 use_sat_inprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3265 goto handle_unusual;
3269 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 32)) {
3271 use_feasibility_pump_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3274 goto handle_unusual;
3278 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 40)) {
3279 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3287 goto handle_unusual;
3291 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 48)) {
3293 mip_automatically_scale_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3296 goto handle_unusual;
3300 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 56)) {
3302 repair_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3305 goto handle_unusual;
3309 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 64)) {
3311 polarity_rephase_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3314 goto handle_unusual;
3318 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 72)) {
3320 add_zero_half_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3323 goto handle_unusual;
3327 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 80)) {
3329 expand_alldiff_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3332 goto handle_unusual;
3336 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 90)) {
3337 auto str = _internal_mutable_name();
3338 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
3340 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.name");
3344 goto handle_unusual;
3348 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 96)) {
3350 add_clique_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3353 goto handle_unusual;
3357 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 104)) {
3359 keep_all_feasible_solutions_in_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3362 goto handle_unusual;
3366 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 112)) {
3368 presolve_extract_integer_enforcement_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3371 goto handle_unusual;
3375 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 120)) {
3377 polish_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3380 goto handle_unusual;
3384 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 128)) {
3386 use_probing_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3389 goto handle_unusual;
3393 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 136)) {
3395 convert_intervals_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3398 goto handle_unusual;
3402 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 144)) {
3404 permute_variable_randomly_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3407 goto handle_unusual;
3411 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 152)) {
3413 permute_presolve_constraint_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3416 goto handle_unusual;
3420 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 160)) {
3422 use_absl_random_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3425 goto handle_unusual;
3429 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 168)) {
3431 disable_constraint_expansion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3434 goto handle_unusual;
3438 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 184)) {
3440 symmetry_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3443 goto handle_unusual;
3447 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 202)) {
3448 auto str = _internal_mutable_log_prefix();
3449 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
3451 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.log_prefix");
3455 goto handle_unusual;
3459 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 208)) {
3461 log_to_stdout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3464 goto handle_unusual;
3468 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 216)) {
3470 log_to_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3473 goto handle_unusual;
3477 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 224)) {
3479 optimize_with_lb_tree_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3482 goto handle_unusual;
3486 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 232)) {
3488 log_subsolver_statistics_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3491 goto handle_unusual;
3495 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 241)) {
3497 clause_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3498 ptr +=
sizeof(double);
3500 goto handle_unusual;
3504 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 248)) {
3506 max_domain_size_when_encoding_eq_neq_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3509 goto handle_unusual;
3513 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 0)) {
3515 fix_variables_to_their_hinted_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3518 goto handle_unusual;
3522 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 8)) {
3524 solution_pool_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3527 goto handle_unusual;
3531 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 16)) {
3533 fill_additional_solutions_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3536 goto handle_unusual;
3540 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 24)) {
3542 debug_crash_on_bad_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3545 goto handle_unusual;
3549 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 32)) {
3551 cut_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
3554 goto handle_unusual;
3558 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 40)) {
3560 add_objective_cut_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3563 goto handle_unusual;
3567 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 48)) {
3569 mip_compute_true_objective_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3572 goto handle_unusual;
3576 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 57)) {
3578 mip_max_valid_magnitude_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3579 ptr +=
sizeof(double);
3581 goto handle_unusual;
3585 if (PROTOBUF_PREDICT_TRUE(
static_cast<uint8_t
>(tag) == 64)) {
3587 use_cumulative_in_no_overlap_2d_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3590 goto handle_unusual;
3593 goto handle_unusual;
3596 if ((tag == 0) || ((tag & 7) == 4)) {
3598 ctx->SetLastTag(tag);
3601 ptr = UnknownFieldParse(
3603 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3605 CHK_(ptr !=
nullptr);
3616 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
3618 uint32_t cached_has_bits = 0;
3619 (void) cached_has_bits;
3621 cached_has_bits = _has_bits_[0];
3623 if (cached_has_bits & 0x00000008u) {
3624 target = stream->EnsureSpace(target);
3625 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3626 1, this->_internal_preferred_variable_order(), target);
3629 cached_has_bits = _has_bits_[2];
3631 if (cached_has_bits & 0x00000002u) {
3632 target = stream->EnsureSpace(target);
3633 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3634 2, this->_internal_initial_polarity(), target);
3638 if (cached_has_bits & 0x00000004u) {
3639 target = stream->EnsureSpace(target);
3640 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3641 4, this->_internal_minimization_algorithm(), target);
3645 if (cached_has_bits & 0x00000040u) {
3646 target = stream->EnsureSpace(target);
3647 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_clause_cleanup_period(), target);
3650 cached_has_bits = _has_bits_[0];
3652 if (cached_has_bits & 0x00000010u) {
3653 target = stream->EnsureSpace(target);
3654 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_clause_cleanup_target(), target);
3657 cached_has_bits = _has_bits_[2];
3659 if (cached_has_bits & 0x00000008u) {
3660 target = stream->EnsureSpace(target);
3661 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_variable_activity_decay(), target);
3665 if (cached_has_bits & 0x00000010u) {
3666 target = stream->EnsureSpace(target);
3667 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_max_variable_activity_value(), target);
3671 if (cached_has_bits & 0x00000020u) {
3672 target = stream->EnsureSpace(target);
3673 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_clause_activity_decay(), target);
3677 if (cached_has_bits & 0x00000100u) {
3678 target = stream->EnsureSpace(target);
3679 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_max_clause_activity_value(), target);
3683 if (cached_has_bits & 0x00000200u) {
3684 target = stream->EnsureSpace(target);
3685 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_glucose_max_decay(), target);
3689 if (cached_has_bits & 0x00000400u) {
3690 target = stream->EnsureSpace(target);
3691 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_glucose_decay_increment(), target);
3695 if (cached_has_bits & 0x00000080u) {
3696 target = stream->EnsureSpace(target);
3697 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_glucose_decay_increment_period(), target);
3701 if (cached_has_bits & 0x00000800u) {
3702 target = stream->EnsureSpace(target);
3703 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_restart_period(), target);
3707 if (cached_has_bits & 0x00001000u) {
3708 target = stream->EnsureSpace(target);
3709 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_random_seed(), target);
3712 cached_has_bits = _has_bits_[0];
3714 if (cached_has_bits & 0x00000020u) {
3715 target = stream->EnsureSpace(target);
3716 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(32, this->_internal_random_branches_ratio(), target);
3719 cached_has_bits = _has_bits_[3];
3721 if (cached_has_bits & 0x00000020u) {
3722 target = stream->EnsureSpace(target);
3723 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_treat_binary_clauses_separately(), target);
3726 cached_has_bits = _has_bits_[2];
3728 if (cached_has_bits & 0x00010000u) {
3729 target = stream->EnsureSpace(target);
3730 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3731 34, this->_internal_binary_minimization_algorithm(), target);
3735 if (cached_has_bits & 0x80000000u) {
3736 target = stream->EnsureSpace(target);
3737 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_optimization_hints(), target);
3741 if (cached_has_bits & 0x00002000u) {
3742 target = stream->EnsureSpace(target);
3743 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_max_time_in_seconds(), target);
3747 if (cached_has_bits & 0x00004000u) {
3748 target = stream->EnsureSpace(target);
3749 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(37, this->_internal_max_number_of_conflicts(), target);
3753 if (cached_has_bits & 0x00008000u) {
3754 target = stream->EnsureSpace(target);
3755 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(40, this->_internal_max_memory_in_mb(), target);
3758 cached_has_bits = _has_bits_[1];
3760 if (cached_has_bits & 0x00080000u) {
3761 target = stream->EnsureSpace(target);
3762 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_log_search_progress(), target);
3765 cached_has_bits = _has_bits_[0];
3767 if (cached_has_bits & 0x01000000u) {
3768 target = stream->EnsureSpace(target);
3769 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(43, this->_internal_use_pb_resolution(), target);
3772 cached_has_bits = _has_bits_[3];
3774 if (cached_has_bits & 0x00000008u) {
3775 target = stream->EnsureSpace(target);
3776 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(44, this->_internal_use_phase_saving(), target);
3779 cached_has_bits = _has_bits_[0];
3781 if (cached_has_bits & 0x00000040u) {
3782 target = stream->EnsureSpace(target);
3783 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_random_polarity_ratio(), target);
3786 cached_has_bits = _has_bits_[2];
3788 if (cached_has_bits & 0x00020000u) {
3789 target = stream->EnsureSpace(target);
3790 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_pb_cleanup_increment(), target);
3794 if (cached_has_bits & 0x00040000u) {
3795 target = stream->EnsureSpace(target);
3796 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(47, this->_internal_pb_cleanup_ratio(), target);
3799 cached_has_bits = _has_bits_[0];
3801 if (cached_has_bits & 0x02000000u) {
3802 target = stream->EnsureSpace(target);
3803 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_minimize_reduction_during_pb_resolution(), target);
3806 cached_has_bits = _has_bits_[3];
3808 if (cached_has_bits & 0x00010000u) {
3809 target = stream->EnsureSpace(target);
3810 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(49, this->_internal_count_assumption_levels_in_lbd(), target);
3814 if (cached_has_bits & 0x00000001u) {
3815 target = stream->EnsureSpace(target);
3816 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(50, this->_internal_minimize_core(), target);
3819 cached_has_bits = _has_bits_[0];
3821 if (cached_has_bits & 0x00000080u) {
3822 target = stream->EnsureSpace(target);
3823 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3824 51, this->_internal_max_sat_assumption_order(), target);
3828 if (cached_has_bits & 0x00080000u) {
3829 target = stream->EnsureSpace(target);
3830 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(52, this->_internal_max_sat_reverse_assumption_order(), target);
3833 cached_has_bits = _has_bits_[2];
3835 if (cached_has_bits & 0x00080000u) {
3836 target = stream->EnsureSpace(target);
3837 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3838 53, this->_internal_max_sat_stratification(), target);
3842 if (cached_has_bits & 0x00100000u) {
3843 target = stream->EnsureSpace(target);
3844 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(54, this->_internal_presolve_bve_threshold(), target);
3848 if (cached_has_bits & 0x00400000u) {
3849 target = stream->EnsureSpace(target);
3850 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_presolve_bve_clause_weight(), target);
3853 cached_has_bits = _has_bits_[3];
3855 if (cached_has_bits & 0x00000010u) {
3856 target = stream->EnsureSpace(target);
3857 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(56, this->_internal_subsumption_during_conflict_analysis(), target);
3860 cached_has_bits = _has_bits_[2];
3862 if (cached_has_bits & 0x00200000u) {
3863 target = stream->EnsureSpace(target);
3864 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(57, this->_internal_presolve_probing_deterministic_time_limit(), target);
3867 cached_has_bits = _has_bits_[0];
3869 if (cached_has_bits & 0x00000100u) {
3870 target = stream->EnsureSpace(target);
3871 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3872 58, this->_internal_clause_cleanup_protection(), target);
3875 cached_has_bits = _has_bits_[2];
3877 if (cached_has_bits & 0x00800000u) {
3878 target = stream->EnsureSpace(target);
3879 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(59, this->_internal_clause_cleanup_lbd_bound(), target);
3882 cached_has_bits = _has_bits_[0];
3884 if (cached_has_bits & 0x00000200u) {
3885 target = stream->EnsureSpace(target);
3886 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3887 60, this->_internal_clause_cleanup_ordering(), target);
3891 for (
int i = 0, n = this->_internal_restart_algorithms_size(); i < n; i++) {
3892 target = stream->EnsureSpace(target);
3893 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3894 61, this->_internal_restart_algorithms(i), target);
3897 cached_has_bits = _has_bits_[2];
3899 if (cached_has_bits & 0x02000000u) {
3900 target = stream->EnsureSpace(target);
3901 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(62, this->_internal_restart_running_window_size(), target);
3905 if (cached_has_bits & 0x01000000u) {
3906 target = stream->EnsureSpace(target);
3907 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(63, this->_internal_restart_dl_average_ratio(), target);
3910 cached_has_bits = _has_bits_[0];
3912 if (cached_has_bits & 0x00010000u) {
3913 target = stream->EnsureSpace(target);
3914 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(64, this->_internal_use_blocking_restart(), target);
3917 cached_has_bits = _has_bits_[2];
3919 if (cached_has_bits & 0x04000000u) {
3920 target = stream->EnsureSpace(target);
3921 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(65, this->_internal_blocking_restart_window_size(), target);
3925 if (cached_has_bits & 0x08000000u) {
3926 target = stream->EnsureSpace(target);
3927 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(66, this->_internal_blocking_restart_multiplier(), target);
3931 if (cached_has_bits & 0x10000000u) {
3932 target = stream->EnsureSpace(target);
3933 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(67, this->_internal_max_deterministic_time(), target);
3936 cached_has_bits = _has_bits_[0];
3938 if (cached_has_bits & 0x00000400u) {
3939 target = stream->EnsureSpace(target);
3940 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(68, this->_internal_num_conflicts_before_strategy_changes(), target);
3944 if (cached_has_bits & 0x00000800u) {
3945 target = stream->EnsureSpace(target);
3946 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(69, this->_internal_strategy_change_increase_ratio(), target);
3950 if (cached_has_bits & 0x00000001u) {
3951 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3952 this->_internal_default_restart_algorithms().data(),
static_cast<int>(this->_internal_default_restart_algorithms().length()),
3953 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3954 "operations_research.sat.SatParameters.default_restart_algorithms");
3955 target = stream->WriteStringMaybeAliased(
3956 70, this->_internal_default_restart_algorithms(), target);
3959 cached_has_bits = _has_bits_[3];
3961 if (cached_has_bits & 0x00000004u) {
3962 target = stream->EnsureSpace(target);
3963 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(71, this->_internal_restart_lbd_average_ratio(), target);
3967 if (cached_has_bits & 0x00040000u) {
3968 target = stream->EnsureSpace(target);
3969 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(72, this->_internal_presolve_use_bva(), target);
3973 if (cached_has_bits & 0x00000002u) {
3974 target = stream->EnsureSpace(target);
3975 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(73, this->_internal_presolve_bva_threshold(), target);
3979 if (cached_has_bits & 0x00000200u) {
3980 target = stream->EnsureSpace(target);
3981 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(74, this->_internal_use_precedences_in_disjunctive_constraint(), target);
3984 cached_has_bits = _has_bits_[0];
3986 if (cached_has_bits & 0x00004000u) {
3987 target = stream->EnsureSpace(target);
3988 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(75, this->_internal_use_erwa_heuristic(), target);
3992 if (cached_has_bits & 0x00001000u) {
3993 target = stream->EnsureSpace(target);
3994 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_initial_variables_activity(), target);
3998 if (cached_has_bits & 0x00008000u) {
3999 target = stream->EnsureSpace(target);
4000 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_also_bump_variables_in_conflict_reasons(), target);
4004 if (cached_has_bits & 0x00100000u) {
4005 target = stream->EnsureSpace(target);
4006 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(78, this->_internal_use_overload_checker_in_cumulative_constraint(), target);
4010 if (cached_has_bits & 0x00200000u) {
4011 target = stream->EnsureSpace(target);
4012 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(79, this->_internal_use_timetable_edge_finding_in_cumulative_constraint(), target);
4015 cached_has_bits = _has_bits_[3];
4017 if (cached_has_bits & 0x00000400u) {
4018 target = stream->EnsureSpace(target);
4019 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(80, this->_internal_use_disjunctive_constraint_in_cumulative_constraint(), target);
4022 cached_has_bits = _has_bits_[0];
4024 if (cached_has_bits & 0x00002000u) {
4025 target = stream->EnsureSpace(target);
4026 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4027 82, this->_internal_search_branching(), target);
4030 cached_has_bits = _has_bits_[1];
4032 if (cached_has_bits & 0x00000800u) {
4033 target = stream->EnsureSpace(target);
4034 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_optimize_with_core(), target);
4037 cached_has_bits = _has_bits_[3];
4039 if (cached_has_bits & 0x00000080u) {
4040 target = stream->EnsureSpace(target);
4041 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(84, this->_internal_find_multiple_cores(), target);
4044 cached_has_bits = _has_bits_[1];
4046 if (cached_has_bits & 0x00000020u) {
4047 target = stream->EnsureSpace(target);
4048 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_optimize_with_max_hs(), target);
4051 cached_has_bits = _has_bits_[2];
4053 if (cached_has_bits & 0x20000000u) {
4054 target = stream->EnsureSpace(target);
4055 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_cp_model_presolve(), target);
4058 cached_has_bits = _has_bits_[1];
4060 if (cached_has_bits & 0x00000040u) {
4061 target = stream->EnsureSpace(target);
4062 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_enumerate_all_solutions(), target);
4065 cached_has_bits = _has_bits_[3];
4067 if (cached_has_bits & 0x00020000u) {
4068 target = stream->EnsureSpace(target);
4069 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(88, this->_internal_presolve_blocked_clause(), target);
4073 if (cached_has_bits & 0x00000100u) {
4074 target = stream->EnsureSpace(target);
4075 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(89, this->_internal_cover_optimization(), target);
4079 if (cached_has_bits & 0x00000800u) {
4080 target = stream->EnsureSpace(target);
4081 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(90, this->_internal_linearization_level(), target);
4085 if (cached_has_bits & 0x00001000u) {
4086 target = stream->EnsureSpace(target);
4087 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(91, this->_internal_max_num_cuts(), target);
4090 cached_has_bits = _has_bits_[1];
4092 if (cached_has_bits & 0x00800000u) {
4093 target = stream->EnsureSpace(target);
4094 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(92, this->_internal_only_add_cuts_at_level_zero(), target);
4097 cached_has_bits = _has_bits_[2];
4099 if (cached_has_bits & 0x40000000u) {
4100 target = stream->EnsureSpace(target);
4101 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(93, this->_internal_cp_model_use_sat_presolve(), target);
4104 cached_has_bits = _has_bits_[3];
4106 if (cached_has_bits & 0x10000000u) {
4107 target = stream->EnsureSpace(target);
4108 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(94, this->_internal_exploit_integer_lp_solution(), target);
4112 if (cached_has_bits & 0x01000000u) {
4113 target = stream->EnsureSpace(target);
4114 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(95, this->_internal_auto_detect_greater_than_at_least_one_of(), target);
4118 if (cached_has_bits & 0x00002000u) {
4119 target = stream->EnsureSpace(target);
4120 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(96, this->_internal_minimize_with_propagation_restart_period(), target);
4124 if (cached_has_bits & 0x00004000u) {
4125 target = stream->EnsureSpace(target);
4126 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(97, this->_internal_minimize_with_propagation_num_decisions(), target);
4129 cached_has_bits = _has_bits_[1];
4131 if (cached_has_bits & 0x00004000u) {
4132 target = stream->EnsureSpace(target);
4133 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(98, this->_internal_stop_after_first_solution(), target);
4136 cached_has_bits = _has_bits_[3];
4138 if (cached_has_bits & 0x00080000u) {
4139 target = stream->EnsureSpace(target);
4140 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(99, this->_internal_binary_search_num_conflicts(), target);
4143 cached_has_bits = _has_bits_[0];
4145 if (cached_has_bits & 0x00040000u) {
4146 target = stream->EnsureSpace(target);
4147 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(100, this->_internal_num_search_workers(), target);
4150 cached_has_bits = _has_bits_[1];
4152 if (cached_has_bits & 0x00000004u) {
4153 target = stream->EnsureSpace(target);
4154 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_use_lns_only(), target);
4157 cached_has_bits = _has_bits_[0];
4159 if (cached_has_bits & 0x20000000u) {
4160 target = stream->EnsureSpace(target);
4161 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(103, this->_internal_randomize_search(), target);
4165 if (cached_has_bits & 0x00800000u) {
4166 target = stream->EnsureSpace(target);
4167 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(104, this->_internal_search_randomization_tolerance(), target);
4170 cached_has_bits = _has_bits_[3];
4172 if (cached_has_bits & 0x00800000u) {
4173 target = stream->EnsureSpace(target);
4174 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(106, this->_internal_instantiate_all_variables(), target);
4178 if (cached_has_bits & 0x00100000u) {
4179 target = stream->EnsureSpace(target);
4180 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(107, this->_internal_boolean_encoding_level(), target);
4183 cached_has_bits = _has_bits_[4];
4185 if (cached_has_bits & 0x00000800u) {
4186 target = stream->EnsureSpace(target);
4187 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(108, this->_internal_use_optional_variables(), target);
4191 if (cached_has_bits & 0x00004000u) {
4192 target = stream->EnsureSpace(target);
4193 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(109, this->_internal_use_exact_lp_reason(), target);
4196 cached_has_bits = _has_bits_[3];
4198 if (cached_has_bits & 0x00200000u) {
4199 target = stream->EnsureSpace(target);
4200 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(110, this->_internal_cp_model_probing_level(), target);
4204 if (cached_has_bits & 0x08000000u) {
4205 target = stream->EnsureSpace(target);
4206 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_add_lp_constraints_lazily(), target);
4210 if (cached_has_bits & 0x02000000u) {
4211 target = stream->EnsureSpace(target);
4212 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_share_objective_bounds(), target);
4215 cached_has_bits = _has_bits_[4];
4217 if (cached_has_bits & 0x00000100u) {
4218 target = stream->EnsureSpace(target);
4219 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(114, this->_internal_share_level_zero_bounds(), target);
4222 cached_has_bits = _has_bits_[3];
4224 if (cached_has_bits & 0x40000000u) {
4225 target = stream->EnsureSpace(target);
4226 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(115, this->_internal_min_orthogonality_for_lp_constraints(), target);
4230 if (cached_has_bits & 0x20000000u) {
4231 target = stream->EnsureSpace(target);
4232 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(116, this->_internal_exploit_all_lp_solution(), target);
4235 cached_has_bits = _has_bits_[4];
4237 if (cached_has_bits & 0x00080000u) {
4238 target = stream->EnsureSpace(target);
4239 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_add_cg_cuts(), target);
4242 cached_has_bits = _has_bits_[3];
4244 if (cached_has_bits & 0x80000000u) {
4245 target = stream->EnsureSpace(target);
4246 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(119, this->_internal_max_integer_rounding_scaling(), target);
4249 cached_has_bits = _has_bits_[4];
4251 if (cached_has_bits & 0x00100000u) {
4252 target = stream->EnsureSpace(target);
4253 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_add_mir_cuts(), target);
4257 if (cached_has_bits & 0x00000001u) {
4258 target = stream->EnsureSpace(target);
4259 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(121, this->_internal_max_consecutive_inactive_count(), target);
4263 if (cached_has_bits & 0x00000008u) {
4264 target = stream->EnsureSpace(target);
4265 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_new_constraints_batch_size(), target);
4269 if (cached_has_bits & 0x00000002u) {
4270 target = stream->EnsureSpace(target);
4271 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(123, this->_internal_pseudo_cost_reliability_threshold(), target);
4275 if (cached_has_bits & 0x00000004u) {
4276 target = stream->EnsureSpace(target);
4277 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(124, this->_internal_mip_max_bound(), target);
4281 if (cached_has_bits & 0x00000020u) {
4282 target = stream->EnsureSpace(target);
4283 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(125, this->_internal_mip_var_scaling(), target);
4287 if (cached_has_bits & 0x00000040u) {
4288 target = stream->EnsureSpace(target);
4289 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(126, this->_internal_mip_wanted_precision(), target);
4293 if (cached_has_bits & 0x00000010u) {
4294 target = stream->EnsureSpace(target);
4295 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mip_max_activity_exponent(), target);
4299 if (cached_has_bits & 0x00000080u) {
4300 target = stream->EnsureSpace(target);
4301 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(128, this->_internal_mip_check_precision(), target);
4305 if (cached_has_bits & 0x00000200u) {
4306 target = stream->EnsureSpace(target);
4307 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(129, this->_internal_use_rins_lns(), target);
4310 cached_has_bits = _has_bits_[1];
4312 if (cached_has_bits & 0x00000100u) {
4313 target = stream->EnsureSpace(target);
4314 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(130, this->_internal_exploit_best_solution(), target);
4317 cached_has_bits = _has_bits_[3];
4319 if (cached_has_bits & 0x00400000u) {
4320 target = stream->EnsureSpace(target);
4321 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(131, this->_internal_exploit_objective(), target);
4324 cached_has_bits = _has_bits_[1];
4326 if (cached_has_bits & 0x00001000u) {
4327 target = stream->EnsureSpace(target);
4328 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(132, this->_internal_fill_tightened_domains_in_response(), target);
4331 cached_has_bits = _has_bits_[0];
4333 if (cached_has_bits & 0x80000000u) {
4334 target = stream->EnsureSpace(target);
4335 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_use_combined_no_overlap(), target);
4338 cached_has_bits = _has_bits_[4];
4340 if (cached_has_bits & 0x00001000u) {
4341 target = stream->EnsureSpace(target);
4342 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(134, this->_internal_interleave_batch_size(), target);
4346 if (cached_has_bits & 0x00008000u) {
4347 target = stream->EnsureSpace(target);
4348 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_catch_sigint_signal(), target);
4351 cached_has_bits = _has_bits_[1];
4353 if (cached_has_bits & 0x00000001u) {
4354 target = stream->EnsureSpace(target);
4355 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(136, this->_internal_interleave_search(), target);
4358 cached_has_bits = _has_bits_[0];
4360 if (cached_has_bits & 0x10000000u) {
4361 target = stream->EnsureSpace(target);
4362 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(137, this->_internal_diversify_lns_params(), target);
4365 cached_has_bits = _has_bits_[4];
4367 if (cached_has_bits & 0x00002000u) {
4368 target = stream->EnsureSpace(target);
4369 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(138, this->_internal_max_presolve_iterations(), target);
4372 cached_has_bits = _has_bits_[0];
4374 if (cached_has_bits & 0x40000000u) {
4375 target = stream->EnsureSpace(target);
4376 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(139, this->_internal_use_branching_in_lp(), target);
4379 cached_has_bits = _has_bits_[1];
4381 if (cached_has_bits & 0x00000002u) {
4382 target = stream->EnsureSpace(target);
4383 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(141, this->_internal_reduce_memory_usage_in_interleave_mode(), target);
4387 if (cached_has_bits & 0x00010000u) {
4388 target = stream->EnsureSpace(target);
4389 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(142, this->_internal_probing_period_at_root(), target);
4392 cached_has_bits = _has_bits_[4];
4394 if (cached_has_bits & 0x00010000u) {
4395 target = stream->EnsureSpace(target);
4396 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(144, this->_internal_use_implied_bounds(), target);
4400 if (cached_has_bits & 0x00040000u) {
4401 target = stream->EnsureSpace(target);
4402 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(145, this->_internal_merge_no_overlap_work_limit(), target);
4406 if (cached_has_bits & 0x01000000u) {
4407 target = stream->EnsureSpace(target);
4408 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(146, this->_internal_merge_at_most_one_work_limit(), target);
4412 if (cached_has_bits & 0x00800000u) {
4413 target = stream->EnsureSpace(target);
4414 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(147, this->_internal_presolve_substitution_level(), target);
4418 if (cached_has_bits & 0x02000000u) {
4419 target = stream->EnsureSpace(target);
4420 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(148, this->_internal_max_all_diff_cut_size(), target);
4423 cached_has_bits = _has_bits_[1];
4425 if (cached_has_bits & 0x00008000u) {
4426 target = stream->EnsureSpace(target);
4427 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(149, this->_internal_stop_after_presolve(), target);
4431 if (cached_has_bits & 0x00000008u) {
4432 target = stream->EnsureSpace(target);
4433 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(150, this->_internal_use_relaxation_lns(), target);
4437 if (cached_has_bits & 0x00200000u) {
4438 target = stream->EnsureSpace(target);
4439 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(151, this->_internal_debug_max_num_presolve_operations(), target);
4442 cached_has_bits = _has_bits_[3];
4444 if (cached_has_bits & 0x04000000u) {
4445 target = stream->EnsureSpace(target);
4446 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(152, this->_internal_add_lin_max_cuts(), target);
4449 cached_has_bits = _has_bits_[4];
4451 if (cached_has_bits & 0x04000000u) {
4452 target = stream->EnsureSpace(target);
4453 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(153, this->_internal_hint_conflict_limit(), target);
4457 if (cached_has_bits & 0x10000000u) {
4458 target = stream->EnsureSpace(target);
4459 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(154, this->_internal_max_cut_rounds_at_level_zero(), target);
4463 if (cached_has_bits & 0x08000000u) {
4464 target = stream->EnsureSpace(target);
4465 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(155, this->_internal_cut_max_active_count_value(), target);
4469 if (cached_has_bits & 0x40000000u) {
4470 target = stream->EnsureSpace(target);
4471 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(156, this->_internal_cut_active_count_decay(), target);
4475 if (cached_has_bits & 0x20000000u) {
4476 target = stream->EnsureSpace(target);
4477 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(157, this->_internal_cut_cleanup_target(), target);
4481 if (cached_has_bits & 0x80000000u) {
4482 target = stream->EnsureSpace(target);
4483 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(159, this->_internal_absolute_gap_limit(), target);
4486 cached_has_bits = _has_bits_[1];
4488 if (cached_has_bits & 0x00400000u) {
4489 target = stream->EnsureSpace(target);
4490 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(160, this->_internal_relative_gap_limit(), target);
4494 if (cached_has_bits & 0x00000200u) {
4495 target = stream->EnsureSpace(target);
4496 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(161, this->_internal_exploit_relaxation_solution(), target);
4500 if (cached_has_bits & 0x40000000u) {
4501 target = stream->EnsureSpace(target);
4502 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(162, this->_internal_debug_postsolve_with_full_solver(), target);
4505 cached_has_bits = _has_bits_[0];
4507 if (cached_has_bits & 0x04000000u) {
4508 target = stream->EnsureSpace(target);
4509 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(163, this->_internal_use_sat_inprocessing(), target);
4512 cached_has_bits = _has_bits_[4];
4514 if (cached_has_bits & 0x00000400u) {
4515 target = stream->EnsureSpace(target);
4516 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(164, this->_internal_use_feasibility_pump(), target);
4519 cached_has_bits = _has_bits_[5];
4521 if (cached_has_bits & 0x00000001u) {
4522 target = stream->EnsureSpace(target);
4523 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4524 165, this->_internal_fp_rounding(), target);
4528 if (cached_has_bits & 0x00000004u) {
4529 target = stream->EnsureSpace(target);
4530 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(166, this->_internal_mip_automatically_scale_variables(), target);
4533 cached_has_bits = _has_bits_[1];
4535 if (cached_has_bits & 0x02000000u) {
4536 target = stream->EnsureSpace(target);
4537 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(167, this->_internal_repair_hint(), target);
4540 cached_has_bits = _has_bits_[5];
4542 if (cached_has_bits & 0x00000002u) {
4543 target = stream->EnsureSpace(target);
4544 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(168, this->_internal_polarity_rephase_increment(), target);
4547 cached_has_bits = _has_bits_[4];
4549 if (cached_has_bits & 0x00200000u) {
4550 target = stream->EnsureSpace(target);
4551 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(169, this->_internal_add_zero_half_cuts(), target);
4554 cached_has_bits = _has_bits_[0];
4556 if (cached_has_bits & 0x08000000u) {
4557 target = stream->EnsureSpace(target);
4558 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(170, this->_internal_expand_alldiff_constraints(), target);
4562 if (cached_has_bits & 0x00000002u) {
4563 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4564 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
4565 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4566 "operations_research.sat.SatParameters.name");
4567 target = stream->WriteStringMaybeAliased(
4568 171, this->_internal_name(), target);
4571 cached_has_bits = _has_bits_[4];
4573 if (cached_has_bits & 0x00400000u) {
4574 target = stream->EnsureSpace(target);
4575 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(172, this->_internal_add_clique_cuts(), target);
4578 cached_has_bits = _has_bits_[1];
4580 if (cached_has_bits & 0x00000080u) {
4581 target = stream->EnsureSpace(target);
4582 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(173, this->_internal_keep_all_feasible_solutions_in_presolve(), target);
4586 if (cached_has_bits & 0x20000000u) {
4587 target = stream->EnsureSpace(target);
4588 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(174, this->_internal_presolve_extract_integer_enforcement(), target);
4592 if (cached_has_bits & 0x08000000u) {
4593 target = stream->EnsureSpace(target);
4594 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(175, this->_internal_polish_lp_solution(), target);
4598 if (cached_has_bits & 0x00000400u) {
4599 target = stream->EnsureSpace(target);
4600 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(176, this->_internal_use_probing_search(), target);
4603 cached_has_bits = _has_bits_[4];
4605 if (cached_has_bits & 0x00020000u) {
4606 target = stream->EnsureSpace(target);
4607 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(177, this->_internal_convert_intervals(), target);
4610 cached_has_bits = _has_bits_[0];
4612 if (cached_has_bits & 0x00020000u) {
4613 target = stream->EnsureSpace(target);
4614 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(178, this->_internal_permute_variable_randomly(), target);
4617 cached_has_bits = _has_bits_[1];
4619 if (cached_has_bits & 0x00020000u) {
4620 target = stream->EnsureSpace(target);
4621 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(179, this->_internal_permute_presolve_constraint_order(), target);
4625 if (cached_has_bits & 0x00040000u) {
4626 target = stream->EnsureSpace(target);
4627 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(180, this->_internal_use_absl_random(), target);
4631 if (cached_has_bits & 0x10000000u) {
4632 target = stream->EnsureSpace(target);
4633 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(181, this->_internal_disable_constraint_expansion(), target);
4636 cached_has_bits = _has_bits_[5];
4638 if (cached_has_bits & 0x00000010u) {
4639 target = stream->EnsureSpace(target);
4640 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(183, this->_internal_symmetry_level(), target);
4643 cached_has_bits = _has_bits_[0];
4645 if (cached_has_bits & 0x00000004u) {
4646 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4647 this->_internal_log_prefix().data(),
static_cast<int>(this->_internal_log_prefix().length()),
4648 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4649 "operations_research.sat.SatParameters.log_prefix");
4650 target = stream->WriteStringMaybeAliased(
4651 185, this->_internal_log_prefix(), target);
4654 cached_has_bits = _has_bits_[3];
4656 if (cached_has_bits & 0x00008000u) {
4657 target = stream->EnsureSpace(target);
4658 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(186, this->_internal_log_to_stdout(), target);
4661 cached_has_bits = _has_bits_[1];
4663 if (cached_has_bits & 0x00100000u) {
4664 target = stream->EnsureSpace(target);
4665 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(187, this->_internal_log_to_response(), target);
4669 if (cached_has_bits & 0x00000010u) {
4670 target = stream->EnsureSpace(target);
4671 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(188, this->_internal_optimize_with_lb_tree_search(), target);
4674 cached_has_bits = _has_bits_[3];
4676 if (cached_has_bits & 0x00000040u) {
4677 target = stream->EnsureSpace(target);
4678 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(189, this->_internal_log_subsolver_statistics(), target);
4681 cached_has_bits = _has_bits_[5];
4683 if (cached_has_bits & 0x00000020u) {
4684 target = stream->EnsureSpace(target);
4685 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(190, this->_internal_clause_cleanup_ratio(), target);
4689 if (cached_has_bits & 0x00000040u) {
4690 target = stream->EnsureSpace(target);
4691 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(191, this->_internal_max_domain_size_when_encoding_eq_neq_constraints(), target);
4694 cached_has_bits = _has_bits_[1];
4696 if (cached_has_bits & 0x04000000u) {
4697 target = stream->EnsureSpace(target);
4698 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(192, this->_internal_fix_variables_to_their_hinted_value(), target);
4701 cached_has_bits = _has_bits_[5];
4703 if (cached_has_bits & 0x00000080u) {
4704 target = stream->EnsureSpace(target);
4705 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(193, this->_internal_solution_pool_size(), target);
4708 cached_has_bits = _has_bits_[1];
4710 if (cached_has_bits & 0x00002000u) {
4711 target = stream->EnsureSpace(target);
4712 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(194, this->_internal_fill_additional_solutions_in_response(), target);
4716 if (cached_has_bits & 0x80000000u) {
4717 target = stream->EnsureSpace(target);
4718 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(195, this->_internal_debug_crash_on_bad_hint(), target);
4721 cached_has_bits = _has_bits_[2];
4723 if (cached_has_bits & 0x00000001u) {
4724 target = stream->EnsureSpace(target);
4725 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(196, this->_internal_cut_level(), target);
4728 cached_has_bits = _has_bits_[1];
4730 if (cached_has_bits & 0x01000000u) {
4731 target = stream->EnsureSpace(target);
4732 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(197, this->_internal_add_objective_cut(), target);
4735 cached_has_bits = _has_bits_[5];
4737 if (cached_has_bits & 0x00000008u) {
4738 target = stream->EnsureSpace(target);
4739 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(198, this->_internal_mip_compute_true_objective_bound(), target);
4743 if (cached_has_bits & 0x00000100u) {
4744 target = stream->EnsureSpace(target);
4745 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(199, this->_internal_mip_max_valid_magnitude(), target);
4748 cached_has_bits = _has_bits_[0];
4750 if (cached_has_bits & 0x00400000u) {
4751 target = stream->EnsureSpace(target);
4752 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(200, this->_internal_use_cumulative_in_no_overlap_2d(), target);
4755 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4756 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4757 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4765 size_t total_size = 0;
4767 uint32_t cached_has_bits = 0;
4769 (void) cached_has_bits;
4773 size_t data_size = 0;
4774 unsigned int count =
static_cast<unsigned int>(this->_internal_restart_algorithms_size());
for (
unsigned int i = 0; i < count; i++) {
4775 data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
4776 this->_internal_restart_algorithms(
static_cast<int>(i)));
4778 total_size += (2UL * count) + data_size;
4781 cached_has_bits = _has_bits_[0];
4782 if (cached_has_bits & 0x000000ffu) {
4784 if (cached_has_bits & 0x00000001u) {
4786 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4787 this->_internal_default_restart_algorithms());
4791 if (cached_has_bits & 0x00000002u) {
4793 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4794 this->_internal_name());
4798 if (cached_has_bits & 0x00000004u) {
4800 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4801 this->_internal_log_prefix());
4805 if (cached_has_bits & 0x00000008u) {
4807 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_preferred_variable_order());
4811 if (cached_has_bits & 0x00000010u) {
4812 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_clause_cleanup_target());
4816 if (cached_has_bits & 0x00000020u) {
4817 total_size += 2 + 8;
4821 if (cached_has_bits & 0x00000040u) {
4822 total_size += 2 + 8;
4826 if (cached_has_bits & 0x00000080u) {
4828 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_assumption_order());
4832 if (cached_has_bits & 0x0000ff00u) {
4834 if (cached_has_bits & 0x00000100u) {
4836 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_protection());
4840 if (cached_has_bits & 0x00000200u) {
4842 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_ordering());
4846 if (cached_has_bits & 0x00000400u) {
4848 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4849 this->_internal_num_conflicts_before_strategy_changes());
4853 if (cached_has_bits & 0x00000800u) {
4854 total_size += 2 + 8;
4858 if (cached_has_bits & 0x00001000u) {
4859 total_size += 2 + 8;
4863 if (cached_has_bits & 0x00002000u) {
4865 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_search_branching());
4869 if (cached_has_bits & 0x00004000u) {
4870 total_size += 2 + 1;
4874 if (cached_has_bits & 0x00008000u) {
4875 total_size += 2 + 1;
4879 if (cached_has_bits & 0x00ff0000u) {
4881 if (cached_has_bits & 0x00010000u) {
4882 total_size += 2 + 1;
4886 if (cached_has_bits & 0x00020000u) {
4887 total_size += 2 + 1;
4891 if (cached_has_bits & 0x00040000u) {
4893 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4894 this->_internal_num_search_workers());
4898 if (cached_has_bits & 0x00080000u) {
4899 total_size += 2 + 1;
4903 if (cached_has_bits & 0x00100000u) {
4904 total_size += 2 + 1;
4908 if (cached_has_bits & 0x00200000u) {
4909 total_size += 2 + 1;
4913 if (cached_has_bits & 0x00400000u) {
4914 total_size += 2 + 1;
4918 if (cached_has_bits & 0x00800000u) {
4920 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4921 this->_internal_search_randomization_tolerance());
4925 if (cached_has_bits & 0xff000000u) {
4927 if (cached_has_bits & 0x01000000u) {
4928 total_size += 2 + 1;
4932 if (cached_has_bits & 0x02000000u) {
4933 total_size += 2 + 1;
4937 if (cached_has_bits & 0x04000000u) {
4938 total_size += 2 + 1;
4942 if (cached_has_bits & 0x08000000u) {
4943 total_size += 2 + 1;
4947 if (cached_has_bits & 0x10000000u) {
4948 total_size += 2 + 1;
4952 if (cached_has_bits & 0x20000000u) {
4953 total_size += 2 + 1;
4957 if (cached_has_bits & 0x40000000u) {
4958 total_size += 2 + 1;
4962 if (cached_has_bits & 0x80000000u) {
4963 total_size += 2 + 1;
4967 cached_has_bits = _has_bits_[1];
4968 if (cached_has_bits & 0x000000ffu) {
4970 if (cached_has_bits & 0x00000001u) {
4971 total_size += 2 + 1;
4975 if (cached_has_bits & 0x00000002u) {
4976 total_size += 2 + 1;
4980 if (cached_has_bits & 0x00000004u) {
4981 total_size += 2 + 1;
4985 if (cached_has_bits & 0x00000008u) {
4986 total_size += 2 + 1;
4990 if (cached_has_bits & 0x00000010u) {
4991 total_size += 2 + 1;
4995 if (cached_has_bits & 0x00000020u) {
4996 total_size += 2 + 1;
5000 if (cached_has_bits & 0x00000040u) {
5001 total_size += 2 + 1;
5005 if (cached_has_bits & 0x00000080u) {
5006 total_size += 2 + 1;
5010 if (cached_has_bits & 0x0000ff00u) {
5012 if (cached_has_bits & 0x00000100u) {
5013 total_size += 2 + 1;
5017 if (cached_has_bits & 0x00000200u) {
5018 total_size += 2 + 1;
5022 if (cached_has_bits & 0x00000400u) {
5023 total_size += 2 + 1;
5027 if (cached_has_bits & 0x00000800u) {
5028 total_size += 2 + 1;
5032 if (cached_has_bits & 0x00001000u) {
5033 total_size += 2 + 1;
5037 if (cached_has_bits & 0x00002000u) {
5038 total_size += 2 + 1;
5042 if (cached_has_bits & 0x00004000u) {
5043 total_size += 2 + 1;
5047 if (cached_has_bits & 0x00008000u) {
5048 total_size += 2 + 1;
5052 if (cached_has_bits & 0x00ff0000u) {
5054 if (cached_has_bits & 0x00010000u) {
5056 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5057 this->_internal_probing_period_at_root());
5061 if (cached_has_bits & 0x00020000u) {
5062 total_size += 2 + 1;
5066 if (cached_has_bits & 0x00040000u) {
5067 total_size += 2 + 1;
5071 if (cached_has_bits & 0x00080000u) {
5072 total_size += 2 + 1;
5076 if (cached_has_bits & 0x00100000u) {
5077 total_size += 2 + 1;
5081 if (cached_has_bits & 0x00200000u) {
5083 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5084 this->_internal_debug_max_num_presolve_operations());
5088 if (cached_has_bits & 0x00400000u) {
5089 total_size += 2 + 8;
5093 if (cached_has_bits & 0x00800000u) {
5094 total_size += 2 + 1;
5098 if (cached_has_bits & 0xff000000u) {
5100 if (cached_has_bits & 0x01000000u) {
5101 total_size += 2 + 1;
5105 if (cached_has_bits & 0x02000000u) {
5106 total_size += 2 + 1;
5110 if (cached_has_bits & 0x04000000u) {
5111 total_size += 2 + 1;
5115 if (cached_has_bits & 0x08000000u) {
5116 total_size += 2 + 1;
5120 if (cached_has_bits & 0x10000000u) {
5121 total_size += 2 + 1;
5125 if (cached_has_bits & 0x20000000u) {
5126 total_size += 2 + 1;
5130 if (cached_has_bits & 0x40000000u) {
5131 total_size += 2 + 1;
5135 if (cached_has_bits & 0x80000000u) {
5136 total_size += 2 + 1;
5140 cached_has_bits = _has_bits_[2];
5141 if (cached_has_bits & 0x000000ffu) {
5143 if (cached_has_bits & 0x00000001u) {
5145 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5146 this->_internal_cut_level());
5150 if (cached_has_bits & 0x00000002u) {
5152 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_polarity());
5156 if (cached_has_bits & 0x00000004u) {
5158 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_minimization_algorithm());
5162 if (cached_has_bits & 0x00000008u) {
5163 total_size += 1 + 8;
5167 if (cached_has_bits & 0x00000010u) {
5168 total_size += 2 + 8;
5172 if (cached_has_bits & 0x00000020u) {
5173 total_size += 2 + 8;
5177 if (cached_has_bits & 0x00000040u) {
5178 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_clause_cleanup_period());
5182 if (cached_has_bits & 0x00000080u) {
5184 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5185 this->_internal_glucose_decay_increment_period());
5189 if (cached_has_bits & 0x0000ff00u) {
5191 if (cached_has_bits & 0x00000100u) {
5192 total_size += 2 + 8;
5196 if (cached_has_bits & 0x00000200u) {
5197 total_size += 2 + 8;
5201 if (cached_has_bits & 0x00000400u) {
5202 total_size += 2 + 8;
5206 if (cached_has_bits & 0x00000800u) {
5208 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5209 this->_internal_restart_period());
5213 if (cached_has_bits & 0x00001000u) {
5215 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5216 this->_internal_random_seed());
5220 if (cached_has_bits & 0x00002000u) {
5221 total_size += 2 + 8;
5225 if (cached_has_bits & 0x00004000u) {
5227 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5228 this->_internal_max_number_of_conflicts());
5232 if (cached_has_bits & 0x00008000u) {
5234 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5235 this->_internal_max_memory_in_mb());
5239 if (cached_has_bits & 0x00ff0000u) {
5241 if (cached_has_bits & 0x00010000u) {
5243 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_binary_minimization_algorithm());
5247 if (cached_has_bits & 0x00020000u) {
5249 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5250 this->_internal_pb_cleanup_increment());
5254 if (cached_has_bits & 0x00040000u) {
5255 total_size += 2 + 8;
5259 if (cached_has_bits & 0x00080000u) {
5261 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_stratification());
5265 if (cached_has_bits & 0x00100000u) {
5267 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5268 this->_internal_presolve_bve_threshold());
5272 if (cached_has_bits & 0x00200000u) {
5273 total_size += 2 + 8;
5277 if (cached_has_bits & 0x00400000u) {
5279 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5280 this->_internal_presolve_bve_clause_weight());
5284 if (cached_has_bits & 0x00800000u) {
5286 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5287 this->_internal_clause_cleanup_lbd_bound());
5291 if (cached_has_bits & 0xff000000u) {
5293 if (cached_has_bits & 0x01000000u) {
5294 total_size += 2 + 8;
5298 if (cached_has_bits & 0x02000000u) {
5300 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5301 this->_internal_restart_running_window_size());
5305 if (cached_has_bits & 0x04000000u) {
5307 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5308 this->_internal_blocking_restart_window_size());
5312 if (cached_has_bits & 0x08000000u) {
5313 total_size += 2 + 8;
5317 if (cached_has_bits & 0x10000000u) {
5318 total_size += 2 + 8;
5322 if (cached_has_bits & 0x20000000u) {
5323 total_size += 2 + 1;
5327 if (cached_has_bits & 0x40000000u) {
5328 total_size += 2 + 1;
5332 if (cached_has_bits & 0x80000000u) {
5333 total_size += 2 + 1;
5337 cached_has_bits = _has_bits_[3];
5338 if (cached_has_bits & 0x000000ffu) {
5340 if (cached_has_bits & 0x00000001u) {
5341 total_size += 2 + 1;
5345 if (cached_has_bits & 0x00000002u) {
5347 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5348 this->_internal_presolve_bva_threshold());
5352 if (cached_has_bits & 0x00000004u) {
5353 total_size += 2 + 8;
5357 if (cached_has_bits & 0x00000008u) {
5358 total_size += 2 + 1;
5362 if (cached_has_bits & 0x00000010u) {
5363 total_size += 2 + 1;
5367 if (cached_has_bits & 0x00000020u) {
5368 total_size += 2 + 1;
5372 if (cached_has_bits & 0x00000040u) {
5373 total_size += 2 + 1;
5377 if (cached_has_bits & 0x00000080u) {
5378 total_size += 2 + 1;
5382 if (cached_has_bits & 0x0000ff00u) {
5384 if (cached_has_bits & 0x00000100u) {
5385 total_size += 2 + 1;
5389 if (cached_has_bits & 0x00000200u) {
5390 total_size += 2 + 1;
5394 if (cached_has_bits & 0x00000400u) {
5395 total_size += 2 + 1;
5399 if (cached_has_bits & 0x00000800u) {
5401 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5402 this->_internal_linearization_level());
5406 if (cached_has_bits & 0x00001000u) {
5408 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5409 this->_internal_max_num_cuts());
5413 if (cached_has_bits & 0x00002000u) {
5415 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5416 this->_internal_minimize_with_propagation_restart_period());
5420 if (cached_has_bits & 0x00004000u) {
5422 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5423 this->_internal_minimize_with_propagation_num_decisions());
5427 if (cached_has_bits & 0x00008000u) {
5428 total_size += 2 + 1;
5432 if (cached_has_bits & 0x00ff0000u) {
5434 if (cached_has_bits & 0x00010000u) {
5435 total_size += 2 + 1;
5439 if (cached_has_bits & 0x00020000u) {
5440 total_size += 2 + 1;
5444 if (cached_has_bits & 0x00040000u) {
5445 total_size += 2 + 1;
5449 if (cached_has_bits & 0x00080000u) {
5451 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5452 this->_internal_binary_search_num_conflicts());
5456 if (cached_has_bits & 0x00100000u) {
5458 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5459 this->_internal_boolean_encoding_level());
5463 if (cached_has_bits & 0x00200000u) {
5465 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5466 this->_internal_cp_model_probing_level());
5470 if (cached_has_bits & 0x00400000u) {
5471 total_size += 2 + 1;
5475 if (cached_has_bits & 0x00800000u) {
5476 total_size += 2 + 1;
5480 if (cached_has_bits & 0xff000000u) {
5482 if (cached_has_bits & 0x01000000u) {
5483 total_size += 2 + 1;
5487 if (cached_has_bits & 0x02000000u) {
5488 total_size += 2 + 1;
5492 if (cached_has_bits & 0x04000000u) {
5493 total_size += 2 + 1;
5497 if (cached_has_bits & 0x08000000u) {
5498 total_size += 2 + 1;
5502 if (cached_has_bits & 0x10000000u) {
5503 total_size += 2 + 1;
5507 if (cached_has_bits & 0x20000000u) {
5508 total_size += 2 + 1;
5512 if (cached_has_bits & 0x40000000u) {
5513 total_size += 2 + 8;
5517 if (cached_has_bits & 0x80000000u) {
5519 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5520 this->_internal_max_integer_rounding_scaling());
5524 cached_has_bits = _has_bits_[4];
5525 if (cached_has_bits & 0x000000ffu) {
5527 if (cached_has_bits & 0x00000001u) {
5529 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5530 this->_internal_max_consecutive_inactive_count());
5534 if (cached_has_bits & 0x00000002u) {
5536 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5537 this->_internal_pseudo_cost_reliability_threshold());
5541 if (cached_has_bits & 0x00000004u) {
5542 total_size += 2 + 8;
5546 if (cached_has_bits & 0x00000008u) {
5548 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5549 this->_internal_new_constraints_batch_size());
5553 if (cached_has_bits & 0x00000010u) {
5555 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5556 this->_internal_mip_max_activity_exponent());
5560 if (cached_has_bits & 0x00000020u) {
5561 total_size += 2 + 8;
5565 if (cached_has_bits & 0x00000040u) {
5566 total_size += 2 + 8;
5570 if (cached_has_bits & 0x00000080u) {
5571 total_size += 2 + 8;
5575 if (cached_has_bits & 0x0000ff00u) {
5577 if (cached_has_bits & 0x00000100u) {
5578 total_size += 2 + 1;
5582 if (cached_has_bits & 0x00000200u) {
5583 total_size += 2 + 1;
5587 if (cached_has_bits & 0x00000400u) {
5588 total_size += 2 + 1;
5592 if (cached_has_bits & 0x00000800u) {
5593 total_size += 2 + 1;
5597 if (cached_has_bits & 0x00001000u) {
5599 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5600 this->_internal_interleave_batch_size());
5604 if (cached_has_bits & 0x00002000u) {
5606 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5607 this->_internal_max_presolve_iterations());
5611 if (cached_has_bits & 0x00004000u) {
5612 total_size += 2 + 1;
5616 if (cached_has_bits & 0x00008000u) {
5617 total_size += 2 + 1;
5621 if (cached_has_bits & 0x00ff0000u) {
5623 if (cached_has_bits & 0x00010000u) {
5624 total_size += 2 + 1;
5628 if (cached_has_bits & 0x00020000u) {
5629 total_size += 2 + 1;
5633 if (cached_has_bits & 0x00040000u) {
5634 total_size += 2 + 8;
5638 if (cached_has_bits & 0x00080000u) {
5639 total_size += 2 + 1;
5643 if (cached_has_bits & 0x00100000u) {
5644 total_size += 2 + 1;
5648 if (cached_has_bits & 0x00200000u) {
5649 total_size += 2 + 1;
5653 if (cached_has_bits & 0x00400000u) {
5654 total_size += 2 + 1;
5658 if (cached_has_bits & 0x00800000u) {
5660 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5661 this->_internal_presolve_substitution_level());
5665 if (cached_has_bits & 0xff000000u) {
5667 if (cached_has_bits & 0x01000000u) {
5668 total_size += 2 + 8;
5672 if (cached_has_bits & 0x02000000u) {
5674 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5675 this->_internal_max_all_diff_cut_size());
5679 if (cached_has_bits & 0x04000000u) {
5681 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5682 this->_internal_hint_conflict_limit());
5686 if (cached_has_bits & 0x08000000u) {
5687 total_size += 2 + 8;
5691 if (cached_has_bits & 0x10000000u) {
5693 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5694 this->_internal_max_cut_rounds_at_level_zero());
5698 if (cached_has_bits & 0x20000000u) {
5700 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5701 this->_internal_cut_cleanup_target());
5705 if (cached_has_bits & 0x40000000u) {
5706 total_size += 2 + 8;
5710 if (cached_has_bits & 0x80000000u) {
5711 total_size += 2 + 8;
5715 cached_has_bits = _has_bits_[5];
5716 if (cached_has_bits & 0x000000ffu) {
5718 if (cached_has_bits & 0x00000001u) {
5720 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fp_rounding());
5724 if (cached_has_bits & 0x00000002u) {
5726 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5727 this->_internal_polarity_rephase_increment());
5731 if (cached_has_bits & 0x00000004u) {
5732 total_size += 2 + 1;
5736 if (cached_has_bits & 0x00000008u) {
5737 total_size += 2 + 1;
5741 if (cached_has_bits & 0x00000010u) {
5743 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5744 this->_internal_symmetry_level());
5748 if (cached_has_bits & 0x00000020u) {
5749 total_size += 2 + 8;
5753 if (cached_has_bits & 0x00000040u) {
5755 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5756 this->_internal_max_domain_size_when_encoding_eq_neq_constraints());
5760 if (cached_has_bits & 0x00000080u) {
5762 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5763 this->_internal_solution_pool_size());
5768 if (cached_has_bits & 0x00000100u) {
5769 total_size += 2 + 8;
5772 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
5776 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
5777 SatParameters::MergeImpl
5781void SatParameters::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
5782 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5790 GOOGLE_DCHECK_NE(&from,
this);
5791 uint32_t cached_has_bits = 0;
5792 (void) cached_has_bits;
5794 restart_algorithms_.MergeFrom(from.restart_algorithms_);
5795 cached_has_bits = from._has_bits_[0];
5796 if (cached_has_bits & 0x000000ffu) {
5797 if (cached_has_bits & 0x00000001u) {
5798 _internal_set_default_restart_algorithms(from._internal_default_restart_algorithms());
5800 if (cached_has_bits & 0x00000002u) {
5801 _internal_set_name(from._internal_name());
5803 if (cached_has_bits & 0x00000004u) {
5804 _internal_set_log_prefix(from._internal_log_prefix());
5806 if (cached_has_bits & 0x00000008u) {
5807 preferred_variable_order_ = from.preferred_variable_order_;
5809 if (cached_has_bits & 0x00000010u) {
5810 clause_cleanup_target_ = from.clause_cleanup_target_;
5812 if (cached_has_bits & 0x00000020u) {
5813 random_branches_ratio_ = from.random_branches_ratio_;
5815 if (cached_has_bits & 0x00000040u) {
5816 random_polarity_ratio_ = from.random_polarity_ratio_;
5818 if (cached_has_bits & 0x00000080u) {
5819 max_sat_assumption_order_ = from.max_sat_assumption_order_;
5821 _has_bits_[0] |= cached_has_bits;
5823 if (cached_has_bits & 0x0000ff00u) {
5824 if (cached_has_bits & 0x00000100u) {
5825 clause_cleanup_protection_ = from.clause_cleanup_protection_;
5827 if (cached_has_bits & 0x00000200u) {
5828 clause_cleanup_ordering_ = from.clause_cleanup_ordering_;
5830 if (cached_has_bits & 0x00000400u) {
5831 num_conflicts_before_strategy_changes_ = from.num_conflicts_before_strategy_changes_;
5833 if (cached_has_bits & 0x00000800u) {
5834 strategy_change_increase_ratio_ = from.strategy_change_increase_ratio_;
5836 if (cached_has_bits & 0x00001000u) {
5837 initial_variables_activity_ = from.initial_variables_activity_;
5839 if (cached_has_bits & 0x00002000u) {
5840 search_branching_ = from.search_branching_;
5842 if (cached_has_bits & 0x00004000u) {
5843 use_erwa_heuristic_ = from.use_erwa_heuristic_;
5845 if (cached_has_bits & 0x00008000u) {
5846 also_bump_variables_in_conflict_reasons_ = from.also_bump_variables_in_conflict_reasons_;
5848 _has_bits_[0] |= cached_has_bits;
5850 if (cached_has_bits & 0x00ff0000u) {
5851 if (cached_has_bits & 0x00010000u) {
5852 use_blocking_restart_ = from.use_blocking_restart_;
5854 if (cached_has_bits & 0x00020000u) {
5855 permute_variable_randomly_ = from.permute_variable_randomly_;
5857 if (cached_has_bits & 0x00040000u) {
5858 num_search_workers_ = from.num_search_workers_;
5860 if (cached_has_bits & 0x00080000u) {
5861 max_sat_reverse_assumption_order_ = from.max_sat_reverse_assumption_order_;
5863 if (cached_has_bits & 0x00100000u) {
5864 use_overload_checker_in_cumulative_constraint_ = from.use_overload_checker_in_cumulative_constraint_;
5866 if (cached_has_bits & 0x00200000u) {
5867 use_timetable_edge_finding_in_cumulative_constraint_ = from.use_timetable_edge_finding_in_cumulative_constraint_;
5869 if (cached_has_bits & 0x00400000u) {
5870 use_cumulative_in_no_overlap_2d_ = from.use_cumulative_in_no_overlap_2d_;
5872 if (cached_has_bits & 0x00800000u) {
5873 search_randomization_tolerance_ = from.search_randomization_tolerance_;
5875 _has_bits_[0] |= cached_has_bits;
5877 if (cached_has_bits & 0xff000000u) {
5878 if (cached_has_bits & 0x01000000u) {
5879 use_pb_resolution_ = from.use_pb_resolution_;
5881 if (cached_has_bits & 0x02000000u) {
5882 minimize_reduction_during_pb_resolution_ = from.minimize_reduction_during_pb_resolution_;
5884 if (cached_has_bits & 0x04000000u) {
5885 use_sat_inprocessing_ = from.use_sat_inprocessing_;
5887 if (cached_has_bits & 0x08000000u) {
5888 expand_alldiff_constraints_ = from.expand_alldiff_constraints_;
5890 if (cached_has_bits & 0x10000000u) {
5891 diversify_lns_params_ = from.diversify_lns_params_;
5893 if (cached_has_bits & 0x20000000u) {
5894 randomize_search_ = from.randomize_search_;
5896 if (cached_has_bits & 0x40000000u) {
5897 use_branching_in_lp_ = from.use_branching_in_lp_;
5899 if (cached_has_bits & 0x80000000u) {
5900 use_combined_no_overlap_ = from.use_combined_no_overlap_;
5902 _has_bits_[0] |= cached_has_bits;
5904 cached_has_bits = from._has_bits_[1];
5905 if (cached_has_bits & 0x000000ffu) {
5906 if (cached_has_bits & 0x00000001u) {
5907 interleave_search_ = from.interleave_search_;
5909 if (cached_has_bits & 0x00000002u) {
5910 reduce_memory_usage_in_interleave_mode_ = from.reduce_memory_usage_in_interleave_mode_;
5912 if (cached_has_bits & 0x00000004u) {
5913 use_lns_only_ = from.use_lns_only_;
5915 if (cached_has_bits & 0x00000008u) {
5916 use_relaxation_lns_ = from.use_relaxation_lns_;
5918 if (cached_has_bits & 0x00000010u) {
5919 optimize_with_lb_tree_search_ = from.optimize_with_lb_tree_search_;
5921 if (cached_has_bits & 0x00000020u) {
5922 optimize_with_max_hs_ = from.optimize_with_max_hs_;
5924 if (cached_has_bits & 0x00000040u) {
5925 enumerate_all_solutions_ = from.enumerate_all_solutions_;
5927 if (cached_has_bits & 0x00000080u) {
5928 keep_all_feasible_solutions_in_presolve_ = from.keep_all_feasible_solutions_in_presolve_;
5930 _has_bits_[1] |= cached_has_bits;
5932 if (cached_has_bits & 0x0000ff00u) {
5933 if (cached_has_bits & 0x00000100u) {
5934 exploit_best_solution_ = from.exploit_best_solution_;
5936 if (cached_has_bits & 0x00000200u) {
5937 exploit_relaxation_solution_ = from.exploit_relaxation_solution_;
5939 if (cached_has_bits & 0x00000400u) {
5940 use_probing_search_ = from.use_probing_search_;
5942 if (cached_has_bits & 0x00000800u) {
5943 optimize_with_core_ = from.optimize_with_core_;
5945 if (cached_has_bits & 0x00001000u) {
5946 fill_tightened_domains_in_response_ = from.fill_tightened_domains_in_response_;
5948 if (cached_has_bits & 0x00002000u) {
5949 fill_additional_solutions_in_response_ = from.fill_additional_solutions_in_response_;
5951 if (cached_has_bits & 0x00004000u) {
5952 stop_after_first_solution_ = from.stop_after_first_solution_;
5954 if (cached_has_bits & 0x00008000u) {
5955 stop_after_presolve_ = from.stop_after_presolve_;
5957 _has_bits_[1] |= cached_has_bits;
5959 if (cached_has_bits & 0x00ff0000u) {
5960 if (cached_has_bits & 0x00010000u) {
5961 probing_period_at_root_ = from.probing_period_at_root_;
5963 if (cached_has_bits & 0x00020000u) {
5964 permute_presolve_constraint_order_ = from.permute_presolve_constraint_order_;
5966 if (cached_has_bits & 0x00040000u) {
5967 use_absl_random_ = from.use_absl_random_;
5969 if (cached_has_bits & 0x00080000u) {
5970 log_search_progress_ = from.log_search_progress_;
5972 if (cached_has_bits & 0x00100000u) {
5973 log_to_response_ = from.log_to_response_;
5975 if (cached_has_bits & 0x00200000u) {
5976 debug_max_num_presolve_operations_ = from.debug_max_num_presolve_operations_;
5978 if (cached_has_bits & 0x00400000u) {
5979 relative_gap_limit_ = from.relative_gap_limit_;
5981 if (cached_has_bits & 0x00800000u) {
5982 only_add_cuts_at_level_zero_ = from.only_add_cuts_at_level_zero_;
5984 _has_bits_[1] |= cached_has_bits;
5986 if (cached_has_bits & 0xff000000u) {
5987 if (cached_has_bits & 0x01000000u) {
5988 add_objective_cut_ = from.add_objective_cut_;
5990 if (cached_has_bits & 0x02000000u) {
5991 repair_hint_ = from.repair_hint_;
5993 if (cached_has_bits & 0x04000000u) {
5994 fix_variables_to_their_hinted_value_ = from.fix_variables_to_their_hinted_value_;
5996 if (cached_has_bits & 0x08000000u) {
5997 polish_lp_solution_ = from.polish_lp_solution_;
5999 if (cached_has_bits & 0x10000000u) {
6000 disable_constraint_expansion_ = from.disable_constraint_expansion_;
6002 if (cached_has_bits & 0x20000000u) {
6003 presolve_extract_integer_enforcement_ = from.presolve_extract_integer_enforcement_;
6005 if (cached_has_bits & 0x40000000u) {
6006 debug_postsolve_with_full_solver_ = from.debug_postsolve_with_full_solver_;
6008 if (cached_has_bits & 0x80000000u) {
6009 debug_crash_on_bad_hint_ = from.debug_crash_on_bad_hint_;
6011 _has_bits_[1] |= cached_has_bits;
6013 cached_has_bits = from._has_bits_[2];
6014 if (cached_has_bits & 0x000000ffu) {
6015 if (cached_has_bits & 0x00000001u) {
6016 cut_level_ = from.cut_level_;
6018 if (cached_has_bits & 0x00000002u) {
6019 initial_polarity_ = from.initial_polarity_;
6021 if (cached_has_bits & 0x00000004u) {
6022 minimization_algorithm_ = from.minimization_algorithm_;
6024 if (cached_has_bits & 0x00000008u) {
6025 variable_activity_decay_ = from.variable_activity_decay_;
6027 if (cached_has_bits & 0x00000010u) {
6028 max_variable_activity_value_ = from.max_variable_activity_value_;
6030 if (cached_has_bits & 0x00000020u) {
6031 clause_activity_decay_ = from.clause_activity_decay_;
6033 if (cached_has_bits & 0x00000040u) {
6034 clause_cleanup_period_ = from.clause_cleanup_period_;
6036 if (cached_has_bits & 0x00000080u) {
6037 glucose_decay_increment_period_ = from.glucose_decay_increment_period_;
6039 _has_bits_[2] |= cached_has_bits;
6041 if (cached_has_bits & 0x0000ff00u) {
6042 if (cached_has_bits & 0x00000100u) {
6043 max_clause_activity_value_ = from.max_clause_activity_value_;
6045 if (cached_has_bits & 0x00000200u) {
6046 glucose_max_decay_ = from.glucose_max_decay_;
6048 if (cached_has_bits & 0x00000400u) {
6049 glucose_decay_increment_ = from.glucose_decay_increment_;
6051 if (cached_has_bits & 0x00000800u) {
6052 restart_period_ = from.restart_period_;
6054 if (cached_has_bits & 0x00001000u) {
6055 random_seed_ = from.random_seed_;
6057 if (cached_has_bits & 0x00002000u) {
6058 max_time_in_seconds_ = from.max_time_in_seconds_;
6060 if (cached_has_bits & 0x00004000u) {
6061 max_number_of_conflicts_ = from.max_number_of_conflicts_;
6063 if (cached_has_bits & 0x00008000u) {
6064 max_memory_in_mb_ = from.max_memory_in_mb_;
6066 _has_bits_[2] |= cached_has_bits;
6068 if (cached_has_bits & 0x00ff0000u) {
6069 if (cached_has_bits & 0x00010000u) {
6070 binary_minimization_algorithm_ = from.binary_minimization_algorithm_;
6072 if (cached_has_bits & 0x00020000u) {
6073 pb_cleanup_increment_ = from.pb_cleanup_increment_;
6075 if (cached_has_bits & 0x00040000u) {
6076 pb_cleanup_ratio_ = from.pb_cleanup_ratio_;
6078 if (cached_has_bits & 0x00080000u) {
6079 max_sat_stratification_ = from.max_sat_stratification_;
6081 if (cached_has_bits & 0x00100000u) {
6082 presolve_bve_threshold_ = from.presolve_bve_threshold_;
6084 if (cached_has_bits & 0x00200000u) {
6085 presolve_probing_deterministic_time_limit_ = from.presolve_probing_deterministic_time_limit_;
6087 if (cached_has_bits & 0x00400000u) {
6088 presolve_bve_clause_weight_ = from.presolve_bve_clause_weight_;
6090 if (cached_has_bits & 0x00800000u) {
6091 clause_cleanup_lbd_bound_ = from.clause_cleanup_lbd_bound_;
6093 _has_bits_[2] |= cached_has_bits;
6095 if (cached_has_bits & 0xff000000u) {
6096 if (cached_has_bits & 0x01000000u) {
6097 restart_dl_average_ratio_ = from.restart_dl_average_ratio_;
6099 if (cached_has_bits & 0x02000000u) {
6100 restart_running_window_size_ = from.restart_running_window_size_;
6102 if (cached_has_bits & 0x04000000u) {
6103 blocking_restart_window_size_ = from.blocking_restart_window_size_;
6105 if (cached_has_bits & 0x08000000u) {
6106 blocking_restart_multiplier_ = from.blocking_restart_multiplier_;
6108 if (cached_has_bits & 0x10000000u) {
6109 max_deterministic_time_ = from.max_deterministic_time_;
6111 if (cached_has_bits & 0x20000000u) {
6112 cp_model_presolve_ = from.cp_model_presolve_;
6114 if (cached_has_bits & 0x40000000u) {
6115 cp_model_use_sat_presolve_ = from.cp_model_use_sat_presolve_;
6117 if (cached_has_bits & 0x80000000u) {
6118 use_optimization_hints_ = from.use_optimization_hints_;
6120 _has_bits_[2] |= cached_has_bits;
6122 cached_has_bits = from._has_bits_[3];
6123 if (cached_has_bits & 0x000000ffu) {
6124 if (cached_has_bits & 0x00000001u) {
6125 minimize_core_ = from.minimize_core_;
6127 if (cached_has_bits & 0x00000002u) {
6128 presolve_bva_threshold_ = from.presolve_bva_threshold_;
6130 if (cached_has_bits & 0x00000004u) {
6131 restart_lbd_average_ratio_ = from.restart_lbd_average_ratio_;
6133 if (cached_has_bits & 0x00000008u) {
6134 use_phase_saving_ = from.use_phase_saving_;
6136 if (cached_has_bits & 0x00000010u) {
6137 subsumption_during_conflict_analysis_ = from.subsumption_during_conflict_analysis_;
6139 if (cached_has_bits & 0x00000020u) {
6140 treat_binary_clauses_separately_ = from.treat_binary_clauses_separately_;
6142 if (cached_has_bits & 0x00000040u) {
6143 log_subsolver_statistics_ = from.log_subsolver_statistics_;
6145 if (cached_has_bits & 0x00000080u) {
6146 find_multiple_cores_ = from.find_multiple_cores_;
6148 _has_bits_[3] |= cached_has_bits;
6150 if (cached_has_bits & 0x0000ff00u) {
6151 if (cached_has_bits & 0x00000100u) {
6152 cover_optimization_ = from.cover_optimization_;
6154 if (cached_has_bits & 0x00000200u) {
6155 use_precedences_in_disjunctive_constraint_ = from.use_precedences_in_disjunctive_constraint_;
6157 if (cached_has_bits & 0x00000400u) {
6158 use_disjunctive_constraint_in_cumulative_constraint_ = from.use_disjunctive_constraint_in_cumulative_constraint_;
6160 if (cached_has_bits & 0x00000800u) {
6161 linearization_level_ = from.linearization_level_;
6163 if (cached_has_bits & 0x00001000u) {
6164 max_num_cuts_ = from.max_num_cuts_;
6166 if (cached_has_bits & 0x00002000u) {
6167 minimize_with_propagation_restart_period_ = from.minimize_with_propagation_restart_period_;
6169 if (cached_has_bits & 0x00004000u) {
6170 minimize_with_propagation_num_decisions_ = from.minimize_with_propagation_num_decisions_;
6172 if (cached_has_bits & 0x00008000u) {
6173 log_to_stdout_ = from.log_to_stdout_;
6175 _has_bits_[3] |= cached_has_bits;
6177 if (cached_has_bits & 0x00ff0000u) {
6178 if (cached_has_bits & 0x00010000u) {
6179 count_assumption_levels_in_lbd_ = from.count_assumption_levels_in_lbd_;
6181 if (cached_has_bits & 0x00020000u) {
6182 presolve_blocked_clause_ = from.presolve_blocked_clause_;
6184 if (cached_has_bits & 0x00040000u) {
6185 presolve_use_bva_ = from.presolve_use_bva_;
6187 if (cached_has_bits & 0x00080000u) {
6188 binary_search_num_conflicts_ = from.binary_search_num_conflicts_;
6190 if (cached_has_bits & 0x00100000u) {
6191 boolean_encoding_level_ = from.boolean_encoding_level_;
6193 if (cached_has_bits & 0x00200000u) {
6194 cp_model_probing_level_ = from.cp_model_probing_level_;
6196 if (cached_has_bits & 0x00400000u) {
6197 exploit_objective_ = from.exploit_objective_;
6199 if (cached_has_bits & 0x00800000u) {
6200 instantiate_all_variables_ = from.instantiate_all_variables_;
6202 _has_bits_[3] |= cached_has_bits;
6204 if (cached_has_bits & 0xff000000u) {
6205 if (cached_has_bits & 0x01000000u) {
6206 auto_detect_greater_than_at_least_one_of_ = from.auto_detect_greater_than_at_least_one_of_;
6208 if (cached_has_bits & 0x02000000u) {
6209 share_objective_bounds_ = from.share_objective_bounds_;
6211 if (cached_has_bits & 0x04000000u) {
6212 add_lin_max_cuts_ = from.add_lin_max_cuts_;
6214 if (cached_has_bits & 0x08000000u) {
6215 add_lp_constraints_lazily_ = from.add_lp_constraints_lazily_;
6217 if (cached_has_bits & 0x10000000u) {
6218 exploit_integer_lp_solution_ = from.exploit_integer_lp_solution_;
6220 if (cached_has_bits & 0x20000000u) {
6221 exploit_all_lp_solution_ = from.exploit_all_lp_solution_;
6223 if (cached_has_bits & 0x40000000u) {
6224 min_orthogonality_for_lp_constraints_ = from.min_orthogonality_for_lp_constraints_;
6226 if (cached_has_bits & 0x80000000u) {
6227 max_integer_rounding_scaling_ = from.max_integer_rounding_scaling_;
6229 _has_bits_[3] |= cached_has_bits;
6231 cached_has_bits = from._has_bits_[4];
6232 if (cached_has_bits & 0x000000ffu) {
6233 if (cached_has_bits & 0x00000001u) {
6234 max_consecutive_inactive_count_ = from.max_consecutive_inactive_count_;
6236 if (cached_has_bits & 0x00000002u) {
6237 pseudo_cost_reliability_threshold_ = from.pseudo_cost_reliability_threshold_;
6239 if (cached_has_bits & 0x00000004u) {
6240 mip_max_bound_ = from.mip_max_bound_;
6242 if (cached_has_bits & 0x00000008u) {
6243 new_constraints_batch_size_ = from.new_constraints_batch_size_;
6245 if (cached_has_bits & 0x00000010u) {
6246 mip_max_activity_exponent_ = from.mip_max_activity_exponent_;
6248 if (cached_has_bits & 0x00000020u) {
6249 mip_var_scaling_ = from.mip_var_scaling_;
6251 if (cached_has_bits & 0x00000040u) {
6252 mip_wanted_precision_ = from.mip_wanted_precision_;
6254 if (cached_has_bits & 0x00000080u) {
6255 mip_check_precision_ = from.mip_check_precision_;
6257 _has_bits_[4] |= cached_has_bits;
6259 if (cached_has_bits & 0x0000ff00u) {
6260 if (cached_has_bits & 0x00000100u) {
6261 share_level_zero_bounds_ = from.share_level_zero_bounds_;
6263 if (cached_has_bits & 0x00000200u) {
6264 use_rins_lns_ = from.use_rins_lns_;
6266 if (cached_has_bits & 0x00000400u) {
6267 use_feasibility_pump_ = from.use_feasibility_pump_;
6269 if (cached_has_bits & 0x00000800u) {
6270 use_optional_variables_ = from.use_optional_variables_;
6272 if (cached_has_bits & 0x00001000u) {
6273 interleave_batch_size_ = from.interleave_batch_size_;
6275 if (cached_has_bits & 0x00002000u) {
6276 max_presolve_iterations_ = from.max_presolve_iterations_;
6278 if (cached_has_bits & 0x00004000u) {
6279 use_exact_lp_reason_ = from.use_exact_lp_reason_;
6281 if (cached_has_bits & 0x00008000u) {
6282 catch_sigint_signal_ = from.catch_sigint_signal_;
6284 _has_bits_[4] |= cached_has_bits;
6286 if (cached_has_bits & 0x00ff0000u) {
6287 if (cached_has_bits & 0x00010000u) {
6288 use_implied_bounds_ = from.use_implied_bounds_;
6290 if (cached_has_bits & 0x00020000u) {
6291 convert_intervals_ = from.convert_intervals_;
6293 if (cached_has_bits & 0x00040000u) {
6294 merge_no_overlap_work_limit_ = from.merge_no_overlap_work_limit_;
6296 if (cached_has_bits & 0x00080000u) {
6297 add_cg_cuts_ = from.add_cg_cuts_;
6299 if (cached_has_bits & 0x00100000u) {
6300 add_mir_cuts_ = from.add_mir_cuts_;
6302 if (cached_has_bits & 0x00200000u) {
6303 add_zero_half_cuts_ = from.add_zero_half_cuts_;
6305 if (cached_has_bits & 0x00400000u) {
6306 add_clique_cuts_ = from.add_clique_cuts_;
6308 if (cached_has_bits & 0x00800000u) {
6309 presolve_substitution_level_ = from.presolve_substitution_level_;
6311 _has_bits_[4] |= cached_has_bits;
6313 if (cached_has_bits & 0xff000000u) {
6314 if (cached_has_bits & 0x01000000u) {
6315 merge_at_most_one_work_limit_ = from.merge_at_most_one_work_limit_;
6317 if (cached_has_bits & 0x02000000u) {
6318 max_all_diff_cut_size_ = from.max_all_diff_cut_size_;
6320 if (cached_has_bits & 0x04000000u) {
6321 hint_conflict_limit_ = from.hint_conflict_limit_;
6323 if (cached_has_bits & 0x08000000u) {
6324 cut_max_active_count_value_ = from.cut_max_active_count_value_;
6326 if (cached_has_bits & 0x10000000u) {
6327 max_cut_rounds_at_level_zero_ = from.max_cut_rounds_at_level_zero_;
6329 if (cached_has_bits & 0x20000000u) {
6330 cut_cleanup_target_ = from.cut_cleanup_target_;
6332 if (cached_has_bits & 0x40000000u) {
6333 cut_active_count_decay_ = from.cut_active_count_decay_;
6335 if (cached_has_bits & 0x80000000u) {
6336 absolute_gap_limit_ = from.absolute_gap_limit_;
6338 _has_bits_[4] |= cached_has_bits;
6340 cached_has_bits = from._has_bits_[5];
6341 if (cached_has_bits & 0x000000ffu) {
6342 if (cached_has_bits & 0x00000001u) {
6343 fp_rounding_ = from.fp_rounding_;
6345 if (cached_has_bits & 0x00000002u) {
6346 polarity_rephase_increment_ = from.polarity_rephase_increment_;
6348 if (cached_has_bits & 0x00000004u) {
6349 mip_automatically_scale_variables_ = from.mip_automatically_scale_variables_;
6351 if (cached_has_bits & 0x00000008u) {
6352 mip_compute_true_objective_bound_ = from.mip_compute_true_objective_bound_;
6354 if (cached_has_bits & 0x00000010u) {
6355 symmetry_level_ = from.symmetry_level_;
6357 if (cached_has_bits & 0x00000020u) {
6358 clause_cleanup_ratio_ = from.clause_cleanup_ratio_;
6360 if (cached_has_bits & 0x00000040u) {
6361 max_domain_size_when_encoding_eq_neq_constraints_ = from.max_domain_size_when_encoding_eq_neq_constraints_;
6363 if (cached_has_bits & 0x00000080u) {
6364 solution_pool_size_ = from.solution_pool_size_;
6366 _has_bits_[5] |= cached_has_bits;
6368 if (cached_has_bits & 0x00000100u) {
6369 _internal_set_mip_max_valid_magnitude(from._internal_mip_max_valid_magnitude());
6371 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6376 if (&from ==
this)
return;
6387 auto* lhs_arena = GetArenaForAllocation();
6388 auto* rhs_arena = other->GetArenaForAllocation();
6389 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
6390 swap(_has_bits_[0], other->_has_bits_[0]);
6391 swap(_has_bits_[1], other->_has_bits_[1]);
6392 swap(_has_bits_[2], other->_has_bits_[2]);
6393 swap(_has_bits_[3], other->_has_bits_[3]);
6394 swap(_has_bits_[4], other->_has_bits_[4]);
6395 swap(_has_bits_[5], other->_has_bits_[5]);
6396 restart_algorithms_.InternalSwap(&other->restart_algorithms_);
6397 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
6399 &default_restart_algorithms_, lhs_arena,
6400 &other->default_restart_algorithms_, rhs_arena
6402 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
6403 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6405 &other->name_, rhs_arena
6407 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
6408 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6409 &log_prefix_, lhs_arena,
6410 &other->log_prefix_, rhs_arena
6412 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
6413 PROTOBUF_FIELD_OFFSET(
SatParameters, debug_crash_on_bad_hint_)
6414 +
sizeof(SatParameters::debug_crash_on_bad_hint_)
6415 - PROTOBUF_FIELD_OFFSET(
SatParameters, preferred_variable_order_)>(
6416 reinterpret_cast<char*
>(&preferred_variable_order_),
6417 reinterpret_cast<char*
>(&other->preferred_variable_order_));
6418 swap(cut_level_, other->cut_level_);
6419 swap(initial_polarity_, other->initial_polarity_);
6420 swap(minimization_algorithm_, other->minimization_algorithm_);
6421 swap(variable_activity_decay_, other->variable_activity_decay_);
6422 swap(max_variable_activity_value_, other->max_variable_activity_value_);
6423 swap(clause_activity_decay_, other->clause_activity_decay_);
6424 swap(clause_cleanup_period_, other->clause_cleanup_period_);
6425 swap(glucose_decay_increment_period_, other->glucose_decay_increment_period_);
6426 swap(max_clause_activity_value_, other->max_clause_activity_value_);
6427 swap(glucose_max_decay_, other->glucose_max_decay_);
6428 swap(glucose_decay_increment_, other->glucose_decay_increment_);
6429 swap(restart_period_, other->restart_period_);
6430 swap(random_seed_, other->random_seed_);
6431 swap(max_time_in_seconds_, other->max_time_in_seconds_);
6432 swap(max_number_of_conflicts_, other->max_number_of_conflicts_);
6433 swap(max_memory_in_mb_, other->max_memory_in_mb_);
6434 swap(binary_minimization_algorithm_, other->binary_minimization_algorithm_);
6435 swap(pb_cleanup_increment_, other->pb_cleanup_increment_);
6436 swap(pb_cleanup_ratio_, other->pb_cleanup_ratio_);
6437 swap(max_sat_stratification_, other->max_sat_stratification_);
6438 swap(presolve_bve_threshold_, other->presolve_bve_threshold_);
6439 swap(presolve_probing_deterministic_time_limit_, other->presolve_probing_deterministic_time_limit_);
6440 swap(presolve_bve_clause_weight_, other->presolve_bve_clause_weight_);
6441 swap(clause_cleanup_lbd_bound_, other->clause_cleanup_lbd_bound_);
6442 swap(restart_dl_average_ratio_, other->restart_dl_average_ratio_);
6443 swap(restart_running_window_size_, other->restart_running_window_size_);
6444 swap(blocking_restart_window_size_, other->blocking_restart_window_size_);
6445 swap(blocking_restart_multiplier_, other->blocking_restart_multiplier_);
6446 swap(max_deterministic_time_, other->max_deterministic_time_);
6447 swap(cp_model_presolve_, other->cp_model_presolve_);
6448 swap(cp_model_use_sat_presolve_, other->cp_model_use_sat_presolve_);
6449 swap(use_optimization_hints_, other->use_optimization_hints_);
6450 swap(minimize_core_, other->minimize_core_);
6451 swap(presolve_bva_threshold_, other->presolve_bva_threshold_);
6452 swap(restart_lbd_average_ratio_, other->restart_lbd_average_ratio_);
6453 swap(use_phase_saving_, other->use_phase_saving_);
6454 swap(subsumption_during_conflict_analysis_, other->subsumption_during_conflict_analysis_);
6455 swap(treat_binary_clauses_separately_, other->treat_binary_clauses_separately_);
6456 swap(log_subsolver_statistics_, other->log_subsolver_statistics_);
6457 swap(find_multiple_cores_, other->find_multiple_cores_);
6458 swap(cover_optimization_, other->cover_optimization_);
6459 swap(use_precedences_in_disjunctive_constraint_, other->use_precedences_in_disjunctive_constraint_);
6460 swap(use_disjunctive_constraint_in_cumulative_constraint_, other->use_disjunctive_constraint_in_cumulative_constraint_);
6461 swap(linearization_level_, other->linearization_level_);
6462 swap(max_num_cuts_, other->max_num_cuts_);
6463 swap(minimize_with_propagation_restart_period_, other->minimize_with_propagation_restart_period_);
6464 swap(minimize_with_propagation_num_decisions_, other->minimize_with_propagation_num_decisions_);
6465 swap(log_to_stdout_, other->log_to_stdout_);
6466 swap(count_assumption_levels_in_lbd_, other->count_assumption_levels_in_lbd_);
6467 swap(presolve_blocked_clause_, other->presolve_blocked_clause_);
6468 swap(presolve_use_bva_, other->presolve_use_bva_);
6469 swap(binary_search_num_conflicts_, other->binary_search_num_conflicts_);
6470 swap(boolean_encoding_level_, other->boolean_encoding_level_);
6471 swap(cp_model_probing_level_, other->cp_model_probing_level_);
6472 swap(exploit_objective_, other->exploit_objective_);
6473 swap(instantiate_all_variables_, other->instantiate_all_variables_);
6474 swap(auto_detect_greater_than_at_least_one_of_, other->auto_detect_greater_than_at_least_one_of_);
6475 swap(share_objective_bounds_, other->share_objective_bounds_);
6476 swap(add_lin_max_cuts_, other->add_lin_max_cuts_);
6477 swap(add_lp_constraints_lazily_, other->add_lp_constraints_lazily_);
6478 swap(exploit_integer_lp_solution_, other->exploit_integer_lp_solution_);
6479 swap(exploit_all_lp_solution_, other->exploit_all_lp_solution_);
6480 swap(min_orthogonality_for_lp_constraints_, other->min_orthogonality_for_lp_constraints_);
6481 swap(max_integer_rounding_scaling_, other->max_integer_rounding_scaling_);
6482 swap(max_consecutive_inactive_count_, other->max_consecutive_inactive_count_);
6483 swap(pseudo_cost_reliability_threshold_, other->pseudo_cost_reliability_threshold_);
6484 swap(mip_max_bound_, other->mip_max_bound_);
6485 swap(new_constraints_batch_size_, other->new_constraints_batch_size_);
6486 swap(mip_max_activity_exponent_, other->mip_max_activity_exponent_);
6487 swap(mip_var_scaling_, other->mip_var_scaling_);
6488 swap(mip_wanted_precision_, other->mip_wanted_precision_);
6489 swap(mip_check_precision_, other->mip_check_precision_);
6490 swap(share_level_zero_bounds_, other->share_level_zero_bounds_);
6491 swap(use_rins_lns_, other->use_rins_lns_);
6492 swap(use_feasibility_pump_, other->use_feasibility_pump_);
6493 swap(use_optional_variables_, other->use_optional_variables_);
6494 swap(interleave_batch_size_, other->interleave_batch_size_);
6495 swap(max_presolve_iterations_, other->max_presolve_iterations_);
6496 swap(use_exact_lp_reason_, other->use_exact_lp_reason_);
6497 swap(catch_sigint_signal_, other->catch_sigint_signal_);
6498 swap(use_implied_bounds_, other->use_implied_bounds_);
6499 swap(convert_intervals_, other->convert_intervals_);
6500 swap(merge_no_overlap_work_limit_, other->merge_no_overlap_work_limit_);
6501 swap(add_cg_cuts_, other->add_cg_cuts_);
6502 swap(add_mir_cuts_, other->add_mir_cuts_);
6503 swap(add_zero_half_cuts_, other->add_zero_half_cuts_);
6504 swap(add_clique_cuts_, other->add_clique_cuts_);
6505 swap(presolve_substitution_level_, other->presolve_substitution_level_);
6506 swap(merge_at_most_one_work_limit_, other->merge_at_most_one_work_limit_);
6507 swap(max_all_diff_cut_size_, other->max_all_diff_cut_size_);
6508 swap(hint_conflict_limit_, other->hint_conflict_limit_);
6509 swap(cut_max_active_count_value_, other->cut_max_active_count_value_);
6510 swap(max_cut_rounds_at_level_zero_, other->max_cut_rounds_at_level_zero_);
6511 swap(cut_cleanup_target_, other->cut_cleanup_target_);
6512 swap(cut_active_count_decay_, other->cut_active_count_decay_);
6513 swap(absolute_gap_limit_, other->absolute_gap_limit_);
6514 swap(fp_rounding_, other->fp_rounding_);
6515 swap(polarity_rephase_increment_, other->polarity_rephase_increment_);
6516 swap(mip_automatically_scale_variables_, other->mip_automatically_scale_variables_);
6517 swap(mip_compute_true_objective_bound_, other->mip_compute_true_objective_bound_);
6518 swap(symmetry_level_, other->symmetry_level_);
6519 swap(clause_cleanup_ratio_, other->clause_cleanup_ratio_);
6520 swap(max_domain_size_when_encoding_eq_neq_constraints_, other->max_domain_size_when_encoding_eq_neq_constraints_);
6521 swap(solution_pool_size_, other->solution_pool_size_);
6522 swap(mip_max_valid_magnitude_, other->mip_max_valid_magnitude_);
6526 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
6534PROTOBUF_NAMESPACE_OPEN
6536 return Arena::CreateMessageInternal< ::operations_research::sat::SatParameters >(arena);
6538PROTOBUF_NAMESPACE_CLOSE
6541#include <google/protobuf/port_undef.inc>
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_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_debug_crash_on_bad_hint(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_mip_compute_true_objective_bound(HasBits *has_bits)
static void set_has_exploit_relaxation_solution(HasBits *has_bits)
static void set_has_optimize_with_lb_tree_search(HasBits *has_bits)
static void set_has_use_cumulative_in_no_overlap_2d(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_solution_pool_size(HasBits *has_bits)
static void set_has_max_time_in_seconds(HasBits *has_bits)
static void set_has_glucose_decay_increment_period(HasBits *has_bits)
static void set_has_log_prefix(HasBits *has_bits)
static void set_has_default_restart_algorithms(HasBits *has_bits)
static void set_has_cut_active_count_decay(HasBits *has_bits)
static void set_has_max_sat_reverse_assumption_order(HasBits *has_bits)
static void set_has_use_phase_saving(HasBits *has_bits)
static void set_has_num_conflicts_before_strategy_changes(HasBits *has_bits)
static void set_has_interleave_batch_size(HasBits *has_bits)
static void set_has_max_sat_assumption_order(HasBits *has_bits)
static void set_has_max_deterministic_time(HasBits *has_bits)
static void set_has_max_clause_activity_value(HasBits *has_bits)
static void set_has_presolve_bve_clause_weight(HasBits *has_bits)
static void set_has_new_constraints_batch_size(HasBits *has_bits)
static void set_has_clause_cleanup_target(HasBits *has_bits)
static void set_has_use_lns_only(HasBits *has_bits)
static void set_has_use_precedences_in_disjunctive_constraint(HasBits *has_bits)
static void set_has_subsumption_during_conflict_analysis(HasBits *has_bits)
static void set_has_mip_var_scaling(HasBits *has_bits)
static void set_has_add_mir_cuts(HasBits *has_bits)
static void set_has_diversify_lns_params(HasBits *has_bits)
static void set_has_probing_period_at_root(HasBits *has_bits)
static void set_has_debug_postsolve_with_full_solver(HasBits *has_bits)
static void set_has_log_to_stdout(HasBits *has_bits)
static void set_has_minimize_with_propagation_restart_period(HasBits *has_bits)
static void set_has_debug_max_num_presolve_operations(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_max_domain_size_when_encoding_eq_neq_constraints(HasBits *has_bits)
static void set_has_catch_sigint_signal(HasBits *has_bits)
static void set_has_restart_period(HasBits *has_bits)
static void set_has_log_to_response(HasBits *has_bits)
static void set_has_use_rins_lns(HasBits *has_bits)
static void set_has_clause_cleanup_ratio(HasBits *has_bits)
static void set_has_auto_detect_greater_than_at_least_one_of(HasBits *has_bits)
static void set_has_mip_max_activity_exponent(HasBits *has_bits)
static void set_has_merge_no_overlap_work_limit(HasBits *has_bits)
static void set_has_expand_alldiff_constraints(HasBits *has_bits)
static void set_has_convert_intervals(HasBits *has_bits)
static void set_has_polish_lp_solution(HasBits *has_bits)
static void set_has_pb_cleanup_increment(HasBits *has_bits)
static void set_has_glucose_decay_increment(HasBits *has_bits)
static void set_has_use_absl_random(HasBits *has_bits)
static void set_has_fix_variables_to_their_hinted_value(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_cut_level(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_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_mip_max_valid_magnitude(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_fill_additional_solutions_in_response(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_mip_automatically_scale_variables(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_add_objective_cut(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_log_subsolver_statistics(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 constexpr ClauseOrdering ClauseOrdering_MIN
static constexpr RestartAlgorithm LBD_MOVING_AVERAGE_RESTART
static constexpr int Polarity_ARRAYSIZE
static constexpr Polarity POLARITY_FALSE
static constexpr RestartAlgorithm FIXED_RESTART
static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_DEPTH
static constexpr Polarity Polarity_MAX
friend void swap(SatParameters &a, SatParameters &b)
static constexpr RestartAlgorithm RestartAlgorithm_MAX
static constexpr FPRoundingMethod FPRoundingMethod_MIN
void MergeFrom(const SatParameters &from)
static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MAX
static constexpr SearchBranching PSEUDO_COST_SEARCH
static constexpr Polarity POLARITY_TRUE
static constexpr ConflictMinimizationAlgorithm RECURSIVE
static constexpr ClauseOrdering CLAUSE_LBD
static constexpr FPRoundingMethod NEAREST_INTEGER
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static constexpr FPRoundingMethod PROPAGATION_ASSISTED
static constexpr int ClauseProtection_ARRAYSIZE
static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MIN
static constexpr RestartAlgorithm NO_RESTART
static constexpr ConflictMinimizationAlgorithm EXPERIMENTAL
static const ClassData _class_data_
static constexpr BinaryMinizationAlgorithm NO_BINARY_MINIMIZATION
static constexpr Polarity POLARITY_REVERSE_WEIGHTED_SIGN
static constexpr Polarity POLARITY_RANDOM
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION
static constexpr SearchBranching PORTFOLIO_WITH_QUICK_RESTART_SEARCH
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_WITH_REACHABILITY
static constexpr SearchBranching PORTFOLIO_SEARCH
static constexpr VariableOrder IN_ORDER
static constexpr RestartAlgorithm DL_MOVING_AVERAGE_RESTART
void CopyFrom(const SatParameters &from)
static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MIN
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_NONE
static constexpr int MaxSatAssumptionOrder_ARRAYSIZE
static constexpr int SearchBranching_ARRAYSIZE
static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MIN
static constexpr FPRoundingMethod LOCK_BASED
bool IsInitialized() const final
static constexpr SearchBranching SearchBranching_MIN
static constexpr ConflictMinimizationAlgorithm NONE
static constexpr FPRoundingMethod ACTIVE_LOCK_BASED
static constexpr ClauseOrdering CLAUSE_ACTIVITY
static constexpr ClauseProtection ClauseProtection_MAX
static constexpr VariableOrder VariableOrder_MIN
static constexpr ConflictMinimizationAlgorithm SIMPLE
static constexpr BinaryMinizationAlgorithm BinaryMinizationAlgorithm_MIN
static constexpr MaxSatStratificationAlgorithm MaxSatStratificationAlgorithm_MAX
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static constexpr SearchBranching LP_SEARCH
static constexpr int ConflictMinimizationAlgorithm_ARRAYSIZE
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static constexpr RestartAlgorithm RestartAlgorithm_MIN
static constexpr ConflictMinimizationAlgorithm ConflictMinimizationAlgorithm_MAX
static constexpr SearchBranching SearchBranching_MAX
static constexpr int ClauseOrdering_ARRAYSIZE
static constexpr MaxSatAssumptionOrder DEFAULT_ASSUMPTION_ORDER
static constexpr int RestartAlgorithm_ARRAYSIZE
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static constexpr int BinaryMinizationAlgorithm_ARRAYSIZE
static constexpr SearchBranching AUTOMATIC_SEARCH
static constexpr VariableOrder VariableOrder_MAX
static constexpr MaxSatAssumptionOrder ORDER_ASSUMPTION_BY_WEIGHT
static constexpr MaxSatAssumptionOrder MaxSatAssumptionOrder_MAX
static constexpr VariableOrder IN_REVERSE_ORDER
static constexpr int MaxSatStratificationAlgorithm_ARRAYSIZE
static constexpr RestartAlgorithm LUBY_RESTART
static constexpr BinaryMinizationAlgorithm BINARY_MINIMIZATION_FIRST
static constexpr ClauseProtection ClauseProtection_MIN
static constexpr ClauseOrdering ClauseOrdering_MAX
~SatParameters() override
static constexpr SearchBranching HINT_SEARCH
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_ASCENT
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr FPRoundingMethod FPRoundingMethod_MAX
static constexpr ClauseProtection PROTECTION_ALWAYS
static constexpr ClauseProtection PROTECTION_NONE
size_t ByteSizeLong() const final
static constexpr VariableOrder IN_RANDOM_ORDER
static constexpr Polarity Polarity_MIN
static constexpr Polarity POLARITY_WEIGHTED_SIGN
static constexpr MaxSatStratificationAlgorithm STRATIFICATION_DESCENT
static constexpr int FPRoundingMethod_ARRAYSIZE
static constexpr int VariableOrder_ARRAYSIZE
static constexpr SearchBranching FIXED_SEARCH
static constexpr ClauseProtection PROTECTION_LBD
static constexpr BinaryMinizationAlgorithm EXPERIMENTAL_BINARY_MINIMIZATION
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseProtection_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatAssumptionOrder_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_VariableOrder_descriptor()
SatParameters_SearchBranching
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseOrdering_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_BinaryMinizationAlgorithm_descriptor()
SatParameters_FPRoundingMethod
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SatParametersDefaultTypeInternal _SatParameters_default_instance_
bool SatParameters_VariableOrder_IsValid(int value)
SatParameters_ConflictMinimizationAlgorithm
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_SearchBranching_descriptor()
SatParameters_ClauseOrdering
bool SatParameters_ClauseOrdering_IsValid(int value)
bool SatParameters_RestartAlgorithm_IsValid(int value)
SatParameters_VariableOrder
bool SatParameters_ClauseProtection_IsValid(int value)
SatParameters_BinaryMinizationAlgorithm
bool SatParameters_MaxSatAssumptionOrder_IsValid(int value)
SatParameters_MaxSatAssumptionOrder
bool SatParameters_BinaryMinizationAlgorithm_IsValid(int value)
SatParameters_RestartAlgorithm
bool SatParameters_SearchBranching_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ConflictMinimizationAlgorithm_descriptor()
bool SatParameters_ConflictMinimizationAlgorithm_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_Polarity_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_RestartAlgorithm_descriptor()
bool SatParameters_FPRoundingMethod_IsValid(int value)
bool SatParameters_MaxSatStratificationAlgorithm_IsValid(int value)
SatParameters_MaxSatStratificationAlgorithm
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatStratificationAlgorithm_descriptor()
bool SatParameters_Polarity_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_FPRoundingMethod_descriptor()
SatParameters_ClauseProtection
Collection of objects used to extend the Constraint Solver library.
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fsat_5fparameters_2eproto[1]
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fsat_2fsat_5fparameters_2eproto[11]
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE::operations_research::sat::SatParameters * Arena::CreateMaybeMessage< ::operations_research::sat::SatParameters >(Arena *arena)
PROTOBUF_ATTRIBUTE_WEAKconst ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable * descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_getter()
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fsat_5fparameters_2eproto
const uint32_t TableStruct_ortools_2fsat_2fsat_5fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto_once
constexpr SatParametersDefaultTypeInternal()
~SatParametersDefaultTypeInternal()