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_overload_checker_in_cumulative_constraint_(false)
44 , use_timetable_edge_finding_in_cumulative_constraint_(false)
45 , only_add_cuts_at_level_zero_(false)
46 , add_knapsack_cuts_(false)
47 , use_erwa_heuristic_(false)
48 , also_bump_variables_in_conflict_reasons_(false)
49 , use_blocking_restart_(false)
50 , permute_variable_randomly_(false)
51 , num_search_workers_(0)
52 , search_randomization_tolerance_(int64_t{0})
53 , use_pb_resolution_(false)
54 , minimize_reduction_during_pb_resolution_(false)
55 , cp_model_postsolve_with_full_solver_(false)
56 , use_sat_inprocessing_(false)
57 , enumerate_all_solutions_(false)
58 , keep_all_feasible_solutions_in_presolve_(false)
59 , fill_tightened_domains_in_response_(false)
60 , stop_after_first_solution_(false)
61 , lns_focus_on_decision_variables_(false)
62 , use_relaxation_lns_(false)
63 , diversify_lns_params_(false)
64 , randomize_search_(false)
65 , stop_after_presolve_(false)
66 , interleave_search_(false)
67 , reduce_memory_usage_in_interleave_mode_(false)
68 , use_lns_only_(false)
69 , use_probing_search_(false)
70 , optimize_with_core_(false)
71 , optimize_with_lb_tree_search_(false)
72 , optimize_with_max_hs_(false)
73 , expand_alldiff_constraints_(false)
74 , disable_constraint_expansion_(false)
75 , presolve_extract_integer_enforcement_(false)
76 , max_sat_reverse_assumption_order_(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 , use_branching_in_lp_(false)
83 , use_combined_no_overlap_(false)
84 , polish_lp_solution_(false)
85 , absolute_gap_limit_(0)
86 , relative_gap_limit_(0)
87 , cp_model_max_num_presolve_operations_(0)
89 , fix_variables_to_their_hinted_value_(false)
90 , exploit_best_solution_(false)
91 , exploit_relaxation_solution_(false)
92 , solution_pool_size_(3)
93 , initial_polarity_(1)
95 , minimization_algorithm_(2)
97 , variable_activity_decay_(0.8)
98 , max_variable_activity_value_(1e+100)
99 , clause_activity_decay_(0.999)
100 , clause_cleanup_period_(10000)
101 , glucose_decay_increment_period_(5000)
102 , max_clause_activity_value_(1e+20)
103 , glucose_max_decay_(0.95)
104 , glucose_decay_increment_(0.01)
105 , restart_period_(50)
107 , max_time_in_seconds_(
std::numeric_limits<double>::infinity())
108 , max_number_of_conflicts_(int64_t{9223372036854775807})
109 , max_memory_in_mb_(int64_t{10000})
110 , binary_minimization_algorithm_(1)
112 , pb_cleanup_increment_(200)
113 , pb_cleanup_ratio_(0.5)
114 , max_sat_stratification_(1)
116 , presolve_bve_threshold_(500)
117 , presolve_probing_deterministic_time_limit_(30)
118 , presolve_bve_clause_weight_(3)
119 , clause_cleanup_lbd_bound_(5)
120 , restart_dl_average_ratio_(1)
121 , restart_running_window_size_(50)
122 , blocking_restart_window_size_(5000)
123 , blocking_restart_multiplier_(1.4)
124 , max_deterministic_time_(
std::numeric_limits<double>::infinity())
125 , restart_lbd_average_ratio_(1)
126 , presolve_bva_threshold_(1)
127 , use_phase_saving_(true)
128 , subsumption_during_conflict_analysis_(true)
129 , treat_binary_clauses_separately_(true)
130 , log_subsolver_statistics_(true)
131 , find_multiple_cores_(true)
132 , cover_optimization_(true)
133 , use_precedences_in_disjunctive_constraint_(true)
134 , use_disjunctive_constraint_in_cumulative_constraint_(true)
135 , linearization_level_(1)
136 , max_num_cuts_(10000)
137 , minimize_with_propagation_restart_period_(10)
138 , minimize_with_propagation_num_decisions_(1000)
139 , log_to_stdout_(true)
140 , count_assumption_levels_in_lbd_(true)
141 , presolve_blocked_clause_(true)
142 , presolve_use_bva_(true)
143 , binary_search_num_conflicts_(-1)
144 , expand_table_constraints_(true)
145 , expand_reservoir_constraints_(true)
146 , use_optimization_hints_(true)
147 , minimize_core_(true)
148 , boolean_encoding_level_(1)
149 , cp_model_probing_level_(2)
150 , exploit_objective_(true)
151 , instantiate_all_variables_(true)
152 , auto_detect_greater_than_at_least_one_of_(true)
153 , share_objective_bounds_(true)
154 , cp_model_presolve_(true)
155 , cp_model_use_sat_presolve_(true)
156 , expand_element_constraints_(true)
157 , expand_automaton_constraints_(true)
158 , min_orthogonality_for_lp_constraints_(0.05)
159 , add_lin_max_cuts_(true)
160 , add_lp_constraints_lazily_(true)
161 , exploit_integer_lp_solution_(true)
162 , exploit_all_lp_solution_(true)
163 , max_integer_rounding_scaling_(600)
164 , max_consecutive_inactive_count_(100)
165 , new_constraints_batch_size_(50)
166 , pseudo_cost_reliability_threshold_(int64_t{100})
167 , mip_max_bound_(10000000)
168 , use_optional_variables_(true)
169 , use_exact_lp_reason_(true)
170 , catch_sigint_signal_(true)
171 , use_implied_bounds_(true)
172 , mip_max_activity_exponent_(53)
173 , mip_var_scaling_(1)
174 , mip_wanted_precision_(1e-06)
175 , mip_check_precision_(0.0001)
176 , interleave_batch_size_(1)
177 , max_presolve_iterations_(3)
178 , merge_no_overlap_work_limit_(1000000000000)
180 , add_mir_cuts_(true)
181 , add_zero_half_cuts_(true)
182 , add_clique_cuts_(true)
183 , presolve_substitution_level_(1)
184 , merge_at_most_one_work_limit_(100000000)
185 , share_level_zero_bounds_(true)
186 , lns_expand_intervals_in_constraint_graph_(true)
187 , use_rins_lns_(true)
188 , use_feasibility_pump_(true)
189 , max_all_diff_cut_size_(7)
190 , hint_conflict_limit_(10)
191 , max_cut_rounds_at_level_zero_(1)
192 , cut_max_active_count_value_(10000000000)
193 , cut_active_count_decay_(0.8)
194 , cut_cleanup_target_(1000)
197 , polarity_rephase_increment_(1000)
198 , convert_intervals_(true)
199 , mip_automatically_scale_variables_(true)
201 , max_domain_size_when_encoding_eq_neq_constraints_(16)
202 , clause_cleanup_ratio_(0.5){}
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\"\200F\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\036\n\022absolute_gap_limit\030\237\001"
635 " \001(\001:\0010\022\036\n\022relative_gap_limit\030\240\001 \001(\001:\0010\022"
636 "-\n\037treat_binary_clauses_separately\030! \001(\010"
637 ":\004true\022\026\n\013random_seed\030\037 \001(\005:\0011\022)\n\031permut"
638 "e_variable_randomly\030\262\001 \001(\010:\005false\0221\n!per"
639 "mute_presolve_constraint_order\030\263\001 \001(\010:\005f"
640 "alse\022\037\n\017use_absl_random\030\264\001 \001(\010:\005false\022\"\n"
641 "\023log_search_progress\030) \001(\010:\005false\022\'\n\030log"
642 "_subsolver_statistics\030\275\001 \001(\010:\004true\022\025\n\nlo"
643 "g_prefix\030\271\001 \001(\t:\000\022\034\n\rlog_to_stdout\030\272\001 \001("
644 "\010:\004true\022\037\n\017log_to_response\030\273\001 \001(\010:\005false"
645 "\022 \n\021use_pb_resolution\030+ \001(\010:\005false\0226\n\'mi"
646 "nimize_reduction_during_pb_resolution\0300 "
647 "\001(\010:\005false\022,\n\036count_assumption_levels_in"
648 "_lbd\0301 \001(\010:\004true\022#\n\026presolve_bve_thresho"
649 "ld\0306 \001(\005:\003500\022%\n\032presolve_bve_clause_wei"
650 "ght\0307 \001(\005:\0013\0225\n)presolve_probing_determi"
651 "nistic_time_limit\0309 \001(\001:\00230\022%\n\027presolve_"
652 "blocked_clause\030X \001(\010:\004true\022\036\n\020presolve_u"
653 "se_bva\030H \001(\010:\004true\022!\n\026presolve_bva_thres"
654 "hold\030I \001(\005:\0011\022#\n\027max_presolve_iterations"
655 "\030\212\001 \001(\005:\0013\022\037\n\021cp_model_presolve\030V \001(\010:\004t"
656 "rue\0223\n#cp_model_postsolve_with_full_solv"
657 "er\030\242\001 \001(\010:\005false\0220\n$cp_model_max_num_pre"
658 "solve_operations\030\227\001 \001(\005:\0010\022!\n\026cp_model_p"
659 "robing_level\030n \001(\005:\0012\022\'\n\031cp_model_use_sa"
660 "t_presolve\030] \001(\010:\004true\022$\n\024use_sat_inproc"
661 "essing\030\243\001 \001(\010:\005false\022)\n\032expand_element_c"
662 "onstraints\030\214\001 \001(\010:\004true\022+\n\034expand_automa"
663 "ton_constraints\030\217\001 \001(\010:\004true\022\'\n\030expand_t"
664 "able_constraints\030\236\001 \001(\010:\004true\022*\n\032expand_"
665 "alldiff_constraints\030\252\001 \001(\010:\005false\022+\n\034exp"
666 "and_reservoir_constraints\030\266\001 \001(\010:\004true\022,"
667 "\n\034disable_constraint_expansion\030\265\001 \001(\010:\005f"
668 "alse\0223\n\033merge_no_overlap_work_limit\030\221\001 \001"
669 "(\001:\r1000000000000\0220\n\034merge_at_most_one_w"
670 "ork_limit\030\222\001 \001(\001:\t100000000\022\'\n\033presolve_"
671 "substitution_level\030\223\001 \001(\005:\0011\0224\n$presolve"
672 "_extract_integer_enforcement\030\256\001 \001(\010:\005fal"
673 "se\022$\n\026use_optimization_hints\030# \001(\010:\004true"
674 "\022\033\n\rminimize_core\0302 \001(\010:\004true\022!\n\023find_mu"
675 "ltiple_cores\030T \001(\010:\004true\022 \n\022cover_optimi"
676 "zation\030Y \001(\010:\004true\022x\n\030max_sat_assumption"
677 "_order\0303 \001(\0162<.operations_research.sat.S"
678 "atParameters.MaxSatAssumptionOrder:\030DEFA"
679 "ULT_ASSUMPTION_ORDER\022/\n max_sat_reverse_"
680 "assumption_order\0304 \001(\010:\005false\022|\n\026max_sat"
681 "_stratification\0305 \001(\0162D.operations_resea"
682 "rch.sat.SatParameters.MaxSatStratificati"
683 "onAlgorithm:\026STRATIFICATION_DESCENT\0227\n)u"
684 "se_precedences_in_disjunctive_constraint"
685 "\030J \001(\010:\004true\022<\n-use_overload_checker_in_"
686 "cumulative_constraint\030N \001(\010:\005false\022B\n3us"
687 "e_timetable_edge_finding_in_cumulative_c"
688 "onstraint\030O \001(\010:\005false\022A\n3use_disjunctiv"
689 "e_constraint_in_cumulative_constraint\030P "
690 "\001(\010:\004true\022\036\n\023linearization_level\030Z \001(\005:\001"
691 "1\022!\n\026boolean_encoding_level\030k \001(\005:\0011\022=\n0"
692 "max_domain_size_when_encoding_eq_neq_con"
693 "straints\030\277\001 \001(\005:\00216\022\033\n\014max_num_cuts\030[ \001("
694 "\005:\00510000\022*\n\033only_add_cuts_at_level_zero\030"
695 "\\ \001(\010:\005false\022 \n\021add_knapsack_cuts\030o \001(\010:"
696 "\005false\022\031\n\013add_cg_cuts\030u \001(\010:\004true\022\032\n\014add"
697 "_mir_cuts\030x \001(\010:\004true\022!\n\022add_zero_half_c"
698 "uts\030\251\001 \001(\010:\004true\022\036\n\017add_clique_cuts\030\254\001 \001"
699 "(\010:\004true\022!\n\025max_all_diff_cut_size\030\224\001 \001(\005"
700 ":\0017\022\037\n\020add_lin_max_cuts\030\230\001 \001(\010:\004true\022)\n\034"
701 "max_integer_rounding_scaling\030w \001(\005:\003600\022"
702 "\'\n\031add_lp_constraints_lazily\030p \001(\010:\004true"
703 "\0222\n$min_orthogonality_for_lp_constraints"
704 "\030s \001(\001:\0040.05\022(\n\034max_cut_rounds_at_level_"
705 "zero\030\232\001 \001(\005:\0011\022+\n\036max_consecutive_inacti"
706 "ve_count\030y \001(\005:\003100\0220\n\032cut_max_active_co"
707 "unt_value\030\233\001 \001(\001:\01310000000000\022$\n\026cut_act"
708 "ive_count_decay\030\234\001 \001(\001:\0030.8\022!\n\022cut_clean"
709 "up_target\030\235\001 \001(\005:\0041000\022&\n\032new_constraint"
710 "s_batch_size\030z \001(\005:\00250\022b\n\020search_branchi"
711 "ng\030R \001(\01626.operations_research.sat.SatPa"
712 "rameters.SearchBranching:\020AUTOMATIC_SEAR"
713 "CH\022 \n\023hint_conflict_limit\030\231\001 \001(\005:\00210\022\033\n\013"
714 "repair_hint\030\247\001 \001(\010:\005false\0223\n#fix_variabl"
715 "es_to_their_hinted_value\030\300\001 \001(\010:\005false\022)"
716 "\n\033exploit_integer_lp_solution\030^ \001(\010:\004tru"
717 "e\022%\n\027exploit_all_lp_solution\030t \001(\010:\004true"
718 "\022%\n\025exploit_best_solution\030\202\001 \001(\010:\005false\022"
719 "+\n\033exploit_relaxation_solution\030\241\001 \001(\010:\005f"
720 "alse\022 \n\021exploit_objective\030\203\001 \001(\010:\004true\022\""
721 "\n\026probing_period_at_root\030\216\001 \001(\003:\0010\022\"\n\022us"
722 "e_probing_search\030\260\001 \001(\010:\005false\022.\n!pseudo"
723 "_cost_reliability_threshold\030{ \001(\003:\003100\022!"
724 "\n\022optimize_with_core\030S \001(\010:\005false\022,\n\034opt"
725 "imize_with_lb_tree_search\030\274\001 \001(\010:\005false\022"
726 "\'\n\033binary_search_num_conflicts\030c \001(\005:\002-1"
727 "\022#\n\024optimize_with_max_hs\030U \001(\010:\005false\022&\n"
728 "\027enumerate_all_solutions\030W \001(\010:\005false\0227\n"
729 "\'keep_all_feasible_solutions_in_presolve"
730 "\030\255\001 \001(\010:\005false\0222\n\"fill_tightened_domains"
731 "_in_response\030\204\001 \001(\010:\005false\022\'\n\031instantiat"
732 "e_all_variables\030j \001(\010:\004true\0226\n(auto_dete"
733 "ct_greater_than_at_least_one_of\030_ \001(\010:\004t"
734 "rue\022(\n\031stop_after_first_solution\030b \001(\010:\005"
735 "false\022#\n\023stop_after_presolve\030\225\001 \001(\010:\005fal"
736 "se\022\035\n\022num_search_workers\030d \001(\005:\0010\022!\n\021int"
737 "erleave_search\030\210\001 \001(\010:\005false\022!\n\025interlea"
738 "ve_batch_size\030\206\001 \001(\005:\0011\0226\n&reduce_memory"
739 "_usage_in_interleave_mode\030\215\001 \001(\010:\005false\022"
740 "$\n\026share_objective_bounds\030q \001(\010:\004true\022%\n"
741 "\027share_level_zero_bounds\030r \001(\010:\004true\022\033\n\014"
742 "use_lns_only\030e \001(\010:\005false\022.\n\037lns_focus_o"
743 "n_decision_variables\030i \001(\010:\005false\0227\n(lns"
744 "_expand_intervals_in_constraint_graph\030\270\001"
745 " \001(\010:\004true\022\036\n\022solution_pool_size\030\301\001 \001(\005:"
746 "\0013\022\033\n\014use_rins_lns\030\201\001 \001(\010:\004true\022#\n\024use_f"
747 "easibility_pump\030\244\001 \001(\010:\004true\022c\n\013fp_round"
748 "ing\030\245\001 \001(\01627.operations_research.sat.Sat"
749 "Parameters.FPRoundingMethod:\024PROPAGATION"
750 "_ASSISTED\022\"\n\022use_relaxation_lns\030\226\001 \001(\010:\005"
751 "false\022$\n\024diversify_lns_params\030\211\001 \001(\010:\005fa"
752 "lse\022\037\n\020randomize_search\030g \001(\010:\005false\022)\n\036"
753 "search_randomization_tolerance\030h \001(\003:\0010\022"
754 "$\n\026use_optional_variables\030l \001(\010:\004true\022!\n"
755 "\023use_exact_lp_reason\030m \001(\010:\004true\022#\n\023use_"
756 "branching_in_lp\030\213\001 \001(\010:\005false\022\'\n\027use_com"
757 "bined_no_overlap\030\205\001 \001(\010:\005false\022\"\n\023catch_"
758 "sigint_signal\030\207\001 \001(\010:\004true\022!\n\022use_implie"
759 "d_bounds\030\220\001 \001(\010:\004true\022\"\n\022polish_lp_solut"
760 "ion\030\257\001 \001(\010:\005false\022 \n\021convert_intervals\030\261"
761 "\001 \001(\010:\004true\022\032\n\016symmetry_level\030\267\001 \001(\005:\0012\022"
762 "\037\n\rmip_max_bound\030| \001(\001:\01010000000\022\032\n\017mip_"
763 "var_scaling\030} \001(\001:\0011\0220\n!mip_automaticall"
764 "y_scale_variables\030\246\001 \001(\010:\004true\022#\n\024mip_wa"
765 "nted_precision\030~ \001(\001:\0051e-06\022%\n\031mip_max_a"
766 "ctivity_exponent\030\177 \001(\005:\00253\022$\n\023mip_check_"
767 "precision\030\200\001 \001(\001:\0060.0001\"H\n\rVariableOrde"
768 "r\022\014\n\010IN_ORDER\020\000\022\024\n\020IN_REVERSE_ORDER\020\001\022\023\n"
769 "\017IN_RANDOM_ORDER\020\002\"\206\001\n\010Polarity\022\021\n\rPOLAR"
770 "ITY_TRUE\020\000\022\022\n\016POLARITY_FALSE\020\001\022\023\n\017POLARI"
771 "TY_RANDOM\020\002\022\032\n\026POLARITY_WEIGHTED_SIGN\020\003\022"
772 "\"\n\036POLARITY_REVERSE_WEIGHTED_SIGN\020\004\"V\n\035C"
773 "onflictMinimizationAlgorithm\022\010\n\004NONE\020\000\022\n"
774 "\n\006SIMPLE\020\001\022\r\n\tRECURSIVE\020\002\022\020\n\014EXPERIMENTA"
775 "L\020\003\"\340\001\n\031BinaryMinizationAlgorithm\022\032\n\026NO_"
776 "BINARY_MINIMIZATION\020\000\022\035\n\031BINARY_MINIMIZA"
777 "TION_FIRST\020\001\0227\n3BINARY_MINIMIZATION_FIRS"
778 "T_WITH_TRANSITIVE_REDUCTION\020\004\022)\n%BINARY_"
779 "MINIMIZATION_WITH_REACHABILITY\020\002\022$\n EXPE"
780 "RIMENTAL_BINARY_MINIMIZATION\020\003\"R\n\020Clause"
781 "Protection\022\023\n\017PROTECTION_NONE\020\000\022\025\n\021PROTE"
782 "CTION_ALWAYS\020\001\022\022\n\016PROTECTION_LBD\020\002\"5\n\016Cl"
783 "auseOrdering\022\023\n\017CLAUSE_ACTIVITY\020\000\022\016\n\nCLA"
784 "USE_LBD\020\001\"\206\001\n\020RestartAlgorithm\022\016\n\nNO_RES"
785 "TART\020\000\022\020\n\014LUBY_RESTART\020\001\022\035\n\031DL_MOVING_AV"
786 "ERAGE_RESTART\020\002\022\036\n\032LBD_MOVING_AVERAGE_RE"
787 "START\020\003\022\021\n\rFIXED_RESTART\020\004\"t\n\025MaxSatAssu"
788 "mptionOrder\022\034\n\030DEFAULT_ASSUMPTION_ORDER\020"
789 "\000\022\035\n\031ORDER_ASSUMPTION_BY_DEPTH\020\001\022\036\n\032ORDE"
790 "R_ASSUMPTION_BY_WEIGHT\020\002\"o\n\035MaxSatStrati"
791 "ficationAlgorithm\022\027\n\023STRATIFICATION_NONE"
792 "\020\000\022\032\n\026STRATIFICATION_DESCENT\020\001\022\031\n\025STRATI"
793 "FICATION_ASCENT\020\002\"\260\001\n\017SearchBranching\022\024\n"
794 "\020AUTOMATIC_SEARCH\020\000\022\020\n\014FIXED_SEARCH\020\001\022\024\n"
795 "\020PORTFOLIO_SEARCH\020\002\022\r\n\tLP_SEARCH\020\003\022\026\n\022PS"
796 "EUDO_COST_SEARCH\020\004\022\'\n#PORTFOLIO_WITH_QUI"
797 "CK_RESTART_SEARCH\020\005\022\017\n\013HINT_SEARCH\020\006\"h\n\020"
798 "FPRoundingMethod\022\023\n\017NEAREST_INTEGER\020\000\022\016\n"
799 "\nLOCK_BASED\020\001\022\025\n\021ACTIVE_LOCK_BASED\020\003\022\030\n\024"
800 "PROPAGATION_ASSISTED\020\002B/\n\026com.google.ort"
801 "ools.satP\001\252\002\022Google.OrTools.Sat"
805 false,
false, 9071, descriptor_table_protodef_ortools_2fsat_2fsat_5fparameters_2eproto,
"ortools/sat/sat_parameters.proto",
833#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
858#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
884#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
910#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
935#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
957#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
981#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1006#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1029#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1056#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1084#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1098 using HasBits =
decltype(std::declval<SatParameters>()._has_bits_);
1100 (*has_bits)[0] |= 2u;
1103 (*has_bits)[0] |= 8u;
1106 (*has_bits)[2] |= 1u;
1109 (*has_bits)[2] |= 1073741824u;
1112 (*has_bits)[5] |= 8u;
1115 (*has_bits)[0] |= 64u;
1118 (*has_bits)[0] |= 32u;
1121 (*has_bits)[0] |= 262144u;
1124 (*has_bits)[0] |= 4096u;
1127 (*has_bits)[0] |= 524288u;
1130 (*has_bits)[2] |= 2u;
1133 (*has_bits)[2] |= 32768u;
1136 (*has_bits)[2] |= 2147483648u;
1139 (*has_bits)[2] |= 32u;
1142 (*has_bits)[0] |= 16u;
1145 (*has_bits)[5] |= 256u;
1148 (*has_bits)[0] |= 256u;
1151 (*has_bits)[2] |= 4194304u;
1154 (*has_bits)[0] |= 512u;
1157 (*has_bits)[2] |= 65536u;
1160 (*has_bits)[2] |= 131072u;
1163 (*has_bits)[3] |= 256u;
1166 (*has_bits)[3] |= 512u;
1169 (*has_bits)[2] |= 4u;
1172 (*has_bits)[2] |= 8u;
1175 (*has_bits)[2] |= 256u;
1178 (*has_bits)[2] |= 512u;
1181 (*has_bits)[2] |= 64u;
1184 (*has_bits)[2] |= 16u;
1187 (*has_bits)[2] |= 128u;
1190 (*has_bits)[0] |= 1u;
1193 (*has_bits)[2] |= 1024u;
1196 (*has_bits)[2] |= 16777216u;
1199 (*has_bits)[2] |= 8388608u;
1202 (*has_bits)[2] |= 268435456u;
1205 (*has_bits)[0] |= 1048576u;
1208 (*has_bits)[2] |= 33554432u;
1211 (*has_bits)[2] |= 67108864u;
1214 (*has_bits)[0] |= 1024u;
1217 (*has_bits)[0] |= 2048u;
1220 (*has_bits)[2] |= 4096u;
1223 (*has_bits)[2] |= 134217728u;
1226 (*has_bits)[2] |= 8192u;
1229 (*has_bits)[2] |= 16384u;
1232 (*has_bits)[1] |= 16777216u;
1235 (*has_bits)[1] |= 33554432u;
1238 (*has_bits)[3] |= 1u;
1241 (*has_bits)[2] |= 2048u;
1244 (*has_bits)[0] |= 2097152u;
1247 (*has_bits)[1] |= 131072u;
1250 (*has_bits)[1] |= 262144u;
1253 (*has_bits)[1] |= 524288u;
1256 (*has_bits)[3] |= 2u;
1259 (*has_bits)[0] |= 4u;
1262 (*has_bits)[3] |= 1024u;
1265 (*has_bits)[1] |= 1048576u;
1268 (*has_bits)[0] |= 16777216u;
1271 (*has_bits)[0] |= 33554432u;
1274 (*has_bits)[3] |= 2048u;
1277 (*has_bits)[2] |= 524288u;
1280 (*has_bits)[2] |= 2097152u;
1283 (*has_bits)[2] |= 1048576u;
1286 (*has_bits)[3] |= 4096u;
1289 (*has_bits)[3] |= 8192u;
1292 (*has_bits)[2] |= 536870912u;
1295 (*has_bits)[4] |= 65536u;
1298 (*has_bits)[3] |= 33554432u;
1301 (*has_bits)[0] |= 67108864u;
1304 (*has_bits)[1] |= 67108864u;
1307 (*has_bits)[3] |= 1048576u;
1310 (*has_bits)[3] |= 67108864u;
1313 (*has_bits)[0] |= 134217728u;
1316 (*has_bits)[3] |= 134217728u;
1319 (*has_bits)[3] |= 268435456u;
1322 (*has_bits)[3] |= 32768u;
1325 (*has_bits)[1] |= 4096u;
1328 (*has_bits)[3] |= 65536u;
1331 (*has_bits)[1] |= 8192u;
1334 (*has_bits)[4] |= 131072u;
1337 (*has_bits)[4] |= 8388608u;
1340 (*has_bits)[4] |= 4194304u;
1343 (*has_bits)[1] |= 16384u;
1346 (*has_bits)[3] |= 131072u;
1349 (*has_bits)[3] |= 262144u;
1352 (*has_bits)[3] |= 4u;
1355 (*has_bits)[3] |= 8u;
1358 (*has_bits)[0] |= 128u;
1361 (*has_bits)[1] |= 32768u;
1364 (*has_bits)[2] |= 262144u;
1367 (*has_bits)[3] |= 16u;
1370 (*has_bits)[0] |= 16384u;
1373 (*has_bits)[0] |= 32768u;
1376 (*has_bits)[3] |= 32u;
1379 (*has_bits)[3] |= 64u;
1382 (*has_bits)[3] |= 524288u;
1385 (*has_bits)[5] |= 128u;
1388 (*has_bits)[3] |= 128u;
1391 (*has_bits)[0] |= 65536u;
1394 (*has_bits)[0] |= 131072u;
1397 (*has_bits)[4] |= 262144u;
1400 (*has_bits)[4] |= 524288u;
1403 (*has_bits)[4] |= 1048576u;
1406 (*has_bits)[4] |= 2097152u;
1409 (*has_bits)[4] |= 268435456u;
1412 (*has_bits)[3] |= 1073741824u;
1415 (*has_bits)[4] |= 4u;
1418 (*has_bits)[3] |= 2147483648u;
1421 (*has_bits)[3] |= 536870912u;
1424 (*has_bits)[4] |= 1073741824u;
1427 (*has_bits)[4] |= 8u;
1430 (*has_bits)[4] |= 2147483648u;
1433 (*has_bits)[5] |= 1u;
1436 (*has_bits)[5] |= 2u;
1439 (*has_bits)[4] |= 16u;
1442 (*has_bits)[0] |= 8192u;
1445 (*has_bits)[4] |= 536870912u;
1448 (*has_bits)[1] |= 134217728u;
1451 (*has_bits)[1] |= 268435456u;
1454 (*has_bits)[4] |= 1u;
1457 (*has_bits)[4] |= 2u;
1460 (*has_bits)[1] |= 536870912u;
1463 (*has_bits)[1] |= 1073741824u;
1466 (*has_bits)[3] |= 2097152u;
1469 (*has_bits)[1] |= 65536u;
1472 (*has_bits)[1] |= 256u;
1475 (*has_bits)[4] |= 32u;
1478 (*has_bits)[1] |= 512u;
1481 (*has_bits)[1] |= 1024u;
1484 (*has_bits)[3] |= 16384u;
1487 (*has_bits)[1] |= 2048u;
1490 (*has_bits)[0] |= 268435456u;
1493 (*has_bits)[0] |= 536870912u;
1496 (*has_bits)[0] |= 1073741824u;
1499 (*has_bits)[3] |= 4194304u;
1502 (*has_bits)[3] |= 8388608u;
1505 (*has_bits)[0] |= 2147483648u;
1508 (*has_bits)[1] |= 16u;
1511 (*has_bits)[0] |= 4194304u;
1514 (*has_bits)[1] |= 32u;
1517 (*has_bits)[4] |= 32768u;
1520 (*has_bits)[1] |= 64u;
1523 (*has_bits)[3] |= 16777216u;
1526 (*has_bits)[4] |= 16777216u;
1529 (*has_bits)[1] |= 128u;
1532 (*has_bits)[1] |= 1u;
1535 (*has_bits)[4] |= 33554432u;
1538 (*has_bits)[1] |= 2147483648u;
1541 (*has_bits)[4] |= 67108864u;
1544 (*has_bits)[4] |= 134217728u;
1547 (*has_bits)[5] |= 4u;
1550 (*has_bits)[1] |= 2u;
1553 (*has_bits)[1] |= 4u;
1556 (*has_bits)[1] |= 8u;
1559 (*has_bits)[0] |= 8388608u;
1562 (*has_bits)[4] |= 128u;
1565 (*has_bits)[4] |= 256u;
1568 (*has_bits)[1] |= 2097152u;
1571 (*has_bits)[1] |= 4194304u;
1574 (*has_bits)[4] |= 512u;
1577 (*has_bits)[4] |= 1024u;
1580 (*has_bits)[1] |= 8388608u;
1583 (*has_bits)[5] |= 16u;
1586 (*has_bits)[5] |= 64u;
1589 (*has_bits)[4] |= 64u;
1592 (*has_bits)[4] |= 4096u;
1595 (*has_bits)[5] |= 32u;
1598 (*has_bits)[4] |= 8192u;
1601 (*has_bits)[4] |= 2048u;
1604 (*has_bits)[4] |= 16384u;
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 if (from._internal_has_name()) {
1631 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1632 GetArenaForAllocation());
1634 log_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1635 if (from._internal_has_log_prefix()) {
1636 log_prefix_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_log_prefix(),
1637 GetArenaForAllocation());
1639 ::memcpy(&preferred_variable_order_, &from.preferred_variable_order_,
1640 static_cast<size_t>(
reinterpret_cast<char*
>(&clause_cleanup_ratio_) -
1641 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(clause_cleanup_ratio_));
1645void SatParameters::SharedCtor() {
1646default_restart_algorithms_.UnsafeSetDefault(
nullptr);
1647name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1648log_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1649::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1650 reinterpret_cast<char*
>(&preferred_variable_order_) -
reinterpret_cast<char*
>(
this)),
1651 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&exploit_relaxation_solution_) -
1652 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(exploit_relaxation_solution_));
1653solution_pool_size_ = 3;
1654initial_polarity_ = 1;
1655minimization_algorithm_ = 2;
1656variable_activity_decay_ = 0.8;
1657max_variable_activity_value_ = 1e+100;
1658clause_activity_decay_ = 0.999;
1659clause_cleanup_period_ = 10000;
1660glucose_decay_increment_period_ = 5000;
1661max_clause_activity_value_ = 1e+20;
1662glucose_max_decay_ = 0.95;
1663glucose_decay_increment_ = 0.01;
1664restart_period_ = 50;
1666max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1667max_number_of_conflicts_ = int64_t{9223372036854775807};
1668max_memory_in_mb_ = int64_t{10000};
1669binary_minimization_algorithm_ = 1;
1670pb_cleanup_increment_ = 200;
1671pb_cleanup_ratio_ = 0.5;
1672max_sat_stratification_ = 1;
1673presolve_bve_threshold_ = 500;
1674presolve_probing_deterministic_time_limit_ = 30;
1675presolve_bve_clause_weight_ = 3;
1676clause_cleanup_lbd_bound_ = 5;
1677restart_dl_average_ratio_ = 1;
1678restart_running_window_size_ = 50;
1679blocking_restart_window_size_ = 5000;
1680blocking_restart_multiplier_ = 1.4;
1681max_deterministic_time_ = std::numeric_limits<double>::infinity();
1682restart_lbd_average_ratio_ = 1;
1683presolve_bva_threshold_ = 1;
1684use_phase_saving_ =
true;
1685subsumption_during_conflict_analysis_ =
true;
1686treat_binary_clauses_separately_ =
true;
1687log_subsolver_statistics_ =
true;
1688find_multiple_cores_ =
true;
1689cover_optimization_ =
true;
1690use_precedences_in_disjunctive_constraint_ =
true;
1691use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1692linearization_level_ = 1;
1693max_num_cuts_ = 10000;
1694minimize_with_propagation_restart_period_ = 10;
1695minimize_with_propagation_num_decisions_ = 1000;
1696log_to_stdout_ =
true;
1697count_assumption_levels_in_lbd_ =
true;
1698presolve_blocked_clause_ =
true;
1699presolve_use_bva_ =
true;
1700binary_search_num_conflicts_ = -1;
1701expand_table_constraints_ =
true;
1702expand_reservoir_constraints_ =
true;
1703use_optimization_hints_ =
true;
1704minimize_core_ =
true;
1705boolean_encoding_level_ = 1;
1706cp_model_probing_level_ = 2;
1707exploit_objective_ =
true;
1708instantiate_all_variables_ =
true;
1709auto_detect_greater_than_at_least_one_of_ =
true;
1710share_objective_bounds_ =
true;
1711cp_model_presolve_ =
true;
1712cp_model_use_sat_presolve_ =
true;
1713expand_element_constraints_ =
true;
1714expand_automaton_constraints_ =
true;
1715min_orthogonality_for_lp_constraints_ = 0.05;
1716add_lin_max_cuts_ =
true;
1717add_lp_constraints_lazily_ =
true;
1718exploit_integer_lp_solution_ =
true;
1719exploit_all_lp_solution_ =
true;
1720max_integer_rounding_scaling_ = 600;
1721max_consecutive_inactive_count_ = 100;
1722new_constraints_batch_size_ = 50;
1723pseudo_cost_reliability_threshold_ = int64_t{100};
1724mip_max_bound_ = 10000000;
1725use_optional_variables_ =
true;
1726use_exact_lp_reason_ =
true;
1727catch_sigint_signal_ =
true;
1728use_implied_bounds_ =
true;
1729mip_max_activity_exponent_ = 53;
1730mip_var_scaling_ = 1;
1731mip_wanted_precision_ = 1e-06;
1732mip_check_precision_ = 0.0001;
1733interleave_batch_size_ = 1;
1734max_presolve_iterations_ = 3;
1735merge_no_overlap_work_limit_ = 1000000000000;
1737add_mir_cuts_ =
true;
1738add_zero_half_cuts_ =
true;
1739add_clique_cuts_ =
true;
1740presolve_substitution_level_ = 1;
1741merge_at_most_one_work_limit_ = 100000000;
1742share_level_zero_bounds_ =
true;
1743lns_expand_intervals_in_constraint_graph_ =
true;
1744use_rins_lns_ =
true;
1745use_feasibility_pump_ =
true;
1746max_all_diff_cut_size_ = 7;
1747hint_conflict_limit_ = 10;
1748max_cut_rounds_at_level_zero_ = 1;
1749cut_max_active_count_value_ = 10000000000;
1750cut_active_count_decay_ = 0.8;
1751cut_cleanup_target_ = 1000;
1753polarity_rephase_increment_ = 1000;
1754convert_intervals_ =
true;
1755mip_automatically_scale_variables_ =
true;
1757max_domain_size_when_encoding_eq_neq_constraints_ = 16;
1758clause_cleanup_ratio_ = 0.5;
1763 if (GetArenaForAllocation() !=
nullptr)
return;
1765 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1768inline void SatParameters::SharedDtor() {
1769 GOOGLE_DCHECK(GetArenaForAllocation() ==
nullptr);
1770 default_restart_algorithms_.DestroyNoArena(
nullptr);
1771 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1772 log_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1775void SatParameters::ArenaDtor(
void*
object) {
1779void SatParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1781void SatParameters::SetCachedSize(
int size)
const {
1782 _cached_size_.Set(size);
1787 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1789 (void) cached_has_bits;
1791 restart_algorithms_.Clear();
1792 cached_has_bits = _has_bits_[0];
1793 if (cached_has_bits & 0x00000007u) {
1794 if (cached_has_bits & 0x00000001u) {
1795 default_restart_algorithms_.ClearToDefault(::operations_research::sat::SatParameters::_i_give_permission_to_break_this_code_default_default_restart_algorithms_, GetArenaForAllocation());
1797 if (cached_has_bits & 0x00000002u) {
1798 name_.ClearNonDefaultToEmpty();
1800 if (cached_has_bits & 0x00000004u) {
1801 log_prefix_.ClearNonDefaultToEmpty();
1804 if (cached_has_bits & 0x000000f8u) {
1805 ::memset(&preferred_variable_order_, 0,
static_cast<size_t>(
1806 reinterpret_cast<char*
>(&max_sat_assumption_order_) -
1807 reinterpret_cast<char*
>(&preferred_variable_order_)) +
sizeof(max_sat_assumption_order_));
1809 if (cached_has_bits & 0x0000ff00u) {
1810 ::memset(&clause_cleanup_protection_, 0,
static_cast<size_t>(
1811 reinterpret_cast<char*
>(&use_timetable_edge_finding_in_cumulative_constraint_) -
1812 reinterpret_cast<char*
>(&clause_cleanup_protection_)) +
sizeof(use_timetable_edge_finding_in_cumulative_constraint_));
1814 if (cached_has_bits & 0x00ff0000u) {
1815 ::memset(&only_add_cuts_at_level_zero_, 0,
static_cast<size_t>(
1816 reinterpret_cast<char*
>(&search_randomization_tolerance_) -
1817 reinterpret_cast<char*
>(&only_add_cuts_at_level_zero_)) +
sizeof(search_randomization_tolerance_));
1819 if (cached_has_bits & 0xff000000u) {
1820 ::memset(&use_pb_resolution_, 0,
static_cast<size_t>(
1821 reinterpret_cast<char*
>(&stop_after_first_solution_) -
1822 reinterpret_cast<char*
>(&use_pb_resolution_)) +
sizeof(stop_after_first_solution_));
1824 cached_has_bits = _has_bits_[1];
1825 if (cached_has_bits & 0x000000ffu) {
1826 ::memset(&lns_focus_on_decision_variables_, 0,
static_cast<size_t>(
1827 reinterpret_cast<char*
>(&use_lns_only_) -
1828 reinterpret_cast<char*
>(&lns_focus_on_decision_variables_)) +
sizeof(use_lns_only_));
1830 if (cached_has_bits & 0x0000ff00u) {
1831 ::memset(&use_probing_search_, 0,
static_cast<size_t>(
1832 reinterpret_cast<char*
>(&max_sat_reverse_assumption_order_) -
1833 reinterpret_cast<char*
>(&use_probing_search_)) +
sizeof(max_sat_reverse_assumption_order_));
1835 if (cached_has_bits & 0x00ff0000u) {
1836 ::memset(&probing_period_at_root_, 0,
static_cast<size_t>(
1837 reinterpret_cast<char*
>(&polish_lp_solution_) -
1838 reinterpret_cast<char*
>(&probing_period_at_root_)) +
sizeof(polish_lp_solution_));
1840 if (cached_has_bits & 0xff000000u) {
1841 ::memset(&absolute_gap_limit_, 0,
static_cast<size_t>(
1842 reinterpret_cast<char*
>(&exploit_relaxation_solution_) -
1843 reinterpret_cast<char*
>(&absolute_gap_limit_)) +
sizeof(exploit_relaxation_solution_));
1844 solution_pool_size_ = 3;
1846 cached_has_bits = _has_bits_[2];
1847 if (cached_has_bits & 0x000000ffu) {
1848 initial_polarity_ = 1;
1849 minimization_algorithm_ = 2;
1850 variable_activity_decay_ = 0.8;
1851 max_variable_activity_value_ = 1e+100;
1852 clause_activity_decay_ = 0.999;
1853 clause_cleanup_period_ = 10000;
1854 glucose_decay_increment_period_ = 5000;
1855 max_clause_activity_value_ = 1e+20;
1857 if (cached_has_bits & 0x0000ff00u) {
1858 glucose_max_decay_ = 0.95;
1859 glucose_decay_increment_ = 0.01;
1860 restart_period_ = 50;
1862 max_time_in_seconds_ = std::numeric_limits<double>::infinity();
1863 max_number_of_conflicts_ = int64_t{9223372036854775807};
1864 max_memory_in_mb_ = int64_t{10000};
1865 binary_minimization_algorithm_ = 1;
1867 if (cached_has_bits & 0x00ff0000u) {
1868 pb_cleanup_increment_ = 200;
1869 pb_cleanup_ratio_ = 0.5;
1870 max_sat_stratification_ = 1;
1871 presolve_bve_threshold_ = 500;
1872 presolve_probing_deterministic_time_limit_ = 30;
1873 presolve_bve_clause_weight_ = 3;
1874 clause_cleanup_lbd_bound_ = 5;
1875 restart_dl_average_ratio_ = 1;
1877 if (cached_has_bits & 0xff000000u) {
1878 restart_running_window_size_ = 50;
1879 blocking_restart_window_size_ = 5000;
1880 blocking_restart_multiplier_ = 1.4;
1881 max_deterministic_time_ = std::numeric_limits<double>::infinity();
1882 restart_lbd_average_ratio_ = 1;
1883 presolve_bva_threshold_ = 1;
1884 use_phase_saving_ =
true;
1885 subsumption_during_conflict_analysis_ =
true;
1887 cached_has_bits = _has_bits_[3];
1888 if (cached_has_bits & 0x000000ffu) {
1889 treat_binary_clauses_separately_ =
true;
1890 log_subsolver_statistics_ =
true;
1891 find_multiple_cores_ =
true;
1892 cover_optimization_ =
true;
1893 use_precedences_in_disjunctive_constraint_ =
true;
1894 use_disjunctive_constraint_in_cumulative_constraint_ =
true;
1895 linearization_level_ = 1;
1896 max_num_cuts_ = 10000;
1898 if (cached_has_bits & 0x0000ff00u) {
1899 minimize_with_propagation_restart_period_ = 10;
1900 minimize_with_propagation_num_decisions_ = 1000;
1901 log_to_stdout_ =
true;
1902 count_assumption_levels_in_lbd_ =
true;
1903 presolve_blocked_clause_ =
true;
1904 presolve_use_bva_ =
true;
1905 binary_search_num_conflicts_ = -1;
1906 expand_table_constraints_ =
true;
1908 if (cached_has_bits & 0x00ff0000u) {
1909 expand_reservoir_constraints_ =
true;
1910 use_optimization_hints_ =
true;
1911 minimize_core_ =
true;
1912 boolean_encoding_level_ = 1;
1913 cp_model_probing_level_ = 2;
1914 exploit_objective_ =
true;
1915 instantiate_all_variables_ =
true;
1916 auto_detect_greater_than_at_least_one_of_ =
true;
1918 if (cached_has_bits & 0xff000000u) {
1919 share_objective_bounds_ =
true;
1920 cp_model_presolve_ =
true;
1921 cp_model_use_sat_presolve_ =
true;
1922 expand_element_constraints_ =
true;
1923 expand_automaton_constraints_ =
true;
1924 min_orthogonality_for_lp_constraints_ = 0.05;
1925 add_lin_max_cuts_ =
true;
1926 add_lp_constraints_lazily_ =
true;
1928 cached_has_bits = _has_bits_[4];
1929 if (cached_has_bits & 0x000000ffu) {
1930 exploit_integer_lp_solution_ =
true;
1931 exploit_all_lp_solution_ =
true;
1932 max_integer_rounding_scaling_ = 600;
1933 max_consecutive_inactive_count_ = 100;
1934 new_constraints_batch_size_ = 50;
1935 pseudo_cost_reliability_threshold_ = int64_t{100};
1936 mip_max_bound_ = 10000000;
1937 use_optional_variables_ =
true;
1939 if (cached_has_bits & 0x0000ff00u) {
1940 use_exact_lp_reason_ =
true;
1941 catch_sigint_signal_ =
true;
1942 use_implied_bounds_ =
true;
1943 mip_max_activity_exponent_ = 53;
1944 mip_var_scaling_ = 1;
1945 mip_wanted_precision_ = 1e-06;
1946 mip_check_precision_ = 0.0001;
1947 interleave_batch_size_ = 1;
1949 if (cached_has_bits & 0x00ff0000u) {
1950 max_presolve_iterations_ = 3;
1951 merge_no_overlap_work_limit_ = 1000000000000;
1952 add_cg_cuts_ =
true;
1953 add_mir_cuts_ =
true;
1954 add_zero_half_cuts_ =
true;
1955 add_clique_cuts_ =
true;
1956 presolve_substitution_level_ = 1;
1957 merge_at_most_one_work_limit_ = 100000000;
1959 if (cached_has_bits & 0xff000000u) {
1960 share_level_zero_bounds_ =
true;
1961 lns_expand_intervals_in_constraint_graph_ =
true;
1962 use_rins_lns_ =
true;
1963 use_feasibility_pump_ =
true;
1964 max_all_diff_cut_size_ = 7;
1965 hint_conflict_limit_ = 10;
1966 max_cut_rounds_at_level_zero_ = 1;
1967 cut_max_active_count_value_ = 10000000000;
1969 cached_has_bits = _has_bits_[5];
1970 if (cached_has_bits & 0x000000ffu) {
1971 cut_active_count_decay_ = 0.8;
1972 cut_cleanup_target_ = 1000;
1974 polarity_rephase_increment_ = 1000;
1975 convert_intervals_ =
true;
1976 mip_automatically_scale_variables_ =
true;
1977 symmetry_level_ = 2;
1978 max_domain_size_when_encoding_eq_neq_constraints_ = 16;
1980 clause_cleanup_ratio_ = 0.5;
1982 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1986#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1987 while (!ctx->Done(&ptr)) {
1988 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1989 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1993 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
1994 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2002 goto handle_unusual;
2006 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
2007 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2015 goto handle_unusual;
2019 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
2020 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2028 goto handle_unusual;
2032 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
2034 clause_cleanup_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2037 goto handle_unusual;
2041 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
2043 clause_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2046 goto handle_unusual;
2050 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 121)) {
2052 variable_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2053 ptr +=
sizeof(double);
2055 goto handle_unusual;
2059 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 129)) {
2061 max_variable_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2062 ptr +=
sizeof(double);
2064 goto handle_unusual;
2068 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 137)) {
2070 clause_activity_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2071 ptr +=
sizeof(double);
2073 goto handle_unusual;
2077 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 145)) {
2079 max_clause_activity_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2080 ptr +=
sizeof(double);
2082 goto handle_unusual;
2086 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 177)) {
2088 glucose_max_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2089 ptr +=
sizeof(double);
2091 goto handle_unusual;
2095 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 185)) {
2097 glucose_decay_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2098 ptr +=
sizeof(double);
2100 goto handle_unusual;
2104 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
2106 glucose_decay_increment_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2109 goto handle_unusual;
2113 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
2115 restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2118 goto handle_unusual;
2122 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
2124 random_seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2127 goto handle_unusual;
2131 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 1)) {
2133 random_branches_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2134 ptr +=
sizeof(double);
2136 goto handle_unusual;
2140 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
2142 treat_binary_clauses_separately_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2145 goto handle_unusual;
2149 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
2150 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2158 goto handle_unusual;
2162 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
2164 use_optimization_hints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2167 goto handle_unusual;
2171 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 33)) {
2173 max_time_in_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2174 ptr +=
sizeof(double);
2176 goto handle_unusual;
2180 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
2182 max_number_of_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2185 goto handle_unusual;
2189 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
2191 max_memory_in_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2194 goto handle_unusual;
2198 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
2200 log_search_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2203 goto handle_unusual;
2207 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
2209 use_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2212 goto handle_unusual;
2216 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
2218 use_phase_saving_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2221 goto handle_unusual;
2225 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 105)) {
2227 random_polarity_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2228 ptr +=
sizeof(double);
2230 goto handle_unusual;
2234 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
2236 pb_cleanup_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2239 goto handle_unusual;
2243 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 121)) {
2245 pb_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2246 ptr +=
sizeof(double);
2248 goto handle_unusual;
2252 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
2254 minimize_reduction_during_pb_resolution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2257 goto handle_unusual;
2261 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 136)) {
2263 count_assumption_levels_in_lbd_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2266 goto handle_unusual;
2270 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
2272 minimize_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2275 goto handle_unusual;
2279 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
2280 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2288 goto handle_unusual;
2292 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
2294 max_sat_reverse_assumption_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2297 goto handle_unusual;
2301 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
2302 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2310 goto handle_unusual;
2314 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 176)) {
2316 presolve_bve_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2319 goto handle_unusual;
2323 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
2325 presolve_bve_clause_weight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2328 goto handle_unusual;
2332 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
2334 subsumption_during_conflict_analysis_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2337 goto handle_unusual;
2341 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 201)) {
2343 presolve_probing_deterministic_time_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2344 ptr +=
sizeof(double);
2346 goto handle_unusual;
2350 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
2351 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2359 goto handle_unusual;
2363 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
2365 clause_cleanup_lbd_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2368 goto handle_unusual;
2372 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 224)) {
2373 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2381 goto handle_unusual;
2385 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
2389 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2396 if (!ctx->DataAvailable(ptr))
break;
2397 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<488>(ptr));
2398 }
else if (
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 234) {
2402 goto handle_unusual;
2406 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
2408 restart_running_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2411 goto handle_unusual;
2415 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 249)) {
2417 restart_dl_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2418 ptr +=
sizeof(double);
2420 goto handle_unusual;
2424 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 0)) {
2426 use_blocking_restart_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2429 goto handle_unusual;
2433 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
2435 blocking_restart_window_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2438 goto handle_unusual;
2442 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 17)) {
2444 blocking_restart_multiplier_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2445 ptr +=
sizeof(double);
2447 goto handle_unusual;
2451 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 25)) {
2453 max_deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2454 ptr +=
sizeof(double);
2456 goto handle_unusual;
2460 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
2462 num_conflicts_before_strategy_changes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2465 goto handle_unusual;
2469 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 41)) {
2471 strategy_change_increase_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2472 ptr +=
sizeof(double);
2474 goto handle_unusual;
2478 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 50)) {
2479 auto str = _internal_mutable_default_restart_algorithms();
2480 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2482 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.default_restart_algorithms");
2486 goto handle_unusual;
2490 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 57)) {
2492 restart_lbd_average_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2493 ptr +=
sizeof(double);
2495 goto handle_unusual;
2499 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
2501 presolve_use_bva_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2504 goto handle_unusual;
2508 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
2510 presolve_bva_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2513 goto handle_unusual;
2517 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 80)) {
2519 use_precedences_in_disjunctive_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2522 goto handle_unusual;
2526 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
2528 use_erwa_heuristic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2531 goto handle_unusual;
2535 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 97)) {
2537 initial_variables_activity_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2538 ptr +=
sizeof(double);
2540 goto handle_unusual;
2544 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
2546 also_bump_variables_in_conflict_reasons_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2549 goto handle_unusual;
2553 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
2555 use_overload_checker_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2558 goto handle_unusual;
2562 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
2564 use_timetable_edge_finding_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2567 goto handle_unusual;
2571 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
2573 use_disjunctive_constraint_in_cumulative_constraint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2576 goto handle_unusual;
2580 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
2581 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2589 goto handle_unusual;
2593 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
2595 optimize_with_core_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2598 goto handle_unusual;
2602 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
2604 find_multiple_cores_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2607 goto handle_unusual;
2611 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
2613 optimize_with_max_hs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2616 goto handle_unusual;
2620 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 176)) {
2622 cp_model_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2625 goto handle_unusual;
2629 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
2631 enumerate_all_solutions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2634 goto handle_unusual;
2638 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
2640 presolve_blocked_clause_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2643 goto handle_unusual;
2647 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 200)) {
2649 cover_optimization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2652 goto handle_unusual;
2656 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
2658 linearization_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2661 goto handle_unusual;
2665 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
2667 max_num_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2670 goto handle_unusual;
2674 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 224)) {
2676 only_add_cuts_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2679 goto handle_unusual;
2683 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
2685 cp_model_use_sat_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2688 goto handle_unusual;
2692 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
2694 exploit_integer_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2697 goto handle_unusual;
2701 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
2703 auto_detect_greater_than_at_least_one_of_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2706 goto handle_unusual;
2710 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 0)) {
2712 minimize_with_propagation_restart_period_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2715 goto handle_unusual;
2719 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
2721 minimize_with_propagation_num_decisions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2724 goto handle_unusual;
2728 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
2730 stop_after_first_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2733 goto handle_unusual;
2737 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
2739 binary_search_num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2742 goto handle_unusual;
2746 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
2748 num_search_workers_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2751 goto handle_unusual;
2755 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
2757 use_lns_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2760 goto handle_unusual;
2764 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 56)) {
2766 randomize_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2769 goto handle_unusual;
2773 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
2775 search_randomization_tolerance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2778 goto handle_unusual;
2782 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
2784 lns_focus_on_decision_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2787 goto handle_unusual;
2791 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 80)) {
2793 instantiate_all_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2796 goto handle_unusual;
2800 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
2802 boolean_encoding_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2805 goto handle_unusual;
2809 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
2811 use_optional_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2814 goto handle_unusual;
2818 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
2820 use_exact_lp_reason_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2823 goto handle_unusual;
2827 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
2829 cp_model_probing_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2832 goto handle_unusual;
2836 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
2838 add_knapsack_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2841 goto handle_unusual;
2845 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
2847 add_lp_constraints_lazily_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2850 goto handle_unusual;
2854 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 136)) {
2856 share_objective_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2859 goto handle_unusual;
2863 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
2865 share_level_zero_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2868 goto handle_unusual;
2872 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 153)) {
2874 min_orthogonality_for_lp_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2875 ptr +=
sizeof(double);
2877 goto handle_unusual;
2881 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
2883 exploit_all_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2886 goto handle_unusual;
2890 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
2892 add_cg_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2895 goto handle_unusual;
2899 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
2901 max_integer_rounding_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2904 goto handle_unusual;
2908 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
2910 add_mir_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2913 goto handle_unusual;
2917 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 200)) {
2919 max_consecutive_inactive_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2922 goto handle_unusual;
2926 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
2928 new_constraints_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2931 goto handle_unusual;
2935 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
2937 pseudo_cost_reliability_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2940 goto handle_unusual;
2944 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 225)) {
2946 mip_max_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2947 ptr +=
sizeof(double);
2949 goto handle_unusual;
2953 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 233)) {
2955 mip_var_scaling_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2956 ptr +=
sizeof(double);
2958 goto handle_unusual;
2962 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 241)) {
2964 mip_wanted_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2965 ptr +=
sizeof(double);
2967 goto handle_unusual;
2971 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
2973 mip_max_activity_exponent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2976 goto handle_unusual;
2980 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 1)) {
2982 mip_check_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2983 ptr +=
sizeof(double);
2985 goto handle_unusual;
2989 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
2991 use_rins_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2994 goto handle_unusual;
2998 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
3000 exploit_best_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3003 goto handle_unusual;
3007 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
3009 exploit_objective_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3012 goto handle_unusual;
3016 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
3018 fill_tightened_domains_in_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3021 goto handle_unusual;
3025 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
3027 use_combined_no_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3030 goto handle_unusual;
3034 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 48)) {
3036 interleave_batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3039 goto handle_unusual;
3043 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 56)) {
3045 catch_sigint_signal_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3048 goto handle_unusual;
3052 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
3054 interleave_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3057 goto handle_unusual;
3061 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
3063 diversify_lns_params_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3066 goto handle_unusual;
3070 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 80)) {
3072 max_presolve_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3075 goto handle_unusual;
3079 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
3081 use_branching_in_lp_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3084 goto handle_unusual;
3088 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
3090 expand_element_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3093 goto handle_unusual;
3097 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
3099 reduce_memory_usage_in_interleave_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3102 goto handle_unusual;
3106 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
3108 probing_period_at_root_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3111 goto handle_unusual;
3115 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
3117 expand_automaton_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3120 goto handle_unusual;
3124 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
3126 use_implied_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3129 goto handle_unusual;
3133 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 137)) {
3135 merge_no_overlap_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3136 ptr +=
sizeof(double);
3138 goto handle_unusual;
3142 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 145)) {
3144 merge_at_most_one_work_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3145 ptr +=
sizeof(double);
3147 goto handle_unusual;
3151 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
3153 presolve_substitution_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3156 goto handle_unusual;
3160 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
3162 max_all_diff_cut_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3165 goto handle_unusual;
3169 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
3171 stop_after_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3174 goto handle_unusual;
3178 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 176)) {
3180 use_relaxation_lns_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3183 goto handle_unusual;
3187 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
3189 cp_model_max_num_presolve_operations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3192 goto handle_unusual;
3196 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
3198 add_lin_max_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3201 goto handle_unusual;
3205 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 200)) {
3207 hint_conflict_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3210 goto handle_unusual;
3214 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
3216 max_cut_rounds_at_level_zero_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3219 goto handle_unusual;
3223 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 217)) {
3225 cut_max_active_count_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3226 ptr +=
sizeof(double);
3228 goto handle_unusual;
3232 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 225)) {
3234 cut_active_count_decay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3235 ptr +=
sizeof(double);
3237 goto handle_unusual;
3241 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
3243 cut_cleanup_target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3246 goto handle_unusual;
3250 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
3252 expand_table_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3255 goto handle_unusual;
3259 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 249)) {
3261 absolute_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3262 ptr +=
sizeof(double);
3264 goto handle_unusual;
3268 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 1)) {
3270 relative_gap_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3271 ptr +=
sizeof(double);
3273 goto handle_unusual;
3277 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
3279 exploit_relaxation_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3282 goto handle_unusual;
3286 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
3288 cp_model_postsolve_with_full_solver_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3291 goto handle_unusual;
3295 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
3297 use_sat_inprocessing_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3300 goto handle_unusual;
3304 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
3306 use_feasibility_pump_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3309 goto handle_unusual;
3313 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
3314 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3322 goto handle_unusual;
3326 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 48)) {
3328 mip_automatically_scale_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3331 goto handle_unusual;
3335 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 56)) {
3337 repair_hint_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3340 goto handle_unusual;
3344 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
3346 polarity_rephase_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3349 goto handle_unusual;
3353 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
3355 add_zero_half_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3358 goto handle_unusual;
3362 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 80)) {
3364 expand_alldiff_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3367 goto handle_unusual;
3371 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 90)) {
3372 auto str = _internal_mutable_name();
3373 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
3375 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.name");
3379 goto handle_unusual;
3383 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
3385 add_clique_cuts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3388 goto handle_unusual;
3392 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
3394 keep_all_feasible_solutions_in_presolve_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3397 goto handle_unusual;
3401 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
3403 presolve_extract_integer_enforcement_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3406 goto handle_unusual;
3410 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
3412 polish_lp_solution_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3415 goto handle_unusual;
3419 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
3421 use_probing_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3424 goto handle_unusual;
3428 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 136)) {
3430 convert_intervals_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3433 goto handle_unusual;
3437 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
3439 permute_variable_randomly_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3442 goto handle_unusual;
3446 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
3448 permute_presolve_constraint_order_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3451 goto handle_unusual;
3455 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
3457 use_absl_random_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3460 goto handle_unusual;
3464 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
3466 disable_constraint_expansion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3469 goto handle_unusual;
3473 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 176)) {
3475 expand_reservoir_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3478 goto handle_unusual;
3482 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
3484 symmetry_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3487 goto handle_unusual;
3491 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
3493 lns_expand_intervals_in_constraint_graph_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3496 goto handle_unusual;
3500 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 202)) {
3501 auto str = _internal_mutable_log_prefix();
3502 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
3504 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.SatParameters.log_prefix");
3508 goto handle_unusual;
3512 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
3514 log_to_stdout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3517 goto handle_unusual;
3521 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
3523 log_to_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3526 goto handle_unusual;
3530 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 224)) {
3532 optimize_with_lb_tree_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3535 goto handle_unusual;
3539 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
3541 log_subsolver_statistics_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3544 goto handle_unusual;
3548 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 241)) {
3550 clause_cleanup_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3551 ptr +=
sizeof(double);
3553 goto handle_unusual;
3557 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
3559 max_domain_size_when_encoding_eq_neq_constraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3562 goto handle_unusual;
3566 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 0)) {
3568 fix_variables_to_their_hinted_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3571 goto handle_unusual;
3575 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
3577 solution_pool_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3580 goto handle_unusual;
3583 goto handle_unusual;
3586 if ((tag == 0) || ((tag & 7) == 4)) {
3588 ctx->SetLastTag(tag);
3591 ptr = UnknownFieldParse(
3593 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3595 CHK_(ptr !=
nullptr);
3606 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
3608 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3609 (void) cached_has_bits;
3611 cached_has_bits = _has_bits_[0];
3613 if (cached_has_bits & 0x00000008u) {
3614 target = stream->EnsureSpace(target);
3615 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3616 1, this->_internal_preferred_variable_order(), target);
3619 cached_has_bits = _has_bits_[2];
3621 if (cached_has_bits & 0x00000001u) {
3622 target = stream->EnsureSpace(target);
3623 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3624 2, this->_internal_initial_polarity(), target);
3628 if (cached_has_bits & 0x00000002u) {
3629 target = stream->EnsureSpace(target);
3630 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3631 4, this->_internal_minimization_algorithm(), target);
3635 if (cached_has_bits & 0x00000020u) {
3636 target = stream->EnsureSpace(target);
3637 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_clause_cleanup_period(), target);
3640 cached_has_bits = _has_bits_[0];
3642 if (cached_has_bits & 0x00000010u) {
3643 target = stream->EnsureSpace(target);
3644 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_clause_cleanup_target(), target);
3647 cached_has_bits = _has_bits_[2];
3649 if (cached_has_bits & 0x00000004u) {
3650 target = stream->EnsureSpace(target);
3651 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_variable_activity_decay(), target);
3655 if (cached_has_bits & 0x00000008u) {
3656 target = stream->EnsureSpace(target);
3657 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_max_variable_activity_value(), target);
3661 if (cached_has_bits & 0x00000010u) {
3662 target = stream->EnsureSpace(target);
3663 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_clause_activity_decay(), target);
3667 if (cached_has_bits & 0x00000080u) {
3668 target = stream->EnsureSpace(target);
3669 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_max_clause_activity_value(), target);
3673 if (cached_has_bits & 0x00000100u) {
3674 target = stream->EnsureSpace(target);
3675 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_glucose_max_decay(), target);
3679 if (cached_has_bits & 0x00000200u) {
3680 target = stream->EnsureSpace(target);
3681 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_glucose_decay_increment(), target);
3685 if (cached_has_bits & 0x00000040u) {
3686 target = stream->EnsureSpace(target);
3687 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_glucose_decay_increment_period(), target);
3691 if (cached_has_bits & 0x00000400u) {
3692 target = stream->EnsureSpace(target);
3693 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_restart_period(), target);
3697 if (cached_has_bits & 0x00000800u) {
3698 target = stream->EnsureSpace(target);
3699 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_random_seed(), target);
3702 cached_has_bits = _has_bits_[0];
3704 if (cached_has_bits & 0x00000020u) {
3705 target = stream->EnsureSpace(target);
3706 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(32, this->_internal_random_branches_ratio(), target);
3709 cached_has_bits = _has_bits_[3];
3711 if (cached_has_bits & 0x00000001u) {
3712 target = stream->EnsureSpace(target);
3713 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_treat_binary_clauses_separately(), target);
3716 cached_has_bits = _has_bits_[2];
3718 if (cached_has_bits & 0x00008000u) {
3719 target = stream->EnsureSpace(target);
3720 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3721 34, this->_internal_binary_minimization_algorithm(), target);
3724 cached_has_bits = _has_bits_[3];
3726 if (cached_has_bits & 0x00020000u) {
3727 target = stream->EnsureSpace(target);
3728 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(35, this->_internal_use_optimization_hints(), target);
3731 cached_has_bits = _has_bits_[2];
3733 if (cached_has_bits & 0x00001000u) {
3734 target = stream->EnsureSpace(target);
3735 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(36, this->_internal_max_time_in_seconds(), target);
3739 if (cached_has_bits & 0x00002000u) {
3740 target = stream->EnsureSpace(target);
3741 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(37, this->_internal_max_number_of_conflicts(), target);
3745 if (cached_has_bits & 0x00004000u) {
3746 target = stream->EnsureSpace(target);
3747 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(40, this->_internal_max_memory_in_mb(), target);
3750 cached_has_bits = _has_bits_[1];
3752 if (cached_has_bits & 0x00080000u) {
3753 target = stream->EnsureSpace(target);
3754 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_log_search_progress(), target);
3757 cached_has_bits = _has_bits_[0];
3759 if (cached_has_bits & 0x01000000u) {
3760 target = stream->EnsureSpace(target);
3761 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(43, this->_internal_use_pb_resolution(), target);
3764 cached_has_bits = _has_bits_[2];
3766 if (cached_has_bits & 0x40000000u) {
3767 target = stream->EnsureSpace(target);
3768 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(44, this->_internal_use_phase_saving(), target);
3771 cached_has_bits = _has_bits_[0];
3773 if (cached_has_bits & 0x00000040u) {
3774 target = stream->EnsureSpace(target);
3775 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(45, this->_internal_random_polarity_ratio(), target);
3778 cached_has_bits = _has_bits_[2];
3780 if (cached_has_bits & 0x00010000u) {
3781 target = stream->EnsureSpace(target);
3782 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_pb_cleanup_increment(), target);
3786 if (cached_has_bits & 0x00020000u) {
3787 target = stream->EnsureSpace(target);
3788 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(47, this->_internal_pb_cleanup_ratio(), target);
3791 cached_has_bits = _has_bits_[0];
3793 if (cached_has_bits & 0x02000000u) {
3794 target = stream->EnsureSpace(target);
3795 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_minimize_reduction_during_pb_resolution(), target);
3798 cached_has_bits = _has_bits_[3];
3800 if (cached_has_bits & 0x00000800u) {
3801 target = stream->EnsureSpace(target);
3802 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(49, this->_internal_count_assumption_levels_in_lbd(), target);
3806 if (cached_has_bits & 0x00040000u) {
3807 target = stream->EnsureSpace(target);
3808 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(50, this->_internal_minimize_core(), target);
3811 cached_has_bits = _has_bits_[0];
3813 if (cached_has_bits & 0x00000080u) {
3814 target = stream->EnsureSpace(target);
3815 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3816 51, this->_internal_max_sat_assumption_order(), target);
3819 cached_has_bits = _has_bits_[1];
3821 if (cached_has_bits & 0x00008000u) {
3822 target = stream->EnsureSpace(target);
3823 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(52, this->_internal_max_sat_reverse_assumption_order(), target);
3826 cached_has_bits = _has_bits_[2];
3828 if (cached_has_bits & 0x00040000u) {
3829 target = stream->EnsureSpace(target);
3830 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3831 53, this->_internal_max_sat_stratification(), target);
3835 if (cached_has_bits & 0x00080000u) {
3836 target = stream->EnsureSpace(target);
3837 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(54, this->_internal_presolve_bve_threshold(), target);
3841 if (cached_has_bits & 0x00200000u) {
3842 target = stream->EnsureSpace(target);
3843 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_presolve_bve_clause_weight(), target);
3847 if (cached_has_bits & 0x80000000u) {
3848 target = stream->EnsureSpace(target);
3849 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(56, this->_internal_subsumption_during_conflict_analysis(), target);
3853 if (cached_has_bits & 0x00100000u) {
3854 target = stream->EnsureSpace(target);
3855 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(57, this->_internal_presolve_probing_deterministic_time_limit(), target);
3858 cached_has_bits = _has_bits_[0];
3860 if (cached_has_bits & 0x00000100u) {
3861 target = stream->EnsureSpace(target);
3862 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3863 58, this->_internal_clause_cleanup_protection(), target);
3866 cached_has_bits = _has_bits_[2];
3868 if (cached_has_bits & 0x00400000u) {
3869 target = stream->EnsureSpace(target);
3870 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(59, this->_internal_clause_cleanup_lbd_bound(), target);
3873 cached_has_bits = _has_bits_[0];
3875 if (cached_has_bits & 0x00000200u) {
3876 target = stream->EnsureSpace(target);
3877 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3878 60, this->_internal_clause_cleanup_ordering(), target);
3882 for (
int i = 0, n = this->_internal_restart_algorithms_size(); i < n; i++) {
3883 target = stream->EnsureSpace(target);
3884 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
3885 61, this->_internal_restart_algorithms(i), target);
3888 cached_has_bits = _has_bits_[2];
3890 if (cached_has_bits & 0x01000000u) {
3891 target = stream->EnsureSpace(target);
3892 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(62, this->_internal_restart_running_window_size(), target);
3896 if (cached_has_bits & 0x00800000u) {
3897 target = stream->EnsureSpace(target);
3898 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(63, this->_internal_restart_dl_average_ratio(), target);
3901 cached_has_bits = _has_bits_[0];
3903 if (cached_has_bits & 0x00100000u) {
3904 target = stream->EnsureSpace(target);
3905 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(64, this->_internal_use_blocking_restart(), target);
3908 cached_has_bits = _has_bits_[2];
3910 if (cached_has_bits & 0x02000000u) {
3911 target = stream->EnsureSpace(target);
3912 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(65, this->_internal_blocking_restart_window_size(), target);
3916 if (cached_has_bits & 0x04000000u) {
3917 target = stream->EnsureSpace(target);
3918 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(66, this->_internal_blocking_restart_multiplier(), target);
3922 if (cached_has_bits & 0x08000000u) {
3923 target = stream->EnsureSpace(target);
3924 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(67, this->_internal_max_deterministic_time(), target);
3927 cached_has_bits = _has_bits_[0];
3929 if (cached_has_bits & 0x00000400u) {
3930 target = stream->EnsureSpace(target);
3931 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(68, this->_internal_num_conflicts_before_strategy_changes(), target);
3935 if (cached_has_bits & 0x00000800u) {
3936 target = stream->EnsureSpace(target);
3937 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(69, this->_internal_strategy_change_increase_ratio(), target);
3941 if (cached_has_bits & 0x00000001u) {
3942 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
3943 this->_internal_default_restart_algorithms().data(),
static_cast<int>(this->_internal_default_restart_algorithms().length()),
3944 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
3945 "operations_research.sat.SatParameters.default_restart_algorithms");
3946 target = stream->WriteStringMaybeAliased(
3947 70, this->_internal_default_restart_algorithms(), target);
3950 cached_has_bits = _has_bits_[2];
3952 if (cached_has_bits & 0x10000000u) {
3953 target = stream->EnsureSpace(target);
3954 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(71, this->_internal_restart_lbd_average_ratio(), target);
3957 cached_has_bits = _has_bits_[3];
3959 if (cached_has_bits & 0x00002000u) {
3960 target = stream->EnsureSpace(target);
3961 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(72, this->_internal_presolve_use_bva(), target);
3964 cached_has_bits = _has_bits_[2];
3966 if (cached_has_bits & 0x20000000u) {
3967 target = stream->EnsureSpace(target);
3968 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(73, this->_internal_presolve_bva_threshold(), target);
3971 cached_has_bits = _has_bits_[3];
3973 if (cached_has_bits & 0x00000010u) {
3974 target = stream->EnsureSpace(target);
3975 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(74, this->_internal_use_precedences_in_disjunctive_constraint(), target);
3978 cached_has_bits = _has_bits_[0];
3980 if (cached_has_bits & 0x00040000u) {
3981 target = stream->EnsureSpace(target);
3982 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(75, this->_internal_use_erwa_heuristic(), target);
3986 if (cached_has_bits & 0x00001000u) {
3987 target = stream->EnsureSpace(target);
3988 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_initial_variables_activity(), target);
3992 if (cached_has_bits & 0x00080000u) {
3993 target = stream->EnsureSpace(target);
3994 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_also_bump_variables_in_conflict_reasons(), target);
3998 if (cached_has_bits & 0x00004000u) {
3999 target = stream->EnsureSpace(target);
4000 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(78, this->_internal_use_overload_checker_in_cumulative_constraint(), target);
4004 if (cached_has_bits & 0x00008000u) {
4005 target = stream->EnsureSpace(target);
4006 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(79, this->_internal_use_timetable_edge_finding_in_cumulative_constraint(), target);
4009 cached_has_bits = _has_bits_[3];
4011 if (cached_has_bits & 0x00000020u) {
4012 target = stream->EnsureSpace(target);
4013 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(80, this->_internal_use_disjunctive_constraint_in_cumulative_constraint(), target);
4016 cached_has_bits = _has_bits_[0];
4018 if (cached_has_bits & 0x00002000u) {
4019 target = stream->EnsureSpace(target);
4020 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4021 82, this->_internal_search_branching(), target);
4024 cached_has_bits = _has_bits_[1];
4026 if (cached_has_bits & 0x00000200u) {
4027 target = stream->EnsureSpace(target);
4028 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_optimize_with_core(), target);
4031 cached_has_bits = _has_bits_[3];
4033 if (cached_has_bits & 0x00000004u) {
4034 target = stream->EnsureSpace(target);
4035 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(84, this->_internal_find_multiple_cores(), target);
4038 cached_has_bits = _has_bits_[1];
4040 if (cached_has_bits & 0x00000800u) {
4041 target = stream->EnsureSpace(target);
4042 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_optimize_with_max_hs(), target);
4045 cached_has_bits = _has_bits_[3];
4047 if (cached_has_bits & 0x02000000u) {
4048 target = stream->EnsureSpace(target);
4049 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_cp_model_presolve(), target);
4052 cached_has_bits = _has_bits_[0];
4054 if (cached_has_bits & 0x10000000u) {
4055 target = stream->EnsureSpace(target);
4056 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_enumerate_all_solutions(), target);
4059 cached_has_bits = _has_bits_[3];
4061 if (cached_has_bits & 0x00001000u) {
4062 target = stream->EnsureSpace(target);
4063 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(88, this->_internal_presolve_blocked_clause(), target);
4067 if (cached_has_bits & 0x00000008u) {
4068 target = stream->EnsureSpace(target);
4069 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(89, this->_internal_cover_optimization(), target);
4073 if (cached_has_bits & 0x00000040u) {
4074 target = stream->EnsureSpace(target);
4075 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(90, this->_internal_linearization_level(), target);
4079 if (cached_has_bits & 0x00000080u) {
4080 target = stream->EnsureSpace(target);
4081 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(91, this->_internal_max_num_cuts(), target);
4084 cached_has_bits = _has_bits_[0];
4086 if (cached_has_bits & 0x00010000u) {
4087 target = stream->EnsureSpace(target);
4088 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(92, this->_internal_only_add_cuts_at_level_zero(), target);
4091 cached_has_bits = _has_bits_[3];
4093 if (cached_has_bits & 0x04000000u) {
4094 target = stream->EnsureSpace(target);
4095 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(93, this->_internal_cp_model_use_sat_presolve(), target);
4098 cached_has_bits = _has_bits_[4];
4100 if (cached_has_bits & 0x00000001u) {
4101 target = stream->EnsureSpace(target);
4102 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(94, this->_internal_exploit_integer_lp_solution(), target);
4105 cached_has_bits = _has_bits_[3];
4107 if (cached_has_bits & 0x00800000u) {
4108 target = stream->EnsureSpace(target);
4109 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(95, this->_internal_auto_detect_greater_than_at_least_one_of(), target);
4113 if (cached_has_bits & 0x00000100u) {
4114 target = stream->EnsureSpace(target);
4115 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(96, this->_internal_minimize_with_propagation_restart_period(), target);
4119 if (cached_has_bits & 0x00000200u) {
4120 target = stream->EnsureSpace(target);
4121 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(97, this->_internal_minimize_with_propagation_num_decisions(), target);
4124 cached_has_bits = _has_bits_[0];
4126 if (cached_has_bits & 0x80000000u) {
4127 target = stream->EnsureSpace(target);
4128 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(98, this->_internal_stop_after_first_solution(), target);
4131 cached_has_bits = _has_bits_[3];
4133 if (cached_has_bits & 0x00004000u) {
4134 target = stream->EnsureSpace(target);
4135 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(99, this->_internal_binary_search_num_conflicts(), target);
4138 cached_has_bits = _has_bits_[0];
4140 if (cached_has_bits & 0x00400000u) {
4141 target = stream->EnsureSpace(target);
4142 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(100, this->_internal_num_search_workers(), target);
4145 cached_has_bits = _has_bits_[1];
4147 if (cached_has_bits & 0x00000080u) {
4148 target = stream->EnsureSpace(target);
4149 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_use_lns_only(), target);
4153 if (cached_has_bits & 0x00000008u) {
4154 target = stream->EnsureSpace(target);
4155 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(103, this->_internal_randomize_search(), target);
4158 cached_has_bits = _has_bits_[0];
4160 if (cached_has_bits & 0x00800000u) {
4161 target = stream->EnsureSpace(target);
4162 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(104, this->_internal_search_randomization_tolerance(), target);
4165 cached_has_bits = _has_bits_[1];
4167 if (cached_has_bits & 0x00000001u) {
4168 target = stream->EnsureSpace(target);
4169 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(105, this->_internal_lns_focus_on_decision_variables(), target);
4172 cached_has_bits = _has_bits_[3];
4174 if (cached_has_bits & 0x00400000u) {
4175 target = stream->EnsureSpace(target);
4176 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(106, this->_internal_instantiate_all_variables(), target);
4180 if (cached_has_bits & 0x00080000u) {
4181 target = stream->EnsureSpace(target);
4182 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(107, this->_internal_boolean_encoding_level(), target);
4185 cached_has_bits = _has_bits_[4];
4187 if (cached_has_bits & 0x00000080u) {
4188 target = stream->EnsureSpace(target);
4189 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(108, this->_internal_use_optional_variables(), target);
4193 if (cached_has_bits & 0x00000100u) {
4194 target = stream->EnsureSpace(target);
4195 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(109, this->_internal_use_exact_lp_reason(), target);
4198 cached_has_bits = _has_bits_[3];
4200 if (cached_has_bits & 0x00100000u) {
4201 target = stream->EnsureSpace(target);
4202 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(110, this->_internal_cp_model_probing_level(), target);
4205 cached_has_bits = _has_bits_[0];
4207 if (cached_has_bits & 0x00020000u) {
4208 target = stream->EnsureSpace(target);
4209 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(111, this->_internal_add_knapsack_cuts(), target);
4212 cached_has_bits = _has_bits_[3];
4214 if (cached_has_bits & 0x80000000u) {
4215 target = stream->EnsureSpace(target);
4216 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_add_lp_constraints_lazily(), target);
4220 if (cached_has_bits & 0x01000000u) {
4221 target = stream->EnsureSpace(target);
4222 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_share_objective_bounds(), target);
4225 cached_has_bits = _has_bits_[4];
4227 if (cached_has_bits & 0x01000000u) {
4228 target = stream->EnsureSpace(target);
4229 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(114, this->_internal_share_level_zero_bounds(), target);
4232 cached_has_bits = _has_bits_[3];
4234 if (cached_has_bits & 0x20000000u) {
4235 target = stream->EnsureSpace(target);
4236 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(115, this->_internal_min_orthogonality_for_lp_constraints(), target);
4239 cached_has_bits = _has_bits_[4];
4241 if (cached_has_bits & 0x00000002u) {
4242 target = stream->EnsureSpace(target);
4243 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(116, this->_internal_exploit_all_lp_solution(), target);
4247 if (cached_has_bits & 0x00040000u) {
4248 target = stream->EnsureSpace(target);
4249 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_add_cg_cuts(), target);
4253 if (cached_has_bits & 0x00000004u) {
4254 target = stream->EnsureSpace(target);
4255 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(119, this->_internal_max_integer_rounding_scaling(), target);
4259 if (cached_has_bits & 0x00080000u) {
4260 target = stream->EnsureSpace(target);
4261 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_add_mir_cuts(), target);
4265 if (cached_has_bits & 0x00000008u) {
4266 target = stream->EnsureSpace(target);
4267 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(121, this->_internal_max_consecutive_inactive_count(), target);
4271 if (cached_has_bits & 0x00000010u) {
4272 target = stream->EnsureSpace(target);
4273 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_new_constraints_batch_size(), target);
4277 if (cached_has_bits & 0x00000020u) {
4278 target = stream->EnsureSpace(target);
4279 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(123, this->_internal_pseudo_cost_reliability_threshold(), target);
4283 if (cached_has_bits & 0x00000040u) {
4284 target = stream->EnsureSpace(target);
4285 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(124, this->_internal_mip_max_bound(), target);
4289 if (cached_has_bits & 0x00001000u) {
4290 target = stream->EnsureSpace(target);
4291 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(125, this->_internal_mip_var_scaling(), target);
4295 if (cached_has_bits & 0x00002000u) {
4296 target = stream->EnsureSpace(target);
4297 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(126, this->_internal_mip_wanted_precision(), target);
4301 if (cached_has_bits & 0x00000800u) {
4302 target = stream->EnsureSpace(target);
4303 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mip_max_activity_exponent(), target);
4307 if (cached_has_bits & 0x00004000u) {
4308 target = stream->EnsureSpace(target);
4309 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(128, this->_internal_mip_check_precision(), target);
4313 if (cached_has_bits & 0x04000000u) {
4314 target = stream->EnsureSpace(target);
4315 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(129, this->_internal_use_rins_lns(), target);
4318 cached_has_bits = _has_bits_[1];
4320 if (cached_has_bits & 0x20000000u) {
4321 target = stream->EnsureSpace(target);
4322 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(130, this->_internal_exploit_best_solution(), target);
4325 cached_has_bits = _has_bits_[3];
4327 if (cached_has_bits & 0x00200000u) {
4328 target = stream->EnsureSpace(target);
4329 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(131, this->_internal_exploit_objective(), target);
4332 cached_has_bits = _has_bits_[0];
4334 if (cached_has_bits & 0x40000000u) {
4335 target = stream->EnsureSpace(target);
4336 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(132, this->_internal_fill_tightened_domains_in_response(), target);
4339 cached_has_bits = _has_bits_[1];
4341 if (cached_has_bits & 0x00400000u) {
4342 target = stream->EnsureSpace(target);
4343 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_use_combined_no_overlap(), target);
4346 cached_has_bits = _has_bits_[4];
4348 if (cached_has_bits & 0x00008000u) {
4349 target = stream->EnsureSpace(target);
4350 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(134, this->_internal_interleave_batch_size(), target);
4354 if (cached_has_bits & 0x00000200u) {
4355 target = stream->EnsureSpace(target);
4356 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_catch_sigint_signal(), target);
4359 cached_has_bits = _has_bits_[1];
4361 if (cached_has_bits & 0x00000020u) {
4362 target = stream->EnsureSpace(target);
4363 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(136, this->_internal_interleave_search(), target);
4367 if (cached_has_bits & 0x00000004u) {
4368 target = stream->EnsureSpace(target);
4369 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(137, this->_internal_diversify_lns_params(), target);
4372 cached_has_bits = _has_bits_[4];
4374 if (cached_has_bits & 0x00010000u) {
4375 target = stream->EnsureSpace(target);
4376 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(138, this->_internal_max_presolve_iterations(), target);
4379 cached_has_bits = _has_bits_[1];
4381 if (cached_has_bits & 0x00200000u) {
4382 target = stream->EnsureSpace(target);
4383 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(139, this->_internal_use_branching_in_lp(), target);
4386 cached_has_bits = _has_bits_[3];
4388 if (cached_has_bits & 0x08000000u) {
4389 target = stream->EnsureSpace(target);
4390 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(140, this->_internal_expand_element_constraints(), target);
4393 cached_has_bits = _has_bits_[1];
4395 if (cached_has_bits & 0x00000040u) {
4396 target = stream->EnsureSpace(target);
4397 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(141, this->_internal_reduce_memory_usage_in_interleave_mode(), target);
4401 if (cached_has_bits & 0x00010000u) {
4402 target = stream->EnsureSpace(target);
4403 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(142, this->_internal_probing_period_at_root(), target);
4406 cached_has_bits = _has_bits_[3];
4408 if (cached_has_bits & 0x10000000u) {
4409 target = stream->EnsureSpace(target);
4410 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(143, this->_internal_expand_automaton_constraints(), target);
4413 cached_has_bits = _has_bits_[4];
4415 if (cached_has_bits & 0x00000400u) {
4416 target = stream->EnsureSpace(target);
4417 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(144, this->_internal_use_implied_bounds(), target);
4421 if (cached_has_bits & 0x00020000u) {
4422 target = stream->EnsureSpace(target);
4423 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(145, this->_internal_merge_no_overlap_work_limit(), target);
4427 if (cached_has_bits & 0x00800000u) {
4428 target = stream->EnsureSpace(target);
4429 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(146, this->_internal_merge_at_most_one_work_limit(), target);
4433 if (cached_has_bits & 0x00400000u) {
4434 target = stream->EnsureSpace(target);
4435 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(147, this->_internal_presolve_substitution_level(), target);
4439 if (cached_has_bits & 0x10000000u) {
4440 target = stream->EnsureSpace(target);
4441 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(148, this->_internal_max_all_diff_cut_size(), target);
4444 cached_has_bits = _has_bits_[1];
4446 if (cached_has_bits & 0x00000010u) {
4447 target = stream->EnsureSpace(target);
4448 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(149, this->_internal_stop_after_presolve(), target);
4452 if (cached_has_bits & 0x00000002u) {
4453 target = stream->EnsureSpace(target);
4454 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(150, this->_internal_use_relaxation_lns(), target);
4458 if (cached_has_bits & 0x04000000u) {
4459 target = stream->EnsureSpace(target);
4460 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(151, this->_internal_cp_model_max_num_presolve_operations(), target);
4463 cached_has_bits = _has_bits_[3];
4465 if (cached_has_bits & 0x40000000u) {
4466 target = stream->EnsureSpace(target);
4467 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(152, this->_internal_add_lin_max_cuts(), target);
4470 cached_has_bits = _has_bits_[4];
4472 if (cached_has_bits & 0x20000000u) {
4473 target = stream->EnsureSpace(target);
4474 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(153, this->_internal_hint_conflict_limit(), target);
4478 if (cached_has_bits & 0x40000000u) {
4479 target = stream->EnsureSpace(target);
4480 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(154, this->_internal_max_cut_rounds_at_level_zero(), target);
4484 if (cached_has_bits & 0x80000000u) {
4485 target = stream->EnsureSpace(target);
4486 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(155, this->_internal_cut_max_active_count_value(), target);
4489 cached_has_bits = _has_bits_[5];
4491 if (cached_has_bits & 0x00000001u) {
4492 target = stream->EnsureSpace(target);
4493 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(156, this->_internal_cut_active_count_decay(), target);
4497 if (cached_has_bits & 0x00000002u) {
4498 target = stream->EnsureSpace(target);
4499 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(157, this->_internal_cut_cleanup_target(), target);
4502 cached_has_bits = _has_bits_[3];
4504 if (cached_has_bits & 0x00008000u) {
4505 target = stream->EnsureSpace(target);
4506 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(158, this->_internal_expand_table_constraints(), target);
4509 cached_has_bits = _has_bits_[1];
4511 if (cached_has_bits & 0x01000000u) {
4512 target = stream->EnsureSpace(target);
4513 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(159, this->_internal_absolute_gap_limit(), target);
4517 if (cached_has_bits & 0x02000000u) {
4518 target = stream->EnsureSpace(target);
4519 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(160, this->_internal_relative_gap_limit(), target);
4523 if (cached_has_bits & 0x40000000u) {
4524 target = stream->EnsureSpace(target);
4525 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(161, this->_internal_exploit_relaxation_solution(), target);
4528 cached_has_bits = _has_bits_[0];
4530 if (cached_has_bits & 0x04000000u) {
4531 target = stream->EnsureSpace(target);
4532 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(162, this->_internal_cp_model_postsolve_with_full_solver(), target);
4536 if (cached_has_bits & 0x08000000u) {
4537 target = stream->EnsureSpace(target);
4538 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(163, this->_internal_use_sat_inprocessing(), target);
4541 cached_has_bits = _has_bits_[4];
4543 if (cached_has_bits & 0x08000000u) {
4544 target = stream->EnsureSpace(target);
4545 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(164, this->_internal_use_feasibility_pump(), target);
4548 cached_has_bits = _has_bits_[5];
4550 if (cached_has_bits & 0x00000004u) {
4551 target = stream->EnsureSpace(target);
4552 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
4553 165, this->_internal_fp_rounding(), target);
4557 if (cached_has_bits & 0x00000020u) {
4558 target = stream->EnsureSpace(target);
4559 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(166, this->_internal_mip_automatically_scale_variables(), target);
4562 cached_has_bits = _has_bits_[1];
4564 if (cached_has_bits & 0x08000000u) {
4565 target = stream->EnsureSpace(target);
4566 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(167, this->_internal_repair_hint(), target);
4569 cached_has_bits = _has_bits_[5];
4571 if (cached_has_bits & 0x00000008u) {
4572 target = stream->EnsureSpace(target);
4573 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(168, this->_internal_polarity_rephase_increment(), target);
4576 cached_has_bits = _has_bits_[4];
4578 if (cached_has_bits & 0x00100000u) {
4579 target = stream->EnsureSpace(target);
4580 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(169, this->_internal_add_zero_half_cuts(), target);
4583 cached_has_bits = _has_bits_[1];
4585 if (cached_has_bits & 0x00001000u) {
4586 target = stream->EnsureSpace(target);
4587 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(170, this->_internal_expand_alldiff_constraints(), target);
4590 cached_has_bits = _has_bits_[0];
4592 if (cached_has_bits & 0x00000002u) {
4593 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4594 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
4595 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4596 "operations_research.sat.SatParameters.name");
4597 target = stream->WriteStringMaybeAliased(
4598 171, this->_internal_name(), target);
4601 cached_has_bits = _has_bits_[4];
4603 if (cached_has_bits & 0x00200000u) {
4604 target = stream->EnsureSpace(target);
4605 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(172, this->_internal_add_clique_cuts(), target);
4608 cached_has_bits = _has_bits_[0];
4610 if (cached_has_bits & 0x20000000u) {
4611 target = stream->EnsureSpace(target);
4612 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(173, this->_internal_keep_all_feasible_solutions_in_presolve(), target);
4615 cached_has_bits = _has_bits_[1];
4617 if (cached_has_bits & 0x00004000u) {
4618 target = stream->EnsureSpace(target);
4619 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(174, this->_internal_presolve_extract_integer_enforcement(), target);
4623 if (cached_has_bits & 0x00800000u) {
4624 target = stream->EnsureSpace(target);
4625 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(175, this->_internal_polish_lp_solution(), target);
4629 if (cached_has_bits & 0x00000100u) {
4630 target = stream->EnsureSpace(target);
4631 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(176, this->_internal_use_probing_search(), target);
4634 cached_has_bits = _has_bits_[5];
4636 if (cached_has_bits & 0x00000010u) {
4637 target = stream->EnsureSpace(target);
4638 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(177, this->_internal_convert_intervals(), target);
4641 cached_has_bits = _has_bits_[0];
4643 if (cached_has_bits & 0x00200000u) {
4644 target = stream->EnsureSpace(target);
4645 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(178, this->_internal_permute_variable_randomly(), target);
4648 cached_has_bits = _has_bits_[1];
4650 if (cached_has_bits & 0x00020000u) {
4651 target = stream->EnsureSpace(target);
4652 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(179, this->_internal_permute_presolve_constraint_order(), target);
4656 if (cached_has_bits & 0x00040000u) {
4657 target = stream->EnsureSpace(target);
4658 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(180, this->_internal_use_absl_random(), target);
4662 if (cached_has_bits & 0x00002000u) {
4663 target = stream->EnsureSpace(target);
4664 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(181, this->_internal_disable_constraint_expansion(), target);
4667 cached_has_bits = _has_bits_[3];
4669 if (cached_has_bits & 0x00010000u) {
4670 target = stream->EnsureSpace(target);
4671 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(182, this->_internal_expand_reservoir_constraints(), target);
4674 cached_has_bits = _has_bits_[5];
4676 if (cached_has_bits & 0x00000040u) {
4677 target = stream->EnsureSpace(target);
4678 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(183, this->_internal_symmetry_level(), target);
4681 cached_has_bits = _has_bits_[4];
4683 if (cached_has_bits & 0x02000000u) {
4684 target = stream->EnsureSpace(target);
4685 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(184, this->_internal_lns_expand_intervals_in_constraint_graph(), target);
4688 cached_has_bits = _has_bits_[0];
4690 if (cached_has_bits & 0x00000004u) {
4691 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
4692 this->_internal_log_prefix().data(),
static_cast<int>(this->_internal_log_prefix().length()),
4693 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
4694 "operations_research.sat.SatParameters.log_prefix");
4695 target = stream->WriteStringMaybeAliased(
4696 185, this->_internal_log_prefix(), target);
4699 cached_has_bits = _has_bits_[3];
4701 if (cached_has_bits & 0x00000400u) {
4702 target = stream->EnsureSpace(target);
4703 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(186, this->_internal_log_to_stdout(), target);
4706 cached_has_bits = _has_bits_[1];
4708 if (cached_has_bits & 0x00100000u) {
4709 target = stream->EnsureSpace(target);
4710 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(187, this->_internal_log_to_response(), target);
4714 if (cached_has_bits & 0x00000400u) {
4715 target = stream->EnsureSpace(target);
4716 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(188, this->_internal_optimize_with_lb_tree_search(), target);
4719 cached_has_bits = _has_bits_[3];
4721 if (cached_has_bits & 0x00000002u) {
4722 target = stream->EnsureSpace(target);
4723 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(189, this->_internal_log_subsolver_statistics(), target);
4726 cached_has_bits = _has_bits_[5];
4728 if (cached_has_bits & 0x00000100u) {
4729 target = stream->EnsureSpace(target);
4730 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(190, this->_internal_clause_cleanup_ratio(), target);
4734 if (cached_has_bits & 0x00000080u) {
4735 target = stream->EnsureSpace(target);
4736 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(191, this->_internal_max_domain_size_when_encoding_eq_neq_constraints(), target);
4739 cached_has_bits = _has_bits_[1];
4741 if (cached_has_bits & 0x10000000u) {
4742 target = stream->EnsureSpace(target);
4743 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(192, this->_internal_fix_variables_to_their_hinted_value(), target);
4747 if (cached_has_bits & 0x80000000u) {
4748 target = stream->EnsureSpace(target);
4749 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(193, this->_internal_solution_pool_size(), target);
4752 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4753 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4754 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4762 size_t total_size = 0;
4764 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4766 (void) cached_has_bits;
4770 size_t data_size = 0;
4771 unsigned int count =
static_cast<unsigned int>(this->_internal_restart_algorithms_size());
for (
unsigned int i = 0; i < count; i++) {
4772 data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
4773 this->_internal_restart_algorithms(
static_cast<int>(i)));
4775 total_size += (2UL * count) + data_size;
4778 cached_has_bits = _has_bits_[0];
4779 if (cached_has_bits & 0x000000ffu) {
4781 if (cached_has_bits & 0x00000001u) {
4783 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4784 this->_internal_default_restart_algorithms());
4788 if (cached_has_bits & 0x00000002u) {
4790 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4791 this->_internal_name());
4795 if (cached_has_bits & 0x00000004u) {
4797 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
4798 this->_internal_log_prefix());
4802 if (cached_has_bits & 0x00000008u) {
4804 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_preferred_variable_order());
4808 if (cached_has_bits & 0x00000010u) {
4809 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_clause_cleanup_target());
4813 if (cached_has_bits & 0x00000020u) {
4814 total_size += 2 + 8;
4818 if (cached_has_bits & 0x00000040u) {
4819 total_size += 2 + 8;
4823 if (cached_has_bits & 0x00000080u) {
4825 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_assumption_order());
4829 if (cached_has_bits & 0x0000ff00u) {
4831 if (cached_has_bits & 0x00000100u) {
4833 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_protection());
4837 if (cached_has_bits & 0x00000200u) {
4839 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_clause_cleanup_ordering());
4843 if (cached_has_bits & 0x00000400u) {
4845 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4846 this->_internal_num_conflicts_before_strategy_changes());
4850 if (cached_has_bits & 0x00000800u) {
4851 total_size += 2 + 8;
4855 if (cached_has_bits & 0x00001000u) {
4856 total_size += 2 + 8;
4860 if (cached_has_bits & 0x00002000u) {
4862 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_search_branching());
4866 if (cached_has_bits & 0x00004000u) {
4867 total_size += 2 + 1;
4871 if (cached_has_bits & 0x00008000u) {
4872 total_size += 2 + 1;
4876 if (cached_has_bits & 0x00ff0000u) {
4878 if (cached_has_bits & 0x00010000u) {
4879 total_size += 2 + 1;
4883 if (cached_has_bits & 0x00020000u) {
4884 total_size += 2 + 1;
4888 if (cached_has_bits & 0x00040000u) {
4889 total_size += 2 + 1;
4893 if (cached_has_bits & 0x00080000u) {
4894 total_size += 2 + 1;
4898 if (cached_has_bits & 0x00100000u) {
4899 total_size += 2 + 1;
4903 if (cached_has_bits & 0x00200000u) {
4904 total_size += 2 + 1;
4908 if (cached_has_bits & 0x00400000u) {
4910 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4911 this->_internal_num_search_workers());
4915 if (cached_has_bits & 0x00800000u) {
4917 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4918 this->_internal_search_randomization_tolerance());
4922 if (cached_has_bits & 0xff000000u) {
4924 if (cached_has_bits & 0x01000000u) {
4925 total_size += 2 + 1;
4929 if (cached_has_bits & 0x02000000u) {
4930 total_size += 2 + 1;
4934 if (cached_has_bits & 0x04000000u) {
4935 total_size += 2 + 1;
4939 if (cached_has_bits & 0x08000000u) {
4940 total_size += 2 + 1;
4944 if (cached_has_bits & 0x10000000u) {
4945 total_size += 2 + 1;
4949 if (cached_has_bits & 0x20000000u) {
4950 total_size += 2 + 1;
4954 if (cached_has_bits & 0x40000000u) {
4955 total_size += 2 + 1;
4959 if (cached_has_bits & 0x80000000u) {
4960 total_size += 2 + 1;
4964 cached_has_bits = _has_bits_[1];
4965 if (cached_has_bits & 0x000000ffu) {
4967 if (cached_has_bits & 0x00000001u) {
4968 total_size += 2 + 1;
4972 if (cached_has_bits & 0x00000002u) {
4973 total_size += 2 + 1;
4977 if (cached_has_bits & 0x00000004u) {
4978 total_size += 2 + 1;
4982 if (cached_has_bits & 0x00000008u) {
4983 total_size += 2 + 1;
4987 if (cached_has_bits & 0x00000010u) {
4988 total_size += 2 + 1;
4992 if (cached_has_bits & 0x00000020u) {
4993 total_size += 2 + 1;
4997 if (cached_has_bits & 0x00000040u) {
4998 total_size += 2 + 1;
5002 if (cached_has_bits & 0x00000080u) {
5003 total_size += 2 + 1;
5007 if (cached_has_bits & 0x0000ff00u) {
5009 if (cached_has_bits & 0x00000100u) {
5010 total_size += 2 + 1;
5014 if (cached_has_bits & 0x00000200u) {
5015 total_size += 2 + 1;
5019 if (cached_has_bits & 0x00000400u) {
5020 total_size += 2 + 1;
5024 if (cached_has_bits & 0x00000800u) {
5025 total_size += 2 + 1;
5029 if (cached_has_bits & 0x00001000u) {
5030 total_size += 2 + 1;
5034 if (cached_has_bits & 0x00002000u) {
5035 total_size += 2 + 1;
5039 if (cached_has_bits & 0x00004000u) {
5040 total_size += 2 + 1;
5044 if (cached_has_bits & 0x00008000u) {
5045 total_size += 2 + 1;
5049 if (cached_has_bits & 0x00ff0000u) {
5051 if (cached_has_bits & 0x00010000u) {
5053 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5054 this->_internal_probing_period_at_root());
5058 if (cached_has_bits & 0x00020000u) {
5059 total_size += 2 + 1;
5063 if (cached_has_bits & 0x00040000u) {
5064 total_size += 2 + 1;
5068 if (cached_has_bits & 0x00080000u) {
5069 total_size += 2 + 1;
5073 if (cached_has_bits & 0x00100000u) {
5074 total_size += 2 + 1;
5078 if (cached_has_bits & 0x00200000u) {
5079 total_size += 2 + 1;
5083 if (cached_has_bits & 0x00400000u) {
5084 total_size += 2 + 1;
5088 if (cached_has_bits & 0x00800000u) {
5089 total_size += 2 + 1;
5093 if (cached_has_bits & 0xff000000u) {
5095 if (cached_has_bits & 0x01000000u) {
5096 total_size += 2 + 8;
5100 if (cached_has_bits & 0x02000000u) {
5101 total_size += 2 + 8;
5105 if (cached_has_bits & 0x04000000u) {
5107 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5108 this->_internal_cp_model_max_num_presolve_operations());
5112 if (cached_has_bits & 0x08000000u) {
5113 total_size += 2 + 1;
5117 if (cached_has_bits & 0x10000000u) {
5118 total_size += 2 + 1;
5122 if (cached_has_bits & 0x20000000u) {
5123 total_size += 2 + 1;
5127 if (cached_has_bits & 0x40000000u) {
5128 total_size += 2 + 1;
5132 if (cached_has_bits & 0x80000000u) {
5134 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5135 this->_internal_solution_pool_size());
5139 cached_has_bits = _has_bits_[2];
5140 if (cached_has_bits & 0x000000ffu) {
5142 if (cached_has_bits & 0x00000001u) {
5144 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_initial_polarity());
5148 if (cached_has_bits & 0x00000002u) {
5150 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_minimization_algorithm());
5154 if (cached_has_bits & 0x00000004u) {
5155 total_size += 1 + 8;
5159 if (cached_has_bits & 0x00000008u) {
5160 total_size += 2 + 8;
5164 if (cached_has_bits & 0x00000010u) {
5165 total_size += 2 + 8;
5169 if (cached_has_bits & 0x00000020u) {
5170 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_clause_cleanup_period());
5174 if (cached_has_bits & 0x00000040u) {
5176 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5177 this->_internal_glucose_decay_increment_period());
5181 if (cached_has_bits & 0x00000080u) {
5182 total_size += 2 + 8;
5186 if (cached_has_bits & 0x0000ff00u) {
5188 if (cached_has_bits & 0x00000100u) {
5189 total_size += 2 + 8;
5193 if (cached_has_bits & 0x00000200u) {
5194 total_size += 2 + 8;
5198 if (cached_has_bits & 0x00000400u) {
5200 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5201 this->_internal_restart_period());
5205 if (cached_has_bits & 0x00000800u) {
5207 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5208 this->_internal_random_seed());
5212 if (cached_has_bits & 0x00001000u) {
5213 total_size += 2 + 8;
5217 if (cached_has_bits & 0x00002000u) {
5219 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5220 this->_internal_max_number_of_conflicts());
5224 if (cached_has_bits & 0x00004000u) {
5226 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5227 this->_internal_max_memory_in_mb());
5231 if (cached_has_bits & 0x00008000u) {
5233 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_binary_minimization_algorithm());
5237 if (cached_has_bits & 0x00ff0000u) {
5239 if (cached_has_bits & 0x00010000u) {
5241 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5242 this->_internal_pb_cleanup_increment());
5246 if (cached_has_bits & 0x00020000u) {
5247 total_size += 2 + 8;
5251 if (cached_has_bits & 0x00040000u) {
5253 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_max_sat_stratification());
5257 if (cached_has_bits & 0x00080000u) {
5259 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5260 this->_internal_presolve_bve_threshold());
5264 if (cached_has_bits & 0x00100000u) {
5265 total_size += 2 + 8;
5269 if (cached_has_bits & 0x00200000u) {
5271 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5272 this->_internal_presolve_bve_clause_weight());
5276 if (cached_has_bits & 0x00400000u) {
5278 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5279 this->_internal_clause_cleanup_lbd_bound());
5283 if (cached_has_bits & 0x00800000u) {
5284 total_size += 2 + 8;
5288 if (cached_has_bits & 0xff000000u) {
5290 if (cached_has_bits & 0x01000000u) {
5292 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5293 this->_internal_restart_running_window_size());
5297 if (cached_has_bits & 0x02000000u) {
5299 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5300 this->_internal_blocking_restart_window_size());
5304 if (cached_has_bits & 0x04000000u) {
5305 total_size += 2 + 8;
5309 if (cached_has_bits & 0x08000000u) {
5310 total_size += 2 + 8;
5314 if (cached_has_bits & 0x10000000u) {
5315 total_size += 2 + 8;
5319 if (cached_has_bits & 0x20000000u) {
5321 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5322 this->_internal_presolve_bva_threshold());
5326 if (cached_has_bits & 0x40000000u) {
5327 total_size += 2 + 1;
5331 if (cached_has_bits & 0x80000000u) {
5332 total_size += 2 + 1;
5336 cached_has_bits = _has_bits_[3];
5337 if (cached_has_bits & 0x000000ffu) {
5339 if (cached_has_bits & 0x00000001u) {
5340 total_size += 2 + 1;
5344 if (cached_has_bits & 0x00000002u) {
5345 total_size += 2 + 1;
5349 if (cached_has_bits & 0x00000004u) {
5350 total_size += 2 + 1;
5354 if (cached_has_bits & 0x00000008u) {
5355 total_size += 2 + 1;
5359 if (cached_has_bits & 0x00000010u) {
5360 total_size += 2 + 1;
5364 if (cached_has_bits & 0x00000020u) {
5365 total_size += 2 + 1;
5369 if (cached_has_bits & 0x00000040u) {
5371 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5372 this->_internal_linearization_level());
5376 if (cached_has_bits & 0x00000080u) {
5378 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5379 this->_internal_max_num_cuts());
5383 if (cached_has_bits & 0x0000ff00u) {
5385 if (cached_has_bits & 0x00000100u) {
5387 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5388 this->_internal_minimize_with_propagation_restart_period());
5392 if (cached_has_bits & 0x00000200u) {
5394 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5395 this->_internal_minimize_with_propagation_num_decisions());
5399 if (cached_has_bits & 0x00000400u) {
5400 total_size += 2 + 1;
5404 if (cached_has_bits & 0x00000800u) {
5405 total_size += 2 + 1;
5409 if (cached_has_bits & 0x00001000u) {
5410 total_size += 2 + 1;
5414 if (cached_has_bits & 0x00002000u) {
5415 total_size += 2 + 1;
5419 if (cached_has_bits & 0x00004000u) {
5421 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5422 this->_internal_binary_search_num_conflicts());
5426 if (cached_has_bits & 0x00008000u) {
5427 total_size += 2 + 1;
5431 if (cached_has_bits & 0x00ff0000u) {
5433 if (cached_has_bits & 0x00010000u) {
5434 total_size += 2 + 1;
5438 if (cached_has_bits & 0x00020000u) {
5439 total_size += 2 + 1;
5443 if (cached_has_bits & 0x00040000u) {
5444 total_size += 2 + 1;
5448 if (cached_has_bits & 0x00080000u) {
5450 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5451 this->_internal_boolean_encoding_level());
5455 if (cached_has_bits & 0x00100000u) {
5457 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5458 this->_internal_cp_model_probing_level());
5462 if (cached_has_bits & 0x00200000u) {
5463 total_size += 2 + 1;
5467 if (cached_has_bits & 0x00400000u) {
5468 total_size += 2 + 1;
5472 if (cached_has_bits & 0x00800000u) {
5473 total_size += 2 + 1;
5477 if (cached_has_bits & 0xff000000u) {
5479 if (cached_has_bits & 0x01000000u) {
5480 total_size += 2 + 1;
5484 if (cached_has_bits & 0x02000000u) {
5485 total_size += 2 + 1;
5489 if (cached_has_bits & 0x04000000u) {
5490 total_size += 2 + 1;
5494 if (cached_has_bits & 0x08000000u) {
5495 total_size += 2 + 1;
5499 if (cached_has_bits & 0x10000000u) {
5500 total_size += 2 + 1;
5504 if (cached_has_bits & 0x20000000u) {
5505 total_size += 2 + 8;
5509 if (cached_has_bits & 0x40000000u) {
5510 total_size += 2 + 1;
5514 if (cached_has_bits & 0x80000000u) {
5515 total_size += 2 + 1;
5519 cached_has_bits = _has_bits_[4];
5520 if (cached_has_bits & 0x000000ffu) {
5522 if (cached_has_bits & 0x00000001u) {
5523 total_size += 2 + 1;
5527 if (cached_has_bits & 0x00000002u) {
5528 total_size += 2 + 1;
5532 if (cached_has_bits & 0x00000004u) {
5534 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5535 this->_internal_max_integer_rounding_scaling());
5539 if (cached_has_bits & 0x00000008u) {
5541 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5542 this->_internal_max_consecutive_inactive_count());
5546 if (cached_has_bits & 0x00000010u) {
5548 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5549 this->_internal_new_constraints_batch_size());
5553 if (cached_has_bits & 0x00000020u) {
5555 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5556 this->_internal_pseudo_cost_reliability_threshold());
5560 if (cached_has_bits & 0x00000040u) {
5561 total_size += 2 + 8;
5565 if (cached_has_bits & 0x00000080u) {
5566 total_size += 2 + 1;
5570 if (cached_has_bits & 0x0000ff00u) {
5572 if (cached_has_bits & 0x00000100u) {
5573 total_size += 2 + 1;
5577 if (cached_has_bits & 0x00000200u) {
5578 total_size += 2 + 1;
5582 if (cached_has_bits & 0x00000400u) {
5583 total_size += 2 + 1;
5587 if (cached_has_bits & 0x00000800u) {
5589 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5590 this->_internal_mip_max_activity_exponent());
5594 if (cached_has_bits & 0x00001000u) {
5595 total_size += 2 + 8;
5599 if (cached_has_bits & 0x00002000u) {
5600 total_size += 2 + 8;
5604 if (cached_has_bits & 0x00004000u) {
5605 total_size += 2 + 8;
5609 if (cached_has_bits & 0x00008000u) {
5611 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5612 this->_internal_interleave_batch_size());
5616 if (cached_has_bits & 0x00ff0000u) {
5618 if (cached_has_bits & 0x00010000u) {
5620 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5621 this->_internal_max_presolve_iterations());
5625 if (cached_has_bits & 0x00020000u) {
5626 total_size += 2 + 8;
5630 if (cached_has_bits & 0x00040000u) {
5631 total_size += 2 + 1;
5635 if (cached_has_bits & 0x00080000u) {
5636 total_size += 2 + 1;
5640 if (cached_has_bits & 0x00100000u) {
5641 total_size += 2 + 1;
5645 if (cached_has_bits & 0x00200000u) {
5646 total_size += 2 + 1;
5650 if (cached_has_bits & 0x00400000u) {
5652 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5653 this->_internal_presolve_substitution_level());
5657 if (cached_has_bits & 0x00800000u) {
5658 total_size += 2 + 8;
5662 if (cached_has_bits & 0xff000000u) {
5664 if (cached_has_bits & 0x01000000u) {
5665 total_size += 2 + 1;
5669 if (cached_has_bits & 0x02000000u) {
5670 total_size += 2 + 1;
5674 if (cached_has_bits & 0x04000000u) {
5675 total_size += 2 + 1;
5679 if (cached_has_bits & 0x08000000u) {
5680 total_size += 2 + 1;
5684 if (cached_has_bits & 0x10000000u) {
5686 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5687 this->_internal_max_all_diff_cut_size());
5691 if (cached_has_bits & 0x20000000u) {
5693 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5694 this->_internal_hint_conflict_limit());
5698 if (cached_has_bits & 0x40000000u) {
5700 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5701 this->_internal_max_cut_rounds_at_level_zero());
5705 if (cached_has_bits & 0x80000000u) {
5706 total_size += 2 + 8;
5710 cached_has_bits = _has_bits_[5];
5711 if (cached_has_bits & 0x000000ffu) {
5713 if (cached_has_bits & 0x00000001u) {
5714 total_size += 2 + 8;
5718 if (cached_has_bits & 0x00000002u) {
5720 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5721 this->_internal_cut_cleanup_target());
5725 if (cached_has_bits & 0x00000004u) {
5727 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fp_rounding());
5731 if (cached_has_bits & 0x00000008u) {
5733 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5734 this->_internal_polarity_rephase_increment());
5738 if (cached_has_bits & 0x00000010u) {
5739 total_size += 2 + 1;
5743 if (cached_has_bits & 0x00000020u) {
5744 total_size += 2 + 1;
5748 if (cached_has_bits & 0x00000040u) {
5750 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5751 this->_internal_symmetry_level());
5755 if (cached_has_bits & 0x00000080u) {
5757 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5758 this->_internal_max_domain_size_when_encoding_eq_neq_constraints());
5763 if (cached_has_bits & 0x00000100u) {
5764 total_size += 2 + 8;
5767 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
5771 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
5772 SatParameters::MergeImpl
5776void SatParameters::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
5777 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5785 GOOGLE_DCHECK_NE(&from,
this);
5786 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5787 (void) cached_has_bits;
5789 restart_algorithms_.MergeFrom(from.restart_algorithms_);
5790 cached_has_bits = from._has_bits_[0];
5791 if (cached_has_bits & 0x000000ffu) {
5792 if (cached_has_bits & 0x00000001u) {
5793 _internal_set_default_restart_algorithms(from._internal_default_restart_algorithms());
5795 if (cached_has_bits & 0x00000002u) {
5796 _internal_set_name(from._internal_name());
5798 if (cached_has_bits & 0x00000004u) {
5799 _internal_set_log_prefix(from._internal_log_prefix());
5801 if (cached_has_bits & 0x00000008u) {
5802 preferred_variable_order_ = from.preferred_variable_order_;
5804 if (cached_has_bits & 0x00000010u) {
5805 clause_cleanup_target_ = from.clause_cleanup_target_;
5807 if (cached_has_bits & 0x00000020u) {
5808 random_branches_ratio_ = from.random_branches_ratio_;
5810 if (cached_has_bits & 0x00000040u) {
5811 random_polarity_ratio_ = from.random_polarity_ratio_;
5813 if (cached_has_bits & 0x00000080u) {
5814 max_sat_assumption_order_ = from.max_sat_assumption_order_;
5816 _has_bits_[0] |= cached_has_bits;
5818 if (cached_has_bits & 0x0000ff00u) {
5819 if (cached_has_bits & 0x00000100u) {
5820 clause_cleanup_protection_ = from.clause_cleanup_protection_;
5822 if (cached_has_bits & 0x00000200u) {
5823 clause_cleanup_ordering_ = from.clause_cleanup_ordering_;
5825 if (cached_has_bits & 0x00000400u) {
5826 num_conflicts_before_strategy_changes_ = from.num_conflicts_before_strategy_changes_;
5828 if (cached_has_bits & 0x00000800u) {
5829 strategy_change_increase_ratio_ = from.strategy_change_increase_ratio_;
5831 if (cached_has_bits & 0x00001000u) {
5832 initial_variables_activity_ = from.initial_variables_activity_;
5834 if (cached_has_bits & 0x00002000u) {
5835 search_branching_ = from.search_branching_;
5837 if (cached_has_bits & 0x00004000u) {
5838 use_overload_checker_in_cumulative_constraint_ = from.use_overload_checker_in_cumulative_constraint_;
5840 if (cached_has_bits & 0x00008000u) {
5841 use_timetable_edge_finding_in_cumulative_constraint_ = from.use_timetable_edge_finding_in_cumulative_constraint_;
5843 _has_bits_[0] |= cached_has_bits;
5845 if (cached_has_bits & 0x00ff0000u) {
5846 if (cached_has_bits & 0x00010000u) {
5847 only_add_cuts_at_level_zero_ = from.only_add_cuts_at_level_zero_;
5849 if (cached_has_bits & 0x00020000u) {
5850 add_knapsack_cuts_ = from.add_knapsack_cuts_;
5852 if (cached_has_bits & 0x00040000u) {
5853 use_erwa_heuristic_ = from.use_erwa_heuristic_;
5855 if (cached_has_bits & 0x00080000u) {
5856 also_bump_variables_in_conflict_reasons_ = from.also_bump_variables_in_conflict_reasons_;
5858 if (cached_has_bits & 0x00100000u) {
5859 use_blocking_restart_ = from.use_blocking_restart_;
5861 if (cached_has_bits & 0x00200000u) {
5862 permute_variable_randomly_ = from.permute_variable_randomly_;
5864 if (cached_has_bits & 0x00400000u) {
5865 num_search_workers_ = from.num_search_workers_;
5867 if (cached_has_bits & 0x00800000u) {
5868 search_randomization_tolerance_ = from.search_randomization_tolerance_;
5870 _has_bits_[0] |= cached_has_bits;
5872 if (cached_has_bits & 0xff000000u) {
5873 if (cached_has_bits & 0x01000000u) {
5874 use_pb_resolution_ = from.use_pb_resolution_;
5876 if (cached_has_bits & 0x02000000u) {
5877 minimize_reduction_during_pb_resolution_ = from.minimize_reduction_during_pb_resolution_;
5879 if (cached_has_bits & 0x04000000u) {
5880 cp_model_postsolve_with_full_solver_ = from.cp_model_postsolve_with_full_solver_;
5882 if (cached_has_bits & 0x08000000u) {
5883 use_sat_inprocessing_ = from.use_sat_inprocessing_;
5885 if (cached_has_bits & 0x10000000u) {
5886 enumerate_all_solutions_ = from.enumerate_all_solutions_;
5888 if (cached_has_bits & 0x20000000u) {
5889 keep_all_feasible_solutions_in_presolve_ = from.keep_all_feasible_solutions_in_presolve_;
5891 if (cached_has_bits & 0x40000000u) {
5892 fill_tightened_domains_in_response_ = from.fill_tightened_domains_in_response_;
5894 if (cached_has_bits & 0x80000000u) {
5895 stop_after_first_solution_ = from.stop_after_first_solution_;
5897 _has_bits_[0] |= cached_has_bits;
5899 cached_has_bits = from._has_bits_[1];
5900 if (cached_has_bits & 0x000000ffu) {
5901 if (cached_has_bits & 0x00000001u) {
5902 lns_focus_on_decision_variables_ = from.lns_focus_on_decision_variables_;
5904 if (cached_has_bits & 0x00000002u) {
5905 use_relaxation_lns_ = from.use_relaxation_lns_;
5907 if (cached_has_bits & 0x00000004u) {
5908 diversify_lns_params_ = from.diversify_lns_params_;
5910 if (cached_has_bits & 0x00000008u) {
5911 randomize_search_ = from.randomize_search_;
5913 if (cached_has_bits & 0x00000010u) {
5914 stop_after_presolve_ = from.stop_after_presolve_;
5916 if (cached_has_bits & 0x00000020u) {
5917 interleave_search_ = from.interleave_search_;
5919 if (cached_has_bits & 0x00000040u) {
5920 reduce_memory_usage_in_interleave_mode_ = from.reduce_memory_usage_in_interleave_mode_;
5922 if (cached_has_bits & 0x00000080u) {
5923 use_lns_only_ = from.use_lns_only_;
5925 _has_bits_[1] |= cached_has_bits;
5927 if (cached_has_bits & 0x0000ff00u) {
5928 if (cached_has_bits & 0x00000100u) {
5929 use_probing_search_ = from.use_probing_search_;
5931 if (cached_has_bits & 0x00000200u) {
5932 optimize_with_core_ = from.optimize_with_core_;
5934 if (cached_has_bits & 0x00000400u) {
5935 optimize_with_lb_tree_search_ = from.optimize_with_lb_tree_search_;
5937 if (cached_has_bits & 0x00000800u) {
5938 optimize_with_max_hs_ = from.optimize_with_max_hs_;
5940 if (cached_has_bits & 0x00001000u) {
5941 expand_alldiff_constraints_ = from.expand_alldiff_constraints_;
5943 if (cached_has_bits & 0x00002000u) {
5944 disable_constraint_expansion_ = from.disable_constraint_expansion_;
5946 if (cached_has_bits & 0x00004000u) {
5947 presolve_extract_integer_enforcement_ = from.presolve_extract_integer_enforcement_;
5949 if (cached_has_bits & 0x00008000u) {
5950 max_sat_reverse_assumption_order_ = from.max_sat_reverse_assumption_order_;
5952 _has_bits_[1] |= cached_has_bits;
5954 if (cached_has_bits & 0x00ff0000u) {
5955 if (cached_has_bits & 0x00010000u) {
5956 probing_period_at_root_ = from.probing_period_at_root_;
5958 if (cached_has_bits & 0x00020000u) {
5959 permute_presolve_constraint_order_ = from.permute_presolve_constraint_order_;
5961 if (cached_has_bits & 0x00040000u) {
5962 use_absl_random_ = from.use_absl_random_;
5964 if (cached_has_bits & 0x00080000u) {
5965 log_search_progress_ = from.log_search_progress_;
5967 if (cached_has_bits & 0x00100000u) {
5968 log_to_response_ = from.log_to_response_;
5970 if (cached_has_bits & 0x00200000u) {
5971 use_branching_in_lp_ = from.use_branching_in_lp_;
5973 if (cached_has_bits & 0x00400000u) {
5974 use_combined_no_overlap_ = from.use_combined_no_overlap_;
5976 if (cached_has_bits & 0x00800000u) {
5977 polish_lp_solution_ = from.polish_lp_solution_;
5979 _has_bits_[1] |= cached_has_bits;
5981 if (cached_has_bits & 0xff000000u) {
5982 if (cached_has_bits & 0x01000000u) {
5983 absolute_gap_limit_ = from.absolute_gap_limit_;
5985 if (cached_has_bits & 0x02000000u) {
5986 relative_gap_limit_ = from.relative_gap_limit_;
5988 if (cached_has_bits & 0x04000000u) {
5989 cp_model_max_num_presolve_operations_ = from.cp_model_max_num_presolve_operations_;
5991 if (cached_has_bits & 0x08000000u) {
5992 repair_hint_ = from.repair_hint_;
5994 if (cached_has_bits & 0x10000000u) {
5995 fix_variables_to_their_hinted_value_ = from.fix_variables_to_their_hinted_value_;
5997 if (cached_has_bits & 0x20000000u) {
5998 exploit_best_solution_ = from.exploit_best_solution_;
6000 if (cached_has_bits & 0x40000000u) {
6001 exploit_relaxation_solution_ = from.exploit_relaxation_solution_;
6003 if (cached_has_bits & 0x80000000u) {
6004 solution_pool_size_ = from.solution_pool_size_;
6006 _has_bits_[1] |= cached_has_bits;
6008 cached_has_bits = from._has_bits_[2];
6009 if (cached_has_bits & 0x000000ffu) {
6010 if (cached_has_bits & 0x00000001u) {
6011 initial_polarity_ = from.initial_polarity_;
6013 if (cached_has_bits & 0x00000002u) {
6014 minimization_algorithm_ = from.minimization_algorithm_;
6016 if (cached_has_bits & 0x00000004u) {
6017 variable_activity_decay_ = from.variable_activity_decay_;
6019 if (cached_has_bits & 0x00000008u) {
6020 max_variable_activity_value_ = from.max_variable_activity_value_;
6022 if (cached_has_bits & 0x00000010u) {
6023 clause_activity_decay_ = from.clause_activity_decay_;
6025 if (cached_has_bits & 0x00000020u) {
6026 clause_cleanup_period_ = from.clause_cleanup_period_;
6028 if (cached_has_bits & 0x00000040u) {
6029 glucose_decay_increment_period_ = from.glucose_decay_increment_period_;
6031 if (cached_has_bits & 0x00000080u) {
6032 max_clause_activity_value_ = from.max_clause_activity_value_;
6034 _has_bits_[2] |= cached_has_bits;
6036 if (cached_has_bits & 0x0000ff00u) {
6037 if (cached_has_bits & 0x00000100u) {
6038 glucose_max_decay_ = from.glucose_max_decay_;
6040 if (cached_has_bits & 0x00000200u) {
6041 glucose_decay_increment_ = from.glucose_decay_increment_;
6043 if (cached_has_bits & 0x00000400u) {
6044 restart_period_ = from.restart_period_;
6046 if (cached_has_bits & 0x00000800u) {
6047 random_seed_ = from.random_seed_;
6049 if (cached_has_bits & 0x00001000u) {
6050 max_time_in_seconds_ = from.max_time_in_seconds_;
6052 if (cached_has_bits & 0x00002000u) {
6053 max_number_of_conflicts_ = from.max_number_of_conflicts_;
6055 if (cached_has_bits & 0x00004000u) {
6056 max_memory_in_mb_ = from.max_memory_in_mb_;
6058 if (cached_has_bits & 0x00008000u) {
6059 binary_minimization_algorithm_ = from.binary_minimization_algorithm_;
6061 _has_bits_[2] |= cached_has_bits;
6063 if (cached_has_bits & 0x00ff0000u) {
6064 if (cached_has_bits & 0x00010000u) {
6065 pb_cleanup_increment_ = from.pb_cleanup_increment_;
6067 if (cached_has_bits & 0x00020000u) {
6068 pb_cleanup_ratio_ = from.pb_cleanup_ratio_;
6070 if (cached_has_bits & 0x00040000u) {
6071 max_sat_stratification_ = from.max_sat_stratification_;
6073 if (cached_has_bits & 0x00080000u) {
6074 presolve_bve_threshold_ = from.presolve_bve_threshold_;
6076 if (cached_has_bits & 0x00100000u) {
6077 presolve_probing_deterministic_time_limit_ = from.presolve_probing_deterministic_time_limit_;
6079 if (cached_has_bits & 0x00200000u) {
6080 presolve_bve_clause_weight_ = from.presolve_bve_clause_weight_;
6082 if (cached_has_bits & 0x00400000u) {
6083 clause_cleanup_lbd_bound_ = from.clause_cleanup_lbd_bound_;
6085 if (cached_has_bits & 0x00800000u) {
6086 restart_dl_average_ratio_ = from.restart_dl_average_ratio_;
6088 _has_bits_[2] |= cached_has_bits;
6090 if (cached_has_bits & 0xff000000u) {
6091 if (cached_has_bits & 0x01000000u) {
6092 restart_running_window_size_ = from.restart_running_window_size_;
6094 if (cached_has_bits & 0x02000000u) {
6095 blocking_restart_window_size_ = from.blocking_restart_window_size_;
6097 if (cached_has_bits & 0x04000000u) {
6098 blocking_restart_multiplier_ = from.blocking_restart_multiplier_;
6100 if (cached_has_bits & 0x08000000u) {
6101 max_deterministic_time_ = from.max_deterministic_time_;
6103 if (cached_has_bits & 0x10000000u) {
6104 restart_lbd_average_ratio_ = from.restart_lbd_average_ratio_;
6106 if (cached_has_bits & 0x20000000u) {
6107 presolve_bva_threshold_ = from.presolve_bva_threshold_;
6109 if (cached_has_bits & 0x40000000u) {
6110 use_phase_saving_ = from.use_phase_saving_;
6112 if (cached_has_bits & 0x80000000u) {
6113 subsumption_during_conflict_analysis_ = from.subsumption_during_conflict_analysis_;
6115 _has_bits_[2] |= cached_has_bits;
6117 cached_has_bits = from._has_bits_[3];
6118 if (cached_has_bits & 0x000000ffu) {
6119 if (cached_has_bits & 0x00000001u) {
6120 treat_binary_clauses_separately_ = from.treat_binary_clauses_separately_;
6122 if (cached_has_bits & 0x00000002u) {
6123 log_subsolver_statistics_ = from.log_subsolver_statistics_;
6125 if (cached_has_bits & 0x00000004u) {
6126 find_multiple_cores_ = from.find_multiple_cores_;
6128 if (cached_has_bits & 0x00000008u) {
6129 cover_optimization_ = from.cover_optimization_;
6131 if (cached_has_bits & 0x00000010u) {
6132 use_precedences_in_disjunctive_constraint_ = from.use_precedences_in_disjunctive_constraint_;
6134 if (cached_has_bits & 0x00000020u) {
6135 use_disjunctive_constraint_in_cumulative_constraint_ = from.use_disjunctive_constraint_in_cumulative_constraint_;
6137 if (cached_has_bits & 0x00000040u) {
6138 linearization_level_ = from.linearization_level_;
6140 if (cached_has_bits & 0x00000080u) {
6141 max_num_cuts_ = from.max_num_cuts_;
6143 _has_bits_[3] |= cached_has_bits;
6145 if (cached_has_bits & 0x0000ff00u) {
6146 if (cached_has_bits & 0x00000100u) {
6147 minimize_with_propagation_restart_period_ = from.minimize_with_propagation_restart_period_;
6149 if (cached_has_bits & 0x00000200u) {
6150 minimize_with_propagation_num_decisions_ = from.minimize_with_propagation_num_decisions_;
6152 if (cached_has_bits & 0x00000400u) {
6153 log_to_stdout_ = from.log_to_stdout_;
6155 if (cached_has_bits & 0x00000800u) {
6156 count_assumption_levels_in_lbd_ = from.count_assumption_levels_in_lbd_;
6158 if (cached_has_bits & 0x00001000u) {
6159 presolve_blocked_clause_ = from.presolve_blocked_clause_;
6161 if (cached_has_bits & 0x00002000u) {
6162 presolve_use_bva_ = from.presolve_use_bva_;
6164 if (cached_has_bits & 0x00004000u) {
6165 binary_search_num_conflicts_ = from.binary_search_num_conflicts_;
6167 if (cached_has_bits & 0x00008000u) {
6168 expand_table_constraints_ = from.expand_table_constraints_;
6170 _has_bits_[3] |= cached_has_bits;
6172 if (cached_has_bits & 0x00ff0000u) {
6173 if (cached_has_bits & 0x00010000u) {
6174 expand_reservoir_constraints_ = from.expand_reservoir_constraints_;
6176 if (cached_has_bits & 0x00020000u) {
6177 use_optimization_hints_ = from.use_optimization_hints_;
6179 if (cached_has_bits & 0x00040000u) {
6180 minimize_core_ = from.minimize_core_;
6182 if (cached_has_bits & 0x00080000u) {
6183 boolean_encoding_level_ = from.boolean_encoding_level_;
6185 if (cached_has_bits & 0x00100000u) {
6186 cp_model_probing_level_ = from.cp_model_probing_level_;
6188 if (cached_has_bits & 0x00200000u) {
6189 exploit_objective_ = from.exploit_objective_;
6191 if (cached_has_bits & 0x00400000u) {
6192 instantiate_all_variables_ = from.instantiate_all_variables_;
6194 if (cached_has_bits & 0x00800000u) {
6195 auto_detect_greater_than_at_least_one_of_ = from.auto_detect_greater_than_at_least_one_of_;
6197 _has_bits_[3] |= cached_has_bits;
6199 if (cached_has_bits & 0xff000000u) {
6200 if (cached_has_bits & 0x01000000u) {
6201 share_objective_bounds_ = from.share_objective_bounds_;
6203 if (cached_has_bits & 0x02000000u) {
6204 cp_model_presolve_ = from.cp_model_presolve_;
6206 if (cached_has_bits & 0x04000000u) {
6207 cp_model_use_sat_presolve_ = from.cp_model_use_sat_presolve_;
6209 if (cached_has_bits & 0x08000000u) {
6210 expand_element_constraints_ = from.expand_element_constraints_;
6212 if (cached_has_bits & 0x10000000u) {
6213 expand_automaton_constraints_ = from.expand_automaton_constraints_;
6215 if (cached_has_bits & 0x20000000u) {
6216 min_orthogonality_for_lp_constraints_ = from.min_orthogonality_for_lp_constraints_;
6218 if (cached_has_bits & 0x40000000u) {
6219 add_lin_max_cuts_ = from.add_lin_max_cuts_;
6221 if (cached_has_bits & 0x80000000u) {
6222 add_lp_constraints_lazily_ = from.add_lp_constraints_lazily_;
6224 _has_bits_[3] |= cached_has_bits;
6226 cached_has_bits = from._has_bits_[4];
6227 if (cached_has_bits & 0x000000ffu) {
6228 if (cached_has_bits & 0x00000001u) {
6229 exploit_integer_lp_solution_ = from.exploit_integer_lp_solution_;
6231 if (cached_has_bits & 0x00000002u) {
6232 exploit_all_lp_solution_ = from.exploit_all_lp_solution_;
6234 if (cached_has_bits & 0x00000004u) {
6235 max_integer_rounding_scaling_ = from.max_integer_rounding_scaling_;
6237 if (cached_has_bits & 0x00000008u) {
6238 max_consecutive_inactive_count_ = from.max_consecutive_inactive_count_;
6240 if (cached_has_bits & 0x00000010u) {
6241 new_constraints_batch_size_ = from.new_constraints_batch_size_;
6243 if (cached_has_bits & 0x00000020u) {
6244 pseudo_cost_reliability_threshold_ = from.pseudo_cost_reliability_threshold_;
6246 if (cached_has_bits & 0x00000040u) {
6247 mip_max_bound_ = from.mip_max_bound_;
6249 if (cached_has_bits & 0x00000080u) {
6250 use_optional_variables_ = from.use_optional_variables_;
6252 _has_bits_[4] |= cached_has_bits;
6254 if (cached_has_bits & 0x0000ff00u) {
6255 if (cached_has_bits & 0x00000100u) {
6256 use_exact_lp_reason_ = from.use_exact_lp_reason_;
6258 if (cached_has_bits & 0x00000200u) {
6259 catch_sigint_signal_ = from.catch_sigint_signal_;
6261 if (cached_has_bits & 0x00000400u) {
6262 use_implied_bounds_ = from.use_implied_bounds_;
6264 if (cached_has_bits & 0x00000800u) {
6265 mip_max_activity_exponent_ = from.mip_max_activity_exponent_;
6267 if (cached_has_bits & 0x00001000u) {
6268 mip_var_scaling_ = from.mip_var_scaling_;
6270 if (cached_has_bits & 0x00002000u) {
6271 mip_wanted_precision_ = from.mip_wanted_precision_;
6273 if (cached_has_bits & 0x00004000u) {
6274 mip_check_precision_ = from.mip_check_precision_;
6276 if (cached_has_bits & 0x00008000u) {
6277 interleave_batch_size_ = from.interleave_batch_size_;
6279 _has_bits_[4] |= cached_has_bits;
6281 if (cached_has_bits & 0x00ff0000u) {
6282 if (cached_has_bits & 0x00010000u) {
6283 max_presolve_iterations_ = from.max_presolve_iterations_;
6285 if (cached_has_bits & 0x00020000u) {
6286 merge_no_overlap_work_limit_ = from.merge_no_overlap_work_limit_;
6288 if (cached_has_bits & 0x00040000u) {
6289 add_cg_cuts_ = from.add_cg_cuts_;
6291 if (cached_has_bits & 0x00080000u) {
6292 add_mir_cuts_ = from.add_mir_cuts_;
6294 if (cached_has_bits & 0x00100000u) {
6295 add_zero_half_cuts_ = from.add_zero_half_cuts_;
6297 if (cached_has_bits & 0x00200000u) {
6298 add_clique_cuts_ = from.add_clique_cuts_;
6300 if (cached_has_bits & 0x00400000u) {
6301 presolve_substitution_level_ = from.presolve_substitution_level_;
6303 if (cached_has_bits & 0x00800000u) {
6304 merge_at_most_one_work_limit_ = from.merge_at_most_one_work_limit_;
6306 _has_bits_[4] |= cached_has_bits;
6308 if (cached_has_bits & 0xff000000u) {
6309 if (cached_has_bits & 0x01000000u) {
6310 share_level_zero_bounds_ = from.share_level_zero_bounds_;
6312 if (cached_has_bits & 0x02000000u) {
6313 lns_expand_intervals_in_constraint_graph_ = from.lns_expand_intervals_in_constraint_graph_;
6315 if (cached_has_bits & 0x04000000u) {
6316 use_rins_lns_ = from.use_rins_lns_;
6318 if (cached_has_bits & 0x08000000u) {
6319 use_feasibility_pump_ = from.use_feasibility_pump_;
6321 if (cached_has_bits & 0x10000000u) {
6322 max_all_diff_cut_size_ = from.max_all_diff_cut_size_;
6324 if (cached_has_bits & 0x20000000u) {
6325 hint_conflict_limit_ = from.hint_conflict_limit_;
6327 if (cached_has_bits & 0x40000000u) {
6328 max_cut_rounds_at_level_zero_ = from.max_cut_rounds_at_level_zero_;
6330 if (cached_has_bits & 0x80000000u) {
6331 cut_max_active_count_value_ = from.cut_max_active_count_value_;
6333 _has_bits_[4] |= cached_has_bits;
6335 cached_has_bits = from._has_bits_[5];
6336 if (cached_has_bits & 0x000000ffu) {
6337 if (cached_has_bits & 0x00000001u) {
6338 cut_active_count_decay_ = from.cut_active_count_decay_;
6340 if (cached_has_bits & 0x00000002u) {
6341 cut_cleanup_target_ = from.cut_cleanup_target_;
6343 if (cached_has_bits & 0x00000004u) {
6344 fp_rounding_ = from.fp_rounding_;
6346 if (cached_has_bits & 0x00000008u) {
6347 polarity_rephase_increment_ = from.polarity_rephase_increment_;
6349 if (cached_has_bits & 0x00000010u) {
6350 convert_intervals_ = from.convert_intervals_;
6352 if (cached_has_bits & 0x00000020u) {
6353 mip_automatically_scale_variables_ = from.mip_automatically_scale_variables_;
6355 if (cached_has_bits & 0x00000040u) {
6356 symmetry_level_ = from.symmetry_level_;
6358 if (cached_has_bits & 0x00000080u) {
6359 max_domain_size_when_encoding_eq_neq_constraints_ = from.max_domain_size_when_encoding_eq_neq_constraints_;
6361 _has_bits_[5] |= cached_has_bits;
6363 if (cached_has_bits & 0x00000100u) {
6364 _internal_set_clause_cleanup_ratio(from._internal_clause_cleanup_ratio());
6366 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6371 if (&from ==
this)
return;
6382 auto* lhs_arena = GetArenaForAllocation();
6383 auto* rhs_arena = other->GetArenaForAllocation();
6384 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
6385 swap(_has_bits_[0], other->_has_bits_[0]);
6386 swap(_has_bits_[1], other->_has_bits_[1]);
6387 swap(_has_bits_[2], other->_has_bits_[2]);
6388 swap(_has_bits_[3], other->_has_bits_[3]);
6389 swap(_has_bits_[4], other->_has_bits_[4]);
6390 swap(_has_bits_[5], other->_has_bits_[5]);
6391 restart_algorithms_.InternalSwap(&other->restart_algorithms_);
6392 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
6394 &default_restart_algorithms_, lhs_arena,
6395 &other->default_restart_algorithms_, rhs_arena
6397 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
6398 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6400 &other->name_, rhs_arena
6402 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
6403 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6404 &log_prefix_, lhs_arena,
6405 &other->log_prefix_, rhs_arena
6407 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
6408 PROTOBUF_FIELD_OFFSET(
SatParameters, exploit_relaxation_solution_)
6409 +
sizeof(SatParameters::exploit_relaxation_solution_)
6410 - PROTOBUF_FIELD_OFFSET(
SatParameters, preferred_variable_order_)>(
6411 reinterpret_cast<char*
>(&preferred_variable_order_),
6412 reinterpret_cast<char*
>(&other->preferred_variable_order_));
6413 swap(solution_pool_size_, other->solution_pool_size_);
6414 swap(initial_polarity_, other->initial_polarity_);
6415 swap(minimization_algorithm_, other->minimization_algorithm_);
6416 swap(variable_activity_decay_, other->variable_activity_decay_);
6417 swap(max_variable_activity_value_, other->max_variable_activity_value_);
6418 swap(clause_activity_decay_, other->clause_activity_decay_);
6419 swap(clause_cleanup_period_, other->clause_cleanup_period_);
6420 swap(glucose_decay_increment_period_, other->glucose_decay_increment_period_);
6421 swap(max_clause_activity_value_, other->max_clause_activity_value_);
6422 swap(glucose_max_decay_, other->glucose_max_decay_);
6423 swap(glucose_decay_increment_, other->glucose_decay_increment_);
6424 swap(restart_period_, other->restart_period_);
6425 swap(random_seed_, other->random_seed_);
6426 swap(max_time_in_seconds_, other->max_time_in_seconds_);
6427 swap(max_number_of_conflicts_, other->max_number_of_conflicts_);
6428 swap(max_memory_in_mb_, other->max_memory_in_mb_);
6429 swap(binary_minimization_algorithm_, other->binary_minimization_algorithm_);
6430 swap(pb_cleanup_increment_, other->pb_cleanup_increment_);
6431 swap(pb_cleanup_ratio_, other->pb_cleanup_ratio_);
6432 swap(max_sat_stratification_, other->max_sat_stratification_);
6433 swap(presolve_bve_threshold_, other->presolve_bve_threshold_);
6434 swap(presolve_probing_deterministic_time_limit_, other->presolve_probing_deterministic_time_limit_);
6435 swap(presolve_bve_clause_weight_, other->presolve_bve_clause_weight_);
6436 swap(clause_cleanup_lbd_bound_, other->clause_cleanup_lbd_bound_);
6437 swap(restart_dl_average_ratio_, other->restart_dl_average_ratio_);
6438 swap(restart_running_window_size_, other->restart_running_window_size_);
6439 swap(blocking_restart_window_size_, other->blocking_restart_window_size_);
6440 swap(blocking_restart_multiplier_, other->blocking_restart_multiplier_);
6441 swap(max_deterministic_time_, other->max_deterministic_time_);
6442 swap(restart_lbd_average_ratio_, other->restart_lbd_average_ratio_);
6443 swap(presolve_bva_threshold_, other->presolve_bva_threshold_);
6444 swap(use_phase_saving_, other->use_phase_saving_);
6445 swap(subsumption_during_conflict_analysis_, other->subsumption_during_conflict_analysis_);
6446 swap(treat_binary_clauses_separately_, other->treat_binary_clauses_separately_);
6447 swap(log_subsolver_statistics_, other->log_subsolver_statistics_);
6448 swap(find_multiple_cores_, other->find_multiple_cores_);
6449 swap(cover_optimization_, other->cover_optimization_);
6450 swap(use_precedences_in_disjunctive_constraint_, other->use_precedences_in_disjunctive_constraint_);
6451 swap(use_disjunctive_constraint_in_cumulative_constraint_, other->use_disjunctive_constraint_in_cumulative_constraint_);
6452 swap(linearization_level_, other->linearization_level_);
6453 swap(max_num_cuts_, other->max_num_cuts_);
6454 swap(minimize_with_propagation_restart_period_, other->minimize_with_propagation_restart_period_);
6455 swap(minimize_with_propagation_num_decisions_, other->minimize_with_propagation_num_decisions_);
6456 swap(log_to_stdout_, other->log_to_stdout_);
6457 swap(count_assumption_levels_in_lbd_, other->count_assumption_levels_in_lbd_);
6458 swap(presolve_blocked_clause_, other->presolve_blocked_clause_);
6459 swap(presolve_use_bva_, other->presolve_use_bva_);
6460 swap(binary_search_num_conflicts_, other->binary_search_num_conflicts_);
6461 swap(expand_table_constraints_, other->expand_table_constraints_);
6462 swap(expand_reservoir_constraints_, other->expand_reservoir_constraints_);
6463 swap(use_optimization_hints_, other->use_optimization_hints_);
6464 swap(minimize_core_, other->minimize_core_);
6465 swap(boolean_encoding_level_, other->boolean_encoding_level_);
6466 swap(cp_model_probing_level_, other->cp_model_probing_level_);
6467 swap(exploit_objective_, other->exploit_objective_);
6468 swap(instantiate_all_variables_, other->instantiate_all_variables_);
6469 swap(auto_detect_greater_than_at_least_one_of_, other->auto_detect_greater_than_at_least_one_of_);
6470 swap(share_objective_bounds_, other->share_objective_bounds_);
6471 swap(cp_model_presolve_, other->cp_model_presolve_);
6472 swap(cp_model_use_sat_presolve_, other->cp_model_use_sat_presolve_);
6473 swap(expand_element_constraints_, other->expand_element_constraints_);
6474 swap(expand_automaton_constraints_, other->expand_automaton_constraints_);
6475 swap(min_orthogonality_for_lp_constraints_, other->min_orthogonality_for_lp_constraints_);
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(max_integer_rounding_scaling_, other->max_integer_rounding_scaling_);
6481 swap(max_consecutive_inactive_count_, other->max_consecutive_inactive_count_);
6482 swap(new_constraints_batch_size_, other->new_constraints_batch_size_);
6483 swap(pseudo_cost_reliability_threshold_, other->pseudo_cost_reliability_threshold_);
6484 swap(mip_max_bound_, other->mip_max_bound_);
6485 swap(use_optional_variables_, other->use_optional_variables_);
6486 swap(use_exact_lp_reason_, other->use_exact_lp_reason_);
6487 swap(catch_sigint_signal_, other->catch_sigint_signal_);
6488 swap(use_implied_bounds_, other->use_implied_bounds_);
6489 swap(mip_max_activity_exponent_, other->mip_max_activity_exponent_);
6490 swap(mip_var_scaling_, other->mip_var_scaling_);
6491 swap(mip_wanted_precision_, other->mip_wanted_precision_);
6492 swap(mip_check_precision_, other->mip_check_precision_);
6493 swap(interleave_batch_size_, other->interleave_batch_size_);
6494 swap(max_presolve_iterations_, other->max_presolve_iterations_);
6495 swap(merge_no_overlap_work_limit_, other->merge_no_overlap_work_limit_);
6496 swap(add_cg_cuts_, other->add_cg_cuts_);
6497 swap(add_mir_cuts_, other->add_mir_cuts_);
6498 swap(add_zero_half_cuts_, other->add_zero_half_cuts_);
6499 swap(add_clique_cuts_, other->add_clique_cuts_);
6500 swap(presolve_substitution_level_, other->presolve_substitution_level_);
6501 swap(merge_at_most_one_work_limit_, other->merge_at_most_one_work_limit_);
6502 swap(share_level_zero_bounds_, other->share_level_zero_bounds_);
6503 swap(lns_expand_intervals_in_constraint_graph_, other->lns_expand_intervals_in_constraint_graph_);
6504 swap(use_rins_lns_, other->use_rins_lns_);
6505 swap(use_feasibility_pump_, other->use_feasibility_pump_);
6506 swap(max_all_diff_cut_size_, other->max_all_diff_cut_size_);
6507 swap(hint_conflict_limit_, other->hint_conflict_limit_);
6508 swap(max_cut_rounds_at_level_zero_, other->max_cut_rounds_at_level_zero_);
6509 swap(cut_max_active_count_value_, other->cut_max_active_count_value_);
6510 swap(cut_active_count_decay_, other->cut_active_count_decay_);
6511 swap(cut_cleanup_target_, other->cut_cleanup_target_);
6512 swap(fp_rounding_, other->fp_rounding_);
6513 swap(polarity_rephase_increment_, other->polarity_rephase_increment_);
6514 swap(convert_intervals_, other->convert_intervals_);
6515 swap(mip_automatically_scale_variables_, other->mip_automatically_scale_variables_);
6516 swap(symmetry_level_, other->symmetry_level_);
6517 swap(max_domain_size_when_encoding_eq_neq_constraints_, other->max_domain_size_when_encoding_eq_neq_constraints_);
6518 swap(clause_cleanup_ratio_, other->clause_cleanup_ratio_);
6522 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
6530PROTOBUF_NAMESPACE_OPEN
6532 return Arena::CreateMessageInternal< ::operations_research::sat::SatParameters >(arena);
6534PROTOBUF_NAMESPACE_CLOSE
6537#include <google/protobuf/port_undef.inc>
static void set_has_expand_element_constraints(HasBits *has_bits)
static void set_has_max_all_diff_cut_size(HasBits *has_bits)
static void set_has_only_add_cuts_at_level_zero(HasBits *has_bits)
static void set_has_expand_automaton_constraints(HasBits *has_bits)
static void set_has_log_search_progress(HasBits *has_bits)
static void set_has_exploit_objective(HasBits *has_bits)
static void set_has_exploit_best_solution(HasBits *has_bits)
static void set_has_also_bump_variables_in_conflict_reasons(HasBits *has_bits)
static void set_has_restart_lbd_average_ratio(HasBits *has_bits)
static void set_has_random_polarity_ratio(HasBits *has_bits)
static void set_has_polarity_rephase_increment(HasBits *has_bits)
static void set_has_stop_after_presolve(HasBits *has_bits)
static void set_has_use_feasibility_pump(HasBits *has_bits)
static void set_has_exploit_relaxation_solution(HasBits *has_bits)
static void set_has_optimize_with_lb_tree_search(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_expand_reservoir_constraints(HasBits *has_bits)
static void set_has_glucose_decay_increment_period(HasBits *has_bits)
static void set_has_log_prefix(HasBits *has_bits)
static void set_has_default_restart_algorithms(HasBits *has_bits)
static void set_has_cut_active_count_decay(HasBits *has_bits)
static void set_has_max_sat_reverse_assumption_order(HasBits *has_bits)
static void set_has_use_phase_saving(HasBits *has_bits)
static void set_has_num_conflicts_before_strategy_changes(HasBits *has_bits)
static void set_has_interleave_batch_size(HasBits *has_bits)
static void set_has_max_sat_assumption_order(HasBits *has_bits)
static void set_has_max_deterministic_time(HasBits *has_bits)
static void set_has_max_clause_activity_value(HasBits *has_bits)
static void set_has_presolve_bve_clause_weight(HasBits *has_bits)
static void set_has_new_constraints_batch_size(HasBits *has_bits)
static void set_has_clause_cleanup_target(HasBits *has_bits)
static void set_has_use_lns_only(HasBits *has_bits)
static void set_has_use_precedences_in_disjunctive_constraint(HasBits *has_bits)
static void set_has_subsumption_during_conflict_analysis(HasBits *has_bits)
static void set_has_mip_var_scaling(HasBits *has_bits)
static void set_has_add_mir_cuts(HasBits *has_bits)
static void set_has_diversify_lns_params(HasBits *has_bits)
static void set_has_probing_period_at_root(HasBits *has_bits)
static void set_has_log_to_stdout(HasBits *has_bits)
static void set_has_minimize_with_propagation_restart_period(HasBits *has_bits)
static void set_has_use_combined_no_overlap(HasBits *has_bits)
static void set_has_clause_cleanup_protection(HasBits *has_bits)
static void set_has_max_consecutive_inactive_count(HasBits *has_bits)
static void set_has_cp_model_presolve(HasBits *has_bits)
static void set_has_cp_model_probing_level(HasBits *has_bits)
static void set_has_permute_presolve_constraint_order(HasBits *has_bits)
static void set_has_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_lns_focus_on_decision_variables(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_lns_expand_intervals_in_constraint_graph(HasBits *has_bits)
static void set_has_pb_cleanup_increment(HasBits *has_bits)
static void set_has_glucose_decay_increment(HasBits *has_bits)
static void set_has_use_absl_random(HasBits *has_bits)
static void set_has_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_max_memory_in_mb(HasBits *has_bits)
static void set_has_use_blocking_restart(HasBits *has_bits)
static void set_has_mip_max_bound(HasBits *has_bits)
static void set_has_keep_all_feasible_solutions_in_presolve(HasBits *has_bits)
static void set_has_restart_dl_average_ratio(HasBits *has_bits)
static void set_has_hint_conflict_limit(HasBits *has_bits)
static void set_has_binary_minimization_algorithm(HasBits *has_bits)
static void set_has_relative_gap_limit(HasBits *has_bits)
static void set_has_cp_model_max_num_presolve_operations(HasBits *has_bits)
static void set_has_share_level_zero_bounds(HasBits *has_bits)
static void set_has_linearization_level(HasBits *has_bits)
static void set_has_blocking_restart_window_size(HasBits *has_bits)
static void set_has_initial_variables_activity(HasBits *has_bits)
static void set_has_clause_cleanup_lbd_bound(HasBits *has_bits)
static void set_has_mip_check_precision(HasBits *has_bits)
static void set_has_max_number_of_conflicts(HasBits *has_bits)
static void set_has_stop_after_first_solution(HasBits *has_bits)
static void set_has_glucose_max_decay(HasBits *has_bits)
static void set_has_randomize_search(HasBits *has_bits)
static void set_has_cut_cleanup_target(HasBits *has_bits)
static void set_has_clause_cleanup_ordering(HasBits *has_bits)
static void set_has_add_cg_cuts(HasBits *has_bits)
static void set_has_count_assumption_levels_in_lbd(HasBits *has_bits)
static void set_has_boolean_encoding_level(HasBits *has_bits)
static void set_has_symmetry_level(HasBits *has_bits)
static void set_has_random_branches_ratio(HasBits *has_bits)
static void set_has_add_knapsack_cuts(HasBits *has_bits)
static void set_has_mip_automatically_scale_variables(HasBits *has_bits)
static void set_has_expand_table_constraints(HasBits *has_bits)
static void set_has_restart_running_window_size(HasBits *has_bits)
static void set_has_minimize_core(HasBits *has_bits)
static void set_has_use_probing_search(HasBits *has_bits)
static void set_has_treat_binary_clauses_separately(HasBits *has_bits)
static void set_has_use_erwa_heuristic(HasBits *has_bits)
static void set_has_presolve_blocked_clause(HasBits *has_bits)
static void set_has_interleave_search(HasBits *has_bits)
static void set_has_add_zero_half_cuts(HasBits *has_bits)
static void set_has_minimization_algorithm(HasBits *has_bits)
static void set_has_binary_search_num_conflicts(HasBits *has_bits)
static void set_has_presolve_probing_deterministic_time_limit(HasBits *has_bits)
static void set_has_enumerate_all_solutions(HasBits *has_bits)
static void set_has_max_variable_activity_value(HasBits *has_bits)
static void set_has_max_presolve_iterations(HasBits *has_bits)
static void set_has_optimize_with_max_hs(HasBits *has_bits)
static void set_has_instantiate_all_variables(HasBits *has_bits)
static void set_has_cp_model_use_sat_presolve(HasBits *has_bits)
static void set_has_pb_cleanup_ratio(HasBits *has_bits)
static void set_has_use_optimization_hints(HasBits *has_bits)
static void set_has_search_branching(HasBits *has_bits)
static void set_has_use_relaxation_lns(HasBits *has_bits)
static void set_has_optimize_with_core(HasBits *has_bits)
static void set_has_absolute_gap_limit(HasBits *has_bits)
static void set_has_repair_hint(HasBits *has_bits)
static void set_has_reduce_memory_usage_in_interleave_mode(HasBits *has_bits)
static void set_has_search_randomization_tolerance(HasBits *has_bits)
static void set_has_add_lp_constraints_lazily(HasBits *has_bits)
static void set_has_merge_at_most_one_work_limit(HasBits *has_bits)
static void set_has_presolve_use_bva(HasBits *has_bits)
static void set_has_exploit_all_lp_solution(HasBits *has_bits)
static void set_has_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 void set_has_cp_model_postsolve_with_full_solver(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
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
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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()
static constexpr::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fsat_5fparameters_2eproto
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
const ::PROTOBUF_NAMESPACE_ID::uint32 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()