5package com.google.ortools.sat;
18 com.google.protobuf.GeneratedMessageV3 implements
21private static final long serialVersionUID = 0L;
23 private SatParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
28 preferredVariableOrder_ = 0;
30 usePhaseSaving_ =
true;
31 polarityRephaseIncrement_ = 1000;
32 minimizationAlgorithm_ = 2;
33 binaryMinimizationAlgorithm_ = 1;
34 subsumptionDuringConflictAnalysis_ =
true;
35 clauseCleanupPeriod_ = 10000;
36 clauseCleanupRatio_ = 0.5D;
37 clauseCleanupProtection_ = 0;
38 clauseCleanupLbdBound_ = 5;
39 clauseCleanupOrdering_ = 0;
40 pbCleanupIncrement_ = 200;
41 pbCleanupRatio_ = 0.5D;
42 variableActivityDecay_ = 0.8D;
43 maxVariableActivityValue_ = 1e+100D;
44 glucoseMaxDecay_ = 0.95D;
45 glucoseDecayIncrement_ = 0.01D;
46 glucoseDecayIncrementPeriod_ = 5000;
47 clauseActivityDecay_ = 0.999D;
48 maxClauseActivityValue_ = 1e+20D;
49 restartAlgorithms_ = java.util.Collections.emptyList();
50 defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
52 restartRunningWindowSize_ = 50;
53 restartDlAverageRatio_ = 1D;
54 restartLbdAverageRatio_ = 1D;
55 blockingRestartWindowSize_ = 5000;
56 blockingRestartMultiplier_ = 1.4D;
57 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
58 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
59 maxNumberOfConflicts_ = 9223372036854775807L;
60 maxMemoryInMb_ = 10000L;
61 absoluteGapLimit_ = 0.0001D;
65 countAssumptionLevelsInLbd_ =
true;
66 presolveBveThreshold_ = 500;
67 presolveBveClauseWeight_ = 3;
68 probingDeterministicTimeLimit_ = 1D;
69 presolveProbingDeterministicTimeLimit_ = 30D;
70 presolveBlockedClause_ =
true;
71 presolveUseBva_ =
true;
72 presolveBvaThreshold_ = 1;
73 maxPresolveIterations_ = 3;
74 cpModelPresolve_ =
true;
75 cpModelProbingLevel_ = 2;
76 cpModelUseSatPresolve_ =
true;
77 tableCompressionLevel_ = 2;
78 expandReservoirConstraints_ =
true;
79 mergeNoOverlapWorkLimit_ = 1000000000000D;
80 mergeAtMostOneWorkLimit_ = 100000000D;
81 presolveSubstitutionLevel_ = 1;
82 presolveInclusionWorkLimit_ = 100000000L;
84 inferAllDiffs_ =
true;
85 findBigLinearOverlap_ =
true;
86 useSatInprocessing_ =
true;
87 inprocessingDtimeRatio_ = 0.2D;
88 inprocessingProbingDtime_ = 1D;
89 inprocessingMinimizationDtime_ = 1D;
90 minNumLnsWorkers_ = 2;
92 com.google.protobuf.LazyStringArrayList.emptyList();
94 com.google.protobuf.LazyStringArrayList.emptyList();
96 com.google.protobuf.LazyStringArrayList.emptyList();
97 subsolverParams_ = java.util.Collections.emptyList();
98 shareObjectiveBounds_ =
true;
99 shareLevelZeroBounds_ =
true;
100 shareBinaryClauses_ =
true;
101 useOptimizationHints_ =
true;
102 coreMinimizationLevel_ = 2;
103 findMultipleCores_ =
true;
104 coverOptimization_ =
true;
105 maxSatAssumptionOrder_ = 0;
106 maxSatStratification_ = 1;
107 propagationLoopDetectionFactor_ = 10D;
108 usePrecedencesInDisjunctiveConstraint_ =
true;
109 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
110 maxNumIntervalsForTimetableEdgeFinding_ = 100;
111 useDisjunctiveConstraintInCumulative_ =
true;
112 maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
113 useDualSchedulingHeuristics_ =
true;
114 searchBranching_ = 0;
115 hintConflictLimit_ = 10;
116 useExtendedProbing_ =
true;
117 probingNumCombinationsLimit_ = 20000;
118 useShavingInProbingSearch_ =
true;
119 shavingSearchDeterministicTime_ = 0.001D;
120 pseudoCostReliabilityThreshold_ = 100L;
121 binarySearchNumConflicts_ = -1;
122 useFeasibilityJump_ =
true;
123 feasibilityJumpDecay_ = 0.95D;
124 feasibilityJumpLinearizationLevel_ = 2;
125 feasibilityJumpRestartFactor_ = 1;
126 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
127 feasibilityJumpEnableRestarts_ =
true;
128 feasibilityJumpMaxExpandedConstraintSize_ = 100;
129 violationLsPerturbationPeriod_ = 100;
130 violationLsCompoundMoveProbability_ = 0.5D;
131 sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
132 sharedTreeMaxNodesPerWorker_ = 128;
133 sharedTreeSplitStrategy_ = 0;
134 instantiateAllVariables_ =
true;
135 autoDetectGreaterThanAtLeastOneOf_ =
true;
136 solutionPoolSize_ = 3;
138 useFeasibilityPump_ =
true;
140 useExactLpReason_ =
true;
141 atMostOneMaxExpansionSize_ = 3;
142 catchSigintSignal_ =
true;
143 useImpliedBounds_ =
true;
144 lpPrimalTolerance_ = 1e-07D;
145 lpDualTolerance_ = 1e-07D;
146 convertIntervals_ =
true;
148 linearSplitSize_ = 100;
149 linearizationLevel_ = 1;
150 booleanEncodingLevel_ = 1;
151 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
156 addZeroHalfCuts_ =
true;
157 addCliqueCuts_ =
true;
159 maxAllDiffCutSize_ = 64;
160 addLinMaxCuts_ =
true;
161 maxIntegerRoundingScaling_ = 600;
162 addLpConstraintsLazily_ =
true;
163 rootLpIterations_ = 2000;
164 minOrthogonalityForLpConstraints_ = 0.05D;
165 maxCutRoundsAtLevelZero_ = 1;
166 maxConsecutiveInactiveCount_ = 100;
167 cutMaxActiveCountValue_ = 10000000000D;
168 cutActiveCountDecay_ = 0.8D;
169 cutCleanupTarget_ = 1000;
170 newConstraintsBatchSize_ = 50;
171 exploitIntegerLpSolution_ =
true;
172 exploitAllLpSolution_ =
true;
173 exploitObjective_ =
true;
174 mipMaxBound_ = 10000000D;
176 mipAutomaticallyScaleVariables_ =
true;
177 mipWantedPrecision_ = 1e-06D;
178 mipMaxActivityExponent_ = 53;
179 mipCheckPrecision_ = 0.0001D;
180 mipComputeTrueObjectiveBound_ =
true;
181 mipMaxValidMagnitude_ = 1e+20D;
182 mipDropTolerance_ = 1e-16D;
183 mipPresolveLevel_ = 2;
187 @SuppressWarnings({
"unused"})
189 UnusedPrivateParameter unused) {
193 public static final com.google.protobuf.Descriptors.Descriptor
195 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
199 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
201 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
202 .ensureFieldAccessorsInitialized(
203 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
215 implements com.google.protobuf.ProtocolMessageEnum {
241 public static final int IN_ORDER_VALUE = 0;
245 public static final int IN_REVERSE_ORDER_VALUE = 1;
249 public static final int IN_RANDOM_ORDER_VALUE = 2;
261 @java.lang.Deprecated
263 return forNumber(value);
272 case 0:
return IN_ORDER;
273 case 1:
return IN_REVERSE_ORDER;
274 case 2:
return IN_RANDOM_ORDER;
275 default:
return null;
279 public static com.google.protobuf.Internal.EnumLiteMap<
VariableOrder>
281 return internalValueMap;
283 private static final com.google.protobuf.Internal.EnumLiteMap<
285 new com.google.protobuf.Internal.EnumLiteMap<
VariableOrder>() {
291 public final com.google.protobuf.Descriptors.EnumValueDescriptor
295 public final com.google.protobuf.Descriptors.EnumDescriptor
299 public static final com.google.protobuf.Descriptors.EnumDescriptor
301 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
307 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
309 throw new java.lang.IllegalArgumentException(
310 "EnumValueDescriptor is not for this type.");
312 return VALUES[desc.getIndex()];
315 private final int value;
337 implements com.google.protobuf.ProtocolMessageEnum {
355 public static final int POLARITY_TRUE_VALUE = 0;
359 public static final int POLARITY_FALSE_VALUE = 1;
363 public static final int POLARITY_RANDOM_VALUE = 2;
375 @java.lang.Deprecated
377 return forNumber(value);
386 case 0:
return POLARITY_TRUE;
387 case 1:
return POLARITY_FALSE;
388 case 2:
return POLARITY_RANDOM;
389 default:
return null;
393 public static com.google.protobuf.Internal.EnumLiteMap<
Polarity>
395 return internalValueMap;
397 private static final com.google.protobuf.Internal.EnumLiteMap<
399 new com.google.protobuf.Internal.EnumLiteMap<
Polarity>() {
400 public Polarity findValueByNumber(
int number) {
405 public final com.google.protobuf.Descriptors.EnumValueDescriptor
409 public final com.google.protobuf.Descriptors.EnumDescriptor
413 public static final com.google.protobuf.Descriptors.EnumDescriptor
415 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
418 private static final Polarity[] VALUES = values();
421 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
423 throw new java.lang.IllegalArgumentException(
424 "EnumValueDescriptor is not for this type.");
426 return VALUES[desc.getIndex()];
429 private final int value;
446 implements com.google.protobuf.ProtocolMessageEnum {
468 public static final int NONE_VALUE = 0;
472 public static final int SIMPLE_VALUE = 1;
476 public static final int RECURSIVE_VALUE = 2;
480 public static final int EXPERIMENTAL_VALUE = 3;
492 @java.lang.Deprecated
494 return forNumber(value);
504 case 1:
return SIMPLE;
505 case 2:
return RECURSIVE;
506 case 3:
return EXPERIMENTAL;
507 default:
return null;
513 return internalValueMap;
515 private static final com.google.protobuf.Internal.EnumLiteMap<
523 public final com.google.protobuf.Descriptors.EnumValueDescriptor
527 public final com.google.protobuf.Descriptors.EnumDescriptor
531 public static final com.google.protobuf.Descriptors.EnumDescriptor
533 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
539 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
541 throw new java.lang.IllegalArgumentException(
542 "EnumValueDescriptor is not for this type.");
544 return VALUES[desc.getIndex()];
547 private final int value;
564 implements com.google.protobuf.ProtocolMessageEnum {
590 public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
594 public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
598 public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
602 public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
606 public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
618 @java.lang.Deprecated
620 return forNumber(value);
629 case 0:
return NO_BINARY_MINIMIZATION;
630 case 1:
return BINARY_MINIMIZATION_FIRST;
631 case 4:
return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
632 case 2:
return BINARY_MINIMIZATION_WITH_REACHABILITY;
633 case 3:
return EXPERIMENTAL_BINARY_MINIMIZATION;
634 default:
return null;
640 return internalValueMap;
642 private static final com.google.protobuf.Internal.EnumLiteMap<
650 public final com.google.protobuf.Descriptors.EnumValueDescriptor
654 public final com.google.protobuf.Descriptors.EnumDescriptor
658 public static final com.google.protobuf.Descriptors.EnumDescriptor
660 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
666 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
668 throw new java.lang.IllegalArgumentException(
669 "EnumValueDescriptor is not for this type.");
671 return VALUES[desc.getIndex()];
674 private final int value;
693 implements com.google.protobuf.ProtocolMessageEnum {
727 public static final int PROTECTION_NONE_VALUE = 0;
735 public static final int PROTECTION_ALWAYS_VALUE = 1;
743 public static final int PROTECTION_LBD_VALUE = 2;
755 @java.lang.Deprecated
757 return forNumber(value);
766 case 0:
return PROTECTION_NONE;
767 case 1:
return PROTECTION_ALWAYS;
768 case 2:
return PROTECTION_LBD;
769 default:
return null;
775 return internalValueMap;
777 private static final com.google.protobuf.Internal.EnumLiteMap<
785 public final com.google.protobuf.Descriptors.EnumValueDescriptor
789 public final com.google.protobuf.Descriptors.EnumDescriptor
793 public static final com.google.protobuf.Descriptors.EnumDescriptor
795 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
801 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
803 throw new java.lang.IllegalArgumentException(
804 "EnumValueDescriptor is not for this type.");
806 return VALUES[desc.getIndex()];
809 private final int value;
827 implements com.google.protobuf.ProtocolMessageEnum {
853 public static final int CLAUSE_ACTIVITY_VALUE = 0;
861 public static final int CLAUSE_LBD_VALUE = 1;
873 @java.lang.Deprecated
875 return forNumber(value);
884 case 0:
return CLAUSE_ACTIVITY;
885 case 1:
return CLAUSE_LBD;
886 default:
return null;
890 public static com.google.protobuf.Internal.EnumLiteMap<
ClauseOrdering>
892 return internalValueMap;
894 private static final com.google.protobuf.Internal.EnumLiteMap<
902 public final com.google.protobuf.Descriptors.EnumValueDescriptor
906 public final com.google.protobuf.Descriptors.EnumDescriptor
910 public static final com.google.protobuf.Descriptors.EnumDescriptor
912 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
918 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
920 throw new java.lang.IllegalArgumentException(
921 "EnumValueDescriptor is not for this type.");
923 return VALUES[desc.getIndex()];
926 private final int value;
948 implements com.google.protobuf.ProtocolMessageEnum {
990 public static final int NO_RESTART_VALUE = 0;
998 public static final int LUBY_RESTART_VALUE = 1;
1006 public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1014 public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1022 public static final int FIXED_RESTART_VALUE = 4;
1034 @java.lang.Deprecated
1036 return forNumber(value);
1045 case 0:
return NO_RESTART;
1046 case 1:
return LUBY_RESTART;
1047 case 2:
return DL_MOVING_AVERAGE_RESTART;
1048 case 3:
return LBD_MOVING_AVERAGE_RESTART;
1049 case 4:
return FIXED_RESTART;
1050 default:
return null;
1056 return internalValueMap;
1058 private static final com.google.protobuf.Internal.EnumLiteMap<
1066 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1070 public final com.google.protobuf.Descriptors.EnumDescriptor
1074 public static final com.google.protobuf.Descriptors.EnumDescriptor
1076 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1082 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1084 throw new java.lang.IllegalArgumentException(
1085 "EnumValueDescriptor is not for this type.");
1087 return VALUES[desc.getIndex()];
1090 private final int value;
1107 implements com.google.protobuf.ProtocolMessageEnum {
1125 public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
1129 public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
1133 public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
1145 @java.lang.Deprecated
1147 return forNumber(value);
1156 case 0:
return DEFAULT_ASSUMPTION_ORDER;
1157 case 1:
return ORDER_ASSUMPTION_BY_DEPTH;
1158 case 2:
return ORDER_ASSUMPTION_BY_WEIGHT;
1159 default:
return null;
1165 return internalValueMap;
1167 private static final com.google.protobuf.Internal.EnumLiteMap<
1175 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1179 public final com.google.protobuf.Descriptors.EnumDescriptor
1183 public static final com.google.protobuf.Descriptors.EnumDescriptor
1185 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
1191 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1193 throw new java.lang.IllegalArgumentException(
1194 "EnumValueDescriptor is not for this type.");
1196 return VALUES[desc.getIndex()];
1199 private final int value;
1216 implements com.google.protobuf.ProtocolMessageEnum {
1254 public static final int STRATIFICATION_NONE_VALUE = 0;
1263 public static final int STRATIFICATION_DESCENT_VALUE = 1;
1274 public static final int STRATIFICATION_ASCENT_VALUE = 2;
1286 @java.lang.Deprecated
1288 return forNumber(value);
1297 case 0:
return STRATIFICATION_NONE;
1298 case 1:
return STRATIFICATION_DESCENT;
1299 case 2:
return STRATIFICATION_ASCENT;
1300 default:
return null;
1306 return internalValueMap;
1308 private static final com.google.protobuf.Internal.EnumLiteMap<
1316 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1320 public final com.google.protobuf.Descriptors.EnumDescriptor
1324 public static final com.google.protobuf.Descriptors.EnumDescriptor
1326 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
1332 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1334 throw new java.lang.IllegalArgumentException(
1335 "EnumValueDescriptor is not for this type.");
1337 return VALUES[desc.getIndex()];
1340 private final int value;
1357 implements com.google.protobuf.ProtocolMessageEnum {
1457 public static final int AUTOMATIC_SEARCH_VALUE = 0;
1467 public static final int FIXED_SEARCH_VALUE = 1;
1475 public static final int PORTFOLIO_SEARCH_VALUE = 2;
1484 public static final int LP_SEARCH_VALUE = 3;
1494 public static final int PSEUDO_COST_SEARCH_VALUE = 4;
1504 public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
1514 public static final int HINT_SEARCH_VALUE = 6;
1525 public static final int PARTIAL_FIXED_SEARCH_VALUE = 7;
1533 public static final int RANDOMIZED_SEARCH_VALUE = 8;
1545 @java.lang.Deprecated
1547 return forNumber(value);
1556 case 0:
return AUTOMATIC_SEARCH;
1557 case 1:
return FIXED_SEARCH;
1558 case 2:
return PORTFOLIO_SEARCH;
1559 case 3:
return LP_SEARCH;
1560 case 4:
return PSEUDO_COST_SEARCH;
1561 case 5:
return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
1562 case 6:
return HINT_SEARCH;
1563 case 7:
return PARTIAL_FIXED_SEARCH;
1564 case 8:
return RANDOMIZED_SEARCH;
1565 default:
return null;
1569 public static com.google.protobuf.Internal.EnumLiteMap<
SearchBranching>
1571 return internalValueMap;
1573 private static final com.google.protobuf.Internal.EnumLiteMap<
1581 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1585 public final com.google.protobuf.Descriptors.EnumDescriptor
1589 public static final com.google.protobuf.Descriptors.EnumDescriptor
1591 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
1597 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1599 throw new java.lang.IllegalArgumentException(
1600 "EnumValueDescriptor is not for this type.");
1602 return VALUES[desc.getIndex()];
1605 private final int value;
1618 implements com.google.protobuf.ProtocolMessageEnum {
1675 public static final int SPLIT_STRATEGY_AUTO_VALUE = 0;
1688 public static final int SPLIT_STRATEGY_DISCREPANCY_VALUE = 1;
1696 public static final int SPLIT_STRATEGY_OBJECTIVE_LB_VALUE = 2;
1704 public static final int SPLIT_STRATEGY_BALANCED_TREE_VALUE = 3;
1712 public static final int SPLIT_STRATEGY_FIRST_PROPOSAL_VALUE = 4;
1724 @java.lang.Deprecated
1726 return forNumber(value);
1735 case 0:
return SPLIT_STRATEGY_AUTO;
1736 case 1:
return SPLIT_STRATEGY_DISCREPANCY;
1737 case 2:
return SPLIT_STRATEGY_OBJECTIVE_LB;
1738 case 3:
return SPLIT_STRATEGY_BALANCED_TREE;
1739 case 4:
return SPLIT_STRATEGY_FIRST_PROPOSAL;
1740 default:
return null;
1746 return internalValueMap;
1748 private static final com.google.protobuf.Internal.EnumLiteMap<
1756 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1760 public final com.google.protobuf.Descriptors.EnumDescriptor
1764 public static final com.google.protobuf.Descriptors.EnumDescriptor
1766 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
1772 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1774 throw new java.lang.IllegalArgumentException(
1775 "EnumValueDescriptor is not for this type.");
1777 return VALUES[desc.getIndex()];
1780 private final int value;
1797 implements com.google.protobuf.ProtocolMessageEnum {
1847 public static final int NEAREST_INTEGER_VALUE = 0;
1857 public static final int LOCK_BASED_VALUE = 1;
1866 public static final int ACTIVE_LOCK_BASED_VALUE = 3;
1879 public static final int PROPAGATION_ASSISTED_VALUE = 2;
1891 @java.lang.Deprecated
1893 return forNumber(value);
1902 case 0:
return NEAREST_INTEGER;
1903 case 1:
return LOCK_BASED;
1904 case 3:
return ACTIVE_LOCK_BASED;
1905 case 2:
return PROPAGATION_ASSISTED;
1906 default:
return null;
1912 return internalValueMap;
1914 private static final com.google.protobuf.Internal.EnumLiteMap<
1922 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1926 public final com.google.protobuf.Descriptors.EnumDescriptor
1930 public static final com.google.protobuf.Descriptors.EnumDescriptor
1932 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(11);
1938 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1940 throw new java.lang.IllegalArgumentException(
1941 "EnumValueDescriptor is not for this type.");
1943 return VALUES[desc.getIndex()];
1946 private final int value;
1955 private int bitField0_;
1956 private int bitField1_;
1957 private int bitField2_;
1958 private int bitField3_;
1959 private int bitField4_;
1960 private int bitField5_;
1961 private int bitField6_;
1962 private int bitField7_;
1964 @SuppressWarnings(
"serial")
1965 private volatile java.lang.Object name_ = "";
1977 return ((bitField0_ & 0x00000001) != 0);
1990 java.lang.Object ref = name_;
1991 if (ref instanceof java.lang.String) {
1992 return (java.lang.String) ref;
1994 com.google.protobuf.ByteString bs =
1995 (com.google.protobuf.ByteString) ref;
1996 java.lang.String s = bs.toStringUtf8();
1997 if (bs.isValidUtf8()) {
2013 public com.google.protobuf.ByteString
2015 java.lang.Object ref = name_;
2016 if (ref instanceof java.lang.String) {
2017 com.google.protobuf.ByteString b =
2018 com.google.protobuf.ByteString.copyFromUtf8(
2019 (java.lang.String) ref);
2023 return (com.google.protobuf.ByteString) ref;
2028 private int preferredVariableOrder_ = 0;
2034 return ((bitField0_ & 0x00000002) != 0);
2042 return result ==
null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2046 private int initialPolarity_ = 1;
2052 return ((bitField0_ & 0x00000004) != 0);
2060 return result ==
null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2064 private boolean usePhaseSaving_ =
true;
2085 return ((bitField0_ & 0x00000008) != 0);
2107 return usePhaseSaving_;
2111 private int polarityRephaseIncrement_ = 1000;
2124 return ((bitField0_ & 0x00000010) != 0);
2138 return polarityRephaseIncrement_;
2142 private double randomPolarityRatio_ = 0D;
2157 return ((bitField0_ & 0x00000020) != 0);
2173 return randomPolarityRatio_;
2177 private double randomBranchesRatio_ = 0D;
2190 return ((bitField0_ & 0x00000040) != 0);
2204 return randomBranchesRatio_;
2208 private boolean useErwaHeuristic_ =
false;
2221 return ((bitField0_ & 0x00000080) != 0);
2235 return useErwaHeuristic_;
2239 private double initialVariablesActivity_ = 0D;
2255 return ((bitField0_ & 0x00000100) != 0);
2272 return initialVariablesActivity_;
2276 private boolean alsoBumpVariablesInConflictReasons_ =
false;
2290 return ((bitField0_ & 0x00000200) != 0);
2305 return alsoBumpVariablesInConflictReasons_;
2309 private int minimizationAlgorithm_ = 2;
2315 return ((bitField0_ & 0x00000400) != 0);
2323 return result ==
null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
2327 private int binaryMinimizationAlgorithm_ = 1;
2333 return ((bitField0_ & 0x00000800) != 0);
2341 return result ==
null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
2345 private boolean subsumptionDuringConflictAnalysis_ =
true;
2359 return ((bitField0_ & 0x00001000) != 0);
2374 return subsumptionDuringConflictAnalysis_;
2378 private int clauseCleanupPeriod_ = 10000;
2389 return ((bitField0_ & 0x00002000) != 0);
2401 return clauseCleanupPeriod_;
2405 private int clauseCleanupTarget_ = 0;
2417 return ((bitField0_ & 0x00004000) != 0);
2430 return clauseCleanupTarget_;
2434 private double clauseCleanupRatio_ = 0.5D;
2447 return ((bitField0_ & 0x00008000) != 0);
2461 return clauseCleanupRatio_;
2465 private int clauseCleanupProtection_ = 0;
2471 return ((bitField0_ & 0x00010000) != 0);
2479 return result ==
null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
2483 private int clauseCleanupLbdBound_ = 5;
2495 return ((bitField0_ & 0x00020000) != 0);
2508 return clauseCleanupLbdBound_;
2512 private int clauseCleanupOrdering_ = 0;
2518 return ((bitField0_ & 0x00040000) != 0);
2526 return result ==
null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
2530 private int pbCleanupIncrement_ = 200;
2541 return ((bitField0_ & 0x00080000) != 0);
2553 return pbCleanupIncrement_;
2557 private double pbCleanupRatio_ = 0.5D;
2564 return ((bitField0_ & 0x00100000) != 0);
2572 return pbCleanupRatio_;
2576 private double variableActivityDecay_ = 0.8D;
2594 return ((bitField0_ & 0x00200000) != 0);
2613 return variableActivityDecay_;
2617 private double maxVariableActivityValue_ = 1e+100D;
2624 return ((bitField0_ & 0x00400000) != 0);
2632 return maxVariableActivityValue_;
2636 private double glucoseMaxDecay_ = 0.95D;
2651 return ((bitField0_ & 0x00800000) != 0);
2667 return glucoseMaxDecay_;
2671 private double glucoseDecayIncrement_ = 0.01D;
2678 return ((bitField0_ & 0x01000000) != 0);
2686 return glucoseDecayIncrement_;
2690 private int glucoseDecayIncrementPeriod_ = 5000;
2697 return ((bitField0_ & 0x02000000) != 0);
2705 return glucoseDecayIncrementPeriod_;
2709 private double clauseActivityDecay_ = 0.999D;
2720 return ((bitField0_ & 0x04000000) != 0);
2732 return clauseActivityDecay_;
2736 private double maxClauseActivityValue_ = 1e+20D;
2743 return ((bitField0_ & 0x08000000) != 0);
2751 return maxClauseActivityValue_;
2755 @SuppressWarnings(
"serial")
2756 private java.util.List<java.lang.Integer> restartAlgorithms_;
2757 private static final com.google.protobuf.Internal.ListAdapter.Converter<
2759 new com.google.protobuf.Internal.ListAdapter.Converter<
2763 return result ==
null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
2784 return new com.google.protobuf.Internal.ListAdapter<
2785 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
2805 return restartAlgorithms_.size();
2826 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
2830 @SuppressWarnings(
"serial")
2831 private volatile java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
2838 return ((bitField0_ & 0x10000000) != 0);
2846 java.lang.Object ref = defaultRestartAlgorithms_;
2847 if (ref instanceof java.lang.String) {
2848 return (java.lang.String) ref;
2850 com.google.protobuf.ByteString bs =
2851 (com.google.protobuf.ByteString) ref;
2852 java.lang.String s = bs.toStringUtf8();
2853 if (bs.isValidUtf8()) {
2854 defaultRestartAlgorithms_ = s;
2864 public com.google.protobuf.ByteString
2866 java.lang.Object ref = defaultRestartAlgorithms_;
2867 if (ref instanceof java.lang.String) {
2868 com.google.protobuf.ByteString b =
2869 com.google.protobuf.ByteString.copyFromUtf8(
2870 (java.lang.String) ref);
2871 defaultRestartAlgorithms_ = b;
2874 return (com.google.protobuf.ByteString) ref;
2879 private int restartPeriod_ = 50;
2891 return ((bitField0_ & 0x20000000) != 0);
2904 return restartPeriod_;
2908 private int restartRunningWindowSize_ = 50;
2919 return ((bitField0_ & 0x40000000) != 0);
2931 return restartRunningWindowSize_;
2935 private double restartDlAverageRatio_ = 1D;
2947 return ((bitField0_ & 0x80000000) != 0);
2960 return restartDlAverageRatio_;
2964 private double restartLbdAverageRatio_ = 1D;
2971 return ((bitField1_ & 0x00000001) != 0);
2979 return restartLbdAverageRatio_;
2983 private boolean useBlockingRestart_ =
false;
2996 return ((bitField1_ & 0x00000002) != 0);
3010 return useBlockingRestart_;
3014 private int blockingRestartWindowSize_ = 5000;
3021 return ((bitField1_ & 0x00000004) != 0);
3029 return blockingRestartWindowSize_;
3033 private double blockingRestartMultiplier_ = 1.4D;
3040 return ((bitField1_ & 0x00000008) != 0);
3048 return blockingRestartMultiplier_;
3052 private int numConflictsBeforeStrategyChanges_ = 0;
3065 return ((bitField1_ & 0x00000010) != 0);
3079 return numConflictsBeforeStrategyChanges_;
3083 private double strategyChangeIncreaseRatio_ = 0D;
3095 return ((bitField1_ & 0x00000020) != 0);
3108 return strategyChangeIncreaseRatio_;
3112 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
3124 return ((bitField1_ & 0x00000040) != 0);
3137 return maxTimeInSeconds_;
3141 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
3154 return ((bitField1_ & 0x00000080) != 0);
3168 return maxDeterministicTime_;
3172 private long maxNumberOfConflicts_ = 9223372036854775807L;
3189 return ((bitField1_ & 0x00000100) != 0);
3207 return maxNumberOfConflicts_;
3211 private long maxMemoryInMb_ = 10000L;
3227 return ((bitField1_ & 0x00000200) != 0);
3244 return maxMemoryInMb_;
3248 private double absoluteGapLimit_ = 0.0001D;
3276 return ((bitField1_ & 0x00000400) != 0);
3305 return absoluteGapLimit_;
3309 private double relativeGapLimit_ = 0D;
3316 return ((bitField1_ & 0x00000800) != 0);
3324 return relativeGapLimit_;
3328 private int randomSeed_ = 1;
3345 return ((bitField1_ & 0x00001000) != 0);
3367 private boolean permuteVariableRandomly_ =
false;
3381 return ((bitField1_ & 0x00002000) != 0);
3396 return permuteVariableRandomly_;
3400 private boolean permutePresolveConstraintOrder_ =
false;
3407 return ((bitField1_ & 0x00004000) != 0);
3415 return permutePresolveConstraintOrder_;
3419 private boolean useAbslRandom_ =
false;
3426 return ((bitField1_ & 0x00008000) != 0);
3434 return useAbslRandom_;
3438 private boolean logSearchProgress_ =
false;
3451 return ((bitField1_ & 0x00010000) != 0);
3465 return logSearchProgress_;
3469 private boolean logSubsolverStatistics_ =
false;
3483 return ((bitField1_ & 0x00020000) != 0);
3498 return logSubsolverStatistics_;
3502 @SuppressWarnings(
"serial")
3503 private volatile java.lang.Object logPrefix_ = "";
3514 return ((bitField1_ & 0x00040000) != 0);
3526 java.lang.Object ref = logPrefix_;
3527 if (ref instanceof java.lang.String) {
3528 return (java.lang.String) ref;
3530 com.google.protobuf.ByteString bs =
3531 (com.google.protobuf.ByteString) ref;
3532 java.lang.String s = bs.toStringUtf8();
3533 if (bs.isValidUtf8()) {
3548 public com.google.protobuf.ByteString
3550 java.lang.Object ref = logPrefix_;
3551 if (ref instanceof java.lang.String) {
3552 com.google.protobuf.ByteString b =
3553 com.google.protobuf.ByteString.copyFromUtf8(
3554 (java.lang.String) ref);
3558 return (com.google.protobuf.ByteString) ref;
3563 private boolean logToStdout_ =
true;
3574 return ((bitField1_ & 0x00080000) != 0);
3586 return logToStdout_;
3590 private boolean logToResponse_ =
false;
3601 return ((bitField1_ & 0x00100000) != 0);
3613 return logToResponse_;
3617 private boolean usePbResolution_ =
false;
3631 return ((bitField1_ & 0x00200000) != 0);
3646 return usePbResolution_;
3650 private boolean minimizeReductionDuringPbResolution_ =
false;
3664 return ((bitField1_ & 0x00400000) != 0);
3679 return minimizeReductionDuringPbResolution_;
3683 private boolean countAssumptionLevelsInLbd_ =
true;
3702 return ((bitField1_ & 0x00800000) != 0);
3722 return countAssumptionLevelsInLbd_;
3726 private int presolveBveThreshold_ = 500;
3739 return ((bitField1_ & 0x01000000) != 0);
3753 return presolveBveThreshold_;
3757 private int presolveBveClauseWeight_ = 3;
3769 return ((bitField1_ & 0x02000000) != 0);
3782 return presolveBveClauseWeight_;
3786 private double probingDeterministicTimeLimit_ = 1D;
3801 return ((bitField1_ & 0x04000000) != 0);
3817 return probingDeterministicTimeLimit_;
3821 private double presolveProbingDeterministicTimeLimit_ = 30D;
3828 return ((bitField1_ & 0x08000000) != 0);
3836 return presolveProbingDeterministicTimeLimit_;
3840 private boolean presolveBlockedClause_ =
true;
3852 return ((bitField1_ & 0x10000000) != 0);
3865 return presolveBlockedClause_;
3869 private boolean presolveUseBva_ =
true;
3880 return ((bitField1_ & 0x20000000) != 0);
3892 return presolveUseBva_;
3896 private int presolveBvaThreshold_ = 1;
3910 return ((bitField1_ & 0x40000000) != 0);
3925 return presolveBvaThreshold_;
3929 private int maxPresolveIterations_ = 3;
3942 return ((bitField1_ & 0x80000000) != 0);
3956 return maxPresolveIterations_;
3960 private boolean cpModelPresolve_ =
true;
3971 return ((bitField2_ & 0x00000001) != 0);
3983 return cpModelPresolve_;
3987 private int cpModelProbingLevel_ = 2;
3998 return ((bitField2_ & 0x00000002) != 0);
4010 return cpModelProbingLevel_;
4014 private boolean cpModelUseSatPresolve_ =
true;
4025 return ((bitField2_ & 0x00000004) != 0);
4037 return cpModelUseSatPresolve_;
4041 private boolean detectTableWithCost_ =
false;
4057 return ((bitField2_ & 0x00000008) != 0);
4074 return detectTableWithCost_;
4078 private int tableCompressionLevel_ = 2;
4092 return ((bitField2_ & 0x00000010) != 0);
4107 return tableCompressionLevel_;
4111 private boolean expandAlldiffConstraints_ =
false;
4123 return ((bitField2_ & 0x00000020) != 0);
4136 return expandAlldiffConstraints_;
4140 private boolean expandReservoirConstraints_ =
true;
4152 return ((bitField2_ & 0x00000040) != 0);
4165 return expandReservoirConstraints_;
4169 private boolean disableConstraintExpansion_ =
false;
4181 return ((bitField2_ & 0x00000080) != 0);
4194 return disableConstraintExpansion_;
4198 private boolean encodeComplexLinearConstraintWithInteger_ =
false;
4210 return ((bitField2_ & 0x00000100) != 0);
4223 return encodeComplexLinearConstraintWithInteger_;
4227 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
4242 return ((bitField2_ & 0x00000200) != 0);
4258 return mergeNoOverlapWorkLimit_;
4262 private double mergeAtMostOneWorkLimit_ = 100000000D;
4269 return ((bitField2_ & 0x00000400) != 0);
4277 return mergeAtMostOneWorkLimit_;
4281 private int presolveSubstitutionLevel_ = 1;
4295 return ((bitField2_ & 0x00000800) != 0);
4310 return presolveSubstitutionLevel_;
4314 private boolean presolveExtractIntegerEnforcement_ =
false;
4330 return ((bitField2_ & 0x00001000) != 0);
4347 return presolveExtractIntegerEnforcement_;
4351 private long presolveInclusionWorkLimit_ = 100000000L;
4368 return ((bitField2_ & 0x00002000) != 0);
4386 return presolveInclusionWorkLimit_;
4390 private boolean ignoreNames_ =
true;
4401 return ((bitField2_ & 0x00004000) != 0);
4413 return ignoreNames_;
4417 private boolean inferAllDiffs_ =
true;
4432 return ((bitField2_ & 0x00008000) != 0);
4448 return inferAllDiffs_;
4452 private boolean findBigLinearOverlap_ =
true;
4466 return ((bitField2_ & 0x00010000) != 0);
4481 return findBigLinearOverlap_;
4485 private boolean useSatInprocessing_ =
true;
4497 return ((bitField2_ & 0x00020000) != 0);
4510 return useSatInprocessing_;
4514 private double inprocessingDtimeRatio_ = 0.2D;
4527 return ((bitField2_ & 0x00040000) != 0);
4541 return inprocessingDtimeRatio_;
4545 private double inprocessingProbingDtime_ = 1D;
4556 return ((bitField2_ & 0x00080000) != 0);
4568 return inprocessingProbingDtime_;
4572 private double inprocessingMinimizationDtime_ = 1D;
4592 return ((bitField2_ & 0x00100000) != 0);
4613 return inprocessingMinimizationDtime_;
4617 private int numWorkers_ = 0;
4641 return ((bitField2_ & 0x00200000) != 0);
4670 private int numSearchWorkers_ = 0;
4677 return ((bitField2_ & 0x00400000) != 0);
4685 return numSearchWorkers_;
4689 private int minNumLnsWorkers_ = 2;
4700 return ((bitField2_ & 0x00800000) != 0);
4712 return minNumLnsWorkers_;
4716 @SuppressWarnings(
"serial")
4717 private com.google.protobuf.LazyStringArrayList subsolvers_ =
4718 com.google.protobuf.LazyStringArrayList.emptyList();
4753 public com.google.protobuf.ProtocolStringList
4792 return subsolvers_.size();
4830 return subsolvers_.get(index);
4867 public com.google.protobuf.ByteString
4869 return subsolvers_.getByteString(index);
4873 @SuppressWarnings(
"serial")
4874 private com.google.protobuf.LazyStringArrayList extraSubsolvers_ =
4875 com.google.protobuf.LazyStringArrayList.emptyList();
4885 public com.google.protobuf.ProtocolStringList
4887 return extraSubsolvers_;
4899 return extraSubsolvers_.size();
4912 return extraSubsolvers_.get(index);
4924 public com.google.protobuf.ByteString
4926 return extraSubsolvers_.getByteString(index);
4930 @SuppressWarnings(
"serial")
4931 private com.google.protobuf.LazyStringArrayList ignoreSubsolvers_ =
4932 com.google.protobuf.LazyStringArrayList.emptyList();
4942 public com.google.protobuf.ProtocolStringList
4944 return ignoreSubsolvers_;
4956 return ignoreSubsolvers_.size();
4969 return ignoreSubsolvers_.get(index);
4981 public com.google.protobuf.ByteString
4983 return ignoreSubsolvers_.getByteString(index);
4987 @SuppressWarnings(
"serial")
4988 private java.util.List<com.google.ortools.sat.
SatParameters> subsolverParams_;
5002 return subsolverParams_;
5016 public java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder>
5018 return subsolverParams_;
5033 return subsolverParams_.size();
5048 return subsolverParams_.get(index);
5064 return subsolverParams_.get(index);
5068 private boolean interleaveSearch_ =
false;
5084 return ((bitField2_ & 0x01000000) != 0);
5101 return interleaveSearch_;
5105 private int interleaveBatchSize_ = 0;
5112 return ((bitField2_ & 0x02000000) != 0);
5120 return interleaveBatchSize_;
5124 private boolean shareObjectiveBounds_ =
true;
5135 return ((bitField2_ & 0x04000000) != 0);
5147 return shareObjectiveBounds_;
5151 private boolean shareLevelZeroBounds_ =
true;
5162 return ((bitField2_ & 0x08000000) != 0);
5174 return shareLevelZeroBounds_;
5178 private boolean shareBinaryClauses_ =
true;
5189 return ((bitField2_ & 0x10000000) != 0);
5201 return shareBinaryClauses_;
5205 private boolean debugPostsolveWithFullSolver_ =
false;
5218 return ((bitField2_ & 0x20000000) != 0);
5232 return debugPostsolveWithFullSolver_;
5236 private int debugMaxNumPresolveOperations_ = 0;
5248 return ((bitField2_ & 0x40000000) != 0);
5261 return debugMaxNumPresolveOperations_;
5265 private boolean debugCrashOnBadHint_ =
false;
5276 return ((bitField2_ & 0x80000000) != 0);
5288 return debugCrashOnBadHint_;
5292 private boolean useOptimizationHints_ =
true;
5306 return ((bitField3_ & 0x00000001) != 0);
5321 return useOptimizationHints_;
5325 private int coreMinimizationLevel_ = 2;
5339 return ((bitField3_ & 0x00000002) != 0);
5354 return coreMinimizationLevel_;
5358 private boolean findMultipleCores_ =
true;
5370 return ((bitField3_ & 0x00000004) != 0);
5383 return findMultipleCores_;
5387 private boolean coverOptimization_ =
true;
5400 return ((bitField3_ & 0x00000008) != 0);
5414 return coverOptimization_;
5418 private int maxSatAssumptionOrder_ = 0;
5424 return ((bitField3_ & 0x00000010) != 0);
5432 return result ==
null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
5436 private boolean maxSatReverseAssumptionOrder_ =
false;
5448 return ((bitField3_ & 0x00000020) != 0);
5461 return maxSatReverseAssumptionOrder_;
5465 private int maxSatStratification_ = 1;
5471 return ((bitField3_ & 0x00000040) != 0);
5479 return result ==
null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
5483 private double propagationLoopDetectionFactor_ = 10D;
5502 return ((bitField3_ & 0x00000080) != 0);
5522 return propagationLoopDetectionFactor_;
5526 private boolean usePrecedencesInDisjunctiveConstraint_ =
true;
5545 return ((bitField3_ & 0x00000100) != 0);
5565 return usePrecedencesInDisjunctiveConstraint_;
5569 private int maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
5584 return ((bitField3_ & 0x00000200) != 0);
5600 return maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
5604 private boolean useStrongPropagationInDisjunctive_ =
false;
5615 return ((bitField3_ & 0x00000400) != 0);
5627 return useStrongPropagationInDisjunctive_;
5631 private boolean useDynamicPrecedenceInDisjunctive_ =
false;
5647 return ((bitField3_ & 0x00000800) != 0);
5664 return useDynamicPrecedenceInDisjunctive_;
5668 private boolean useDynamicPrecedenceInCumulative_ =
false;
5675 return ((bitField3_ & 0x00001000) != 0);
5683 return useDynamicPrecedenceInCumulative_;
5687 private boolean useOverloadCheckerInCumulative_ =
false;
5704 return ((bitField3_ & 0x00002000) != 0);
5722 return useOverloadCheckerInCumulative_;
5726 private boolean useTimetableEdgeFindingInCumulative_ =
false;
5743 return ((bitField3_ & 0x00004000) != 0);
5761 return useTimetableEdgeFindingInCumulative_;
5765 private int maxNumIntervalsForTimetableEdgeFinding_ = 100;
5777 return ((bitField3_ & 0x00008000) != 0);
5790 return maxNumIntervalsForTimetableEdgeFinding_;
5794 private boolean useHardPrecedencesInCumulative_ =
false;
5810 return ((bitField3_ & 0x00010000) != 0);
5827 return useHardPrecedencesInCumulative_;
5831 private boolean exploitAllPrecedences_ =
false;
5838 return ((bitField3_ & 0x00020000) != 0);
5846 return exploitAllPrecedences_;
5850 private boolean useDisjunctiveConstraintInCumulative_ =
true;
5870 return ((bitField3_ & 0x00040000) != 0);
5891 return useDisjunctiveConstraintInCumulative_;
5895 private boolean useTimetablingInNoOverlap2D_ =
false;
5910 return ((bitField3_ & 0x00080000) != 0);
5926 return useTimetablingInNoOverlap2D_;
5930 private boolean useEnergeticReasoningInNoOverlap2D_ =
false;
5943 return ((bitField3_ & 0x00100000) != 0);
5957 return useEnergeticReasoningInNoOverlap2D_;
5961 private boolean useAreaEnergeticReasoningInNoOverlap2D_ =
false;
5974 return ((bitField3_ & 0x00200000) != 0);
5988 return useAreaEnergeticReasoningInNoOverlap2D_;
5992 private int maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
6005 return ((bitField3_ & 0x00400000) != 0);
6019 return maxPairsPairwiseReasoningInNoOverlap2D_;
6023 private boolean useDualSchedulingHeuristics_ =
true;
6036 return ((bitField3_ & 0x00800000) != 0);
6050 return useDualSchedulingHeuristics_;
6054 private int searchBranching_ = 0;
6060 return ((bitField3_ & 0x01000000) != 0);
6068 return result ==
null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
6072 private int hintConflictLimit_ = 10;
6083 return ((bitField3_ & 0x02000000) != 0);
6095 return hintConflictLimit_;
6099 private boolean repairHint_ =
false;
6113 return ((bitField3_ & 0x04000000) != 0);
6132 private boolean fixVariablesToTheirHintedValue_ =
false;
6144 return ((bitField3_ & 0x08000000) != 0);
6157 return fixVariablesToTheirHintedValue_;
6161 private boolean useProbingSearch_ =
false;
6174 return ((bitField3_ & 0x10000000) != 0);
6188 return useProbingSearch_;
6192 private boolean useExtendedProbing_ =
true;
6203 return ((bitField3_ & 0x20000000) != 0);
6215 return useExtendedProbing_;
6219 private int probingNumCombinationsLimit_ = 20000;
6230 return ((bitField3_ & 0x40000000) != 0);
6242 return probingNumCombinationsLimit_;
6246 private boolean useShavingInProbingSearch_ =
true;
6258 return ((bitField3_ & 0x80000000) != 0);
6271 return useShavingInProbingSearch_;
6275 private double shavingSearchDeterministicTime_ = 0.001D;
6287 return ((bitField4_ & 0x00000001) != 0);
6300 return shavingSearchDeterministicTime_;
6304 private boolean useObjectiveLbSearch_ =
false;
6316 return ((bitField4_ & 0x00000002) != 0);
6329 return useObjectiveLbSearch_;
6333 private boolean useObjectiveShavingSearch_ =
false;
6346 return ((bitField4_ & 0x00000004) != 0);
6360 return useObjectiveShavingSearch_;
6364 private long pseudoCostReliabilityThreshold_ = 100L;
6376 return ((bitField4_ & 0x00000008) != 0);
6389 return pseudoCostReliabilityThreshold_;
6393 private boolean optimizeWithCore_ =
false;
6407 return ((bitField4_ & 0x00000010) != 0);
6422 return optimizeWithCore_;
6426 private boolean optimizeWithLbTreeSearch_ =
false;
6441 return ((bitField4_ & 0x00000020) != 0);
6457 return optimizeWithLbTreeSearch_;
6461 private int binarySearchNumConflicts_ = -1;
6475 return ((bitField4_ & 0x00000040) != 0);
6490 return binarySearchNumConflicts_;
6494 private boolean optimizeWithMaxHs_ =
false;
6510 return ((bitField4_ & 0x00000080) != 0);
6527 return optimizeWithMaxHs_;
6531 private boolean useFeasibilityJump_ =
true;
6544 return ((bitField4_ & 0x00000100) != 0);
6558 return useFeasibilityJump_;
6562 private boolean testFeasibilityJump_ =
false;
6574 return ((bitField4_ & 0x00000200) != 0);
6587 return testFeasibilityJump_;
6591 private double feasibilityJumpDecay_ = 0.95D;
6603 return ((bitField4_ & 0x00000400) != 0);
6616 return feasibilityJumpDecay_;
6620 private int feasibilityJumpLinearizationLevel_ = 2;
6631 return ((bitField4_ & 0x00000800) != 0);
6643 return feasibilityJumpLinearizationLevel_;
6647 private int feasibilityJumpRestartFactor_ = 1;
6660 return ((bitField4_ & 0x00001000) != 0);
6674 return feasibilityJumpRestartFactor_;
6678 private double feasibilityJumpVarRandomizationProbability_ = 0D;
6690 return ((bitField4_ & 0x00002000) != 0);
6703 return feasibilityJumpVarRandomizationProbability_;
6707 private double feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
6719 return ((bitField4_ & 0x00004000) != 0);
6732 return feasibilityJumpVarPerburbationRangeRatio_;
6736 private boolean feasibilityJumpEnableRestarts_ =
true;
6749 return ((bitField4_ & 0x00008000) != 0);
6763 return feasibilityJumpEnableRestarts_;
6767 private int feasibilityJumpMaxExpandedConstraintSize_ = 100;
6779 return ((bitField4_ & 0x00010000) != 0);
6792 return feasibilityJumpMaxExpandedConstraintSize_;
6796 private int numViolationLs_ = 0;
6809 return ((bitField4_ & 0x00020000) != 0);
6823 return numViolationLs_;
6827 private int violationLsPerturbationPeriod_ = 100;
6838 return ((bitField4_ & 0x00040000) != 0);
6850 return violationLsPerturbationPeriod_;
6854 private double violationLsCompoundMoveProbability_ = 0.5D;
6866 return ((bitField4_ & 0x00080000) != 0);
6879 return violationLsCompoundMoveProbability_;
6883 private int sharedTreeNumWorkers_ = 0;
6898 return ((bitField4_ & 0x00100000) != 0);
6914 return sharedTreeNumWorkers_;
6918 private boolean useSharedTreeSearch_ =
false;
6929 return ((bitField4_ & 0x00200000) != 0);
6941 return useSharedTreeSearch_;
6945 private double sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
6958 return ((bitField4_ & 0x00400000) != 0);
6972 return sharedTreeWorkerObjectiveSplitProbability_;
6976 private int sharedTreeMaxNodesPerWorker_ = 128;
6990 return ((bitField4_ & 0x00800000) != 0);
7005 return sharedTreeMaxNodesPerWorker_;
7009 private int sharedTreeSplitStrategy_ = 0;
7015 return ((bitField4_ & 0x01000000) != 0);
7023 return result ==
null ? com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.SPLIT_STRATEGY_AUTO : result;
7027 private boolean enumerateAllSolutions_ =
false;
7044 return ((bitField4_ & 0x02000000) != 0);
7062 return enumerateAllSolutions_;
7066 private boolean keepAllFeasibleSolutionsInPresolve_ =
false;
7084 return ((bitField4_ & 0x04000000) != 0);
7103 return keepAllFeasibleSolutionsInPresolve_;
7107 private boolean fillTightenedDomainsInResponse_ =
false;
7122 return ((bitField4_ & 0x08000000) != 0);
7138 return fillTightenedDomainsInResponse_;
7142 private boolean fillAdditionalSolutionsInResponse_ =
false;
7162 return ((bitField4_ & 0x10000000) != 0);
7183 return fillAdditionalSolutionsInResponse_;
7187 private boolean instantiateAllVariables_ =
true;
7201 return ((bitField4_ & 0x20000000) != 0);
7216 return instantiateAllVariables_;
7220 private boolean autoDetectGreaterThanAtLeastOneOf_ =
true;
7234 return ((bitField4_ & 0x40000000) != 0);
7249 return autoDetectGreaterThanAtLeastOneOf_;
7253 private boolean stopAfterFirstSolution_ =
false;
7264 return ((bitField4_ & 0x80000000) != 0);
7276 return stopAfterFirstSolution_;
7280 private boolean stopAfterPresolve_ =
false;
7292 return ((bitField5_ & 0x00000001) != 0);
7305 return stopAfterPresolve_;
7309 private boolean stopAfterRootPropagation_ =
false;
7316 return ((bitField5_ & 0x00000002) != 0);
7324 return stopAfterRootPropagation_;
7328 private boolean useLnsOnly_ =
false;
7339 return ((bitField5_ & 0x00000004) != 0);
7355 private int solutionPoolSize_ = 3;
7368 return ((bitField5_ & 0x00000008) != 0);
7382 return solutionPoolSize_;
7386 private boolean useRinsLns_ =
true;
7397 return ((bitField5_ & 0x00000010) != 0);
7413 private boolean useFeasibilityPump_ =
true;
7424 return ((bitField5_ & 0x00000020) != 0);
7436 return useFeasibilityPump_;
7440 private boolean useLbRelaxLns_ =
false;
7453 return ((bitField5_ & 0x00000040) != 0);
7467 return useLbRelaxLns_;
7471 private int fpRounding_ = 2;
7477 return ((bitField5_ & 0x00000080) != 0);
7485 return result ==
null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
7489 private boolean diversifyLnsParams_ =
false;
7500 return ((bitField5_ & 0x00000100) != 0);
7512 return diversifyLnsParams_;
7516 private boolean randomizeSearch_ =
false;
7527 return ((bitField5_ & 0x00000200) != 0);
7539 return randomizeSearch_;
7543 private long searchRandomVariablePoolSize_ = 0L;
7556 return ((bitField5_ & 0x00000400) != 0);
7570 return searchRandomVariablePoolSize_;
7574 private boolean pushAllTasksTowardStart_ =
false;
7586 return ((bitField5_ & 0x00000800) != 0);
7599 return pushAllTasksTowardStart_;
7603 private boolean useOptionalVariables_ =
false;
7619 return ((bitField5_ & 0x00001000) != 0);
7636 return useOptionalVariables_;
7640 private boolean useExactLpReason_ =
true;
7654 return ((bitField5_ & 0x00002000) != 0);
7669 return useExactLpReason_;
7673 private boolean useCombinedNoOverlap_ =
false;
7686 return ((bitField5_ & 0x00004000) != 0);
7700 return useCombinedNoOverlap_;
7704 private int atMostOneMaxExpansionSize_ = 3;
7716 return ((bitField5_ & 0x00008000) != 0);
7729 return atMostOneMaxExpansionSize_;
7733 private boolean catchSigintSignal_ =
true;
7746 return ((bitField5_ & 0x00010000) != 0);
7760 return catchSigintSignal_;
7764 private boolean useImpliedBounds_ =
true;
7777 return ((bitField5_ & 0x00020000) != 0);
7791 return useImpliedBounds_;
7795 private boolean polishLpSolution_ =
false;
7809 return ((bitField5_ & 0x00040000) != 0);
7824 return polishLpSolution_;
7828 private double lpPrimalTolerance_ = 1e-07D;
7843 return ((bitField5_ & 0x00080000) != 0);
7859 return lpPrimalTolerance_;
7863 private double lpDualTolerance_ = 1e-07D;
7870 return ((bitField5_ & 0x00100000) != 0);
7878 return lpDualTolerance_;
7882 private boolean convertIntervals_ =
true;
7895 return ((bitField5_ & 0x00200000) != 0);
7909 return convertIntervals_;
7913 private int symmetryLevel_ = 2;
7927 return ((bitField5_ & 0x00400000) != 0);
7942 return symmetryLevel_;
7946 private boolean newLinearPropagation_ =
false;
7957 return ((bitField5_ & 0x00800000) != 0);
7969 return newLinearPropagation_;
7973 private int linearSplitSize_ = 100;
7986 return ((bitField5_ & 0x01000000) != 0);
8000 return linearSplitSize_;
8004 private int linearizationLevel_ = 1;
8018 return ((bitField5_ & 0x02000000) != 0);
8033 return linearizationLevel_;
8037 private int booleanEncodingLevel_ = 1;
8049 return ((bitField5_ & 0x04000000) != 0);
8062 return booleanEncodingLevel_;
8066 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
8080 return ((bitField5_ & 0x08000000) != 0);
8095 return maxDomainSizeWhenEncodingEqNeqConstraints_;
8099 private int maxNumCuts_ = 10000;
8114 return ((bitField5_ & 0x10000000) != 0);
8134 private int cutLevel_ = 1;
8147 return ((bitField5_ & 0x20000000) != 0);
8165 private boolean onlyAddCutsAtLevelZero_ =
false;
8177 return ((bitField5_ & 0x40000000) != 0);
8190 return onlyAddCutsAtLevelZero_;
8194 private boolean addObjectiveCut_ =
false;
8209 return ((bitField5_ & 0x80000000) != 0);
8225 return addObjectiveCut_;
8229 private boolean addCgCuts_ =
true;
8241 return ((bitField6_ & 0x00000001) != 0);
8258 private boolean addMirCuts_ =
true;
8270 return ((bitField6_ & 0x00000002) != 0);
8287 private boolean addZeroHalfCuts_ =
true;
8299 return ((bitField6_ & 0x00000004) != 0);
8312 return addZeroHalfCuts_;
8316 private boolean addCliqueCuts_ =
true;
8329 return ((bitField6_ & 0x00000008) != 0);
8343 return addCliqueCuts_;
8347 private boolean addRltCuts_ =
true;
8359 return ((bitField6_ & 0x00000010) != 0);
8376 private int maxAllDiffCutSize_ = 64;
8389 return ((bitField6_ & 0x00000020) != 0);
8403 return maxAllDiffCutSize_;
8407 private boolean addLinMaxCuts_ =
true;
8420 return ((bitField6_ & 0x00000040) != 0);
8434 return addLinMaxCuts_;
8438 private int maxIntegerRoundingScaling_ = 600;
8456 return ((bitField6_ & 0x00000080) != 0);
8475 return maxIntegerRoundingScaling_;
8479 private boolean addLpConstraintsLazily_ =
true;
8493 return ((bitField6_ & 0x00000100) != 0);
8508 return addLpConstraintsLazily_;
8512 private int rootLpIterations_ = 2000;
8526 return ((bitField6_ & 0x00000200) != 0);
8541 return rootLpIterations_;
8545 private double minOrthogonalityForLpConstraints_ = 0.05D;
8560 return ((bitField6_ & 0x00000400) != 0);
8576 return minOrthogonalityForLpConstraints_;
8580 private int maxCutRoundsAtLevelZero_ = 1;
8591 return ((bitField6_ & 0x00000800) != 0);
8603 return maxCutRoundsAtLevelZero_;
8607 private int maxConsecutiveInactiveCount_ = 100;
8620 return ((bitField6_ & 0x00001000) != 0);
8634 return maxConsecutiveInactiveCount_;
8638 private double cutMaxActiveCountValue_ = 10000000000D;
8651 return ((bitField6_ & 0x00002000) != 0);
8665 return cutMaxActiveCountValue_;
8669 private double cutActiveCountDecay_ = 0.8D;
8676 return ((bitField6_ & 0x00004000) != 0);
8684 return cutActiveCountDecay_;
8688 private int cutCleanupTarget_ = 1000;
8699 return ((bitField6_ & 0x00008000) != 0);
8711 return cutCleanupTarget_;
8715 private int newConstraintsBatchSize_ = 50;
8727 return ((bitField6_ & 0x00010000) != 0);
8740 return newConstraintsBatchSize_;
8744 private boolean exploitIntegerLpSolution_ =
true;
8758 return ((bitField6_ & 0x00020000) != 0);
8773 return exploitIntegerLpSolution_;
8777 private boolean exploitAllLpSolution_ =
true;
8790 return ((bitField6_ & 0x00040000) != 0);
8804 return exploitAllLpSolution_;
8808 private boolean exploitBestSolution_ =
false;
8819 return ((bitField6_ & 0x00080000) != 0);
8831 return exploitBestSolution_;
8835 private boolean exploitRelaxationSolution_ =
false;
8848 return ((bitField6_ & 0x00100000) != 0);
8862 return exploitRelaxationSolution_;
8866 private boolean exploitObjective_ =
true;
8878 return ((bitField6_ & 0x00200000) != 0);
8891 return exploitObjective_;
8895 private boolean detectLinearizedProduct_ =
false;
8908 return ((bitField6_ & 0x00400000) != 0);
8922 return detectLinearizedProduct_;
8926 private double mipMaxBound_ = 10000000D;
8939 return ((bitField6_ & 0x00800000) != 0);
8953 return mipMaxBound_;
8957 private double mipVarScaling_ = 1D;
8970 return ((bitField6_ & 0x01000000) != 0);
8984 return mipVarScaling_;
8988 private boolean mipScaleLargeDomain_ =
false;
9001 return ((bitField6_ & 0x02000000) != 0);
9015 return mipScaleLargeDomain_;
9019 private boolean mipAutomaticallyScaleVariables_ =
true;
9034 return ((bitField6_ & 0x04000000) != 0);
9050 return mipAutomaticallyScaleVariables_;
9054 private boolean onlySolveIp_ =
false;
9076 return ((bitField6_ & 0x08000000) != 0);
9099 return onlySolveIp_;
9103 private double mipWantedPrecision_ = 1e-06D;
9130 return ((bitField6_ & 0x10000000) != 0);
9158 return mipWantedPrecision_;
9162 private int mipMaxActivityExponent_ = 53;
9180 return ((bitField6_ & 0x20000000) != 0);
9199 return mipMaxActivityExponent_;
9203 private double mipCheckPrecision_ = 0.0001D;
9216 return ((bitField6_ & 0x40000000) != 0);
9230 return mipCheckPrecision_;
9234 private boolean mipComputeTrueObjectiveBound_ =
true;
9249 return ((bitField6_ & 0x80000000) != 0);
9265 return mipComputeTrueObjectiveBound_;
9269 private double mipMaxValidMagnitude_ = 1e+20D;
9284 return ((bitField7_ & 0x00000001) != 0);
9300 return mipMaxValidMagnitude_;
9304 private boolean mipTreatHighMagnitudeBoundsAsInfinity_ =
false;
9320 return ((bitField7_ & 0x00000002) != 0);
9337 return mipTreatHighMagnitudeBoundsAsInfinity_;
9341 private double mipDropTolerance_ = 1e-16D;
9353 return ((bitField7_ & 0x00000004) != 0);
9366 return mipDropTolerance_;
9370 private int mipPresolveLevel_ = 2;
9384 return ((bitField7_ & 0x00000008) != 0);
9399 return mipPresolveLevel_;
9402 private byte memoizedIsInitialized = -1;
9409 memoizedIsInitialized = 1;
9414 public void writeTo(com.google.protobuf.CodedOutputStream output)
9415 throws java.io.IOException {
9416 if (((bitField0_ & 0x00000002) != 0)) {
9417 output.writeEnum(1, preferredVariableOrder_);
9419 if (((bitField0_ & 0x00000004) != 0)) {
9420 output.writeEnum(2, initialPolarity_);
9422 if (((bitField0_ & 0x00000400) != 0)) {
9423 output.writeEnum(4, minimizationAlgorithm_);
9425 if (((bitField0_ & 0x00002000) != 0)) {
9426 output.writeInt32(11, clauseCleanupPeriod_);
9428 if (((bitField0_ & 0x00004000) != 0)) {
9429 output.writeInt32(13, clauseCleanupTarget_);
9431 if (((bitField0_ & 0x00200000) != 0)) {
9432 output.writeDouble(15, variableActivityDecay_);
9434 if (((bitField0_ & 0x00400000) != 0)) {
9435 output.writeDouble(16, maxVariableActivityValue_);
9437 if (((bitField0_ & 0x04000000) != 0)) {
9438 output.writeDouble(17, clauseActivityDecay_);
9440 if (((bitField0_ & 0x08000000) != 0)) {
9441 output.writeDouble(18, maxClauseActivityValue_);
9443 if (((bitField0_ & 0x00800000) != 0)) {
9444 output.writeDouble(22, glucoseMaxDecay_);
9446 if (((bitField0_ & 0x01000000) != 0)) {
9447 output.writeDouble(23, glucoseDecayIncrement_);
9449 if (((bitField0_ & 0x02000000) != 0)) {
9450 output.writeInt32(24, glucoseDecayIncrementPeriod_);
9452 if (((bitField0_ & 0x20000000) != 0)) {
9453 output.writeInt32(30, restartPeriod_);
9455 if (((bitField1_ & 0x00001000) != 0)) {
9456 output.writeInt32(31, randomSeed_);
9458 if (((bitField0_ & 0x00000040) != 0)) {
9459 output.writeDouble(32, randomBranchesRatio_);
9461 if (((bitField0_ & 0x00000800) != 0)) {
9462 output.writeEnum(34, binaryMinimizationAlgorithm_);
9464 if (((bitField3_ & 0x00000001) != 0)) {
9465 output.writeBool(35, useOptimizationHints_);
9467 if (((bitField1_ & 0x00000040) != 0)) {
9468 output.writeDouble(36, maxTimeInSeconds_);
9470 if (((bitField1_ & 0x00000100) != 0)) {
9471 output.writeInt64(37, maxNumberOfConflicts_);
9473 if (((bitField1_ & 0x00000200) != 0)) {
9474 output.writeInt64(40, maxMemoryInMb_);
9476 if (((bitField1_ & 0x00010000) != 0)) {
9477 output.writeBool(41, logSearchProgress_);
9479 if (((bitField1_ & 0x00200000) != 0)) {
9480 output.writeBool(43, usePbResolution_);
9482 if (((bitField0_ & 0x00000008) != 0)) {
9483 output.writeBool(44, usePhaseSaving_);
9485 if (((bitField0_ & 0x00000020) != 0)) {
9486 output.writeDouble(45, randomPolarityRatio_);
9488 if (((bitField0_ & 0x00080000) != 0)) {
9489 output.writeInt32(46, pbCleanupIncrement_);
9491 if (((bitField0_ & 0x00100000) != 0)) {
9492 output.writeDouble(47, pbCleanupRatio_);
9494 if (((bitField1_ & 0x00400000) != 0)) {
9495 output.writeBool(48, minimizeReductionDuringPbResolution_);
9497 if (((bitField1_ & 0x00800000) != 0)) {
9498 output.writeBool(49, countAssumptionLevelsInLbd_);
9500 if (((bitField3_ & 0x00000002) != 0)) {
9501 output.writeInt32(50, coreMinimizationLevel_);
9503 if (((bitField3_ & 0x00000010) != 0)) {
9504 output.writeEnum(51, maxSatAssumptionOrder_);
9506 if (((bitField3_ & 0x00000020) != 0)) {
9507 output.writeBool(52, maxSatReverseAssumptionOrder_);
9509 if (((bitField3_ & 0x00000040) != 0)) {
9510 output.writeEnum(53, maxSatStratification_);
9512 if (((bitField1_ & 0x01000000) != 0)) {
9513 output.writeInt32(54, presolveBveThreshold_);
9515 if (((bitField1_ & 0x02000000) != 0)) {
9516 output.writeInt32(55, presolveBveClauseWeight_);
9518 if (((bitField0_ & 0x00001000) != 0)) {
9519 output.writeBool(56, subsumptionDuringConflictAnalysis_);
9521 if (((bitField1_ & 0x08000000) != 0)) {
9522 output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
9524 if (((bitField0_ & 0x00010000) != 0)) {
9525 output.writeEnum(58, clauseCleanupProtection_);
9527 if (((bitField0_ & 0x00020000) != 0)) {
9528 output.writeInt32(59, clauseCleanupLbdBound_);
9530 if (((bitField0_ & 0x00040000) != 0)) {
9531 output.writeEnum(60, clauseCleanupOrdering_);
9533 for (
int i = 0; i < restartAlgorithms_.size(); i++) {
9534 output.writeEnum(61, restartAlgorithms_.get(i));
9536 if (((bitField0_ & 0x40000000) != 0)) {
9537 output.writeInt32(62, restartRunningWindowSize_);
9539 if (((bitField0_ & 0x80000000) != 0)) {
9540 output.writeDouble(63, restartDlAverageRatio_);
9542 if (((bitField1_ & 0x00000002) != 0)) {
9543 output.writeBool(64, useBlockingRestart_);
9545 if (((bitField1_ & 0x00000004) != 0)) {
9546 output.writeInt32(65, blockingRestartWindowSize_);
9548 if (((bitField1_ & 0x00000008) != 0)) {
9549 output.writeDouble(66, blockingRestartMultiplier_);
9551 if (((bitField1_ & 0x00000080) != 0)) {
9552 output.writeDouble(67, maxDeterministicTime_);
9554 if (((bitField1_ & 0x00000010) != 0)) {
9555 output.writeInt32(68, numConflictsBeforeStrategyChanges_);
9557 if (((bitField1_ & 0x00000020) != 0)) {
9558 output.writeDouble(69, strategyChangeIncreaseRatio_);
9560 if (((bitField0_ & 0x10000000) != 0)) {
9561 com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
9563 if (((bitField1_ & 0x00000001) != 0)) {
9564 output.writeDouble(71, restartLbdAverageRatio_);
9566 if (((bitField1_ & 0x20000000) != 0)) {
9567 output.writeBool(72, presolveUseBva_);
9569 if (((bitField1_ & 0x40000000) != 0)) {
9570 output.writeInt32(73, presolveBvaThreshold_);
9572 if (((bitField3_ & 0x00000100) != 0)) {
9573 output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
9575 if (((bitField0_ & 0x00000080) != 0)) {
9576 output.writeBool(75, useErwaHeuristic_);
9578 if (((bitField0_ & 0x00000100) != 0)) {
9579 output.writeDouble(76, initialVariablesActivity_);
9581 if (((bitField0_ & 0x00000200) != 0)) {
9582 output.writeBool(77, alsoBumpVariablesInConflictReasons_);
9584 if (((bitField3_ & 0x00002000) != 0)) {
9585 output.writeBool(78, useOverloadCheckerInCumulative_);
9587 if (((bitField3_ & 0x00004000) != 0)) {
9588 output.writeBool(79, useTimetableEdgeFindingInCumulative_);
9590 if (((bitField3_ & 0x00040000) != 0)) {
9591 output.writeBool(80, useDisjunctiveConstraintInCumulative_);
9593 if (((bitField3_ & 0x01000000) != 0)) {
9594 output.writeEnum(82, searchBranching_);
9596 if (((bitField4_ & 0x00000010) != 0)) {
9597 output.writeBool(83, optimizeWithCore_);
9599 if (((bitField3_ & 0x00000004) != 0)) {
9600 output.writeBool(84, findMultipleCores_);
9602 if (((bitField4_ & 0x00000080) != 0)) {
9603 output.writeBool(85, optimizeWithMaxHs_);
9605 if (((bitField2_ & 0x00000001) != 0)) {
9606 output.writeBool(86, cpModelPresolve_);
9608 if (((bitField4_ & 0x02000000) != 0)) {
9609 output.writeBool(87, enumerateAllSolutions_);
9611 if (((bitField1_ & 0x10000000) != 0)) {
9612 output.writeBool(88, presolveBlockedClause_);
9614 if (((bitField3_ & 0x00000008) != 0)) {
9615 output.writeBool(89, coverOptimization_);
9617 if (((bitField5_ & 0x02000000) != 0)) {
9618 output.writeInt32(90, linearizationLevel_);
9620 if (((bitField5_ & 0x10000000) != 0)) {
9621 output.writeInt32(91, maxNumCuts_);
9623 if (((bitField5_ & 0x40000000) != 0)) {
9624 output.writeBool(92, onlyAddCutsAtLevelZero_);
9626 if (((bitField2_ & 0x00000004) != 0)) {
9627 output.writeBool(93, cpModelUseSatPresolve_);
9629 if (((bitField6_ & 0x00020000) != 0)) {
9630 output.writeBool(94, exploitIntegerLpSolution_);
9632 if (((bitField4_ & 0x40000000) != 0)) {
9633 output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
9635 if (((bitField4_ & 0x80000000) != 0)) {
9636 output.writeBool(98, stopAfterFirstSolution_);
9638 if (((bitField4_ & 0x00000040) != 0)) {
9639 output.writeInt32(99, binarySearchNumConflicts_);
9641 if (((bitField2_ & 0x00400000) != 0)) {
9642 output.writeInt32(100, numSearchWorkers_);
9644 if (((bitField5_ & 0x00000004) != 0)) {
9645 output.writeBool(101, useLnsOnly_);
9647 if (((bitField5_ & 0x00000200) != 0)) {
9648 output.writeBool(103, randomizeSearch_);
9650 if (((bitField5_ & 0x00000400) != 0)) {
9651 output.writeInt64(104, searchRandomVariablePoolSize_);
9653 if (((bitField4_ & 0x20000000) != 0)) {
9654 output.writeBool(106, instantiateAllVariables_);
9656 if (((bitField5_ & 0x04000000) != 0)) {
9657 output.writeInt32(107, booleanEncodingLevel_);
9659 if (((bitField5_ & 0x00001000) != 0)) {
9660 output.writeBool(108, useOptionalVariables_);
9662 if (((bitField5_ & 0x00002000) != 0)) {
9663 output.writeBool(109, useExactLpReason_);
9665 if (((bitField2_ & 0x00000002) != 0)) {
9666 output.writeInt32(110, cpModelProbingLevel_);
9668 if (((bitField6_ & 0x00000100) != 0)) {
9669 output.writeBool(112, addLpConstraintsLazily_);
9671 if (((bitField2_ & 0x04000000) != 0)) {
9672 output.writeBool(113, shareObjectiveBounds_);
9674 if (((bitField2_ & 0x08000000) != 0)) {
9675 output.writeBool(114, shareLevelZeroBounds_);
9677 if (((bitField6_ & 0x00000400) != 0)) {
9678 output.writeDouble(115, minOrthogonalityForLpConstraints_);
9680 if (((bitField6_ & 0x00040000) != 0)) {
9681 output.writeBool(116, exploitAllLpSolution_);
9683 if (((bitField6_ & 0x00000001) != 0)) {
9684 output.writeBool(117, addCgCuts_);
9686 if (((bitField6_ & 0x00000080) != 0)) {
9687 output.writeInt32(119, maxIntegerRoundingScaling_);
9689 if (((bitField6_ & 0x00000002) != 0)) {
9690 output.writeBool(120, addMirCuts_);
9692 if (((bitField6_ & 0x00001000) != 0)) {
9693 output.writeInt32(121, maxConsecutiveInactiveCount_);
9695 if (((bitField6_ & 0x00010000) != 0)) {
9696 output.writeInt32(122, newConstraintsBatchSize_);
9698 if (((bitField4_ & 0x00000008) != 0)) {
9699 output.writeInt64(123, pseudoCostReliabilityThreshold_);
9701 if (((bitField6_ & 0x00800000) != 0)) {
9702 output.writeDouble(124, mipMaxBound_);
9704 if (((bitField6_ & 0x01000000) != 0)) {
9705 output.writeDouble(125, mipVarScaling_);
9707 if (((bitField6_ & 0x10000000) != 0)) {
9708 output.writeDouble(126, mipWantedPrecision_);
9710 if (((bitField6_ & 0x20000000) != 0)) {
9711 output.writeInt32(127, mipMaxActivityExponent_);
9713 if (((bitField6_ & 0x40000000) != 0)) {
9714 output.writeDouble(128, mipCheckPrecision_);
9716 if (((bitField5_ & 0x00000010) != 0)) {
9717 output.writeBool(129, useRinsLns_);
9719 if (((bitField6_ & 0x00080000) != 0)) {
9720 output.writeBool(130, exploitBestSolution_);
9722 if (((bitField6_ & 0x00200000) != 0)) {
9723 output.writeBool(131, exploitObjective_);
9725 if (((bitField4_ & 0x08000000) != 0)) {
9726 output.writeBool(132, fillTightenedDomainsInResponse_);
9728 if (((bitField5_ & 0x00004000) != 0)) {
9729 output.writeBool(133, useCombinedNoOverlap_);
9731 if (((bitField2_ & 0x02000000) != 0)) {
9732 output.writeInt32(134, interleaveBatchSize_);
9734 if (((bitField5_ & 0x00010000) != 0)) {
9735 output.writeBool(135, catchSigintSignal_);
9737 if (((bitField2_ & 0x01000000) != 0)) {
9738 output.writeBool(136, interleaveSearch_);
9740 if (((bitField5_ & 0x00000100) != 0)) {
9741 output.writeBool(137, diversifyLnsParams_);
9743 if (((bitField1_ & 0x80000000) != 0)) {
9744 output.writeInt32(138, maxPresolveIterations_);
9746 if (((bitField5_ & 0x00020000) != 0)) {
9747 output.writeBool(144, useImpliedBounds_);
9749 if (((bitField2_ & 0x00000200) != 0)) {
9750 output.writeDouble(145, mergeNoOverlapWorkLimit_);
9752 if (((bitField2_ & 0x00000400) != 0)) {
9753 output.writeDouble(146, mergeAtMostOneWorkLimit_);
9755 if (((bitField2_ & 0x00000800) != 0)) {
9756 output.writeInt32(147, presolveSubstitutionLevel_);
9758 if (((bitField6_ & 0x00000020) != 0)) {
9759 output.writeInt32(148, maxAllDiffCutSize_);
9761 if (((bitField5_ & 0x00000001) != 0)) {
9762 output.writeBool(149, stopAfterPresolve_);
9764 if (((bitField2_ & 0x40000000) != 0)) {
9765 output.writeInt32(151, debugMaxNumPresolveOperations_);
9767 if (((bitField6_ & 0x00000040) != 0)) {
9768 output.writeBool(152, addLinMaxCuts_);
9770 if (((bitField3_ & 0x02000000) != 0)) {
9771 output.writeInt32(153, hintConflictLimit_);
9773 if (((bitField6_ & 0x00000800) != 0)) {
9774 output.writeInt32(154, maxCutRoundsAtLevelZero_);
9776 if (((bitField6_ & 0x00002000) != 0)) {
9777 output.writeDouble(155, cutMaxActiveCountValue_);
9779 if (((bitField6_ & 0x00004000) != 0)) {
9780 output.writeDouble(156, cutActiveCountDecay_);
9782 if (((bitField6_ & 0x00008000) != 0)) {
9783 output.writeInt32(157, cutCleanupTarget_);
9785 if (((bitField1_ & 0x00000400) != 0)) {
9786 output.writeDouble(159, absoluteGapLimit_);
9788 if (((bitField1_ & 0x00000800) != 0)) {
9789 output.writeDouble(160, relativeGapLimit_);
9791 if (((bitField6_ & 0x00100000) != 0)) {
9792 output.writeBool(161, exploitRelaxationSolution_);
9794 if (((bitField2_ & 0x20000000) != 0)) {
9795 output.writeBool(162, debugPostsolveWithFullSolver_);
9797 if (((bitField2_ & 0x00020000) != 0)) {
9798 output.writeBool(163, useSatInprocessing_);
9800 if (((bitField5_ & 0x00000020) != 0)) {
9801 output.writeBool(164, useFeasibilityPump_);
9803 if (((bitField5_ & 0x00000080) != 0)) {
9804 output.writeEnum(165, fpRounding_);
9806 if (((bitField6_ & 0x04000000) != 0)) {
9807 output.writeBool(166, mipAutomaticallyScaleVariables_);
9809 if (((bitField3_ & 0x04000000) != 0)) {
9810 output.writeBool(167, repairHint_);
9812 if (((bitField0_ & 0x00000010) != 0)) {
9813 output.writeInt32(168, polarityRephaseIncrement_);
9815 if (((bitField6_ & 0x00000004) != 0)) {
9816 output.writeBool(169, addZeroHalfCuts_);
9818 if (((bitField2_ & 0x00000020) != 0)) {
9819 output.writeBool(170, expandAlldiffConstraints_);
9821 if (((bitField0_ & 0x00000001) != 0)) {
9822 com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
9824 if (((bitField6_ & 0x00000008) != 0)) {
9825 output.writeBool(172, addCliqueCuts_);
9827 if (((bitField4_ & 0x04000000) != 0)) {
9828 output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
9830 if (((bitField2_ & 0x00001000) != 0)) {
9831 output.writeBool(174, presolveExtractIntegerEnforcement_);
9833 if (((bitField5_ & 0x00040000) != 0)) {
9834 output.writeBool(175, polishLpSolution_);
9836 if (((bitField3_ & 0x10000000) != 0)) {
9837 output.writeBool(176, useProbingSearch_);
9839 if (((bitField5_ & 0x00200000) != 0)) {
9840 output.writeBool(177, convertIntervals_);
9842 if (((bitField1_ & 0x00002000) != 0)) {
9843 output.writeBool(178, permuteVariableRandomly_);
9845 if (((bitField1_ & 0x00004000) != 0)) {
9846 output.writeBool(179, permutePresolveConstraintOrder_);
9848 if (((bitField1_ & 0x00008000) != 0)) {
9849 output.writeBool(180, useAbslRandom_);
9851 if (((bitField2_ & 0x00000080) != 0)) {
9852 output.writeBool(181, disableConstraintExpansion_);
9854 if (((bitField2_ & 0x00000040) != 0)) {
9855 output.writeBool(182, expandReservoirConstraints_);
9857 if (((bitField5_ & 0x00400000) != 0)) {
9858 output.writeInt32(183, symmetryLevel_);
9860 if (((bitField1_ & 0x00040000) != 0)) {
9861 com.google.protobuf.GeneratedMessageV3.writeString(output, 185, logPrefix_);
9863 if (((bitField1_ & 0x00080000) != 0)) {
9864 output.writeBool(186, logToStdout_);
9866 if (((bitField1_ & 0x00100000) != 0)) {
9867 output.writeBool(187, logToResponse_);
9869 if (((bitField4_ & 0x00000020) != 0)) {
9870 output.writeBool(188, optimizeWithLbTreeSearch_);
9872 if (((bitField1_ & 0x00020000) != 0)) {
9873 output.writeBool(189, logSubsolverStatistics_);
9875 if (((bitField0_ & 0x00008000) != 0)) {
9876 output.writeDouble(190, clauseCleanupRatio_);
9878 if (((bitField5_ & 0x08000000) != 0)) {
9879 output.writeInt32(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
9881 if (((bitField3_ & 0x08000000) != 0)) {
9882 output.writeBool(192, fixVariablesToTheirHintedValue_);
9884 if (((bitField5_ & 0x00000008) != 0)) {
9885 output.writeInt32(193, solutionPoolSize_);
9887 if (((bitField4_ & 0x10000000) != 0)) {
9888 output.writeBool(194, fillAdditionalSolutionsInResponse_);
9890 if (((bitField2_ & 0x80000000) != 0)) {
9891 output.writeBool(195, debugCrashOnBadHint_);
9893 if (((bitField5_ & 0x20000000) != 0)) {
9894 output.writeInt32(196, cutLevel_);
9896 if (((bitField5_ & 0x80000000) != 0)) {
9897 output.writeBool(197, addObjectiveCut_);
9899 if (((bitField6_ & 0x80000000) != 0)) {
9900 output.writeBool(198, mipComputeTrueObjectiveBound_);
9902 if (((bitField7_ & 0x00000001) != 0)) {
9903 output.writeDouble(199, mipMaxValidMagnitude_);
9905 if (((bitField3_ & 0x00080000) != 0)) {
9906 output.writeBool(200, useTimetablingInNoOverlap2D_);
9908 if (((bitField2_ & 0x00002000) != 0)) {
9909 output.writeInt64(201, presolveInclusionWorkLimit_);
9911 if (((bitField2_ & 0x00004000) != 0)) {
9912 output.writeBool(202, ignoreNames_);
9914 if (((bitField2_ & 0x10000000) != 0)) {
9915 output.writeBool(203, shareBinaryClauses_);
9917 if (((bitField3_ & 0x80000000) != 0)) {
9918 output.writeBool(204, useShavingInProbingSearch_);
9920 if (((bitField4_ & 0x00000001) != 0)) {
9921 output.writeDouble(205, shavingSearchDeterministicTime_);
9923 if (((bitField2_ & 0x00200000) != 0)) {
9924 output.writeInt32(206, numWorkers_);
9926 for (
int i = 0; i < subsolvers_.size(); i++) {
9927 com.google.protobuf.GeneratedMessageV3.writeString(output, 207, subsolvers_.getRaw(i));
9929 for (
int i = 0; i < ignoreSubsolvers_.size(); i++) {
9930 com.google.protobuf.GeneratedMessageV3.writeString(output, 209, ignoreSubsolvers_.getRaw(i));
9932 for (
int i = 0; i < subsolverParams_.size(); i++) {
9933 output.writeMessage(210, subsolverParams_.get(i));
9935 if (((bitField2_ & 0x00800000) != 0)) {
9936 output.writeInt32(211, minNumLnsWorkers_);
9938 if (((bitField3_ & 0x00100000) != 0)) {
9939 output.writeBool(213, useEnergeticReasoningInNoOverlap2D_);
9941 if (((bitField3_ & 0x00800000) != 0)) {
9942 output.writeBool(214, useDualSchedulingHeuristics_);
9944 if (((bitField3_ & 0x00010000) != 0)) {
9945 output.writeBool(215, useHardPrecedencesInCumulative_);
9947 if (((bitField2_ & 0x00000008) != 0)) {
9948 output.writeBool(216, detectTableWithCost_);
9950 if (((bitField2_ & 0x00000010) != 0)) {
9951 output.writeInt32(217, tableCompressionLevel_);
9953 for (
int i = 0; i < extraSubsolvers_.size(); i++) {
9954 com.google.protobuf.GeneratedMessageV3.writeString(output, 219, extraSubsolvers_.getRaw(i));
9956 if (((bitField3_ & 0x00020000) != 0)) {
9957 output.writeBool(220, exploitAllPrecedences_);
9959 if (((bitField3_ & 0x00000080) != 0)) {
9960 output.writeDouble(221, propagationLoopDetectionFactor_);
9962 if (((bitField6_ & 0x08000000) != 0)) {
9963 output.writeBool(222, onlySolveIp_);
9965 if (((bitField2_ & 0x00000100) != 0)) {
9966 output.writeBool(223, encodeComplexLinearConstraintWithInteger_);
9968 if (((bitField5_ & 0x00800000) != 0)) {
9969 output.writeBool(224, newLinearPropagation_);
9971 if (((bitField6_ & 0x02000000) != 0)) {
9972 output.writeBool(225, mipScaleLargeDomain_);
9974 if (((bitField1_ & 0x04000000) != 0)) {
9975 output.writeDouble(226, probingDeterministicTimeLimit_);
9977 if (((bitField6_ & 0x00000200) != 0)) {
9978 output.writeInt32(227, rootLpIterations_);
9980 if (((bitField4_ & 0x00000002) != 0)) {
9981 output.writeBool(228, useObjectiveLbSearch_);
9983 if (((bitField3_ & 0x00000200) != 0)) {
9984 output.writeInt32(229, maxSizeToCreatePrecedenceLiteralsInDisjunctive_);
9986 if (((bitField3_ & 0x00000400) != 0)) {
9987 output.writeBool(230, useStrongPropagationInDisjunctive_);
9989 if (((bitField7_ & 0x00000004) != 0)) {
9990 output.writeDouble(232, mipDropTolerance_);
9992 if (((bitField2_ & 0x00008000) != 0)) {
9993 output.writeBool(233, inferAllDiffs_);
9995 if (((bitField2_ & 0x00010000) != 0)) {
9996 output.writeBool(234, findBigLinearOverlap_);
9998 if (((bitField4_ & 0x00100000) != 0)) {
9999 output.writeInt32(235, sharedTreeNumWorkers_);
10001 if (((bitField4_ & 0x00200000) != 0)) {
10002 output.writeBool(236, useSharedTreeSearch_);
10004 if (((bitField4_ & 0x00400000) != 0)) {
10005 output.writeDouble(237, sharedTreeWorkerObjectiveSplitProbability_);
10007 if (((bitField4_ & 0x00800000) != 0)) {
10008 output.writeInt32(238, sharedTreeMaxNodesPerWorker_);
10010 if (((bitField4_ & 0x01000000) != 0)) {
10011 output.writeEnum(239, sharedTreeSplitStrategy_);
10013 if (((bitField4_ & 0x00000200) != 0)) {
10014 output.writeBool(240, testFeasibilityJump_);
10016 if (((bitField4_ & 0x00000400) != 0)) {
10017 output.writeDouble(242, feasibilityJumpDecay_);
10019 if (((bitField4_ & 0x00020000) != 0)) {
10020 output.writeInt32(244, numViolationLs_);
10022 if (((bitField4_ & 0x00002000) != 0)) {
10023 output.writeDouble(247, feasibilityJumpVarRandomizationProbability_);
10025 if (((bitField4_ & 0x00004000) != 0)) {
10026 output.writeDouble(248, feasibilityJumpVarPerburbationRangeRatio_);
10028 if (((bitField4_ & 0x00040000) != 0)) {
10029 output.writeInt32(249, violationLsPerturbationPeriod_);
10031 if (((bitField4_ & 0x00008000) != 0)) {
10032 output.writeBool(250, feasibilityJumpEnableRestarts_);
10034 if (((bitField5_ & 0x00000002) != 0)) {
10035 output.writeBool(252, stopAfterRootPropagation_);
10037 if (((bitField4_ & 0x00000004) != 0)) {
10038 output.writeBool(253, useObjectiveShavingSearch_);
10040 if (((bitField5_ & 0x00000040) != 0)) {
10041 output.writeBool(255, useLbRelaxLns_);
10043 if (((bitField5_ & 0x01000000) != 0)) {
10044 output.writeInt32(256, linearSplitSize_);
10046 if (((bitField4_ & 0x00000800) != 0)) {
10047 output.writeInt32(257, feasibilityJumpLinearizationLevel_);
10049 if (((bitField4_ & 0x00001000) != 0)) {
10050 output.writeInt32(258, feasibilityJumpRestartFactor_);
10052 if (((bitField4_ & 0x00080000) != 0)) {
10053 output.writeDouble(259, violationLsCompoundMoveProbability_);
10055 if (((bitField3_ & 0x00008000) != 0)) {
10056 output.writeInt32(260, maxNumIntervalsForTimetableEdgeFinding_);
10058 if (((bitField7_ & 0x00000008) != 0)) {
10059 output.writeInt32(261, mipPresolveLevel_);
10061 if (((bitField5_ & 0x00000800) != 0)) {
10062 output.writeBool(262, pushAllTasksTowardStart_);
10064 if (((bitField3_ & 0x00000800) != 0)) {
10065 output.writeBool(263, useDynamicPrecedenceInDisjunctive_);
10067 if (((bitField4_ & 0x00010000) != 0)) {
10068 output.writeInt32(264, feasibilityJumpMaxExpandedConstraintSize_);
10070 if (((bitField4_ & 0x00000100) != 0)) {
10071 output.writeBool(265, useFeasibilityJump_);
10073 if (((bitField5_ & 0x00080000) != 0)) {
10074 output.writeDouble(266, lpPrimalTolerance_);
10076 if (((bitField5_ & 0x00100000) != 0)) {
10077 output.writeDouble(267, lpDualTolerance_);
10079 if (((bitField3_ & 0x00001000) != 0)) {
10080 output.writeBool(268, useDynamicPrecedenceInCumulative_);
10082 if (((bitField3_ & 0x20000000) != 0)) {
10083 output.writeBool(269, useExtendedProbing_);
10085 if (((bitField5_ & 0x00008000) != 0)) {
10086 output.writeInt32(270, atMostOneMaxExpansionSize_);
10088 if (((bitField3_ & 0x00200000) != 0)) {
10089 output.writeBool(271, useAreaEnergeticReasoningInNoOverlap2D_);
10091 if (((bitField3_ & 0x40000000) != 0)) {
10092 output.writeInt32(272, probingNumCombinationsLimit_);
10094 if (((bitField2_ & 0x00040000) != 0)) {
10095 output.writeDouble(273, inprocessingDtimeRatio_);
10097 if (((bitField2_ & 0x00080000) != 0)) {
10098 output.writeDouble(274, inprocessingProbingDtime_);
10100 if (((bitField2_ & 0x00100000) != 0)) {
10101 output.writeDouble(275, inprocessingMinimizationDtime_);
10103 if (((bitField3_ & 0x00400000) != 0)) {
10104 output.writeInt32(276, maxPairsPairwiseReasoningInNoOverlap2D_);
10106 if (((bitField6_ & 0x00400000) != 0)) {
10107 output.writeBool(277, detectLinearizedProduct_);
10109 if (((bitField7_ & 0x00000002) != 0)) {
10110 output.writeBool(278, mipTreatHighMagnitudeBoundsAsInfinity_);
10112 if (((bitField6_ & 0x00000010) != 0)) {
10113 output.writeBool(279, addRltCuts_);
10115 getUnknownFields().writeTo(output);
10118 @java.lang.Override
10120 int size = memoizedSize;
10121 if (size != -1)
return size;
10124 if (((bitField0_ & 0x00000002) != 0)) {
10125 size += com.google.protobuf.CodedOutputStream
10126 .computeEnumSize(1, preferredVariableOrder_);
10128 if (((bitField0_ & 0x00000004) != 0)) {
10129 size += com.google.protobuf.CodedOutputStream
10130 .computeEnumSize(2, initialPolarity_);
10132 if (((bitField0_ & 0x00000400) != 0)) {
10133 size += com.google.protobuf.CodedOutputStream
10134 .computeEnumSize(4, minimizationAlgorithm_);
10136 if (((bitField0_ & 0x00002000) != 0)) {
10137 size += com.google.protobuf.CodedOutputStream
10138 .computeInt32Size(11, clauseCleanupPeriod_);
10140 if (((bitField0_ & 0x00004000) != 0)) {
10141 size += com.google.protobuf.CodedOutputStream
10142 .computeInt32Size(13, clauseCleanupTarget_);
10144 if (((bitField0_ & 0x00200000) != 0)) {
10145 size += com.google.protobuf.CodedOutputStream
10146 .computeDoubleSize(15, variableActivityDecay_);
10148 if (((bitField0_ & 0x00400000) != 0)) {
10149 size += com.google.protobuf.CodedOutputStream
10150 .computeDoubleSize(16, maxVariableActivityValue_);
10152 if (((bitField0_ & 0x04000000) != 0)) {
10153 size += com.google.protobuf.CodedOutputStream
10154 .computeDoubleSize(17, clauseActivityDecay_);
10156 if (((bitField0_ & 0x08000000) != 0)) {
10157 size += com.google.protobuf.CodedOutputStream
10158 .computeDoubleSize(18, maxClauseActivityValue_);
10160 if (((bitField0_ & 0x00800000) != 0)) {
10161 size += com.google.protobuf.CodedOutputStream
10162 .computeDoubleSize(22, glucoseMaxDecay_);
10164 if (((bitField0_ & 0x01000000) != 0)) {
10165 size += com.google.protobuf.CodedOutputStream
10166 .computeDoubleSize(23, glucoseDecayIncrement_);
10168 if (((bitField0_ & 0x02000000) != 0)) {
10169 size += com.google.protobuf.CodedOutputStream
10170 .computeInt32Size(24, glucoseDecayIncrementPeriod_);
10172 if (((bitField0_ & 0x20000000) != 0)) {
10173 size += com.google.protobuf.CodedOutputStream
10174 .computeInt32Size(30, restartPeriod_);
10176 if (((bitField1_ & 0x00001000) != 0)) {
10177 size += com.google.protobuf.CodedOutputStream
10178 .computeInt32Size(31, randomSeed_);
10180 if (((bitField0_ & 0x00000040) != 0)) {
10181 size += com.google.protobuf.CodedOutputStream
10182 .computeDoubleSize(32, randomBranchesRatio_);
10184 if (((bitField0_ & 0x00000800) != 0)) {
10185 size += com.google.protobuf.CodedOutputStream
10186 .computeEnumSize(34, binaryMinimizationAlgorithm_);
10188 if (((bitField3_ & 0x00000001) != 0)) {
10189 size += com.google.protobuf.CodedOutputStream
10190 .computeBoolSize(35, useOptimizationHints_);
10192 if (((bitField1_ & 0x00000040) != 0)) {
10193 size += com.google.protobuf.CodedOutputStream
10194 .computeDoubleSize(36, maxTimeInSeconds_);
10196 if (((bitField1_ & 0x00000100) != 0)) {
10197 size += com.google.protobuf.CodedOutputStream
10198 .computeInt64Size(37, maxNumberOfConflicts_);
10200 if (((bitField1_ & 0x00000200) != 0)) {
10201 size += com.google.protobuf.CodedOutputStream
10202 .computeInt64Size(40, maxMemoryInMb_);
10204 if (((bitField1_ & 0x00010000) != 0)) {
10205 size += com.google.protobuf.CodedOutputStream
10206 .computeBoolSize(41, logSearchProgress_);
10208 if (((bitField1_ & 0x00200000) != 0)) {
10209 size += com.google.protobuf.CodedOutputStream
10210 .computeBoolSize(43, usePbResolution_);
10212 if (((bitField0_ & 0x00000008) != 0)) {
10213 size += com.google.protobuf.CodedOutputStream
10214 .computeBoolSize(44, usePhaseSaving_);
10216 if (((bitField0_ & 0x00000020) != 0)) {
10217 size += com.google.protobuf.CodedOutputStream
10218 .computeDoubleSize(45, randomPolarityRatio_);
10220 if (((bitField0_ & 0x00080000) != 0)) {
10221 size += com.google.protobuf.CodedOutputStream
10222 .computeInt32Size(46, pbCleanupIncrement_);
10224 if (((bitField0_ & 0x00100000) != 0)) {
10225 size += com.google.protobuf.CodedOutputStream
10226 .computeDoubleSize(47, pbCleanupRatio_);
10228 if (((bitField1_ & 0x00400000) != 0)) {
10229 size += com.google.protobuf.CodedOutputStream
10230 .computeBoolSize(48, minimizeReductionDuringPbResolution_);
10232 if (((bitField1_ & 0x00800000) != 0)) {
10233 size += com.google.protobuf.CodedOutputStream
10234 .computeBoolSize(49, countAssumptionLevelsInLbd_);
10236 if (((bitField3_ & 0x00000002) != 0)) {
10237 size += com.google.protobuf.CodedOutputStream
10238 .computeInt32Size(50, coreMinimizationLevel_);
10240 if (((bitField3_ & 0x00000010) != 0)) {
10241 size += com.google.protobuf.CodedOutputStream
10242 .computeEnumSize(51, maxSatAssumptionOrder_);
10244 if (((bitField3_ & 0x00000020) != 0)) {
10245 size += com.google.protobuf.CodedOutputStream
10246 .computeBoolSize(52, maxSatReverseAssumptionOrder_);
10248 if (((bitField3_ & 0x00000040) != 0)) {
10249 size += com.google.protobuf.CodedOutputStream
10250 .computeEnumSize(53, maxSatStratification_);
10252 if (((bitField1_ & 0x01000000) != 0)) {
10253 size += com.google.protobuf.CodedOutputStream
10254 .computeInt32Size(54, presolveBveThreshold_);
10256 if (((bitField1_ & 0x02000000) != 0)) {
10257 size += com.google.protobuf.CodedOutputStream
10258 .computeInt32Size(55, presolveBveClauseWeight_);
10260 if (((bitField0_ & 0x00001000) != 0)) {
10261 size += com.google.protobuf.CodedOutputStream
10262 .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
10264 if (((bitField1_ & 0x08000000) != 0)) {
10265 size += com.google.protobuf.CodedOutputStream
10266 .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
10268 if (((bitField0_ & 0x00010000) != 0)) {
10269 size += com.google.protobuf.CodedOutputStream
10270 .computeEnumSize(58, clauseCleanupProtection_);
10272 if (((bitField0_ & 0x00020000) != 0)) {
10273 size += com.google.protobuf.CodedOutputStream
10274 .computeInt32Size(59, clauseCleanupLbdBound_);
10276 if (((bitField0_ & 0x00040000) != 0)) {
10277 size += com.google.protobuf.CodedOutputStream
10278 .computeEnumSize(60, clauseCleanupOrdering_);
10282 for (
int i = 0; i < restartAlgorithms_.size(); i++) {
10283 dataSize += com.google.protobuf.CodedOutputStream
10284 .computeEnumSizeNoTag(restartAlgorithms_.get(i));
10287 size += 2 * restartAlgorithms_.size();
10289 if (((bitField0_ & 0x40000000) != 0)) {
10290 size += com.google.protobuf.CodedOutputStream
10291 .computeInt32Size(62, restartRunningWindowSize_);
10293 if (((bitField0_ & 0x80000000) != 0)) {
10294 size += com.google.protobuf.CodedOutputStream
10295 .computeDoubleSize(63, restartDlAverageRatio_);
10297 if (((bitField1_ & 0x00000002) != 0)) {
10298 size += com.google.protobuf.CodedOutputStream
10299 .computeBoolSize(64, useBlockingRestart_);
10301 if (((bitField1_ & 0x00000004) != 0)) {
10302 size += com.google.protobuf.CodedOutputStream
10303 .computeInt32Size(65, blockingRestartWindowSize_);
10305 if (((bitField1_ & 0x00000008) != 0)) {
10306 size += com.google.protobuf.CodedOutputStream
10307 .computeDoubleSize(66, blockingRestartMultiplier_);
10309 if (((bitField1_ & 0x00000080) != 0)) {
10310 size += com.google.protobuf.CodedOutputStream
10311 .computeDoubleSize(67, maxDeterministicTime_);
10313 if (((bitField1_ & 0x00000010) != 0)) {
10314 size += com.google.protobuf.CodedOutputStream
10315 .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
10317 if (((bitField1_ & 0x00000020) != 0)) {
10318 size += com.google.protobuf.CodedOutputStream
10319 .computeDoubleSize(69, strategyChangeIncreaseRatio_);
10321 if (((bitField0_ & 0x10000000) != 0)) {
10322 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
10324 if (((bitField1_ & 0x00000001) != 0)) {
10325 size += com.google.protobuf.CodedOutputStream
10326 .computeDoubleSize(71, restartLbdAverageRatio_);
10328 if (((bitField1_ & 0x20000000) != 0)) {
10329 size += com.google.protobuf.CodedOutputStream
10330 .computeBoolSize(72, presolveUseBva_);
10332 if (((bitField1_ & 0x40000000) != 0)) {
10333 size += com.google.protobuf.CodedOutputStream
10334 .computeInt32Size(73, presolveBvaThreshold_);
10336 if (((bitField3_ & 0x00000100) != 0)) {
10337 size += com.google.protobuf.CodedOutputStream
10338 .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
10340 if (((bitField0_ & 0x00000080) != 0)) {
10341 size += com.google.protobuf.CodedOutputStream
10342 .computeBoolSize(75, useErwaHeuristic_);
10344 if (((bitField0_ & 0x00000100) != 0)) {
10345 size += com.google.protobuf.CodedOutputStream
10346 .computeDoubleSize(76, initialVariablesActivity_);
10348 if (((bitField0_ & 0x00000200) != 0)) {
10349 size += com.google.protobuf.CodedOutputStream
10350 .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
10352 if (((bitField3_ & 0x00002000) != 0)) {
10353 size += com.google.protobuf.CodedOutputStream
10354 .computeBoolSize(78, useOverloadCheckerInCumulative_);
10356 if (((bitField3_ & 0x00004000) != 0)) {
10357 size += com.google.protobuf.CodedOutputStream
10358 .computeBoolSize(79, useTimetableEdgeFindingInCumulative_);
10360 if (((bitField3_ & 0x00040000) != 0)) {
10361 size += com.google.protobuf.CodedOutputStream
10362 .computeBoolSize(80, useDisjunctiveConstraintInCumulative_);
10364 if (((bitField3_ & 0x01000000) != 0)) {
10365 size += com.google.protobuf.CodedOutputStream
10366 .computeEnumSize(82, searchBranching_);
10368 if (((bitField4_ & 0x00000010) != 0)) {
10369 size += com.google.protobuf.CodedOutputStream
10370 .computeBoolSize(83, optimizeWithCore_);
10372 if (((bitField3_ & 0x00000004) != 0)) {
10373 size += com.google.protobuf.CodedOutputStream
10374 .computeBoolSize(84, findMultipleCores_);
10376 if (((bitField4_ & 0x00000080) != 0)) {
10377 size += com.google.protobuf.CodedOutputStream
10378 .computeBoolSize(85, optimizeWithMaxHs_);
10380 if (((bitField2_ & 0x00000001) != 0)) {
10381 size += com.google.protobuf.CodedOutputStream
10382 .computeBoolSize(86, cpModelPresolve_);
10384 if (((bitField4_ & 0x02000000) != 0)) {
10385 size += com.google.protobuf.CodedOutputStream
10386 .computeBoolSize(87, enumerateAllSolutions_);
10388 if (((bitField1_ & 0x10000000) != 0)) {
10389 size += com.google.protobuf.CodedOutputStream
10390 .computeBoolSize(88, presolveBlockedClause_);
10392 if (((bitField3_ & 0x00000008) != 0)) {
10393 size += com.google.protobuf.CodedOutputStream
10394 .computeBoolSize(89, coverOptimization_);
10396 if (((bitField5_ & 0x02000000) != 0)) {
10397 size += com.google.protobuf.CodedOutputStream
10398 .computeInt32Size(90, linearizationLevel_);
10400 if (((bitField5_ & 0x10000000) != 0)) {
10401 size += com.google.protobuf.CodedOutputStream
10402 .computeInt32Size(91, maxNumCuts_);
10404 if (((bitField5_ & 0x40000000) != 0)) {
10405 size += com.google.protobuf.CodedOutputStream
10406 .computeBoolSize(92, onlyAddCutsAtLevelZero_);
10408 if (((bitField2_ & 0x00000004) != 0)) {
10409 size += com.google.protobuf.CodedOutputStream
10410 .computeBoolSize(93, cpModelUseSatPresolve_);
10412 if (((bitField6_ & 0x00020000) != 0)) {
10413 size += com.google.protobuf.CodedOutputStream
10414 .computeBoolSize(94, exploitIntegerLpSolution_);
10416 if (((bitField4_ & 0x40000000) != 0)) {
10417 size += com.google.protobuf.CodedOutputStream
10418 .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
10420 if (((bitField4_ & 0x80000000) != 0)) {
10421 size += com.google.protobuf.CodedOutputStream
10422 .computeBoolSize(98, stopAfterFirstSolution_);
10424 if (((bitField4_ & 0x00000040) != 0)) {
10425 size += com.google.protobuf.CodedOutputStream
10426 .computeInt32Size(99, binarySearchNumConflicts_);
10428 if (((bitField2_ & 0x00400000) != 0)) {
10429 size += com.google.protobuf.CodedOutputStream
10430 .computeInt32Size(100, numSearchWorkers_);
10432 if (((bitField5_ & 0x00000004) != 0)) {
10433 size += com.google.protobuf.CodedOutputStream
10434 .computeBoolSize(101, useLnsOnly_);
10436 if (((bitField5_ & 0x00000200) != 0)) {
10437 size += com.google.protobuf.CodedOutputStream
10438 .computeBoolSize(103, randomizeSearch_);
10440 if (((bitField5_ & 0x00000400) != 0)) {
10441 size += com.google.protobuf.CodedOutputStream
10442 .computeInt64Size(104, searchRandomVariablePoolSize_);
10444 if (((bitField4_ & 0x20000000) != 0)) {
10445 size += com.google.protobuf.CodedOutputStream
10446 .computeBoolSize(106, instantiateAllVariables_);
10448 if (((bitField5_ & 0x04000000) != 0)) {
10449 size += com.google.protobuf.CodedOutputStream
10450 .computeInt32Size(107, booleanEncodingLevel_);
10452 if (((bitField5_ & 0x00001000) != 0)) {
10453 size += com.google.protobuf.CodedOutputStream
10454 .computeBoolSize(108, useOptionalVariables_);
10456 if (((bitField5_ & 0x00002000) != 0)) {
10457 size += com.google.protobuf.CodedOutputStream
10458 .computeBoolSize(109, useExactLpReason_);
10460 if (((bitField2_ & 0x00000002) != 0)) {
10461 size += com.google.protobuf.CodedOutputStream
10462 .computeInt32Size(110, cpModelProbingLevel_);
10464 if (((bitField6_ & 0x00000100) != 0)) {
10465 size += com.google.protobuf.CodedOutputStream
10466 .computeBoolSize(112, addLpConstraintsLazily_);
10468 if (((bitField2_ & 0x04000000) != 0)) {
10469 size += com.google.protobuf.CodedOutputStream
10470 .computeBoolSize(113, shareObjectiveBounds_);
10472 if (((bitField2_ & 0x08000000) != 0)) {
10473 size += com.google.protobuf.CodedOutputStream
10474 .computeBoolSize(114, shareLevelZeroBounds_);
10476 if (((bitField6_ & 0x00000400) != 0)) {
10477 size += com.google.protobuf.CodedOutputStream
10478 .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
10480 if (((bitField6_ & 0x00040000) != 0)) {
10481 size += com.google.protobuf.CodedOutputStream
10482 .computeBoolSize(116, exploitAllLpSolution_);
10484 if (((bitField6_ & 0x00000001) != 0)) {
10485 size += com.google.protobuf.CodedOutputStream
10486 .computeBoolSize(117, addCgCuts_);
10488 if (((bitField6_ & 0x00000080) != 0)) {
10489 size += com.google.protobuf.CodedOutputStream
10490 .computeInt32Size(119, maxIntegerRoundingScaling_);
10492 if (((bitField6_ & 0x00000002) != 0)) {
10493 size += com.google.protobuf.CodedOutputStream
10494 .computeBoolSize(120, addMirCuts_);
10496 if (((bitField6_ & 0x00001000) != 0)) {
10497 size += com.google.protobuf.CodedOutputStream
10498 .computeInt32Size(121, maxConsecutiveInactiveCount_);
10500 if (((bitField6_ & 0x00010000) != 0)) {
10501 size += com.google.protobuf.CodedOutputStream
10502 .computeInt32Size(122, newConstraintsBatchSize_);
10504 if (((bitField4_ & 0x00000008) != 0)) {
10505 size += com.google.protobuf.CodedOutputStream
10506 .computeInt64Size(123, pseudoCostReliabilityThreshold_);
10508 if (((bitField6_ & 0x00800000) != 0)) {
10509 size += com.google.protobuf.CodedOutputStream
10510 .computeDoubleSize(124, mipMaxBound_);
10512 if (((bitField6_ & 0x01000000) != 0)) {
10513 size += com.google.protobuf.CodedOutputStream
10514 .computeDoubleSize(125, mipVarScaling_);
10516 if (((bitField6_ & 0x10000000) != 0)) {
10517 size += com.google.protobuf.CodedOutputStream
10518 .computeDoubleSize(126, mipWantedPrecision_);
10520 if (((bitField6_ & 0x20000000) != 0)) {
10521 size += com.google.protobuf.CodedOutputStream
10522 .computeInt32Size(127, mipMaxActivityExponent_);
10524 if (((bitField6_ & 0x40000000) != 0)) {
10525 size += com.google.protobuf.CodedOutputStream
10526 .computeDoubleSize(128, mipCheckPrecision_);
10528 if (((bitField5_ & 0x00000010) != 0)) {
10529 size += com.google.protobuf.CodedOutputStream
10530 .computeBoolSize(129, useRinsLns_);
10532 if (((bitField6_ & 0x00080000) != 0)) {
10533 size += com.google.protobuf.CodedOutputStream
10534 .computeBoolSize(130, exploitBestSolution_);
10536 if (((bitField6_ & 0x00200000) != 0)) {
10537 size += com.google.protobuf.CodedOutputStream
10538 .computeBoolSize(131, exploitObjective_);
10540 if (((bitField4_ & 0x08000000) != 0)) {
10541 size += com.google.protobuf.CodedOutputStream
10542 .computeBoolSize(132, fillTightenedDomainsInResponse_);
10544 if (((bitField5_ & 0x00004000) != 0)) {
10545 size += com.google.protobuf.CodedOutputStream
10546 .computeBoolSize(133, useCombinedNoOverlap_);
10548 if (((bitField2_ & 0x02000000) != 0)) {
10549 size += com.google.protobuf.CodedOutputStream
10550 .computeInt32Size(134, interleaveBatchSize_);
10552 if (((bitField5_ & 0x00010000) != 0)) {
10553 size += com.google.protobuf.CodedOutputStream
10554 .computeBoolSize(135, catchSigintSignal_);
10556 if (((bitField2_ & 0x01000000) != 0)) {
10557 size += com.google.protobuf.CodedOutputStream
10558 .computeBoolSize(136, interleaveSearch_);
10560 if (((bitField5_ & 0x00000100) != 0)) {
10561 size += com.google.protobuf.CodedOutputStream
10562 .computeBoolSize(137, diversifyLnsParams_);
10564 if (((bitField1_ & 0x80000000) != 0)) {
10565 size += com.google.protobuf.CodedOutputStream
10566 .computeInt32Size(138, maxPresolveIterations_);
10568 if (((bitField5_ & 0x00020000) != 0)) {
10569 size += com.google.protobuf.CodedOutputStream
10570 .computeBoolSize(144, useImpliedBounds_);
10572 if (((bitField2_ & 0x00000200) != 0)) {
10573 size += com.google.protobuf.CodedOutputStream
10574 .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
10576 if (((bitField2_ & 0x00000400) != 0)) {
10577 size += com.google.protobuf.CodedOutputStream
10578 .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
10580 if (((bitField2_ & 0x00000800) != 0)) {
10581 size += com.google.protobuf.CodedOutputStream
10582 .computeInt32Size(147, presolveSubstitutionLevel_);
10584 if (((bitField6_ & 0x00000020) != 0)) {
10585 size += com.google.protobuf.CodedOutputStream
10586 .computeInt32Size(148, maxAllDiffCutSize_);
10588 if (((bitField5_ & 0x00000001) != 0)) {
10589 size += com.google.protobuf.CodedOutputStream
10590 .computeBoolSize(149, stopAfterPresolve_);
10592 if (((bitField2_ & 0x40000000) != 0)) {
10593 size += com.google.protobuf.CodedOutputStream
10594 .computeInt32Size(151, debugMaxNumPresolveOperations_);
10596 if (((bitField6_ & 0x00000040) != 0)) {
10597 size += com.google.protobuf.CodedOutputStream
10598 .computeBoolSize(152, addLinMaxCuts_);
10600 if (((bitField3_ & 0x02000000) != 0)) {
10601 size += com.google.protobuf.CodedOutputStream
10602 .computeInt32Size(153, hintConflictLimit_);
10604 if (((bitField6_ & 0x00000800) != 0)) {
10605 size += com.google.protobuf.CodedOutputStream
10606 .computeInt32Size(154, maxCutRoundsAtLevelZero_);
10608 if (((bitField6_ & 0x00002000) != 0)) {
10609 size += com.google.protobuf.CodedOutputStream
10610 .computeDoubleSize(155, cutMaxActiveCountValue_);
10612 if (((bitField6_ & 0x00004000) != 0)) {
10613 size += com.google.protobuf.CodedOutputStream
10614 .computeDoubleSize(156, cutActiveCountDecay_);
10616 if (((bitField6_ & 0x00008000) != 0)) {
10617 size += com.google.protobuf.CodedOutputStream
10618 .computeInt32Size(157, cutCleanupTarget_);
10620 if (((bitField1_ & 0x00000400) != 0)) {
10621 size += com.google.protobuf.CodedOutputStream
10622 .computeDoubleSize(159, absoluteGapLimit_);
10624 if (((bitField1_ & 0x00000800) != 0)) {
10625 size += com.google.protobuf.CodedOutputStream
10626 .computeDoubleSize(160, relativeGapLimit_);
10628 if (((bitField6_ & 0x00100000) != 0)) {
10629 size += com.google.protobuf.CodedOutputStream
10630 .computeBoolSize(161, exploitRelaxationSolution_);
10632 if (((bitField2_ & 0x20000000) != 0)) {
10633 size += com.google.protobuf.CodedOutputStream
10634 .computeBoolSize(162, debugPostsolveWithFullSolver_);
10636 if (((bitField2_ & 0x00020000) != 0)) {
10637 size += com.google.protobuf.CodedOutputStream
10638 .computeBoolSize(163, useSatInprocessing_);
10640 if (((bitField5_ & 0x00000020) != 0)) {
10641 size += com.google.protobuf.CodedOutputStream
10642 .computeBoolSize(164, useFeasibilityPump_);
10644 if (((bitField5_ & 0x00000080) != 0)) {
10645 size += com.google.protobuf.CodedOutputStream
10646 .computeEnumSize(165, fpRounding_);
10648 if (((bitField6_ & 0x04000000) != 0)) {
10649 size += com.google.protobuf.CodedOutputStream
10650 .computeBoolSize(166, mipAutomaticallyScaleVariables_);
10652 if (((bitField3_ & 0x04000000) != 0)) {
10653 size += com.google.protobuf.CodedOutputStream
10654 .computeBoolSize(167, repairHint_);
10656 if (((bitField0_ & 0x00000010) != 0)) {
10657 size += com.google.protobuf.CodedOutputStream
10658 .computeInt32Size(168, polarityRephaseIncrement_);
10660 if (((bitField6_ & 0x00000004) != 0)) {
10661 size += com.google.protobuf.CodedOutputStream
10662 .computeBoolSize(169, addZeroHalfCuts_);
10664 if (((bitField2_ & 0x00000020) != 0)) {
10665 size += com.google.protobuf.CodedOutputStream
10666 .computeBoolSize(170, expandAlldiffConstraints_);
10668 if (((bitField0_ & 0x00000001) != 0)) {
10669 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
10671 if (((bitField6_ & 0x00000008) != 0)) {
10672 size += com.google.protobuf.CodedOutputStream
10673 .computeBoolSize(172, addCliqueCuts_);
10675 if (((bitField4_ & 0x04000000) != 0)) {
10676 size += com.google.protobuf.CodedOutputStream
10677 .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
10679 if (((bitField2_ & 0x00001000) != 0)) {
10680 size += com.google.protobuf.CodedOutputStream
10681 .computeBoolSize(174, presolveExtractIntegerEnforcement_);
10683 if (((bitField5_ & 0x00040000) != 0)) {
10684 size += com.google.protobuf.CodedOutputStream
10685 .computeBoolSize(175, polishLpSolution_);
10687 if (((bitField3_ & 0x10000000) != 0)) {
10688 size += com.google.protobuf.CodedOutputStream
10689 .computeBoolSize(176, useProbingSearch_);
10691 if (((bitField5_ & 0x00200000) != 0)) {
10692 size += com.google.protobuf.CodedOutputStream
10693 .computeBoolSize(177, convertIntervals_);
10695 if (((bitField1_ & 0x00002000) != 0)) {
10696 size += com.google.protobuf.CodedOutputStream
10697 .computeBoolSize(178, permuteVariableRandomly_);
10699 if (((bitField1_ & 0x00004000) != 0)) {
10700 size += com.google.protobuf.CodedOutputStream
10701 .computeBoolSize(179, permutePresolveConstraintOrder_);
10703 if (((bitField1_ & 0x00008000) != 0)) {
10704 size += com.google.protobuf.CodedOutputStream
10705 .computeBoolSize(180, useAbslRandom_);
10707 if (((bitField2_ & 0x00000080) != 0)) {
10708 size += com.google.protobuf.CodedOutputStream
10709 .computeBoolSize(181, disableConstraintExpansion_);
10711 if (((bitField2_ & 0x00000040) != 0)) {
10712 size += com.google.protobuf.CodedOutputStream
10713 .computeBoolSize(182, expandReservoirConstraints_);
10715 if (((bitField5_ & 0x00400000) != 0)) {
10716 size += com.google.protobuf.CodedOutputStream
10717 .computeInt32Size(183, symmetryLevel_);
10719 if (((bitField1_ & 0x00040000) != 0)) {
10720 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(185, logPrefix_);
10722 if (((bitField1_ & 0x00080000) != 0)) {
10723 size += com.google.protobuf.CodedOutputStream
10724 .computeBoolSize(186, logToStdout_);
10726 if (((bitField1_ & 0x00100000) != 0)) {
10727 size += com.google.protobuf.CodedOutputStream
10728 .computeBoolSize(187, logToResponse_);
10730 if (((bitField4_ & 0x00000020) != 0)) {
10731 size += com.google.protobuf.CodedOutputStream
10732 .computeBoolSize(188, optimizeWithLbTreeSearch_);
10734 if (((bitField1_ & 0x00020000) != 0)) {
10735 size += com.google.protobuf.CodedOutputStream
10736 .computeBoolSize(189, logSubsolverStatistics_);
10738 if (((bitField0_ & 0x00008000) != 0)) {
10739 size += com.google.protobuf.CodedOutputStream
10740 .computeDoubleSize(190, clauseCleanupRatio_);
10742 if (((bitField5_ & 0x08000000) != 0)) {
10743 size += com.google.protobuf.CodedOutputStream
10744 .computeInt32Size(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
10746 if (((bitField3_ & 0x08000000) != 0)) {
10747 size += com.google.protobuf.CodedOutputStream
10748 .computeBoolSize(192, fixVariablesToTheirHintedValue_);
10750 if (((bitField5_ & 0x00000008) != 0)) {
10751 size += com.google.protobuf.CodedOutputStream
10752 .computeInt32Size(193, solutionPoolSize_);
10754 if (((bitField4_ & 0x10000000) != 0)) {
10755 size += com.google.protobuf.CodedOutputStream
10756 .computeBoolSize(194, fillAdditionalSolutionsInResponse_);
10758 if (((bitField2_ & 0x80000000) != 0)) {
10759 size += com.google.protobuf.CodedOutputStream
10760 .computeBoolSize(195, debugCrashOnBadHint_);
10762 if (((bitField5_ & 0x20000000) != 0)) {
10763 size += com.google.protobuf.CodedOutputStream
10764 .computeInt32Size(196, cutLevel_);
10766 if (((bitField5_ & 0x80000000) != 0)) {
10767 size += com.google.protobuf.CodedOutputStream
10768 .computeBoolSize(197, addObjectiveCut_);
10770 if (((bitField6_ & 0x80000000) != 0)) {
10771 size += com.google.protobuf.CodedOutputStream
10772 .computeBoolSize(198, mipComputeTrueObjectiveBound_);
10774 if (((bitField7_ & 0x00000001) != 0)) {
10775 size += com.google.protobuf.CodedOutputStream
10776 .computeDoubleSize(199, mipMaxValidMagnitude_);
10778 if (((bitField3_ & 0x00080000) != 0)) {
10779 size += com.google.protobuf.CodedOutputStream
10780 .computeBoolSize(200, useTimetablingInNoOverlap2D_);
10782 if (((bitField2_ & 0x00002000) != 0)) {
10783 size += com.google.protobuf.CodedOutputStream
10784 .computeInt64Size(201, presolveInclusionWorkLimit_);
10786 if (((bitField2_ & 0x00004000) != 0)) {
10787 size += com.google.protobuf.CodedOutputStream
10788 .computeBoolSize(202, ignoreNames_);
10790 if (((bitField2_ & 0x10000000) != 0)) {
10791 size += com.google.protobuf.CodedOutputStream
10792 .computeBoolSize(203, shareBinaryClauses_);
10794 if (((bitField3_ & 0x80000000) != 0)) {
10795 size += com.google.protobuf.CodedOutputStream
10796 .computeBoolSize(204, useShavingInProbingSearch_);
10798 if (((bitField4_ & 0x00000001) != 0)) {
10799 size += com.google.protobuf.CodedOutputStream
10800 .computeDoubleSize(205, shavingSearchDeterministicTime_);
10802 if (((bitField2_ & 0x00200000) != 0)) {
10803 size += com.google.protobuf.CodedOutputStream
10804 .computeInt32Size(206, numWorkers_);
10808 for (
int i = 0; i < subsolvers_.size(); i++) {
10809 dataSize += computeStringSizeNoTag(subsolvers_.getRaw(i));
10816 for (
int i = 0; i < ignoreSubsolvers_.size(); i++) {
10817 dataSize += computeStringSizeNoTag(ignoreSubsolvers_.getRaw(i));
10822 for (
int i = 0; i < subsolverParams_.size(); i++) {
10823 size += com.google.protobuf.CodedOutputStream
10824 .computeMessageSize(210, subsolverParams_.get(i));
10826 if (((bitField2_ & 0x00800000) != 0)) {
10827 size += com.google.protobuf.CodedOutputStream
10828 .computeInt32Size(211, minNumLnsWorkers_);
10830 if (((bitField3_ & 0x00100000) != 0)) {
10831 size += com.google.protobuf.CodedOutputStream
10832 .computeBoolSize(213, useEnergeticReasoningInNoOverlap2D_);
10834 if (((bitField3_ & 0x00800000) != 0)) {
10835 size += com.google.protobuf.CodedOutputStream
10836 .computeBoolSize(214, useDualSchedulingHeuristics_);
10838 if (((bitField3_ & 0x00010000) != 0)) {
10839 size += com.google.protobuf.CodedOutputStream
10840 .computeBoolSize(215, useHardPrecedencesInCumulative_);
10842 if (((bitField2_ & 0x00000008) != 0)) {
10843 size += com.google.protobuf.CodedOutputStream
10844 .computeBoolSize(216, detectTableWithCost_);
10846 if (((bitField2_ & 0x00000010) != 0)) {
10847 size += com.google.protobuf.CodedOutputStream
10848 .computeInt32Size(217, tableCompressionLevel_);
10852 for (
int i = 0; i < extraSubsolvers_.size(); i++) {
10853 dataSize += computeStringSizeNoTag(extraSubsolvers_.getRaw(i));
10858 if (((bitField3_ & 0x00020000) != 0)) {
10859 size += com.google.protobuf.CodedOutputStream
10860 .computeBoolSize(220, exploitAllPrecedences_);
10862 if (((bitField3_ & 0x00000080) != 0)) {
10863 size += com.google.protobuf.CodedOutputStream
10864 .computeDoubleSize(221, propagationLoopDetectionFactor_);
10866 if (((bitField6_ & 0x08000000) != 0)) {
10867 size += com.google.protobuf.CodedOutputStream
10868 .computeBoolSize(222, onlySolveIp_);
10870 if (((bitField2_ & 0x00000100) != 0)) {
10871 size += com.google.protobuf.CodedOutputStream
10872 .computeBoolSize(223, encodeComplexLinearConstraintWithInteger_);
10874 if (((bitField5_ & 0x00800000) != 0)) {
10875 size += com.google.protobuf.CodedOutputStream
10876 .computeBoolSize(224, newLinearPropagation_);
10878 if (((bitField6_ & 0x02000000) != 0)) {
10879 size += com.google.protobuf.CodedOutputStream
10880 .computeBoolSize(225, mipScaleLargeDomain_);
10882 if (((bitField1_ & 0x04000000) != 0)) {
10883 size += com.google.protobuf.CodedOutputStream
10884 .computeDoubleSize(226, probingDeterministicTimeLimit_);
10886 if (((bitField6_ & 0x00000200) != 0)) {
10887 size += com.google.protobuf.CodedOutputStream
10888 .computeInt32Size(227, rootLpIterations_);
10890 if (((bitField4_ & 0x00000002) != 0)) {
10891 size += com.google.protobuf.CodedOutputStream
10892 .computeBoolSize(228, useObjectiveLbSearch_);
10894 if (((bitField3_ & 0x00000200) != 0)) {
10895 size += com.google.protobuf.CodedOutputStream
10896 .computeInt32Size(229, maxSizeToCreatePrecedenceLiteralsInDisjunctive_);
10898 if (((bitField3_ & 0x00000400) != 0)) {
10899 size += com.google.protobuf.CodedOutputStream
10900 .computeBoolSize(230, useStrongPropagationInDisjunctive_);
10902 if (((bitField7_ & 0x00000004) != 0)) {
10903 size += com.google.protobuf.CodedOutputStream
10904 .computeDoubleSize(232, mipDropTolerance_);
10906 if (((bitField2_ & 0x00008000) != 0)) {
10907 size += com.google.protobuf.CodedOutputStream
10908 .computeBoolSize(233, inferAllDiffs_);
10910 if (((bitField2_ & 0x00010000) != 0)) {
10911 size += com.google.protobuf.CodedOutputStream
10912 .computeBoolSize(234, findBigLinearOverlap_);
10914 if (((bitField4_ & 0x00100000) != 0)) {
10915 size += com.google.protobuf.CodedOutputStream
10916 .computeInt32Size(235, sharedTreeNumWorkers_);
10918 if (((bitField4_ & 0x00200000) != 0)) {
10919 size += com.google.protobuf.CodedOutputStream
10920 .computeBoolSize(236, useSharedTreeSearch_);
10922 if (((bitField4_ & 0x00400000) != 0)) {
10923 size += com.google.protobuf.CodedOutputStream
10924 .computeDoubleSize(237, sharedTreeWorkerObjectiveSplitProbability_);
10926 if (((bitField4_ & 0x00800000) != 0)) {
10927 size += com.google.protobuf.CodedOutputStream
10928 .computeInt32Size(238, sharedTreeMaxNodesPerWorker_);
10930 if (((bitField4_ & 0x01000000) != 0)) {
10931 size += com.google.protobuf.CodedOutputStream
10932 .computeEnumSize(239, sharedTreeSplitStrategy_);
10934 if (((bitField4_ & 0x00000200) != 0)) {
10935 size += com.google.protobuf.CodedOutputStream
10936 .computeBoolSize(240, testFeasibilityJump_);
10938 if (((bitField4_ & 0x00000400) != 0)) {
10939 size += com.google.protobuf.CodedOutputStream
10940 .computeDoubleSize(242, feasibilityJumpDecay_);
10942 if (((bitField4_ & 0x00020000) != 0)) {
10943 size += com.google.protobuf.CodedOutputStream
10944 .computeInt32Size(244, numViolationLs_);
10946 if (((bitField4_ & 0x00002000) != 0)) {
10947 size += com.google.protobuf.CodedOutputStream
10948 .computeDoubleSize(247, feasibilityJumpVarRandomizationProbability_);
10950 if (((bitField4_ & 0x00004000) != 0)) {
10951 size += com.google.protobuf.CodedOutputStream
10952 .computeDoubleSize(248, feasibilityJumpVarPerburbationRangeRatio_);
10954 if (((bitField4_ & 0x00040000) != 0)) {
10955 size += com.google.protobuf.CodedOutputStream
10956 .computeInt32Size(249, violationLsPerturbationPeriod_);
10958 if (((bitField4_ & 0x00008000) != 0)) {
10959 size += com.google.protobuf.CodedOutputStream
10960 .computeBoolSize(250, feasibilityJumpEnableRestarts_);
10962 if (((bitField5_ & 0x00000002) != 0)) {
10963 size += com.google.protobuf.CodedOutputStream
10964 .computeBoolSize(252, stopAfterRootPropagation_);
10966 if (((bitField4_ & 0x00000004) != 0)) {
10967 size += com.google.protobuf.CodedOutputStream
10968 .computeBoolSize(253, useObjectiveShavingSearch_);
10970 if (((bitField5_ & 0x00000040) != 0)) {
10971 size += com.google.protobuf.CodedOutputStream
10972 .computeBoolSize(255, useLbRelaxLns_);
10974 if (((bitField5_ & 0x01000000) != 0)) {
10975 size += com.google.protobuf.CodedOutputStream
10976 .computeInt32Size(256, linearSplitSize_);
10978 if (((bitField4_ & 0x00000800) != 0)) {
10979 size += com.google.protobuf.CodedOutputStream
10980 .computeInt32Size(257, feasibilityJumpLinearizationLevel_);
10982 if (((bitField4_ & 0x00001000) != 0)) {
10983 size += com.google.protobuf.CodedOutputStream
10984 .computeInt32Size(258, feasibilityJumpRestartFactor_);
10986 if (((bitField4_ & 0x00080000) != 0)) {
10987 size += com.google.protobuf.CodedOutputStream
10988 .computeDoubleSize(259, violationLsCompoundMoveProbability_);
10990 if (((bitField3_ & 0x00008000) != 0)) {
10991 size += com.google.protobuf.CodedOutputStream
10992 .computeInt32Size(260, maxNumIntervalsForTimetableEdgeFinding_);
10994 if (((bitField7_ & 0x00000008) != 0)) {
10995 size += com.google.protobuf.CodedOutputStream
10996 .computeInt32Size(261, mipPresolveLevel_);
10998 if (((bitField5_ & 0x00000800) != 0)) {
10999 size += com.google.protobuf.CodedOutputStream
11000 .computeBoolSize(262, pushAllTasksTowardStart_);
11002 if (((bitField3_ & 0x00000800) != 0)) {
11003 size += com.google.protobuf.CodedOutputStream
11004 .computeBoolSize(263, useDynamicPrecedenceInDisjunctive_);
11006 if (((bitField4_ & 0x00010000) != 0)) {
11007 size += com.google.protobuf.CodedOutputStream
11008 .computeInt32Size(264, feasibilityJumpMaxExpandedConstraintSize_);
11010 if (((bitField4_ & 0x00000100) != 0)) {
11011 size += com.google.protobuf.CodedOutputStream
11012 .computeBoolSize(265, useFeasibilityJump_);
11014 if (((bitField5_ & 0x00080000) != 0)) {
11015 size += com.google.protobuf.CodedOutputStream
11016 .computeDoubleSize(266, lpPrimalTolerance_);
11018 if (((bitField5_ & 0x00100000) != 0)) {
11019 size += com.google.protobuf.CodedOutputStream
11020 .computeDoubleSize(267, lpDualTolerance_);
11022 if (((bitField3_ & 0x00001000) != 0)) {
11023 size += com.google.protobuf.CodedOutputStream
11024 .computeBoolSize(268, useDynamicPrecedenceInCumulative_);
11026 if (((bitField3_ & 0x20000000) != 0)) {
11027 size += com.google.protobuf.CodedOutputStream
11028 .computeBoolSize(269, useExtendedProbing_);
11030 if (((bitField5_ & 0x00008000) != 0)) {
11031 size += com.google.protobuf.CodedOutputStream
11032 .computeInt32Size(270, atMostOneMaxExpansionSize_);
11034 if (((bitField3_ & 0x00200000) != 0)) {
11035 size += com.google.protobuf.CodedOutputStream
11036 .computeBoolSize(271, useAreaEnergeticReasoningInNoOverlap2D_);
11038 if (((bitField3_ & 0x40000000) != 0)) {
11039 size += com.google.protobuf.CodedOutputStream
11040 .computeInt32Size(272, probingNumCombinationsLimit_);
11042 if (((bitField2_ & 0x00040000) != 0)) {
11043 size += com.google.protobuf.CodedOutputStream
11044 .computeDoubleSize(273, inprocessingDtimeRatio_);
11046 if (((bitField2_ & 0x00080000) != 0)) {
11047 size += com.google.protobuf.CodedOutputStream
11048 .computeDoubleSize(274, inprocessingProbingDtime_);
11050 if (((bitField2_ & 0x00100000) != 0)) {
11051 size += com.google.protobuf.CodedOutputStream
11052 .computeDoubleSize(275, inprocessingMinimizationDtime_);
11054 if (((bitField3_ & 0x00400000) != 0)) {
11055 size += com.google.protobuf.CodedOutputStream
11056 .computeInt32Size(276, maxPairsPairwiseReasoningInNoOverlap2D_);
11058 if (((bitField6_ & 0x00400000) != 0)) {
11059 size += com.google.protobuf.CodedOutputStream
11060 .computeBoolSize(277, detectLinearizedProduct_);
11062 if (((bitField7_ & 0x00000002) != 0)) {
11063 size += com.google.protobuf.CodedOutputStream
11064 .computeBoolSize(278, mipTreatHighMagnitudeBoundsAsInfinity_);
11066 if (((bitField6_ & 0x00000010) != 0)) {
11067 size += com.google.protobuf.CodedOutputStream
11068 .computeBoolSize(279, addRltCuts_);
11070 size += getUnknownFields().getSerializedSize();
11071 memoizedSize = size;
11075 @java.lang.Override
11076 public boolean equals(
final java.lang.Object obj) {
11080 if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
11081 return super.equals(obj);
11088 .equals(other.
getName()))
return false;
11092 if (preferredVariableOrder_ != other.preferredVariableOrder_)
return false;
11096 if (initialPolarity_ != other.initialPolarity_)
return false;
11111 != java.lang.Double.doubleToLongBits(
11117 != java.lang.Double.doubleToLongBits(
11128 != java.lang.Double.doubleToLongBits(
11138 if (minimizationAlgorithm_ != other.minimizationAlgorithm_)
return false;
11142 if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_)
return false;
11162 != java.lang.Double.doubleToLongBits(
11167 if (clauseCleanupProtection_ != other.clauseCleanupProtection_)
return false;
11176 if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_)
return false;
11186 != java.lang.Double.doubleToLongBits(
11192 != java.lang.Double.doubleToLongBits(
11198 != java.lang.Double.doubleToLongBits(
11204 != java.lang.Double.doubleToLongBits(
11210 != java.lang.Double.doubleToLongBits(
11221 != java.lang.Double.doubleToLongBits(
11227 != java.lang.Double.doubleToLongBits(
11230 if (!restartAlgorithms_.equals(other.restartAlgorithms_))
return false;
11249 != java.lang.Double.doubleToLongBits(
11255 != java.lang.Double.doubleToLongBits(
11271 != java.lang.Double.doubleToLongBits(
11282 != java.lang.Double.doubleToLongBits(
11288 != java.lang.Double.doubleToLongBits(
11294 != java.lang.Double.doubleToLongBits(
11310 != java.lang.Double.doubleToLongBits(
11316 != java.lang.Double.doubleToLongBits(
11392 != java.lang.Double.doubleToLongBits(
11398 != java.lang.Double.doubleToLongBits(
11469 != java.lang.Double.doubleToLongBits(
11475 != java.lang.Double.doubleToLongBits(
11516 != java.lang.Double.doubleToLongBits(
11522 != java.lang.Double.doubleToLongBits(
11528 != java.lang.Double.doubleToLongBits(
11616 if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_)
return false;
11625 if (maxSatStratification_ != other.maxSatStratification_)
return false;
11630 != java.lang.Double.doubleToLongBits(
11715 if (searchBranching_ != other.searchBranching_)
return false;
11755 != java.lang.Double.doubleToLongBits(
11806 != java.lang.Double.doubleToLongBits(
11822 != java.lang.Double.doubleToLongBits(
11828 != java.lang.Double.doubleToLongBits(
11854 != java.lang.Double.doubleToLongBits(
11870 != java.lang.Double.doubleToLongBits(
11880 if (sharedTreeSplitStrategy_ != other.sharedTreeSplitStrategy_)
return false;
11954 if (fpRounding_ != other.fpRounding_)
return false;
12014 != java.lang.Double.doubleToLongBits(
12020 != java.lang.Double.doubleToLongBits(
12131 != java.lang.Double.doubleToLongBits(
12147 != java.lang.Double.doubleToLongBits(
12153 != java.lang.Double.doubleToLongBits(
12199 != java.lang.Double.doubleToLongBits(
12205 != java.lang.Double.doubleToLongBits(
12226 != java.lang.Double.doubleToLongBits(
12237 != java.lang.Double.doubleToLongBits(
12248 != java.lang.Double.doubleToLongBits(
12259 != java.lang.Double.doubleToLongBits(
12267 if (!getUnknownFields().equals(other.getUnknownFields()))
return false;
12271 @java.lang.Override
12273 if (memoizedHashCode != 0) {
12274 return memoizedHashCode;
12280 hash = (53 * hash) +
getName().hashCode();
12284 hash = (53 * hash) + preferredVariableOrder_;
12288 hash = (53 * hash) + initialPolarity_;
12292 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12301 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12306 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12311 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12316 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12321 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12326 hash = (53 * hash) + minimizationAlgorithm_;
12330 hash = (53 * hash) + binaryMinimizationAlgorithm_;
12334 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12347 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12352 hash = (53 * hash) + clauseCleanupProtection_;
12360 hash = (53 * hash) + clauseCleanupOrdering_;
12368 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12373 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12378 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12383 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12388 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12397 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12402 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12407 hash = (53 * hash) + restartAlgorithms_.hashCode();
12423 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12428 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12433 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12442 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12451 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12456 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12461 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12466 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12471 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12476 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12481 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12490 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12495 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12500 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12505 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12510 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12519 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12524 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12529 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12534 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12539 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12552 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12557 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12562 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12567 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12580 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12589 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12594 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12603 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12608 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12613 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12618 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12623 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12628 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12637 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12642 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12647 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12652 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12657 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12662 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12667 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12672 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12677 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12710 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12719 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12724 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12729 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12734 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12743 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12748 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12757 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12762 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12767 hash = (53 * hash) + maxSatAssumptionOrder_;
12771 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12776 hash = (53 * hash) + maxSatStratification_;
12780 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12785 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12794 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12799 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12804 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12809 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12814 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12823 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12828 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12833 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12838 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12843 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12848 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12857 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12862 hash = (53 * hash) + searchBranching_;
12870 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12875 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12880 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12885 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12894 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12899 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12904 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12909 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12914 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12919 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12924 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12933 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12938 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12943 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12948 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12961 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12966 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12971 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12988 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12997 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13002 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13011 hash = (53 * hash) + sharedTreeSplitStrategy_;
13015 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13020 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13025 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13030 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13035 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13040 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13045 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13050 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13055 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13060 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13069 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13074 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13079 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13084 hash = (53 * hash) + fpRounding_;
13088 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13093 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13098 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13103 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13108 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13113 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13118 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13127 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13132 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13137 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13142 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13147 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13152 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13161 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13190 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13195 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13200 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13205 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13210 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13215 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13220 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13229 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13238 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13247 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13260 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13265 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13278 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13283 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13288 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13293 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13298 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13303 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13308 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13313 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13318 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13323 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13328 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13333 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13342 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13347 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13352 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13357 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
13362 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
13369 hash = (29 * hash) + getUnknownFields().hashCode();
13370 memoizedHashCode = hash;
13375 java.nio.ByteBuffer data)
13376 throws com.google.protobuf.InvalidProtocolBufferException {
13380 java.nio.ByteBuffer data,
13381 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13382 throws com.google.protobuf.InvalidProtocolBufferException {
13386 com.google.protobuf.ByteString data)
13387 throws com.google.protobuf.InvalidProtocolBufferException {
13391 com.google.protobuf.ByteString data,
13392 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13393 throws com.google.protobuf.InvalidProtocolBufferException {
13397 throws com.google.protobuf.InvalidProtocolBufferException {
13402 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13403 throws com.google.protobuf.InvalidProtocolBufferException {
13407 throws java.io.IOException {
13408 return com.google.protobuf.GeneratedMessageV3
13409 .parseWithIOException(
PARSER, input);
13412 java.io.InputStream input,
13413 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13414 throws java.io.IOException {
13415 return com.google.protobuf.GeneratedMessageV3
13416 .parseWithIOException(
PARSER, input, extensionRegistry);
13420 throws java.io.IOException {
13421 return com.google.protobuf.GeneratedMessageV3
13422 .parseDelimitedWithIOException(
PARSER, input);
13426 java.io.InputStream input,
13427 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13428 throws java.io.IOException {
13429 return com.google.protobuf.GeneratedMessageV3
13430 .parseDelimitedWithIOException(
PARSER, input, extensionRegistry);
13433 com.google.protobuf.CodedInputStream input)
13434 throws java.io.IOException {
13435 return com.google.protobuf.GeneratedMessageV3
13436 .parseWithIOException(
PARSER, input);
13439 com.google.protobuf.CodedInputStream input,
13440 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13441 throws java.io.IOException {
13442 return com.google.protobuf.GeneratedMessageV3
13443 .parseWithIOException(
PARSER, input, extensionRegistry);
13446 @java.lang.Override
13454 @java.lang.Override
13456 return this == DEFAULT_INSTANCE
13460 @java.lang.Override
13462 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
13477 com.google.protobuf.GeneratedMessageV3.
Builder<Builder> implements
13480 public static final com.google.protobuf.Descriptors.Descriptor
13482 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
13485 @java.lang.Override
13486 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
13488 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
13489 .ensureFieldAccessorsInitialized(
13490 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
13499 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
13503 @java.lang.Override
13515 preferredVariableOrder_ = 0;
13516 initialPolarity_ = 1;
13517 usePhaseSaving_ =
true;
13518 polarityRephaseIncrement_ = 1000;
13519 randomPolarityRatio_ = 0D;
13520 randomBranchesRatio_ = 0D;
13521 useErwaHeuristic_ =
false;
13522 initialVariablesActivity_ = 0D;
13523 alsoBumpVariablesInConflictReasons_ =
false;
13524 minimizationAlgorithm_ = 2;
13525 binaryMinimizationAlgorithm_ = 1;
13526 subsumptionDuringConflictAnalysis_ =
true;
13527 clauseCleanupPeriod_ = 10000;
13528 clauseCleanupTarget_ = 0;
13529 clauseCleanupRatio_ = 0.5D;
13530 clauseCleanupProtection_ = 0;
13531 clauseCleanupLbdBound_ = 5;
13532 clauseCleanupOrdering_ = 0;
13533 pbCleanupIncrement_ = 200;
13534 pbCleanupRatio_ = 0.5D;
13535 variableActivityDecay_ = 0.8D;
13536 maxVariableActivityValue_ = 1e+100D;
13537 glucoseMaxDecay_ = 0.95D;
13538 glucoseDecayIncrement_ = 0.01D;
13539 glucoseDecayIncrementPeriod_ = 5000;
13540 clauseActivityDecay_ = 0.999D;
13541 maxClauseActivityValue_ = 1e+20D;
13542 restartAlgorithms_ = java.util.Collections.emptyList();
13543 bitField0_ = (bitField0_ & ~0x10000000);
13544 defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
13545 restartPeriod_ = 50;
13546 restartRunningWindowSize_ = 50;
13547 restartDlAverageRatio_ = 1D;
13548 restartLbdAverageRatio_ = 1D;
13549 useBlockingRestart_ =
false;
13550 blockingRestartWindowSize_ = 5000;
13551 blockingRestartMultiplier_ = 1.4D;
13552 numConflictsBeforeStrategyChanges_ = 0;
13553 strategyChangeIncreaseRatio_ = 0D;
13554 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
13555 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
13556 maxNumberOfConflicts_ = 9223372036854775807L;
13557 maxMemoryInMb_ = 10000L;
13558 absoluteGapLimit_ = 0.0001D;
13559 relativeGapLimit_ = 0D;
13561 permuteVariableRandomly_ =
false;
13562 permutePresolveConstraintOrder_ =
false;
13563 useAbslRandom_ =
false;
13564 logSearchProgress_ =
false;
13565 logSubsolverStatistics_ =
false;
13567 logToStdout_ =
true;
13568 logToResponse_ =
false;
13569 usePbResolution_ =
false;
13570 minimizeReductionDuringPbResolution_ =
false;
13571 countAssumptionLevelsInLbd_ =
true;
13572 presolveBveThreshold_ = 500;
13573 presolveBveClauseWeight_ = 3;
13574 probingDeterministicTimeLimit_ = 1D;
13575 presolveProbingDeterministicTimeLimit_ = 30D;
13576 presolveBlockedClause_ =
true;
13577 presolveUseBva_ =
true;
13578 presolveBvaThreshold_ = 1;
13579 maxPresolveIterations_ = 3;
13580 cpModelPresolve_ =
true;
13581 cpModelProbingLevel_ = 2;
13582 cpModelUseSatPresolve_ =
true;
13583 detectTableWithCost_ =
false;
13584 tableCompressionLevel_ = 2;
13585 expandAlldiffConstraints_ =
false;
13586 expandReservoirConstraints_ =
true;
13587 disableConstraintExpansion_ =
false;
13588 encodeComplexLinearConstraintWithInteger_ =
false;
13589 mergeNoOverlapWorkLimit_ = 1000000000000D;
13590 mergeAtMostOneWorkLimit_ = 100000000D;
13591 presolveSubstitutionLevel_ = 1;
13592 presolveExtractIntegerEnforcement_ =
false;
13593 presolveInclusionWorkLimit_ = 100000000L;
13594 ignoreNames_ =
true;
13595 inferAllDiffs_ =
true;
13596 findBigLinearOverlap_ =
true;
13597 useSatInprocessing_ =
true;
13598 inprocessingDtimeRatio_ = 0.2D;
13599 inprocessingProbingDtime_ = 1D;
13600 inprocessingMinimizationDtime_ = 1D;
13602 numSearchWorkers_ = 0;
13603 minNumLnsWorkers_ = 2;
13605 com.google.protobuf.LazyStringArrayList.emptyList();
13607 com.google.protobuf.LazyStringArrayList.emptyList();
13608 ignoreSubsolvers_ =
13609 com.google.protobuf.LazyStringArrayList.emptyList();
13610 if (subsolverParamsBuilder_ ==
null) {
13611 subsolverParams_ = java.util.Collections.emptyList();
13613 subsolverParams_ =
null;
13614 subsolverParamsBuilder_.clear();
13616 bitField2_ = (bitField2_ & ~0x10000000);
13617 interleaveSearch_ =
false;
13618 interleaveBatchSize_ = 0;
13619 shareObjectiveBounds_ =
true;
13620 shareLevelZeroBounds_ =
true;
13621 shareBinaryClauses_ =
true;
13622 debugPostsolveWithFullSolver_ =
false;
13623 debugMaxNumPresolveOperations_ = 0;
13624 debugCrashOnBadHint_ =
false;
13625 useOptimizationHints_ =
true;
13626 coreMinimizationLevel_ = 2;
13627 findMultipleCores_ =
true;
13628 coverOptimization_ =
true;
13629 maxSatAssumptionOrder_ = 0;
13630 maxSatReverseAssumptionOrder_ =
false;
13631 maxSatStratification_ = 1;
13632 propagationLoopDetectionFactor_ = 10D;
13633 usePrecedencesInDisjunctiveConstraint_ =
true;
13634 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
13635 useStrongPropagationInDisjunctive_ =
false;
13636 useDynamicPrecedenceInDisjunctive_ =
false;
13637 useDynamicPrecedenceInCumulative_ =
false;
13638 useOverloadCheckerInCumulative_ =
false;
13639 useTimetableEdgeFindingInCumulative_ =
false;
13640 maxNumIntervalsForTimetableEdgeFinding_ = 100;
13641 useHardPrecedencesInCumulative_ =
false;
13642 exploitAllPrecedences_ =
false;
13643 useDisjunctiveConstraintInCumulative_ =
true;
13644 useTimetablingInNoOverlap2D_ =
false;
13645 useEnergeticReasoningInNoOverlap2D_ =
false;
13646 useAreaEnergeticReasoningInNoOverlap2D_ =
false;
13647 maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
13648 useDualSchedulingHeuristics_ =
true;
13649 searchBranching_ = 0;
13650 hintConflictLimit_ = 10;
13651 repairHint_ =
false;
13652 fixVariablesToTheirHintedValue_ =
false;
13653 useProbingSearch_ =
false;
13654 useExtendedProbing_ =
true;
13655 probingNumCombinationsLimit_ = 20000;
13656 useShavingInProbingSearch_ =
true;
13657 shavingSearchDeterministicTime_ = 0.001D;
13658 useObjectiveLbSearch_ =
false;
13659 useObjectiveShavingSearch_ =
false;
13660 pseudoCostReliabilityThreshold_ = 100L;
13661 optimizeWithCore_ =
false;
13662 optimizeWithLbTreeSearch_ =
false;
13663 binarySearchNumConflicts_ = -1;
13664 optimizeWithMaxHs_ =
false;
13665 useFeasibilityJump_ =
true;
13666 testFeasibilityJump_ =
false;
13667 feasibilityJumpDecay_ = 0.95D;
13668 feasibilityJumpLinearizationLevel_ = 2;
13669 feasibilityJumpRestartFactor_ = 1;
13670 feasibilityJumpVarRandomizationProbability_ = 0D;
13671 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
13672 feasibilityJumpEnableRestarts_ =
true;
13673 feasibilityJumpMaxExpandedConstraintSize_ = 100;
13674 numViolationLs_ = 0;
13675 violationLsPerturbationPeriod_ = 100;
13676 violationLsCompoundMoveProbability_ = 0.5D;
13677 sharedTreeNumWorkers_ = 0;
13678 useSharedTreeSearch_ =
false;
13679 sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
13680 sharedTreeMaxNodesPerWorker_ = 128;
13681 sharedTreeSplitStrategy_ = 0;
13682 enumerateAllSolutions_ =
false;
13683 keepAllFeasibleSolutionsInPresolve_ =
false;
13684 fillTightenedDomainsInResponse_ =
false;
13685 fillAdditionalSolutionsInResponse_ =
false;
13686 instantiateAllVariables_ =
true;
13687 autoDetectGreaterThanAtLeastOneOf_ =
true;
13688 stopAfterFirstSolution_ =
false;
13689 stopAfterPresolve_ =
false;
13690 stopAfterRootPropagation_ =
false;
13691 useLnsOnly_ =
false;
13692 solutionPoolSize_ = 3;
13693 useRinsLns_ =
true;
13694 useFeasibilityPump_ =
true;
13695 useLbRelaxLns_ =
false;
13697 diversifyLnsParams_ =
false;
13698 randomizeSearch_ =
false;
13699 searchRandomVariablePoolSize_ = 0L;
13700 pushAllTasksTowardStart_ =
false;
13701 useOptionalVariables_ =
false;
13702 useExactLpReason_ =
true;
13703 useCombinedNoOverlap_ =
false;
13704 atMostOneMaxExpansionSize_ = 3;
13705 catchSigintSignal_ =
true;
13706 useImpliedBounds_ =
true;
13707 polishLpSolution_ =
false;
13708 lpPrimalTolerance_ = 1e-07D;
13709 lpDualTolerance_ = 1e-07D;
13710 convertIntervals_ =
true;
13711 symmetryLevel_ = 2;
13712 newLinearPropagation_ =
false;
13713 linearSplitSize_ = 100;
13714 linearizationLevel_ = 1;
13715 booleanEncodingLevel_ = 1;
13716 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
13717 maxNumCuts_ = 10000;
13719 onlyAddCutsAtLevelZero_ =
false;
13720 addObjectiveCut_ =
false;
13722 addMirCuts_ =
true;
13723 addZeroHalfCuts_ =
true;
13724 addCliqueCuts_ =
true;
13725 addRltCuts_ =
true;
13726 maxAllDiffCutSize_ = 64;
13727 addLinMaxCuts_ =
true;
13728 maxIntegerRoundingScaling_ = 600;
13729 addLpConstraintsLazily_ =
true;
13730 rootLpIterations_ = 2000;
13731 minOrthogonalityForLpConstraints_ = 0.05D;
13732 maxCutRoundsAtLevelZero_ = 1;
13733 maxConsecutiveInactiveCount_ = 100;
13734 cutMaxActiveCountValue_ = 10000000000D;
13735 cutActiveCountDecay_ = 0.8D;
13736 cutCleanupTarget_ = 1000;
13737 newConstraintsBatchSize_ = 50;
13738 exploitIntegerLpSolution_ =
true;
13739 exploitAllLpSolution_ =
true;
13740 exploitBestSolution_ =
false;
13741 exploitRelaxationSolution_ =
false;
13742 exploitObjective_ =
true;
13743 detectLinearizedProduct_ =
false;
13744 mipMaxBound_ = 10000000D;
13745 mipVarScaling_ = 1D;
13746 mipScaleLargeDomain_ =
false;
13747 mipAutomaticallyScaleVariables_ =
true;
13748 onlySolveIp_ =
false;
13749 mipWantedPrecision_ = 1e-06D;
13750 mipMaxActivityExponent_ = 53;
13751 mipCheckPrecision_ = 0.0001D;
13752 mipComputeTrueObjectiveBound_ =
true;
13753 mipMaxValidMagnitude_ = 1e+20D;
13754 mipTreatHighMagnitudeBoundsAsInfinity_ =
false;
13755 mipDropTolerance_ = 1e-16D;
13756 mipPresolveLevel_ = 2;
13760 @java.lang.Override
13761 public com.google.protobuf.Descriptors.Descriptor
13763 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
13766 @java.lang.Override
13768 return com.google.ortools.sat.SatParameters.getDefaultInstance();
13771 @java.lang.Override
13775 throw newUninitializedMessageException(result);
13780 @java.lang.Override
13783 buildPartialRepeatedFields(result);
13784 if (bitField0_ != 0) { buildPartial0(result); }
13785 if (bitField1_ != 0) { buildPartial1(result); }
13786 if (bitField2_ != 0) { buildPartial2(result); }
13787 if (bitField3_ != 0) { buildPartial3(result); }
13788 if (bitField4_ != 0) { buildPartial4(result); }
13789 if (bitField5_ != 0) { buildPartial5(result); }
13790 if (bitField6_ != 0) { buildPartial6(result); }
13791 if (bitField7_ != 0) { buildPartial7(result); }
13796 private void buildPartialRepeatedFields(com.google.ortools.sat.SatParameters result) {
13797 if (((bitField0_ & 0x10000000) != 0)) {
13798 restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
13799 bitField0_ = (bitField0_ & ~0x10000000);
13801 result.restartAlgorithms_ = restartAlgorithms_;
13802 if (subsolverParamsBuilder_ ==
null) {
13803 if (((bitField2_ & 0x10000000) != 0)) {
13804 subsolverParams_ = java.util.Collections.unmodifiableList(subsolverParams_);
13805 bitField2_ = (bitField2_ & ~0x10000000);
13807 result.subsolverParams_ = subsolverParams_;
13809 result.subsolverParams_ = subsolverParamsBuilder_.build();
13813 private void buildPartial0(com.google.ortools.sat.SatParameters result) {
13814 int from_bitField0_ = bitField0_;
13815 int to_bitField0_ = 0;
13816 if (((from_bitField0_ & 0x00000001) != 0)) {
13817 result.name_ = name_;
13818 to_bitField0_ |= 0x00000001;
13820 if (((from_bitField0_ & 0x00000002) != 0)) {
13821 result.preferredVariableOrder_ = preferredVariableOrder_;
13822 to_bitField0_ |= 0x00000002;
13824 if (((from_bitField0_ & 0x00000004) != 0)) {
13825 result.initialPolarity_ = initialPolarity_;
13826 to_bitField0_ |= 0x00000004;
13828 if (((from_bitField0_ & 0x00000008) != 0)) {
13829 result.usePhaseSaving_ = usePhaseSaving_;
13830 to_bitField0_ |= 0x00000008;
13832 if (((from_bitField0_ & 0x00000010) != 0)) {
13833 result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
13834 to_bitField0_ |= 0x00000010;
13836 if (((from_bitField0_ & 0x00000020) != 0)) {
13837 result.randomPolarityRatio_ = randomPolarityRatio_;
13838 to_bitField0_ |= 0x00000020;
13840 if (((from_bitField0_ & 0x00000040) != 0)) {
13841 result.randomBranchesRatio_ = randomBranchesRatio_;
13842 to_bitField0_ |= 0x00000040;
13844 if (((from_bitField0_ & 0x00000080) != 0)) {
13845 result.useErwaHeuristic_ = useErwaHeuristic_;
13846 to_bitField0_ |= 0x00000080;
13848 if (((from_bitField0_ & 0x00000100) != 0)) {
13849 result.initialVariablesActivity_ = initialVariablesActivity_;
13850 to_bitField0_ |= 0x00000100;
13852 if (((from_bitField0_ & 0x00000200) != 0)) {
13853 result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
13854 to_bitField0_ |= 0x00000200;
13856 if (((from_bitField0_ & 0x00000400) != 0)) {
13857 result.minimizationAlgorithm_ = minimizationAlgorithm_;
13858 to_bitField0_ |= 0x00000400;
13860 if (((from_bitField0_ & 0x00000800) != 0)) {
13861 result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
13862 to_bitField0_ |= 0x00000800;
13864 if (((from_bitField0_ & 0x00001000) != 0)) {
13865 result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
13866 to_bitField0_ |= 0x00001000;
13868 if (((from_bitField0_ & 0x00002000) != 0)) {
13869 result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
13870 to_bitField0_ |= 0x00002000;
13872 if (((from_bitField0_ & 0x00004000) != 0)) {
13873 result.clauseCleanupTarget_ = clauseCleanupTarget_;
13874 to_bitField0_ |= 0x00004000;
13876 if (((from_bitField0_ & 0x00008000) != 0)) {
13877 result.clauseCleanupRatio_ = clauseCleanupRatio_;
13878 to_bitField0_ |= 0x00008000;
13880 if (((from_bitField0_ & 0x00010000) != 0)) {
13881 result.clauseCleanupProtection_ = clauseCleanupProtection_;
13882 to_bitField0_ |= 0x00010000;
13884 if (((from_bitField0_ & 0x00020000) != 0)) {
13885 result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
13886 to_bitField0_ |= 0x00020000;
13888 if (((from_bitField0_ & 0x00040000) != 0)) {
13889 result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
13890 to_bitField0_ |= 0x00040000;
13892 if (((from_bitField0_ & 0x00080000) != 0)) {
13893 result.pbCleanupIncrement_ = pbCleanupIncrement_;
13894 to_bitField0_ |= 0x00080000;
13896 if (((from_bitField0_ & 0x00100000) != 0)) {
13897 result.pbCleanupRatio_ = pbCleanupRatio_;
13898 to_bitField0_ |= 0x00100000;
13900 if (((from_bitField0_ & 0x00200000) != 0)) {
13901 result.variableActivityDecay_ = variableActivityDecay_;
13902 to_bitField0_ |= 0x00200000;
13904 if (((from_bitField0_ & 0x00400000) != 0)) {
13905 result.maxVariableActivityValue_ = maxVariableActivityValue_;
13906 to_bitField0_ |= 0x00400000;
13908 if (((from_bitField0_ & 0x00800000) != 0)) {
13909 result.glucoseMaxDecay_ = glucoseMaxDecay_;
13910 to_bitField0_ |= 0x00800000;
13912 if (((from_bitField0_ & 0x01000000) != 0)) {
13913 result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
13914 to_bitField0_ |= 0x01000000;
13916 if (((from_bitField0_ & 0x02000000) != 0)) {
13917 result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
13918 to_bitField0_ |= 0x02000000;
13920 if (((from_bitField0_ & 0x04000000) != 0)) {
13921 result.clauseActivityDecay_ = clauseActivityDecay_;
13922 to_bitField0_ |= 0x04000000;
13924 if (((from_bitField0_ & 0x08000000) != 0)) {
13925 result.maxClauseActivityValue_ = maxClauseActivityValue_;
13926 to_bitField0_ |= 0x08000000;
13928 if (((from_bitField0_ & 0x20000000) != 0)) {
13929 result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
13930 to_bitField0_ |= 0x10000000;
13932 if (((from_bitField0_ & 0x40000000) != 0)) {
13933 result.restartPeriod_ = restartPeriod_;
13934 to_bitField0_ |= 0x20000000;
13936 if (((from_bitField0_ & 0x80000000) != 0)) {
13937 result.restartRunningWindowSize_ = restartRunningWindowSize_;
13938 to_bitField0_ |= 0x40000000;
13940 result.bitField0_ |= to_bitField0_;
13943 private void buildPartial1(com.google.ortools.sat.SatParameters result) {
13944 int from_bitField1_ = bitField1_;
13945 int to_bitField0_ = 0;
13946 if (((from_bitField1_ & 0x00000001) != 0)) {
13947 result.restartDlAverageRatio_ = restartDlAverageRatio_;
13948 to_bitField0_ |= 0x80000000;
13950 int to_bitField1_ = 0;
13951 if (((from_bitField1_ & 0x00000002) != 0)) {
13952 result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
13953 to_bitField1_ |= 0x00000001;
13955 if (((from_bitField1_ & 0x00000004) != 0)) {
13956 result.useBlockingRestart_ = useBlockingRestart_;
13957 to_bitField1_ |= 0x00000002;
13959 if (((from_bitField1_ & 0x00000008) != 0)) {
13960 result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
13961 to_bitField1_ |= 0x00000004;
13963 if (((from_bitField1_ & 0x00000010) != 0)) {
13964 result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
13965 to_bitField1_ |= 0x00000008;
13967 if (((from_bitField1_ & 0x00000020) != 0)) {
13968 result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
13969 to_bitField1_ |= 0x00000010;
13971 if (((from_bitField1_ & 0x00000040) != 0)) {
13972 result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
13973 to_bitField1_ |= 0x00000020;
13975 if (((from_bitField1_ & 0x00000080) != 0)) {
13976 result.maxTimeInSeconds_ = maxTimeInSeconds_;
13977 to_bitField1_ |= 0x00000040;
13979 if (((from_bitField1_ & 0x00000100) != 0)) {
13980 result.maxDeterministicTime_ = maxDeterministicTime_;
13981 to_bitField1_ |= 0x00000080;
13983 if (((from_bitField1_ & 0x00000200) != 0)) {
13984 result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
13985 to_bitField1_ |= 0x00000100;
13987 if (((from_bitField1_ & 0x00000400) != 0)) {
13988 result.maxMemoryInMb_ = maxMemoryInMb_;
13989 to_bitField1_ |= 0x00000200;
13991 if (((from_bitField1_ & 0x00000800) != 0)) {
13992 result.absoluteGapLimit_ = absoluteGapLimit_;
13993 to_bitField1_ |= 0x00000400;
13995 if (((from_bitField1_ & 0x00001000) != 0)) {
13996 result.relativeGapLimit_ = relativeGapLimit_;
13997 to_bitField1_ |= 0x00000800;
13999 if (((from_bitField1_ & 0x00002000) != 0)) {
14000 result.randomSeed_ = randomSeed_;
14001 to_bitField1_ |= 0x00001000;
14003 if (((from_bitField1_ & 0x00004000) != 0)) {
14004 result.permuteVariableRandomly_ = permuteVariableRandomly_;
14005 to_bitField1_ |= 0x00002000;
14007 if (((from_bitField1_ & 0x00008000) != 0)) {
14008 result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
14009 to_bitField1_ |= 0x00004000;
14011 if (((from_bitField1_ & 0x00010000) != 0)) {
14012 result.useAbslRandom_ = useAbslRandom_;
14013 to_bitField1_ |= 0x00008000;
14015 if (((from_bitField1_ & 0x00020000) != 0)) {
14016 result.logSearchProgress_ = logSearchProgress_;
14017 to_bitField1_ |= 0x00010000;
14019 if (((from_bitField1_ & 0x00040000) != 0)) {
14020 result.logSubsolverStatistics_ = logSubsolverStatistics_;
14021 to_bitField1_ |= 0x00020000;
14023 if (((from_bitField1_ & 0x00080000) != 0)) {
14024 result.logPrefix_ = logPrefix_;
14025 to_bitField1_ |= 0x00040000;
14027 if (((from_bitField1_ & 0x00100000) != 0)) {
14028 result.logToStdout_ = logToStdout_;
14029 to_bitField1_ |= 0x00080000;
14031 if (((from_bitField1_ & 0x00200000) != 0)) {
14032 result.logToResponse_ = logToResponse_;
14033 to_bitField1_ |= 0x00100000;
14035 if (((from_bitField1_ & 0x00400000) != 0)) {
14036 result.usePbResolution_ = usePbResolution_;
14037 to_bitField1_ |= 0x00200000;
14039 if (((from_bitField1_ & 0x00800000) != 0)) {
14040 result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
14041 to_bitField1_ |= 0x00400000;
14043 if (((from_bitField1_ & 0x01000000) != 0)) {
14044 result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
14045 to_bitField1_ |= 0x00800000;
14047 if (((from_bitField1_ & 0x02000000) != 0)) {
14048 result.presolveBveThreshold_ = presolveBveThreshold_;
14049 to_bitField1_ |= 0x01000000;
14051 if (((from_bitField1_ & 0x04000000) != 0)) {
14052 result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
14053 to_bitField1_ |= 0x02000000;
14055 if (((from_bitField1_ & 0x08000000) != 0)) {
14056 result.probingDeterministicTimeLimit_ = probingDeterministicTimeLimit_;
14057 to_bitField1_ |= 0x04000000;
14059 if (((from_bitField1_ & 0x10000000) != 0)) {
14060 result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
14061 to_bitField1_ |= 0x08000000;
14063 if (((from_bitField1_ & 0x20000000) != 0)) {
14064 result.presolveBlockedClause_ = presolveBlockedClause_;
14065 to_bitField1_ |= 0x10000000;
14067 if (((from_bitField1_ & 0x40000000) != 0)) {
14068 result.presolveUseBva_ = presolveUseBva_;
14069 to_bitField1_ |= 0x20000000;
14071 if (((from_bitField1_ & 0x80000000) != 0)) {
14072 result.presolveBvaThreshold_ = presolveBvaThreshold_;
14073 to_bitField1_ |= 0x40000000;
14075 result.bitField0_ |= to_bitField0_;
14076 result.bitField1_ |= to_bitField1_;
14079 private void buildPartial2(com.google.ortools.sat.SatParameters result) {
14080 int from_bitField2_ = bitField2_;
14081 int to_bitField1_ = 0;
14082 if (((from_bitField2_ & 0x00000001) != 0)) {
14083 result.maxPresolveIterations_ = maxPresolveIterations_;
14084 to_bitField1_ |= 0x80000000;
14086 int to_bitField2_ = 0;
14087 if (((from_bitField2_ & 0x00000002) != 0)) {
14088 result.cpModelPresolve_ = cpModelPresolve_;
14089 to_bitField2_ |= 0x00000001;
14091 if (((from_bitField2_ & 0x00000004) != 0)) {
14092 result.cpModelProbingLevel_ = cpModelProbingLevel_;
14093 to_bitField2_ |= 0x00000002;
14095 if (((from_bitField2_ & 0x00000008) != 0)) {
14096 result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
14097 to_bitField2_ |= 0x00000004;
14099 if (((from_bitField2_ & 0x00000010) != 0)) {
14100 result.detectTableWithCost_ = detectTableWithCost_;
14101 to_bitField2_ |= 0x00000008;
14103 if (((from_bitField2_ & 0x00000020) != 0)) {
14104 result.tableCompressionLevel_ = tableCompressionLevel_;
14105 to_bitField2_ |= 0x00000010;
14107 if (((from_bitField2_ & 0x00000040) != 0)) {
14108 result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
14109 to_bitField2_ |= 0x00000020;
14111 if (((from_bitField2_ & 0x00000080) != 0)) {
14112 result.expandReservoirConstraints_ = expandReservoirConstraints_;
14113 to_bitField2_ |= 0x00000040;
14115 if (((from_bitField2_ & 0x00000100) != 0)) {
14116 result.disableConstraintExpansion_ = disableConstraintExpansion_;
14117 to_bitField2_ |= 0x00000080;
14119 if (((from_bitField2_ & 0x00000200) != 0)) {
14120 result.encodeComplexLinearConstraintWithInteger_ = encodeComplexLinearConstraintWithInteger_;
14121 to_bitField2_ |= 0x00000100;
14123 if (((from_bitField2_ & 0x00000400) != 0)) {
14124 result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
14125 to_bitField2_ |= 0x00000200;
14127 if (((from_bitField2_ & 0x00000800) != 0)) {
14128 result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
14129 to_bitField2_ |= 0x00000400;
14131 if (((from_bitField2_ & 0x00001000) != 0)) {
14132 result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
14133 to_bitField2_ |= 0x00000800;
14135 if (((from_bitField2_ & 0x00002000) != 0)) {
14136 result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
14137 to_bitField2_ |= 0x00001000;
14139 if (((from_bitField2_ & 0x00004000) != 0)) {
14140 result.presolveInclusionWorkLimit_ = presolveInclusionWorkLimit_;
14141 to_bitField2_ |= 0x00002000;
14143 if (((from_bitField2_ & 0x00008000) != 0)) {
14144 result.ignoreNames_ = ignoreNames_;
14145 to_bitField2_ |= 0x00004000;
14147 if (((from_bitField2_ & 0x00010000) != 0)) {
14148 result.inferAllDiffs_ = inferAllDiffs_;
14149 to_bitField2_ |= 0x00008000;
14151 if (((from_bitField2_ & 0x00020000) != 0)) {
14152 result.findBigLinearOverlap_ = findBigLinearOverlap_;
14153 to_bitField2_ |= 0x00010000;
14155 if (((from_bitField2_ & 0x00040000) != 0)) {
14156 result.useSatInprocessing_ = useSatInprocessing_;
14157 to_bitField2_ |= 0x00020000;
14159 if (((from_bitField2_ & 0x00080000) != 0)) {
14160 result.inprocessingDtimeRatio_ = inprocessingDtimeRatio_;
14161 to_bitField2_ |= 0x00040000;
14163 if (((from_bitField2_ & 0x00100000) != 0)) {
14164 result.inprocessingProbingDtime_ = inprocessingProbingDtime_;
14165 to_bitField2_ |= 0x00080000;
14167 if (((from_bitField2_ & 0x00200000) != 0)) {
14168 result.inprocessingMinimizationDtime_ = inprocessingMinimizationDtime_;
14169 to_bitField2_ |= 0x00100000;
14171 if (((from_bitField2_ & 0x00400000) != 0)) {
14172 result.numWorkers_ = numWorkers_;
14173 to_bitField2_ |= 0x00200000;
14175 if (((from_bitField2_ & 0x00800000) != 0)) {
14176 result.numSearchWorkers_ = numSearchWorkers_;
14177 to_bitField2_ |= 0x00400000;
14179 if (((from_bitField2_ & 0x01000000) != 0)) {
14180 result.minNumLnsWorkers_ = minNumLnsWorkers_;
14181 to_bitField2_ |= 0x00800000;
14183 if (((from_bitField2_ & 0x02000000) != 0)) {
14184 subsolvers_.makeImmutable();
14185 result.subsolvers_ = subsolvers_;
14187 if (((from_bitField2_ & 0x04000000) != 0)) {
14188 extraSubsolvers_.makeImmutable();
14189 result.extraSubsolvers_ = extraSubsolvers_;
14191 if (((from_bitField2_ & 0x08000000) != 0)) {
14192 ignoreSubsolvers_.makeImmutable();
14193 result.ignoreSubsolvers_ = ignoreSubsolvers_;
14195 if (((from_bitField2_ & 0x20000000) != 0)) {
14196 result.interleaveSearch_ = interleaveSearch_;
14197 to_bitField2_ |= 0x01000000;
14199 if (((from_bitField2_ & 0x40000000) != 0)) {
14200 result.interleaveBatchSize_ = interleaveBatchSize_;
14201 to_bitField2_ |= 0x02000000;
14203 if (((from_bitField2_ & 0x80000000) != 0)) {
14204 result.shareObjectiveBounds_ = shareObjectiveBounds_;
14205 to_bitField2_ |= 0x04000000;
14207 result.bitField1_ |= to_bitField1_;
14208 result.bitField2_ |= to_bitField2_;
14211 private void buildPartial3(com.google.ortools.sat.SatParameters result) {
14212 int from_bitField3_ = bitField3_;
14213 int to_bitField2_ = 0;
14214 if (((from_bitField3_ & 0x00000001) != 0)) {
14215 result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
14216 to_bitField2_ |= 0x08000000;
14218 if (((from_bitField3_ & 0x00000002) != 0)) {
14219 result.shareBinaryClauses_ = shareBinaryClauses_;
14220 to_bitField2_ |= 0x10000000;
14222 if (((from_bitField3_ & 0x00000004) != 0)) {
14223 result.debugPostsolveWithFullSolver_ = debugPostsolveWithFullSolver_;
14224 to_bitField2_ |= 0x20000000;
14226 if (((from_bitField3_ & 0x00000008) != 0)) {
14227 result.debugMaxNumPresolveOperations_ = debugMaxNumPresolveOperations_;
14228 to_bitField2_ |= 0x40000000;
14230 if (((from_bitField3_ & 0x00000010) != 0)) {
14231 result.debugCrashOnBadHint_ = debugCrashOnBadHint_;
14232 to_bitField2_ |= 0x80000000;
14234 int to_bitField3_ = 0;
14235 if (((from_bitField3_ & 0x00000020) != 0)) {
14236 result.useOptimizationHints_ = useOptimizationHints_;
14237 to_bitField3_ |= 0x00000001;
14239 if (((from_bitField3_ & 0x00000040) != 0)) {
14240 result.coreMinimizationLevel_ = coreMinimizationLevel_;
14241 to_bitField3_ |= 0x00000002;
14243 if (((from_bitField3_ & 0x00000080) != 0)) {
14244 result.findMultipleCores_ = findMultipleCores_;
14245 to_bitField3_ |= 0x00000004;
14247 if (((from_bitField3_ & 0x00000100) != 0)) {
14248 result.coverOptimization_ = coverOptimization_;
14249 to_bitField3_ |= 0x00000008;
14251 if (((from_bitField3_ & 0x00000200) != 0)) {
14252 result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
14253 to_bitField3_ |= 0x00000010;
14255 if (((from_bitField3_ & 0x00000400) != 0)) {
14256 result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
14257 to_bitField3_ |= 0x00000020;
14259 if (((from_bitField3_ & 0x00000800) != 0)) {
14260 result.maxSatStratification_ = maxSatStratification_;
14261 to_bitField3_ |= 0x00000040;
14263 if (((from_bitField3_ & 0x00001000) != 0)) {
14264 result.propagationLoopDetectionFactor_ = propagationLoopDetectionFactor_;
14265 to_bitField3_ |= 0x00000080;
14267 if (((from_bitField3_ & 0x00002000) != 0)) {
14268 result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
14269 to_bitField3_ |= 0x00000100;
14271 if (((from_bitField3_ & 0x00004000) != 0)) {
14272 result.maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
14273 to_bitField3_ |= 0x00000200;
14275 if (((from_bitField3_ & 0x00008000) != 0)) {
14276 result.useStrongPropagationInDisjunctive_ = useStrongPropagationInDisjunctive_;
14277 to_bitField3_ |= 0x00000400;
14279 if (((from_bitField3_ & 0x00010000) != 0)) {
14280 result.useDynamicPrecedenceInDisjunctive_ = useDynamicPrecedenceInDisjunctive_;
14281 to_bitField3_ |= 0x00000800;
14283 if (((from_bitField3_ & 0x00020000) != 0)) {
14284 result.useDynamicPrecedenceInCumulative_ = useDynamicPrecedenceInCumulative_;
14285 to_bitField3_ |= 0x00001000;
14287 if (((from_bitField3_ & 0x00040000) != 0)) {
14288 result.useOverloadCheckerInCumulative_ = useOverloadCheckerInCumulative_;
14289 to_bitField3_ |= 0x00002000;
14291 if (((from_bitField3_ & 0x00080000) != 0)) {
14292 result.useTimetableEdgeFindingInCumulative_ = useTimetableEdgeFindingInCumulative_;
14293 to_bitField3_ |= 0x00004000;
14295 if (((from_bitField3_ & 0x00100000) != 0)) {
14296 result.maxNumIntervalsForTimetableEdgeFinding_ = maxNumIntervalsForTimetableEdgeFinding_;
14297 to_bitField3_ |= 0x00008000;
14299 if (((from_bitField3_ & 0x00200000) != 0)) {
14300 result.useHardPrecedencesInCumulative_ = useHardPrecedencesInCumulative_;
14301 to_bitField3_ |= 0x00010000;
14303 if (((from_bitField3_ & 0x00400000) != 0)) {
14304 result.exploitAllPrecedences_ = exploitAllPrecedences_;
14305 to_bitField3_ |= 0x00020000;
14307 if (((from_bitField3_ & 0x00800000) != 0)) {
14308 result.useDisjunctiveConstraintInCumulative_ = useDisjunctiveConstraintInCumulative_;
14309 to_bitField3_ |= 0x00040000;
14311 if (((from_bitField3_ & 0x01000000) != 0)) {
14312 result.useTimetablingInNoOverlap2D_ = useTimetablingInNoOverlap2D_;
14313 to_bitField3_ |= 0x00080000;
14315 if (((from_bitField3_ & 0x02000000) != 0)) {
14316 result.useEnergeticReasoningInNoOverlap2D_ = useEnergeticReasoningInNoOverlap2D_;
14317 to_bitField3_ |= 0x00100000;
14319 if (((from_bitField3_ & 0x04000000) != 0)) {
14320 result.useAreaEnergeticReasoningInNoOverlap2D_ = useAreaEnergeticReasoningInNoOverlap2D_;
14321 to_bitField3_ |= 0x00200000;
14323 if (((from_bitField3_ & 0x08000000) != 0)) {
14324 result.maxPairsPairwiseReasoningInNoOverlap2D_ = maxPairsPairwiseReasoningInNoOverlap2D_;
14325 to_bitField3_ |= 0x00400000;
14327 if (((from_bitField3_ & 0x10000000) != 0)) {
14328 result.useDualSchedulingHeuristics_ = useDualSchedulingHeuristics_;
14329 to_bitField3_ |= 0x00800000;
14331 if (((from_bitField3_ & 0x20000000) != 0)) {
14332 result.searchBranching_ = searchBranching_;
14333 to_bitField3_ |= 0x01000000;
14335 if (((from_bitField3_ & 0x40000000) != 0)) {
14336 result.hintConflictLimit_ = hintConflictLimit_;
14337 to_bitField3_ |= 0x02000000;
14339 if (((from_bitField3_ & 0x80000000) != 0)) {
14340 result.repairHint_ = repairHint_;
14341 to_bitField3_ |= 0x04000000;
14343 result.bitField2_ |= to_bitField2_;
14344 result.bitField3_ |= to_bitField3_;
14347 private void buildPartial4(com.google.ortools.sat.SatParameters result) {
14348 int from_bitField4_ = bitField4_;
14349 int to_bitField3_ = 0;
14350 if (((from_bitField4_ & 0x00000001) != 0)) {
14351 result.fixVariablesToTheirHintedValue_ = fixVariablesToTheirHintedValue_;
14352 to_bitField3_ |= 0x08000000;
14354 if (((from_bitField4_ & 0x00000002) != 0)) {
14355 result.useProbingSearch_ = useProbingSearch_;
14356 to_bitField3_ |= 0x10000000;
14358 if (((from_bitField4_ & 0x00000004) != 0)) {
14359 result.useExtendedProbing_ = useExtendedProbing_;
14360 to_bitField3_ |= 0x20000000;
14362 if (((from_bitField4_ & 0x00000008) != 0)) {
14363 result.probingNumCombinationsLimit_ = probingNumCombinationsLimit_;
14364 to_bitField3_ |= 0x40000000;
14366 if (((from_bitField4_ & 0x00000010) != 0)) {
14367 result.useShavingInProbingSearch_ = useShavingInProbingSearch_;
14368 to_bitField3_ |= 0x80000000;
14370 int to_bitField4_ = 0;
14371 if (((from_bitField4_ & 0x00000020) != 0)) {
14372 result.shavingSearchDeterministicTime_ = shavingSearchDeterministicTime_;
14373 to_bitField4_ |= 0x00000001;
14375 if (((from_bitField4_ & 0x00000040) != 0)) {
14376 result.useObjectiveLbSearch_ = useObjectiveLbSearch_;
14377 to_bitField4_ |= 0x00000002;
14379 if (((from_bitField4_ & 0x00000080) != 0)) {
14380 result.useObjectiveShavingSearch_ = useObjectiveShavingSearch_;
14381 to_bitField4_ |= 0x00000004;
14383 if (((from_bitField4_ & 0x00000100) != 0)) {
14384 result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
14385 to_bitField4_ |= 0x00000008;
14387 if (((from_bitField4_ & 0x00000200) != 0)) {
14388 result.optimizeWithCore_ = optimizeWithCore_;
14389 to_bitField4_ |= 0x00000010;
14391 if (((from_bitField4_ & 0x00000400) != 0)) {
14392 result.optimizeWithLbTreeSearch_ = optimizeWithLbTreeSearch_;
14393 to_bitField4_ |= 0x00000020;
14395 if (((from_bitField4_ & 0x00000800) != 0)) {
14396 result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
14397 to_bitField4_ |= 0x00000040;
14399 if (((from_bitField4_ & 0x00001000) != 0)) {
14400 result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
14401 to_bitField4_ |= 0x00000080;
14403 if (((from_bitField4_ & 0x00002000) != 0)) {
14404 result.useFeasibilityJump_ = useFeasibilityJump_;
14405 to_bitField4_ |= 0x00000100;
14407 if (((from_bitField4_ & 0x00004000) != 0)) {
14408 result.testFeasibilityJump_ = testFeasibilityJump_;
14409 to_bitField4_ |= 0x00000200;
14411 if (((from_bitField4_ & 0x00008000) != 0)) {
14412 result.feasibilityJumpDecay_ = feasibilityJumpDecay_;
14413 to_bitField4_ |= 0x00000400;
14415 if (((from_bitField4_ & 0x00010000) != 0)) {
14416 result.feasibilityJumpLinearizationLevel_ = feasibilityJumpLinearizationLevel_;
14417 to_bitField4_ |= 0x00000800;
14419 if (((from_bitField4_ & 0x00020000) != 0)) {
14420 result.feasibilityJumpRestartFactor_ = feasibilityJumpRestartFactor_;
14421 to_bitField4_ |= 0x00001000;
14423 if (((from_bitField4_ & 0x00040000) != 0)) {
14424 result.feasibilityJumpVarRandomizationProbability_ = feasibilityJumpVarRandomizationProbability_;
14425 to_bitField4_ |= 0x00002000;
14427 if (((from_bitField4_ & 0x00080000) != 0)) {
14428 result.feasibilityJumpVarPerburbationRangeRatio_ = feasibilityJumpVarPerburbationRangeRatio_;
14429 to_bitField4_ |= 0x00004000;
14431 if (((from_bitField4_ & 0x00100000) != 0)) {
14432 result.feasibilityJumpEnableRestarts_ = feasibilityJumpEnableRestarts_;
14433 to_bitField4_ |= 0x00008000;
14435 if (((from_bitField4_ & 0x00200000) != 0)) {
14436 result.feasibilityJumpMaxExpandedConstraintSize_ = feasibilityJumpMaxExpandedConstraintSize_;
14437 to_bitField4_ |= 0x00010000;
14439 if (((from_bitField4_ & 0x00400000) != 0)) {
14440 result.numViolationLs_ = numViolationLs_;
14441 to_bitField4_ |= 0x00020000;
14443 if (((from_bitField4_ & 0x00800000) != 0)) {
14444 result.violationLsPerturbationPeriod_ = violationLsPerturbationPeriod_;
14445 to_bitField4_ |= 0x00040000;
14447 if (((from_bitField4_ & 0x01000000) != 0)) {
14448 result.violationLsCompoundMoveProbability_ = violationLsCompoundMoveProbability_;
14449 to_bitField4_ |= 0x00080000;
14451 if (((from_bitField4_ & 0x02000000) != 0)) {
14452 result.sharedTreeNumWorkers_ = sharedTreeNumWorkers_;
14453 to_bitField4_ |= 0x00100000;
14455 if (((from_bitField4_ & 0x04000000) != 0)) {
14456 result.useSharedTreeSearch_ = useSharedTreeSearch_;
14457 to_bitField4_ |= 0x00200000;
14459 if (((from_bitField4_ & 0x08000000) != 0)) {
14460 result.sharedTreeWorkerObjectiveSplitProbability_ = sharedTreeWorkerObjectiveSplitProbability_;
14461 to_bitField4_ |= 0x00400000;
14463 if (((from_bitField4_ & 0x10000000) != 0)) {
14464 result.sharedTreeMaxNodesPerWorker_ = sharedTreeMaxNodesPerWorker_;
14465 to_bitField4_ |= 0x00800000;
14467 if (((from_bitField4_ & 0x20000000) != 0)) {
14468 result.sharedTreeSplitStrategy_ = sharedTreeSplitStrategy_;
14469 to_bitField4_ |= 0x01000000;
14471 if (((from_bitField4_ & 0x40000000) != 0)) {
14472 result.enumerateAllSolutions_ = enumerateAllSolutions_;
14473 to_bitField4_ |= 0x02000000;
14475 if (((from_bitField4_ & 0x80000000) != 0)) {
14476 result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
14477 to_bitField4_ |= 0x04000000;
14479 result.bitField3_ |= to_bitField3_;
14480 result.bitField4_ |= to_bitField4_;
14483 private void buildPartial5(com.google.ortools.sat.SatParameters result) {
14484 int from_bitField5_ = bitField5_;
14485 int to_bitField4_ = 0;
14486 if (((from_bitField5_ & 0x00000001) != 0)) {
14487 result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
14488 to_bitField4_ |= 0x08000000;
14490 if (((from_bitField5_ & 0x00000002) != 0)) {
14491 result.fillAdditionalSolutionsInResponse_ = fillAdditionalSolutionsInResponse_;
14492 to_bitField4_ |= 0x10000000;
14494 if (((from_bitField5_ & 0x00000004) != 0)) {
14495 result.instantiateAllVariables_ = instantiateAllVariables_;
14496 to_bitField4_ |= 0x20000000;
14498 if (((from_bitField5_ & 0x00000008) != 0)) {
14499 result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
14500 to_bitField4_ |= 0x40000000;
14502 if (((from_bitField5_ & 0x00000010) != 0)) {
14503 result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
14504 to_bitField4_ |= 0x80000000;
14506 int to_bitField5_ = 0;
14507 if (((from_bitField5_ & 0x00000020) != 0)) {
14508 result.stopAfterPresolve_ = stopAfterPresolve_;
14509 to_bitField5_ |= 0x00000001;
14511 if (((from_bitField5_ & 0x00000040) != 0)) {
14512 result.stopAfterRootPropagation_ = stopAfterRootPropagation_;
14513 to_bitField5_ |= 0x00000002;
14515 if (((from_bitField5_ & 0x00000080) != 0)) {
14516 result.useLnsOnly_ = useLnsOnly_;
14517 to_bitField5_ |= 0x00000004;
14519 if (((from_bitField5_ & 0x00000100) != 0)) {
14520 result.solutionPoolSize_ = solutionPoolSize_;
14521 to_bitField5_ |= 0x00000008;
14523 if (((from_bitField5_ & 0x00000200) != 0)) {
14524 result.useRinsLns_ = useRinsLns_;
14525 to_bitField5_ |= 0x00000010;
14527 if (((from_bitField5_ & 0x00000400) != 0)) {
14528 result.useFeasibilityPump_ = useFeasibilityPump_;
14529 to_bitField5_ |= 0x00000020;
14531 if (((from_bitField5_ & 0x00000800) != 0)) {
14532 result.useLbRelaxLns_ = useLbRelaxLns_;
14533 to_bitField5_ |= 0x00000040;
14535 if (((from_bitField5_ & 0x00001000) != 0)) {
14536 result.fpRounding_ = fpRounding_;
14537 to_bitField5_ |= 0x00000080;
14539 if (((from_bitField5_ & 0x00002000) != 0)) {
14540 result.diversifyLnsParams_ = diversifyLnsParams_;
14541 to_bitField5_ |= 0x00000100;
14543 if (((from_bitField5_ & 0x00004000) != 0)) {
14544 result.randomizeSearch_ = randomizeSearch_;
14545 to_bitField5_ |= 0x00000200;
14547 if (((from_bitField5_ & 0x00008000) != 0)) {
14548 result.searchRandomVariablePoolSize_ = searchRandomVariablePoolSize_;
14549 to_bitField5_ |= 0x00000400;
14551 if (((from_bitField5_ & 0x00010000) != 0)) {
14552 result.pushAllTasksTowardStart_ = pushAllTasksTowardStart_;
14553 to_bitField5_ |= 0x00000800;
14555 if (((from_bitField5_ & 0x00020000) != 0)) {
14556 result.useOptionalVariables_ = useOptionalVariables_;
14557 to_bitField5_ |= 0x00001000;
14559 if (((from_bitField5_ & 0x00040000) != 0)) {
14560 result.useExactLpReason_ = useExactLpReason_;
14561 to_bitField5_ |= 0x00002000;
14563 if (((from_bitField5_ & 0x00080000) != 0)) {
14564 result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
14565 to_bitField5_ |= 0x00004000;
14567 if (((from_bitField5_ & 0x00100000) != 0)) {
14568 result.atMostOneMaxExpansionSize_ = atMostOneMaxExpansionSize_;
14569 to_bitField5_ |= 0x00008000;
14571 if (((from_bitField5_ & 0x00200000) != 0)) {
14572 result.catchSigintSignal_ = catchSigintSignal_;
14573 to_bitField5_ |= 0x00010000;
14575 if (((from_bitField5_ & 0x00400000) != 0)) {
14576 result.useImpliedBounds_ = useImpliedBounds_;
14577 to_bitField5_ |= 0x00020000;
14579 if (((from_bitField5_ & 0x00800000) != 0)) {
14580 result.polishLpSolution_ = polishLpSolution_;
14581 to_bitField5_ |= 0x00040000;
14583 if (((from_bitField5_ & 0x01000000) != 0)) {
14584 result.lpPrimalTolerance_ = lpPrimalTolerance_;
14585 to_bitField5_ |= 0x00080000;
14587 if (((from_bitField5_ & 0x02000000) != 0)) {
14588 result.lpDualTolerance_ = lpDualTolerance_;
14589 to_bitField5_ |= 0x00100000;
14591 if (((from_bitField5_ & 0x04000000) != 0)) {
14592 result.convertIntervals_ = convertIntervals_;
14593 to_bitField5_ |= 0x00200000;
14595 if (((from_bitField5_ & 0x08000000) != 0)) {
14596 result.symmetryLevel_ = symmetryLevel_;
14597 to_bitField5_ |= 0x00400000;
14599 if (((from_bitField5_ & 0x10000000) != 0)) {
14600 result.newLinearPropagation_ = newLinearPropagation_;
14601 to_bitField5_ |= 0x00800000;
14603 if (((from_bitField5_ & 0x20000000) != 0)) {
14604 result.linearSplitSize_ = linearSplitSize_;
14605 to_bitField5_ |= 0x01000000;
14607 if (((from_bitField5_ & 0x40000000) != 0)) {
14608 result.linearizationLevel_ = linearizationLevel_;
14609 to_bitField5_ |= 0x02000000;
14611 if (((from_bitField5_ & 0x80000000) != 0)) {
14612 result.booleanEncodingLevel_ = booleanEncodingLevel_;
14613 to_bitField5_ |= 0x04000000;
14615 result.bitField4_ |= to_bitField4_;
14616 result.bitField5_ |= to_bitField5_;
14619 private void buildPartial6(com.google.ortools.sat.SatParameters result) {
14620 int from_bitField6_ = bitField6_;
14621 int to_bitField5_ = 0;
14622 if (((from_bitField6_ & 0x00000001) != 0)) {
14623 result.maxDomainSizeWhenEncodingEqNeqConstraints_ = maxDomainSizeWhenEncodingEqNeqConstraints_;
14624 to_bitField5_ |= 0x08000000;
14626 if (((from_bitField6_ & 0x00000002) != 0)) {
14627 result.maxNumCuts_ = maxNumCuts_;
14628 to_bitField5_ |= 0x10000000;
14630 if (((from_bitField6_ & 0x00000004) != 0)) {
14631 result.cutLevel_ = cutLevel_;
14632 to_bitField5_ |= 0x20000000;
14634 if (((from_bitField6_ & 0x00000008) != 0)) {
14635 result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
14636 to_bitField5_ |= 0x40000000;
14638 if (((from_bitField6_ & 0x00000010) != 0)) {
14639 result.addObjectiveCut_ = addObjectiveCut_;
14640 to_bitField5_ |= 0x80000000;
14642 int to_bitField6_ = 0;
14643 if (((from_bitField6_ & 0x00000020) != 0)) {
14644 result.addCgCuts_ = addCgCuts_;
14645 to_bitField6_ |= 0x00000001;
14647 if (((from_bitField6_ & 0x00000040) != 0)) {
14648 result.addMirCuts_ = addMirCuts_;
14649 to_bitField6_ |= 0x00000002;
14651 if (((from_bitField6_ & 0x00000080) != 0)) {
14652 result.addZeroHalfCuts_ = addZeroHalfCuts_;
14653 to_bitField6_ |= 0x00000004;
14655 if (((from_bitField6_ & 0x00000100) != 0)) {
14656 result.addCliqueCuts_ = addCliqueCuts_;
14657 to_bitField6_ |= 0x00000008;
14659 if (((from_bitField6_ & 0x00000200) != 0)) {
14660 result.addRltCuts_ = addRltCuts_;
14661 to_bitField6_ |= 0x00000010;
14663 if (((from_bitField6_ & 0x00000400) != 0)) {
14664 result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
14665 to_bitField6_ |= 0x00000020;
14667 if (((from_bitField6_ & 0x00000800) != 0)) {
14668 result.addLinMaxCuts_ = addLinMaxCuts_;
14669 to_bitField6_ |= 0x00000040;
14671 if (((from_bitField6_ & 0x00001000) != 0)) {
14672 result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
14673 to_bitField6_ |= 0x00000080;
14675 if (((from_bitField6_ & 0x00002000) != 0)) {
14676 result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
14677 to_bitField6_ |= 0x00000100;
14679 if (((from_bitField6_ & 0x00004000) != 0)) {
14680 result.rootLpIterations_ = rootLpIterations_;
14681 to_bitField6_ |= 0x00000200;
14683 if (((from_bitField6_ & 0x00008000) != 0)) {
14684 result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
14685 to_bitField6_ |= 0x00000400;
14687 if (((from_bitField6_ & 0x00010000) != 0)) {
14688 result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
14689 to_bitField6_ |= 0x00000800;
14691 if (((from_bitField6_ & 0x00020000) != 0)) {
14692 result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
14693 to_bitField6_ |= 0x00001000;
14695 if (((from_bitField6_ & 0x00040000) != 0)) {
14696 result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
14697 to_bitField6_ |= 0x00002000;
14699 if (((from_bitField6_ & 0x00080000) != 0)) {
14700 result.cutActiveCountDecay_ = cutActiveCountDecay_;
14701 to_bitField6_ |= 0x00004000;
14703 if (((from_bitField6_ & 0x00100000) != 0)) {
14704 result.cutCleanupTarget_ = cutCleanupTarget_;
14705 to_bitField6_ |= 0x00008000;
14707 if (((from_bitField6_ & 0x00200000) != 0)) {
14708 result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
14709 to_bitField6_ |= 0x00010000;
14711 if (((from_bitField6_ & 0x00400000) != 0)) {
14712 result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
14713 to_bitField6_ |= 0x00020000;
14715 if (((from_bitField6_ & 0x00800000) != 0)) {
14716 result.exploitAllLpSolution_ = exploitAllLpSolution_;
14717 to_bitField6_ |= 0x00040000;
14719 if (((from_bitField6_ & 0x01000000) != 0)) {
14720 result.exploitBestSolution_ = exploitBestSolution_;
14721 to_bitField6_ |= 0x00080000;
14723 if (((from_bitField6_ & 0x02000000) != 0)) {
14724 result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
14725 to_bitField6_ |= 0x00100000;
14727 if (((from_bitField6_ & 0x04000000) != 0)) {
14728 result.exploitObjective_ = exploitObjective_;
14729 to_bitField6_ |= 0x00200000;
14731 if (((from_bitField6_ & 0x08000000) != 0)) {
14732 result.detectLinearizedProduct_ = detectLinearizedProduct_;
14733 to_bitField6_ |= 0x00400000;
14735 if (((from_bitField6_ & 0x10000000) != 0)) {
14736 result.mipMaxBound_ = mipMaxBound_;
14737 to_bitField6_ |= 0x00800000;
14739 if (((from_bitField6_ & 0x20000000) != 0)) {
14740 result.mipVarScaling_ = mipVarScaling_;
14741 to_bitField6_ |= 0x01000000;
14743 if (((from_bitField6_ & 0x40000000) != 0)) {
14744 result.mipScaleLargeDomain_ = mipScaleLargeDomain_;
14745 to_bitField6_ |= 0x02000000;
14747 if (((from_bitField6_ & 0x80000000) != 0)) {
14748 result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
14749 to_bitField6_ |= 0x04000000;
14751 result.bitField5_ |= to_bitField5_;
14752 result.bitField6_ |= to_bitField6_;
14755 private void buildPartial7(com.google.ortools.sat.SatParameters result) {
14756 int from_bitField7_ = bitField7_;
14757 int to_bitField6_ = 0;
14758 if (((from_bitField7_ & 0x00000001) != 0)) {
14759 result.onlySolveIp_ = onlySolveIp_;
14760 to_bitField6_ |= 0x08000000;
14762 if (((from_bitField7_ & 0x00000002) != 0)) {
14763 result.mipWantedPrecision_ = mipWantedPrecision_;
14764 to_bitField6_ |= 0x10000000;
14766 if (((from_bitField7_ & 0x00000004) != 0)) {
14767 result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
14768 to_bitField6_ |= 0x20000000;
14770 if (((from_bitField7_ & 0x00000008) != 0)) {
14771 result.mipCheckPrecision_ = mipCheckPrecision_;
14772 to_bitField6_ |= 0x40000000;
14774 if (((from_bitField7_ & 0x00000010) != 0)) {
14775 result.mipComputeTrueObjectiveBound_ = mipComputeTrueObjectiveBound_;
14776 to_bitField6_ |= 0x80000000;
14778 int to_bitField7_ = 0;
14779 if (((from_bitField7_ & 0x00000020) != 0)) {
14780 result.mipMaxValidMagnitude_ = mipMaxValidMagnitude_;
14781 to_bitField7_ |= 0x00000001;
14783 if (((from_bitField7_ & 0x00000040) != 0)) {
14784 result.mipTreatHighMagnitudeBoundsAsInfinity_ = mipTreatHighMagnitudeBoundsAsInfinity_;
14785 to_bitField7_ |= 0x00000002;
14787 if (((from_bitField7_ & 0x00000080) != 0)) {
14788 result.mipDropTolerance_ = mipDropTolerance_;
14789 to_bitField7_ |= 0x00000004;
14791 if (((from_bitField7_ & 0x00000100) != 0)) {
14792 result.mipPresolveLevel_ = mipPresolveLevel_;
14793 to_bitField7_ |= 0x00000008;
14795 result.bitField6_ |= to_bitField6_;
14796 result.bitField7_ |= to_bitField7_;
14799 @java.lang.Override
14801 return super.
clone();
14803 @java.lang.Override
14805 com.google.protobuf.Descriptors.FieldDescriptor field,
14806 java.lang.Object value) {
14807 return super.
setField(field, value);
14809 @java.lang.Override
14811 com.google.protobuf.Descriptors.FieldDescriptor field) {
14814 @java.lang.Override
14816 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
14819 @java.lang.Override
14821 com.google.protobuf.Descriptors.FieldDescriptor field,
14822 int index, java.lang.Object value) {
14825 @java.lang.Override
14827 com.google.protobuf.Descriptors.FieldDescriptor field,
14828 java.lang.Object value) {
14831 @java.lang.Override
14833 if (other instanceof com.google.ortools.sat.SatParameters) {
14834 return mergeFrom((com.google.ortools.sat.SatParameters)other);
14836 super.mergeFrom(other);
14842 if (other == com.google.ortools.sat.SatParameters.getDefaultInstance())
return this;
14843 if (other.hasName()) {
14844 name_ = other.name_;
14845 bitField0_ |= 0x00000001;
14848 if (other.hasPreferredVariableOrder()) {
14851 if (other.hasInitialPolarity()) {
14854 if (other.hasUsePhaseSaving()) {
14857 if (other.hasPolarityRephaseIncrement()) {
14860 if (other.hasRandomPolarityRatio()) {
14863 if (other.hasRandomBranchesRatio()) {
14866 if (other.hasUseErwaHeuristic()) {
14869 if (other.hasInitialVariablesActivity()) {
14872 if (other.hasAlsoBumpVariablesInConflictReasons()) {
14875 if (other.hasMinimizationAlgorithm()) {
14878 if (other.hasBinaryMinimizationAlgorithm()) {
14881 if (other.hasSubsumptionDuringConflictAnalysis()) {
14884 if (other.hasClauseCleanupPeriod()) {
14887 if (other.hasClauseCleanupTarget()) {
14890 if (other.hasClauseCleanupRatio()) {
14893 if (other.hasClauseCleanupProtection()) {
14896 if (other.hasClauseCleanupLbdBound()) {
14899 if (other.hasClauseCleanupOrdering()) {
14902 if (other.hasPbCleanupIncrement()) {
14905 if (other.hasPbCleanupRatio()) {
14908 if (other.hasVariableActivityDecay()) {
14911 if (other.hasMaxVariableActivityValue()) {
14914 if (other.hasGlucoseMaxDecay()) {
14917 if (other.hasGlucoseDecayIncrement()) {
14920 if (other.hasGlucoseDecayIncrementPeriod()) {
14923 if (other.hasClauseActivityDecay()) {
14926 if (other.hasMaxClauseActivityValue()) {
14929 if (!other.restartAlgorithms_.isEmpty()) {
14930 if (restartAlgorithms_.isEmpty()) {
14931 restartAlgorithms_ = other.restartAlgorithms_;
14932 bitField0_ = (bitField0_ & ~0x10000000);
14934 ensureRestartAlgorithmsIsMutable();
14935 restartAlgorithms_.addAll(other.restartAlgorithms_);
14939 if (other.hasDefaultRestartAlgorithms()) {
14940 defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
14941 bitField0_ |= 0x20000000;
14944 if (other.hasRestartPeriod()) {
14947 if (other.hasRestartRunningWindowSize()) {
14950 if (other.hasRestartDlAverageRatio()) {
14953 if (other.hasRestartLbdAverageRatio()) {
14956 if (other.hasUseBlockingRestart()) {
14959 if (other.hasBlockingRestartWindowSize()) {
14962 if (other.hasBlockingRestartMultiplier()) {
14965 if (other.hasNumConflictsBeforeStrategyChanges()) {
14968 if (other.hasStrategyChangeIncreaseRatio()) {
14971 if (other.hasMaxTimeInSeconds()) {
14974 if (other.hasMaxDeterministicTime()) {
14977 if (other.hasMaxNumberOfConflicts()) {
14980 if (other.hasMaxMemoryInMb()) {
14983 if (other.hasAbsoluteGapLimit()) {
14986 if (other.hasRelativeGapLimit()) {
14989 if (other.hasRandomSeed()) {
14992 if (other.hasPermuteVariableRandomly()) {
14995 if (other.hasPermutePresolveConstraintOrder()) {
14998 if (other.hasUseAbslRandom()) {
15001 if (other.hasLogSearchProgress()) {
15004 if (other.hasLogSubsolverStatistics()) {
15007 if (other.hasLogPrefix()) {
15008 logPrefix_ = other.logPrefix_;
15009 bitField1_ |= 0x00080000;
15012 if (other.hasLogToStdout()) {
15015 if (other.hasLogToResponse()) {
15018 if (other.hasUsePbResolution()) {
15021 if (other.hasMinimizeReductionDuringPbResolution()) {
15024 if (other.hasCountAssumptionLevelsInLbd()) {
15027 if (other.hasPresolveBveThreshold()) {
15030 if (other.hasPresolveBveClauseWeight()) {
15033 if (other.hasProbingDeterministicTimeLimit()) {
15036 if (other.hasPresolveProbingDeterministicTimeLimit()) {
15039 if (other.hasPresolveBlockedClause()) {
15042 if (other.hasPresolveUseBva()) {
15045 if (other.hasPresolveBvaThreshold()) {
15048 if (other.hasMaxPresolveIterations()) {
15051 if (other.hasCpModelPresolve()) {
15054 if (other.hasCpModelProbingLevel()) {
15057 if (other.hasCpModelUseSatPresolve()) {
15060 if (other.hasDetectTableWithCost()) {
15063 if (other.hasTableCompressionLevel()) {
15066 if (other.hasExpandAlldiffConstraints()) {
15069 if (other.hasExpandReservoirConstraints()) {
15072 if (other.hasDisableConstraintExpansion()) {
15075 if (other.hasEncodeComplexLinearConstraintWithInteger()) {
15078 if (other.hasMergeNoOverlapWorkLimit()) {
15081 if (other.hasMergeAtMostOneWorkLimit()) {
15084 if (other.hasPresolveSubstitutionLevel()) {
15087 if (other.hasPresolveExtractIntegerEnforcement()) {
15090 if (other.hasPresolveInclusionWorkLimit()) {
15093 if (other.hasIgnoreNames()) {
15096 if (other.hasInferAllDiffs()) {
15099 if (other.hasFindBigLinearOverlap()) {
15102 if (other.hasUseSatInprocessing()) {
15105 if (other.hasInprocessingDtimeRatio()) {
15108 if (other.hasInprocessingProbingDtime()) {
15111 if (other.hasInprocessingMinimizationDtime()) {
15114 if (other.hasNumWorkers()) {
15117 if (other.hasNumSearchWorkers()) {
15120 if (other.hasMinNumLnsWorkers()) {
15123 if (!other.subsolvers_.isEmpty()) {
15124 if (subsolvers_.isEmpty()) {
15125 subsolvers_ = other.subsolvers_;
15126 bitField2_ |= 0x02000000;
15128 ensureSubsolversIsMutable();
15129 subsolvers_.addAll(other.subsolvers_);
15133 if (!other.extraSubsolvers_.isEmpty()) {
15134 if (extraSubsolvers_.isEmpty()) {
15135 extraSubsolvers_ = other.extraSubsolvers_;
15136 bitField2_ |= 0x04000000;
15138 ensureExtraSubsolversIsMutable();
15139 extraSubsolvers_.addAll(other.extraSubsolvers_);
15143 if (!other.ignoreSubsolvers_.isEmpty()) {
15144 if (ignoreSubsolvers_.isEmpty()) {
15145 ignoreSubsolvers_ = other.ignoreSubsolvers_;
15146 bitField2_ |= 0x08000000;
15148 ensureIgnoreSubsolversIsMutable();
15149 ignoreSubsolvers_.addAll(other.ignoreSubsolvers_);
15153 if (subsolverParamsBuilder_ ==
null) {
15154 if (!other.subsolverParams_.isEmpty()) {
15155 if (subsolverParams_.isEmpty()) {
15156 subsolverParams_ = other.subsolverParams_;
15157 bitField2_ = (bitField2_ & ~0x10000000);
15159 ensureSubsolverParamsIsMutable();
15160 subsolverParams_.addAll(other.subsolverParams_);
15165 if (!other.subsolverParams_.isEmpty()) {
15166 if (subsolverParamsBuilder_.isEmpty()) {
15167 subsolverParamsBuilder_.dispose();
15168 subsolverParamsBuilder_ =
null;
15169 subsolverParams_ = other.subsolverParams_;
15170 bitField2_ = (bitField2_ & ~0x10000000);
15171 subsolverParamsBuilder_ =
15172 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
15173 getSubsolverParamsFieldBuilder() :
null;
15175 subsolverParamsBuilder_.addAllMessages(other.subsolverParams_);
15179 if (other.hasInterleaveSearch()) {
15182 if (other.hasInterleaveBatchSize()) {
15185 if (other.hasShareObjectiveBounds()) {
15188 if (other.hasShareLevelZeroBounds()) {
15191 if (other.hasShareBinaryClauses()) {
15194 if (other.hasDebugPostsolveWithFullSolver()) {
15197 if (other.hasDebugMaxNumPresolveOperations()) {
15200 if (other.hasDebugCrashOnBadHint()) {
15203 if (other.hasUseOptimizationHints()) {
15206 if (other.hasCoreMinimizationLevel()) {
15209 if (other.hasFindMultipleCores()) {
15212 if (other.hasCoverOptimization()) {
15215 if (other.hasMaxSatAssumptionOrder()) {
15218 if (other.hasMaxSatReverseAssumptionOrder()) {
15221 if (other.hasMaxSatStratification()) {
15224 if (other.hasPropagationLoopDetectionFactor()) {
15227 if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
15230 if (other.hasMaxSizeToCreatePrecedenceLiteralsInDisjunctive()) {
15233 if (other.hasUseStrongPropagationInDisjunctive()) {
15236 if (other.hasUseDynamicPrecedenceInDisjunctive()) {
15239 if (other.hasUseDynamicPrecedenceInCumulative()) {
15242 if (other.hasUseOverloadCheckerInCumulative()) {
15245 if (other.hasUseTimetableEdgeFindingInCumulative()) {
15248 if (other.hasMaxNumIntervalsForTimetableEdgeFinding()) {
15251 if (other.hasUseHardPrecedencesInCumulative()) {
15254 if (other.hasExploitAllPrecedences()) {
15257 if (other.hasUseDisjunctiveConstraintInCumulative()) {
15260 if (other.hasUseTimetablingInNoOverlap2D()) {
15263 if (other.hasUseEnergeticReasoningInNoOverlap2D()) {
15266 if (other.hasUseAreaEnergeticReasoningInNoOverlap2D()) {
15269 if (other.hasMaxPairsPairwiseReasoningInNoOverlap2D()) {
15272 if (other.hasUseDualSchedulingHeuristics()) {
15275 if (other.hasSearchBranching()) {
15278 if (other.hasHintConflictLimit()) {
15281 if (other.hasRepairHint()) {
15284 if (other.hasFixVariablesToTheirHintedValue()) {
15287 if (other.hasUseProbingSearch()) {
15290 if (other.hasUseExtendedProbing()) {
15293 if (other.hasProbingNumCombinationsLimit()) {
15296 if (other.hasUseShavingInProbingSearch()) {
15299 if (other.hasShavingSearchDeterministicTime()) {
15302 if (other.hasUseObjectiveLbSearch()) {
15305 if (other.hasUseObjectiveShavingSearch()) {
15308 if (other.hasPseudoCostReliabilityThreshold()) {
15311 if (other.hasOptimizeWithCore()) {
15314 if (other.hasOptimizeWithLbTreeSearch()) {
15317 if (other.hasBinarySearchNumConflicts()) {
15320 if (other.hasOptimizeWithMaxHs()) {
15323 if (other.hasUseFeasibilityJump()) {
15326 if (other.hasTestFeasibilityJump()) {
15329 if (other.hasFeasibilityJumpDecay()) {
15332 if (other.hasFeasibilityJumpLinearizationLevel()) {
15335 if (other.hasFeasibilityJumpRestartFactor()) {
15338 if (other.hasFeasibilityJumpVarRandomizationProbability()) {
15341 if (other.hasFeasibilityJumpVarPerburbationRangeRatio()) {
15344 if (other.hasFeasibilityJumpEnableRestarts()) {
15347 if (other.hasFeasibilityJumpMaxExpandedConstraintSize()) {
15350 if (other.hasNumViolationLs()) {
15353 if (other.hasViolationLsPerturbationPeriod()) {
15356 if (other.hasViolationLsCompoundMoveProbability()) {
15359 if (other.hasSharedTreeNumWorkers()) {
15362 if (other.hasUseSharedTreeSearch()) {
15365 if (other.hasSharedTreeWorkerObjectiveSplitProbability()) {
15368 if (other.hasSharedTreeMaxNodesPerWorker()) {
15371 if (other.hasSharedTreeSplitStrategy()) {
15374 if (other.hasEnumerateAllSolutions()) {
15377 if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
15380 if (other.hasFillTightenedDomainsInResponse()) {
15383 if (other.hasFillAdditionalSolutionsInResponse()) {
15386 if (other.hasInstantiateAllVariables()) {
15389 if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
15392 if (other.hasStopAfterFirstSolution()) {
15395 if (other.hasStopAfterPresolve()) {
15398 if (other.hasStopAfterRootPropagation()) {
15401 if (other.hasUseLnsOnly()) {
15404 if (other.hasSolutionPoolSize()) {
15407 if (other.hasUseRinsLns()) {
15410 if (other.hasUseFeasibilityPump()) {
15413 if (other.hasUseLbRelaxLns()) {
15416 if (other.hasFpRounding()) {
15419 if (other.hasDiversifyLnsParams()) {
15422 if (other.hasRandomizeSearch()) {
15425 if (other.hasSearchRandomVariablePoolSize()) {
15428 if (other.hasPushAllTasksTowardStart()) {
15431 if (other.hasUseOptionalVariables()) {
15434 if (other.hasUseExactLpReason()) {
15437 if (other.hasUseCombinedNoOverlap()) {
15440 if (other.hasAtMostOneMaxExpansionSize()) {
15443 if (other.hasCatchSigintSignal()) {
15446 if (other.hasUseImpliedBounds()) {
15449 if (other.hasPolishLpSolution()) {
15452 if (other.hasLpPrimalTolerance()) {
15455 if (other.hasLpDualTolerance()) {
15458 if (other.hasConvertIntervals()) {
15461 if (other.hasSymmetryLevel()) {
15464 if (other.hasNewLinearPropagation()) {
15467 if (other.hasLinearSplitSize()) {
15470 if (other.hasLinearizationLevel()) {
15473 if (other.hasBooleanEncodingLevel()) {
15476 if (other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) {
15479 if (other.hasMaxNumCuts()) {
15482 if (other.hasCutLevel()) {
15485 if (other.hasOnlyAddCutsAtLevelZero()) {
15488 if (other.hasAddObjectiveCut()) {
15491 if (other.hasAddCgCuts()) {
15494 if (other.hasAddMirCuts()) {
15497 if (other.hasAddZeroHalfCuts()) {
15500 if (other.hasAddCliqueCuts()) {
15503 if (other.hasAddRltCuts()) {
15506 if (other.hasMaxAllDiffCutSize()) {
15509 if (other.hasAddLinMaxCuts()) {
15512 if (other.hasMaxIntegerRoundingScaling()) {
15515 if (other.hasAddLpConstraintsLazily()) {
15518 if (other.hasRootLpIterations()) {
15521 if (other.hasMinOrthogonalityForLpConstraints()) {
15524 if (other.hasMaxCutRoundsAtLevelZero()) {
15527 if (other.hasMaxConsecutiveInactiveCount()) {
15530 if (other.hasCutMaxActiveCountValue()) {
15533 if (other.hasCutActiveCountDecay()) {
15536 if (other.hasCutCleanupTarget()) {
15539 if (other.hasNewConstraintsBatchSize()) {
15542 if (other.hasExploitIntegerLpSolution()) {
15545 if (other.hasExploitAllLpSolution()) {
15548 if (other.hasExploitBestSolution()) {
15551 if (other.hasExploitRelaxationSolution()) {
15554 if (other.hasExploitObjective()) {
15557 if (other.hasDetectLinearizedProduct()) {
15560 if (other.hasMipMaxBound()) {
15563 if (other.hasMipVarScaling()) {
15566 if (other.hasMipScaleLargeDomain()) {
15569 if (other.hasMipAutomaticallyScaleVariables()) {
15572 if (other.hasOnlySolveIp()) {
15575 if (other.hasMipWantedPrecision()) {
15578 if (other.hasMipMaxActivityExponent()) {
15581 if (other.hasMipCheckPrecision()) {
15584 if (other.hasMipComputeTrueObjectiveBound()) {
15587 if (other.hasMipMaxValidMagnitude()) {
15590 if (other.hasMipTreatHighMagnitudeBoundsAsInfinity()) {
15593 if (other.hasMipDropTolerance()) {
15596 if (other.hasMipPresolveLevel()) {
15604 @java.lang.Override
15609 @java.lang.Override
15611 com.google.protobuf.CodedInputStream input,
15612 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15613 throws java.io.IOException {
15614 if (extensionRegistry ==
null) {
15615 throw new java.lang.NullPointerException();
15618 boolean done =
false;
15620 int tag = input.readTag();
15626 int tmpRaw = input.readEnum();
15628 com.google.ortools.sat.SatParameters.VariableOrder.forNumber(tmpRaw);
15629 if (tmpValue ==
null) {
15630 mergeUnknownVarintField(1, tmpRaw);
15632 preferredVariableOrder_ = tmpRaw;
15633 bitField0_ |= 0x00000002;
15638 int tmpRaw = input.readEnum();
15640 com.google.ortools.sat.SatParameters.Polarity.forNumber(tmpRaw);
15641 if (tmpValue ==
null) {
15642 mergeUnknownVarintField(2, tmpRaw);
15644 initialPolarity_ = tmpRaw;
15645 bitField0_ |= 0x00000004;
15650 int tmpRaw = input.readEnum();
15652 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.forNumber(tmpRaw);
15653 if (tmpValue ==
null) {
15654 mergeUnknownVarintField(4, tmpRaw);
15656 minimizationAlgorithm_ = tmpRaw;
15657 bitField0_ |= 0x00000400;
15662 clauseCleanupPeriod_ = input.readInt32();
15663 bitField0_ |= 0x00002000;
15667 clauseCleanupTarget_ = input.readInt32();
15668 bitField0_ |= 0x00004000;
15672 variableActivityDecay_ = input.readDouble();
15673 bitField0_ |= 0x00200000;
15677 maxVariableActivityValue_ = input.readDouble();
15678 bitField0_ |= 0x00400000;
15682 clauseActivityDecay_ = input.readDouble();
15683 bitField0_ |= 0x04000000;
15687 maxClauseActivityValue_ = input.readDouble();
15688 bitField0_ |= 0x08000000;
15692 glucoseMaxDecay_ = input.readDouble();
15693 bitField0_ |= 0x00800000;
15697 glucoseDecayIncrement_ = input.readDouble();
15698 bitField0_ |= 0x01000000;
15702 glucoseDecayIncrementPeriod_ = input.readInt32();
15703 bitField0_ |= 0x02000000;
15707 restartPeriod_ = input.readInt32();
15708 bitField0_ |= 0x40000000;
15712 randomSeed_ = input.readInt32();
15713 bitField1_ |= 0x00002000;
15717 randomBranchesRatio_ = input.readDouble();
15718 bitField0_ |= 0x00000040;
15722 int tmpRaw = input.readEnum();
15724 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.forNumber(tmpRaw);
15725 if (tmpValue ==
null) {
15726 mergeUnknownVarintField(34, tmpRaw);
15728 binaryMinimizationAlgorithm_ = tmpRaw;
15729 bitField0_ |= 0x00000800;
15734 useOptimizationHints_ = input.readBool();
15735 bitField3_ |= 0x00000020;
15739 maxTimeInSeconds_ = input.readDouble();
15740 bitField1_ |= 0x00000080;
15744 maxNumberOfConflicts_ = input.readInt64();
15745 bitField1_ |= 0x00000200;
15749 maxMemoryInMb_ = input.readInt64();
15750 bitField1_ |= 0x00000400;
15754 logSearchProgress_ = input.readBool();
15755 bitField1_ |= 0x00020000;
15759 usePbResolution_ = input.readBool();
15760 bitField1_ |= 0x00400000;
15764 usePhaseSaving_ = input.readBool();
15765 bitField0_ |= 0x00000008;
15769 randomPolarityRatio_ = input.readDouble();
15770 bitField0_ |= 0x00000020;
15774 pbCleanupIncrement_ = input.readInt32();
15775 bitField0_ |= 0x00080000;
15779 pbCleanupRatio_ = input.readDouble();
15780 bitField0_ |= 0x00100000;
15784 minimizeReductionDuringPbResolution_ = input.readBool();
15785 bitField1_ |= 0x00800000;
15789 countAssumptionLevelsInLbd_ = input.readBool();
15790 bitField1_ |= 0x01000000;
15794 coreMinimizationLevel_ = input.readInt32();
15795 bitField3_ |= 0x00000040;
15799 int tmpRaw = input.readEnum();
15801 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.forNumber(tmpRaw);
15802 if (tmpValue ==
null) {
15803 mergeUnknownVarintField(51, tmpRaw);
15805 maxSatAssumptionOrder_ = tmpRaw;
15806 bitField3_ |= 0x00000200;
15811 maxSatReverseAssumptionOrder_ = input.readBool();
15812 bitField3_ |= 0x00000400;
15816 int tmpRaw = input.readEnum();
15818 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.forNumber(tmpRaw);
15819 if (tmpValue ==
null) {
15820 mergeUnknownVarintField(53, tmpRaw);
15822 maxSatStratification_ = tmpRaw;
15823 bitField3_ |= 0x00000800;
15828 presolveBveThreshold_ = input.readInt32();
15829 bitField1_ |= 0x02000000;
15833 presolveBveClauseWeight_ = input.readInt32();
15834 bitField1_ |= 0x04000000;
15838 subsumptionDuringConflictAnalysis_ = input.readBool();
15839 bitField0_ |= 0x00001000;
15843 presolveProbingDeterministicTimeLimit_ = input.readDouble();
15844 bitField1_ |= 0x10000000;
15848 int tmpRaw = input.readEnum();
15850 com.google.ortools.sat.SatParameters.ClauseProtection.forNumber(tmpRaw);
15851 if (tmpValue ==
null) {
15852 mergeUnknownVarintField(58, tmpRaw);
15854 clauseCleanupProtection_ = tmpRaw;
15855 bitField0_ |= 0x00010000;
15860 clauseCleanupLbdBound_ = input.readInt32();
15861 bitField0_ |= 0x00020000;
15865 int tmpRaw = input.readEnum();
15867 com.google.ortools.sat.SatParameters.ClauseOrdering.forNumber(tmpRaw);
15868 if (tmpValue ==
null) {
15869 mergeUnknownVarintField(60, tmpRaw);
15871 clauseCleanupOrdering_ = tmpRaw;
15872 bitField0_ |= 0x00040000;
15877 int tmpRaw = input.readEnum();
15879 com.google.ortools.sat.SatParameters.RestartAlgorithm.forNumber(tmpRaw);
15880 if (tmpValue ==
null) {
15881 mergeUnknownVarintField(61, tmpRaw);
15883 ensureRestartAlgorithmsIsMutable();
15884 restartAlgorithms_.add(tmpRaw);
15889 int length = input.readRawVarint32();
15890 int oldLimit = input.pushLimit(length);
15891 while(input.getBytesUntilLimit() > 0) {
15892 int tmpRaw = input.readEnum();
15894 com.google.ortools.sat.SatParameters.RestartAlgorithm.forNumber(tmpRaw);
15895 if (tmpValue ==
null) {
15896 mergeUnknownVarintField(61, tmpRaw);
15898 ensureRestartAlgorithmsIsMutable();
15899 restartAlgorithms_.add(tmpRaw);
15902 input.popLimit(oldLimit);
15906 restartRunningWindowSize_ = input.readInt32();
15907 bitField0_ |= 0x80000000;
15911 restartDlAverageRatio_ = input.readDouble();
15912 bitField1_ |= 0x00000001;
15916 useBlockingRestart_ = input.readBool();
15917 bitField1_ |= 0x00000004;
15921 blockingRestartWindowSize_ = input.readInt32();
15922 bitField1_ |= 0x00000008;
15926 blockingRestartMultiplier_ = input.readDouble();
15927 bitField1_ |= 0x00000010;
15931 maxDeterministicTime_ = input.readDouble();
15932 bitField1_ |= 0x00000100;
15936 numConflictsBeforeStrategyChanges_ = input.readInt32();
15937 bitField1_ |= 0x00000020;
15941 strategyChangeIncreaseRatio_ = input.readDouble();
15942 bitField1_ |= 0x00000040;
15946 defaultRestartAlgorithms_ = input.readBytes();
15947 bitField0_ |= 0x20000000;
15951 restartLbdAverageRatio_ = input.readDouble();
15952 bitField1_ |= 0x00000002;
15956 presolveUseBva_ = input.readBool();
15957 bitField1_ |= 0x40000000;
15961 presolveBvaThreshold_ = input.readInt32();
15962 bitField1_ |= 0x80000000;
15966 usePrecedencesInDisjunctiveConstraint_ = input.readBool();
15967 bitField3_ |= 0x00002000;
15971 useErwaHeuristic_ = input.readBool();
15972 bitField0_ |= 0x00000080;
15976 initialVariablesActivity_ = input.readDouble();
15977 bitField0_ |= 0x00000100;
15981 alsoBumpVariablesInConflictReasons_ = input.readBool();
15982 bitField0_ |= 0x00000200;
15986 useOverloadCheckerInCumulative_ = input.readBool();
15987 bitField3_ |= 0x00040000;
15991 useTimetableEdgeFindingInCumulative_ = input.readBool();
15992 bitField3_ |= 0x00080000;
15996 useDisjunctiveConstraintInCumulative_ = input.readBool();
15997 bitField3_ |= 0x00800000;
16001 int tmpRaw = input.readEnum();
16003 com.google.ortools.sat.SatParameters.SearchBranching.forNumber(tmpRaw);
16004 if (tmpValue ==
null) {
16005 mergeUnknownVarintField(82, tmpRaw);
16007 searchBranching_ = tmpRaw;
16008 bitField3_ |= 0x20000000;
16013 optimizeWithCore_ = input.readBool();
16014 bitField4_ |= 0x00000200;
16018 findMultipleCores_ = input.readBool();
16019 bitField3_ |= 0x00000080;
16023 optimizeWithMaxHs_ = input.readBool();
16024 bitField4_ |= 0x00001000;
16028 cpModelPresolve_ = input.readBool();
16029 bitField2_ |= 0x00000002;
16033 enumerateAllSolutions_ = input.readBool();
16034 bitField4_ |= 0x40000000;
16038 presolveBlockedClause_ = input.readBool();
16039 bitField1_ |= 0x20000000;
16043 coverOptimization_ = input.readBool();
16044 bitField3_ |= 0x00000100;
16048 linearizationLevel_ = input.readInt32();
16049 bitField5_ |= 0x40000000;
16053 maxNumCuts_ = input.readInt32();
16054 bitField6_ |= 0x00000002;
16058 onlyAddCutsAtLevelZero_ = input.readBool();
16059 bitField6_ |= 0x00000008;
16063 cpModelUseSatPresolve_ = input.readBool();
16064 bitField2_ |= 0x00000008;
16068 exploitIntegerLpSolution_ = input.readBool();
16069 bitField6_ |= 0x00400000;
16073 autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
16074 bitField5_ |= 0x00000008;
16078 stopAfterFirstSolution_ = input.readBool();
16079 bitField5_ |= 0x00000010;
16083 binarySearchNumConflicts_ = input.readInt32();
16084 bitField4_ |= 0x00000800;
16088 numSearchWorkers_ = input.readInt32();
16089 bitField2_ |= 0x00800000;
16093 useLnsOnly_ = input.readBool();
16094 bitField5_ |= 0x00000080;
16098 randomizeSearch_ = input.readBool();
16099 bitField5_ |= 0x00004000;
16103 searchRandomVariablePoolSize_ = input.readInt64();
16104 bitField5_ |= 0x00008000;
16108 instantiateAllVariables_ = input.readBool();
16109 bitField5_ |= 0x00000004;
16113 booleanEncodingLevel_ = input.readInt32();
16114 bitField5_ |= 0x80000000;
16118 useOptionalVariables_ = input.readBool();
16119 bitField5_ |= 0x00020000;
16123 useExactLpReason_ = input.readBool();
16124 bitField5_ |= 0x00040000;
16128 cpModelProbingLevel_ = input.readInt32();
16129 bitField2_ |= 0x00000004;
16133 addLpConstraintsLazily_ = input.readBool();
16134 bitField6_ |= 0x00002000;
16138 shareObjectiveBounds_ = input.readBool();
16139 bitField2_ |= 0x80000000;
16143 shareLevelZeroBounds_ = input.readBool();
16144 bitField3_ |= 0x00000001;
16148 minOrthogonalityForLpConstraints_ = input.readDouble();
16149 bitField6_ |= 0x00008000;
16153 exploitAllLpSolution_ = input.readBool();
16154 bitField6_ |= 0x00800000;
16158 addCgCuts_ = input.readBool();
16159 bitField6_ |= 0x00000020;
16163 maxIntegerRoundingScaling_ = input.readInt32();
16164 bitField6_ |= 0x00001000;
16168 addMirCuts_ = input.readBool();
16169 bitField6_ |= 0x00000040;
16173 maxConsecutiveInactiveCount_ = input.readInt32();
16174 bitField6_ |= 0x00020000;
16178 newConstraintsBatchSize_ = input.readInt32();
16179 bitField6_ |= 0x00200000;
16183 pseudoCostReliabilityThreshold_ = input.readInt64();
16184 bitField4_ |= 0x00000100;
16188 mipMaxBound_ = input.readDouble();
16189 bitField6_ |= 0x10000000;
16193 mipVarScaling_ = input.readDouble();
16194 bitField6_ |= 0x20000000;
16198 mipWantedPrecision_ = input.readDouble();
16199 bitField7_ |= 0x00000002;
16203 mipMaxActivityExponent_ = input.readInt32();
16204 bitField7_ |= 0x00000004;
16208 mipCheckPrecision_ = input.readDouble();
16209 bitField7_ |= 0x00000008;
16213 useRinsLns_ = input.readBool();
16214 bitField5_ |= 0x00000200;
16218 exploitBestSolution_ = input.readBool();
16219 bitField6_ |= 0x01000000;
16223 exploitObjective_ = input.readBool();
16224 bitField6_ |= 0x04000000;
16228 fillTightenedDomainsInResponse_ = input.readBool();
16229 bitField5_ |= 0x00000001;
16233 useCombinedNoOverlap_ = input.readBool();
16234 bitField5_ |= 0x00080000;
16238 interleaveBatchSize_ = input.readInt32();
16239 bitField2_ |= 0x40000000;
16243 catchSigintSignal_ = input.readBool();
16244 bitField5_ |= 0x00200000;
16248 interleaveSearch_ = input.readBool();
16249 bitField2_ |= 0x20000000;
16253 diversifyLnsParams_ = input.readBool();
16254 bitField5_ |= 0x00002000;
16258 maxPresolveIterations_ = input.readInt32();
16259 bitField2_ |= 0x00000001;
16263 useImpliedBounds_ = input.readBool();
16264 bitField5_ |= 0x00400000;
16268 mergeNoOverlapWorkLimit_ = input.readDouble();
16269 bitField2_ |= 0x00000400;
16273 mergeAtMostOneWorkLimit_ = input.readDouble();
16274 bitField2_ |= 0x00000800;
16278 presolveSubstitutionLevel_ = input.readInt32();
16279 bitField2_ |= 0x00001000;
16283 maxAllDiffCutSize_ = input.readInt32();
16284 bitField6_ |= 0x00000400;
16288 stopAfterPresolve_ = input.readBool();
16289 bitField5_ |= 0x00000020;
16293 debugMaxNumPresolveOperations_ = input.readInt32();
16294 bitField3_ |= 0x00000008;
16298 addLinMaxCuts_ = input.readBool();
16299 bitField6_ |= 0x00000800;
16303 hintConflictLimit_ = input.readInt32();
16304 bitField3_ |= 0x40000000;
16308 maxCutRoundsAtLevelZero_ = input.readInt32();
16309 bitField6_ |= 0x00010000;
16313 cutMaxActiveCountValue_ = input.readDouble();
16314 bitField6_ |= 0x00040000;
16318 cutActiveCountDecay_ = input.readDouble();
16319 bitField6_ |= 0x00080000;
16323 cutCleanupTarget_ = input.readInt32();
16324 bitField6_ |= 0x00100000;
16328 absoluteGapLimit_ = input.readDouble();
16329 bitField1_ |= 0x00000800;
16333 relativeGapLimit_ = input.readDouble();
16334 bitField1_ |= 0x00001000;
16338 exploitRelaxationSolution_ = input.readBool();
16339 bitField6_ |= 0x02000000;
16343 debugPostsolveWithFullSolver_ = input.readBool();
16344 bitField3_ |= 0x00000004;
16348 useSatInprocessing_ = input.readBool();
16349 bitField2_ |= 0x00040000;
16353 useFeasibilityPump_ = input.readBool();
16354 bitField5_ |= 0x00000400;
16358 int tmpRaw = input.readEnum();
16360 com.google.ortools.sat.SatParameters.FPRoundingMethod.forNumber(tmpRaw);
16361 if (tmpValue ==
null) {
16362 mergeUnknownVarintField(165, tmpRaw);
16364 fpRounding_ = tmpRaw;
16365 bitField5_ |= 0x00001000;
16370 mipAutomaticallyScaleVariables_ = input.readBool();
16371 bitField6_ |= 0x80000000;
16375 repairHint_ = input.readBool();
16376 bitField3_ |= 0x80000000;
16380 polarityRephaseIncrement_ = input.readInt32();
16381 bitField0_ |= 0x00000010;
16385 addZeroHalfCuts_ = input.readBool();
16386 bitField6_ |= 0x00000080;
16390 expandAlldiffConstraints_ = input.readBool();
16391 bitField2_ |= 0x00000040;
16395 name_ = input.readBytes();
16396 bitField0_ |= 0x00000001;
16400 addCliqueCuts_ = input.readBool();
16401 bitField6_ |= 0x00000100;
16405 keepAllFeasibleSolutionsInPresolve_ = input.readBool();
16406 bitField4_ |= 0x80000000;
16410 presolveExtractIntegerEnforcement_ = input.readBool();
16411 bitField2_ |= 0x00002000;
16415 polishLpSolution_ = input.readBool();
16416 bitField5_ |= 0x00800000;
16420 useProbingSearch_ = input.readBool();
16421 bitField4_ |= 0x00000002;
16425 convertIntervals_ = input.readBool();
16426 bitField5_ |= 0x04000000;
16430 permuteVariableRandomly_ = input.readBool();
16431 bitField1_ |= 0x00004000;
16435 permutePresolveConstraintOrder_ = input.readBool();
16436 bitField1_ |= 0x00008000;
16440 useAbslRandom_ = input.readBool();
16441 bitField1_ |= 0x00010000;
16445 disableConstraintExpansion_ = input.readBool();
16446 bitField2_ |= 0x00000100;
16450 expandReservoirConstraints_ = input.readBool();
16451 bitField2_ |= 0x00000080;
16455 symmetryLevel_ = input.readInt32();
16456 bitField5_ |= 0x08000000;
16460 logPrefix_ = input.readBytes();
16461 bitField1_ |= 0x00080000;
16465 logToStdout_ = input.readBool();
16466 bitField1_ |= 0x00100000;
16470 logToResponse_ = input.readBool();
16471 bitField1_ |= 0x00200000;
16475 optimizeWithLbTreeSearch_ = input.readBool();
16476 bitField4_ |= 0x00000400;
16480 logSubsolverStatistics_ = input.readBool();
16481 bitField1_ |= 0x00040000;
16485 clauseCleanupRatio_ = input.readDouble();
16486 bitField0_ |= 0x00008000;
16490 maxDomainSizeWhenEncodingEqNeqConstraints_ = input.readInt32();
16491 bitField6_ |= 0x00000001;
16495 fixVariablesToTheirHintedValue_ = input.readBool();
16496 bitField4_ |= 0x00000001;
16500 solutionPoolSize_ = input.readInt32();
16501 bitField5_ |= 0x00000100;
16505 fillAdditionalSolutionsInResponse_ = input.readBool();
16506 bitField5_ |= 0x00000002;
16510 debugCrashOnBadHint_ = input.readBool();
16511 bitField3_ |= 0x00000010;
16515 cutLevel_ = input.readInt32();
16516 bitField6_ |= 0x00000004;
16520 addObjectiveCut_ = input.readBool();
16521 bitField6_ |= 0x00000010;
16525 mipComputeTrueObjectiveBound_ = input.readBool();
16526 bitField7_ |= 0x00000010;
16530 mipMaxValidMagnitude_ = input.readDouble();
16531 bitField7_ |= 0x00000020;
16535 useTimetablingInNoOverlap2D_ = input.readBool();
16536 bitField3_ |= 0x01000000;
16540 presolveInclusionWorkLimit_ = input.readInt64();
16541 bitField2_ |= 0x00004000;
16545 ignoreNames_ = input.readBool();
16546 bitField2_ |= 0x00008000;
16550 shareBinaryClauses_ = input.readBool();
16551 bitField3_ |= 0x00000002;
16555 useShavingInProbingSearch_ = input.readBool();
16556 bitField4_ |= 0x00000010;
16560 shavingSearchDeterministicTime_ = input.readDouble();
16561 bitField4_ |= 0x00000020;
16565 numWorkers_ = input.readInt32();
16566 bitField2_ |= 0x00400000;
16570 com.google.protobuf.ByteString bs = input.readBytes();
16571 ensureSubsolversIsMutable();
16572 subsolvers_.add(bs);
16576 com.google.protobuf.ByteString bs = input.readBytes();
16577 ensureIgnoreSubsolversIsMutable();
16578 ignoreSubsolvers_.add(bs);
16584 com.google.ortools.sat.SatParameters.PARSER,
16585 extensionRegistry);
16586 if (subsolverParamsBuilder_ ==
null) {
16587 ensureSubsolverParamsIsMutable();
16588 subsolverParams_.add(m);
16590 subsolverParamsBuilder_.addMessage(m);
16595 minNumLnsWorkers_ = input.readInt32();
16596 bitField2_ |= 0x01000000;
16600 useEnergeticReasoningInNoOverlap2D_ = input.readBool();
16601 bitField3_ |= 0x02000000;
16605 useDualSchedulingHeuristics_ = input.readBool();
16606 bitField3_ |= 0x10000000;
16610 useHardPrecedencesInCumulative_ = input.readBool();
16611 bitField3_ |= 0x00200000;
16615 detectTableWithCost_ = input.readBool();
16616 bitField2_ |= 0x00000010;
16620 tableCompressionLevel_ = input.readInt32();
16621 bitField2_ |= 0x00000020;
16625 com.google.protobuf.ByteString bs = input.readBytes();
16626 ensureExtraSubsolversIsMutable();
16627 extraSubsolvers_.add(bs);
16631 exploitAllPrecedences_ = input.readBool();
16632 bitField3_ |= 0x00400000;
16636 propagationLoopDetectionFactor_ = input.readDouble();
16637 bitField3_ |= 0x00001000;
16641 onlySolveIp_ = input.readBool();
16642 bitField7_ |= 0x00000001;
16646 encodeComplexLinearConstraintWithInteger_ = input.readBool();
16647 bitField2_ |= 0x00000200;
16651 newLinearPropagation_ = input.readBool();
16652 bitField5_ |= 0x10000000;
16656 mipScaleLargeDomain_ = input.readBool();
16657 bitField6_ |= 0x40000000;
16661 probingDeterministicTimeLimit_ = input.readDouble();
16662 bitField1_ |= 0x08000000;
16666 rootLpIterations_ = input.readInt32();
16667 bitField6_ |= 0x00004000;
16671 useObjectiveLbSearch_ = input.readBool();
16672 bitField4_ |= 0x00000040;
16676 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = input.readInt32();
16677 bitField3_ |= 0x00004000;
16681 useStrongPropagationInDisjunctive_ = input.readBool();
16682 bitField3_ |= 0x00008000;
16686 mipDropTolerance_ = input.readDouble();
16687 bitField7_ |= 0x00000080;
16691 inferAllDiffs_ = input.readBool();
16692 bitField2_ |= 0x00010000;
16696 findBigLinearOverlap_ = input.readBool();
16697 bitField2_ |= 0x00020000;
16701 sharedTreeNumWorkers_ = input.readInt32();
16702 bitField4_ |= 0x02000000;
16706 useSharedTreeSearch_ = input.readBool();
16707 bitField4_ |= 0x04000000;
16711 sharedTreeWorkerObjectiveSplitProbability_ = input.readDouble();
16712 bitField4_ |= 0x08000000;
16716 sharedTreeMaxNodesPerWorker_ = input.readInt32();
16717 bitField4_ |= 0x10000000;
16721 int tmpRaw = input.readEnum();
16723 com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.forNumber(tmpRaw);
16724 if (tmpValue ==
null) {
16725 mergeUnknownVarintField(239, tmpRaw);
16727 sharedTreeSplitStrategy_ = tmpRaw;
16728 bitField4_ |= 0x20000000;
16733 testFeasibilityJump_ = input.readBool();
16734 bitField4_ |= 0x00004000;
16738 feasibilityJumpDecay_ = input.readDouble();
16739 bitField4_ |= 0x00008000;
16743 numViolationLs_ = input.readInt32();
16744 bitField4_ |= 0x00400000;
16748 feasibilityJumpVarRandomizationProbability_ = input.readDouble();
16749 bitField4_ |= 0x00040000;
16753 feasibilityJumpVarPerburbationRangeRatio_ = input.readDouble();
16754 bitField4_ |= 0x00080000;
16758 violationLsPerturbationPeriod_ = input.readInt32();
16759 bitField4_ |= 0x00800000;
16763 feasibilityJumpEnableRestarts_ = input.readBool();
16764 bitField4_ |= 0x00100000;
16768 stopAfterRootPropagation_ = input.readBool();
16769 bitField5_ |= 0x00000040;
16773 useObjectiveShavingSearch_ = input.readBool();
16774 bitField4_ |= 0x00000080;
16778 useLbRelaxLns_ = input.readBool();
16779 bitField5_ |= 0x00000800;
16783 linearSplitSize_ = input.readInt32();
16784 bitField5_ |= 0x20000000;
16788 feasibilityJumpLinearizationLevel_ = input.readInt32();
16789 bitField4_ |= 0x00010000;
16793 feasibilityJumpRestartFactor_ = input.readInt32();
16794 bitField4_ |= 0x00020000;
16798 violationLsCompoundMoveProbability_ = input.readDouble();
16799 bitField4_ |= 0x01000000;
16803 maxNumIntervalsForTimetableEdgeFinding_ = input.readInt32();
16804 bitField3_ |= 0x00100000;
16808 mipPresolveLevel_ = input.readInt32();
16809 bitField7_ |= 0x00000100;
16813 pushAllTasksTowardStart_ = input.readBool();
16814 bitField5_ |= 0x00010000;
16818 useDynamicPrecedenceInDisjunctive_ = input.readBool();
16819 bitField3_ |= 0x00010000;
16823 feasibilityJumpMaxExpandedConstraintSize_ = input.readInt32();
16824 bitField4_ |= 0x00200000;
16828 useFeasibilityJump_ = input.readBool();
16829 bitField4_ |= 0x00002000;
16833 lpPrimalTolerance_ = input.readDouble();
16834 bitField5_ |= 0x01000000;
16838 lpDualTolerance_ = input.readDouble();
16839 bitField5_ |= 0x02000000;
16843 useDynamicPrecedenceInCumulative_ = input.readBool();
16844 bitField3_ |= 0x00020000;
16848 useExtendedProbing_ = input.readBool();
16849 bitField4_ |= 0x00000004;
16853 atMostOneMaxExpansionSize_ = input.readInt32();
16854 bitField5_ |= 0x00100000;
16858 useAreaEnergeticReasoningInNoOverlap2D_ = input.readBool();
16859 bitField3_ |= 0x04000000;
16863 probingNumCombinationsLimit_ = input.readInt32();
16864 bitField4_ |= 0x00000008;
16868 inprocessingDtimeRatio_ = input.readDouble();
16869 bitField2_ |= 0x00080000;
16873 inprocessingProbingDtime_ = input.readDouble();
16874 bitField2_ |= 0x00100000;
16878 inprocessingMinimizationDtime_ = input.readDouble();
16879 bitField2_ |= 0x00200000;
16883 maxPairsPairwiseReasoningInNoOverlap2D_ = input.readInt32();
16884 bitField3_ |= 0x08000000;
16888 detectLinearizedProduct_ = input.readBool();
16889 bitField6_ |= 0x08000000;
16893 mipTreatHighMagnitudeBoundsAsInfinity_ = input.readBool();
16894 bitField7_ |= 0x00000040;
16898 addRltCuts_ = input.readBool();
16899 bitField6_ |= 0x00000200;
16903 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
16910 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
16911 throw e.unwrapIOException();
16917 private int bitField0_;
16918 private int bitField1_;
16919 private int bitField2_;
16920 private int bitField3_;
16921 private int bitField4_;
16922 private int bitField5_;
16923 private int bitField6_;
16924 private int bitField7_;
16926 private java.lang.Object name_ =
"";
16937 return ((bitField0_ & 0x00000001) != 0);
16949 java.lang.Object ref = name_;
16950 if (!(ref instanceof java.lang.String)) {
16951 com.google.protobuf.ByteString bs =
16952 (com.google.protobuf.ByteString) ref;
16953 java.lang.String s = bs.toStringUtf8();
16954 if (bs.isValidUtf8()) {
16959 return (java.lang.String) ref;
16971 public com.google.protobuf.ByteString
16973 java.lang.Object ref = name_;
16974 if (ref instanceof String) {
16975 com.google.protobuf.ByteString b =
16976 com.google.protobuf.ByteString.copyFromUtf8(
16977 (java.lang.String) ref);
16981 return (com.google.protobuf.ByteString) ref;
16995 java.lang.String value) {
16996 if (value ==
null) {
throw new NullPointerException(); }
16998 bitField0_ |= 0x00000001;
17013 bitField0_ = (bitField0_ & ~0x00000001);
17028 com.google.protobuf.ByteString value) {
17029 if (value ==
null) {
throw new NullPointerException(); }
17031 bitField0_ |= 0x00000001;
17036 private int preferredVariableOrder_ = 0;
17042 return ((bitField0_ & 0x00000002) != 0);
17048 @java.lang.Override
17051 return result ==
null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
17059 if (value ==
null) {
17060 throw new NullPointerException();
17062 bitField0_ |= 0x00000002;
17063 preferredVariableOrder_ = value.getNumber();
17072 bitField0_ = (bitField0_ & ~0x00000002);
17073 preferredVariableOrder_ = 0;
17078 private int initialPolarity_ = 1;
17084 return ((bitField0_ & 0x00000004) != 0);
17090 @java.lang.Override
17093 return result ==
null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
17101 if (value ==
null) {
17102 throw new NullPointerException();
17104 bitField0_ |= 0x00000004;
17105 initialPolarity_ = value.getNumber();
17114 bitField0_ = (bitField0_ & ~0x00000004);
17115 initialPolarity_ = 1;
17120 private boolean usePhaseSaving_ =
true;
17139 @java.lang.Override
17141 return ((bitField0_ & 0x00000008) != 0);
17161 @java.lang.Override
17163 return usePhaseSaving_;
17186 usePhaseSaving_ = value;
17187 bitField0_ |= 0x00000008;
17210 bitField0_ = (bitField0_ & ~0x00000008);
17211 usePhaseSaving_ =
true;
17216 private int polarityRephaseIncrement_ = 1000;
17227 @java.lang.Override
17229 return ((bitField0_ & 0x00000010) != 0);
17241 @java.lang.Override
17243 return polarityRephaseIncrement_;
17258 polarityRephaseIncrement_ = value;
17259 bitField0_ |= 0x00000010;
17274 bitField0_ = (bitField0_ & ~0x00000010);
17275 polarityRephaseIncrement_ = 1000;
17280 private double randomPolarityRatio_ ;
17293 @java.lang.Override
17295 return ((bitField0_ & 0x00000020) != 0);
17309 @java.lang.Override
17311 return randomPolarityRatio_;
17328 randomPolarityRatio_ = value;
17329 bitField0_ |= 0x00000020;
17346 bitField0_ = (bitField0_ & ~0x00000020);
17347 randomPolarityRatio_ = 0D;
17352 private double randomBranchesRatio_ ;
17363 @java.lang.Override
17365 return ((bitField0_ & 0x00000040) != 0);
17377 @java.lang.Override
17379 return randomBranchesRatio_;
17394 randomBranchesRatio_ = value;
17395 bitField0_ |= 0x00000040;
17410 bitField0_ = (bitField0_ & ~0x00000040);
17411 randomBranchesRatio_ = 0D;
17416 private boolean useErwaHeuristic_ ;
17427 @java.lang.Override
17429 return ((bitField0_ & 0x00000080) != 0);
17441 @java.lang.Override
17443 return useErwaHeuristic_;
17458 useErwaHeuristic_ = value;
17459 bitField0_ |= 0x00000080;
17474 bitField0_ = (bitField0_ & ~0x00000080);
17475 useErwaHeuristic_ =
false;
17480 private double initialVariablesActivity_ ;
17494 @java.lang.Override
17496 return ((bitField0_ & 0x00000100) != 0);
17511 @java.lang.Override
17513 return initialVariablesActivity_;
17531 initialVariablesActivity_ = value;
17532 bitField0_ |= 0x00000100;
17550 bitField0_ = (bitField0_ & ~0x00000100);
17551 initialVariablesActivity_ = 0D;
17556 private boolean alsoBumpVariablesInConflictReasons_ ;
17568 @java.lang.Override
17570 return ((bitField0_ & 0x00000200) != 0);
17583 @java.lang.Override
17585 return alsoBumpVariablesInConflictReasons_;
17601 alsoBumpVariablesInConflictReasons_ = value;
17602 bitField0_ |= 0x00000200;
17618 bitField0_ = (bitField0_ & ~0x00000200);
17619 alsoBumpVariablesInConflictReasons_ =
false;
17624 private int minimizationAlgorithm_ = 2;
17630 return ((bitField0_ & 0x00000400) != 0);
17636 @java.lang.Override
17639 return result ==
null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
17647 if (value ==
null) {
17648 throw new NullPointerException();
17650 bitField0_ |= 0x00000400;
17651 minimizationAlgorithm_ = value.getNumber();
17660 bitField0_ = (bitField0_ & ~0x00000400);
17661 minimizationAlgorithm_ = 2;
17666 private int binaryMinimizationAlgorithm_ = 1;
17672 return ((bitField0_ & 0x00000800) != 0);
17678 @java.lang.Override
17681 return result ==
null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
17689 if (value ==
null) {
17690 throw new NullPointerException();
17692 bitField0_ |= 0x00000800;
17693 binaryMinimizationAlgorithm_ = value.getNumber();
17702 bitField0_ = (bitField0_ & ~0x00000800);
17703 binaryMinimizationAlgorithm_ = 1;
17708 private boolean subsumptionDuringConflictAnalysis_ =
true;
17720 @java.lang.Override
17722 return ((bitField0_ & 0x00001000) != 0);
17735 @java.lang.Override
17737 return subsumptionDuringConflictAnalysis_;
17753 subsumptionDuringConflictAnalysis_ = value;
17754 bitField0_ |= 0x00001000;
17770 bitField0_ = (bitField0_ & ~0x00001000);
17771 subsumptionDuringConflictAnalysis_ =
true;
17776 private int clauseCleanupPeriod_ = 10000;
17785 @java.lang.Override
17787 return ((bitField0_ & 0x00002000) != 0);
17797 @java.lang.Override
17799 return clauseCleanupPeriod_;
17812 clauseCleanupPeriod_ = value;
17813 bitField0_ |= 0x00002000;
17826 bitField0_ = (bitField0_ & ~0x00002000);
17827 clauseCleanupPeriod_ = 10000;
17832 private int clauseCleanupTarget_ ;
17842 @java.lang.Override
17844 return ((bitField0_ & 0x00004000) != 0);
17855 @java.lang.Override
17857 return clauseCleanupTarget_;
17871 clauseCleanupTarget_ = value;
17872 bitField0_ |= 0x00004000;
17886 bitField0_ = (bitField0_ & ~0x00004000);
17887 clauseCleanupTarget_ = 0;
17892 private double clauseCleanupRatio_ = 0.5D;
17903 @java.lang.Override
17905 return ((bitField0_ & 0x00008000) != 0);
17917 @java.lang.Override
17919 return clauseCleanupRatio_;
17934 clauseCleanupRatio_ = value;
17935 bitField0_ |= 0x00008000;
17950 bitField0_ = (bitField0_ & ~0x00008000);
17951 clauseCleanupRatio_ = 0.5D;
17956 private int clauseCleanupProtection_ = 0;
17962 return ((bitField0_ & 0x00010000) != 0);
17968 @java.lang.Override
17971 return result ==
null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
17979 if (value ==
null) {
17980 throw new NullPointerException();
17982 bitField0_ |= 0x00010000;
17983 clauseCleanupProtection_ = value.getNumber();
17992 bitField0_ = (bitField0_ & ~0x00010000);
17993 clauseCleanupProtection_ = 0;
17998 private int clauseCleanupLbdBound_ = 5;
18008 @java.lang.Override
18010 return ((bitField0_ & 0x00020000) != 0);
18021 @java.lang.Override
18023 return clauseCleanupLbdBound_;
18037 clauseCleanupLbdBound_ = value;
18038 bitField0_ |= 0x00020000;
18052 bitField0_ = (bitField0_ & ~0x00020000);
18053 clauseCleanupLbdBound_ = 5;
18058 private int clauseCleanupOrdering_ = 0;
18064 return ((bitField0_ & 0x00040000) != 0);
18070 @java.lang.Override
18073 return result ==
null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
18081 if (value ==
null) {
18082 throw new NullPointerException();
18084 bitField0_ |= 0x00040000;
18085 clauseCleanupOrdering_ = value.getNumber();
18094 bitField0_ = (bitField0_ & ~0x00040000);
18095 clauseCleanupOrdering_ = 0;
18100 private int pbCleanupIncrement_ = 200;
18109 @java.lang.Override
18111 return ((bitField0_ & 0x00080000) != 0);
18121 @java.lang.Override
18123 return pbCleanupIncrement_;
18136 pbCleanupIncrement_ = value;
18137 bitField0_ |= 0x00080000;
18150 bitField0_ = (bitField0_ & ~0x00080000);
18151 pbCleanupIncrement_ = 200;
18156 private double pbCleanupRatio_ = 0.5D;
18161 @java.lang.Override
18163 return ((bitField0_ & 0x00100000) != 0);
18169 @java.lang.Override
18171 return pbCleanupRatio_;
18180 pbCleanupRatio_ = value;
18181 bitField0_ |= 0x00100000;
18190 bitField0_ = (bitField0_ & ~0x00100000);
18191 pbCleanupRatio_ = 0.5D;
18196 private double variableActivityDecay_ = 0.8D;
18212 @java.lang.Override
18214 return ((bitField0_ & 0x00200000) != 0);
18231 @java.lang.Override
18233 return variableActivityDecay_;
18253 variableActivityDecay_ = value;
18254 bitField0_ |= 0x00200000;
18274 bitField0_ = (bitField0_ & ~0x00200000);
18275 variableActivityDecay_ = 0.8D;
18280 private double maxVariableActivityValue_ = 1e+100D;
18285 @java.lang.Override
18287 return ((bitField0_ & 0x00400000) != 0);
18293 @java.lang.Override
18295 return maxVariableActivityValue_;
18304 maxVariableActivityValue_ = value;
18305 bitField0_ |= 0x00400000;
18314 bitField0_ = (bitField0_ & ~0x00400000);
18315 maxVariableActivityValue_ = 1e+100D;
18320 private double glucoseMaxDecay_ = 0.95D;
18333 @java.lang.Override
18335 return ((bitField0_ & 0x00800000) != 0);
18349 @java.lang.Override
18351 return glucoseMaxDecay_;
18368 glucoseMaxDecay_ = value;
18369 bitField0_ |= 0x00800000;
18386 bitField0_ = (bitField0_ & ~0x00800000);
18387 glucoseMaxDecay_ = 0.95D;
18392 private double glucoseDecayIncrement_ = 0.01D;
18397 @java.lang.Override
18399 return ((bitField0_ & 0x01000000) != 0);
18405 @java.lang.Override
18407 return glucoseDecayIncrement_;
18416 glucoseDecayIncrement_ = value;
18417 bitField0_ |= 0x01000000;
18426 bitField0_ = (bitField0_ & ~0x01000000);
18427 glucoseDecayIncrement_ = 0.01D;
18432 private int glucoseDecayIncrementPeriod_ = 5000;
18437 @java.lang.Override
18439 return ((bitField0_ & 0x02000000) != 0);
18445 @java.lang.Override
18447 return glucoseDecayIncrementPeriod_;
18456 glucoseDecayIncrementPeriod_ = value;
18457 bitField0_ |= 0x02000000;
18466 bitField0_ = (bitField0_ & ~0x02000000);
18467 glucoseDecayIncrementPeriod_ = 5000;
18472 private double clauseActivityDecay_ = 0.999D;
18481 @java.lang.Override
18483 return ((bitField0_ & 0x04000000) != 0);
18493 @java.lang.Override
18495 return clauseActivityDecay_;
18508 clauseActivityDecay_ = value;
18509 bitField0_ |= 0x04000000;
18522 bitField0_ = (bitField0_ & ~0x04000000);
18523 clauseActivityDecay_ = 0.999D;
18528 private double maxClauseActivityValue_ = 1e+20D;
18533 @java.lang.Override
18535 return ((bitField0_ & 0x08000000) != 0);
18541 @java.lang.Override
18543 return maxClauseActivityValue_;
18552 maxClauseActivityValue_ = value;
18553 bitField0_ |= 0x08000000;
18562 bitField0_ = (bitField0_ & ~0x08000000);
18563 maxClauseActivityValue_ = 1e+20D;
18568 private java.util.List<java.lang.Integer> restartAlgorithms_ =
18569 java.util.Collections.emptyList();
18570 private void ensureRestartAlgorithmsIsMutable() {
18571 if (!((bitField0_ & 0x10000000) != 0)) {
18572 restartAlgorithms_ =
new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
18573 bitField0_ |= 0x10000000;
18593 return new com.google.protobuf.Internal.ListAdapter<
18594 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
18613 return restartAlgorithms_.size();
18633 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
18654 int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
18655 if (value ==
null) {
18656 throw new NullPointerException();
18658 ensureRestartAlgorithmsIsMutable();
18659 restartAlgorithms_.set(index, value.getNumber());
18681 if (value ==
null) {
18682 throw new NullPointerException();
18684 ensureRestartAlgorithmsIsMutable();
18685 restartAlgorithms_.add(value.getNumber());
18707 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
18708 ensureRestartAlgorithmsIsMutable();
18709 for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
18710 restartAlgorithms_.add(value.getNumber());
18732 restartAlgorithms_ = java.util.Collections.emptyList();
18733 bitField0_ = (bitField0_ & ~0x10000000);
18738 private java.lang.Object defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
18744 return ((bitField0_ & 0x20000000) != 0);
18751 java.lang.Object ref = defaultRestartAlgorithms_;
18752 if (!(ref instanceof java.lang.String)) {
18753 com.google.protobuf.ByteString bs =
18754 (com.google.protobuf.ByteString) ref;
18755 java.lang.String s = bs.toStringUtf8();
18756 if (bs.isValidUtf8()) {
18757 defaultRestartAlgorithms_ = s;
18761 return (java.lang.String) ref;
18768 public com.google.protobuf.ByteString
18770 java.lang.Object ref = defaultRestartAlgorithms_;
18771 if (ref instanceof String) {
18772 com.google.protobuf.ByteString b =
18773 com.google.protobuf.ByteString.copyFromUtf8(
18774 (java.lang.String) ref);
18775 defaultRestartAlgorithms_ = b;
18778 return (com.google.protobuf.ByteString) ref;
18787 java.lang.String value) {
18788 if (value ==
null) {
throw new NullPointerException(); }
18789 defaultRestartAlgorithms_ = value;
18790 bitField0_ |= 0x20000000;
18800 bitField0_ = (bitField0_ & ~0x20000000);
18810 com.google.protobuf.ByteString value) {
18811 if (value ==
null) {
throw new NullPointerException(); }
18812 defaultRestartAlgorithms_ = value;
18813 bitField0_ |= 0x20000000;
18818 private int restartPeriod_ = 50;
18828 @java.lang.Override
18830 return ((bitField0_ & 0x40000000) != 0);
18841 @java.lang.Override
18843 return restartPeriod_;
18857 restartPeriod_ = value;
18858 bitField0_ |= 0x40000000;
18872 bitField0_ = (bitField0_ & ~0x40000000);
18873 restartPeriod_ = 50;
18878 private int restartRunningWindowSize_ = 50;
18887 @java.lang.Override
18889 return ((bitField0_ & 0x80000000) != 0);
18899 @java.lang.Override
18901 return restartRunningWindowSize_;
18914 restartRunningWindowSize_ = value;
18915 bitField0_ |= 0x80000000;
18928 bitField0_ = (bitField0_ & ~0x80000000);
18929 restartRunningWindowSize_ = 50;
18934 private double restartDlAverageRatio_ = 1D;
18944 @java.lang.Override
18946 return ((bitField1_ & 0x00000001) != 0);
18957 @java.lang.Override
18959 return restartDlAverageRatio_;
18973 restartDlAverageRatio_ = value;
18974 bitField1_ |= 0x00000001;
18988 bitField1_ = (bitField1_ & ~0x00000001);
18989 restartDlAverageRatio_ = 1D;
18994 private double restartLbdAverageRatio_ = 1D;
18999 @java.lang.Override
19001 return ((bitField1_ & 0x00000002) != 0);
19007 @java.lang.Override
19009 return restartLbdAverageRatio_;
19018 restartLbdAverageRatio_ = value;
19019 bitField1_ |= 0x00000002;
19028 bitField1_ = (bitField1_ & ~0x00000002);
19029 restartLbdAverageRatio_ = 1D;
19034 private boolean useBlockingRestart_ ;
19045 @java.lang.Override
19047 return ((bitField1_ & 0x00000004) != 0);
19059 @java.lang.Override
19061 return useBlockingRestart_;
19076 useBlockingRestart_ = value;
19077 bitField1_ |= 0x00000004;
19092 bitField1_ = (bitField1_ & ~0x00000004);
19093 useBlockingRestart_ =
false;
19098 private int blockingRestartWindowSize_ = 5000;
19103 @java.lang.Override
19105 return ((bitField1_ & 0x00000008) != 0);
19111 @java.lang.Override
19113 return blockingRestartWindowSize_;
19122 blockingRestartWindowSize_ = value;
19123 bitField1_ |= 0x00000008;
19132 bitField1_ = (bitField1_ & ~0x00000008);
19133 blockingRestartWindowSize_ = 5000;
19138 private double blockingRestartMultiplier_ = 1.4D;
19143 @java.lang.Override
19145 return ((bitField1_ & 0x00000010) != 0);
19151 @java.lang.Override
19153 return blockingRestartMultiplier_;
19162 blockingRestartMultiplier_ = value;
19163 bitField1_ |= 0x00000010;
19172 bitField1_ = (bitField1_ & ~0x00000010);
19173 blockingRestartMultiplier_ = 1.4D;
19178 private int numConflictsBeforeStrategyChanges_ ;
19189 @java.lang.Override
19191 return ((bitField1_ & 0x00000020) != 0);
19203 @java.lang.Override
19205 return numConflictsBeforeStrategyChanges_;
19220 numConflictsBeforeStrategyChanges_ = value;
19221 bitField1_ |= 0x00000020;
19236 bitField1_ = (bitField1_ & ~0x00000020);
19237 numConflictsBeforeStrategyChanges_ = 0;
19242 private double strategyChangeIncreaseRatio_ ;
19252 @java.lang.Override
19254 return ((bitField1_ & 0x00000040) != 0);
19265 @java.lang.Override
19267 return strategyChangeIncreaseRatio_;
19281 strategyChangeIncreaseRatio_ = value;
19282 bitField1_ |= 0x00000040;
19296 bitField1_ = (bitField1_ & ~0x00000040);
19297 strategyChangeIncreaseRatio_ = 0D;
19302 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
19312 @java.lang.Override
19314 return ((bitField1_ & 0x00000080) != 0);
19325 @java.lang.Override
19327 return maxTimeInSeconds_;
19341 maxTimeInSeconds_ = value;
19342 bitField1_ |= 0x00000080;
19356 bitField1_ = (bitField1_ & ~0x00000080);
19357 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
19362 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
19373 @java.lang.Override
19375 return ((bitField1_ & 0x00000100) != 0);
19387 @java.lang.Override
19389 return maxDeterministicTime_;
19404 maxDeterministicTime_ = value;
19405 bitField1_ |= 0x00000100;
19420 bitField1_ = (bitField1_ & ~0x00000100);
19421 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
19426 private long maxNumberOfConflicts_ = 9223372036854775807L;
19441 @java.lang.Override
19443 return ((bitField1_ & 0x00000200) != 0);
19459 @java.lang.Override
19461 return maxNumberOfConflicts_;
19480 maxNumberOfConflicts_ = value;
19481 bitField1_ |= 0x00000200;
19500 bitField1_ = (bitField1_ & ~0x00000200);
19501 maxNumberOfConflicts_ = 9223372036854775807L;
19506 private long maxMemoryInMb_ = 10000L;
19520 @java.lang.Override
19522 return ((bitField1_ & 0x00000400) != 0);
19537 @java.lang.Override
19539 return maxMemoryInMb_;
19557 maxMemoryInMb_ = value;
19558 bitField1_ |= 0x00000400;
19576 bitField1_ = (bitField1_ & ~0x00000400);
19577 maxMemoryInMb_ = 10000L;
19582 private double absoluteGapLimit_ = 0.0001D;
19608 @java.lang.Override
19610 return ((bitField1_ & 0x00000800) != 0);
19637 @java.lang.Override
19639 return absoluteGapLimit_;
19669 absoluteGapLimit_ = value;
19670 bitField1_ |= 0x00000800;
19700 bitField1_ = (bitField1_ & ~0x00000800);
19701 absoluteGapLimit_ = 0.0001D;
19706 private double relativeGapLimit_ ;
19711 @java.lang.Override
19713 return ((bitField1_ & 0x00001000) != 0);
19719 @java.lang.Override
19721 return relativeGapLimit_;
19730 relativeGapLimit_ = value;
19731 bitField1_ |= 0x00001000;
19740 bitField1_ = (bitField1_ & ~0x00001000);
19741 relativeGapLimit_ = 0D;
19746 private int randomSeed_ = 1;
19761 @java.lang.Override
19763 return ((bitField1_ & 0x00002000) != 0);
19779 @java.lang.Override
19781 return randomSeed_;
19800 randomSeed_ = value;
19801 bitField1_ |= 0x00002000;
19820 bitField1_ = (bitField1_ & ~0x00002000);
19826 private boolean permuteVariableRandomly_ ;
19838 @java.lang.Override
19840 return ((bitField1_ & 0x00004000) != 0);
19853 @java.lang.Override
19855 return permuteVariableRandomly_;
19871 permuteVariableRandomly_ = value;
19872 bitField1_ |= 0x00004000;
19888 bitField1_ = (bitField1_ & ~0x00004000);
19889 permuteVariableRandomly_ =
false;
19894 private boolean permutePresolveConstraintOrder_ ;
19899 @java.lang.Override
19901 return ((bitField1_ & 0x00008000) != 0);
19907 @java.lang.Override
19909 return permutePresolveConstraintOrder_;
19918 permutePresolveConstraintOrder_ = value;
19919 bitField1_ |= 0x00008000;
19928 bitField1_ = (bitField1_ & ~0x00008000);
19929 permutePresolveConstraintOrder_ =
false;
19934 private boolean useAbslRandom_ ;
19939 @java.lang.Override
19941 return ((bitField1_ & 0x00010000) != 0);
19947 @java.lang.Override
19949 return useAbslRandom_;
19958 useAbslRandom_ = value;
19959 bitField1_ |= 0x00010000;
19968 bitField1_ = (bitField1_ & ~0x00010000);
19969 useAbslRandom_ =
false;
19974 private boolean logSearchProgress_ ;
19985 @java.lang.Override
19987 return ((bitField1_ & 0x00020000) != 0);
19999 @java.lang.Override
20001 return logSearchProgress_;
20016 logSearchProgress_ = value;
20017 bitField1_ |= 0x00020000;
20032 bitField1_ = (bitField1_ & ~0x00020000);
20033 logSearchProgress_ =
false;
20038 private boolean logSubsolverStatistics_ ;
20050 @java.lang.Override
20052 return ((bitField1_ & 0x00040000) != 0);
20065 @java.lang.Override
20067 return logSubsolverStatistics_;
20083 logSubsolverStatistics_ = value;
20084 bitField1_ |= 0x00040000;
20100 bitField1_ = (bitField1_ & ~0x00040000);
20101 logSubsolverStatistics_ =
false;
20106 private java.lang.Object logPrefix_ =
"";
20116 return ((bitField1_ & 0x00080000) != 0);
20127 java.lang.Object ref = logPrefix_;
20128 if (!(ref instanceof java.lang.String)) {
20129 com.google.protobuf.ByteString bs =
20130 (com.google.protobuf.ByteString) ref;
20131 java.lang.String s = bs.toStringUtf8();
20132 if (bs.isValidUtf8()) {
20137 return (java.lang.String) ref;
20148 public com.google.protobuf.ByteString
20150 java.lang.Object ref = logPrefix_;
20151 if (ref instanceof String) {
20152 com.google.protobuf.ByteString b =
20153 com.google.protobuf.ByteString.copyFromUtf8(
20154 (java.lang.String) ref);
20158 return (com.google.protobuf.ByteString) ref;
20171 java.lang.String value) {
20172 if (value ==
null) {
throw new NullPointerException(); }
20173 logPrefix_ = value;
20174 bitField1_ |= 0x00080000;
20188 bitField1_ = (bitField1_ & ~0x00080000);
20202 com.google.protobuf.ByteString value) {
20203 if (value ==
null) {
throw new NullPointerException(); }
20204 logPrefix_ = value;
20205 bitField1_ |= 0x00080000;
20210 private boolean logToStdout_ =
true;
20219 @java.lang.Override
20221 return ((bitField1_ & 0x00100000) != 0);
20231 @java.lang.Override
20233 return logToStdout_;
20246 logToStdout_ = value;
20247 bitField1_ |= 0x00100000;
20260 bitField1_ = (bitField1_ & ~0x00100000);
20261 logToStdout_ =
true;
20266 private boolean logToResponse_ ;
20275 @java.lang.Override
20277 return ((bitField1_ & 0x00200000) != 0);
20287 @java.lang.Override
20289 return logToResponse_;
20302 logToResponse_ = value;
20303 bitField1_ |= 0x00200000;
20316 bitField1_ = (bitField1_ & ~0x00200000);
20317 logToResponse_ =
false;
20322 private boolean usePbResolution_ ;
20334 @java.lang.Override
20336 return ((bitField1_ & 0x00400000) != 0);
20349 @java.lang.Override
20351 return usePbResolution_;
20367 usePbResolution_ = value;
20368 bitField1_ |= 0x00400000;
20384 bitField1_ = (bitField1_ & ~0x00400000);
20385 usePbResolution_ =
false;
20390 private boolean minimizeReductionDuringPbResolution_ ;
20402 @java.lang.Override
20404 return ((bitField1_ & 0x00800000) != 0);
20417 @java.lang.Override
20419 return minimizeReductionDuringPbResolution_;
20435 minimizeReductionDuringPbResolution_ = value;
20436 bitField1_ |= 0x00800000;
20452 bitField1_ = (bitField1_ & ~0x00800000);
20453 minimizeReductionDuringPbResolution_ =
false;
20458 private boolean countAssumptionLevelsInLbd_ =
true;
20475 @java.lang.Override
20477 return ((bitField1_ & 0x01000000) != 0);
20495 @java.lang.Override
20497 return countAssumptionLevelsInLbd_;
20518 countAssumptionLevelsInLbd_ = value;
20519 bitField1_ |= 0x01000000;
20540 bitField1_ = (bitField1_ & ~0x01000000);
20541 countAssumptionLevelsInLbd_ =
true;
20546 private int presolveBveThreshold_ = 500;
20557 @java.lang.Override
20559 return ((bitField1_ & 0x02000000) != 0);
20571 @java.lang.Override
20573 return presolveBveThreshold_;
20588 presolveBveThreshold_ = value;
20589 bitField1_ |= 0x02000000;
20604 bitField1_ = (bitField1_ & ~0x02000000);
20605 presolveBveThreshold_ = 500;
20610 private int presolveBveClauseWeight_ = 3;
20620 @java.lang.Override
20622 return ((bitField1_ & 0x04000000) != 0);
20633 @java.lang.Override
20635 return presolveBveClauseWeight_;
20649 presolveBveClauseWeight_ = value;
20650 bitField1_ |= 0x04000000;
20664 bitField1_ = (bitField1_ & ~0x04000000);
20665 presolveBveClauseWeight_ = 3;
20670 private double probingDeterministicTimeLimit_ = 1D;
20683 @java.lang.Override
20685 return ((bitField1_ & 0x08000000) != 0);
20699 @java.lang.Override
20701 return probingDeterministicTimeLimit_;
20718 probingDeterministicTimeLimit_ = value;
20719 bitField1_ |= 0x08000000;
20736 bitField1_ = (bitField1_ & ~0x08000000);
20737 probingDeterministicTimeLimit_ = 1D;
20742 private double presolveProbingDeterministicTimeLimit_ = 30D;
20747 @java.lang.Override
20749 return ((bitField1_ & 0x10000000) != 0);
20755 @java.lang.Override
20757 return presolveProbingDeterministicTimeLimit_;
20766 presolveProbingDeterministicTimeLimit_ = value;
20767 bitField1_ |= 0x10000000;
20776 bitField1_ = (bitField1_ & ~0x10000000);
20777 presolveProbingDeterministicTimeLimit_ = 30D;
20782 private boolean presolveBlockedClause_ =
true;
20792 @java.lang.Override
20794 return ((bitField1_ & 0x20000000) != 0);
20805 @java.lang.Override
20807 return presolveBlockedClause_;
20821 presolveBlockedClause_ = value;
20822 bitField1_ |= 0x20000000;
20836 bitField1_ = (bitField1_ & ~0x20000000);
20837 presolveBlockedClause_ =
true;
20842 private boolean presolveUseBva_ =
true;
20851 @java.lang.Override
20853 return ((bitField1_ & 0x40000000) != 0);
20863 @java.lang.Override
20865 return presolveUseBva_;
20878 presolveUseBva_ = value;
20879 bitField1_ |= 0x40000000;
20892 bitField1_ = (bitField1_ & ~0x40000000);
20893 presolveUseBva_ =
true;
20898 private int presolveBvaThreshold_ = 1;
20910 @java.lang.Override
20912 return ((bitField1_ & 0x80000000) != 0);
20925 @java.lang.Override
20927 return presolveBvaThreshold_;
20943 presolveBvaThreshold_ = value;
20944 bitField1_ |= 0x80000000;
20960 bitField1_ = (bitField1_ & ~0x80000000);
20961 presolveBvaThreshold_ = 1;
20966 private int maxPresolveIterations_ = 3;
20977 @java.lang.Override
20979 return ((bitField2_ & 0x00000001) != 0);
20991 @java.lang.Override
20993 return maxPresolveIterations_;
21008 maxPresolveIterations_ = value;
21009 bitField2_ |= 0x00000001;
21024 bitField2_ = (bitField2_ & ~0x00000001);
21025 maxPresolveIterations_ = 3;
21030 private boolean cpModelPresolve_ =
true;
21039 @java.lang.Override
21041 return ((bitField2_ & 0x00000002) != 0);
21051 @java.lang.Override
21053 return cpModelPresolve_;
21066 cpModelPresolve_ = value;
21067 bitField2_ |= 0x00000002;
21080 bitField2_ = (bitField2_ & ~0x00000002);
21081 cpModelPresolve_ =
true;
21086 private int cpModelProbingLevel_ = 2;
21095 @java.lang.Override
21097 return ((bitField2_ & 0x00000004) != 0);
21107 @java.lang.Override
21109 return cpModelProbingLevel_;
21122 cpModelProbingLevel_ = value;
21123 bitField2_ |= 0x00000004;
21136 bitField2_ = (bitField2_ & ~0x00000004);
21137 cpModelProbingLevel_ = 2;
21142 private boolean cpModelUseSatPresolve_ =
true;
21151 @java.lang.Override
21153 return ((bitField2_ & 0x00000008) != 0);
21163 @java.lang.Override
21165 return cpModelUseSatPresolve_;
21178 cpModelUseSatPresolve_ = value;
21179 bitField2_ |= 0x00000008;
21192 bitField2_ = (bitField2_ & ~0x00000008);
21193 cpModelUseSatPresolve_ =
true;
21198 private boolean detectTableWithCost_ ;
21212 @java.lang.Override
21214 return ((bitField2_ & 0x00000010) != 0);
21229 @java.lang.Override
21231 return detectTableWithCost_;
21249 detectTableWithCost_ = value;
21250 bitField2_ |= 0x00000010;
21268 bitField2_ = (bitField2_ & ~0x00000010);
21269 detectTableWithCost_ =
false;
21274 private int tableCompressionLevel_ = 2;
21286 @java.lang.Override
21288 return ((bitField2_ & 0x00000020) != 0);
21301 @java.lang.Override
21303 return tableCompressionLevel_;
21319 tableCompressionLevel_ = value;
21320 bitField2_ |= 0x00000020;
21336 bitField2_ = (bitField2_ & ~0x00000020);
21337 tableCompressionLevel_ = 2;
21342 private boolean expandAlldiffConstraints_ ;
21352 @java.lang.Override
21354 return ((bitField2_ & 0x00000040) != 0);
21365 @java.lang.Override
21367 return expandAlldiffConstraints_;
21381 expandAlldiffConstraints_ = value;
21382 bitField2_ |= 0x00000040;
21396 bitField2_ = (bitField2_ & ~0x00000040);
21397 expandAlldiffConstraints_ =
false;
21402 private boolean expandReservoirConstraints_ =
true;
21412 @java.lang.Override
21414 return ((bitField2_ & 0x00000080) != 0);
21425 @java.lang.Override
21427 return expandReservoirConstraints_;
21441 expandReservoirConstraints_ = value;
21442 bitField2_ |= 0x00000080;
21456 bitField2_ = (bitField2_ & ~0x00000080);
21457 expandReservoirConstraints_ =
true;
21462 private boolean disableConstraintExpansion_ ;
21472 @java.lang.Override
21474 return ((bitField2_ & 0x00000100) != 0);
21485 @java.lang.Override
21487 return disableConstraintExpansion_;
21501 disableConstraintExpansion_ = value;
21502 bitField2_ |= 0x00000100;
21516 bitField2_ = (bitField2_ & ~0x00000100);
21517 disableConstraintExpansion_ =
false;
21522 private boolean encodeComplexLinearConstraintWithInteger_ ;
21532 @java.lang.Override
21534 return ((bitField2_ & 0x00000200) != 0);
21545 @java.lang.Override
21547 return encodeComplexLinearConstraintWithInteger_;
21561 encodeComplexLinearConstraintWithInteger_ = value;
21562 bitField2_ |= 0x00000200;
21576 bitField2_ = (bitField2_ & ~0x00000200);
21577 encodeComplexLinearConstraintWithInteger_ =
false;
21582 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
21595 @java.lang.Override
21597 return ((bitField2_ & 0x00000400) != 0);
21611 @java.lang.Override
21613 return mergeNoOverlapWorkLimit_;
21630 mergeNoOverlapWorkLimit_ = value;
21631 bitField2_ |= 0x00000400;
21648 bitField2_ = (bitField2_ & ~0x00000400);
21649 mergeNoOverlapWorkLimit_ = 1000000000000D;
21654 private double mergeAtMostOneWorkLimit_ = 100000000D;
21659 @java.lang.Override
21661 return ((bitField2_ & 0x00000800) != 0);
21667 @java.lang.Override
21669 return mergeAtMostOneWorkLimit_;
21678 mergeAtMostOneWorkLimit_ = value;
21679 bitField2_ |= 0x00000800;
21688 bitField2_ = (bitField2_ & ~0x00000800);
21689 mergeAtMostOneWorkLimit_ = 100000000D;
21694 private int presolveSubstitutionLevel_ = 1;
21706 @java.lang.Override
21708 return ((bitField2_ & 0x00001000) != 0);
21721 @java.lang.Override
21723 return presolveSubstitutionLevel_;
21739 presolveSubstitutionLevel_ = value;
21740 bitField2_ |= 0x00001000;
21756 bitField2_ = (bitField2_ & ~0x00001000);
21757 presolveSubstitutionLevel_ = 1;
21762 private boolean presolveExtractIntegerEnforcement_ ;
21776 @java.lang.Override
21778 return ((bitField2_ & 0x00002000) != 0);
21793 @java.lang.Override
21795 return presolveExtractIntegerEnforcement_;
21813 presolveExtractIntegerEnforcement_ = value;
21814 bitField2_ |= 0x00002000;
21832 bitField2_ = (bitField2_ & ~0x00002000);
21833 presolveExtractIntegerEnforcement_ =
false;
21838 private long presolveInclusionWorkLimit_ = 100000000L;
21853 @java.lang.Override
21855 return ((bitField2_ & 0x00004000) != 0);
21871 @java.lang.Override
21873 return presolveInclusionWorkLimit_;
21892 presolveInclusionWorkLimit_ = value;
21893 bitField2_ |= 0x00004000;
21912 bitField2_ = (bitField2_ & ~0x00004000);
21913 presolveInclusionWorkLimit_ = 100000000L;
21918 private boolean ignoreNames_ =
true;
21927 @java.lang.Override
21929 return ((bitField2_ & 0x00008000) != 0);
21939 @java.lang.Override
21941 return ignoreNames_;
21954 ignoreNames_ = value;
21955 bitField2_ |= 0x00008000;
21968 bitField2_ = (bitField2_ & ~0x00008000);
21969 ignoreNames_ =
true;
21974 private boolean inferAllDiffs_ =
true;
21987 @java.lang.Override
21989 return ((bitField2_ & 0x00010000) != 0);
22003 @java.lang.Override
22005 return inferAllDiffs_;
22022 inferAllDiffs_ = value;
22023 bitField2_ |= 0x00010000;
22040 bitField2_ = (bitField2_ & ~0x00010000);
22041 inferAllDiffs_ =
true;
22046 private boolean findBigLinearOverlap_ =
true;
22058 @java.lang.Override
22060 return ((bitField2_ & 0x00020000) != 0);
22073 @java.lang.Override
22075 return findBigLinearOverlap_;
22091 findBigLinearOverlap_ = value;
22092 bitField2_ |= 0x00020000;
22108 bitField2_ = (bitField2_ & ~0x00020000);
22109 findBigLinearOverlap_ =
true;
22114 private boolean useSatInprocessing_ =
true;
22124 @java.lang.Override
22126 return ((bitField2_ & 0x00040000) != 0);
22137 @java.lang.Override
22139 return useSatInprocessing_;
22153 useSatInprocessing_ = value;
22154 bitField2_ |= 0x00040000;
22168 bitField2_ = (bitField2_ & ~0x00040000);
22169 useSatInprocessing_ =
true;
22174 private double inprocessingDtimeRatio_ = 0.2D;
22185 @java.lang.Override
22187 return ((bitField2_ & 0x00080000) != 0);
22199 @java.lang.Override
22201 return inprocessingDtimeRatio_;
22216 inprocessingDtimeRatio_ = value;
22217 bitField2_ |= 0x00080000;
22232 bitField2_ = (bitField2_ & ~0x00080000);
22233 inprocessingDtimeRatio_ = 0.2D;
22238 private double inprocessingProbingDtime_ = 1D;
22247 @java.lang.Override
22249 return ((bitField2_ & 0x00100000) != 0);
22259 @java.lang.Override
22261 return inprocessingProbingDtime_;
22274 inprocessingProbingDtime_ = value;
22275 bitField2_ |= 0x00100000;
22288 bitField2_ = (bitField2_ & ~0x00100000);
22289 inprocessingProbingDtime_ = 1D;
22294 private double inprocessingMinimizationDtime_ = 1D;
22312 @java.lang.Override
22314 return ((bitField2_ & 0x00200000) != 0);
22333 @java.lang.Override
22335 return inprocessingMinimizationDtime_;
22357 inprocessingMinimizationDtime_ = value;
22358 bitField2_ |= 0x00200000;
22380 bitField2_ = (bitField2_ & ~0x00200000);
22381 inprocessingMinimizationDtime_ = 1D;
22386 private int numWorkers_ ;
22408 @java.lang.Override
22410 return ((bitField2_ & 0x00400000) != 0);
22433 @java.lang.Override
22435 return numWorkers_;
22461 numWorkers_ = value;
22462 bitField2_ |= 0x00400000;
22488 bitField2_ = (bitField2_ & ~0x00400000);
22494 private int numSearchWorkers_ ;
22499 @java.lang.Override
22501 return ((bitField2_ & 0x00800000) != 0);
22507 @java.lang.Override
22509 return numSearchWorkers_;
22518 numSearchWorkers_ = value;
22519 bitField2_ |= 0x00800000;
22528 bitField2_ = (bitField2_ & ~0x00800000);
22529 numSearchWorkers_ = 0;
22534 private int minNumLnsWorkers_ = 2;
22543 @java.lang.Override
22545 return ((bitField2_ & 0x01000000) != 0);
22555 @java.lang.Override
22557 return minNumLnsWorkers_;
22570 minNumLnsWorkers_ = value;
22571 bitField2_ |= 0x01000000;
22584 bitField2_ = (bitField2_ & ~0x01000000);
22585 minNumLnsWorkers_ = 2;
22590 private com.google.protobuf.LazyStringArrayList subsolvers_ =
22591 com.google.protobuf.LazyStringArrayList.emptyList();
22592 private void ensureSubsolversIsMutable() {
22593 if (!subsolvers_.isModifiable()) {
22594 subsolvers_ =
new com.google.protobuf.LazyStringArrayList(subsolvers_);
22596 bitField2_ |= 0x02000000;
22632 public com.google.protobuf.ProtocolStringList
22634 subsolvers_.makeImmutable();
22635 return subsolvers_;
22672 return subsolvers_.size();
22710 return subsolvers_.get(index);
22747 public com.google.protobuf.ByteString
22749 return subsolvers_.getByteString(index);
22788 int index, java.lang.String value) {
22789 if (value ==
null) {
throw new NullPointerException(); }
22790 ensureSubsolversIsMutable();
22791 subsolvers_.set(index, value);
22792 bitField2_ |= 0x02000000;
22832 java.lang.String value) {
22833 if (value ==
null) {
throw new NullPointerException(); }
22834 ensureSubsolversIsMutable();
22835 subsolvers_.add(value);
22836 bitField2_ |= 0x02000000;
22876 java.lang.Iterable<java.lang.String> values) {
22877 ensureSubsolversIsMutable();
22878 com.google.protobuf.AbstractMessageLite.Builder.addAll(
22879 values, subsolvers_);
22880 bitField2_ |= 0x02000000;
22920 com.google.protobuf.LazyStringArrayList.emptyList();
22921 bitField2_ = (bitField2_ & ~0x02000000);;
22961 com.google.protobuf.ByteString value) {
22962 if (value ==
null) {
throw new NullPointerException(); }
22963 ensureSubsolversIsMutable();
22964 subsolvers_.add(value);
22965 bitField2_ |= 0x02000000;
22970 private com.google.protobuf.LazyStringArrayList extraSubsolvers_ =
22971 com.google.protobuf.LazyStringArrayList.emptyList();
22972 private void ensureExtraSubsolversIsMutable() {
22973 if (!extraSubsolvers_.isModifiable()) {
22974 extraSubsolvers_ =
new com.google.protobuf.LazyStringArrayList(extraSubsolvers_);
22976 bitField2_ |= 0x04000000;
22987 public com.google.protobuf.ProtocolStringList
22989 extraSubsolvers_.makeImmutable();
22990 return extraSubsolvers_;
23002 return extraSubsolvers_.size();
23015 return extraSubsolvers_.get(index);
23027 public com.google.protobuf.ByteString
23029 return extraSubsolvers_.getByteString(index);
23043 int index, java.lang.String value) {
23044 if (value ==
null) {
throw new NullPointerException(); }
23045 ensureExtraSubsolversIsMutable();
23046 extraSubsolvers_.set(index, value);
23047 bitField2_ |= 0x04000000;
23062 java.lang.String value) {
23063 if (value ==
null) {
throw new NullPointerException(); }
23064 ensureExtraSubsolversIsMutable();
23065 extraSubsolvers_.add(value);
23066 bitField2_ |= 0x04000000;
23081 java.lang.Iterable<java.lang.String> values) {
23082 ensureExtraSubsolversIsMutable();
23083 com.google.protobuf.AbstractMessageLite.Builder.addAll(
23084 values, extraSubsolvers_);
23085 bitField2_ |= 0x04000000;
23100 com.google.protobuf.LazyStringArrayList.emptyList();
23101 bitField2_ = (bitField2_ & ~0x04000000);;
23116 com.google.protobuf.ByteString value) {
23117 if (value ==
null) {
throw new NullPointerException(); }
23118 ensureExtraSubsolversIsMutable();
23119 extraSubsolvers_.add(value);
23120 bitField2_ |= 0x04000000;
23125 private com.google.protobuf.LazyStringArrayList ignoreSubsolvers_ =
23126 com.google.protobuf.LazyStringArrayList.emptyList();
23127 private void ensureIgnoreSubsolversIsMutable() {
23128 if (!ignoreSubsolvers_.isModifiable()) {
23129 ignoreSubsolvers_ =
new com.google.protobuf.LazyStringArrayList(ignoreSubsolvers_);
23131 bitField2_ |= 0x08000000;
23142 public com.google.protobuf.ProtocolStringList
23144 ignoreSubsolvers_.makeImmutable();
23145 return ignoreSubsolvers_;
23157 return ignoreSubsolvers_.size();
23170 return ignoreSubsolvers_.get(index);
23182 public com.google.protobuf.ByteString
23184 return ignoreSubsolvers_.getByteString(index);
23198 int index, java.lang.String value) {
23199 if (value ==
null) {
throw new NullPointerException(); }
23200 ensureIgnoreSubsolversIsMutable();
23201 ignoreSubsolvers_.set(index, value);
23202 bitField2_ |= 0x08000000;
23217 java.lang.String value) {
23218 if (value ==
null) {
throw new NullPointerException(); }
23219 ensureIgnoreSubsolversIsMutable();
23220 ignoreSubsolvers_.add(value);
23221 bitField2_ |= 0x08000000;
23236 java.lang.Iterable<java.lang.String> values) {
23237 ensureIgnoreSubsolversIsMutable();
23238 com.google.protobuf.AbstractMessageLite.Builder.addAll(
23239 values, ignoreSubsolvers_);
23240 bitField2_ |= 0x08000000;
23254 ignoreSubsolvers_ =
23255 com.google.protobuf.LazyStringArrayList.emptyList();
23256 bitField2_ = (bitField2_ & ~0x08000000);;
23271 com.google.protobuf.ByteString value) {
23272 if (value ==
null) {
throw new NullPointerException(); }
23273 ensureIgnoreSubsolversIsMutable();
23274 ignoreSubsolvers_.add(value);
23275 bitField2_ |= 0x08000000;
23280 private java.util.List<com.google.ortools.sat.SatParameters> subsolverParams_ =
23281 java.util.Collections.emptyList();
23282 private void ensureSubsolverParamsIsMutable() {
23283 if (!((bitField2_ & 0x10000000) != 0)) {
23284 subsolverParams_ =
new java.util.ArrayList<com.google.ortools.sat.SatParameters>(subsolverParams_);
23285 bitField2_ |= 0x10000000;
23289 private com.google.protobuf.RepeatedFieldBuilderV3<
23290 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder> subsolverParamsBuilder_;
23304 if (subsolverParamsBuilder_ ==
null) {
23305 return java.util.Collections.unmodifiableList(subsolverParams_);
23307 return subsolverParamsBuilder_.getMessageList();
23322 if (subsolverParamsBuilder_ ==
null) {
23323 return subsolverParams_.size();
23325 return subsolverParamsBuilder_.getCount();
23340 if (subsolverParamsBuilder_ ==
null) {
23341 return subsolverParams_.get(index);
23343 return subsolverParamsBuilder_.getMessage(index);
23358 int index, com.google.ortools.sat.SatParameters value) {
23359 if (subsolverParamsBuilder_ ==
null) {
23360 if (value ==
null) {
23361 throw new NullPointerException();
23363 ensureSubsolverParamsIsMutable();
23364 subsolverParams_.set(index, value);
23367 subsolverParamsBuilder_.setMessage(index, value);
23383 int index, com.google.ortools.sat.SatParameters.Builder builderForValue) {
23384 if (subsolverParamsBuilder_ ==
null) {
23385 ensureSubsolverParamsIsMutable();
23386 subsolverParams_.set(index, builderForValue.build());
23389 subsolverParamsBuilder_.setMessage(index, builderForValue.build());
23405 if (subsolverParamsBuilder_ ==
null) {
23406 if (value ==
null) {
23407 throw new NullPointerException();
23409 ensureSubsolverParamsIsMutable();
23410 subsolverParams_.add(value);
23413 subsolverParamsBuilder_.addMessage(value);
23429 int index, com.google.ortools.sat.SatParameters value) {
23430 if (subsolverParamsBuilder_ ==
null) {
23431 if (value ==
null) {
23432 throw new NullPointerException();
23434 ensureSubsolverParamsIsMutable();
23435 subsolverParams_.add(index, value);
23438 subsolverParamsBuilder_.addMessage(index, value);
23454 com.google.ortools.sat.SatParameters.Builder builderForValue) {
23455 if (subsolverParamsBuilder_ ==
null) {
23456 ensureSubsolverParamsIsMutable();
23457 subsolverParams_.add(builderForValue.build());
23460 subsolverParamsBuilder_.addMessage(builderForValue.build());
23476 int index, com.google.ortools.sat.SatParameters.Builder builderForValue) {
23477 if (subsolverParamsBuilder_ ==
null) {
23478 ensureSubsolverParamsIsMutable();
23479 subsolverParams_.add(index, builderForValue.build());
23482 subsolverParamsBuilder_.addMessage(index, builderForValue.build());
23498 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters> values) {
23499 if (subsolverParamsBuilder_ ==
null) {
23500 ensureSubsolverParamsIsMutable();
23501 com.google.protobuf.AbstractMessageLite.Builder.addAll(
23502 values, subsolverParams_);
23505 subsolverParamsBuilder_.addAllMessages(values);
23521 if (subsolverParamsBuilder_ ==
null) {
23522 subsolverParams_ = java.util.Collections.emptyList();
23523 bitField2_ = (bitField2_ & ~0x10000000);
23526 subsolverParamsBuilder_.clear();
23542 if (subsolverParamsBuilder_ ==
null) {
23543 ensureSubsolverParamsIsMutable();
23544 subsolverParams_.remove(index);
23547 subsolverParamsBuilder_.remove(index);
23564 return getSubsolverParamsFieldBuilder().getBuilder(index);
23579 if (subsolverParamsBuilder_ ==
null) {
23580 return subsolverParams_.get(index); }
else {
23581 return subsolverParamsBuilder_.getMessageOrBuilder(index);
23595 public java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder>
23597 if (subsolverParamsBuilder_ !=
null) {
23598 return subsolverParamsBuilder_.getMessageOrBuilderList();
23600 return java.util.Collections.unmodifiableList(subsolverParams_);
23615 return getSubsolverParamsFieldBuilder().addBuilder(
23616 com.google.ortools.sat.SatParameters.getDefaultInstance());
23631 return getSubsolverParamsFieldBuilder().addBuilder(
23632 index, com.google.ortools.sat.SatParameters.getDefaultInstance());
23645 public java.util.List<com.google.ortools.sat.SatParameters.Builder>
23647 return getSubsolverParamsFieldBuilder().getBuilderList();
23649 private com.google.protobuf.RepeatedFieldBuilderV3<
23650 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>
23651 getSubsolverParamsFieldBuilder() {
23652 if (subsolverParamsBuilder_ ==
null) {
23653 subsolverParamsBuilder_ =
new com.google.protobuf.RepeatedFieldBuilderV3<
23654 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>(
23656 ((bitField2_ & 0x10000000) != 0),
23657 getParentForChildren(),
23659 subsolverParams_ =
null;
23661 return subsolverParamsBuilder_;
23664 private boolean interleaveSearch_ ;
23678 @java.lang.Override
23680 return ((bitField2_ & 0x20000000) != 0);
23695 @java.lang.Override
23697 return interleaveSearch_;
23715 interleaveSearch_ = value;
23716 bitField2_ |= 0x20000000;
23734 bitField2_ = (bitField2_ & ~0x20000000);
23735 interleaveSearch_ =
false;
23740 private int interleaveBatchSize_ ;
23745 @java.lang.Override
23747 return ((bitField2_ & 0x40000000) != 0);
23753 @java.lang.Override
23755 return interleaveBatchSize_;
23764 interleaveBatchSize_ = value;
23765 bitField2_ |= 0x40000000;
23774 bitField2_ = (bitField2_ & ~0x40000000);
23775 interleaveBatchSize_ = 0;
23780 private boolean shareObjectiveBounds_ =
true;
23789 @java.lang.Override
23791 return ((bitField2_ & 0x80000000) != 0);
23801 @java.lang.Override
23803 return shareObjectiveBounds_;
23816 shareObjectiveBounds_ = value;
23817 bitField2_ |= 0x80000000;
23830 bitField2_ = (bitField2_ & ~0x80000000);
23831 shareObjectiveBounds_ =
true;
23836 private boolean shareLevelZeroBounds_ =
true;
23845 @java.lang.Override
23847 return ((bitField3_ & 0x00000001) != 0);
23857 @java.lang.Override
23859 return shareLevelZeroBounds_;
23872 shareLevelZeroBounds_ = value;
23873 bitField3_ |= 0x00000001;
23886 bitField3_ = (bitField3_ & ~0x00000001);
23887 shareLevelZeroBounds_ =
true;
23892 private boolean shareBinaryClauses_ =
true;
23901 @java.lang.Override
23903 return ((bitField3_ & 0x00000002) != 0);
23913 @java.lang.Override
23915 return shareBinaryClauses_;
23928 shareBinaryClauses_ = value;
23929 bitField3_ |= 0x00000002;
23942 bitField3_ = (bitField3_ & ~0x00000002);
23943 shareBinaryClauses_ =
true;
23948 private boolean debugPostsolveWithFullSolver_ ;
23959 @java.lang.Override
23961 return ((bitField3_ & 0x00000004) != 0);
23973 @java.lang.Override
23975 return debugPostsolveWithFullSolver_;
23990 debugPostsolveWithFullSolver_ = value;
23991 bitField3_ |= 0x00000004;
24006 bitField3_ = (bitField3_ & ~0x00000004);
24007 debugPostsolveWithFullSolver_ =
false;
24012 private int debugMaxNumPresolveOperations_ ;
24022 @java.lang.Override
24024 return ((bitField3_ & 0x00000008) != 0);
24035 @java.lang.Override
24037 return debugMaxNumPresolveOperations_;
24051 debugMaxNumPresolveOperations_ = value;
24052 bitField3_ |= 0x00000008;
24066 bitField3_ = (bitField3_ & ~0x00000008);
24067 debugMaxNumPresolveOperations_ = 0;
24072 private boolean debugCrashOnBadHint_ ;
24081 @java.lang.Override
24083 return ((bitField3_ & 0x00000010) != 0);
24093 @java.lang.Override
24095 return debugCrashOnBadHint_;
24108 debugCrashOnBadHint_ = value;
24109 bitField3_ |= 0x00000010;
24122 bitField3_ = (bitField3_ & ~0x00000010);
24123 debugCrashOnBadHint_ =
false;
24128 private boolean useOptimizationHints_ =
true;
24140 @java.lang.Override
24142 return ((bitField3_ & 0x00000020) != 0);
24155 @java.lang.Override
24157 return useOptimizationHints_;
24173 useOptimizationHints_ = value;
24174 bitField3_ |= 0x00000020;
24190 bitField3_ = (bitField3_ & ~0x00000020);
24191 useOptimizationHints_ =
true;
24196 private int coreMinimizationLevel_ = 2;
24208 @java.lang.Override
24210 return ((bitField3_ & 0x00000040) != 0);
24223 @java.lang.Override
24225 return coreMinimizationLevel_;
24241 coreMinimizationLevel_ = value;
24242 bitField3_ |= 0x00000040;
24258 bitField3_ = (bitField3_ & ~0x00000040);
24259 coreMinimizationLevel_ = 2;
24264 private boolean findMultipleCores_ =
true;
24274 @java.lang.Override
24276 return ((bitField3_ & 0x00000080) != 0);
24287 @java.lang.Override
24289 return findMultipleCores_;
24303 findMultipleCores_ = value;
24304 bitField3_ |= 0x00000080;
24318 bitField3_ = (bitField3_ & ~0x00000080);
24319 findMultipleCores_ =
true;
24324 private boolean coverOptimization_ =
true;
24335 @java.lang.Override
24337 return ((bitField3_ & 0x00000100) != 0);
24349 @java.lang.Override
24351 return coverOptimization_;
24366 coverOptimization_ = value;
24367 bitField3_ |= 0x00000100;
24382 bitField3_ = (bitField3_ & ~0x00000100);
24383 coverOptimization_ =
true;
24388 private int maxSatAssumptionOrder_ = 0;
24394 return ((bitField3_ & 0x00000200) != 0);
24400 @java.lang.Override
24403 return result ==
null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
24411 if (value ==
null) {
24412 throw new NullPointerException();
24414 bitField3_ |= 0x00000200;
24415 maxSatAssumptionOrder_ = value.getNumber();
24424 bitField3_ = (bitField3_ & ~0x00000200);
24425 maxSatAssumptionOrder_ = 0;
24430 private boolean maxSatReverseAssumptionOrder_ ;
24440 @java.lang.Override
24442 return ((bitField3_ & 0x00000400) != 0);
24453 @java.lang.Override
24455 return maxSatReverseAssumptionOrder_;
24469 maxSatReverseAssumptionOrder_ = value;
24470 bitField3_ |= 0x00000400;
24484 bitField3_ = (bitField3_ & ~0x00000400);
24485 maxSatReverseAssumptionOrder_ =
false;
24490 private int maxSatStratification_ = 1;
24496 return ((bitField3_ & 0x00000800) != 0);
24502 @java.lang.Override
24505 return result ==
null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
24513 if (value ==
null) {
24514 throw new NullPointerException();
24516 bitField3_ |= 0x00000800;
24517 maxSatStratification_ = value.getNumber();
24526 bitField3_ = (bitField3_ & ~0x00000800);
24527 maxSatStratification_ = 1;
24532 private double propagationLoopDetectionFactor_ = 10D;
24549 @java.lang.Override
24551 return ((bitField3_ & 0x00001000) != 0);
24569 @java.lang.Override
24571 return propagationLoopDetectionFactor_;
24592 propagationLoopDetectionFactor_ = value;
24593 bitField3_ |= 0x00001000;
24614 bitField3_ = (bitField3_ & ~0x00001000);
24615 propagationLoopDetectionFactor_ = 10D;
24620 private boolean usePrecedencesInDisjunctiveConstraint_ =
true;
24637 @java.lang.Override
24639 return ((bitField3_ & 0x00002000) != 0);
24657 @java.lang.Override
24659 return usePrecedencesInDisjunctiveConstraint_;
24680 usePrecedencesInDisjunctiveConstraint_ = value;
24681 bitField3_ |= 0x00002000;
24702 bitField3_ = (bitField3_ & ~0x00002000);
24703 usePrecedencesInDisjunctiveConstraint_ =
true;
24708 private int maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
24721 @java.lang.Override
24723 return ((bitField3_ & 0x00004000) != 0);
24737 @java.lang.Override
24739 return maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
24756 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = value;
24757 bitField3_ |= 0x00004000;
24774 bitField3_ = (bitField3_ & ~0x00004000);
24775 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
24780 private boolean useStrongPropagationInDisjunctive_ ;
24789 @java.lang.Override
24791 return ((bitField3_ & 0x00008000) != 0);
24801 @java.lang.Override
24803 return useStrongPropagationInDisjunctive_;
24816 useStrongPropagationInDisjunctive_ = value;
24817 bitField3_ |= 0x00008000;
24830 bitField3_ = (bitField3_ & ~0x00008000);
24831 useStrongPropagationInDisjunctive_ =
false;
24836 private boolean useDynamicPrecedenceInDisjunctive_ ;
24850 @java.lang.Override
24852 return ((bitField3_ & 0x00010000) != 0);
24867 @java.lang.Override
24869 return useDynamicPrecedenceInDisjunctive_;
24887 useDynamicPrecedenceInDisjunctive_ = value;
24888 bitField3_ |= 0x00010000;
24906 bitField3_ = (bitField3_ & ~0x00010000);
24907 useDynamicPrecedenceInDisjunctive_ =
false;
24912 private boolean useDynamicPrecedenceInCumulative_ ;
24917 @java.lang.Override
24919 return ((bitField3_ & 0x00020000) != 0);
24925 @java.lang.Override
24927 return useDynamicPrecedenceInCumulative_;
24936 useDynamicPrecedenceInCumulative_ = value;
24937 bitField3_ |= 0x00020000;
24946 bitField3_ = (bitField3_ & ~0x00020000);
24947 useDynamicPrecedenceInCumulative_ =
false;
24952 private boolean useOverloadCheckerInCumulative_ ;
24967 @java.lang.Override
24969 return ((bitField3_ & 0x00040000) != 0);
24985 @java.lang.Override
24987 return useOverloadCheckerInCumulative_;
25006 useOverloadCheckerInCumulative_ = value;
25007 bitField3_ |= 0x00040000;
25026 bitField3_ = (bitField3_ & ~0x00040000);
25027 useOverloadCheckerInCumulative_ =
false;
25032 private boolean useTimetableEdgeFindingInCumulative_ ;
25047 @java.lang.Override
25049 return ((bitField3_ & 0x00080000) != 0);
25065 @java.lang.Override
25067 return useTimetableEdgeFindingInCumulative_;
25086 useTimetableEdgeFindingInCumulative_ = value;
25087 bitField3_ |= 0x00080000;
25106 bitField3_ = (bitField3_ & ~0x00080000);
25107 useTimetableEdgeFindingInCumulative_ =
false;
25112 private int maxNumIntervalsForTimetableEdgeFinding_ = 100;
25122 @java.lang.Override
25124 return ((bitField3_ & 0x00100000) != 0);
25135 @java.lang.Override
25137 return maxNumIntervalsForTimetableEdgeFinding_;
25151 maxNumIntervalsForTimetableEdgeFinding_ = value;
25152 bitField3_ |= 0x00100000;
25166 bitField3_ = (bitField3_ & ~0x00100000);
25167 maxNumIntervalsForTimetableEdgeFinding_ = 100;
25172 private boolean useHardPrecedencesInCumulative_ ;
25186 @java.lang.Override
25188 return ((bitField3_ & 0x00200000) != 0);
25203 @java.lang.Override
25205 return useHardPrecedencesInCumulative_;
25223 useHardPrecedencesInCumulative_ = value;
25224 bitField3_ |= 0x00200000;
25242 bitField3_ = (bitField3_ & ~0x00200000);
25243 useHardPrecedencesInCumulative_ =
false;
25248 private boolean exploitAllPrecedences_ ;
25253 @java.lang.Override
25255 return ((bitField3_ & 0x00400000) != 0);
25261 @java.lang.Override
25263 return exploitAllPrecedences_;
25272 exploitAllPrecedences_ = value;
25273 bitField3_ |= 0x00400000;
25282 bitField3_ = (bitField3_ & ~0x00400000);
25283 exploitAllPrecedences_ =
false;
25288 private boolean useDisjunctiveConstraintInCumulative_ =
true;
25306 @java.lang.Override
25308 return ((bitField3_ & 0x00800000) != 0);
25327 @java.lang.Override
25329 return useDisjunctiveConstraintInCumulative_;
25351 useDisjunctiveConstraintInCumulative_ = value;
25352 bitField3_ |= 0x00800000;
25374 bitField3_ = (bitField3_ & ~0x00800000);
25375 useDisjunctiveConstraintInCumulative_ =
true;
25380 private boolean useTimetablingInNoOverlap2D_ ;
25393 @java.lang.Override
25395 return ((bitField3_ & 0x01000000) != 0);
25409 @java.lang.Override
25411 return useTimetablingInNoOverlap2D_;
25428 useTimetablingInNoOverlap2D_ = value;
25429 bitField3_ |= 0x01000000;
25446 bitField3_ = (bitField3_ & ~0x01000000);
25447 useTimetablingInNoOverlap2D_ =
false;
25452 private boolean useEnergeticReasoningInNoOverlap2D_ ;
25463 @java.lang.Override
25465 return ((bitField3_ & 0x02000000) != 0);
25477 @java.lang.Override
25479 return useEnergeticReasoningInNoOverlap2D_;
25494 useEnergeticReasoningInNoOverlap2D_ = value;
25495 bitField3_ |= 0x02000000;
25510 bitField3_ = (bitField3_ & ~0x02000000);
25511 useEnergeticReasoningInNoOverlap2D_ =
false;
25516 private boolean useAreaEnergeticReasoningInNoOverlap2D_ ;
25527 @java.lang.Override
25529 return ((bitField3_ & 0x04000000) != 0);
25541 @java.lang.Override
25543 return useAreaEnergeticReasoningInNoOverlap2D_;
25558 useAreaEnergeticReasoningInNoOverlap2D_ = value;
25559 bitField3_ |= 0x04000000;
25574 bitField3_ = (bitField3_ & ~0x04000000);
25575 useAreaEnergeticReasoningInNoOverlap2D_ =
false;
25580 private int maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
25591 @java.lang.Override
25593 return ((bitField3_ & 0x08000000) != 0);
25605 @java.lang.Override
25607 return maxPairsPairwiseReasoningInNoOverlap2D_;
25622 maxPairsPairwiseReasoningInNoOverlap2D_ = value;
25623 bitField3_ |= 0x08000000;
25638 bitField3_ = (bitField3_ & ~0x08000000);
25639 maxPairsPairwiseReasoningInNoOverlap2D_ = 1250;
25644 private boolean useDualSchedulingHeuristics_ =
true;
25655 @java.lang.Override
25657 return ((bitField3_ & 0x10000000) != 0);
25669 @java.lang.Override
25671 return useDualSchedulingHeuristics_;
25686 useDualSchedulingHeuristics_ = value;
25687 bitField3_ |= 0x10000000;
25702 bitField3_ = (bitField3_ & ~0x10000000);
25703 useDualSchedulingHeuristics_ =
true;
25708 private int searchBranching_ = 0;
25714 return ((bitField3_ & 0x20000000) != 0);
25720 @java.lang.Override
25723 return result ==
null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
25731 if (value ==
null) {
25732 throw new NullPointerException();
25734 bitField3_ |= 0x20000000;
25735 searchBranching_ = value.getNumber();
25744 bitField3_ = (bitField3_ & ~0x20000000);
25745 searchBranching_ = 0;
25750 private int hintConflictLimit_ = 10;
25759 @java.lang.Override
25761 return ((bitField3_ & 0x40000000) != 0);
25771 @java.lang.Override
25773 return hintConflictLimit_;
25786 hintConflictLimit_ = value;
25787 bitField3_ |= 0x40000000;
25800 bitField3_ = (bitField3_ & ~0x40000000);
25801 hintConflictLimit_ = 10;
25806 private boolean repairHint_ ;
25818 @java.lang.Override
25820 return ((bitField3_ & 0x80000000) != 0);
25833 @java.lang.Override
25835 return repairHint_;
25851 repairHint_ = value;
25852 bitField3_ |= 0x80000000;
25868 bitField3_ = (bitField3_ & ~0x80000000);
25869 repairHint_ =
false;
25874 private boolean fixVariablesToTheirHintedValue_ ;
25884 @java.lang.Override
25886 return ((bitField4_ & 0x00000001) != 0);
25897 @java.lang.Override
25899 return fixVariablesToTheirHintedValue_;
25913 fixVariablesToTheirHintedValue_ = value;
25914 bitField4_ |= 0x00000001;
25928 bitField4_ = (bitField4_ & ~0x00000001);
25929 fixVariablesToTheirHintedValue_ =
false;
25934 private boolean useProbingSearch_ ;
25945 @java.lang.Override
25947 return ((bitField4_ & 0x00000002) != 0);
25959 @java.lang.Override
25961 return useProbingSearch_;
25976 useProbingSearch_ = value;
25977 bitField4_ |= 0x00000002;
25992 bitField4_ = (bitField4_ & ~0x00000002);
25993 useProbingSearch_ =
false;
25998 private boolean useExtendedProbing_ =
true;
26007 @java.lang.Override
26009 return ((bitField4_ & 0x00000004) != 0);
26019 @java.lang.Override
26021 return useExtendedProbing_;
26034 useExtendedProbing_ = value;
26035 bitField4_ |= 0x00000004;
26048 bitField4_ = (bitField4_ & ~0x00000004);
26049 useExtendedProbing_ =
true;
26054 private int probingNumCombinationsLimit_ = 20000;
26063 @java.lang.Override
26065 return ((bitField4_ & 0x00000008) != 0);
26075 @java.lang.Override
26077 return probingNumCombinationsLimit_;
26090 probingNumCombinationsLimit_ = value;
26091 bitField4_ |= 0x00000008;
26104 bitField4_ = (bitField4_ & ~0x00000008);
26105 probingNumCombinationsLimit_ = 20000;
26110 private boolean useShavingInProbingSearch_ =
true;
26120 @java.lang.Override
26122 return ((bitField4_ & 0x00000010) != 0);
26133 @java.lang.Override
26135 return useShavingInProbingSearch_;
26149 useShavingInProbingSearch_ = value;
26150 bitField4_ |= 0x00000010;
26164 bitField4_ = (bitField4_ & ~0x00000010);
26165 useShavingInProbingSearch_ =
true;
26170 private double shavingSearchDeterministicTime_ = 0.001D;
26180 @java.lang.Override
26182 return ((bitField4_ & 0x00000020) != 0);
26193 @java.lang.Override
26195 return shavingSearchDeterministicTime_;
26209 shavingSearchDeterministicTime_ = value;
26210 bitField4_ |= 0x00000020;
26224 bitField4_ = (bitField4_ & ~0x00000020);
26225 shavingSearchDeterministicTime_ = 0.001D;
26230 private boolean useObjectiveLbSearch_ ;
26240 @java.lang.Override
26242 return ((bitField4_ & 0x00000040) != 0);
26253 @java.lang.Override
26255 return useObjectiveLbSearch_;
26269 useObjectiveLbSearch_ = value;
26270 bitField4_ |= 0x00000040;
26284 bitField4_ = (bitField4_ & ~0x00000040);
26285 useObjectiveLbSearch_ =
false;
26290 private boolean useObjectiveShavingSearch_ ;
26301 @java.lang.Override
26303 return ((bitField4_ & 0x00000080) != 0);
26315 @java.lang.Override
26317 return useObjectiveShavingSearch_;
26332 useObjectiveShavingSearch_ = value;
26333 bitField4_ |= 0x00000080;
26348 bitField4_ = (bitField4_ & ~0x00000080);
26349 useObjectiveShavingSearch_ =
false;
26354 private long pseudoCostReliabilityThreshold_ = 100L;
26364 @java.lang.Override
26366 return ((bitField4_ & 0x00000100) != 0);
26377 @java.lang.Override
26379 return pseudoCostReliabilityThreshold_;
26393 pseudoCostReliabilityThreshold_ = value;
26394 bitField4_ |= 0x00000100;
26408 bitField4_ = (bitField4_ & ~0x00000100);
26409 pseudoCostReliabilityThreshold_ = 100L;
26414 private boolean optimizeWithCore_ ;
26426 @java.lang.Override
26428 return ((bitField4_ & 0x00000200) != 0);
26441 @java.lang.Override
26443 return optimizeWithCore_;
26459 optimizeWithCore_ = value;
26460 bitField4_ |= 0x00000200;
26476 bitField4_ = (bitField4_ & ~0x00000200);
26477 optimizeWithCore_ =
false;
26482 private boolean optimizeWithLbTreeSearch_ ;
26495 @java.lang.Override
26497 return ((bitField4_ & 0x00000400) != 0);
26511 @java.lang.Override
26513 return optimizeWithLbTreeSearch_;
26530 optimizeWithLbTreeSearch_ = value;
26531 bitField4_ |= 0x00000400;
26548 bitField4_ = (bitField4_ & ~0x00000400);
26549 optimizeWithLbTreeSearch_ =
false;
26554 private int binarySearchNumConflicts_ = -1;
26566 @java.lang.Override
26568 return ((bitField4_ & 0x00000800) != 0);
26581 @java.lang.Override
26583 return binarySearchNumConflicts_;
26599 binarySearchNumConflicts_ = value;
26600 bitField4_ |= 0x00000800;
26616 bitField4_ = (bitField4_ & ~0x00000800);
26617 binarySearchNumConflicts_ = -1;
26622 private boolean optimizeWithMaxHs_ ;
26636 @java.lang.Override
26638 return ((bitField4_ & 0x00001000) != 0);
26653 @java.lang.Override
26655 return optimizeWithMaxHs_;
26673 optimizeWithMaxHs_ = value;
26674 bitField4_ |= 0x00001000;
26692 bitField4_ = (bitField4_ & ~0x00001000);
26693 optimizeWithMaxHs_ =
false;
26698 private boolean useFeasibilityJump_ =
true;
26709 @java.lang.Override
26711 return ((bitField4_ & 0x00002000) != 0);
26723 @java.lang.Override
26725 return useFeasibilityJump_;
26740 useFeasibilityJump_ = value;
26741 bitField4_ |= 0x00002000;
26756 bitField4_ = (bitField4_ & ~0x00002000);
26757 useFeasibilityJump_ =
true;
26762 private boolean testFeasibilityJump_ ;
26772 @java.lang.Override
26774 return ((bitField4_ & 0x00004000) != 0);
26785 @java.lang.Override
26787 return testFeasibilityJump_;
26801 testFeasibilityJump_ = value;
26802 bitField4_ |= 0x00004000;
26816 bitField4_ = (bitField4_ & ~0x00004000);
26817 testFeasibilityJump_ =
false;
26822 private double feasibilityJumpDecay_ = 0.95D;
26832 @java.lang.Override
26834 return ((bitField4_ & 0x00008000) != 0);
26845 @java.lang.Override
26847 return feasibilityJumpDecay_;
26861 feasibilityJumpDecay_ = value;
26862 bitField4_ |= 0x00008000;
26876 bitField4_ = (bitField4_ & ~0x00008000);
26877 feasibilityJumpDecay_ = 0.95D;
26882 private int feasibilityJumpLinearizationLevel_ = 2;
26891 @java.lang.Override
26893 return ((bitField4_ & 0x00010000) != 0);
26903 @java.lang.Override
26905 return feasibilityJumpLinearizationLevel_;
26918 feasibilityJumpLinearizationLevel_ = value;
26919 bitField4_ |= 0x00010000;
26932 bitField4_ = (bitField4_ & ~0x00010000);
26933 feasibilityJumpLinearizationLevel_ = 2;
26938 private int feasibilityJumpRestartFactor_ = 1;
26949 @java.lang.Override
26951 return ((bitField4_ & 0x00020000) != 0);
26963 @java.lang.Override
26965 return feasibilityJumpRestartFactor_;
26980 feasibilityJumpRestartFactor_ = value;
26981 bitField4_ |= 0x00020000;
26996 bitField4_ = (bitField4_ & ~0x00020000);
26997 feasibilityJumpRestartFactor_ = 1;
27002 private double feasibilityJumpVarRandomizationProbability_ ;
27012 @java.lang.Override
27014 return ((bitField4_ & 0x00040000) != 0);
27025 @java.lang.Override
27027 return feasibilityJumpVarRandomizationProbability_;
27041 feasibilityJumpVarRandomizationProbability_ = value;
27042 bitField4_ |= 0x00040000;
27056 bitField4_ = (bitField4_ & ~0x00040000);
27057 feasibilityJumpVarRandomizationProbability_ = 0D;
27062 private double feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
27072 @java.lang.Override
27074 return ((bitField4_ & 0x00080000) != 0);
27085 @java.lang.Override
27087 return feasibilityJumpVarPerburbationRangeRatio_;
27101 feasibilityJumpVarPerburbationRangeRatio_ = value;
27102 bitField4_ |= 0x00080000;
27116 bitField4_ = (bitField4_ & ~0x00080000);
27117 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
27122 private boolean feasibilityJumpEnableRestarts_ =
true;
27133 @java.lang.Override
27135 return ((bitField4_ & 0x00100000) != 0);
27147 @java.lang.Override
27149 return feasibilityJumpEnableRestarts_;
27164 feasibilityJumpEnableRestarts_ = value;
27165 bitField4_ |= 0x00100000;
27180 bitField4_ = (bitField4_ & ~0x00100000);
27181 feasibilityJumpEnableRestarts_ =
true;
27186 private int feasibilityJumpMaxExpandedConstraintSize_ = 100;
27196 @java.lang.Override
27198 return ((bitField4_ & 0x00200000) != 0);
27209 @java.lang.Override
27211 return feasibilityJumpMaxExpandedConstraintSize_;
27225 feasibilityJumpMaxExpandedConstraintSize_ = value;
27226 bitField4_ |= 0x00200000;
27240 bitField4_ = (bitField4_ & ~0x00200000);
27241 feasibilityJumpMaxExpandedConstraintSize_ = 100;
27246 private int numViolationLs_ ;
27257 @java.lang.Override
27259 return ((bitField4_ & 0x00400000) != 0);
27271 @java.lang.Override
27273 return numViolationLs_;
27288 numViolationLs_ = value;
27289 bitField4_ |= 0x00400000;
27304 bitField4_ = (bitField4_ & ~0x00400000);
27305 numViolationLs_ = 0;
27310 private int violationLsPerturbationPeriod_ = 100;
27319 @java.lang.Override
27321 return ((bitField4_ & 0x00800000) != 0);
27331 @java.lang.Override
27333 return violationLsPerturbationPeriod_;
27346 violationLsPerturbationPeriod_ = value;
27347 bitField4_ |= 0x00800000;
27360 bitField4_ = (bitField4_ & ~0x00800000);
27361 violationLsPerturbationPeriod_ = 100;
27366 private double violationLsCompoundMoveProbability_ = 0.5D;
27376 @java.lang.Override
27378 return ((bitField4_ & 0x01000000) != 0);
27389 @java.lang.Override
27391 return violationLsCompoundMoveProbability_;
27405 violationLsCompoundMoveProbability_ = value;
27406 bitField4_ |= 0x01000000;
27420 bitField4_ = (bitField4_ & ~0x01000000);
27421 violationLsCompoundMoveProbability_ = 0.5D;
27426 private int sharedTreeNumWorkers_ ;
27439 @java.lang.Override
27441 return ((bitField4_ & 0x02000000) != 0);
27455 @java.lang.Override
27457 return sharedTreeNumWorkers_;
27474 sharedTreeNumWorkers_ = value;
27475 bitField4_ |= 0x02000000;
27492 bitField4_ = (bitField4_ & ~0x02000000);
27493 sharedTreeNumWorkers_ = 0;
27498 private boolean useSharedTreeSearch_ ;
27507 @java.lang.Override
27509 return ((bitField4_ & 0x04000000) != 0);
27519 @java.lang.Override
27521 return useSharedTreeSearch_;
27534 useSharedTreeSearch_ = value;
27535 bitField4_ |= 0x04000000;
27548 bitField4_ = (bitField4_ & ~0x04000000);
27549 useSharedTreeSearch_ =
false;
27554 private double sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
27565 @java.lang.Override
27567 return ((bitField4_ & 0x08000000) != 0);
27579 @java.lang.Override
27581 return sharedTreeWorkerObjectiveSplitProbability_;
27596 sharedTreeWorkerObjectiveSplitProbability_ = value;
27597 bitField4_ |= 0x08000000;
27612 bitField4_ = (bitField4_ & ~0x08000000);
27613 sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
27618 private int sharedTreeMaxNodesPerWorker_ = 128;
27630 @java.lang.Override
27632 return ((bitField4_ & 0x10000000) != 0);
27645 @java.lang.Override
27647 return sharedTreeMaxNodesPerWorker_;
27663 sharedTreeMaxNodesPerWorker_ = value;
27664 bitField4_ |= 0x10000000;
27680 bitField4_ = (bitField4_ & ~0x10000000);
27681 sharedTreeMaxNodesPerWorker_ = 128;
27686 private int sharedTreeSplitStrategy_ = 0;
27692 return ((bitField4_ & 0x20000000) != 0);
27698 @java.lang.Override
27701 return result ==
null ? com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.SPLIT_STRATEGY_AUTO : result;
27709 if (value ==
null) {
27710 throw new NullPointerException();
27712 bitField4_ |= 0x20000000;
27713 sharedTreeSplitStrategy_ = value.getNumber();
27722 bitField4_ = (bitField4_ & ~0x20000000);
27723 sharedTreeSplitStrategy_ = 0;
27728 private boolean enumerateAllSolutions_ ;
27743 @java.lang.Override
27745 return ((bitField4_ & 0x40000000) != 0);
27761 @java.lang.Override
27763 return enumerateAllSolutions_;
27782 enumerateAllSolutions_ = value;
27783 bitField4_ |= 0x40000000;
27802 bitField4_ = (bitField4_ & ~0x40000000);
27803 enumerateAllSolutions_ =
false;
27808 private boolean keepAllFeasibleSolutionsInPresolve_ ;
27824 @java.lang.Override
27826 return ((bitField4_ & 0x80000000) != 0);
27843 @java.lang.Override
27845 return keepAllFeasibleSolutionsInPresolve_;
27865 keepAllFeasibleSolutionsInPresolve_ = value;
27866 bitField4_ |= 0x80000000;
27886 bitField4_ = (bitField4_ & ~0x80000000);
27887 keepAllFeasibleSolutionsInPresolve_ =
false;
27892 private boolean fillTightenedDomainsInResponse_ ;
27905 @java.lang.Override
27907 return ((bitField5_ & 0x00000001) != 0);
27921 @java.lang.Override
27923 return fillTightenedDomainsInResponse_;
27940 fillTightenedDomainsInResponse_ = value;
27941 bitField5_ |= 0x00000001;
27958 bitField5_ = (bitField5_ & ~0x00000001);
27959 fillTightenedDomainsInResponse_ =
false;
27964 private boolean fillAdditionalSolutionsInResponse_ ;
27982 @java.lang.Override
27984 return ((bitField5_ & 0x00000002) != 0);
28003 @java.lang.Override
28005 return fillAdditionalSolutionsInResponse_;
28027 fillAdditionalSolutionsInResponse_ = value;
28028 bitField5_ |= 0x00000002;
28050 bitField5_ = (bitField5_ & ~0x00000002);
28051 fillAdditionalSolutionsInResponse_ =
false;
28056 private boolean instantiateAllVariables_ =
true;
28068 @java.lang.Override
28070 return ((bitField5_ & 0x00000004) != 0);
28083 @java.lang.Override
28085 return instantiateAllVariables_;
28101 instantiateAllVariables_ = value;
28102 bitField5_ |= 0x00000004;
28118 bitField5_ = (bitField5_ & ~0x00000004);
28119 instantiateAllVariables_ =
true;
28124 private boolean autoDetectGreaterThanAtLeastOneOf_ =
true;
28136 @java.lang.Override
28138 return ((bitField5_ & 0x00000008) != 0);
28151 @java.lang.Override
28153 return autoDetectGreaterThanAtLeastOneOf_;
28169 autoDetectGreaterThanAtLeastOneOf_ = value;
28170 bitField5_ |= 0x00000008;
28186 bitField5_ = (bitField5_ & ~0x00000008);
28187 autoDetectGreaterThanAtLeastOneOf_ =
true;
28192 private boolean stopAfterFirstSolution_ ;
28201 @java.lang.Override
28203 return ((bitField5_ & 0x00000010) != 0);
28213 @java.lang.Override
28215 return stopAfterFirstSolution_;
28228 stopAfterFirstSolution_ = value;
28229 bitField5_ |= 0x00000010;
28242 bitField5_ = (bitField5_ & ~0x00000010);
28243 stopAfterFirstSolution_ =
false;
28248 private boolean stopAfterPresolve_ ;
28258 @java.lang.Override
28260 return ((bitField5_ & 0x00000020) != 0);
28271 @java.lang.Override
28273 return stopAfterPresolve_;
28287 stopAfterPresolve_ = value;
28288 bitField5_ |= 0x00000020;
28302 bitField5_ = (bitField5_ & ~0x00000020);
28303 stopAfterPresolve_ =
false;
28308 private boolean stopAfterRootPropagation_ ;
28313 @java.lang.Override
28315 return ((bitField5_ & 0x00000040) != 0);
28321 @java.lang.Override
28323 return stopAfterRootPropagation_;
28332 stopAfterRootPropagation_ = value;
28333 bitField5_ |= 0x00000040;
28342 bitField5_ = (bitField5_ & ~0x00000040);
28343 stopAfterRootPropagation_ =
false;
28348 private boolean useLnsOnly_ ;
28357 @java.lang.Override
28359 return ((bitField5_ & 0x00000080) != 0);
28369 @java.lang.Override
28371 return useLnsOnly_;
28384 useLnsOnly_ = value;
28385 bitField5_ |= 0x00000080;
28398 bitField5_ = (bitField5_ & ~0x00000080);
28399 useLnsOnly_ =
false;
28404 private int solutionPoolSize_ = 3;
28415 @java.lang.Override
28417 return ((bitField5_ & 0x00000100) != 0);
28429 @java.lang.Override
28431 return solutionPoolSize_;
28446 solutionPoolSize_ = value;
28447 bitField5_ |= 0x00000100;
28462 bitField5_ = (bitField5_ & ~0x00000100);
28463 solutionPoolSize_ = 3;
28468 private boolean useRinsLns_ =
true;
28477 @java.lang.Override
28479 return ((bitField5_ & 0x00000200) != 0);
28489 @java.lang.Override
28491 return useRinsLns_;
28504 useRinsLns_ = value;
28505 bitField5_ |= 0x00000200;
28518 bitField5_ = (bitField5_ & ~0x00000200);
28519 useRinsLns_ =
true;
28524 private boolean useFeasibilityPump_ =
true;
28533 @java.lang.Override
28535 return ((bitField5_ & 0x00000400) != 0);
28545 @java.lang.Override
28547 return useFeasibilityPump_;
28560 useFeasibilityPump_ = value;
28561 bitField5_ |= 0x00000400;
28574 bitField5_ = (bitField5_ & ~0x00000400);
28575 useFeasibilityPump_ =
true;
28580 private boolean useLbRelaxLns_ ;
28591 @java.lang.Override
28593 return ((bitField5_ & 0x00000800) != 0);
28605 @java.lang.Override
28607 return useLbRelaxLns_;
28622 useLbRelaxLns_ = value;
28623 bitField5_ |= 0x00000800;
28638 bitField5_ = (bitField5_ & ~0x00000800);
28639 useLbRelaxLns_ =
false;
28644 private int fpRounding_ = 2;
28650 return ((bitField5_ & 0x00001000) != 0);
28656 @java.lang.Override
28659 return result ==
null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
28667 if (value ==
null) {
28668 throw new NullPointerException();
28670 bitField5_ |= 0x00001000;
28671 fpRounding_ = value.getNumber();
28680 bitField5_ = (bitField5_ & ~0x00001000);
28686 private boolean diversifyLnsParams_ ;
28695 @java.lang.Override
28697 return ((bitField5_ & 0x00002000) != 0);
28707 @java.lang.Override
28709 return diversifyLnsParams_;
28722 diversifyLnsParams_ = value;
28723 bitField5_ |= 0x00002000;
28736 bitField5_ = (bitField5_ & ~0x00002000);
28737 diversifyLnsParams_ =
false;
28742 private boolean randomizeSearch_ ;
28751 @java.lang.Override
28753 return ((bitField5_ & 0x00004000) != 0);
28763 @java.lang.Override
28765 return randomizeSearch_;
28778 randomizeSearch_ = value;
28779 bitField5_ |= 0x00004000;
28792 bitField5_ = (bitField5_ & ~0x00004000);
28793 randomizeSearch_ =
false;
28798 private long searchRandomVariablePoolSize_ ;
28809 @java.lang.Override
28811 return ((bitField5_ & 0x00008000) != 0);
28823 @java.lang.Override
28825 return searchRandomVariablePoolSize_;
28840 searchRandomVariablePoolSize_ = value;
28841 bitField5_ |= 0x00008000;
28856 bitField5_ = (bitField5_ & ~0x00008000);
28857 searchRandomVariablePoolSize_ = 0L;
28862 private boolean pushAllTasksTowardStart_ ;
28872 @java.lang.Override
28874 return ((bitField5_ & 0x00010000) != 0);
28885 @java.lang.Override
28887 return pushAllTasksTowardStart_;
28901 pushAllTasksTowardStart_ = value;
28902 bitField5_ |= 0x00010000;
28916 bitField5_ = (bitField5_ & ~0x00010000);
28917 pushAllTasksTowardStart_ =
false;
28922 private boolean useOptionalVariables_ ;
28936 @java.lang.Override
28938 return ((bitField5_ & 0x00020000) != 0);
28953 @java.lang.Override
28955 return useOptionalVariables_;
28973 useOptionalVariables_ = value;
28974 bitField5_ |= 0x00020000;
28992 bitField5_ = (bitField5_ & ~0x00020000);
28993 useOptionalVariables_ =
false;
28998 private boolean useExactLpReason_ =
true;
29010 @java.lang.Override
29012 return ((bitField5_ & 0x00040000) != 0);
29025 @java.lang.Override
29027 return useExactLpReason_;
29043 useExactLpReason_ = value;
29044 bitField5_ |= 0x00040000;
29060 bitField5_ = (bitField5_ & ~0x00040000);
29061 useExactLpReason_ =
true;
29066 private boolean useCombinedNoOverlap_ ;
29077 @java.lang.Override
29079 return ((bitField5_ & 0x00080000) != 0);
29091 @java.lang.Override
29093 return useCombinedNoOverlap_;
29108 useCombinedNoOverlap_ = value;
29109 bitField5_ |= 0x00080000;
29124 bitField5_ = (bitField5_ & ~0x00080000);
29125 useCombinedNoOverlap_ =
false;
29130 private int atMostOneMaxExpansionSize_ = 3;
29140 @java.lang.Override
29142 return ((bitField5_ & 0x00100000) != 0);
29153 @java.lang.Override
29155 return atMostOneMaxExpansionSize_;
29169 atMostOneMaxExpansionSize_ = value;
29170 bitField5_ |= 0x00100000;
29184 bitField5_ = (bitField5_ & ~0x00100000);
29185 atMostOneMaxExpansionSize_ = 3;
29190 private boolean catchSigintSignal_ =
true;
29201 @java.lang.Override
29203 return ((bitField5_ & 0x00200000) != 0);
29215 @java.lang.Override
29217 return catchSigintSignal_;
29232 catchSigintSignal_ = value;
29233 bitField5_ |= 0x00200000;
29248 bitField5_ = (bitField5_ & ~0x00200000);
29249 catchSigintSignal_ =
true;
29254 private boolean useImpliedBounds_ =
true;
29265 @java.lang.Override
29267 return ((bitField5_ & 0x00400000) != 0);
29279 @java.lang.Override
29281 return useImpliedBounds_;
29296 useImpliedBounds_ = value;
29297 bitField5_ |= 0x00400000;
29312 bitField5_ = (bitField5_ & ~0x00400000);
29313 useImpliedBounds_ =
true;
29318 private boolean polishLpSolution_ ;
29330 @java.lang.Override
29332 return ((bitField5_ & 0x00800000) != 0);
29345 @java.lang.Override
29347 return polishLpSolution_;
29363 polishLpSolution_ = value;
29364 bitField5_ |= 0x00800000;
29380 bitField5_ = (bitField5_ & ~0x00800000);
29381 polishLpSolution_ =
false;
29386 private double lpPrimalTolerance_ = 1e-07D;
29399 @java.lang.Override
29401 return ((bitField5_ & 0x01000000) != 0);
29415 @java.lang.Override
29417 return lpPrimalTolerance_;
29434 lpPrimalTolerance_ = value;
29435 bitField5_ |= 0x01000000;
29452 bitField5_ = (bitField5_ & ~0x01000000);
29453 lpPrimalTolerance_ = 1e-07D;
29458 private double lpDualTolerance_ = 1e-07D;
29463 @java.lang.Override
29465 return ((bitField5_ & 0x02000000) != 0);
29471 @java.lang.Override
29473 return lpDualTolerance_;
29482 lpDualTolerance_ = value;
29483 bitField5_ |= 0x02000000;
29492 bitField5_ = (bitField5_ & ~0x02000000);
29493 lpDualTolerance_ = 1e-07D;
29498 private boolean convertIntervals_ =
true;
29509 @java.lang.Override
29511 return ((bitField5_ & 0x04000000) != 0);
29523 @java.lang.Override
29525 return convertIntervals_;
29540 convertIntervals_ = value;
29541 bitField5_ |= 0x04000000;
29556 bitField5_ = (bitField5_ & ~0x04000000);
29557 convertIntervals_ =
true;
29562 private int symmetryLevel_ = 2;
29574 @java.lang.Override
29576 return ((bitField5_ & 0x08000000) != 0);
29589 @java.lang.Override
29591 return symmetryLevel_;
29607 symmetryLevel_ = value;
29608 bitField5_ |= 0x08000000;
29624 bitField5_ = (bitField5_ & ~0x08000000);
29625 symmetryLevel_ = 2;
29630 private boolean newLinearPropagation_ ;
29639 @java.lang.Override
29641 return ((bitField5_ & 0x10000000) != 0);
29651 @java.lang.Override
29653 return newLinearPropagation_;
29666 newLinearPropagation_ = value;
29667 bitField5_ |= 0x10000000;
29680 bitField5_ = (bitField5_ & ~0x10000000);
29681 newLinearPropagation_ =
false;
29686 private int linearSplitSize_ = 100;
29697 @java.lang.Override
29699 return ((bitField5_ & 0x20000000) != 0);
29711 @java.lang.Override
29713 return linearSplitSize_;
29728 linearSplitSize_ = value;
29729 bitField5_ |= 0x20000000;
29744 bitField5_ = (bitField5_ & ~0x20000000);
29745 linearSplitSize_ = 100;
29750 private int linearizationLevel_ = 1;
29762 @java.lang.Override
29764 return ((bitField5_ & 0x40000000) != 0);
29777 @java.lang.Override
29779 return linearizationLevel_;
29795 linearizationLevel_ = value;
29796 bitField5_ |= 0x40000000;
29812 bitField5_ = (bitField5_ & ~0x40000000);
29813 linearizationLevel_ = 1;
29818 private int booleanEncodingLevel_ = 1;
29828 @java.lang.Override
29830 return ((bitField5_ & 0x80000000) != 0);
29841 @java.lang.Override
29843 return booleanEncodingLevel_;
29857 booleanEncodingLevel_ = value;
29858 bitField5_ |= 0x80000000;
29872 bitField5_ = (bitField5_ & ~0x80000000);
29873 booleanEncodingLevel_ = 1;
29878 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
29890 @java.lang.Override
29892 return ((bitField6_ & 0x00000001) != 0);
29905 @java.lang.Override
29907 return maxDomainSizeWhenEncodingEqNeqConstraints_;
29923 maxDomainSizeWhenEncodingEqNeqConstraints_ = value;
29924 bitField6_ |= 0x00000001;
29940 bitField6_ = (bitField6_ & ~0x00000001);
29941 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
29946 private int maxNumCuts_ = 10000;
29959 @java.lang.Override
29961 return ((bitField6_ & 0x00000002) != 0);
29975 @java.lang.Override
29977 return maxNumCuts_;
29994 maxNumCuts_ = value;
29995 bitField6_ |= 0x00000002;
30012 bitField6_ = (bitField6_ & ~0x00000002);
30013 maxNumCuts_ = 10000;
30018 private int cutLevel_ = 1;
30029 @java.lang.Override
30031 return ((bitField6_ & 0x00000004) != 0);
30043 @java.lang.Override
30061 bitField6_ |= 0x00000004;
30076 bitField6_ = (bitField6_ & ~0x00000004);
30082 private boolean onlyAddCutsAtLevelZero_ ;
30092 @java.lang.Override
30094 return ((bitField6_ & 0x00000008) != 0);
30105 @java.lang.Override
30107 return onlyAddCutsAtLevelZero_;
30121 onlyAddCutsAtLevelZero_ = value;
30122 bitField6_ |= 0x00000008;
30136 bitField6_ = (bitField6_ & ~0x00000008);
30137 onlyAddCutsAtLevelZero_ =
false;
30142 private boolean addObjectiveCut_ ;
30155 @java.lang.Override
30157 return ((bitField6_ & 0x00000010) != 0);
30171 @java.lang.Override
30173 return addObjectiveCut_;
30190 addObjectiveCut_ = value;
30191 bitField6_ |= 0x00000010;
30208 bitField6_ = (bitField6_ & ~0x00000010);
30209 addObjectiveCut_ =
false;
30214 private boolean addCgCuts_ =
true;
30224 @java.lang.Override
30226 return ((bitField6_ & 0x00000020) != 0);
30237 @java.lang.Override
30253 addCgCuts_ = value;
30254 bitField6_ |= 0x00000020;
30268 bitField6_ = (bitField6_ & ~0x00000020);
30274 private boolean addMirCuts_ =
true;
30284 @java.lang.Override
30286 return ((bitField6_ & 0x00000040) != 0);
30297 @java.lang.Override
30299 return addMirCuts_;
30313 addMirCuts_ = value;
30314 bitField6_ |= 0x00000040;
30328 bitField6_ = (bitField6_ & ~0x00000040);
30329 addMirCuts_ =
true;
30334 private boolean addZeroHalfCuts_ =
true;
30344 @java.lang.Override
30346 return ((bitField6_ & 0x00000080) != 0);
30357 @java.lang.Override
30359 return addZeroHalfCuts_;
30373 addZeroHalfCuts_ = value;
30374 bitField6_ |= 0x00000080;
30388 bitField6_ = (bitField6_ & ~0x00000080);
30389 addZeroHalfCuts_ =
true;
30394 private boolean addCliqueCuts_ =
true;
30405 @java.lang.Override
30407 return ((bitField6_ & 0x00000100) != 0);
30419 @java.lang.Override
30421 return addCliqueCuts_;
30436 addCliqueCuts_ = value;
30437 bitField6_ |= 0x00000100;
30452 bitField6_ = (bitField6_ & ~0x00000100);
30453 addCliqueCuts_ =
true;
30458 private boolean addRltCuts_ =
true;
30468 @java.lang.Override
30470 return ((bitField6_ & 0x00000200) != 0);
30481 @java.lang.Override
30483 return addRltCuts_;
30497 addRltCuts_ = value;
30498 bitField6_ |= 0x00000200;
30512 bitField6_ = (bitField6_ & ~0x00000200);
30513 addRltCuts_ =
true;
30518 private int maxAllDiffCutSize_ = 64;
30529 @java.lang.Override
30531 return ((bitField6_ & 0x00000400) != 0);
30543 @java.lang.Override
30545 return maxAllDiffCutSize_;
30560 maxAllDiffCutSize_ = value;
30561 bitField6_ |= 0x00000400;
30576 bitField6_ = (bitField6_ & ~0x00000400);
30577 maxAllDiffCutSize_ = 64;
30582 private boolean addLinMaxCuts_ =
true;
30593 @java.lang.Override
30595 return ((bitField6_ & 0x00000800) != 0);
30607 @java.lang.Override
30609 return addLinMaxCuts_;
30624 addLinMaxCuts_ = value;
30625 bitField6_ |= 0x00000800;
30640 bitField6_ = (bitField6_ & ~0x00000800);
30641 addLinMaxCuts_ =
true;
30646 private int maxIntegerRoundingScaling_ = 600;
30662 @java.lang.Override
30664 return ((bitField6_ & 0x00001000) != 0);
30681 @java.lang.Override
30683 return maxIntegerRoundingScaling_;
30703 maxIntegerRoundingScaling_ = value;
30704 bitField6_ |= 0x00001000;
30724 bitField6_ = (bitField6_ & ~0x00001000);
30725 maxIntegerRoundingScaling_ = 600;
30730 private boolean addLpConstraintsLazily_ =
true;
30742 @java.lang.Override
30744 return ((bitField6_ & 0x00002000) != 0);
30757 @java.lang.Override
30759 return addLpConstraintsLazily_;
30775 addLpConstraintsLazily_ = value;
30776 bitField6_ |= 0x00002000;
30792 bitField6_ = (bitField6_ & ~0x00002000);
30793 addLpConstraintsLazily_ =
true;
30798 private int rootLpIterations_ = 2000;
30810 @java.lang.Override
30812 return ((bitField6_ & 0x00004000) != 0);
30825 @java.lang.Override
30827 return rootLpIterations_;
30843 rootLpIterations_ = value;
30844 bitField6_ |= 0x00004000;
30860 bitField6_ = (bitField6_ & ~0x00004000);
30861 rootLpIterations_ = 2000;
30866 private double minOrthogonalityForLpConstraints_ = 0.05D;
30879 @java.lang.Override
30881 return ((bitField6_ & 0x00008000) != 0);
30895 @java.lang.Override
30897 return minOrthogonalityForLpConstraints_;
30914 minOrthogonalityForLpConstraints_ = value;
30915 bitField6_ |= 0x00008000;
30932 bitField6_ = (bitField6_ & ~0x00008000);
30933 minOrthogonalityForLpConstraints_ = 0.05D;
30938 private int maxCutRoundsAtLevelZero_ = 1;
30947 @java.lang.Override
30949 return ((bitField6_ & 0x00010000) != 0);
30959 @java.lang.Override
30961 return maxCutRoundsAtLevelZero_;
30974 maxCutRoundsAtLevelZero_ = value;
30975 bitField6_ |= 0x00010000;
30988 bitField6_ = (bitField6_ & ~0x00010000);
30989 maxCutRoundsAtLevelZero_ = 1;
30994 private int maxConsecutiveInactiveCount_ = 100;
31005 @java.lang.Override
31007 return ((bitField6_ & 0x00020000) != 0);
31019 @java.lang.Override
31021 return maxConsecutiveInactiveCount_;
31036 maxConsecutiveInactiveCount_ = value;
31037 bitField6_ |= 0x00020000;
31052 bitField6_ = (bitField6_ & ~0x00020000);
31053 maxConsecutiveInactiveCount_ = 100;
31058 private double cutMaxActiveCountValue_ = 10000000000D;
31069 @java.lang.Override
31071 return ((bitField6_ & 0x00040000) != 0);
31083 @java.lang.Override
31085 return cutMaxActiveCountValue_;
31100 cutMaxActiveCountValue_ = value;
31101 bitField6_ |= 0x00040000;
31116 bitField6_ = (bitField6_ & ~0x00040000);
31117 cutMaxActiveCountValue_ = 10000000000D;
31122 private double cutActiveCountDecay_ = 0.8D;
31127 @java.lang.Override
31129 return ((bitField6_ & 0x00080000) != 0);
31135 @java.lang.Override
31137 return cutActiveCountDecay_;
31146 cutActiveCountDecay_ = value;
31147 bitField6_ |= 0x00080000;
31156 bitField6_ = (bitField6_ & ~0x00080000);
31157 cutActiveCountDecay_ = 0.8D;
31162 private int cutCleanupTarget_ = 1000;
31171 @java.lang.Override
31173 return ((bitField6_ & 0x00100000) != 0);
31183 @java.lang.Override
31185 return cutCleanupTarget_;
31198 cutCleanupTarget_ = value;
31199 bitField6_ |= 0x00100000;
31212 bitField6_ = (bitField6_ & ~0x00100000);
31213 cutCleanupTarget_ = 1000;
31218 private int newConstraintsBatchSize_ = 50;
31228 @java.lang.Override
31230 return ((bitField6_ & 0x00200000) != 0);
31241 @java.lang.Override
31243 return newConstraintsBatchSize_;
31257 newConstraintsBatchSize_ = value;
31258 bitField6_ |= 0x00200000;
31272 bitField6_ = (bitField6_ & ~0x00200000);
31273 newConstraintsBatchSize_ = 50;
31278 private boolean exploitIntegerLpSolution_ =
true;
31290 @java.lang.Override
31292 return ((bitField6_ & 0x00400000) != 0);
31305 @java.lang.Override
31307 return exploitIntegerLpSolution_;
31323 exploitIntegerLpSolution_ = value;
31324 bitField6_ |= 0x00400000;
31340 bitField6_ = (bitField6_ & ~0x00400000);
31341 exploitIntegerLpSolution_ =
true;
31346 private boolean exploitAllLpSolution_ =
true;
31357 @java.lang.Override
31359 return ((bitField6_ & 0x00800000) != 0);
31371 @java.lang.Override
31373 return exploitAllLpSolution_;
31388 exploitAllLpSolution_ = value;
31389 bitField6_ |= 0x00800000;
31404 bitField6_ = (bitField6_ & ~0x00800000);
31405 exploitAllLpSolution_ =
true;
31410 private boolean exploitBestSolution_ ;
31419 @java.lang.Override
31421 return ((bitField6_ & 0x01000000) != 0);
31431 @java.lang.Override
31433 return exploitBestSolution_;
31446 exploitBestSolution_ = value;
31447 bitField6_ |= 0x01000000;
31460 bitField6_ = (bitField6_ & ~0x01000000);
31461 exploitBestSolution_ =
false;
31466 private boolean exploitRelaxationSolution_ ;
31477 @java.lang.Override
31479 return ((bitField6_ & 0x02000000) != 0);
31491 @java.lang.Override
31493 return exploitRelaxationSolution_;
31508 exploitRelaxationSolution_ = value;
31509 bitField6_ |= 0x02000000;
31524 bitField6_ = (bitField6_ & ~0x02000000);
31525 exploitRelaxationSolution_ =
false;
31530 private boolean exploitObjective_ =
true;
31540 @java.lang.Override
31542 return ((bitField6_ & 0x04000000) != 0);
31553 @java.lang.Override
31555 return exploitObjective_;
31569 exploitObjective_ = value;
31570 bitField6_ |= 0x04000000;
31584 bitField6_ = (bitField6_ & ~0x04000000);
31585 exploitObjective_ =
true;
31590 private boolean detectLinearizedProduct_ ;
31601 @java.lang.Override
31603 return ((bitField6_ & 0x08000000) != 0);
31615 @java.lang.Override
31617 return detectLinearizedProduct_;
31632 detectLinearizedProduct_ = value;
31633 bitField6_ |= 0x08000000;
31648 bitField6_ = (bitField6_ & ~0x08000000);
31649 detectLinearizedProduct_ =
false;
31654 private double mipMaxBound_ = 10000000D;
31665 @java.lang.Override
31667 return ((bitField6_ & 0x10000000) != 0);
31679 @java.lang.Override
31681 return mipMaxBound_;
31696 mipMaxBound_ = value;
31697 bitField6_ |= 0x10000000;
31712 bitField6_ = (bitField6_ & ~0x10000000);
31713 mipMaxBound_ = 10000000D;
31718 private double mipVarScaling_ = 1D;
31729 @java.lang.Override
31731 return ((bitField6_ & 0x20000000) != 0);
31743 @java.lang.Override
31745 return mipVarScaling_;
31760 mipVarScaling_ = value;
31761 bitField6_ |= 0x20000000;
31776 bitField6_ = (bitField6_ & ~0x20000000);
31777 mipVarScaling_ = 1D;
31782 private boolean mipScaleLargeDomain_ ;
31793 @java.lang.Override
31795 return ((bitField6_ & 0x40000000) != 0);
31807 @java.lang.Override
31809 return mipScaleLargeDomain_;
31824 mipScaleLargeDomain_ = value;
31825 bitField6_ |= 0x40000000;
31840 bitField6_ = (bitField6_ & ~0x40000000);
31841 mipScaleLargeDomain_ =
false;
31846 private boolean mipAutomaticallyScaleVariables_ =
true;
31859 @java.lang.Override
31861 return ((bitField6_ & 0x80000000) != 0);
31875 @java.lang.Override
31877 return mipAutomaticallyScaleVariables_;
31894 mipAutomaticallyScaleVariables_ = value;
31895 bitField6_ |= 0x80000000;
31912 bitField6_ = (bitField6_ & ~0x80000000);
31913 mipAutomaticallyScaleVariables_ =
true;
31918 private boolean onlySolveIp_ ;
31938 @java.lang.Override
31940 return ((bitField7_ & 0x00000001) != 0);
31961 @java.lang.Override
31963 return onlySolveIp_;
31987 onlySolveIp_ = value;
31988 bitField7_ |= 0x00000001;
32012 bitField7_ = (bitField7_ & ~0x00000001);
32013 onlySolveIp_ =
false;
32018 private double mipWantedPrecision_ = 1e-06D;
32043 @java.lang.Override
32045 return ((bitField7_ & 0x00000002) != 0);
32071 @java.lang.Override
32073 return mipWantedPrecision_;
32102 mipWantedPrecision_ = value;
32103 bitField7_ |= 0x00000002;
32132 bitField7_ = (bitField7_ & ~0x00000002);
32133 mipWantedPrecision_ = 1e-06D;
32138 private int mipMaxActivityExponent_ = 53;
32154 @java.lang.Override
32156 return ((bitField7_ & 0x00000004) != 0);
32173 @java.lang.Override
32175 return mipMaxActivityExponent_;
32195 mipMaxActivityExponent_ = value;
32196 bitField7_ |= 0x00000004;
32216 bitField7_ = (bitField7_ & ~0x00000004);
32217 mipMaxActivityExponent_ = 53;
32222 private double mipCheckPrecision_ = 0.0001D;
32233 @java.lang.Override
32235 return ((bitField7_ & 0x00000008) != 0);
32247 @java.lang.Override
32249 return mipCheckPrecision_;
32264 mipCheckPrecision_ = value;
32265 bitField7_ |= 0x00000008;
32280 bitField7_ = (bitField7_ & ~0x00000008);
32281 mipCheckPrecision_ = 0.0001D;
32286 private boolean mipComputeTrueObjectiveBound_ =
true;
32299 @java.lang.Override
32301 return ((bitField7_ & 0x00000010) != 0);
32315 @java.lang.Override
32317 return mipComputeTrueObjectiveBound_;
32334 mipComputeTrueObjectiveBound_ = value;
32335 bitField7_ |= 0x00000010;
32352 bitField7_ = (bitField7_ & ~0x00000010);
32353 mipComputeTrueObjectiveBound_ =
true;
32358 private double mipMaxValidMagnitude_ = 1e+20D;
32371 @java.lang.Override
32373 return ((bitField7_ & 0x00000020) != 0);
32387 @java.lang.Override
32389 return mipMaxValidMagnitude_;
32406 mipMaxValidMagnitude_ = value;
32407 bitField7_ |= 0x00000020;
32424 bitField7_ = (bitField7_ & ~0x00000020);
32425 mipMaxValidMagnitude_ = 1e+20D;
32430 private boolean mipTreatHighMagnitudeBoundsAsInfinity_ ;
32444 @java.lang.Override
32446 return ((bitField7_ & 0x00000040) != 0);
32461 @java.lang.Override
32463 return mipTreatHighMagnitudeBoundsAsInfinity_;
32481 mipTreatHighMagnitudeBoundsAsInfinity_ = value;
32482 bitField7_ |= 0x00000040;
32500 bitField7_ = (bitField7_ & ~0x00000040);
32501 mipTreatHighMagnitudeBoundsAsInfinity_ =
false;
32506 private double mipDropTolerance_ = 1e-16D;
32516 @java.lang.Override
32518 return ((bitField7_ & 0x00000080) != 0);
32529 @java.lang.Override
32531 return mipDropTolerance_;
32545 mipDropTolerance_ = value;
32546 bitField7_ |= 0x00000080;
32560 bitField7_ = (bitField7_ & ~0x00000080);
32561 mipDropTolerance_ = 1e-16D;
32566 private int mipPresolveLevel_ = 2;
32578 @java.lang.Override
32580 return ((bitField7_ & 0x00000100) != 0);
32593 @java.lang.Override
32595 return mipPresolveLevel_;
32611 mipPresolveLevel_ = value;
32612 bitField7_ |= 0x00000100;
32628 bitField7_ = (bitField7_ & ~0x00000100);
32629 mipPresolveLevel_ = 2;
32633 @java.lang.Override
32635 final com.google.protobuf.UnknownFieldSet unknownFields) {
32639 @java.lang.Override
32641 final com.google.protobuf.UnknownFieldSet unknownFields) {
32652 DEFAULT_INSTANCE =
new com.google.ortools.sat.SatParameters();
32656 return DEFAULT_INSTANCE;
32659 @java.lang.Deprecated
public static final com.google.protobuf.Parser<
SatParameters>
32661 @java.lang.Override
32663 com.google.protobuf.CodedInputStream input,
32664 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
32665 throws com.google.protobuf.InvalidProtocolBufferException {
32668 builder.
mergeFrom(input, extensionRegistry);
32669 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
32671 }
catch (com.google.protobuf.UninitializedMessageException e) {
32672 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.
buildPartial());
32673 }
catch (java.io.IOException e) {
32674 throw new com.google.protobuf.InvalidProtocolBufferException(e)
32685 @java.lang.Override
32690 @java.lang.Override
32692 return DEFAULT_INSTANCE;